@splunk/visualizations 25.7.1 → 25.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/Area.config.js +18 -102
- package/Area.config.js.map +1 -1
- package/Area.js +191 -580
- package/Area.js.map +1 -1
- package/Bar.config.js +20 -104
- package/Bar.config.js.map +1 -1
- package/Bar.js +185 -576
- package/Bar.js.map +1 -1
- package/Bubble.config.js +20 -94
- package/Bubble.config.js.map +1 -1
- package/Bubble.js +182 -563
- package/Bubble.js.map +1 -1
- package/ChoroplethSvg.config.js +14 -65
- package/ChoroplethSvg.config.js.map +1 -1
- package/ChoroplethSvg.js +151 -488
- package/ChoroplethSvg.js.map +1 -1
- package/Column.config.js +18 -103
- package/Column.config.js.map +1 -1
- package/Column.js +187 -589
- package/Column.js.map +1 -1
- package/Ellipse.config.js +18 -83
- package/Ellipse.config.js.map +1 -1
- package/Ellipse.js +120 -381
- package/Ellipse.js.map +1 -1
- package/Events.config.js +16 -68
- package/Events.config.js.map +1 -1
- package/Events.js +256 -646
- package/Events.js.map +1 -1
- package/FillerGauge.config.js +19 -87
- package/FillerGauge.config.js.map +1 -1
- package/FillerGauge.js +339 -712
- package/FillerGauge.js.map +1 -1
- package/Image.config.js +16 -60
- package/Image.config.js.map +1 -1
- package/Image.js +121 -372
- package/Image.js.map +1 -1
- package/Line.config.js +20 -103
- package/Line.config.js.map +1 -1
- package/Line.js +189 -583
- package/Line.js.map +1 -1
- package/LinkGraph.config.js +21 -71
- package/LinkGraph.config.js.map +1 -1
- package/LinkGraph.js +184 -585
- package/LinkGraph.js.map +1 -1
- package/Map.config.js +105 -249
- package/Map.config.js.map +1 -1
- package/Map.js +430 -1004
- package/Map.js.map +1 -1
- package/Markdown.config.js +18 -68
- package/Markdown.config.js.map +1 -1
- package/Markdown.js +139 -390
- package/Markdown.js.map +1 -1
- package/MarkerGauge.config.js +17 -75
- package/MarkerGauge.config.js.map +1 -1
- package/MarkerGauge.js +354 -731
- package/MarkerGauge.js.map +1 -1
- package/ParallelCoordinates.config.js +16 -70
- package/ParallelCoordinates.config.js.map +1 -1
- package/ParallelCoordinates.js +452 -810
- package/ParallelCoordinates.js.map +1 -1
- package/Pie.config.js +18 -71
- package/Pie.config.js.map +1 -1
- package/Pie.js +179 -565
- package/Pie.js.map +1 -1
- package/Punchcard.config.js +20 -72
- package/Punchcard.config.js.map +1 -1
- package/Punchcard.js +344 -785
- package/Punchcard.js.map +1 -1
- package/Rectangle.config.js +18 -84
- package/Rectangle.config.js.map +1 -1
- package/Rectangle.js +120 -384
- package/Rectangle.js.map +1 -1
- package/Sankey.config.js +17 -72
- package/Sankey.config.js.map +1 -1
- package/Sankey.js +282 -722
- package/Sankey.js.map +1 -1
- package/Scatter.config.js +20 -94
- package/Scatter.config.js.map +1 -1
- package/Scatter.js +177 -558
- package/Scatter.js.map +1 -1
- package/SingleValue.config.js +23 -92
- package/SingleValue.config.js.map +1 -1
- package/SingleValue.js +545 -1004
- package/SingleValue.js.map +1 -1
- package/SingleValueBasic.js +219 -280
- package/SingleValueBasic.js.map +1 -1
- package/SingleValueIcon.config.js +21 -90
- package/SingleValueIcon.config.js.map +1 -1
- package/SingleValueIcon.js +471 -916
- package/SingleValueIcon.js.map +1 -1
- package/SingleValueRadial.config.js +23 -94
- package/SingleValueRadial.config.js.map +1 -1
- package/SingleValueRadial.js +506 -964
- package/SingleValueRadial.js.map +1 -1
- package/Table.config.js +18 -71
- package/Table.config.js.map +1 -1
- package/Table.js +316 -827
- package/Table.js.map +1 -1
- package/common/Charting.js +35 -107
- package/common/Charting.js.map +1 -1
- package/common/ChartingApi.js +7 -18
- package/common/ChartingApi.js.map +1 -1
- package/common/EventsDoc.js +18 -68
- package/common/EventsDoc.js.map +1 -1
- package/common/GaugeMajorTicks.js +58 -68
- package/common/GaugeMajorTicks.js.map +1 -1
- package/common/GaugeValueMarker.js +28 -37
- package/common/GaugeValueMarker.js.map +1 -1
- package/common/OptionsDoc.js +65 -155
- package/common/OptionsDoc.js.map +1 -1
- package/common/OverviewDoc.js +5 -32
- package/common/OverviewDoc.js.map +1 -1
- package/common/SplunkVisualization.js +4 -31
- package/common/SplunkVisualization.js.map +1 -1
- package/common/SplunkVisualizationApi.js +2 -8
- package/common/SplunkVisualizationApi.js.map +1 -1
- package/common/ThemesDoc.js +14 -27
- package/common/ThemesDoc.js.map +1 -1
- package/common/chartingUtils.js +12 -44
- package/common/chartingUtils.js.map +1 -1
- package/common/docUtils.js +1 -11
- package/common/docUtils.js.map +1 -1
- package/common/gaugeUtils.js +90 -173
- package/common/gaugeUtils.js.map +1 -1
- package/common/shapeUtils.js +2 -12
- package/common/shapeUtils.js.map +1 -1
- package/common/utils/configUtils.js +14 -49
- package/common/utils/configUtils.js.map +1 -1
- package/common/utils/dataUtils.js +2 -7
- package/common/utils/dataUtils.js.map +1 -1
- package/common/utils/hocUtils.js +1 -3
- package/common/utils/hocUtils.js.map +1 -1
- package/common/utils/layoutUtils.js +0 -1
- package/common/utils/layoutUtils.js.map +1 -1
- package/common/utils/mapUtils.js +129 -284
- package/common/utils/mapUtils.js.map +1 -1
- package/common/utils/singleValueUtils.js +196 -241
- package/common/utils/singleValueUtils.js.map +1 -1
- package/common/utils/testHelper.js +0 -6
- package/common/utils/testHelper.js.map +1 -1
- package/common/utils/trellisUtils.js +0 -61
- package/common/utils/trellisUtils.js.map +1 -1
- package/common/withDashboardViz.js +95 -262
- package/common/withDashboardViz.js.map +1 -1
- package/package.json +31 -22
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_SVG_with_XML_and_DTD.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_background_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_black_dot.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_clock.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_color_rectangles.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureChoroplethSvg_fixed_height_400_width_400.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_Background_Color_Red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_Basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Actions_Simulated_Instance.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Actions_for_Numeric_Field_Simulated_Instance.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Dark.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_FieldSummaryTooltip_Light.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_Dark.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_DarkPrisma.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureEvents_TimeControlsPopover_Light.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Background_Color_orange.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Gauge_Color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Major_Unit_10.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Major_Unit_auto.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Max_Value_210_Major_Unit_25_ticks_position_unevenly.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Max_value_40K.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Min_Value_20_ticks_position_evenly.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_height_100_no_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Percentage_Range_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Percentage_Value_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Show_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Show_Value_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_Too_Small_to_Render.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureFillerGauge_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Background_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order_First_And_Last.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Field_Order_Some.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Fields_Columns.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Handles_Large_Data_Set.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Handles_Special_Characters.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Link_Width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Height.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Highlight_Color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_X.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Spacing_Y.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Node_Width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Result_Limit.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Node_Counts_False.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Show_Value_Counts_False.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureLinkGraph_Width_Height.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_Tooltip_ChoroplethTooltip.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_Tooltip_ChoroplethTooltip_with_additional_fields.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_Tooltip_Dark.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_Tooltip_Hover.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_Tooltip_Light.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_base_map_light.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_dynamic_color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_geostats_by.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_static_color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_bubble_layer_static_color_with_no_seriesColors.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_center_seattle.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_choropleth_layer.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_custom_base_layer_tile_server.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_dynamic_color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_marker_layer_static_color_with_no_seriesColors.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_scale_unit_metric.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMap_zoom_9.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Background_Color_orange.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_from.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_duplicate_entries_to.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_discontinuous_ranges.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_equals_to_to.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_invalid_entries_from_is_larger_than_to.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Invalid_ranges_missing_entries.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Major_Unit_10.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Major_Unit_auto.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Percentage_Range_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Percentage_Value_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_min_20_max_100_tick_positions_even.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_min_20_max_110_majorUnit_20_tick_positions_uneven.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_multiple_steps.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Ranges_single_step.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Show_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Show_Value_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureMarkerGauge_Too_Small_to_Render.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_array_column_values.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_backgroundColor_navy_000080.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_categorical_dataSources_excessive_categorical_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_dimensions_less_than_minWidth_200_and_minHeight_150.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_lineColor_pink_FFC0CB.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_lineOpacity_0_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_showNullAxis_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureParallelCoordinates_stringified_numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Row_Scale_global.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Scale_area.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Scale_radius.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Max_Bubble_Radius_25.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5_Max_Bubble_Radius_30_Color_Mode_categorical_Bubble_Scale_radius_Bubble_Row_Scale_global.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_false_Min_Bubble_Radius_5_Max_Bubble_Radius_30_Color_Mode_dynamic_Bubble_Scale_area_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_75_Min_Bubble_Size_15_Color_Mode_categorical_Bubble_Scale_area_Bubble_Row_Scale_global.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_75_Min_Bubble_Size_15_Color_Mode_dynamic_Bubble_Scale_radius_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Max_Bubble_Size_99.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Bubble_Size_Dynamic_true_Min_Bubble_Size_30.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Show_Legend_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_categorical_Show_Legend_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Bubble_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Min_ColorIntensity_0.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Color_Mode_dynamic_Min_ColorIntensity_100.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Duplicated_data_point_x_8_y_tuesday_size_29_category_Allison_V_1710.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_5_y_friday_size_undefined_category_undefined.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_5_y_undefined_size_12_category_undefined.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Invalid_data_point_x_undefined_y_friday_size_29_category_undefined.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Legend_label_is_long_no_overflow.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_all.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_max.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Show_Bubble_Labels_none.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Some_axis_labels_should_be_hidden.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_Sort_axes_useDefaultSort_true.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_default_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PurePunchcard_fixed_height_300_width_700.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_backgroundcolor_pink.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_backward_link_and_self_loop.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_colorMode_dynamic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_dimensions_height_and_width_set_to_non_numeric.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_dimensions_less_than_minWidth_300_and_minHeight_200.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_invalid_columns_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_larger_dataset_charity_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_larger_dataset_energy_data.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_linkOpacity_changed_to_0_8.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_nodePadding_changed_to_8.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_nodeWidth_changed_to_15.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSankey_resultLimit_set_to_4.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_100_height_and_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Background_color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Opacity_0_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_after.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_below.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_Position_top.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_activity.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Icon_clock.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Major_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Major_Font_Size_128_Trend_Font_Size_30.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Number_Precision_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Show_Value_false.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Thousand_Separators_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Trend_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Trend_Display_percent.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Truncate_Trend_Units_enabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_fixed_height_35_width_35.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueIcon_no_props.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_100_height_and_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Background_color_flamenco.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Background_color_is_white.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Major_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Max_Value_50.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Number_Precision_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Radial_Background_Color_pink.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Radial_Stroke_Color_valencia.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_String_values.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Thousand_Separators_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Thousand_Separators_enabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_absolute_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Trend_Display_percent.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Truncate_Trend_Value_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Truncate_Trend_Value_enabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Under_label_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_dark_theme.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_default_theme.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_basic_scp_theme.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_fixed_height_35_width_35.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValueRadial_no_props.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Automatic_font_sizing_should_not_overflow.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Background_Color_white_Under_Label_and_Unit_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Large_card_686_width.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Font_Size_128_Trend_Font_Size_30_Under_Label_Font_Size_16.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Major_Value_is_null.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Medium_card_250_width_686.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Number_Precision_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_250.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Small_card_width_50.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_after.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_below_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Fill_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_2_Sparkline_Highlight_Dots_2.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_4_Sparkline_Highlight_Dots_5.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_characters_invalid.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Highlight_Segments_and_Sparkline_Highlight_Dots_negative_3_invalid.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Sparkline_Accept_Null_enabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Stroke_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Tooltip_show.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_disabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_billions.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_hundreds.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_millions.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_thousands.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_Use_Trend_Units_enabled_trillions.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_converts_non_numeric_values_to_null.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Sparkline_does_not_show_if_only_1_entry_in_graphData.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_String_values.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_disabled.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Thousand_Separators_enabled_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Color_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_absolute_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_10_Trend_Value_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Major_Value_negative_13_Trend_Value_negative_3.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_Trend_Value_0.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Display_percent_value_equals_trendValue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Empty_string.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Trend_Value_Not_A_Number.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Under_Label_specified.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_after_default.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_Unit_specified_Unit_Position_before.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_0_value.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_basic_all_0.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_300_width_300.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_35_width_35_Major_Font_Size_8.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_fixed_height_60_width_60_Major_Font_Size_12_Background_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_PureSingleValue_no_props.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Black_Dot.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Clock.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_Color_Rectangles.png +0 -0
- package/.loki/reference/chrome_docker_PureVisualizations_SvgChoroplethDynamic_SVG_with_XML_and_DTD.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Area_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bar_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Bubble_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_ChoroplethSvg_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Column_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Ellipse_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Events_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_FillerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Image_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Line_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_LinkGraph_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Map_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Markdown_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_MarkerGauge_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Parallel_Coordinates_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Pie_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Punchcard_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Rectangle_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Sankey_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Scatter_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Icon_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Single_Value_Radial_Editor.png +0 -0
- package/.loki/reference/chrome_docker_VisualizationEditors_Editors_Table_Editor.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Area_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Background_Color_french_rose.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Basic_Area.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_and_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Max_40000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Min_10000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Data_Values_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Mode_seriesCompare.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Legend_Pagination.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_connect.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_gaps_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Null_Value_Display_zero.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_3_Number_of_Results_5_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_by_Field_splunkd_green_splunkd_web_access_orange_splunk_web_service_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Series_Colors_red_blue_green_orange_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_X_Axis_Major_Grid_Lines_true_Y_Axis_Major_Grid_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Stack_Mode_stacked100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Major_Ticks_Size_15.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_Tick_Interval_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_and_Minor_Tick_Visibility_show_X_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Major_and_Minor_Tick_Visibility_show_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Maximum_Number_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Minimum_Number_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Area_Area_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Background_Color_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Bar_Spacing_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Basic_Bar.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Major_and_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Minor_Ticks_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Major_Tick_and_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Max_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Min_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Chart_Overlay_on_Y2_Axis_Title_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Data_Value_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Legend_Mode_Series_Compare.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_by_Field_admin_green_andy_orange_john_cyan_wendy_olive.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Colors_red_blue_green_and_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Series_Spacing_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_X_Axis_Major_Grid_true_Y_Axis_Major_Grid_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Stack_Mode_stacked100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_Size_15.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Major_Tick_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Major_and_Minor_Ticks_Visibility_show_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Maximum_Number_1000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Minimum_Number_250.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_Tick_Interval_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bar_Bar_Y_Axis_and_X_Axis_Title_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Background_Color_grey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Basic_Bubble.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Max_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_area_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Method_diameter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Bubble_Size_Min_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Column_data_based_on_DSL.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Field_Colors_200_green_201_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_0_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_10_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Result_Limit_50_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Series_Colors_orange_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_Rounded_Labels_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_X_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Major_Grid_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_auto.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Abbreviation_off_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_hide_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Interval_6.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Maximum_Number_14.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minimum_Number_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_X_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_auto_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Interval_150.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Size_15_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Maximum_Number_1500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minimum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Bubble_Bubble_Y_Axis_and_X_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Click.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Missing_Props_Message_When_No_Svg.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Placeholder_If_No_Svg_And_No_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_of_multiple_areas_in_an_Svg_based_on_a_rangeValue_threshold.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_of_multiple_areas_in_an_Svg_based_on_areaIds.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Set_the_color_using_multiMap_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Svg_Shows_Even_When_No_Datasources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Choropleth_Svg_Choropleth_Svg_Use_Local_To_Download_Svg.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Background_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Basic_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Multiple_Overlay_Fields_with_space_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Overlay_Field_with_space_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Major_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Y2_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Major_Tick_Visibility_and_Y2_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Max_40000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Min_10000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Grouping_overlay_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Column_Spacing_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Data_Value_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Legend_Mode_Series_Compare.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Multiple_Categorical_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_By_Field_splunkd_green_mongod_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Colors_red_blue_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Series_Spacing_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Long_Tooltip_X_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Tooltip_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_X_Axis_Major_Grid_Lines_true_Show_Y_Axis_Major_Grid_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Single_Categorical_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Stack_Mode_stacked100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_X_Axis_and_Y_Axis_Major_Tick_Size_20_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Mapped_Field_With_Space_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y2_Axis_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Major_Tick_Interval_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Maximum_Number_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minimum_Number_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Minor_Tick_Size_10_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Column_Column_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Basic_Ellipse.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_purple_Fill_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fill_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Fixed_height_200_width_200.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_brown_Fill_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Color_green_Fill_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Dash_Style_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Opacity_0_8_Fill_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Ellipse_Ellipse_Stroke_Width_5_Stroke_Dash_Style_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Background_Color_Light_Blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Basic_Events.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Event_Actions.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Actions.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Field_Summary_Simulated_Instance.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Footer_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Value_Highlighting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Height.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Events_Events_Width_Percentage_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_100_height_width.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Background_Color_orange.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Basic_Filler_Gauge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Gauge_Color_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Major_Tick_Interval_auto_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_100_no_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_height_90_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_horizontal_width_150_show_placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Filler_Gauge_Filler_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Basic_Image.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_dynamic_image.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Displays_remote_image.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPEG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_JPG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_image_src_present_in_options.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_No_options_present.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_PNG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_JPG_image_link.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_PNG_image_link.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_Relative_svg_image_link.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Image_Image_SVG_image_Preserve_Aspect_Ratio_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Background_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_IANA_timezone.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_serialized_timezone.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Basic_Line_with_offset_utc_timezone.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Multiple_Overlay_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Overlay_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_Rounded_Labels_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Show_Y2_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Interval_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Size_15_Y2_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Major_Tick_Visibility_and_Y2_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Maximum_Number_40000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minimum_Number_10000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Chart_Overlay_on_Y2_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_all.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Data_Values_Display_minmax.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Mode_seriesCompare.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Legend_Pagination.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_mongod_longDash_splunkd_access_dashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_mongod_shortDashDot_splunkd_access_shortDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_splunkd_dot_splunk_web_service_dash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_splunkd_longDashDot_splunkd_access_longDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_by_Field_splunkd_shortDash_splunk_web_service_shortDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_dot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_longDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDash.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_shortDashDotDot.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Dash_Style_solid_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Line_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_filled.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_invalid_value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_off_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Marker_Display_outlined.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_New_very_long_Legend_Label_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_connect.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_gaps_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Null_Value_Display_zero.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Outlier_Detection.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_0_Number_of_Results_100.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_1000_Number_of_Results_5000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3_Number_of_Results_5_Chart_Annotation.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_3a_invalid_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Result_Limit_50_Number_of_Results_40.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_by_Field_splunkd_green_splunkd_web_access_orange_splunk_web_service_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Series_Colors_red_blue_green_orange_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Independent_Y_Axis_Ranges_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Split_Series_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_X_Axis_Major_Grid_Lines_true_Show_Y_Axis_Major_Grid_Lines_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Extended_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_Minor_Grid_Lines_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Line_Visibility_show_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Major_Tick_Visibility_hide_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Max_Label_Parts_3_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_X_Axis_and_Y_Axis_Major_Tick_Size_20.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Mapped_Field_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y2_Axis_Multiple_Mapped_Fields_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Abbreviation_on_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Major_Tick_Interval_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Maximum_Number_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minimum_Number_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Minor_Tick_Visibility_show_Y_Axis_Minor_Tick_Size_15.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Line_Line_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Basic_LinkGraph.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_ES.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_First_and_Last_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_First_to_the_Last_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Field_Order_From_the_Last_to_the_First_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Node_Text_Highlight_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Result_Limit_3.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_LinkGraph_LinkGraph_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map_ShowScale_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Basic_Map_ShowZoomControls_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Additional_Cases.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_GET_Dynamic_Coloring.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Internal_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Mostly_null.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_By_Static_Coloring.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Bubble_Layer_Geostats_Dynamic_Coloring.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_ChoroplethOpacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_ChoroplethStrokeColor_Red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Result_Limit_Set_To_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_Invalid.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_ChoroplethEmptyAreaColor_light_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_ChoroplethStrokeColor_grey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_ShowBaseLayer_ShowZoomControls_ShowScale_false_Background_Color_transparent_ChoroplethOpacity_1_0_ChoroplethStrokeColor_black.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_ShowBaseLayer_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_US_no_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_ChoroplethEmptyAreaColor_light_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_ChoroplethStrokeColor_black.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_ShowBaseLayer_ShowZoomControls_ShowScale_false_BackgroundColor_grey_ChoroplethOpacity_1_0_ChoroplethStrokeColor_grey_ChoroplethEmptyAreaColor_white.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_ShowBaseLayer_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_With_Additional_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_Source_World_no_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_String_GeoJson_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Choropleth_Layer_With_Additional_Fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Dynamic_coloring.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_Result_Limit_Set_To_3.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Marker_layer_with_geostats_data_No_render.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Restricted_Zoom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Map_Map_Set_Map_tiles.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Background_Color_af575a.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Basic_Markdown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Begin_with_Text_Instead_of_Header.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Color_purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Family_Times_New_Roman.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Size_custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Font_Size_extraLarge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Markdown_with_number_as_DSL.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Markdown_Markdown_Rotation_180_degrees.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Background_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Basic_Marker_Gauge.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_0_to_30_purple_30_to_90_blue_90_to_100_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Gauge_Ranges_negative_10_to_50_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Major_Tick_Interval_7.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_horizontal.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Orientation_vertical_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_number_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Marker_Gauge_Marker_Gauge_Value_Display_percentage_Label_Display_percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Array_column_values.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Background_Color_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Basic_Parallel_Coordinates.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Categorical_dataSources_excessive_categorical_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Larger_Dimensions_width_800_height_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Color_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Line_Opacity_0_3.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Null_Axis_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Smaller_Dimensions_less_than_min_width_200_and_min_height_150.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Parallel_Coordinates_Parallel_Coordinates_Stringified_Numerical_dataSources.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Background_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Basic_Pie.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Label_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Collapse_Threshold_0_05.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_valuesAndPercentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Label_Display_values_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Numeric_and_string_values_in_column_1.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_empty_columns_and_fields.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_invalid_label_data_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_invalid_value_data_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_missing_column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_values_in_datasource_are_all_invalid.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_0_Number_of_Results_12.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Result_Limit_3_Number_of_Results_12.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_By_Field_splunkd_black_splunkd_ui_access_yellow_mongod_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Series_Colors_red_blue_green_orange_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Pie_Pie_Show_Donut_Hole_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Background_Color_green.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Basic_Punchcard.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Color_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_all_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_max.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Label_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_global_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_50.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Bubble_Size_Method_radius_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Max_75_Bubble_Size_Min_15_Color_Mode_categorical.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_area_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Method_radius.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Bubble_Size_Min_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Legend_Display_right_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_categorical_Series_Color_red_blue_green_orange_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Color_Mode_dynamic_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Default_Sort_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Max_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5_Bubble_Radius_Max_30_Bubble_Row_Scale_row.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_false_Bubble_Radius_Min_5_Bubble_Radius_Max_30_Color_Mode_categorical_Bubble_Size_Method_radius.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Punchcard_Punchcard_Show_Dynamic_Bubble_Size_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Basic_Rectangle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_Purple_Fill_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Fill_Color_cyan.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_0_default_Vertical_Corner_Radius_ry_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_15_Vertical_Corner_Radius_ry_25.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_0.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_20_Vertical_Corner_Radius_ry_Undefined_default_set_to_rx.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Horizontal_Corner_Radius_rx_5_Vertical_Corner_Radius_ry_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_brown_Fill_Color_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_computed_using_rangeValue_formatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Color_yellow_Fill_Color_purple.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Dash_Style_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_Bevel_Stroke_Width_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_miter_default_Stroke_Width_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Join_Style_round_Stroke_Width_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_20_Stroke_Opacity_0_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Rectangle_Rectangle_Stroke_Width_5.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Background_Color_pink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Backward_Link_Self_Loop.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Basic_Sankey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Color_Mode_dynamic.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Dimension_Too_Small.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Larger_Dimension.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_0_8.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Opacity_Changed.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Link_Values_Not_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Sankey_Sankey_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Background_Color_grey.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Basic_Scatter.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Column_data_based_on_DSL.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Field_Colors_200_green_201_red.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_bottom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_left.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Display_top.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_end_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_middle.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Legend_Truncation_start.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Marker_Size_7.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Multi_Series.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_datasource_does_not_have_any_data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Placeholder_if_viz_does_not_connect_to_datasource.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_0_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_10_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_3a_invalid_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Result_Limit_50_Number_of_Results_30.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Series_Colors_orange_and_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Rounded_X_Axis_Labels_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_X_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Extend_Range_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Major_Grid_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_Minor_Grid_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_false_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Show_Y_Axis_With_Zero_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_auto.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Abbreviation_off_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_45.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Rotation_negative_90.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Label_Visibility_and_Y_Axis_Label_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_hide_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Interval_6.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Size_15_X_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Maximum_Number_14.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minimum_Number_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_X_Axis_Title_Text_and_Y_Axis_Title_Text_specified.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_auto_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Abbreviation_off.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Line_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Interval_150.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Size_15_Y_Axis_Minor_Tick_Size_10.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Major_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Maximum_Number_1000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minimum_Number_500.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_hide.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Minor_Tick_Visibility_show.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Scatter_Scatter_Y_Axis_Scale_log.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_Pagination.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_background_color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status_user.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_layout_options.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_makeresults_name_age_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_count_by_status_user.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_table_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_by_status.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Basic_Single_Value_Icon_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Change_Icon_Color_For_A_Remote_Icon.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_The_Icon_As_A_Remote_Icon.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_Unit_value_after.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_Unit_value_before.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_backgroundColor_based_on_the_majorValue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_icon_color_based_on_the_majorValue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Set_the_majorColor_based_on_the_majorValue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Mixed_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Numerical_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_String_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Icon_Single_Value_Icon_Use_Time_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Major_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Background_From_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Chart_Count.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Pagination.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_Timechart.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_background_color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_layout_options.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_makeresults_name_age_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_count_by_status_user.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_table_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_count_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Radial_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Major_Value_Color_By_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Max_Value_1000.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Radial_Color_By_Major_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Set_The_Unit_After.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Set_The_Unit_Before.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Radial_Single_Value_Radial_Use_String_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_Pagination.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_assign_default_trellisSplitBy_value_status.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_background_color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_avg_count_max_count_by_status.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_avg_count_max_count_by_status_value_by_max_count.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_count_by_status_user_user.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_chart_cmd_max_count_avg_count_by_status_user_user.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_layout_options.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_makeresults_name_age_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_avg_count_max_count_by_status_value_by_max_count.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_stats_cmd_count_by_status_user_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_table_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_count_by_status_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_max_count_avg_count_by_status.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Basic_Single_Value_Trellis_timechart_cmd_max_count_avg_count_by_status_aggregations.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Change_The_Color_Of_Major_Value_Based_On_Its_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Major_value_data_null_show_N_A.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_No_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Major_Value_Trellis.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Background_Color_Based_On_The_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Color_Of_Major_Value_Based_On_The_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Color_Of_The_Trend_Indicators_And_Number_Based_On_The_Trend_Value.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_The_Major_Value_Based_On_String_Type_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_Unit_Value_After.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Set_Unit_Value_Before.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Gaps_For_Null_Value_In_Sparkline.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Show_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Index_Out_Of_Range.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Trend_Value_Is_Zero.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Mixed_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Numerical_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_String_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_The_First_Series_Data_If_No_Matched_Type.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Single_Value_Single_Value_Use_Time_Type_Series_Data.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_By_Type_Custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Kitchen_Sink.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Right.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Align_Single_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Color_light_blue.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_No_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Background_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Basic_Table_With_No_Click.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Cell_Types.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Gradient.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Override.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_All_Columns.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_Auto_Expand_First_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_Auto_Expand_Last_Column.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Column_Width_Middle_Columns.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Count_2.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Header_Colors.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Row_Colors.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Custom_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_No_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Dark_Background_Stripe.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Extra_Small.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Large.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Monospace.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Proportional.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Font_Small.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Format_Number_Adv.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_fixed.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Header_Visibility_none.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_100_no_paginator.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Height_Percentage_50_no_paginator.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Invalid_Background_Color.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Mixed_Type_Column_With_Null.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Multi_Value_Field.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_No_Stripes_Row_Numbers.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Placeholder.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_false.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Internal_Fields_true_default.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Show_Row_Numbers_true.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Custom.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparkline_Width.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Sparklines_Adv.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Table_Gradient.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Time_Zone_Time_Formatting.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Height.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Percentage.png +0 -0
- package/.loki/reference/chrome_docker_Visualizations_Table_Table_Width_Px.png +0 -0
package/Map.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-encoding/utils/dsl\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/utils/dataUtils.ts","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/Map/PureMap/BubbleLayer.tsx","webpack:///./src/Map/PureMap/MarkerWrapper.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"chroma-js\"","webpack:///external \"maplibre-gl\"","webpack:///./src/Map/PureMap/ChoroplethLayer.tsx","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualization-context/FeatureFlagContext\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"lodash\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///external \"@splunk/ui-utils/id\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@splunk/moment\"","webpack:///external \"styled-components\"","webpack:///external \"@splunk/async-dynamic-options-evaluator\"","webpack:///./src/Map/Map.tsx","webpack:///./src/Map/PureMap/PureMap.tsx","webpack:///external \"@splunk/visualization-context/MapContext\"","webpack:///./src/Map/PureMap/PureMapContainer.tsx","webpack:///./src/common/SplunkVisualization.tsx","webpack:////builds/devplat/vision/node_modules/maplibre-gl/dist/maplibre-gl.css","webpack:///./src/Map/PureMap/ClusterLayer.tsx","webpack:///./src/Map/PureMap/Tooltip.tsx","webpack:///./src/Map/PureMap/MarkerLayer.tsx","webpack:///./src/Map/PureMap/LocalChoroplethLayer.tsx","webpack:///external \"@splunk/visualization-context/GeoRegistry\"","webpack:///external \"@splunk/visualization-context/GeoJsonProvider\"","webpack:///./src/Map/config.ts","webpack:///./src/common/utils/mapUtils.ts","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/Map/PureMap/MapUtils.ts","webpack:///external \"d3-scale\"","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/visualization-encoding/utils/types\""],"names":[],"mappings":"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","file":"Map.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 406);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-encoding/utils/dsl\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","// TODO: utilize this fn in ParallelCoordinates\nexport const convertToArrOfObjects = (columns, fields) => {\n if (!columns || !columns[0].length) return [];\n\n const data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n const fieldName = typeof field === 'string' ? field : field.name;\n if (columns[index][i] === '') {\n newObj[fieldName] = null;\n } else {\n newObj[fieldName] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n return data;\n};\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n data-splunk-visualization-version={__VISION_VERSION__}\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport type { Map } from 'maplibre-gl';\nimport { sum } from 'lodash';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport {\n bakeBubbleData,\n BubbleLayerType,\n DEFAULT_SERIES_COLORS,\n DEFAULT_RESULT_LIMIT,\n DEFAULT_CLUSTER_COLOR,\n getStaticColors,\n matchBubbleSize,\n} from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nexport const GEO_BOUND_PREFIX = '_geo_bounds_';\nexport const GEO_LAT_AND_LONG_FIELD = ['_geo_long_field', '_geo_lat_field'];\nexport interface PieSegmentProps {\n start: number;\n end: number;\n radius: number;\n color: string;\n themeColor: string;\n segmentMetadata?: { name: string; value: number; color: string };\n handleBubbleClick?: (e: Event, name: string, count: number) => void;\n}\n\nexport const PieSegment = React.memo(\n ({\n start,\n end,\n radius,\n color,\n themeColor,\n segmentMetadata,\n handleBubbleClick,\n }: PieSegmentProps): JSX.Element => {\n const { name, value } = segmentMetadata ?? {};\n const handleSegmentClick = React.useCallback(\n e => {\n handleBubbleClick(e, name, value);\n },\n [name, value, handleBubbleClick]\n );\n\n if (end - start === 1) {\n return (\n <circle\n onClick={handleSegmentClick}\n cx={radius}\n cy={radius}\n r={radius}\n fill={color}\n fillOpacity={0.5}\n strokeWidth={1.5}\n stroke={color}\n />\n );\n }\n const a0 = 2 * Math.PI * (start - 0.25);\n const a1 = 2 * Math.PI * (end - 0.25);\n const x0 = Math.cos(a0);\n const y0 = Math.sin(a0);\n const x1 = Math.cos(a1);\n const y1 = Math.sin(a1);\n const arc = end - start > 0.5 ? 1 : 0;\n\n return (\n <path\n onClick={handleSegmentClick}\n d={`M ${radius} ${radius} L ${radius + radius * x0} ${\n radius + radius * y0\n } A ${radius} ${radius} 0 ${arc} 1 ${radius + radius * x1} ${\n radius + radius * y1\n } L ${radius} ${radius} A 0 0 0 ${arc} 0 ${radius} ${radius}`}\n fill={color}\n fillOpacity={0.8}\n stroke={themeColor}\n strokeWidth={2}\n strokeOpacity={0.3}\n />\n );\n }\n);\n\nPieSegment.displayName = 'MapBubblePieSegment';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n cursor: pointer;\n`;\n\nexport interface BubbleProps {\n originalValues: number[];\n valueRange: number[];\n colors: string[];\n themeColor: string;\n isPie: boolean;\n latitude: number;\n longitude: number;\n bubbleSize: Required<TooltipProps['additionalFields'][number] & { value: number }>[];\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleMapClick?: any;\n}\n\nexport const Bubble = React.memo(\n ({\n originalValues,\n valueRange,\n colors,\n themeColor,\n isPie,\n latitude,\n longitude,\n bubbleSize,\n additionalFields = [],\n map,\n handleMapClick,\n }: BubbleProps): JSX.Element => {\n const onBubbleClick = React.useCallback(\n (e, name, value) => {\n handleMapClick(e, name, value);\n e.stopPropagation();\n },\n [bubbleSize]\n );\n\n const bubble = React.useMemo(() => {\n const allZeros = originalValues.every(v => v === 0);\n if (allZeros || !originalValues.length) {\n return null;\n }\n // sanitize values\n const values = originalValues.map(v => (v > 0 ? v : 0));\n\n // compute offsets for pie segments\n const offsets = [];\n let total = 0;\n values.forEach(count => {\n offsets.push(total);\n total += count;\n });\n\n const radius = matchBubbleSize(valueRange, total);\n const width = radius * 2;\n return (\n <svg width={width} height={width} viewBox={`-3 -3 ${width + 6} ${width + 6}`}>\n {isPie ? (\n <circle\n cx={radius}\n cy={radius}\n r={radius}\n fill=\"none\"\n strokeWidth={2}\n stroke={themeColor}\n strokeOpacity={0.3}\n />\n ) : null}\n {values.map((v, i) => (\n <PieSegment\n key={String(i)}\n start={offsets[i] / total}\n end={(offsets[i] + v) / total}\n radius={radius}\n color={colors[i]}\n themeColor={themeColor}\n segmentMetadata={bubbleSize[i]}\n handleBubbleClick={onBubbleClick}\n />\n ))}\n </svg>\n );\n }, [colors, isPie, originalValues, themeColor, valueRange]);\n\n if (!bubble) {\n return null;\n }\n\n return (\n <StyledMarkerWrapper\n longitude={longitude}\n latitude={latitude}\n additionalFields={[...bubbleSize, ...additionalFields]}\n map={map}\n data-test-type=\"bubble\"\n >\n {bubble}\n </StyledMarkerWrapper>\n );\n }\n);\nBubble.displayName = 'MapBubble';\n\nexport interface BubbleLayerProps {\n bubbleLayer: BubbleLayerType;\n themeColorScheme: string;\n zoom: number;\n map: React.MutableRefObject<Map>;\n onMapClick?: any;\n}\n\nconst BubbleLayer = (props: BubbleLayerProps): JSX.Element => {\n const { bubbleLayer, themeColorScheme, map, zoom, onMapClick } = props;\n bubbleLayer.seriesColors = bubbleLayer.seriesColors || DEFAULT_SERIES_COLORS;\n bubbleLayer.bubbleSize = bubbleLayer.bubbleSize || [];\n const bakedData = React.useMemo(() => bakeBubbleData(bubbleLayer), [bubbleLayer]);\n const staticColors = React.useMemo(\n () => getStaticColors(bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors),\n [bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors]\n );\n const { data = [], dataRange = [], resultLimit, bubbleSizeFields, isPie } = bakedData ?? {};\n const { additionalTooltipFields = [] } = bubbleLayer;\n const roundedZoom = Math.round(zoom);\n const themeColor = themeColorScheme === 'light' ? '#ffffff' : '#1a1c20';\n const dynamicColors = bubbleLayer.dataColors;\n\n // filter data for the current zoom level and sort base on values\n const dataToRender = React.useMemo(\n () =>\n data\n .reduce((acc, datum, i) => {\n if (datum.zoom === roundedZoom) {\n acc.push({ data: datum, idx: i });\n }\n return acc;\n }, [])\n .slice(0, resultLimit || DEFAULT_RESULT_LIMIT)\n .sort((a, b) => sum(b.data.values) - sum(a.data.values)),\n [data, resultLimit, roundedZoom]\n );\n\n const handleMapClick = React.useCallback(\n (e, name, value, i) => {\n // retrieve metadata from the appropriate datum, indexed by i\n const metadata = dataToRender[i]?.data?.metadata ?? {};\n const payload = Object.keys(metadata).reduce(\n (acc, curr) => {\n const key = `row.${curr}.value`;\n const val = String(metadata[curr]);\n return { ...acc, [key]: val };\n },\n { name, value: String(value) }\n );\n\n onMapClick({ e, payload });\n },\n [dataToRender]\n );\n\n return (\n <>\n {dataToRender.map((datum, i) => {\n const colors = dynamicColors\n ? [\n dataToRender.map(obj =>\n isColor(dynamicColors[obj.idx]) ? dynamicColors[obj.idx] : DEFAULT_CLUSTER_COLOR\n )[i],\n ]\n : staticColors;\n\n const [longitude, latitude] = datum.data.coordinates;\n const bubbleSize = datum.data.values.map((value, index) => ({\n name: bubbleSizeFields[index],\n value,\n color: colors[index],\n }));\n\n const additionalFields = bubbleLayer.metadata\n ? additionalTooltipFields.map(field => ({\n name: field,\n value: datum.data.metadata[field],\n }))\n : [];\n\n return (\n <Bubble\n key={String(i)}\n originalValues={datum.data.values}\n valueRange={dataRange}\n colors={colors}\n themeColor={themeColor}\n isPie={isPie}\n longitude={longitude}\n latitude={latitude}\n bubbleSize={bubbleSize}\n additionalFields={additionalFields}\n map={map}\n handleMapClick={(e, name, value) => handleMapClick(e, name, value, i)}\n />\n );\n })}\n </>\n );\n};\n\nexport default BubbleLayer;\n","import type { Map } from 'maplibre-gl';\nimport { Marker } from 'maplibre-gl';\nimport * as React from 'react';\nimport type { TooltipProps } from './Tooltip';\nimport Tooltip from './Tooltip';\n\nexport interface MarkerWrapperProps extends React.HTMLAttributes<HTMLDivElement> {\n latitude: number;\n longitude: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n isChoroplethTooltipOpen?: boolean;\n}\n\nconst MarkerWrapper = ({\n longitude,\n latitude,\n areaId,\n areaValue,\n additionalFields = [],\n map,\n isChoroplethTooltipOpen,\n children,\n ...otherProps\n}: MarkerWrapperProps): JSX.Element => {\n const container = React.useRef<HTMLDivElement>();\n const marker = React.useRef<Marker>();\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n\n const isChoroplethTooltip = React.useCallback(() => isChoroplethTooltipOpen !== undefined, [\n isChoroplethTooltipOpen,\n ]);\n\n const openTooltip = React.useCallback(() => setTooltipOpenStatus(true), []);\n const closeTooltip = React.useCallback(() => setTooltipOpenStatus(false), []);\n\n const cleanupMarker = React.useCallback(() => {\n if (marker.current) {\n marker.current.remove();\n marker.current = undefined;\n }\n }, []);\n\n React.useEffect(() => {\n try {\n if (marker.current) {\n marker.current.setLngLat([longitude, latitude]);\n } else {\n marker.current = new Marker(container.current);\n marker.current.setLngLat([longitude, latitude]);\n marker.current.addTo(map.current);\n }\n } catch (error) {\n console.error(error);\n cleanupMarker();\n }\n }, [latitude, longitude, map]);\n\n React.useEffect(() => cleanupMarker, []);\n\n return (\n <div style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}>\n <div\n style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}\n ref={container}\n data-test=\"map-marker\"\n onMouseOver={openTooltip}\n onMouseLeave={closeTooltip}\n onFocus={openTooltip}\n onBlur={closeTooltip}\n {...otherProps}\n >\n {children}\n </div>\n\n <div>\n <Tooltip\n open={isChoroplethTooltip() ? isChoroplethTooltipOpen : isTooltipOpen}\n anchor={container.current}\n latitude={isChoroplethTooltip() ? null : latitude}\n longitude={isChoroplethTooltip() ? null : longitude}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields}\n />\n </div>\n </div>\n );\n};\n\nexport default MarkerWrapper;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"chroma-js\");","module.exports = require(\"maplibre-gl\");","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\nimport { isEqual, uniq } from 'lodash';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata, DEFAULT_RESULT_LIMIT } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nconst getShapeId = id => `shape-${id}`;\nconst getSourceId = id => `source-${id}`;\nconst getStrokeId = id => `stroke-${id}`;\n\nexport const compareGeom = (prev: GeoJsonDataType, next: GeoJsonDataType) => {\n if (prev !== null && next !== null) {\n return prev.type === next.type && isEqual(prev.coordinates, next.coordinates);\n }\n return prev === null && next === null;\n};\n\nexport const compareChoropleth = (prevProps: ChoroplethProps, nextProps: ChoroplethProps): boolean => {\n return (\n compareGeom(prevProps.geomData, nextProps.geomData) &&\n prevProps.id === nextProps.id &&\n prevProps.map === nextProps.map &&\n prevProps.areaId === nextProps.areaId &&\n prevProps.areaValue === nextProps.areaValue &&\n prevProps.color === nextProps.color &&\n prevProps.opacity === nextProps.opacity &&\n prevProps.strokeColor === nextProps.strokeColor &&\n prevProps.isThemeChanged === nextProps.isThemeChanged &&\n isEqual(prevProps.additionalFields, nextProps.additionalFields) &&\n prevProps.handleMapClick.toString() === nextProps.handleMapClick.toString()\n );\n};\n\nexport const cleanupChoropleth = (\n shapeId: string,\n sourceId: string,\n strokeId: string,\n map: React.MutableRefObject<Map>\n) => {\n // catch errors where map is undefined\n let currLayer;\n let currSource;\n let currStrokeLayer;\n try {\n currLayer = map?.current?.getLayer(shapeId);\n currStrokeLayer = map?.current?.getLayer(strokeId);\n currSource = map?.current?.getSource(sourceId);\n } catch {\n return;\n }\n if (currLayer) {\n map.current.removeLayer(shapeId);\n }\n if (currStrokeLayer) {\n map.current.removeLayer(strokeId);\n }\n if (currSource) {\n map.current.removeSource(sourceId);\n }\n};\n\ninterface ChoroplethProps {\n id: string;\n map: React.MutableRefObject<Map>;\n areaId: string;\n areaValue: number;\n geomData: GeoJsonDataType;\n color: string;\n opacity?: number;\n strokeColor?: string;\n isThemeChanged: boolean;\n additionalFields?: TooltipProps['additionalFields'];\n handleMapClick?: (e) => void;\n}\n\nexport const Choropleth = React.memo(\n ({\n id,\n areaId,\n areaValue,\n geomData,\n map,\n color,\n opacity,\n strokeColor,\n isThemeChanged,\n additionalFields,\n handleMapClick,\n }: ChoroplethProps): JSX.Element => {\n const sourceId = getSourceId(id);\n const shapeId = getShapeId(id);\n const strokeId = getStrokeId(id);\n const formattedGeomData = {\n type: 'Feature',\n geometry: geomData,\n };\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n const [mouseLat, setmouseLat] = React.useState(0);\n const [mouseLng, setmouseLng] = React.useState(0);\n\n const openTooltip = React.useCallback(() => {\n setTooltipOpenStatus(true);\n }, []);\n\n const closeTooltip = React.useCallback(() => {\n setTooltipOpenStatus(false);\n }, []);\n\n const updateChoropleth = React.useCallback(() => {\n // Apply changes by removing the existing choropleth and creating a new one\n // instead of mutating the current\n cleanupChoropleth(shapeId, sourceId, strokeId, map);\n\n // In order to set a different color and opacity to each choropleth region\n // we are creating a different layer for each region, and each layer requires a source\n map.current.addSource(sourceId, {\n type: 'geojson',\n data: formattedGeomData,\n });\n map.current.addLayer({\n id: shapeId,\n type: 'fill',\n source: sourceId,\n layout: {},\n paint: {\n 'fill-opacity': opacity,\n 'fill-color': color,\n },\n });\n\n if (strokeColor !== 'transparent') {\n map.current.addLayer({\n id: strokeId,\n type: 'line',\n source: sourceId,\n layout: {},\n paint: {\n 'line-color': strokeColor,\n 'line-width': 1,\n },\n });\n }\n\n map.current.on('mousemove', shapeId, e => {\n const mouseLngLat = e.lngLat;\n setmouseLat(mouseLngLat.lat);\n setmouseLng(mouseLngLat.lng);\n openTooltip();\n map.current.getCanvas().style.cursor = 'pointer'; // eslint-disable-line no-param-reassign\n });\n map.current.on('mouseleave', shapeId, () => {\n closeTooltip();\n map.current.getCanvas().style.cursor = ''; // eslint-disable-line no-param-reassign\n });\n map.current.on('click', shapeId, e => {\n handleMapClick(e);\n });\n }, [shapeId, sourceId, map, color, opacity, formattedGeomData]);\n\n React.useEffect(() => {\n updateChoropleth();\n }, [map, geomData, color, opacity, id, strokeColor]);\n\n // Clean up on unmount\n React.useEffect(() => () => cleanupChoropleth(shapeId, sourceId, strokeId, map), []);\n\n if (isThemeChanged) {\n // Theme changes will reset the style layers of the entire map\n // so we need to rerender the choropleths\n updateChoropleth();\n }\n\n return (\n <MarkerWrapper\n isChoroplethTooltipOpen={isTooltipOpen}\n additionalFields={additionalFields}\n latitude={mouseLat}\n longitude={mouseLng}\n map={map}\n areaId={areaId}\n areaValue={areaValue}\n >\n {/* an invisible div used to anchor the tooltip */}\n <div data-test=\"choropleth-anchor\" style={{ padding: '24px', visibility: 'hidden' }} />\n </MarkerWrapper>\n );\n },\n compareChoropleth\n);\n\nChoropleth.displayName = 'MapChoropleth';\n\ninterface ChoroplethLayerProps {\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n\n const limit = Math.min(\n choroplethLayer?.areaIds?.length,\n choroplethLayer?.areaValues?.length,\n choroplethLayer?.geom?.length ?? 0,\n choroplethLayer?.resultLimit ? choroplethLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const areaIdSliced = choroplethLayer?.areaIds?.slice(0, limit) ?? [];\n // generate a unique id if areaIds are not unique\n const uniqueAreaIdSliced =\n uniq(areaIdSliced).length !== areaIdSliced.length\n ? areaIdSliced.map((id, i) => `${id}${i}`)\n : areaIdSliced;\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (!map || !choroplethLayer || !choroplethLayer.geom) {\n return <></>;\n }\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n return (\n <div>\n {uniqueAreaIdSliced.map((id, i) => {\n const areaId = areaIdSliced[i];\n const areaValue = choroplethLayer.areaValues[i];\n\n return (\n <Choropleth\n key={id}\n id={id}\n geomData={choroplethLayer.geom[i]}\n map={map}\n color={colors[i]}\n opacity={scaledOpacities[i]}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n isThemeChanged={isThemeChanged}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields[i]}\n handleMapClick={e => handleMapClick(e, i)}\n />\n );\n })}\n </div>\n );\n};\n\nexport default ChoroplethLayer;\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualization-context/FeatureFlagContext\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"lodash\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n iconColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n iconColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","module.exports = require(\"@splunk/ui-utils/id\");","import * as T from 'prop-types';\nimport { has } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (typeof onRequestParamsChange === 'function') {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && typeof onRequestParamsChange === 'function';\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: typeof onRequestParamsChange === 'function' ? onChangeHandler : noop,\n };\n};\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep, cloneDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\nimport FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport AsyncDynamicOptionsEvaluator, {\n AsyncDynamicOptionsEvaluatorParams,\n} from '@splunk/async-dynamic-options-evaluator';\nimport { createGUID } from '@splunk/ui-utils/id';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\nconst UUID = createGUID();\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\n }\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n const [evaluatedOptionsAsync, setEvaluatedOptionsAsync] = React.useState({}); // evaluatedOptions need to be initialized as an empty object\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n\n const [visualizationID] = React.useState(`${vizConfig.name} - ${UUID}`);\n\n const [useAsyncEvaluatedOptions, setUseAsyncEvaluatedOptions] = React.useState(\n Boolean(\n featureFlagContext &&\n featureFlagContext.visualizations_useWebWorkersForDSL &&\n typeof Worker !== 'undefined'\n )\n );\n\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n if (useAsyncEvaluatedOptions) {\n const optionsToEvaluate = {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n };\n const asyncDynamicOptionsEvaluatorParams: AsyncDynamicOptionsEvaluatorParams = {\n visualizationID,\n props,\n options: optionsToEvaluate,\n dataSources,\n theme: vizConfig.themes,\n };\n AsyncDynamicOptionsEvaluator.evaluate(asyncDynamicOptionsEvaluatorParams)\n .then(results => {\n setEvaluatedOptionsAsync(results.results);\n })\n .catch(e => {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options - async: ${e.message}`);\n setUseAsyncEvaluatedOptions(false);\n });\n } else {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: ${e.message}`);\n return {};\n }\n return {};\n }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n useAsyncEvaluatedOptions,\n ]);\n\n const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;\n\n // trellis specific backgroundColor update for onComputedProps\n // if trellis is enabled following these three criteria - 1) trellis feature flag is enabled 2) vizConfig supports array has 'trellis' 3) option 'splitByLayout' is set to 'trellis\n // onComputedProps api should return back trellisBackgroundColor value for backgroundColor option to support coloring of sibling panels (for eg:- title/ description on UDF side)\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n const clonedEvaluatedOptions = cloneDeep(evaluatedOptionsToUse);\n if (\n isTrellisFeatureFlagOn &&\n vizConfig?.supports?.includes(VizBehavior.TRELLIS) &&\n clonedEvaluatedOptions?.splitByLayout === VizBehavior.TRELLIS\n ) {\n clonedEvaluatedOptions.backgroundColor = clonedEvaluatedOptions?.trellisBackgroundColor;\n }\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(clonedEvaluatedOptions);\n });\n\n React.useEffect((): (() => void) => {\n return () => {\n if (useAsyncEvaluatedOptions) {\n AsyncDynamicOptionsEvaluator.reset(visualizationID);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptionsToUse);\n if (\n missing.length > 0 &&\n supports.includes(VizBehavior.PLACEHOLDER) &&\n vizConfig.key !== 'splunk.singlevalue' // For SV missing props msg is not displayed if required props majorValue is missing, instead this will be handled from the component, instead handled within component\n ) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptionsToUse[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptionsToUse,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptionsToUse}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@splunk/moment\");","module.exports = require(\"styled-components\");","module.exports = require(\"@splunk/async-dynamic-options-evaluator\");","/* eslint-disable no-sequences */\nimport * as React from 'react';\nimport { sanitizeArrayOfColors } from '@splunk/visualizations-shared/colorUtils';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport PureMap from './PureMap/PureMap';\nimport config from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport { columnsNullToZeros } from '../common/utils/mapUtils';\nimport { GEO_BOUND_PREFIX, GEO_LAT_AND_LONG_FIELD } from './PureMap/BubbleLayer';\nimport { convertToArrOfObjects } from '../common/utils/dataUtils';\n\nconst formatLayer = (l, dataFields, dataSourceData, transformedData) => {\n // add key `geobin` to the layer object if the data is returned from geostats commands\n // to distinguish geostats commands from table commands\n const geobinIdx = dataFields.indexOf('geobin');\n const layer = l;\n\n if (geobinIdx > -1) {\n layer.geobin = dataSourceData.columns[geobinIdx];\n }\n // similarly add key `geom` to layer object for choropleths\n const geomIdx = dataFields.indexOf('geom');\n if (geomIdx > -1) {\n layer.geom = dataSourceData.columns[geomIdx].map(geomItem => {\n return typeof geomItem === 'string' ? JSON.parse(geomItem) : geomItem;\n });\n }\n // Sanitize colors within layers\n if (Object.prototype.hasOwnProperty.call(layer, 'seriesColors')) {\n layer.seriesColors = Array.isArray(layer.seriesColors)\n ? sanitizeArrayOfColors(layer.seriesColors)\n : undefined;\n }\n if (Object.prototype.hasOwnProperty.call(layer, 'dataColors')) {\n layer.dataColors = Array.isArray(layer.dataColors)\n ? sanitizeArrayOfColors(layer.dataColors)\n : undefined;\n }\n layer.metadata = transformedData;\n};\n\nexport const computeVizProps = (props: {\n themeFunc: any;\n theme: any;\n dataSources: any;\n layers: any;\n onOptionsChange?: any;\n}): any => {\n const { themeFunc, theme, layers, dataSources, onOptionsChange } = props;\n const themeColorVariables = ['controlBackgroundColor', 'controlForegroundColor'];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n // Markers use different icons, Bubbles has different styles for light and dark theme\n // this prop is passed for that\n const themeColorScheme = theme?.splunkThemeV1 ? theme?.splunkThemeV1.colorScheme : 'dark';\n\n const dataSourceData = dataSources?.primary?.data ?? {};\n // transforms data structure into array of objects to allow for indexing metadata at layer level\n // TODO: explore any potential changes when multiple layers are supported\n const transformedData = convertToArrOfObjects(dataSourceData.columns, dataSourceData.fields);\n\n const dataFields = (dataSourceData.fields ?? []).map(field =>\n typeof field === 'string' ? field : field.name\n );\n\n layers?.forEach(l => formatLayer(l, dataFields, dataSourceData, transformedData));\n\n return { ...themeColors, themeColorScheme, ...layers, onOptionsChange };\n};\n\nconst withTooltipFields = Viz => {\n const VizWithTooltipFields = ({ dataSources, options, ...otherProps }): JSX.Element => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} options={options} />;\n }\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]) {\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n mergedOptions.layers[0].bubbleSizeFields = getFieldsFromDSL(\n mergedOptions.layers[0].bubbleSize ?? mergedOptions.layers[0].bubbleSize,\n dataSources\n );\n }\n const { fields } = dataSources.primary.data;\n if (\n Array.isArray(mergedOptions.layers[0].additionalTooltipFields) &&\n Array.isArray(fields) &&\n fields.length\n ) {\n const { bubbleSizeFields = [] } = mergedOptions.layers[0];\n mergedOptions.layers[0].additionalTooltipFields = mergedOptions.layers[0].additionalTooltipFields.filter(\n (field: string) =>\n (typeof fields[0] === 'string'\n ? fields.includes(field)\n : fields.map((f: { name: string }) => f.name).includes(field)) &&\n !bubbleSizeFields.includes(field)\n );\n }\n }\n return <Viz dataSources={dataSources} options={mergedOptions} {...otherProps} />;\n };\n VizWithTooltipFields.propTypes = Viz.propTypes;\n VizWithTooltipFields.defaultProps = Viz.defaultProps;\n VizWithTooltipFields.config = Viz.config;\n return VizWithTooltipFields;\n};\n\n// HOC for stripping the internal fields for Maps\nconst withoutInternalFields = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithoutInternalFields = ({ dataSources, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} />;\n }\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = [];\n let newFields = [];\n if (fields && columns && fields.length === columns.length) {\n // computed sorted index for removal\n const indicesToRemove = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (\n field.startsWith('_') &&\n !field.startsWith(GEO_BOUND_PREFIX) &&\n !GEO_LAT_AND_LONG_FIELD.includes(field)\n ) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n newFields = fields.filter((d, i) => !indicesToRemove.has(i));\n newColumns = columns.filter((d, i) => !indicesToRemove.has(i));\n }\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n fields: newFields,\n },\n },\n };\n return <Viz dataSources={modifiedDatasources} {...otherProps} />;\n };\n VizWithoutInternalFields.propTypes = Viz.propTypes;\n VizWithoutInternalFields.defaultProps = Viz.defaultProps;\n VizWithoutInternalFields.config = Viz.config;\n return VizWithoutInternalFields;\n};\n\n// HOC for updating all null values in data columns to zeros\n// excluding 'latitude', 'longitude' and 'geobin'\nconst withNullToZeros = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithColumnsNullToZeros = ({ dataSources, options, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz options={options} {...otherProps} />;\n }\n const modifiedDatasources = columnsNullToZeros(config, dataSources, options);\n return <Viz dataSources={modifiedDatasources} options={options} {...otherProps} />;\n };\n VizWithColumnsNullToZeros.propTypes = Viz.propTypes;\n VizWithColumnsNullToZeros.defaultProps = Viz.defaultProps;\n VizWithColumnsNullToZeros.config = Viz.config;\n return VizWithColumnsNullToZeros;\n};\n\nexport function useIconPlaceholder(dataSources: { [name: string]: DataSource }, loading: boolean): boolean {\n return loading;\n}\n\nconst Map = withoutInternalFields(\n withTooltipFields(\n withNullToZeros(\n withDashboardViz({\n ReactViz: PureMap,\n vizConfig: config,\n computeVizProps,\n disableEditModeCover: true,\n useIconPlaceholder,\n })\n )\n )\n);\nconst { themes } = config;\nexport default Map;\nexport { themes, config, PureMap };\n","import * as React from 'react';\nimport { omit, noop } from 'lodash';\nimport { useRef, useEffect, useCallback, useContext, useMemo } from 'react';\nimport * as T from 'prop-types';\nimport * as chroma from 'chroma-js';\nimport { Map, NavigationControl, ScaleControl } from 'maplibre-gl';\nimport type { StyleSpecification } from 'maplibre-gl';\nimport MapContext from '@splunk/visualization-context/MapContext';\nimport type { MapContextInterface } from '@splunk/visualization-context/MapContext';\nimport { VizProps } from '../../common/interfaces/VizProps';\nimport PureMapContainer from './PureMapContainer';\nimport {\n getTilePreset,\n getMapStyle,\n getZoomConstraintsFromTileConfig,\n MAP_STYLE_VERSION_NUMBER,\n ClusterLayerType,\n LayerType,\n MAX_BUBBLE_RADIUS,\n isValidLatLon,\n MAX_LATITUDE,\n getGlobalLayerBoundaries,\n LAYER_TYPE,\n compareBaseStyles,\n} from './MapUtils';\nimport ClusterLayer from './ClusterLayer';\nimport ChoroplethLayer from './ChoroplethLayer';\nimport LocalChoroplethLayer from './LocalChoroplethLayer';\n\nexport const DEFAULT_CENTER: [number, number] = [0, 0];\nexport const DEFAULT_CONTROL_BACKGROUND_COLOR = '#2b3033';\nexport const DEFAULT_CONTROL_FOREGROUND_COLOR = '#B5B5B5';\nexport const DEFAULT_SCALE_UNIT = 'imperial';\nexport const DEFAULT_SHOW_SCALE = true;\nexport const DEFAULT_SHOW_ZOOM_CONTROLS = true;\nexport const DEFAULT_SHOW_BASELAYER = true;\nexport const DEFAULT_ZOOM = 0;\ninterface PureMapProps extends VizProps {\n backgroundColor: string;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: 'vector' | 'raster';\n center?: [number, number];\n controlBackgroundColor?: string;\n controlForegroundColor?: string;\n layers: LayerType[];\n scaleUnit?: 'imperial' | 'metric';\n showScale?: boolean;\n showZoomControls?: boolean;\n showBaseLayer?: boolean;\n themeColorScheme?: string;\n zoom?: number;\n onMapLoad?: () => void;\n onMapClick?: ({ e, payload }) => void;\n onOptionsChange?: (options) => void;\n}\n\nexport interface HexColorObj {\n color: string;\n opacity: number;\n}\n\n// convert rgb/rgba/hex color to encoded color & opacity for SVG strings\nexport const formatColor = (color: string): HexColorObj => {\n const chromaColor = chroma(color);\n return {\n color: chroma(chromaColor.rgb()).hex().replace('#', '%23'),\n opacity: chromaColor.alpha(),\n };\n};\n\nPureMapContainer.displayName = 'PureMapContainer';\n\nconst PureMap = (props: PureMapProps): any => {\n const {\n width,\n height,\n backgroundColor,\n baseLayerTileServer,\n baseLayerTileServerType,\n center,\n controlBackgroundColor,\n controlForegroundColor,\n layers = [],\n scaleUnit,\n showScale,\n showZoomControls,\n showBaseLayer,\n themeColorScheme,\n zoom,\n onMapLoad,\n onMapClick,\n onOptionsChange,\n mode,\n } = props;\n const { defaultTileConfig, customTileConfig } = useContext<MapContextInterface>(MapContext);\n const basemapContainer = useRef<HTMLDivElement>(null);\n const map = useRef<Map>(null);\n const scaleControl = useRef<ScaleControl>(null);\n const zoomControl = useRef<NavigationControl>(null);\n\n const { tilePreset, defaultTileLight, defaultTileDark } = useMemo(\n () => getTilePreset({ defaultTileConfig, customTileConfig }),\n [defaultTileConfig, customTileConfig]\n );\n\n const [currentZoomLevel, setCurrentZoomLevel] = React.useState<number>(zoom ?? DEFAULT_ZOOM);\n const [isMapLoaded, setMapIsLoaded] = React.useState<boolean>(false);\n const [isThemeChanged, setIsThemeChanged] = React.useState<boolean>(false);\n\n // Assign default center when no center is defined\n const lngLatCenter = useMemo(() => {\n if (!isValidLatLon(center)) {\n return DEFAULT_CENTER as [number, number];\n }\n return [center[1], center[0]] as [number, number];\n }, [center]);\n\n // TODO: take out zoomLevel to use zoom instead (set prop zoom = DEFAULT_ZOOM)\n // Assign default zoom when no zoom is defined\n const zoomLevel = useMemo(() => {\n if (zoom === undefined) {\n return DEFAULT_ZOOM;\n }\n return zoom;\n }, [zoom]);\n\n const setIsThemeChangedCallback = (isMyThemeChanged: boolean) => {\n setIsThemeChanged(isMyThemeChanged);\n };\n\n const onOptionsChangeProxy = e => {\n if (mode === 'edit') {\n onOptionsChange(e);\n }\n };\n\n const initializeMap = useCallback(\n mapStyle => {\n const fitMapToContent = () => {\n const lngLatBounds = getGlobalLayerBoundaries([layers[0]]);\n map.current.fitBounds(lngLatBounds, {\n padding: MAX_BUBBLE_RADIUS + 5,\n animate: false,\n });\n };\n\n map.current = new Map({\n container: basemapContainer.current,\n preserveDrawingBuffer: true,\n style: mapStyle,\n center: lngLatCenter,\n zoom: zoomLevel,\n ...getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer),\n });\n // Fired immediately after all necessary resources have been downloaded\n // and the first visually complete rendering of the map has occurred.\n map.current.on('load', () => {\n if (layers?.length > 0 && center === undefined && zoom === undefined) {\n fitMapToContent();\n }\n setMapIsLoaded(true);\n // TODO :- Temp timeout added for onMapLoad event to avoid flaky screenshots caused by\n // https://maplibre.org/maplibre-gl-js-docs/api/map/#map#fitbounds. Need alternate approach to handle the same.\n setTimeout(() => onMapLoad(), 500);\n });\n\n // register event listener - drag\n map.current.on('dragend', () => {\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng] });\n });\n\n // register event listener - zoom\n map.current.on('zoomend', () => {\n setCurrentZoomLevel(map.current.getZoom());\n // when zooming with mouse/track pad,\n // zooming centers at the cursor position, need to update center as well\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng], zoom: map.current.getZoom() });\n });\n\n // add zoom control\n zoomControl.current = new NavigationControl({ showCompass: false });\n map.current.addControl(zoomControl.current, 'top-left');\n },\n [lngLatCenter, zoomLevel, layers?.length]\n );\n\n const initializeScale = useCallback(() => {\n scaleControl.current = new ScaleControl({\n maxWidth: 70,\n unit: scaleUnit,\n });\n map.current.addControl(scaleControl.current);\n }, [scaleUnit]);\n\n const updateScale = useCallback(() => {\n if (showScale) {\n scaleControl?.current?.setUnit(scaleUnit);\n }\n }, [scaleUnit, showScale]);\n\n useEffect(() => {\n if (map.current) {\n map.current.resize();\n }\n }, [width, height]);\n\n useEffect(() => {\n // do not render when defaultTileConfig, customTileConfig and tileset are not configured\n if (Object.keys(tilePreset).length === 0 && (!baseLayerTileServer || !baseLayerTileServerType)) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Map Tile Server configuration is missing or invalid. Please provide a valid configuration'\n );\n return;\n }\n\n const mapStyle = getMapStyle({\n showBaseLayer,\n baseLayerTileServer,\n baseLayerTileServerType,\n tilePreset,\n colorScheme: themeColorScheme,\n defaultTileLight,\n defaultTileDark,\n });\n\n mapStyle.version = MAP_STYLE_VERSION_NUMBER;\n\n // If the map has already been initialized, we update the styles\n if (map.current) {\n const curr = map.current.getStyle();\n const next = omit(mapStyle, ['theme', 'name', 'key']);\n\n // In dashboard studio this setStyle function is triggered by zoom changes as well\n // Since setStyle will reset all style layers on the map including choropleth,\n // we ONLY want to this to be called when there are style changes\n if (!compareBaseStyles(curr, next)) {\n // Refer to https://maplibre.org/maplibre-gl-js-docs/api/map/#setstyle-example for options.diff (default is true)\n map.current.setStyle(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n setIsThemeChanged(true);\n }\n const { minZoom, maxZoom } = getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer);\n map.current.setMinZoom(minZoom);\n map.current.setMaxZoom(maxZoom);\n updateScale();\n } else {\n // initialize the map only once with a constructed style from user configured options\n // or default configs from the map context\n initializeMap(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n initializeScale();\n }\n }, [\n showBaseLayer,\n tilePreset,\n initializeMap,\n initializeScale,\n updateScale,\n defaultTileLight,\n defaultTileDark,\n baseLayerTileServer,\n baseLayerTileServerType,\n themeColorScheme,\n ]);\n\n useEffect(() => {\n if (map.current) {\n map.current.flyTo({\n center: lngLatCenter,\n zoom: zoomLevel,\n });\n }\n }, [lngLatCenter, zoomLevel]);\n\n useEffect(\n () => () => {\n if (map.current) {\n map.current.remove();\n }\n },\n []\n );\n\n const [layer] = layers;\n\n return (\n <>\n <PureMapContainer\n className=\"puremap\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n controlBackgroundColor={controlBackgroundColor}\n controlForegroundColor={controlForegroundColor}\n controlIconColorEncoded={formatColor(controlForegroundColor)}\n ref={basemapContainer}\n showScale={showScale}\n showZoomControls={showZoomControls}\n >\n {isMapLoaded &&\n layer &&\n (layer.type === LAYER_TYPE.Bubble || layer.type === LAYER_TYPE.Marker) && (\n <ClusterLayer\n clusterLayer={layer as ClusterLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={currentZoomLevel}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && layer.source && (\n <LocalChoroplethLayer\n width={width}\n height={height}\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && !layer.source && (\n <ChoroplethLayer\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n </PureMapContainer>\n </>\n );\n};\n\nexport const isLatLng = (props: PureMapProps, propName: string, componentName: string): Error => {\n if (!props[propName]) {\n return null;\n }\n const latAbs = Math.abs(props[propName][0]);\n const lonAbs = Math.abs(props[propName][1]);\n const latlon = props[propName];\n if (latAbs > MAX_LATITUDE && lonAbs <= MAX_LATITUDE) {\n throw new Error(`${componentName} ${propName} may have reversed [lat, lon] ranges.`);\n }\n if (!isValidLatLon(latlon)) {\n throw new Error(`${componentName} ${propName} incorrect [lat, lon] ranges.`);\n }\n return null;\n};\n\nPureMap.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n mode: T.string,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n baseLayerTileServer: T.string,\n baseLayerTileServerType: T.string,\n center: isLatLng,\n controlBackgroundColor: T.string,\n controlForegroundColor: T.string,\n layers: T.arrayOf(\n T.shape({\n type: T.string,\n latitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n longitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n label: T.string,\n showInLegend: T.bool,\n dataColors: T.oneOfType([T.string, T.arrayOf(T.string)]),\n seriesColors: T.arrayOf(T.string),\n additionalTooltipFields: T.arrayOf(T.string),\n resultLimit: T.number,\n source: T.string,\n choroplethEmptyAreaColor: T.string,\n })\n ),\n scaleUnit: T.string,\n showScale: T.bool,\n themeColorScheme: T.string,\n zoom: T.number,\n onMapLoad: T.func,\n onMapClick: T.func,\n onOptionsChange: T.func,\n};\n\nPureMap.defaultProps = {\n mode: 'view',\n width: 800,\n height: 500,\n backgroundColor: '#0b0c0e',\n controlBackgroundColor: DEFAULT_CONTROL_BACKGROUND_COLOR,\n controlForegroundColor: DEFAULT_CONTROL_FOREGROUND_COLOR,\n scaleUnit: DEFAULT_SCALE_UNIT,\n showScale: DEFAULT_SHOW_SCALE,\n showZoomControls: DEFAULT_SHOW_ZOOM_CONTROLS,\n showBaseLayer: DEFAULT_SHOW_BASELAYER,\n layers: [],\n themeColorScheme: 'dark',\n onMapLoad: noop,\n onMapClick: noop,\n onOptionsChange: noop,\n};\n\nexport default PureMap;\n","module.exports = require(\"@splunk/visualization-context/MapContext\");","import styled from 'styled-components';\nimport { pick } from 'lodash';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport css from '!!raw-loader!maplibre-gl/dist/maplibre-gl.css';\nimport { HexColorObj } from './PureMap';\n\nconst PureMapContainer = styled.div<{\n width: number | string;\n height: number | string;\n backgroundColor: string;\n controlBackgroundColor: string;\n controlForegroundColor: string;\n controlIconColorEncoded: HexColorObj;\n showScale: boolean;\n showZoomControls: boolean;\n}>`\n ${css}\n overflow: hidden;\n position: relative;\n z-index: 0;\n background-color: ${props => props.backgroundColor};\n ${props => toDimension(pick(props, ['width', 'height']))};\n\n // overwrite maplibregl zoom control styles\n .maplibregl-ctrl-top-left {\n display: ${props => (props.showZoomControls ? 'block' : 'none')};\n position: absolute;\n top: 12px;\n left: 16px;\n .maplibregl-ctrl-group {\n width: 40px !important;\n height: 87px !important;\n border-radius: 4px;\n margin: 8px 0px;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.64), 0px 11px 18px rgba(0, 0, 0, 0.32),\n 0px 3px 6px rgba(0, 0, 0, 0.3);\n & button {\n width: 40px;\n height: 43px;\n border-top: 0;\n }\n .mapboxgl-ctrl-zoom-in .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1C9 0.447715 8.55229 0 8 0C7.44772 0 7 0.447715 7 1V7H1C0.447715 7 0 7.44772 0 8C0 8.55229 0.447715 9 1 9H7V15C7 15.5523 7.44772 16 8 16C8.55229 16 9 15.5523 9 15V9H15C15.5523 9 16 8.55229 16 8C16 7.44772 15.5523 7 15 7H9V1Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n\n .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"14\" height=\"3\" viewBox=\"0 0 14 3\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 1.99707C0 1.44479 0.447715 0.99707 1 0.99707H13C13.5523 0.99707 14 1.44479 14 1.99707C14 2.54936 13.5523 2.99707 13 2.99707H1C0.447715 2.99707 0 2.54936 0 1.99707Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n }\n }\n\n // overwrite maplibregl scale styles\n .maplibregl-ctrl-bottom-left {\n display: ${props => (props.showScale ? 'block' : 'none')};\n position: absolute;\n z-index: 0;\n bottom: 16px;\n left: 12px;\n width: 86px;\n height: 29px;\n border-radius: 4px;\n margin: 0;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.13), 0px 11px 18px rgba(0, 0, 0, 0.06),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n .maplibregl-ctrl-scale {\n background-color: ${props => props.controlBackgroundColor};\n color: ${props => props.controlForegroundColor};\n border: 2px solid ${props => props.controlForegroundColor};\n border-top: 0;\n border-left: 0;\n border-right: 0;\n padding: 0;\n margin: 6px 8px 8px 8px;\n line-height: 13px;\n letter-spacing: 0.02em;\n font-family: sans-serif;\n font-size: 10px;\n }\n }\n`;\n\nexport default PureMapContainer;\n","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","export default \".mapboxgl-map,.maplibregl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas,.maplibregl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:fullscreen,.maplibregl-map:fullscreen{height:100%;width:100%}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass,.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer,.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active,.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left,.maplibregl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right,.maplibregl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left,.maplibregl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl,.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl,.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl,.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group,.maplibregl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty),.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty),.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button,.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.mapboxgl-ctrl-group button+button,.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon,.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon,.maplibregl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button,.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl button::-moz-focus-inner,.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus,.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled,.maplibregl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.mapboxgl-ctrl button:not(:disabled):hover,.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible,.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible),.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl-group button:focus:first-child,.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:focus:last-child,.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:focus:only-child,.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-terrain .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%23333'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-terrain-enabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%2333b5e5'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact,a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib,.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact,.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl-attrib a,.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover,.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-attrib-empty,.maplibregl-attrib-empty{display:none}.mapboxgl-ctrl-scale,.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.mapboxgl-popup,.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right,.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right,.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left,.maplibregl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right,.maplibregl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip,.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button,.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover,.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content,.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content,.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content,.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer,.maplibregl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *,.maplibregl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer,.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer,.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.mapboxgl-marker,.maplibregl-marker{left:0;position:absolute;top:0;will-change:transform}.mapboxgl-user-location-dot,.maplibregl-user-location-dot{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before,.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;background-color:#1da1f2;border-radius:50%;content:\\\"\\\";height:15px;position:absolute;width:15px}.mapboxgl-user-location-dot:after,.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\\\"\\\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale,.maplibregl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after,.maplibregl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle,.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active,.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom,.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);bottom:0;color:#fff;display:flex;font-size:1.4em;justify-content:center;left:0;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;right:0;top:0;transition:opacity 1s ease 1s}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(max-width:480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}\";","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport BubbleLayer from './BubbleLayer';\nimport MarkerLayer from './MarkerLayer';\nimport type { ClusterLayerType, BubbleLayerType, MarkerLayerType } from './MapUtils';\nimport { LAYER_TYPE } from './MapUtils';\n\ninterface ClusterLayerProps {\n clusterLayer: ClusterLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n zoom?: number;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ClusterLayer = ({\n clusterLayer,\n themeColorScheme,\n zoom,\n map,\n onMapClick,\n}: ClusterLayerProps): JSX.Element => {\n if (map?.current?.isStyleLoaded && [clusterLayer.longitude, clusterLayer.latitude].every(Array.isArray)) {\n if (clusterLayer?.type === LAYER_TYPE.Marker && !('geobin' in clusterLayer)) {\n return (\n <MarkerLayer\n markerLayer={clusterLayer as MarkerLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n onMapClick={onMapClick}\n />\n );\n }\n if (\n clusterLayer?.type === LAYER_TYPE.Bubble &&\n 'geobin' in clusterLayer &&\n 'bubbleSize' in clusterLayer\n ) {\n return (\n <BubbleLayer\n bubbleLayer={clusterLayer as BubbleLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={zoom}\n onMapClick={onMapClick}\n />\n );\n }\n }\n return null;\n};\n\nexport default ClusterLayer;\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport Popover from '@splunk/react-ui/Popover';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nconst StyledPopover = styled(Popover)`\n width: 250px;\n font-size: 12px;\n`;\n\nconst StyledTable = styled.table`\n margin: 2px 6px 2px 6px;\n width: calc(100% - 12px);\n`;\n\nconst StyledTitleColumn = styled.td`\n opacity: 0.85;\n`;\n\nconst StyledValueColumn = styled.td`\n text-align: right;\n`;\n\nconst StyledColorBlock = styled.div`\n background-color: ${props => props.color};\n display: inline-block;\n margin-right: 4px;\n border-radius: 2px;\n width: 6px;\n height: 11px;\n transform: translateY(1px);\n`;\n\nexport const convertDegToDMS = (decimalDegree: number, type: 'latitude' | 'longitude'): string => {\n const truncate = n => (n > 0 ? Math.floor(n) : Math.ceil(n));\n const absoluteDegree = Math.abs(decimalDegree);\n let degrees = truncate(absoluteDegree);\n let minutes = truncate((absoluteDegree - degrees) * 60);\n let seconds = Math.round((absoluteDegree - degrees - minutes / 60) * 3600);\n if (seconds === 60) {\n minutes += 1;\n seconds = 0;\n }\n if (minutes === 60) {\n degrees += 1;\n minutes = 0;\n }\n let direction: string;\n if (type === 'longitude') {\n direction = decimalDegree < 0 ? 'W' : 'E';\n } else if (type === 'latitude') {\n direction = decimalDegree < 0 ? 'S' : 'N';\n }\n return `${degrees}° ${minutes}' ${seconds}\" ${direction}`;\n};\n\nexport interface TooltipProps {\n open?: boolean;\n anchor?: HTMLElement;\n latitude?: number;\n longitude?: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: Array<{ name: string; value: number | string; color?: string }>;\n}\n// only want latitude/longitude for marker and bubble\n// omit for choropleth, and put areaid, areavalue instead\nconst Tooltip = ({\n open,\n anchor,\n latitude,\n longitude,\n areaId,\n areaValue,\n additionalFields = [],\n}: TooltipProps): JSX.Element => (\n <StyledPopover open={open} anchor={anchor} data-test=\"map-marker-tooltip\" defaultPlacement=\"above\">\n <StyledTable>\n <tbody>\n {areaId && areaValue && (\n <tr>\n <StyledTitleColumn data-test=\"area-id\">{areaId}</StyledTitleColumn>\n <StyledValueColumn data-test=\"area-value\">{areaValue}</StyledValueColumn>\n </tr>\n )}\n {latitude && (\n <tr>\n <StyledTitleColumn>{_('Latitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"latitude\">\n {convertDegToDMS(latitude, 'latitude')}\n </StyledValueColumn>\n </tr>\n )}\n {longitude && (\n <tr>\n <StyledTitleColumn>{_('Longitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"longitude\">\n {convertDegToDMS(longitude, 'longitude')}\n </StyledValueColumn>\n </tr>\n )}\n {additionalFields.map(({ name, value, color }, index) => (\n <tr key={String(index)}>\n <StyledTitleColumn data-test=\"field-title\">\n {color ? <StyledColorBlock data-test=\"field-color\" color={color} /> : null}\n {name}\n </StyledTitleColumn>\n <StyledValueColumn data-test=\"field-value\">{value}</StyledValueColumn>\n </tr>\n ))}\n </tbody>\n </StyledTable>\n </StyledPopover>\n);\n\nexport default Tooltip;\n","import styled from 'styled-components';\nimport { Map } from 'maplibre-gl';\nimport * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { noop } from 'lodash';\nimport { DEFAULT_CLUSTER_COLOR, DEFAULT_RESULT_LIMIT, DEFAULT_SERIES_COLORS } from './MapUtils';\nimport type { MarkerLayerType } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\ninterface MarkerIconProps extends React.HTMLAttributes<HTMLOrSVGElement> {\n theme: string;\n color: string;\n}\n\nexport const MarkerIcon = ({ theme, color, ...otherProps }: MarkerIconProps): JSX.Element => {\n const strokeOpacity = theme === 'light' ? 0.7 : 0.15;\n return (\n <svg width={22} height={28} fill=\"none\" {...otherProps}>\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n fill={color}\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke=\"#08090A\"\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke={color}\n strokeOpacity={strokeOpacity}\n />\n </svg>\n );\n};\n\ninterface MarkerProps {\n latitude: number;\n longitude: number;\n color: string;\n themeColorScheme: string;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleLayerClick?: (e) => void;\n}\n\nconst Marker = React.memo(\n ({\n latitude,\n longitude,\n color,\n themeColorScheme,\n map,\n additionalFields,\n handleLayerClick,\n }: MarkerProps): JSX.Element => {\n const icon = React.useMemo(\n () => <MarkerIcon color={color} theme={themeColorScheme} onClick={handleLayerClick} />,\n [color, handleLayerClick, themeColorScheme]\n );\n return (\n <StyledMarkerWrapper\n latitude={latitude}\n longitude={longitude}\n map={map}\n additionalFields={additionalFields}\n data-test-type=\"marker\"\n >\n {icon}\n </StyledMarkerWrapper>\n );\n }\n);\n\nMarker.displayName = 'MapMarker';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n width: 22px;\n height: 28px;\n cursor: pointer;\n`;\n\nexport const generateMarkerWrapperProps = (\n markerLayer: MarkerLayerType,\n onMapClick: ({ e, payload }) => void = noop\n): Omit<MarkerProps, 'themeColorScheme' | 'map'>[] => {\n const latArray = markerLayer.latitude;\n const lonArray = markerLayer.longitude;\n const isStaticColor = !markerLayer.dataColors;\n const limit = Math.min(\n latArray.length,\n lonArray.length,\n markerLayer.resultLimit ? markerLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const markerProps: ReturnType<typeof generateMarkerWrapperProps> = [];\n for (let i = 0; i < limit; i += 1) {\n const staticColor =\n markerLayer.seriesColors && isColor(markerLayer.seriesColors[0])\n ? markerLayer.seriesColors[0]\n : DEFAULT_CLUSTER_COLOR;\n const dynamicColor =\n markerLayer.dataColors && isColor(markerLayer.dataColors[i])\n ? markerLayer.dataColors[i]\n : DEFAULT_CLUSTER_COLOR;\n const color = isStaticColor ? staticColor : dynamicColor;\n const additionalFields = markerLayer.metadata\n ? markerLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: markerLayer.metadata[i][field],\n }))\n : [];\n const handleLayerClick = e => {\n const metadata = markerLayer?.metadata[i] ?? {};\n const payload = Object.keys(metadata).reduce((acc, curr) => {\n const key = `row.${curr}.value`;\n const value = String(metadata[curr]);\n return { ...acc, [key]: value };\n }, {});\n\n onMapClick({ e, payload });\n };\n markerProps.push({\n latitude: latArray[i],\n longitude: lonArray[i],\n color,\n additionalFields,\n handleLayerClick,\n });\n }\n return markerProps;\n};\n\nexport interface MarkerLayerProps {\n markerLayer: MarkerLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst MarkerLayer = (props: MarkerLayerProps): JSX.Element => {\n const { map, themeColorScheme, markerLayer, onMapClick } = props;\n markerLayer.seriesColors = markerLayer.seriesColors || DEFAULT_SERIES_COLORS;\n const markerPropsList = React.useMemo(() => generateMarkerWrapperProps(markerLayer, onMapClick), [\n markerLayer,\n onMapClick,\n ]);\n\n return (\n <>\n {markerPropsList.map((markerProps, i) => (\n <Marker key={String(i)} themeColorScheme={themeColorScheme} map={map} {...markerProps} />\n ))}\n </>\n );\n};\n\nexport default MarkerLayer;\n","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport Message from '@splunk/visualizations-shared/Message';\nimport GeoRegistry from '@splunk/visualization-context/GeoRegistry';\nimport GeoJsonProvider from '@splunk/visualization-context/GeoJsonProvider';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata } from './MapUtils';\nimport { Choropleth } from './ChoroplethLayer';\n\ninterface ChoroplethLayerProps {\n width: number | string;\n height: number | string;\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst LocalChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { width, height, map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const [geoJson, setGeoJson] = React.useState({ features: [{ properties: { name: '' }, geometry: [] }] });\n const [validGeoJson, setValidGeoJson] = React.useState(true);\n const [geoJsonError, setGeoJsonError] = React.useState({ level: 'info', message: '' });\n\n // load local geoJson registry data\n React.useEffect(() => {\n let geoJsonData;\n const geoRegistry = GeoRegistry.create();\n geoRegistry.addDefaultProvider(new GeoJsonProvider());\n try {\n geoJsonData = geoRegistry.getByURL(choroplethLayer.source);\n setGeoJson(geoJsonData);\n setValidGeoJson(true);\n } catch (e) {\n setGeoJsonError(e);\n setValidGeoJson(false);\n }\n }, [choroplethLayer.source]);\n\n const updatedPropertyFormat = React.useMemo(() => {\n let propertyFormat = 'name';\n if (choroplethLayer.areaIds && validGeoJson) {\n const propertyFormats = Object.keys(geoJson.features[0].properties);\n\n // check the state or country format used in dataSource\n /* Accepted format for countries: \n \"properties\": \n {\n \"iso2\": \"AM\",\n \"iso3\": \"ARM\",\n \"name\": \"Armenia\"\n }\n\n Accepted format for US States:\n \"properties\": \n {\n \"iso_3166_2\": \"US-MI\",\n \"postal\": \"MI\",\n \"name\": \"Michigan\",\n \"label_en\": \"Michigan\"\n },\n */\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const shapeProperty = geoJson.features[idx].properties;\n const formatCheck = propertyFormats.find(\n key => shapeProperty[key] === choroplethLayer.areaIds[0]\n );\n\n if (formatCheck !== undefined) {\n propertyFormat = formatCheck;\n break;\n }\n }\n }\n return propertyFormat;\n }, [choroplethLayer.areaIds, geoJson]);\n\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n\n const updatedAllChoroplethData = React.useMemo(() => {\n const allChoroplethData = [];\n if (validGeoJson) {\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const el = geoJson.features[idx];\n\n const choroplethData: {\n color: string;\n areaValue: string | number;\n opacity: number;\n name: string;\n idx: number;\n } = {\n color: choroplethLayer.choroplethEmptyAreaColor,\n areaValue: 'No Data',\n opacity: cfgOpacity,\n name: '',\n idx: 0,\n };\n\n choroplethData.name = el.properties[updatedPropertyFormat];\n // check whether dataSource exists\n if (choroplethLayer.areaIds) {\n // store the postion of dataSource in geoJson\n const dataIdx = choroplethLayer.areaIds.indexOf(el.properties[updatedPropertyFormat]);\n if (dataIdx !== -1) {\n choroplethData.color = colors[dataIdx];\n choroplethData.areaValue = choroplethLayer.areaValues[dataIdx];\n choroplethData.opacity = scaledOpacities[dataIdx];\n choroplethData.idx = dataIdx;\n } else {\n choroplethData.idx = choroplethLayer.areaIds.length;\n }\n }\n allChoroplethData.push(choroplethData);\n }\n }\n return allChoroplethData;\n }, [choroplethLayer.areaIds, choroplethLayer.areaValues, colors, scaledOpacities]);\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields?.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n return (\n <div>\n {!validGeoJson && (\n <Message\n data-test=\"choropleth-message\"\n width={width}\n height={height}\n level={geoJsonError.level}\n message={geoJsonError.message}\n />\n )}\n {validGeoJson &&\n updatedAllChoroplethData.map((el, i) => {\n return (\n <Choropleth\n key={el.name}\n id={el.name}\n map={map}\n color={el.color}\n opacity={el.opacity}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n areaId={el.name}\n areaValue={el.areaValue}\n handleMapClick={e => handleMapClick(e, el.idx)}\n isThemeChanged={isThemeChanged}\n geomData={geoJson.features[i].geometry}\n additionalFields={additionalFields[el.idx]}\n />\n );\n })}\n </div>\n );\n};\n\nexport default LocalChoroplethLayer;\n","module.exports = require(\"@splunk/visualization-context/GeoRegistry\");","module.exports = require(\"@splunk/visualization-context/GeoJsonProvider\");","import { Map as MapIcon } from '@splunk/visualization-icons';\nimport { Map as MapPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { LAYER_TYPE } from './PureMap/MapUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {\n colorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization.',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 600,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify a color for the background. You might use a dataSource to apply the color. The default for enterprise light is \"#FFFFFF\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0B0C0E\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n baseLayerTileServer: {\n type: 'string',\n description: 'Specify the URL for the set of tiles that make up the base map.',\n },\n baseLayerTileServerType: {\n type: 'string',\n description: 'Specify the type of tile set for the base map.',\n pattern: getPattern(['vector', 'raster']),\n },\n center: {\n type: 'array',\n description:\n 'Specify the center of the map in coordinates, in the form of [latitude, longitude]. If you don’t provide coordinates, the map automatically centers, based on available location data. If there is no available location data, the center of the map defaults to [37.7749, -122.4194].',\n items: { type: 'number' },\n },\n layers: {\n // The option merging of defaults and data binding with editing UI happens with the default defined below.\n // The inner defaults for properties within anyOf objects is used only for code intellisense in UDF to populate options.\n default: [\n {\n type: LAYER_TYPE.Bubble,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n bubbleSize:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Marker,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Choropleth,\n areaIds: '> primary | seriesByType(\"string\")',\n areaValues: '> primary | seriesByType(\"number\")',\n dataColors: '> areaValues | gradient()',\n additionalTooltipFields: [],\n resultLimit: 1000,\n choroplethEmptyAreaColor: '> themes.defaultChoroplethEmptyAreaColor',\n choroplethStrokeColor: 'transparent',\n choroplethOpacity: 0.8,\n },\n ],\n type: 'array',\n description:\n 'Specify the optional data visualization layers over the base map. If empty, only the base map appears.',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Marker,\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Choropleth,\n },\n areaIds: {\n description:\n 'Specify a dataSource series to identify each area in the choropleth map layer. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'string' },\n default: '> primary | seriesByType(\"string\")',\n },\n areaValues: {\n description:\n 'Specify a dataSource series that indicates the values for the choropleth map areas. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'number' },\n default: '> primary | seriesByType(\"number\")',\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n default: '> areaValues | gradient()',\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n source: {\n description:\n 'Source for the geodata for choropleth layer: \"us\" or \"world\", and will override data specified in the SPL geom command.',\n pattern: getPattern(['geo://default/us', 'geo://default/world']),\n type: 'string',\n },\n choroplethEmptyAreaColor: {\n description:\n 'Specify the color used for empty choropleth areas when \"type\": \"choropleth\", and will only work when \"source\" option is correctly configured.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> themes.defaultChoroplethEmptyAreaColor',\n },\n choroplethStrokeColor: {\n description:\n 'Specify the stroke color for choropleth area outlines. The hex value format should be \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: 'transparent',\n },\n choroplethOpacity: {\n description:\n 'Specify the opacity of choropleth areas. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.8\" in code or \"80%\" in UI.',\n type: 'number',\n default: 0.8,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Bubble,\n },\n bubbleSize: {\n description:\n 'Specify the data column to encode bubble size. This applies to layers where type: \"bubble\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n ],\n },\n },\n scaleUnit: {\n default: 'metric',\n type: 'string',\n description: 'Specify the scale unit to use.',\n pattern: getPattern(['metric', 'imperial']),\n },\n showBaseLayer: {\n default: true,\n type: 'boolean',\n description: 'Specify if showing the base map.',\n },\n showScale: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the scale on the bottom left.',\n },\n showZoomControls: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the control panel of zoom on the top left.',\n },\n zoom: {\n description: 'Specify the zoom level of the map.',\n type: 'number',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n controlBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorPopup(props),\n })(props),\n controlForegroundColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n defaultChoroplethEmptyAreaColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.gray92(props),\n },\n prisma: {\n dark: variables.interactiveColorBackground(props),\n light: variables.neutral300(props),\n },\n })(props),\n defaultGradientMigrationConfig: props =>\n pick({\n enterprise: {\n dark: ['#4D4A5D', variables.syntaxPurple(props)],\n light: ['#D2CFDC', variables.syntaxPurple(props)],\n },\n prisma: {\n dark: ['#484558', variables.syntaxPurple(props)],\n light: ['#D8D4E1', variables.syntaxPurple(props)],\n },\n })(props),\n};\n\nconst checkTypeIsChoropleth = options =>\n options.layers && options.layers.length && options.layers[0].type === LAYER_TYPE.Choropleth;\n\nconst checkTypeIsLocalChoropleth = options =>\n options.layers &&\n options.layers.length &&\n options.layers[0].type === LAYER_TYPE.Choropleth &&\n (options.layers[0].source === 'geo://default/us' || options.layers[0].source === 'geo://default/world');\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Layer type'),\n option: 'layers[0].type',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Bubble'), value: LAYER_TYPE.Bubble },\n { label: _('Marker'), value: LAYER_TYPE.Marker },\n { label: _('Choropleth'), value: LAYER_TYPE.Choropleth },\n ],\n },\n },\n ],\n [\n {\n label: _('Area IDs'),\n option: 'layers[0].areaIds',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['string'],\n },\n },\n ],\n [\n {\n label: _('Area values'),\n option: 'layers[0].areaValues',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['number'],\n },\n },\n ],\n [\n {\n label: _('Latitude'),\n option: 'layers[0].latitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Longitude'),\n option: 'layers[0].longitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Bubble size'),\n option: 'layers[0].bubbleSize',\n editor: 'editor.columnMultiSelector',\n showEditor: ({ options }) =>\n !(\n options.layers &&\n options.layers.length &&\n (options.layers[0].type === 'marker' || options.layers[0].type === 'choropleth')\n ),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n excludeByNames: ['latitude', 'longitude', 'geobin'],\n },\n },\n ],\n [\n {\n label: _('Additional tooltip fields'),\n option: 'layers[0].additionalTooltipFields',\n editor: 'editor.columnMultiSelectionByFieldNameEditor',\n },\n ],\n [\n {\n label: _('Result limit'),\n option: 'layers[0].resultLimit',\n editor: 'editor.number',\n showEditor: ({ options }) => !checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Latitude (initial map location)'),\n option: 'center[0]',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: -90,\n max: 90,\n },\n },\n ],\n [\n {\n label: _('Longitude (initial map location)'),\n option: 'center[1]',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: -180,\n max: 180,\n },\n },\n ],\n [\n {\n label: _('Zoom (initial map location)'),\n option: 'zoom',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Show zoom controls'),\n option: 'showZoomControls',\n editor: 'editor.checkbox',\n editorProps: {\n labelPosition: 'right',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Show scale'),\n option: 'showScale',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'right',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Scale unit'),\n option: 'scaleUnit',\n editor: 'editor.radioBar',\n showEditor: ({ options }) => options.showScale !== false,\n editorProps: {\n values: [\n { label: _('Metric'), value: 'metric' },\n { label: _('Imperial'), value: 'imperial' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n // TODO: add support for color mode option and its corresponding editor\n // [\n // {\n // label: _('Color mode'),\n // option: 'colorMode',\n // editor: 'editor.radioBar',\n // editorProps: {\n // values: [\n // { label: _('Static'), value: 'static' },\n // { label: _('Dynamic'), value: 'dynamic' },\n // ],\n // },\n // },\n // ],\n // TODO: fix seriesColor editor for map layers in dynamic editor repo\n // [\n // {\n // label: _('Series colors'),\n // option: 'layers[0].seriesColors',\n // editor: 'editor.seriesColors',\n // showEditor: ({ options }) =>\n // !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n // },\n // ],\n // TODO: add editor for data colors\n // [\n // {\n // label: _('Data colors'),\n // option: 'layers[0].dataColors',\n // editor: 'editor.text',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n [\n {\n label: _('Choropleth empty area color'),\n option: 'layers[0].choroplethEmptyAreaColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth stroke'),\n option: 'layers[0].choroplethStrokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth opacity (%)'),\n option: 'layers[0].choroplethOpacity',\n editor: 'editor.percent',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n // TODO: add support for seriesColorsByField option\n // [\n // {\n // label: _('Series colors by field name'),\n // option: 'seriesColorsByField',\n // editor: 'editor.seriesColorsByField',\n // },\n // ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Show base layer'),\n option: 'showBaseLayer',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Base layer tile server'),\n option: 'baseLayerTileServer',\n editor: 'editor.text',\n showEditor: ({ options }) => options.showBaseLayer !== false,\n },\n ],\n [\n {\n label: _('Base layer tile server type'),\n option: 'baseLayerTileServerType',\n editor: 'editor.radioBar',\n showEditor: ({ options }) =>\n options.showBaseLayer === false\n ? false\n : !(\n typeof options.baseLayerTileServer === 'undefined' ||\n options.baseLayerTileServer === ''\n ),\n editorProps: {\n values: [\n { label: _('Vector'), value: 'vector' },\n { label: _('Raster'), value: 'raster' },\n ],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.map',\n /**\n * viz name\n */\n name: 'Map',\n category: VizCategory.CHOROPLETH,\n status: 'preview',\n /**\n * viz icon\n */\n icon: MapIcon,\n placeholderIcon: MapPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'map.load': {\n description: 'triggered when map is fully loaded',\n },\n 'map.click': {\n description: 'trigger when user clicks map layer',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { isNumber } from '@splunk/visualization-encoding/utils/types';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { GEO_LAT_AND_LONG_FIELD } from '../../Map/PureMap/BubbleLayer';\n\nexport const columnsNullToZeros = (config, dataSources, options) => {\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = columns;\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n const latitudeField = getFieldsFromDSL(mergedOptions.layers[0].latitude, dataSources)[0] || '';\n const longitudeField = getFieldsFromDSL(mergedOptions.layers[0].longitude, dataSources)[0] || '';\n const excludedFields = [latitudeField, longitudeField, 'geobin'].concat(GEO_LAT_AND_LONG_FIELD);\n const indicesToEvaluate = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (!excludedFields.includes(field)) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n\n newColumns = columns.map((column, i) => {\n if (indicesToEvaluate.has(i)) {\n // sanitize value and convert string to numeric numbers\n return column.map(value => (!value || !isNumber(value) ? 0 : +value));\n }\n return column;\n });\n }\n\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n },\n },\n };\n\n return modifiedDatasources;\n};\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","import { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n sid: string;\n app: string;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@splunk/themes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { forEach, sum, isNumber, min as lodashMin, max as lodashMax, get, isEqual, isObject } from 'lodash';\nimport { LngLatBoundsLike } from 'maplibre-gl';\nimport { scalePow } from 'd3-scale';\nimport * as chroma from 'chroma-js';\nimport type { MapContextInterface, BaseTileConfig } from '@splunk/visualization-context/MapContext';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { isNumber as isNumberUtil } from '@splunk/visualization-encoding/utils/types';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\n\nexport const MAX_LATITUDE = 90;\nexport const MIN_LATITUDE = -90;\nexport const MAX_LONGITUDE = 180;\nexport const MIN_LONGITUDE = -180;\nexport const DEFAULT_RESULT_LIMIT = 1000;\nexport const DEFAULT_CLUSTER_COLOR = '#909090';\nexport const DEFAULT_SERIES_COLORS = VIZ_CATEGORICAL;\n// MapLibre requires a map style specification number which is always 8\nexport const MAP_STYLE_VERSION_NUMBER = 8;\n// currently using one [min, max] value set for bubbles across all zoom levels\n// TODO: design choices on [min, max] bubble size for different zoom levels\nexport const MIN_BUBBLE_RADIUS = 7.11; // 10px\nexport const MAX_BUBBLE_RADIUS = 45.26; // 85px\nexport const DEFAULT_OPACITY = 0.8;\nconst LONGITUDE = 'longitude';\nconst LATITUDE = 'latitude';\n\nexport enum LAYER_TYPE {\n Marker = 'marker',\n Bubble = 'bubble',\n Choropleth = 'choropleth',\n}\n\ninterface GenericLayerType {\n type: string;\n latitude: number[];\n longitude: number[];\n dataColors?: string[];\n seriesColors: string[];\n additionalTooltipFields?: string[];\n resultLimit: number;\n metadata?: Array<{ [key: string]: number | string }>;\n}\n\nexport interface MarkerLayerType extends GenericLayerType {\n type: LAYER_TYPE.Marker;\n}\n\nexport interface BubbleLayerType extends GenericLayerType {\n type: LAYER_TYPE.Bubble;\n bubbleSize?: number[][] | number[];\n bubbleSizeFields: string[];\n geobin?: string[];\n}\n\ninterface BubbleLayerDatumType {\n zoom: number;\n values: number[];\n sanitizedValues: number[];\n coordinates: number[];\n}\n\nexport interface BubbleLayerDataType {\n data: BubbleLayerDatumType[];\n dataRange: number[];\n isPie: boolean;\n resultLimit: number;\n bubbleSizeFields: string[];\n}\n\nexport interface ChoroplethLayerType {\n type: LAYER_TYPE.Choropleth;\n areaIds: string[];\n areaValues: number[];\n dataColors: string[];\n additionalTooltipFields?: string[];\n geom?: GeoJsonDataType[];\n resultLimit?: number;\n metadata?: Array<{ [key: string]: number | string | GeoJsonDataType }>;\n source?: string;\n width?: string | number;\n height?: string | number;\n choroplethEmptyAreaColor?: string;\n choroplethStrokeColor?: string;\n choroplethOpacity?: number;\n}\n\n// todo(@ssahnoune) - look into this\nexport interface MapLayerClickPayloadType {\n name?: string;\n value?: string | number;\n /* cell values of all cells of clicked row with the field and value - in shape row.<field>.value */\n [key: string]: string | number;\n}\n\nexport type ClusterLayerType = BubbleLayerType | MarkerLayerType;\nexport type LayerType = ClusterLayerType | ChoroplethLayerType;\n/**\n * Construct a tile preset {key: config} by combining the default + custom tile configs\n * Also returns the default tile config for each theme - light/dark\n * @param {MapContextInterface} args\n * @param {BaseTileConfig[]} args.defaultTileConfig\n * @param {BaseTileConfig[]} args.customTileConfig\n * @returns {Object} tile preset\n */\nexport const getTilePreset = ({\n defaultTileConfig = [],\n customTileConfig = [],\n}: MapContextInterface): {\n tilePreset: Record<string, BaseTileConfig>;\n defaultTileLight: BaseTileConfig;\n defaultTileDark: BaseTileConfig;\n} => {\n const tilePreset = {};\n let defaultTileLight = {};\n let defaultTileDark = {};\n const tileConfigs = [].concat(defaultTileConfig).concat(customTileConfig);\n forEach(tileConfigs, tileConfig => {\n const key = tileConfig?.key;\n const updatedConfig = { theme: 'all', ...tileConfig, version: MAP_STYLE_VERSION_NUMBER };\n tilePreset[key] = updatedConfig;\n });\n\n if (defaultTileConfig.length > 0) {\n defaultTileLight =\n defaultTileConfig.find(config => config.theme === 'light') ??\n defaultTileConfig.find(config => config.theme === undefined);\n defaultTileDark =\n defaultTileConfig.find(config => config.theme === 'dark') ??\n defaultTileConfig.find(config => config.theme === undefined);\n }\n\n return { tilePreset, defaultTileLight, defaultTileDark };\n};\n\n/**\n * Check if baseLayerTileServer is in tilePreset and config matches current theme, if yes, return.\n * If no, construct a mapStyle with baseLayerTilerServer and baseLayerTileServerType\n * Else return default tile config based on current theme\n * @param {Object} args\n * @param {BaseTileConfig[]} args.tilePreset\n * @param {String} args.baseLayerTilerServer\n * @param {String} args.baseLayerTileServerType\n * @param {String} args.colorScheme\n * @param {BaseTileConfig} args.defaultTileDark\n * @param {BaseTileConfig} args.defaultTileLight\n * @returns {BaseTileConfig} mapStyle\n */\nexport const getMapStyle = ({\n showBaseLayer,\n baseLayerTileServer = '',\n baseLayerTileServerType = '',\n tilePreset = {},\n colorScheme = 'light',\n defaultTileLight = {},\n defaultTileDark = {},\n}: {\n showBaseLayer: boolean;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: string;\n tilePreset?: Record<string, BaseTileConfig>;\n colorScheme?: string;\n defaultTileLight?: BaseTileConfig;\n defaultTileDark?: BaseTileConfig;\n}): BaseTileConfig => {\n if (!showBaseLayer) {\n return {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: 'raster',\n tiles: [\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=',\n ],\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 22,\n },\n ],\n };\n }\n\n if (\n baseLayerTileServer &&\n tilePreset[baseLayerTileServer] &&\n (tilePreset[baseLayerTileServer].theme === colorScheme ||\n tilePreset[baseLayerTileServer].theme === 'all')\n ) {\n return tilePreset[baseLayerTileServer];\n }\n\n if (baseLayerTileServer && baseLayerTileServerType) {\n let tiles = [];\n /**\n * Tile Server URLs (eg: http://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png) can specify the variable {s} which refers to a subdomain\n * Subdomains are used to help with browser parallel requests per domain limitation. These subdomains are typically single letters 'a', 'b' and 'c'\n * Refer to https://leafletjs.com/SlavaUkraini/reference.html#tilelayer and https://wiki.openstreetmap.org/wiki/Tile_servers\n */\n if (baseLayerTileServer.match(/^(https?):\\/\\/{(s|S)}\\../)) {\n /**\n * sXML (Leaflet) allows users to define their own tile server URLs + list of available subdomains\n * In order to preserve this behavior during conversion to splunk.map,\n * if the variable {s} or {S} is detected, replace it with 'a', 'b' and 'c' - default values for subdomains\n * TODO: in the future, add an additional prop - baseLayerTileServerSubdomains: ['x', 'y', 'z'], default being ['a', 'b', 'c']\n */\n tiles = [\n baseLayerTileServer.replace(/{(s|S)}/, 'a'),\n baseLayerTileServer.replace(/{(s|S)}/, 'b'),\n baseLayerTileServer.replace(/{(s|S)}/, 'c'),\n ];\n } else {\n tiles = [baseLayerTileServer];\n }\n // TODO: remove hardcoded style when we allow users to pass in layer style through Viz options\n const mapStyle = {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: baseLayerTileServerType,\n tiles,\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 10,\n },\n ],\n };\n return mapStyle;\n }\n\n // if tile server is not present in the preset AND we can't construct a mapStyle, fall back on defaults\n return colorScheme === 'light' ? defaultTileLight : defaultTileDark;\n};\n\nexport interface ZoomConstraints {\n minZoom: number;\n maxZoom: number;\n}\n\nexport const getZoomConstraintsFromTileConfig = (\n tileConfig: BaseTileConfig,\n baseLayerTileServer?: string\n): ZoomConstraints => {\n const { sources, layers } = tileConfig;\n let matchedBaseLayerTileServer = false;\n // check sources for minzoom maxzoom first\n const sourceKeys = Object.keys(sources);\n for (let i = 0; i < sourceKeys.length; i += 1) {\n const { minzoom, maxzoom } = sources[sourceKeys[i]];\n if (baseLayerTileServer && sources[sourceKeys[i]].tiles.indexOf(baseLayerTileServer) !== -1) {\n matchedBaseLayerTileServer = true;\n }\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // then check layers\n for (let i = 0; i < layers.length; i += 1) {\n const { minzoom, maxzoom } = layers[i];\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // Maplibre default - would reset previous min/maxZoom\n return {\n minZoom: 0,\n maxZoom: 22,\n };\n};\n\nexport const getZoomLevelFromGeobin = (geobinStr: string): number => {\n if (!geobinStr) {\n return null;\n }\n // geostats cmds return geobin with zoom level 0-18, 0-99 in the geobinPattern covers the range\n const geobinPattern = /bin_id_zl_([0-9]{0,2})?_y_/g;\n const match = geobinPattern.exec(geobinStr);\n return (match?.length && parseInt(match[1], 10)) ?? null;\n};\n\n// Bubble colors - static\nexport const getStaticColors = (colorCount: number, colorArray: string[]): string[] => {\n if (colorCount < 0 || !colorCount) {\n return [DEFAULT_CLUSTER_COLOR];\n }\n if (!colorArray || !colorArray.length) {\n return [...Array(colorCount).keys()].map(i => DEFAULT_SERIES_COLORS[i]);\n }\n // loop through colorArray to pick the first $colorCount colors\n // start from begining again if colorCount > colorArray.length\n return [...Array(colorCount).keys()].map(i =>\n isColor(colorArray[i % colorArray.length]) ? colorArray[i % colorArray.length] : DEFAULT_CLUSTER_COLOR\n );\n};\n\n// Bubble size\nexport const matchBubbleSize = (dataRange: number[], data: number): any => {\n const size = scalePow().exponent(0.2).domain(dataRange).range([MIN_BUBBLE_RADIUS, MAX_BUBBLE_RADIUS])(\n data\n );\n\n if (size > MAX_BUBBLE_RADIUS) {\n return MAX_BUBBLE_RADIUS;\n }\n if (size < MIN_BUBBLE_RADIUS) {\n return MIN_BUBBLE_RADIUS;\n }\n return size;\n};\n\nexport const transposeArray = (array: number[][]): number[][] => {\n if (!array || !array.length || !array[0] || !array[0].length) {\n return [];\n }\n return array[0].map((_, i) => array.map(row => row[i]));\n};\n\n// sanitize values: update all null, undefined, or negative values to 0\nexport const sanitizeValues = (values: number[] | number[][]) => {\n // null / undefined\n if (!values) {\n return 0;\n }\n // number\n if (!Array.isArray(values)) {\n return values > 0 ? values : 0;\n }\n // array\n return values.map(arr => sanitizeValues(arr));\n};\n\nexport const bakeBubbleData = (layer: BubbleLayerType): BubbleLayerDataType => {\n if (\n !layer ||\n !layer.bubbleSize?.length ||\n !layer.geobin ||\n !layer.geobin.length ||\n !layer.latitude ||\n !layer.latitude.length ||\n !layer.longitude ||\n !layer.longitude.length\n ) {\n return null;\n }\n // if bubbleSize is passed as an array of single number array (data series)\n // e.g. [value0, value1, ...]\n // format each value as an array to unify data operations for data series and frames\n const sanitizedBubbleSize = sanitizeValues(layer.bubbleSize);\n let transposedBubbleSize: number[][];\n let transposedSanitizedBubbleSize: number[][];\n let isPie = false;\n // format array if bubbleSize is passed as an array of array (data frame)\n if (Array.isArray(layer.bubbleSize[0])) {\n // one-time array transpose,\n // e.g. from [column0data, column0data] (multi series)\n // to [[column0datum0, column1datum0], [column0datum1, column1data1], ...]\n // or e.g. from [column0data] (single series)\n // to [[column0data]]\n // for easy access of values at each geo location,\n // and min max pie size computation\n transposedBubbleSize = transposeArray(layer.bubbleSize as number[][]);\n transposedSanitizedBubbleSize = transposeArray(sanitizedBubbleSize);\n // if multiple series in the dataframe, set isPie to true\n if (layer.bubbleSize.length > 1) {\n isPie = true;\n }\n } else {\n transposedBubbleSize = layer.bubbleSize.map(n => [n]);\n transposedSanitizedBubbleSize = sanitizedBubbleSize.map(n => [n]);\n }\n if (!transposedBubbleSize || !transposedBubbleSize.length) {\n return null;\n }\n const data = layer.latitude\n .map((lat, i) => ({\n zoom: getZoomLevelFromGeobin(layer.geobin[i]),\n values: transposedBubbleSize[i],\n sanitizedValues: transposedSanitizedBubbleSize[i],\n coordinates: [layer.longitude[i], lat],\n metadata: layer.metadata ? layer.metadata[i] : {},\n }))\n .filter(d => Boolean(d.values));\n\n // compute the min/max value to encode min/max pie or bubble size\n let min = sum(transposedSanitizedBubbleSize[0]);\n let max = sum(transposedSanitizedBubbleSize[1]);\n transposedSanitizedBubbleSize.forEach(row => {\n const bubbleSize = sum(row);\n max = bubbleSize > max ? bubbleSize : max;\n min = bubbleSize < min ? bubbleSize : min;\n });\n return {\n data,\n dataRange: [min, max],\n isPie,\n resultLimit: layer.resultLimit,\n bubbleSizeFields: layer.bubbleSizeFields,\n };\n};\n\nexport const isValidLatLon = (latlon: Array<number | string>): boolean => {\n if (!latlon || !Array.isArray(latlon) || latlon.length !== 2) {\n return false;\n }\n const [lat, lon] = latlon;\n if (!isNumberUtil(lat) || !(lat >= MIN_LATITUDE && lat <= MAX_LATITUDE)) {\n return false;\n }\n if (!isNumberUtil(lon) || !(lon >= MIN_LONGITUDE && lon <= MAX_LONGITUDE)) {\n return false;\n }\n return true;\n};\n\n/**\n * Returns a list of all lat or lon coordinates used in a specified layer\n * @param {LayerType[]} layer\n * @param {string} field\n * @returns {number[]} list of lat coordinates or lon coordinates\n */\nconst getLatOrLonCoordinates = (layer: LayerType, field: string): number[] => {\n const getClusterValues = (clusterLayer: ClusterLayerType): number[] =>\n get(clusterLayer, field, []).slice(\n 0,\n clusterLayer.type === LAYER_TYPE.Marker && clusterLayer.resultLimit\n ? clusterLayer.resultLimit\n : DEFAULT_RESULT_LIMIT\n );\n\n const getChoroplethValues = (choroplethLayer: ChoroplethLayerType): number[] => {\n const slicedGeomList = choroplethLayer.geom.slice(0, choroplethLayer.resultLimit);\n const flatCoordinates = slicedGeomList.flatMap(geomObject => geomObject.coordinates.flat(2));\n return flatCoordinates.map(coord => coord[field === LONGITUDE ? 0 : 1]);\n };\n\n return layer.type === LAYER_TYPE.Choropleth ? getChoroplethValues(layer) : getClusterValues(layer);\n};\n\n/**\n * Returns the min and max LongLat pairs to determine the layer boundaries to fit all markers/bubbles\n * @param {LayerType[]} layers\n * @returns {LngLatBoundsLike}\n */\nexport const getGlobalLayerBoundaries = (layers: LayerType[]): LngLatBoundsLike => {\n const isLayerValid = (field: string): boolean =>\n layers.every(layer => layer[field] || (layer as ChoroplethLayerType).geom);\n const getDefaultMax = (field: string) => (field === LONGITUDE ? MAX_LONGITUDE : MAX_LATITUDE);\n const getDefaultMin = (field: string) => (field === LONGITUDE ? MIN_LONGITUDE : MIN_LATITUDE);\n\n if (!layers || !Array.isArray(layers) || !layers.length) {\n return null;\n }\n\n const getMin = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMin(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(x => +x);\n return lodashMin([prevVal, ...coordinatesNumArr]);\n }, getDefaultMax(field));\n };\n\n const getMax = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMax(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(Number);\n return lodashMax([prevVal, ...coordinatesNumArr]);\n }, getDefaultMin(field));\n };\n\n return [\n [getMin(LONGITUDE), getMin(LATITUDE)],\n [getMax(LONGITUDE), getMax(LATITUDE)],\n ];\n};\n\nexport const getScaledOpacities = (colors: string[], cfgOpacity: number): number[] => {\n // extract opacity information from 8 digit hex codes\n const opacities = colors?.map(color => (color?.length === 9 ? chroma(color).alpha() ?? 1 : 1));\n // opacity cannot be greater than configured opacity\n return opacities?.map(opacity => opacity * cfgOpacity);\n};\n\nexport const compareBaseStyles = (curr, next): boolean => {\n const currBaseLayer = curr?.layers?.find(layer => layer?.id === 'base-layer');\n const nextBaseLayer = next?.layers?.find(layer => layer?.id === 'base-layer');\n const currBaseSource = get(curr?.sources, (currBaseLayer?.source as string) ?? '');\n const nextBaseSource = get(next?.sources, (nextBaseLayer?.source as string) ?? '');\n\n if (!currBaseLayer || !nextBaseLayer || !currBaseSource || !nextBaseSource) {\n return false;\n }\n\n return isEqual(currBaseLayer, nextBaseLayer) && isEqual(currBaseSource, nextBaseSource);\n};\n\nexport const formatMetadata = (\n choroplethLayer: ChoroplethLayerType,\n i: number\n): { [key: string]: string } => {\n if (!choroplethLayer || !choroplethLayer.areaIds || !choroplethLayer.areaValues) return {};\n if (i >= choroplethLayer.areaIds.length) return {};\n\n const metadata = choroplethLayer.metadata ? choroplethLayer.metadata[i] : {};\n const name = choroplethLayer.areaIds[i];\n const value = choroplethLayer.areaValues[i];\n const base = { name, value: String(value) };\n\n return Object.keys(metadata).reduce((result, curr) => {\n const key = `row.${curr}.value`;\n const val = isObject(metadata[curr]) ? JSON.stringify(metadata[curr]) : String(metadata[curr]);\n return { ...result, [key]: val };\n }, base);\n};\n","module.exports = require(\"d3-scale\");","module.exports = require(\"@splunk/react-ui/Popover\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/visualization-encoding/utils/types\");"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///external \"react\"","webpack:///external \"prop-types\"","webpack:///external \"@splunk/themes/variables\"","webpack:///external \"@splunk/visualization-encoding/utils/dsl\"","webpack:///external \"@babel/runtime/helpers/classCallCheck\"","webpack:///external \"@splunk/visualizations-shared/colorUtils\"","webpack:///./src/common/utils/dataUtils.ts","webpack:///./src/common/hocs/FixedSizeContainer.tsx","webpack:///./src/Map/PureMap/BubbleLayer.tsx","webpack:///./src/Map/PureMap/MarkerWrapper.tsx","webpack:///external \"@splunk/visualizations-shared/style\"","webpack:///./src/common/utils/hocUtils.ts","webpack:///external \"chroma-js\"","webpack:///external \"maplibre-gl\"","webpack:///./src/Map/PureMap/ChoroplethLayer.tsx","webpack:///external \"@splunk/visualizations-shared/schemaUtils\"","webpack:///external \"@babel/runtime/helpers/slicedToArray\"","webpack:///external \"@splunk/visualizations-shared/SizeAwareWrapper\"","webpack:///./src/common/utils/configUtils.ts","webpack:///external \"@splunk/ui-utils/i18n\"","webpack:///external \"@splunk/visualization-context/FeatureFlagContext\"","webpack:///external \"@babel/runtime/helpers/createClass\"","webpack:///external \"@splunk/visualization-context/TimezoneContext\"","webpack:///external \"@splunk/visualizations-shared/hocUtils\"","webpack:///external \"@splunk/visualizations-shared/JSONSchemaUtils\"","webpack:///external \"@splunk/visualization-encoding/Options\"","webpack:///external \"lodash\"","webpack:///./src/common/components/IconPlaceholder.tsx","webpack:///external \"@splunk/ui-utils/id\"","webpack:///./src/common/hooks/getSorting.ts","webpack:///./src/common/hooks/getPagination.ts","webpack:///./src/common/interfaces/VizCategory.ts","webpack:///./src/common/withDashboardViz.tsx","webpack:///external \"@splunk/themes/getSettingsFromThemedProps\"","webpack:///external \"@splunk/visualizations-shared/SanitizeProps\"","webpack:///external \"@splunk/moment\"","webpack:///external \"styled-components\"","webpack:///external \"@splunk/async-dynamic-options-evaluator\"","webpack:///./src/Map/Map.tsx","webpack:///./src/Map/PureMap/PureMap.tsx","webpack:///external \"@splunk/visualization-context/MapContext\"","webpack:///./src/Map/PureMap/PureMapContainer.tsx","webpack:///./src/common/SplunkVisualization.tsx","webpack:////builds/devplat/vision/node_modules/maplibre-gl/dist/maplibre-gl.css","webpack:///./src/Map/PureMap/ClusterLayer.tsx","webpack:///./src/Map/PureMap/Tooltip.tsx","webpack:///./src/Map/PureMap/MarkerLayer.tsx","webpack:///./src/Map/PureMap/LocalChoroplethLayer.tsx","webpack:///external \"@splunk/visualization-context/GeoRegistry\"","webpack:///external \"@splunk/visualization-context/GeoJsonProvider\"","webpack:///./src/Map/config.ts","webpack:///./src/common/utils/mapUtils.ts","webpack:///./src/common/interfaces/VizActionHandler.ts","webpack:///./src/common/interfaces/DataSource.ts","webpack:///./src/common/hooks/useDeepMemo.ts","webpack:///./src/common/components/MissingPropsMessage.tsx","webpack:///./src/common/hocs/withEditModeCover.tsx","webpack:///./src/common/hocs/withPlaceholder.tsx","webpack:///external \"@splunk/visualization-icons/placeholders\"","webpack:///external \"@splunk/visualization-color-palettes\"","webpack:///external \"@splunk/visualization-icons\"","webpack:///./src/common/editorConfig/BackgroundColor.ts","webpack:///external \"@splunk/themes\"","webpack:///./src/common/interfaces/VizBehavior.ts","webpack:///external \"@babel/runtime/helpers/toConsumableArray\"","webpack:///external \"@babel/runtime/helpers/defineProperty\"","webpack:///./src/Map/PureMap/MapUtils.ts","webpack:///external \"d3-scale\"","webpack:///external \"@splunk/react-ui/Popover\"","webpack:///external \"@splunk/visualizations-shared/Message\"","webpack:///external \"@splunk/visualization-encoding/utils/types\""],"names":["convertToArrOfObjects","columns","fields","length","data","_loop","i","newObj","forEach","field","index","fieldName","name","push","exports","React","require","styled_components_1","SizeAwareWrapper_1","style_1","colorUtils_1","Item","default","div","attrs","_ref","width","style","toPx","withConfig","displayName","componentId","props","isColor","backgroundColor","theme","defaultBackgroundColor","FixSizeItem","_ref2","height","Object","assign","ItemContent","FixSizeItemContent","withFixedSizeContainer","Viz","FixedSizeContainer","createElement","__VISION_VERSION__","_ref3","newWidth","newHeight","lodash_1","MapUtils_1","MarkerWrapper_1","GEO_BOUND_PREFIX","GEO_LAT_AND_LONG_FIELD","PieSegment","memo","start","end","radius","color","themeColor","segmentMetadata","handleBubbleClick","value","handleSegmentClick","useCallback","e","onClick","cx","cy","r","fill","fillOpacity","strokeWidth","stroke","a0","Math","PI","a1","x0","cos","y0","sin","x1","y1","arc","d","concat","strokeOpacity","StyledMarkerWrapper","Bubble","originalValues","valueRange","colors","isPie","latitude","longitude","bubbleSize","_ref3$additionalField","additionalFields","map","handleMapClick","onBubbleClick","stopPropagation","bubble","useMemo","allZeros","every","v","values","offsets","total","count","matchBubbleSize","viewBox","key","String","_toConsumableArray","BubbleLayer","bubbleLayer","themeColorScheme","zoom","onMapClick","seriesColors","DEFAULT_SERIES_COLORS","bakedData","bakeBubbleData","staticColors","getStaticColors","_ref4","_ref4$data","_ref4$dataRange","dataRange","resultLimit","bubbleSizeFields","_bubbleLayer$addition","additionalTooltipFields","roundedZoom","round","dynamicColors","dataColors","dataToRender","reduce","acc","datum","idx","slice","DEFAULT_RESULT_LIMIT","sort","a","b","sum","metadata","_c","_b","_a","payload","keys","curr","val","_defineProperty","Fragment","obj","DEFAULT_CLUSTER_COLOR","_datum$data$coordinat","_slicedToArray","coordinates","maplibre_gl_1","Tooltip_1","MarkerWrapper","areaId","areaValue","_a$additionalFields","isChoroplethTooltipOpen","children","otherProps","__rest","container","useRef","marker","_React$useState","useState","_React$useState2","isTooltipOpen","setTooltipOpenStatus","isChoroplethTooltip","undefined","openTooltip","closeTooltip","cleanupMarker","current","remove","useEffect","setLngLat","Marker","addTo","error","console","visibility","ref","onMouseOver","onMouseLeave","onFocus","onBlur","open","anchor","extendStaticWrapperProps","Wrapper","Visualization","extendProperties","prop","getShapeId","id","getSourceId","getStrokeId","compareGeom","prev","next","type","isEqual","compareChoropleth","prevProps","nextProps","geomData","opacity","strokeColor","isThemeChanged","toString","cleanupChoropleth","shapeId","sourceId","strokeId","currLayer","currSource","currStrokeLayer","getLayer","getSource","_d","removeLayer","removeSource","Choropleth","formattedGeomData","geometry","_React$useState3","_React$useState4","mouseLat","setmouseLat","_React$useState5","_React$useState6","mouseLng","setmouseLng","updateChoropleth","addSource","addLayer","source","layout","paint","on","mouseLngLat","lngLat","lat","lng","getCanvas","cursor","padding","ChoroplethLayer","choroplethLayer","setIsThemeChanged","cfgOpacity","min","max","choroplethOpacity","scaledOpacities","getScaledOpacities","limit","areaIds","areaValues","_f","_e","geom","areaIdSliced","_h","_g","uniqueAreaIdSliced","uniq","choroplethMetadata","formatMetadata","choroplethStrokeColor","schemaUtils_1","VizBehavior_1","dynamicOptionsDSLType","pattern","DYNAMIC_OPTIONS_DSL_PATTERN","enhanceOptionsSchemaWithDynamicOptions","optionsSchema","enhancedOptionsSchema","title","description","readOnly","writeOnly","examples","defaultValue","properties","patternProperties","remainingSchemaEntry","annotations","enhancedPatternProperties","opt","anyOf","enhanceConfig","vizConfig","enhancedConfig","supports","indexOf","VizBehavior","DYNAMIC_OPTIONS","editorConfig","config","uncollapseEditorConfig","editorPanelUncollapsedConfig","isDynamicOption","option","trim","startsWith","hasCompatibleContexts","vizContext","presetContext","presetContextKeys","contextKey","hasCompatibleOptions","vizOptions","presetOptions","presetOptionKeys","optionKey","getInitialPreset","presets","find","preset","get","generatePrecisionValues","numPrecisionValues","range","label","repeat","insertLayout","_len","arguments","layoutItems","Array","_key","T","i18n_1","Message_1","FixedSizeContainer_1","shouldShowIconPlaceholder","dataSources","loading","noData","noFields","propTypes","icon","func","oneOfType","string","number","iconColor","IconPlaceholder","left","top","position","transform","level","message","_","defaultProps","DataSource_1","SortParamsPropTypes","shape","currentSortKey","currentSortDir","oneOf","validSortDirs","onSort","getSortingParams","requestParams","onRequestParamsChange","nextSortDirMap","asc","desc","none","has","shift","sortKey","sortDir","nextSortDir","offset","PaginatorParamsPropTypes","isPaging","bool","totalPages","onChange","getPaginationParams","meta","totalCount","ceil","floor","onChangeHandler","page","countArg","newParams","cloneDeep","pageCount","noop","VizCategory","getSettingsFromThemedProps_1","Options_1","SanitizeProps_1","TimezoneContext_1","moment_1","FeatureFlagContext_1","hocUtils_1","JSONSchemaUtils_1","async_dynamic_options_evaluator_1","id_1","SplunkVisualization_1","getSorting_1","getPagination_1","useDeepMemo_1","MissingPropsMessage_1","withEditModeCover_1","withPlaceholder_1","withDashboardViz","opts","ReactViz","_opts$computeVizProps","computeVizProps","disableEditModeCover","useIconPlaceholder","SanitizedReactViz","withSanitizedProps","defaultOptions","pickFieldFromJSONSchema","DashboardViz","mode","hasEventHandlers","options","_props$context","context","onComputedProps","onEventTrigger","_React$useContext","useContext","serializedTimezone","getDefaultSplunkTimezone","setDefaultSplunkTimezone","themeFunc","themeVar","themes","call","bgColorFromTheme","_getSettingsFromTheme","currentThemeFamily","family","currentThemeColorScheme","colorScheme","currentThemeDensity","density","evaluatedOptions","evaluatedOptionsAsync","setEvaluatedOptionsAsync","featureFlagContext","createGUID","visualizationID","Boolean","visualizations_useWebWorkersForDSL","Worker","useAsyncEvaluatedOptions","setUseAsyncEvaluatedOptions","useDeepMemo","optionsToEvaluate","defaultsDeep","defaultContext","deepMergeWithArrayPrimitiveOverrides","asyncDynamicOptionsEvaluatorParams","evaluate","then","results","catch","Options","evaluatedOptionsToUse","isTrellisFeatureFlagOn","visualizations_enableTrellis","clonedEvaluatedOptions","includes","TRELLIS","splitByLayout","trellisBackgroundColor","reset","_vizConfig$requiredPr","requiredProps","missing","missingKeys","PLACEHOLDER","missingProps","eventCallbackProps","EVENTS","supportedEvents","events","eventName","eventCallbackPropName","camelCase","payloadKeys","isArray","p","ev","originalEvent","computedVizProps","dataSourceMetadata","OptionKey","paginateDataSourceKey","PAGE_AND_SORT","handleRequestParamsChange","sortParams","paginatorParams","withTheme","dsl_1","PureMap_1","PureMap","config_1","withDashboardViz_1","mapUtils_1","BubbleLayer_1","dataUtils_1","formatLayer","l","dataFields","dataSourceData","transformedData","geobinIdx","layer","geobin","geomIdx","geomItem","JSON","parse","prototype","hasOwnProperty","sanitizeArrayOfColors","layers","onOptionsChange","themeColorVariables","themeColors","variable","splunkThemeV1","primary","withTooltipFields","VizWithTooltipFields","mergedOptions","getFieldsFromDSL","_mergedOptions$layers","filter","f","withoutInternalFields","VizWithoutInternalFields","_primary$data","newColumns","newFields","indicesToRemove","Set","arr","modifiedDatasources","withNullToZeros","VizWithColumnsNullToZeros","columnsNullToZeros","Map","react_1","chroma","MapContext_1","PureMapContainer_1","ClusterLayer_1","ChoroplethLayer_1","LocalChoroplethLayer_1","DEFAULT_CENTER","DEFAULT_CONTROL_BACKGROUND_COLOR","DEFAULT_CONTROL_FOREGROUND_COLOR","DEFAULT_SCALE_UNIT","DEFAULT_SHOW_SCALE","DEFAULT_SHOW_ZOOM_CONTROLS","DEFAULT_SHOW_BASELAYER","DEFAULT_ZOOM","formatColor","chromaColor","rgb","hex","replace","alpha","baseLayerTileServer","baseLayerTileServerType","center","controlBackgroundColor","controlForegroundColor","_props$layers","scaleUnit","showScale","showZoomControls","showBaseLayer","onMapLoad","_react_1$useContext","defaultTileConfig","customTileConfig","basemapContainer","scaleControl","zoomControl","_react_1$useMemo","getTilePreset","tilePreset","defaultTileLight","defaultTileDark","currentZoomLevel","setCurrentZoomLevel","isMapLoaded","setMapIsLoaded","lngLatCenter","isValidLatLon","zoomLevel","setIsThemeChangedCallback","isMyThemeChanged","onOptionsChangeProxy","initializeMap","mapStyle","fitMapToContent","lngLatBounds","getGlobalLayerBoundaries","fitBounds","MAX_BUBBLE_RADIUS","animate","preserveDrawingBuffer","getZoomConstraintsFromTileConfig","setTimeout","newCenter","getCenter","getZoom","NavigationControl","showCompass","addControl","initializeScale","ScaleControl","maxWidth","unit","updateScale","setUnit","resize","warn","getMapStyle","version","MAP_STYLE_VERSION_NUMBER","getStyle","omit","compareBaseStyles","setStyle","_MapUtils_1$getZoomCo","minZoom","maxZoom","setMinZoom","setMaxZoom","flyTo","_layers","className","controlIconColorEncoded","LAYER_TYPE","clusterLayer","isLatLng","propName","componentName","latAbs","abs","lonAbs","latlon","MAX_LATITUDE","Error","arrayOf","showInLegend","choroplethEmptyAreaColor","maplibre_gl_css_1","PureMapContainer","toDimension","pick","VizActionHandler_1","INITIAL_WIDTH","INITIAL_HEIGHT","SplunkVisualization","_classCallCheck","isRequired","object","objectOf","array","vizActionHandlerRef","DefaultVizActionHandler","MarkerLayer_1","ClusterLayer","isStyleLoaded","markerLayer","Popover_1","StyledPopover","StyledTable","table","StyledTitleColumn","td","StyledValueColumn","StyledColorBlock","convertDegToDMS","decimalDegree","truncate","n","absoluteDegree","degrees","minutes","seconds","direction","Tooltip","_ref$additionalFields","defaultPlacement","MarkerIcon","handleLayerClick","generateMarkerWrapperProps","latArray","lonArray","isStaticColor","markerProps","staticColor","dynamicColor","MarkerLayer","markerPropsList","GeoRegistry_1","GeoJsonProvider_1","LocalChoroplethLayer","features","geoJson","setGeoJson","validGeoJson","setValidGeoJson","geoJsonError","setGeoJsonError","geoJsonData","geoRegistry","create","addDefaultProvider","getByURL","updatedPropertyFormat","propertyFormat","propertyFormats","shapeProperty","formatCheck","_ret","updatedAllChoroplethData","allChoroplethData","el","choroplethData","dataIdx","visualization_icons_1","placeholders_1","visualization_color_palettes_1","themes_1","VizCategory_1","configUtils_1","BackgroundColor_1","colorRangeConfig","to","from","dataContract","requiredDataSources","optionalDataSources","initialRequestParams","size","initialWidth","initialHeight","COLOR_OR_TOKEN_PATTERN_WITH_RGBA","getPattern","items","VIZ_CATEGORICAL","enterprise","dark","variables","black","light","prisma","backgroundColorSidebar","gray22","white","backgroundColorPopup","textColor","contentColorDefault","defaultChoroplethEmptyAreaColor","gray92","interactiveColorBackground","neutral300","defaultGradientMigrationConfig","syntaxPurple","checkTypeIsChoropleth","checkTypeIsLocalChoropleth","EDITOR_LABEL_WIDTH","editor","editorProps","showEditor","dataSourceKey","shouldShowInternalFields","filterByTypes","_ref5","excludeByNames","_ref6","labelPosition","labelWidth","_ref7","_ref8","_ref9","_ref10","_ref11","_ref12","_ref13","category","CHOROPLETH","status","placeholderIcon","types_1","latitudeField","longitudeField","excludedFields","indicesToEvaluate","column","isNumber","_createClass","focus","snapshot","fn","dependencies","isMissing","target","k","MissingPropsMessage","join","Cover","Blocker","withEditModeCover","showEditCover","variables_1","IconPlaceholder_1","withPlaceholder","showPlaceholder","contentColorActive","background","d3_scale_1","MIN_LATITUDE","MAX_LONGITUDE","MIN_LONGITUDE","MIN_BUBBLE_RADIUS","DEFAULT_OPACITY","LONGITUDE","LATITUDE","_ref$defaultTileConfi","_ref$customTileConfig","tileConfigs","tileConfig","updatedConfig","_ref2$baseLayerTileSe","_ref2$baseLayerTileSe2","_ref2$tilePreset","_ref2$colorScheme","_ref2$defaultTileLigh","_ref2$defaultTileDark","sources","tiles","tileSize","minzoom","maxzoom","match","matchedBaseLayerTileServer","sourceKeys","_sources$sourceKeys$i","_layers$_i","getZoomLevelFromGeobin","geobinStr","geobinPattern","exec","parseInt","colorCount","colorArray","scalePow","exponent","domain","transposeArray","row","sanitizeValues","sanitizedBubbleSize","transposedBubbleSize","transposedSanitizedBubbleSize","sanitizedValues","_latlon","lon","getLatOrLonCoordinates","getClusterValues","getChoroplethValues","slicedGeomList","flatCoordinates","flatMap","geomObject","flat","coord","isLayerValid","getDefaultMax","getDefaultMin","getMin","prevVal","coordinatesNumArr","x","getMax","Number","opacities","currBaseLayer","nextBaseLayer","currBaseSource","nextBaseSource","base","result","isObject","stringify"],"mappings":";;;;;;;QAAA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;;;QAGA;QACA;;QAEA;QACA;;QAEA;QACA;QACA;QACA,0CAA0C,gCAAgC;QAC1E;QACA;;QAEA;QACA;QACA;QACA,wDAAwD,kBAAkB;QAC1E;QACA,iDAAiD,cAAc;QAC/D;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA,yCAAyC,iCAAiC;QAC1E,gHAAgH,mBAAmB,EAAE;QACrI;QACA;;QAEA;QACA;QACA;QACA,2BAA2B,0BAA0B,EAAE;QACvD,iCAAiC,eAAe;QAChD;QACA;QACA;;QAEA;QACA,sDAAsD,+DAA+D;;QAErH;QACA;;;QAGA;QACA;;;;;;;;AClFA,kC;;;;;;;ACAA,uC;;;;;;;ACAA,qD;;;;;;;ACAA,qE;;;;;;;ACAA,kE;;;;;;;ACAA,qE;;;;;;;;;;;;;;ACAA;AACO,IAAMA,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAIC,OAAO,EAAEC,MAAM,EAAI;EACrD,IAAI,CAACD,OAAO,IAAI,CAACA,OAAO,CAAC,CAAC,CAAC,CAACE,MAAM,EAAE,OAAO,EAAE;EAE7C,IAAMC,IAAI,GAAG,EAAE;EAAC,IAAAC,KAAA,YAAAA,MAEPC,CAAC;IACN,IAAMC,MAAM,GAAG,EAAE;IACjBL,MAAM,CAACM,OAAO,CAAC,UAACC,KAAK,EAAEC,KAAK,EAAI;MAC5B,IAAMC,SAAS,GAAG,OAAOF,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACG,IAAI;MAChE,IAAIX,OAAO,CAACS,KAAK,CAAC,CAACJ,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1BC,MAAM,CAACI,SAAS,CAAC,GAAG,IAAI;OAC3B,MAAM;QACHJ,MAAM,CAACI,SAAS,CAAC,GAAGV,OAAO,CAACS,KAAK,CAAC,CAACJ,CAAC,CAAC;;IAE7C,CAAC,CAAC;IACFF,IAAI,CAACS,IAAI,CAACN,MAAM,CAAC;EAAC;EAVtB,KAAK,IAAID,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,OAAO,CAAC,CAAC,CAAC,CAACE,MAAM,EAAEG,CAAC,IAAI,CAAC,EAAE;IAAAD,KAAA,CAAtCC,CAAC;;EAaV,OAAOF,IAAI;AACf,CAAC;AAnBYU,OAAA,CAAAd,qBAAqB,GAAAA,qBAAA,C;;;;;;;;;;;;;ACDlC,IAAAe,KAAA,GAAAC,mBAAA;AACA,IAAAC,mBAAA,GAAAD,mBAAA;AACA,IAAAE,kBAAA,GAAAF,mBAAA;AACA,IAAAG,OAAA,GAAAH,mBAAA;AACA,IAAAI,YAAA,GAAAJ,mBAAA;AAWA,IAAMK,IAAI,GAAGJ,mBAAA,CAAAK,OAAM,CAACC,GAAG,CAACC,KAAK,CAAY,UAAAC,IAAA;EAAA,IAAGC,KAAK,GAAAD,IAAA,CAALC,KAAK;EAAA,OAAQ;IACrDC,KAAK,EAAE;MACHD,KAAK,EAAEP,OAAA,CAAAS,IAAI,CAACF,KAAK;;GAExB;AAAA,CAAC,CAAC,CAAAG,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kDAEqB,UAACC,KAAK;EAAA,OACrBZ,YAAA,CAAAa,OAAO,CAACD,KAAK,CAACE,eAAe,CAAC,IAAIF,KAAK,CAACE,eAAe,IAAKF,KAAK,CAACG,KAAK,CAACC,sBAAsB;AAAA,EACtG;AAQD;AACA,IAAMC,WAAW,GAAGpB,mBAAA,CAAAK,OAAM,CAACC,GAAG,CAACC,KAAK,CAAmB,UAAAc,KAAA;EAAA,IAAGZ,KAAK,GAAAY,KAAA,CAALZ,KAAK;IAAEa,MAAM,GAAAD,KAAA,CAANC,MAAM;EAAA,OAEjE;IACFZ,KAAK,EAAAa,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACGf,KAAK,IAAI;MAAEA,KAAK,EAAEP,OAAA,CAAAS,IAAI,CAACF,KAAK;IAAC,CAAE,CAAC,EAChCa,MAAM,IAAI;MAAEA,MAAM,EAAEpB,OAAA,CAAAS,IAAI,CAACW,MAAM;IAAC,CAAE;GAE7C;AAAA,CAAC,CAAC,CAAAV,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,4FAKqB,UAACC,KAAK;EAAA,OACrBZ,YAAA,CAAAa,OAAO,CAACD,KAAK,CAACE,eAAe,CAAC,IAAIF,KAAK,CAACE,eAAe,IAAKF,KAAK,CAACG,KAAK,CAACC,sBAAsB;AAAA,EACtG;AAED,IAAMM,WAAW,GAAGzB,mBAAA,CAAAK,OAAM,CAACC,GAAG,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sDAI7B;AAED,IAAMY,kBAAkB,GAAG1B,mBAAA,CAAAK,OAAM,CAACC,GAAG,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,sEAKpC;AAQD,IAAMa,sBAAsB,GAAG,SAAzBA,sBAAsBA,CACxBC,GAA2B,EACH;EACxB,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAId,KAAQ,EAAwB;IAAA,IAChDN,KAAK,GAA8BM,KAAK,CAAxCN,KAAK;MAAEa,MAAM,GAAsBP,KAAK,CAAjCO,MAAM;MAAEL,eAAe,GAAKF,KAAK,CAAzBE,eAAe;IAEtC,IAAI,CAACK,MAAM,EAAE;MACT,OACIxB,KAAA,CAAAgC,aAAA,CAAC1B,IAAI;QAAA,aAAW,MAAM;QAACK,KAAK,EAAEA,KAAK;QAAEQ,eAAe,EAAEA;MAAe,GACjEnB,KAAA,CAAAgC,aAAA,CAACL,WAAW,QACR3B,KAAA,CAAAgC,aAAA,CAACF,GAAG,EAAAL,MAAA,CAAAC,MAAA,KAAKT,KAAK,EAAI,CACR,CACX;;IAGf,OACIjB,KAAA,CAAAgC,aAAA,CAACV,WAAW;MAAA,aACE,eAAe;MAAA,qCACUW,oBAAkB;MACrDtB,KAAK,EAAEA,KAAK;MACZa,MAAM,EAAEA,MAAM;MACdL,eAAe,EAAEA;IAAe,GAEhCnB,KAAA,CAAAgC,aAAA,CAACJ,kBAAkB,QACf5B,KAAA,CAAAgC,aAAA,CAAC7B,kBAAA,CAAAI,OAAgB,QACZ,UAAA2B,KAAA;MAAA,IAAUC,QAAQ,GAAAD,KAAA,CAAfvB,KAAK;QAAoByB,SAAS,GAAAF,KAAA,CAAjBV,MAAM;MAAA,OACvBxB,KAAA,CAAAgC,aAAA,CAACF,GAAG,EAAAL,MAAA,CAAAC,MAAA,KAAKT,KAAK;QAAEN,KAAK,EAAEwB,QAAQ;QAAEX,MAAM,EAAEY;MAAS,GAAI;IAAA,CACzD,CACc,CACF,CACX;EAEtB,CAAC;EACDL,kBAAkB,CAAChB,WAAW,GAAG,wBAAwB;EACzD,OAAOgB,kBAAkB;AAC7B,CAAC;AAEDhC,OAAA,CAAAQ,OAAA,GAAesB,sBAAsB,C;;;;;;;;;;;;;;;;;ACxGrC,IAAA7B,KAAA,GAAAC,mBAAA;AACA,IAAAC,mBAAA,GAAAD,mBAAA;AAEA,IAAAoC,QAAA,GAAApC,mBAAA;AACA,IAAAI,YAAA,GAAAJ,mBAAA;AACA,IAAAqC,UAAA,GAAArC,mBAAA;AASA,IAAAsC,eAAA,GAAAtC,mBAAA;AAGaF,OAAA,CAAAyC,gBAAgB,GAAG,cAAc;AACjCzC,OAAA,CAAA0C,sBAAsB,GAAG,CAAC,iBAAiB,EAAE,gBAAgB,CAAC;AAW9D1C,OAAA,CAAA2C,UAAU,GAAG1C,KAAK,CAAC2C,IAAI,CAChC,UAAAjC,IAAA,EAQmC;EAAA,IAP/BkC,KAAK,GAAAlC,IAAA,CAALkC,KAAK;IACLC,GAAG,GAAAnC,IAAA,CAAHmC,GAAG;IACHC,MAAM,GAAApC,IAAA,CAANoC,MAAM;IACNC,KAAK,GAAArC,IAAA,CAALqC,KAAK;IACLC,UAAU,GAAAtC,IAAA,CAAVsC,UAAU;IACVC,eAAe,GAAAvC,IAAA,CAAfuC,eAAe;IACfC,iBAAiB,GAAAxC,IAAA,CAAjBwC,iBAAiB;EAAA,IAAA3B,KAAA,GAEO0B,eAAe,aAAfA,eAAe,cAAfA,eAAe,GAAI,EAAE;IAArCpD,IAAI,GAAA0B,KAAA,CAAJ1B,IAAI;IAAEsD,KAAK,GAAA5B,KAAA,CAAL4B,KAAK;EACnB,IAAMC,kBAAkB,GAAGpD,KAAK,CAACqD,WAAW,CACxC,UAAAC,CAAC,EAAG;IACAJ,iBAAiB,CAACI,CAAC,EAAEzD,IAAI,EAAEsD,KAAK,CAAC;EACrC,CAAC,EACD,CAACtD,IAAI,EAAEsD,KAAK,EAAED,iBAAiB,CAAC,CACnC;EAED,IAAIL,GAAG,GAAGD,KAAK,KAAK,CAAC,EAAE;IACnB,OACI5C,KAAA,CAAAgC,aAAA;MACIuB,OAAO,EAAEH,kBAAkB;MAC3BI,EAAE,EAAEV,MAAM;MACVW,EAAE,EAAEX,MAAM;MACVY,CAAC,EAAEZ,MAAM;MACTa,IAAI,EAAEZ,KAAK;MACXa,WAAW,EAAE,GAAG;MAChBC,WAAW,EAAE,GAAG;MAChBC,MAAM,EAAEf;IAAK,EACf;;EAGV,IAAMgB,EAAE,GAAG,CAAC,GAAGC,IAAI,CAACC,EAAE,IAAIrB,KAAK,GAAG,IAAI,CAAC;EACvC,IAAMsB,EAAE,GAAG,CAAC,GAAGF,IAAI,CAACC,EAAE,IAAIpB,GAAG,GAAG,IAAI,CAAC;EACrC,IAAMsB,EAAE,GAAGH,IAAI,CAACI,GAAG,CAACL,EAAE,CAAC;EACvB,IAAMM,EAAE,GAAGL,IAAI,CAACM,GAAG,CAACP,EAAE,CAAC;EACvB,IAAMQ,EAAE,GAAGP,IAAI,CAACI,GAAG,CAACF,EAAE,CAAC;EACvB,IAAMM,EAAE,GAAGR,IAAI,CAACM,GAAG,CAACJ,EAAE,CAAC;EACvB,IAAMO,GAAG,GAAG5B,GAAG,GAAGD,KAAK,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;EAErC,OACI5C,KAAA,CAAAgC,aAAA;IACIuB,OAAO,EAAEH,kBAAkB;IAC3BsB,CAAC,OAAAC,MAAA,CAAO7B,MAAM,OAAA6B,MAAA,CAAI7B,MAAM,SAAA6B,MAAA,CAAM7B,MAAM,GAAGA,MAAM,GAAGqB,EAAE,OAAAQ,MAAA,CAC9C7B,MAAM,GAAGA,MAAM,GAAGuB,EACtB,SAAAM,MAAA,CAAM7B,MAAM,OAAA6B,MAAA,CAAI7B,MAAM,SAAA6B,MAAA,CAAMF,GAAG,SAAAE,MAAA,CAAM7B,MAAM,GAAGA,MAAM,GAAGyB,EAAE,OAAAI,MAAA,CACrD7B,MAAM,GAAGA,MAAM,GAAG0B,EACtB,SAAAG,MAAA,CAAM7B,MAAM,OAAA6B,MAAA,CAAI7B,MAAM,eAAA6B,MAAA,CAAYF,GAAG,SAAAE,MAAA,CAAM7B,MAAM,OAAA6B,MAAA,CAAI7B,MAAM,CAAE;IAC7Da,IAAI,EAAEZ,KAAK;IACXa,WAAW,EAAE,GAAG;IAChBE,MAAM,EAAEd,UAAU;IAClBa,WAAW,EAAE,CAAC;IACde,aAAa,EAAE;EAAG,EACpB;AAEV,CAAC,CACJ;AAED7E,OAAA,CAAA2C,UAAU,CAAC3B,WAAW,GAAG,qBAAqB;AAE9C,IAAM8D,mBAAmB,GAAG3E,mBAAA,CAAAK,OAAM,CAACgC,eAAA,CAAAhC,OAAa,CAAC,CAAAO,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uBAEhD;AAgBYjB,OAAA,CAAA+E,MAAM,GAAG9E,KAAK,CAAC2C,IAAI,CAC5B,UAAAT,KAAA,EAY+B;EAAA,IAX3B6C,cAAc,GAAA7C,KAAA,CAAd6C,cAAc;IACdC,UAAU,GAAA9C,KAAA,CAAV8C,UAAU;IACVC,MAAM,GAAA/C,KAAA,CAAN+C,MAAM;IACNjC,UAAU,GAAAd,KAAA,CAAVc,UAAU;IACVkC,KAAK,GAAAhD,KAAA,CAALgD,KAAK;IACLC,QAAQ,GAAAjD,KAAA,CAARiD,QAAQ;IACRC,SAAS,GAAAlD,KAAA,CAATkD,SAAS;IACTC,UAAU,GAAAnD,KAAA,CAAVmD,UAAU;IAAAC,qBAAA,GAAApD,KAAA,CACVqD,gBAAgB;IAAhBA,gBAAgB,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IACrBE,GAAG,GAAAtD,KAAA,CAAHsD,GAAG;IACHC,cAAc,GAAAvD,KAAA,CAAduD,cAAc;EAEd,IAAMC,aAAa,GAAG1F,KAAK,CAACqD,WAAW,CACnC,UAACC,CAAC,EAAEzD,IAAI,EAAEsD,KAAK,EAAI;IACfsC,cAAc,CAACnC,CAAC,EAAEzD,IAAI,EAAEsD,KAAK,CAAC;IAC9BG,CAAC,CAACqC,eAAe,EAAE;EACvB,CAAC,EACD,CAACN,UAAU,CAAC,CACf;EAED,IAAMO,MAAM,GAAG5F,KAAK,CAAC6F,OAAO,CAAC,YAAK;IAC9B,IAAMC,QAAQ,GAAGf,cAAc,CAACgB,KAAK,CAAC,UAAAC,CAAC;MAAA,OAAIA,CAAC,KAAK,CAAC;IAAA,EAAC;IACnD,IAAIF,QAAQ,IAAI,CAACf,cAAc,CAAC3F,MAAM,EAAE;MACpC,OAAO,IAAI;;IAEf;IACA,IAAM6G,MAAM,GAAGlB,cAAc,CAACS,GAAG,CAAC,UAAAQ,CAAC;MAAA,OAAKA,CAAC,GAAG,CAAC,GAAGA,CAAC,GAAG,CAAC;IAAA,CAAC,CAAC;IAEvD;IACA,IAAME,OAAO,GAAG,EAAE;IAClB,IAAIC,KAAK,GAAG,CAAC;IACbF,MAAM,CAACxG,OAAO,CAAC,UAAA2G,KAAK,EAAG;MACnBF,OAAO,CAACpG,IAAI,CAACqG,KAAK,CAAC;MACnBA,KAAK,IAAIC,KAAK;IAClB,CAAC,CAAC;IAEF,IAAMtD,MAAM,GAAGR,UAAA,CAAA+D,eAAe,CAACrB,UAAU,EAAEmB,KAAK,CAAC;IACjD,IAAMxF,KAAK,GAAGmC,MAAM,GAAG,CAAC;IACxB,OACI9C,KAAA,CAAAgC,aAAA;MAAKrB,KAAK,EAAEA,KAAK;MAAEa,MAAM,EAAEb,KAAK;MAAE2F,OAAO,WAAA3B,MAAA,CAAWhE,KAAK,GAAG,CAAC,OAAAgE,MAAA,CAAIhE,KAAK,GAAG,CAAC;IAAE,GACvEuE,KAAK,GACFlF,KAAA,CAAAgC,aAAA;MACIwB,EAAE,EAAEV,MAAM;MACVW,EAAE,EAAEX,MAAM;MACVY,CAAC,EAAEZ,MAAM;MACTa,IAAI,EAAC,MAAM;MACXE,WAAW,EAAE,CAAC;MACdC,MAAM,EAAEd,UAAU;MAClB4B,aAAa,EAAE;IAAG,EACpB,GACF,IAAI,EACPqB,MAAM,CAACT,GAAG,CAAC,UAACQ,CAAC,EAAEzG,CAAC;MAAA,OACbS,KAAA,CAAAgC,aAAA,CAACjC,OAAA,CAAA2C,UAAU;QACP6D,GAAG,EAAEC,MAAM,CAACjH,CAAC,CAAC;QACdqD,KAAK,EAAEsD,OAAO,CAAC3G,CAAC,CAAC,GAAG4G,KAAK;QACzBtD,GAAG,EAAE,CAACqD,OAAO,CAAC3G,CAAC,CAAC,GAAGyG,CAAC,IAAIG,KAAK;QAC7BrD,MAAM,EAAEA,MAAM;QACdC,KAAK,EAAEkC,MAAM,CAAC1F,CAAC,CAAC;QAChByD,UAAU,EAAEA,UAAU;QACtBC,eAAe,EAAEoC,UAAU,CAAC9F,CAAC,CAAC;QAC9B2D,iBAAiB,EAAEwC;MAAa,EAClC;IAAA,CACL,CAAC,CACA;EAEd,CAAC,EAAE,CAACT,MAAM,EAAEC,KAAK,EAAEH,cAAc,EAAE/B,UAAU,EAAEgC,UAAU,CAAC,CAAC;EAE3D,IAAI,CAACY,MAAM,EAAE;IACT,OAAO,IAAI;;EAGf,OACI5F,KAAA,CAAAgC,aAAA,CAAC6C,mBAAmB;IAChBO,SAAS,EAAEA,SAAS;IACpBD,QAAQ,EAAEA,QAAQ;IAClBI,gBAAgB,KAAAZ,MAAA,CAAA8B,kBAAA,CAAMpB,UAAU,GAAAoB,kBAAA,CAAKlB,gBAAgB,EAAC;IACtDC,GAAG,EAAEA,GAAG;IAAA,kBACO;EAAQ,GAEtBI,MAAM,CACW;AAE9B,CAAC,CACJ;AACD7F,OAAA,CAAA+E,MAAM,CAAC/D,WAAW,GAAG,WAAW;AAUhC,IAAM2F,WAAW,GAAG,SAAdA,WAAWA,CAAIzF,KAAuB,EAAiB;EAAA,IACjD0F,WAAW,GAA8C1F,KAAK,CAA9D0F,WAAW;IAAEC,gBAAgB,GAA4B3F,KAAK,CAAjD2F,gBAAgB;IAAEpB,GAAG,GAAuBvE,KAAK,CAA/BuE,GAAG;IAAEqB,IAAI,GAAiB5F,KAAK,CAA1B4F,IAAI;IAAEC,UAAU,GAAK7F,KAAK,CAApB6F,UAAU;EAC5DH,WAAW,CAACI,YAAY,GAAGJ,WAAW,CAACI,YAAY,IAAIzE,UAAA,CAAA0E,qBAAqB;EAC5EL,WAAW,CAACtB,UAAU,GAAGsB,WAAW,CAACtB,UAAU,IAAI,EAAE;EACrD,IAAM4B,SAAS,GAAGjH,KAAK,CAAC6F,OAAO,CAAC;IAAA,OAAMvD,UAAA,CAAA4E,cAAc,CAACP,WAAW,CAAC;EAAA,GAAE,CAACA,WAAW,CAAC,CAAC;EACjF,IAAMQ,YAAY,GAAGnH,KAAK,CAAC6F,OAAO,CAC9B;IAAA,OAAMvD,UAAA,CAAA8E,eAAe,CAACT,WAAW,CAACtB,UAAU,CAACjG,MAAM,EAAEuH,WAAW,CAACI,YAAY,CAAC;EAAA,GAC9E,CAACJ,WAAW,CAACtB,UAAU,CAACjG,MAAM,EAAEuH,WAAW,CAACI,YAAY,CAAC,CAC5D;EAAC,IAAAM,KAAA,GAC0EJ,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE;IAAAK,UAAA,GAAAD,KAAA,CAAnFhI,IAAI;IAAJA,IAAI,GAAAiI,UAAA,cAAG,EAAE,GAAAA,UAAA;IAAAC,eAAA,GAAAF,KAAA,CAAEG,SAAS;IAATA,SAAS,GAAAD,eAAA,cAAG,EAAE,GAAAA,eAAA;IAAEE,WAAW,GAAAJ,KAAA,CAAXI,WAAW;IAAEC,gBAAgB,GAAAL,KAAA,CAAhBK,gBAAgB;IAAExC,KAAK,GAAAmC,KAAA,CAALnC,KAAK;EAAA,IAAAyC,qBAAA,GAC9BhB,WAAW,CAA5CiB,uBAAuB;IAAvBA,uBAAuB,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;EACpC,IAAME,WAAW,GAAG7D,IAAI,CAAC8D,KAAK,CAACjB,IAAI,CAAC;EACpC,IAAM7D,UAAU,GAAG4D,gBAAgB,KAAK,OAAO,GAAG,SAAS,GAAG,SAAS;EACvE,IAAMmB,aAAa,GAAGpB,WAAW,CAACqB,UAAU;EAE5C;EACA,IAAMC,YAAY,GAAGjI,KAAK,CAAC6F,OAAO,CAC9B;IAAA,OACIxG,IAAI,CACC6I,MAAM,CAAC,UAACC,GAAG,EAAEC,KAAK,EAAE7I,CAAC,EAAI;MACtB,IAAI6I,KAAK,CAACvB,IAAI,KAAKgB,WAAW,EAAE;QAC5BM,GAAG,CAACrI,IAAI,CAAC;UAAET,IAAI,EAAE+I,KAAK;UAAEC,GAAG,EAAE9I;QAAC,CAAE,CAAC;;MAErC,OAAO4I,GAAG;IACd,CAAC,EAAE,EAAE,CAAC,CACLG,KAAK,CAAC,CAAC,EAAEb,WAAW,IAAInF,UAAA,CAAAiG,oBAAoB,CAAC,CAC7CC,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;MAAA,OAAKrG,QAAA,CAAAsG,GAAG,CAACD,CAAC,CAACrJ,IAAI,CAAC4G,MAAM,CAAC,GAAG5D,QAAA,CAAAsG,GAAG,CAACF,CAAC,CAACpJ,IAAI,CAAC4G,MAAM,CAAC;IAAA,EAAC;EAAA,GAChE,CAAC5G,IAAI,EAAEoI,WAAW,EAAEI,WAAW,CAAC,CACnC;EAED,IAAMpC,eAAc,GAAGzF,KAAK,CAACqD,WAAW,CACpC,UAACC,CAAC,EAAEzD,IAAI,EAAEsD,KAAK,EAAE5D,CAAC,EAAI;;IAClB;IACA,IAAMqJ,QAAQ,GAAG,CAAAC,EAAA,IAAAC,EAAA,IAAAC,EAAA,GAAAd,YAAY,CAAC1I,CAAC,CAAC,cAAAwJ,EAAA,uBAAAA,EAAA,CAAE1J,IAAI,cAAAyJ,EAAA,uBAAAA,EAAA,CAAEF,QAAQ,cAAAC,EAAA,cAAAA,EAAA,GAAI,EAAE;IACtD,IAAMG,OAAO,GAAGvH,MAAM,CAACwH,IAAI,CAACL,QAAQ,CAAC,CAACV,MAAM,CACxC,UAACC,GAAG,EAAEe,IAAI,EAAI;MACV,IAAM3C,GAAG,UAAA5B,MAAA,CAAUuE,IAAI,WAAQ;MAC/B,IAAMC,GAAG,GAAG3C,MAAM,CAACoC,QAAQ,CAACM,IAAI,CAAC,CAAC;MAClC,OAAAzH,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAAYyG,GAAG,GAAAiB,eAAA,KAAG7C,GAAG,EAAG4C,GAAG;IAC/B,CAAC,EACD;MAAEtJ,IAAI,EAAJA,IAAI;MAAEsD,KAAK,EAAEqD,MAAM,CAACrD,KAAK;IAAC,CAAE,CACjC;IAED2D,UAAU,CAAC;MAAExD,CAAC,EAADA,CAAC;MAAE0F,OAAO,EAAPA;IAAO,CAAE,CAAC;EAC9B,CAAC,EACD,CAACf,YAAY,CAAC,CACjB;EAED,OACIjI,KAAA,CAAAgC,aAAA,CAAAhC,KAAA,CAAAqJ,QAAA,QACKpB,YAAY,CAACzC,GAAG,CAAC,UAAC4C,KAAK,EAAE7I,CAAC,EAAI;IAC3B,IAAM0F,MAAM,GAAG8C,aAAa,GACtB,CACIE,YAAY,CAACzC,GAAG,CAAC,UAAA8D,GAAG;MAAA,OAChBjJ,YAAA,CAAAa,OAAO,CAAC6G,aAAa,CAACuB,GAAG,CAACjB,GAAG,CAAC,CAAC,GAAGN,aAAa,CAACuB,GAAG,CAACjB,GAAG,CAAC,GAAG/F,UAAA,CAAAiH,qBAAqB;IAAA,EACnF,CAAChK,CAAC,CAAC,CACP,GACD4H,YAAY;IAAC,IAAAqC,qBAAA,GAAAC,cAAA,CAEWrB,KAAK,CAAC/I,IAAI,CAACqK,WAAW;MAA7CtE,SAAS,GAAAoE,qBAAA;MAAErE,QAAQ,GAAAqE,qBAAA;IAC1B,IAAMnE,UAAU,GAAG+C,KAAK,CAAC/I,IAAI,CAAC4G,MAAM,CAACT,GAAG,CAAC,UAACrC,KAAK,EAAExD,KAAK;MAAA,OAAM;QACxDE,IAAI,EAAE6H,gBAAgB,CAAC/H,KAAK,CAAC;QAC7BwD,KAAK,EAALA,KAAK;QACLJ,KAAK,EAAEkC,MAAM,CAACtF,KAAK;OACtB;IAAA,CAAC,CAAC;IAEH,IAAM4F,gBAAgB,GAAGoB,WAAW,CAACiC,QAAQ,GACvChB,uBAAuB,CAACpC,GAAG,CAAC,UAAA9F,KAAK;MAAA,OAAK;QAClCG,IAAI,EAAEH,KAAK;QACXyD,KAAK,EAAEiF,KAAK,CAAC/I,IAAI,CAACuJ,QAAQ,CAAClJ,KAAK;OACnC;IAAA,CAAC,CAAC,GACH,EAAE;IAER,OACIM,KAAA,CAAAgC,aAAA,CAACjC,OAAA,CAAA+E,MAAM;MACHyB,GAAG,EAAEC,MAAM,CAACjH,CAAC,CAAC;MACdwF,cAAc,EAAEqD,KAAK,CAAC/I,IAAI,CAAC4G,MAAM;MACjCjB,UAAU,EAAEwC,SAAS;MACrBvC,MAAM,EAAEA,MAAM;MACdjC,UAAU,EAAEA,UAAU;MACtBkC,KAAK,EAAEA,KAAK;MACZE,SAAS,EAAEA,SAAS;MACpBD,QAAQ,EAAEA,QAAQ;MAClBE,UAAU,EAAEA,UAAU;MACtBE,gBAAgB,EAAEA,gBAAgB;MAClCC,GAAG,EAAEA,GAAG;MACRC,cAAc,EAAE,SAAAA,eAACnC,CAAC,EAAEzD,IAAI,EAAEsD,KAAK;QAAA,OAAKsC,eAAc,CAACnC,CAAC,EAAEzD,IAAI,EAAEsD,KAAK,EAAE5D,CAAC,CAAC;MAAA;IAAA,EACvE;EAEV,CAAC,CAAC,CACH;AAEX,CAAC;AAEDQ,OAAA,CAAAQ,OAAA,GAAemG,WAAW,C;;;;;;;;;;;;;;;;;;;;;;;;ACxS1B,IAAAiD,aAAA,GAAA1J,mBAAA;AACA,IAAAD,KAAA,GAAAC,mBAAA;AAEA,IAAA2J,SAAA,GAAA3J,mBAAA;AAYA,IAAM4J,aAAa,GAAG,SAAhBA,aAAaA,CAAId,EAUF,EAAiB;EAAA,IATlC3D,SAAS,GAOD2D,EAES,CATjB3D,SAAS;IACTD,QAAQ,GAMA4D,EAES,CARjB5D,QAAQ;IACR2E,MAAM,GAKEf,EAES,CAPjBe,MAAM;IACNC,SAAS,GAIDhB,EAES,CANjBgB,SAAS;IAAAC,mBAAA,GAIDjB,EAES,CALjBxD,gBAAgB;IAAhBA,gBAAgB,GAAAyE,mBAAA,cAAG,EAAE,GAAAA,mBAAA;IACrBxE,GAAG,GAEKuD,EAES,CAJjBvD,GAAG;IACHyE,uBAAuB,GACflB,EAES,CAHjBkB,uBAAuB;IACvBC,QAAQ,GAAAnB,EAES,CAFjBmB,QAAQ;IACLC,UAAU,GAAAC,MAAA,CAAArB,EAAA,EATM,kHAUtB,CADgB;EAEb,IAAMsB,SAAS,GAAGrK,KAAK,CAACsK,MAAM,EAAkB;EAChD,IAAMC,MAAM,GAAGvK,KAAK,CAACsK,MAAM,EAAU;EAAC,IAAAE,eAAA,GACQxK,KAAK,CAACyK,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAjB,cAAA,CAAAe,eAAA;IAA5DG,aAAa,GAAAD,gBAAA;IAAEE,oBAAoB,GAAAF,gBAAA;EAE1C,IAAMG,mBAAmB,GAAG7K,KAAK,CAACqD,WAAW,CAAC;IAAA,OAAM4G,uBAAuB,KAAKa,SAAS;EAAA,GAAE,CACvFb,uBAAuB,CAC1B,CAAC;EAEF,IAAMc,WAAW,GAAG/K,KAAK,CAACqD,WAAW,CAAC;IAAA,OAAMuH,oBAAoB,CAAC,IAAI,CAAC;EAAA,GAAE,EAAE,CAAC;EAC3E,IAAMI,YAAY,GAAGhL,KAAK,CAACqD,WAAW,CAAC;IAAA,OAAMuH,oBAAoB,CAAC,KAAK,CAAC;EAAA,GAAE,EAAE,CAAC;EAE7E,IAAMK,aAAa,GAAGjL,KAAK,CAACqD,WAAW,CAAC,YAAK;IACzC,IAAIkH,MAAM,CAACW,OAAO,EAAE;MAChBX,MAAM,CAACW,OAAO,CAACC,MAAM,EAAE;MACvBZ,MAAM,CAACW,OAAO,GAAGJ,SAAS;;EAElC,CAAC,EAAE,EAAE,CAAC;EAEN9K,KAAK,CAACoL,SAAS,CAAC,YAAK;IACjB,IAAI;MACA,IAAIb,MAAM,CAACW,OAAO,EAAE;QAChBX,MAAM,CAACW,OAAO,CAACG,SAAS,CAAC,CAACjG,SAAS,EAAED,QAAQ,CAAC,CAAC;OAClD,MAAM;QACHoF,MAAM,CAACW,OAAO,GAAG,IAAIvB,aAAA,CAAA2B,MAAM,CAACjB,SAAS,CAACa,OAAO,CAAC;QAC9CX,MAAM,CAACW,OAAO,CAACG,SAAS,CAAC,CAACjG,SAAS,EAAED,QAAQ,CAAC,CAAC;QAC/CoF,MAAM,CAACW,OAAO,CAACK,KAAK,CAAC/F,GAAG,CAAC0F,OAAO,CAAC;;KAExC,CAAC,OAAOM,KAAK,EAAE;MACZC,OAAO,CAACD,KAAK,CAACA,KAAK,CAAC;MACpBP,aAAa,EAAE;;EAEvB,CAAC,EAAE,CAAC9F,QAAQ,EAAEC,SAAS,EAAEI,GAAG,CAAC,CAAC;EAE9BxF,KAAK,CAACoL,SAAS,CAAC;IAAA,OAAMH,aAAa;EAAA,GAAE,EAAE,CAAC;EAExC,OACIjL,KAAA,CAAAgC,aAAA;IAAKpB,KAAK,EAAE;MAAE8K,UAAU,EAAEb,mBAAmB,EAAE,GAAG,QAAQ,GAAG;IAAS;EAAE,GACpE7K,KAAA,CAAAgC,aAAA,QAAAP,MAAA,CAAAC,MAAA;IACId,KAAK,EAAE;MAAE8K,UAAU,EAAEb,mBAAmB,EAAE,GAAG,QAAQ,GAAG;IAAS,CAAE;IACnEc,GAAG,EAAEtB,SAAS;IAAA,aACJ,YAAY;IACtBuB,WAAW,EAAEb,WAAW;IACxBc,YAAY,EAAEb,YAAY;IAC1Bc,OAAO,EAAEf,WAAW;IACpBgB,MAAM,EAAEf;EAAY,GAChBb,UAAU,GAEbD,QAAQ,CACP,EAENlK,KAAA,CAAAgC,aAAA,cACIhC,KAAA,CAAAgC,aAAA,CAAC4H,SAAA,CAAArJ,OAAO;IACJyL,IAAI,EAAEnB,mBAAmB,EAAE,GAAGZ,uBAAuB,GAAGU,aAAa;IACrEsB,MAAM,EAAE5B,SAAS,CAACa,OAAO;IACzB/F,QAAQ,EAAE0F,mBAAmB,EAAE,GAAG,IAAI,GAAG1F,QAAQ;IACjDC,SAAS,EAAEyF,mBAAmB,EAAE,GAAG,IAAI,GAAGzF,SAAS;IACnD0E,MAAM,EAAEA,MAAM;IACdC,SAAS,EAAEA,SAAS;IACpBxE,gBAAgB,EAAEA;EAAgB,EACpC,CACA,CACJ;AAEd,CAAC;AAEDxF,OAAA,CAAAQ,OAAA,GAAesJ,aAAa,C;;;;;;;AC5F5B,gE;;;;;;;;;;;;;;ACIA;;;;;;AAMO,IAAMqC,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAAxL,IAAA,EAK1B;EAAA,IAJPyL,OAAO,GAAAzL,IAAA,CAAPyL,OAAO;IACPC,aAAa,GAAA1L,IAAA,CAAb0L,aAAa;EAIb,IAAMC,gBAAgB,GAAG,CAAC,WAAW,EAAE,cAAc,EAAE,QAAQ,CAAC;EAChEA,gBAAgB,CAAC5M,OAAO,CAAC,UAAC6M,IAAY,EAAU;IAC5C,IAAIF,aAAa,CAACE,IAAI,CAAC,EAAE;MACrB;MACAH,OAAO,CAACG,IAAI,CAAC,GAAGF,aAAa,CAACE,IAAI,CAAC;;EAE3C,CAAC,CAAC;AACN,CAAC;AAbYvM,OAAA,CAAAmM,wBAAwB,GAAAA,wBAAA,C;;;;;;;ACVrC,sC;;;;;;;ACAA,wC;;;;;;;;;;;;;;;ACAA,IAAAlM,KAAA,GAAAC,mBAAA;AAGA,IAAAoC,QAAA,GAAApC,mBAAA;AACA,IAAAqC,UAAA,GAAArC,mBAAA;AACA,IAAAsC,eAAA,GAAAtC,mBAAA;AAGA,IAAMsM,UAAU,GAAG,SAAbA,UAAUA,CAAGC,EAAE;EAAA,gBAAA7H,MAAA,CAAa6H,EAAE;AAAA,CAAE;AACtC,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAGD,EAAE;EAAA,iBAAA7H,MAAA,CAAc6H,EAAE;AAAA,CAAE;AACxC,IAAME,WAAW,GAAG,SAAdA,WAAWA,CAAGF,EAAE;EAAA,iBAAA7H,MAAA,CAAc6H,EAAE;AAAA,CAAE;AAEjC,IAAMG,WAAW,GAAG,SAAdA,WAAWA,CAAIC,IAAqB,EAAEC,IAAqB,EAAI;EACxE,IAAID,IAAI,KAAK,IAAI,IAAIC,IAAI,KAAK,IAAI,EAAE;IAChC,OAAOD,IAAI,CAACE,IAAI,KAAKD,IAAI,CAACC,IAAI,IAAIzK,QAAA,CAAA0K,OAAO,CAACH,IAAI,CAAClD,WAAW,EAAEmD,IAAI,CAACnD,WAAW,CAAC;;EAEjF,OAAOkD,IAAI,KAAK,IAAI,IAAIC,IAAI,KAAK,IAAI;AACzC,CAAC;AALY9M,OAAA,CAAA4M,WAAW,GAAAA,WAAA;AAOjB,IAAMK,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,SAA0B,EAAEC,SAA0B,EAAa;EACjG,OACInN,OAAA,CAAA4M,WAAW,CAACM,SAAS,CAACE,QAAQ,EAAED,SAAS,CAACC,QAAQ,CAAC,IACnDF,SAAS,CAACT,EAAE,KAAKU,SAAS,CAACV,EAAE,IAC7BS,SAAS,CAACzH,GAAG,KAAK0H,SAAS,CAAC1H,GAAG,IAC/ByH,SAAS,CAACnD,MAAM,KAAKoD,SAAS,CAACpD,MAAM,IACrCmD,SAAS,CAAClD,SAAS,KAAKmD,SAAS,CAACnD,SAAS,IAC3CkD,SAAS,CAAClK,KAAK,KAAKmK,SAAS,CAACnK,KAAK,IACnCkK,SAAS,CAACG,OAAO,KAAKF,SAAS,CAACE,OAAO,IACvCH,SAAS,CAACI,WAAW,KAAKH,SAAS,CAACG,WAAW,IAC/CJ,SAAS,CAACK,cAAc,KAAKJ,SAAS,CAACI,cAAc,IACrDjL,QAAA,CAAA0K,OAAO,CAACE,SAAS,CAAC1H,gBAAgB,EAAE2H,SAAS,CAAC3H,gBAAgB,CAAC,IAC/D0H,SAAS,CAACxH,cAAc,CAAC8H,QAAQ,EAAE,KAAKL,SAAS,CAACzH,cAAc,CAAC8H,QAAQ,EAAE;AAEnF,CAAC;AAdYxN,OAAA,CAAAiN,iBAAiB,GAAAA,iBAAA;AAgBvB,IAAMQ,iBAAiB,GAAG,SAApBA,iBAAiBA,CAC1BC,OAAe,EACfC,QAAgB,EAChBC,QAAgB,EAChBnI,GAAgC,EAChC;;EACA;EACA,IAAIoI,SAAS;EACb,IAAIC,UAAU;EACd,IAAIC,eAAe;EACnB,IAAI;IACAF,SAAS,GAAG,CAAA7E,EAAA,GAAAvD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE0F,OAAO,cAAAnC,EAAA,uBAAAA,EAAA,CAAEgF,QAAQ,CAACN,OAAO,CAAC;IAC3CK,eAAe,GAAG,CAAAhF,EAAA,GAAAtD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE0F,OAAO,cAAApC,EAAA,uBAAAA,EAAA,CAAEiF,QAAQ,CAACJ,QAAQ,CAAC;IAClDE,UAAU,GAAG,CAAAhF,EAAA,GAAArD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE0F,OAAO,cAAArC,EAAA,uBAAAA,EAAA,CAAEmF,SAAS,CAACN,QAAQ,CAAC;GACjD,CAAC,OAAAO,EAAA,EAAM;IACJ;;EAEJ,IAAIL,SAAS,EAAE;IACXpI,GAAG,CAAC0F,OAAO,CAACgD,WAAW,CAACT,OAAO,CAAC;;EAEpC,IAAIK,eAAe,EAAE;IACjBtI,GAAG,CAAC0F,OAAO,CAACgD,WAAW,CAACP,QAAQ,CAAC;;EAErC,IAAIE,UAAU,EAAE;IACZrI,GAAG,CAAC0F,OAAO,CAACiD,YAAY,CAACT,QAAQ,CAAC;;AAE1C,CAAC;AA1BY3N,OAAA,CAAAyN,iBAAiB,GAAAA,iBAAA;AA0CjBzN,OAAA,CAAAqO,UAAU,GAAGpO,KAAK,CAAC2C,IAAI,CAChC,UAAAjC,IAAA,EAYmC;EAAA,IAX/B8L,EAAE,GAAA9L,IAAA,CAAF8L,EAAE;IACF1C,MAAM,GAAApJ,IAAA,CAANoJ,MAAM;IACNC,SAAS,GAAArJ,IAAA,CAATqJ,SAAS;IACToD,QAAQ,GAAAzM,IAAA,CAARyM,QAAQ;IACR3H,GAAG,GAAA9E,IAAA,CAAH8E,GAAG;IACHzC,KAAK,GAAArC,IAAA,CAALqC,KAAK;IACLqK,OAAO,GAAA1M,IAAA,CAAP0M,OAAO;IACPC,WAAW,GAAA3M,IAAA,CAAX2M,WAAW;IACXC,cAAc,GAAA5M,IAAA,CAAd4M,cAAc;IACd/H,gBAAgB,GAAA7E,IAAA,CAAhB6E,gBAAgB;IAChBE,cAAc,GAAA/E,IAAA,CAAd+E,cAAc;EAEd,IAAMiI,QAAQ,GAAGjB,WAAW,CAACD,EAAE,CAAC;EAChC,IAAMiB,OAAO,GAAGlB,UAAU,CAACC,EAAE,CAAC;EAC9B,IAAMmB,QAAQ,GAAGjB,WAAW,CAACF,EAAE,CAAC;EAChC,IAAM6B,iBAAiB,GAAG;IACtBvB,IAAI,EAAE,SAAS;IACfwB,QAAQ,EAAEnB;GACb;EAAC,IAAA3C,eAAA,GAC4CxK,KAAK,CAACyK,QAAQ,CAAC,KAAK,CAAC;IAAAC,gBAAA,GAAAjB,cAAA,CAAAe,eAAA;IAA5DG,aAAa,GAAAD,gBAAA;IAAEE,oBAAoB,GAAAF,gBAAA;EAAA,IAAA6D,gBAAA,GACVvO,KAAK,CAACyK,QAAQ,CAAC,CAAC,CAAC;IAAA+D,gBAAA,GAAA/E,cAAA,CAAA8E,gBAAA;IAA1CE,QAAQ,GAAAD,gBAAA;IAAEE,WAAW,GAAAF,gBAAA;EAAA,IAAAG,gBAAA,GACI3O,KAAK,CAACyK,QAAQ,CAAC,CAAC,CAAC;IAAAmE,gBAAA,GAAAnF,cAAA,CAAAkF,gBAAA;IAA1CE,QAAQ,GAAAD,gBAAA;IAAEE,WAAW,GAAAF,gBAAA;EAE5B,IAAM7D,WAAW,GAAG/K,KAAK,CAACqD,WAAW,CAAC,YAAK;IACvCuH,oBAAoB,CAAC,IAAI,CAAC;EAC9B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMI,YAAY,GAAGhL,KAAK,CAACqD,WAAW,CAAC,YAAK;IACxCuH,oBAAoB,CAAC,KAAK,CAAC;EAC/B,CAAC,EAAE,EAAE,CAAC;EAEN,IAAMmE,gBAAgB,GAAG/O,KAAK,CAACqD,WAAW,CAAC,YAAK;IAC5C;IACA;IACAtD,OAAA,CAAAyN,iBAAiB,CAACC,OAAO,EAAEC,QAAQ,EAAEC,QAAQ,EAAEnI,GAAG,CAAC;IAEnD;IACA;IACAA,GAAG,CAAC0F,OAAO,CAAC8D,SAAS,CAACtB,QAAQ,EAAE;MAC5BZ,IAAI,EAAE,SAAS;MACfzN,IAAI,EAAEgP;KACT,CAAC;IACF7I,GAAG,CAAC0F,OAAO,CAAC+D,QAAQ,CAAC;MACjBzC,EAAE,EAAEiB,OAAO;MACXX,IAAI,EAAE,MAAM;MACZoC,MAAM,EAAExB,QAAQ;MAChByB,MAAM,EAAE,EAAE;MACVC,KAAK,EAAE;QACH,cAAc,EAAEhC,OAAO;QACvB,YAAY,EAAErK;;KAErB,CAAC;IAEF,IAAIsK,WAAW,KAAK,aAAa,EAAE;MAC/B7H,GAAG,CAAC0F,OAAO,CAAC+D,QAAQ,CAAC;QACjBzC,EAAE,EAAEmB,QAAQ;QACZb,IAAI,EAAE,MAAM;QACZoC,MAAM,EAAExB,QAAQ;QAChByB,MAAM,EAAE,EAAE;QACVC,KAAK,EAAE;UACH,YAAY,EAAE/B,WAAW;UACzB,YAAY,EAAE;;OAErB,CAAC;;IAGN7H,GAAG,CAAC0F,OAAO,CAACmE,EAAE,CAAC,WAAW,EAAE5B,OAAO,EAAE,UAAAnK,CAAC,EAAG;MACrC,IAAMgM,WAAW,GAAGhM,CAAC,CAACiM,MAAM;MAC5Bb,WAAW,CAACY,WAAW,CAACE,GAAG,CAAC;MAC5BV,WAAW,CAACQ,WAAW,CAACG,GAAG,CAAC;MAC5B1E,WAAW,EAAE;MACbvF,GAAG,CAAC0F,OAAO,CAACwE,SAAS,EAAE,CAAC9O,KAAK,CAAC+O,MAAM,GAAG,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC;;IACFnK,GAAG,CAAC0F,OAAO,CAACmE,EAAE,CAAC,YAAY,EAAE5B,OAAO,EAAE,YAAK;MACvCzC,YAAY,EAAE;MACdxF,GAAG,CAAC0F,OAAO,CAACwE,SAAS,EAAE,CAAC9O,KAAK,CAAC+O,MAAM,GAAG,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;;IACFnK,GAAG,CAAC0F,OAAO,CAACmE,EAAE,CAAC,OAAO,EAAE5B,OAAO,EAAE,UAAAnK,CAAC,EAAG;MACjCmC,cAAc,CAACnC,CAAC,CAAC;IACrB,CAAC,CAAC;EACN,CAAC,EAAE,CAACmK,OAAO,EAAEC,QAAQ,EAAElI,GAAG,EAAEzC,KAAK,EAAEqK,OAAO,EAAEiB,iBAAiB,CAAC,CAAC;EAE/DrO,KAAK,CAACoL,SAAS,CAAC,YAAK;IACjB2D,gBAAgB,EAAE;EACtB,CAAC,EAAE,CAACvJ,GAAG,EAAE2H,QAAQ,EAAEpK,KAAK,EAAEqK,OAAO,EAAEZ,EAAE,EAAEa,WAAW,CAAC,CAAC;EAEpD;EACArN,KAAK,CAACoL,SAAS,CAAC;IAAA,OAAM;MAAA,OAAMrL,OAAA,CAAAyN,iBAAiB,CAACC,OAAO,EAAEC,QAAQ,EAAEC,QAAQ,EAAEnI,GAAG,CAAC;IAAA;EAAA,GAAE,EAAE,CAAC;EAEpF,IAAI8H,cAAc,EAAE;IAChB;IACA;IACAyB,gBAAgB,EAAE;;EAGtB,OACI/O,KAAA,CAAAgC,aAAA,CAACO,eAAA,CAAAhC,OAAa;IACV0J,uBAAuB,EAAEU,aAAa;IACtCpF,gBAAgB,EAAEA,gBAAgB;IAClCJ,QAAQ,EAAEsJ,QAAQ;IAClBrJ,SAAS,EAAEyJ,QAAQ;IACnBrJ,GAAG,EAAEA,GAAG;IACRsE,MAAM,EAAEA,MAAM;IACdC,SAAS,EAAEA;EAAS,GAGpB/J,KAAA,CAAAgC,aAAA;IAAA,aAAe,mBAAmB;IAACpB,KAAK,EAAE;MAAEgP,OAAO,EAAE,MAAM;MAAElE,UAAU,EAAE;IAAQ;EAAE,EAAI,CAC3E;AAExB,CAAC,EACD3L,OAAA,CAAAiN,iBAAiB,CACpB;AAEDjN,OAAA,CAAAqO,UAAU,CAACrN,WAAW,GAAG,eAAe;AAUxC,IAAM8O,eAAe,GAAG,SAAlBA,eAAeA,CAAI5O,KAA2B,EAAiB;;MACzDuE,GAAG,GAAqEvE,KAAK,CAA7EuE,GAAG;IAAEsK,eAAe,GAAoD7O,KAAK,CAAxE6O,eAAe;IAAExC,cAAc,GAAoCrM,KAAK,CAAvDqM,cAAc;IAAEyC,iBAAiB,GAAiB9O,KAAK,CAAvC8O,iBAAiB;IAAEjJ,UAAU,GAAK7F,KAAK,CAApB6F,UAAU;EAC3E,IAAMkJ,UAAU,GAAGhM,IAAI,CAACiM,GAAG,CAACjM,IAAI,CAACkM,GAAG,CAACJ,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEK,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAC/E,IAAMC,eAAe,GAAG,CAAArH,EAAA,GAAAzG,UAAA,CAAA+N,kBAAkB,CAACP,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE9H,UAAU,EAAEgI,UAAU,CAAC,cAAAjH,EAAA,cAAAA,EAAA,GAAI,EAAE;EACzF,IAAM9D,MAAM,GAAG,CAAA6D,EAAA,GAAAgH,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE9H,UAAU,cAAAc,EAAA,uBAAAA,EAAA,CAAEtD,GAAG,CAAC,UAAAzC,KAAK;IAAA,OAAK,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3D,MAAM,IAAG,CAAC,GAAG2D,KAAK,CAACuF,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGvF,KAAK;EAAA,CAAC,CAAC;EAEzG,IAAMuN,KAAK,GAAGtM,IAAI,CAACiM,GAAG,CAClB,CAAApH,EAAA,GAAAiH,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAES,OAAO,cAAA1H,EAAA,uBAAAA,EAAA,CAAEzJ,MAAM,EAChC,CAAA6O,EAAA,GAAA6B,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEU,UAAU,cAAAvC,EAAA,uBAAAA,EAAA,CAAE7O,MAAM,EACnC,CAAAqR,EAAA,IAAAC,EAAA,GAAAZ,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEa,IAAI,cAAAD,EAAA,uBAAAA,EAAA,CAAEtR,MAAM,cAAAqR,EAAA,cAAAA,EAAA,GAAI,CAAC,EAClC,CAAAX,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAErI,WAAW,IAAGqI,eAAe,CAACrI,WAAW,GAAGnF,UAAA,CAAAiG,oBAAoB,CACpF;EACD,IAAMqI,YAAY,GAAG,CAAAC,EAAA,IAAAC,EAAA,GAAAhB,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAES,OAAO,cAAAO,EAAA,uBAAAA,EAAA,CAAExI,KAAK,CAAC,CAAC,EAAEgI,KAAK,CAAC,cAAAO,EAAA,cAAAA,EAAA,GAAI,EAAE;EACpE;EACA,IAAME,kBAAkB,GACpB1O,QAAA,CAAA2O,IAAI,CAACJ,YAAY,CAAC,CAACxR,MAAM,KAAKwR,YAAY,CAACxR,MAAM,GAC3CwR,YAAY,CAACpL,GAAG,CAAC,UAACgH,EAAE,EAAEjN,CAAC;IAAA,UAAAoF,MAAA,CAAQ6H,EAAE,EAAA7H,MAAA,CAAGpF,CAAC;EAAA,CAAE,CAAC,GACxCqR,YAAY;EACtB,IAAMrL,gBAAgB,GAAG,CAAAuK,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAElH,QAAQ,IAC5CkH,eAAe,CAAClH,QAAQ,CAACpD,GAAG,CAAC,UAAAyL,kBAAkB;IAAA,OAC3CnB,eAAe,CAAClI,uBAAuB,CAACpC,GAAG,CAAC,UAAA9F,KAAK;MAAA,OAAK;QAClDG,IAAI,EAAEH,KAAK;QACXyD,KAAK,EAAE8N,kBAAkB,CAACvR,KAAK;OAClC;IAAA,CAAC,CAAC;EAAA,EACN,GACD,EAAE;EAER,IAAM+F,eAAc,GAAG,SAAjBA,cAAcA,CAAInC,CAAC,EAAE/D,CAAC,EAAI;IAC5B,IAAMyJ,OAAO,GAAG1G,UAAA,CAAA4O,cAAc,CAACpB,eAAe,EAAEvQ,CAAC,CAAC;IAClDuH,UAAU,CAAC;MAAExD,CAAC,EAADA,CAAC;MAAE0F,OAAO,EAAPA;IAAO,CAAE,CAAC;EAC9B,CAAC;EAED,IAAI,CAACxD,GAAG,IAAI,CAACsK,eAAe,IAAI,CAACA,eAAe,CAACa,IAAI,EAAE;IACnD,OAAO3Q,KAAA,CAAAgC,aAAA,CAAAhC,KAAA,CAAAqJ,QAAA,OAAK;;EAGhB,IAAIiE,cAAc,EAAE;IAChByC,iBAAiB,CAAC,KAAK,CAAC;;EAG5B,OACI/P,KAAA,CAAAgC,aAAA,cACK+O,kBAAkB,CAACvL,GAAG,CAAC,UAACgH,EAAE,EAAEjN,CAAC,EAAI;IAC9B,IAAMuK,MAAM,GAAG8G,YAAY,CAACrR,CAAC,CAAC;IAC9B,IAAMwK,SAAS,GAAG+F,eAAe,CAACU,UAAU,CAACjR,CAAC,CAAC;IAE/C,OACIS,KAAA,CAAAgC,aAAA,CAACjC,OAAA,CAAAqO,UAAU;MACP7H,GAAG,EAAEiG,EAAE;MACPA,EAAE,EAAEA,EAAE;MACNW,QAAQ,EAAE2C,eAAe,CAACa,IAAI,CAACpR,CAAC,CAAC;MACjCiG,GAAG,EAAEA,GAAG;MACRzC,KAAK,EAAEkC,MAAM,CAAC1F,CAAC,CAAC;MAChB6N,OAAO,EAAEgD,eAAe,CAAC7Q,CAAC,CAAC;MAC3B8N,WAAW,EAAEyC,eAAe,CAACqB,qBAAqB;MAClD7D,cAAc,EAAEA,cAAc;MAC9BxD,MAAM,EAAEA,MAAM;MACdC,SAAS,EAAEA,SAAS;MACpBxE,gBAAgB,EAAEA,gBAAgB,CAAChG,CAAC,CAAC;MACrCkG,cAAc,EAAE,SAAAA,eAAAnC,CAAC;QAAA,OAAImC,eAAc,CAACnC,CAAC,EAAE/D,CAAC,CAAC;MAAA;IAAA,EAC3C;EAEV,CAAC,CAAC,CACA;AAEd,CAAC;AAEDQ,OAAA,CAAAQ,OAAA,GAAesP,eAAe,C;;;;;;;AC7Q9B,sE;;;;;;;ACAA,iE;;;;;;;ACAA,2E;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA,IAAAxN,QAAA,GAAApC,mBAAA;AACA,IAAAmR,aAAA,GAAAnR,mBAAA;AAGA,IAAAoR,aAAA,GAAApR,mBAAA;AAWA,IAAMqR,qBAAqB,GAAG;EAC1BxE,IAAI,EAAE,QAAQ;EACdyE,OAAO,EAAEH,aAAA,CAAAI;CACH;AAEV;;;;;AAKA,SAASC,sCAAsCA,CAC3CC,aAAoD;EAEpD,IAAMC,qBAAqB,GAAkB,EAAE;EAC/ClQ,MAAM,CAACwH,IAAI,CAACyI,aAAa,CAAC,CAACjS,OAAO,CAAC,UAAC8G,GAAG,EAAU;IACvC,IAAAwC,EAAA,GAgBF2I,aAAa,CAACnL,GAAG,CAAC;MAZlBqL,KAAK,GASY7I,EAGC,CAZlB6I,KAAK;MACLC,WAAW,GAQM9I,EAGC,CAXlB8I,WAAW;MACXC,QAAQ,GAOS/I,EAGC,CAVlB+I,QAAQ;MACRC,SAAS,GAMQhJ,EAGC,CATlBgJ,SAAS;MACTC,QAAQ,GAKSjJ,EAGC,CARlBiJ,QAAQ;MACCC,YAAY,GAIJlJ,EAGC,CAPlBxI,OAAO;MAEPuM,IAAI,GAEa/D,EAGC,CALlB+D,IAAI;MACJoF,UAAU,GACOnJ,EAGC,CAJlBmJ,UAAU;MACVC,iBAAiB,GAAApJ,EAGC,CAHlBoJ,iBAAiB;MAEdC,oBAAoB,GAAAhI,MAAA,CAAArB,EAAA,EAfrB,mHAgBL,CAAqB;IAEtB,IAAMsJ,WAAW,GAAA5Q,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACTkQ,KAAK,KAAK9G,SAAS,IAAI;MAAE8G,KAAK,EAALA;IAAK,CAAE,CAAC,EACjCC,WAAW,KAAK/G,SAAS,IAAI;MAAE+G,WAAW,EAAXA;IAAW,CAAE,CAAC,EAC7CC,QAAQ,KAAKhH,SAAS,IAAI;MAAEgH,QAAQ,EAARA;IAAQ,CAAE,CAAC,EACvCC,SAAS,KAAKjH,SAAS,IAAI;MAAEiH,SAAS,EAATA;IAAS,CAAE,CAAC,EACzCC,QAAQ,KAAKlH,SAAS,IAAI;MAAEkH,QAAQ,EAARA;IAAQ,CAAE,CAAC,EACvCC,YAAY,KAAKnH,SAAS,IAAI;MAAEvK,OAAO,EAAE0R;IAAY,CAAE,CAC9D;IAED,IAAInF,IAAI,KAAK,QAAQ,EAAE;MACnB6E,qBAAqB,CAACpL,GAAG,CAAC,GAAA9E,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACnB0Q,oBAAoB,GACpBC,WAAW;QACdvF,IAAI,EAAJA;MAAI,IACAoF,UAAU,IAAI;QAAEA,UAAU,EAAET,sCAAsC,CAACS,UAAU;MAAC,CAAE,CACvF;MACD,IAAIC,iBAAiB,EAAE;QACnB,IAAIG,yBAAyB,GAAG,EAAE;QAClC7Q,MAAM,CAACwH,IAAI,CAACkJ,iBAAiB,CAAC,CAAC1S,OAAO,CAAC,UAAC8S,GAAG,EAAU;UACjDD,yBAAyB,GAAA7Q,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAClB4Q,yBAAyB,GACzBb,sCAAsC,CAAArI,eAAA,KAAImJ,GAAG,EAAGJ,iBAAiB,CAACI,GAAG,CAAC,EAAG,CAC/E;QACL,CAAC,CAAC;QACFZ,qBAAqB,CAACpL,GAAG,CAAC,CAAC4L,iBAAiB,GAAGG,yBAAyB;;KAE/E,MAAM;MACHX,qBAAqB,CAACpL,GAAG,CAAC,GAAA9E,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACnB2Q,WAAW;QACdG,KAAK,EAAE,C,gCAEG1F,IAAI,KAAKhC,SAAS,IAAI;UAAEgC,IAAI,EAAJA;QAAI,CAAE,CAAC,EAAKsF,oBAAoB,GAC9Dd,qBAAqB;MACxB,EACJ;;EAET,CAAC,CAAC;EACF,OAAOK,qBAAqB;AAChC;AAmII5R,OAAA,CAAA0R,sCAAA,GAAAA,sCAAA;AAjIJ;;;;;;;AAOA,SAASgB,aAAaA,CAACC,SAAoB;EACvC,IAAMC,cAAc,GAAAlR,MAAA,CAAAC,MAAA,KAAmBgR,SAAS,CAAE;EAClD,IAAIA,SAAS,CAACE,QAAQ,CAACC,OAAO,CAACxB,aAAA,CAAAyB,WAAW,CAACC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE;IAChEJ,cAAc,CAACjB,aAAa,GAAGD,sCAAsC,CAACiB,SAAS,CAAChB,aAAa,CAAC;;EAElGiB,cAAc,CAACK,YAAY,GAAGN,SAAS,CAACM,YAAY,CAACxN,GAAG,CACpD,UAACyN,MAAoB,EAAkB;IACnC,OAAAxR,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAAYuR,MAAM;MAAEjH,IAAI,EAAEiH,MAAM,CAACjH,IAAI,IAAI;IAAK;EAClD,CAAC,CACJ;EACD,OAAO2G,cAAc;AACzB;AA8GI5S,OAAA,CAAA0S,aAAA,GAAAA,aAAA;AA5GJ;;;;;;AAMA,SAASS,sBAAsBA,CAACR,SAAoB;EAChD,IAAMS,4BAA4B,GAAA1R,MAAA,CAAAC,MAAA,KAAmBgR,SAAS,CAAE;EAChES,4BAA4B,CAACH,YAAY,GAAGN,SAAS,CAACM,YAAY,CAACxN,GAAG,CAClE,UAACyN,MAAoB,EAAkB;IACnC,OAAAxR,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAAYuR,MAAM;MAAEjH,IAAI,EAAE;IAAI;EAClC,CAAC,CACJ;EACD,OAAOmH,4BAA4B;AACvC;AAkGIpT,OAAA,CAAAmT,sBAAA,GAAAA,sBAAA;AAhGJ,SAASE,eAAeA,CAACC,MAAe;EACpC,OAAQA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,IAAIA,MAAM,CAACC,IAAI,EAAE,CAACC,UAAU,CAAC,GAAG,CAAC,IAAK,KAAK;AAC3F;AA+FIxT,OAAA,CAAAqT,eAAA,GAAAA,eAAA;AA7FJ;AACA;AAEA;;;;;;;;AAQA,SAASI,qBAAqBA,CAC1BC,UAAwC,EACxCC,aAA2C;EAE3C,IAAMC,iBAAiB,GAAGlS,MAAM,CAACwH,IAAI,CAACyK,aAAa,CAAC;EACpD,OAAOC,iBAAiB,CAAC5N,KAAK,CAC1B,UAAC6N,UAAU;IAAA,OACNF,aAAa,CAACE,UAAU,CAAC,KAAK9I,SAAS,IAAI2I,UAAU,CAACG,UAAU,CAAC,KAAK9I,SAAS,IAC/E4I,aAAa,CAACE,UAAU,CAAC,KAAK9I,SAAS,IAAI2I,UAAU,CAACG,UAAU,CAAC,KAAK9I,SAAU;EAAA,EACxF;AACL;AAEA;;;AAGA,SAAS+I,oBAAoBA,CACzBC,UAAwC,EACxCC,aAA2C;EAE3C,IAAMC,gBAAgB,GAAGvS,MAAM,CAACwH,IAAI,CAAC8K,aAAa,CAAC;EACnD,OAAOC,gBAAgB,CAACjO,KAAK,CACzB,UAACkO,SAAS;IAAA,OACNb,eAAe,CAACW,aAAa,CAACE,SAAS,CAAC,CAAC,KAAKb,eAAe,CAACU,UAAU,CAACG,SAAS,CAAC,CAAC;EAAA,EAC3F;AACL;AAEA;;;;;;;;AAQA,SAASC,gBAAgBA,CACrBT,UAAwC,EACxCK,UAAwC,EACxCK,OAAsB;EAEtB,OAAOA,OAAO,CAACC,IAAI,CAAC,UAACC,MAAM,EAAa;IACpC,IAAMX,aAAa,GAAGrR,QAAA,CAAAiS,GAAG,CAACD,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;IAC3D,IAAMN,aAAa,GAAG1R,QAAA,CAAAiS,GAAG,CAACD,MAAM,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,EAAE,CAAC;IAC3D,IAAMV,iBAAiB,GAAGlS,MAAM,CAACwH,IAAI,CAACyK,aAAa,CAAC;IACpD,IAAMM,gBAAgB,GAAGvS,MAAM,CAACwH,IAAI,CAAC8K,aAAa,CAAC;IAEnD;IACA;IACA,IAAIJ,iBAAiB,CAACvU,MAAM,KAAK,CAAC,IAAI4U,gBAAgB,CAAC5U,MAAM,KAAK,CAAC,EAAE,OAAO,KAAK;IAEjF,OACIoU,qBAAqB,CAACC,UAAU,EAAEC,aAAa,CAAC,IAChDG,oBAAoB,CAACC,UAAU,EAAEC,aAAa,CAAC;EAEvD,CAAC,CAAC;AACN;AAyBIhU,OAAA,CAAAmU,gBAAA,GAAAA,gBAAA;AAlBJ;;;;;;AAMA,SAASK,uBAAuBA,CAACC,kBAA0B;EACvD,OAAOnS,QAAA,CAAAoS,KAAK,CAAC,CAAC,EAAED,kBAAkB,GAAG,CAAC,CAAC,CAAChP,GAAG,CACvC,UAACjG,CAAC;IAAA,OAAuB;MACrBmV,KAAK,KAAA/P,MAAA,CAAKpF,CAAC,SAAAoF,MAAA,CAAMpF,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,EAAE,EAAAoF,MAAA,CAAG,GAAG,CAACgQ,MAAM,CAACpV,CAAC,CAAC,MAAG;MACpD4D,KAAK,EAAE5D;KACV;EAAA,CAAC,CACL;AACL;AAMIQ,OAAA,CAAAwU,uBAAA,GAAAA,uBAAA;AAKJ;;;;;;;;AAQO,IAAMK,YAAY,GAAG,SAAfA,YAAYA,CACrBzF,MAA8B,EAC9BxP,KAAa;EAAA,SAAAkV,IAAA,GAAAC,SAAA,CAAA1V,MAAA,EACV2V,WAAmC,OAAAC,KAAA,CAAAH,IAAA,OAAAA,IAAA,WAAAI,IAAA,MAAAA,IAAA,GAAAJ,IAAA,EAAAI,IAAA;IAAnCF,WAAmC,CAAAE,IAAA,QAAAH,SAAA,CAAAG,IAAA;EAAA;EAAA,UAAAtQ,MAAA,CAAA8B,kBAAA,CAGnC0I,MAAM,CAAC7G,KAAK,CAAC,CAAC,EAAE3I,KAAK,CAAC,GAEtBoV,WAAW,EAAAtO,kBAAA,CAEX0I,MAAM,CAAC7G,KAAK,CAAC3I,KAAK,CAAC;AAAA,CACzB;AAXYI,OAAA,CAAA6U,YAAY,GAAAA,YAAA,C;;;;;;;ACxOzB,kD;;;;;;;ACAA,6E;;;;;;;ACAA,+D;;;;;;;ACAA,0E;;;;;;;ACAA,mE;;;;;;;ACAA,0E;;;;;;;ACAA,mE;;;;;;;ACAA,mC;;;;;;;;;;;;;;ACAA,IAAA5U,KAAA,GAAAC,mBAAA;AACA,IAAAiV,CAAA,GAAAjV,mBAAA;AACA,IAAAoC,QAAA,GAAApC,mBAAA;AACA,IAAAkV,MAAA,GAAAlV,mBAAA;AACA,IAAAmV,SAAA,GAAAnV,mBAAA;AAEA,IAAAoV,oBAAA,GAAApV,mBAAA;AAEA;;;;;;AAMO,IAAMqV,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAClCC,WAA2C,EAElC;EAAA,IADTC,OAAO,GAAAV,SAAA,CAAA1V,MAAA,QAAA0V,SAAA,QAAAhK,SAAA,GAAAgK,SAAA,MAAG,KAAK;EAEf,IAAMzV,IAAI,GAAGgD,QAAA,CAAAiS,GAAG,CAACiB,WAAW,EAAE,yBAAyB,EAAEzK,SAAS,CAAC;EACnE,IAAM2K,MAAM,GAAGpW,IAAI,KAAKyL,SAAS;EACjC,IAAM3L,MAAM,GAAGkD,QAAA,CAAAiS,GAAG,CAACiB,WAAW,EAAE,wBAAwB,EAAEzK,SAAS,CAAC;EACpE,IAAM4K,QAAQ,GAAGvW,MAAM,KAAK2L,SAAS;EACrC,OAAO0K,OAAO,IAAIC,MAAM,IAAIC,QAAQ;AACxC,CAAC;AATY3V,OAAA,CAAAuV,yBAAyB,GAAAA,yBAAA;AAmBtC,IAAMK,SAAS,GAAyD;EACpEC,IAAI,EAAEV,CAAC,CAACW,IAAI;EACZlV,KAAK,EAAEuU,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC;EACxCxU,MAAM,EAAE0T,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC;EACzC;EACA7U,eAAe,EAAE+T,CAAC,CAACa,MAAM;EACzBE,SAAS,EAAEf,CAAC,CAACa;CAChB;AAED;;;;;AAKA,IAAMG,eAAe,GAAG,SAAlBA,eAAeA,CAAIjV,KAA2B,EAAwB;EAAA,IAChEN,KAAK,GAA8BM,KAAK,CAAxCN,KAAK;IAAEa,MAAM,GAAsBP,KAAK,CAAjCO,MAAM;IAAEoU,IAAI,GAAgB3U,KAAK,CAAzB2U,IAAI;IAAEK,SAAS,GAAKhV,KAAK,CAAnBgV,SAAS;EACtC,IAAIL,IAAI,EAAE;IACN,OAAO5V,KAAK,CAACgC,aAAa,CAAC4T,IAAI,EAAE;MAC7BhV,KAAK,EAAE;QACHuV,IAAI,EAAE,KAAK;QACXC,GAAG,EAAE,KAAK;QACVrT,KAAK,EAAEkT,SAAS;QAChB7I,OAAO,EAAE,IAAI;QACbiJ,QAAQ,EAAE,UAAU;QACpBC,SAAS,EAAE;OACd;MACD3V,KAAK,EAAE,KAAK;MACZa,MAAM,EAAE;KACX,CAAC;;EAGN,OAAOxB,KAAA,CAAAgC,aAAA,CAACoT,SAAA,CAAA7U,OAAO;IAACI,KAAK,EAAEA,KAAK;IAAEa,MAAM,EAAEA,MAAM;IAAE+U,KAAK,EAAC,SAAS;IAACC,OAAO,EAAErB,MAAA,CAAAsB,CAAC,CAAC,yBAAyB;EAAC,EAAI;AAC3G,CAAC;AAEDP,eAAe,CAACP,SAAS,GAAGA,SAAS;AACrCO,eAAe,CAACQ,YAAY,GAAG;EAC3B/V,KAAK,EAAE,MAAM;EACba,MAAM,EAAE;CACX;AAEDzB,OAAA,CAAAQ,OAAA,GAAe8U,oBAAA,CAAA9U,OAAsB,CAAC2V,eAAe,CAAC,C;;;;;;;ACzEtD,gD;;;;;;;;;;;;;;;ACAA,IAAAhB,CAAA,GAAAjV,mBAAA;AACA,IAAAoC,QAAA,GAAApC,mBAAA;AACA,IAAA0W,YAAA,GAAA1W,mBAAA;AAQaF,OAAA,CAAA6W,mBAAmB,GAAG1B,CAAC,CAAC2B,KAAK,CAAC;EACvCC,cAAc,EAAE5B,CAAC,CAACa,MAAM;EACxBgB,cAAc,EAAE7B,CAAC,CAAC8B,KAAK,CAACL,YAAA,CAAAM,aAAa,CAAC;EACtCC,MAAM,EAAEhC,CAAC,CAACW;CACb,CAAC;AAEK,IAAMsB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAAzW,IAAA,EAA4E;EAAA,IAAtE0W,aAAa,GAAA1W,IAAA,CAAb0W,aAAa;IAAEC,qBAAqB,GAAA3W,IAAA,CAArB2W,qBAAqB;EACnE,IAAIP,cAAc;EAClB,IAAIC,cAAc;EAElB,IAAMO,cAAc,GAAG;IACnBC,GAAG,EAAE,MAAM;IACXC,IAAI,EAAE,KAAK;IACXC,IAAI,EAAE;GACT;EAED,IAAIP,MAAM;EACV,IAAI,OAAOG,qBAAqB,KAAK,UAAU,EAAE;IAC7C,IAAID,aAAa,IAAI/U,QAAA,CAAAqV,GAAG,CAACN,aAAa,EAAE,MAAM,CAAC,EAAE;MAC7CN,cAAc,GAAGrV,MAAM,CAACwH,IAAI,CAACmO,aAAa,CAAC5O,IAAI,CAAC,CAACmP,KAAK,EAAE;MACxDZ,cAAc,GAAGK,aAAa,CAAC5O,IAAI,CAACsO,cAAc,CAAC;;IAGvD;IACAI,MAAM,GAAG,SAAAA,OAAC5T,CAAC,EAAA/B,KAAA,EAAgC;MAAA,IAA5BqW,OAAO,GAAArW,KAAA,CAAPqW,OAAO;QAAEC,OAAO,GAAAtW,KAAA,CAAPsW,OAAO;MAC3B,IAAI,OAAOD,OAAO,KAAK,QAAQ,EAAE;QAC7B,IAAME,WAAW,GAAGzV,QAAA,CAAAqV,GAAG,CAACJ,cAAc,EAAEO,OAAO,CAAC,GAAGP,cAAc,CAACO,OAAO,CAAC,GAAG,MAAM;QACnFR,qBAAqB,CAAA5V,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACd0V,aAAa,GACb;UAAEW,MAAM,EAAE,CAAC;UAAEvP,IAAI,EAAAY,eAAA,KAAKwO,OAAO,EAAGE,WAAW;QAAE,CAAE,EACpD;OACL,MAAM;QACHT,qBAAqB,CAACD,aAAa,CAAC;;IAE5C,CAAC;;EAGL,OAAO;IACHN,cAAc,EAAdA,cAAc;IACdC,cAAc,EAAdA,cAAc;IACdG,MAAM,EAANA;GACH;AACL,CAAC;AApCYnX,OAAA,CAAAoX,gBAAgB,GAAAA,gBAAA,C;;;;;;;;;;;;;;AChB7B,IAAAjC,CAAA,GAAAjV,mBAAA;AACA,IAAAoC,QAAA,GAAApC,mBAAA;AAcaF,OAAA,CAAAiY,wBAAwB,GAAG9C,CAAC,CAAC2B,KAAK,CAAC;EAC5CoB,QAAQ,EAAE/C,CAAC,CAACgD,IAAI;EAChBhN,OAAO,EAAEgK,CAAC,CAACc,MAAM;EACjBmC,UAAU,EAAEjD,CAAC,CAACc,MAAM;EACpBoC,QAAQ,EAAElD,CAAC,CAACW;CACf,CAAC;AAEK,IAAMwC,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAA3X,IAAA,EAIM;EAAA,IAHlC0W,aAAa,GAAA1W,IAAA,CAAb0W,aAAa;IACbkB,IAAI,GAAA5X,IAAA,CAAJ4X,IAAI;IACJjB,qBAAqB,GAAA3W,IAAA,CAArB2W,qBAAqB;EAErB,IAAMkB,UAAU,GAAID,IAAI,IAAIA,IAAI,CAACC,UAAU,IAAK,CAAC;EACjD,IAAMR,MAAM,GAAIX,aAAa,IAAIA,aAAa,CAACW,MAAM,IAAK,CAAC;EAC3D,IAAM3R,KAAK,GAAGgR,aAAa,IAAIA,aAAa,CAAChR,KAAK;EAClD,IAAM+R,UAAU,GAAG,OAAO/R,KAAK,KAAK,QAAQ,IAAIA,KAAK,GAAG,CAAC,GAAGpC,IAAI,CAACwU,IAAI,CAACD,UAAU,GAAGnS,KAAK,CAAC,GAAG,CAAC;EAC7F,IAAM8E,OAAO,GAAG,OAAO9E,KAAK,KAAK,QAAQ,IAAIA,KAAK,GAAG,CAAC,GAAGpC,IAAI,CAACyU,KAAK,CAACV,MAAM,GAAG3R,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC;EAC3F,IAAM6R,QAAQ,GAAGE,UAAU,GAAG,CAAC,IAAI,OAAOd,qBAAqB,KAAK,UAAU;EAE9E,IAAMqB,eAAe,GAAG,SAAlBA,eAAeA,CAAIpV,CAAC,EAAA/B,KAAA,EAAqD;IAAA,IAAjDoX,IAAI,GAAApX,KAAA,CAAJoX,IAAI;MAASC,QAAQ,GAAArX,KAAA,CAAf6E,KAAK;IACrC,IAAMyS,SAAS,GAAkBxW,QAAA,CAAAyW,SAAS,CAAC1B,aAAa,CAAC;IAEzD,IAAI,OAAOwB,QAAQ,KAAK,QAAQ,EAAE;MAC9BC,SAAS,CAACzS,KAAK,GAAGwS,QAAQ;MAC1BC,SAAS,CAACd,MAAM,GAAG,CAAC;;IAGxB,IAAMgB,SAAS,GAAG,OAAOF,SAAS,CAACzS,KAAK,KAAK,QAAQ,GAAGyS,SAAS,CAACzS,KAAK,GAAG,EAAE;IAC5E,IAAI,OAAOuS,IAAI,KAAK,QAAQ,IAAIA,IAAI,GAAG,CAAC,EAAE;MACtCE,SAAS,CAACzS,KAAK,GAAG2S,SAAS;MAC3BF,SAAS,CAACd,MAAM,GAAG,CAACY,IAAI,GAAG,CAAC,IAAII,SAAS;;IAG7C1B,qBAAqB,CAACwB,SAAS,CAAC;EACpC,CAAC;EAED,OAAO;IACHZ,QAAQ,EAARA,QAAQ;IACR/M,OAAO,EAAPA,OAAO;IACPiN,UAAU,EAAVA,UAAU;IACVC,QAAQ,EAAE,OAAOf,qBAAqB,KAAK,UAAU,GAAGqB,eAAe,GAAGrW,QAAA,CAAA2W;GAC7E;AACL,CAAC;AAnCYjZ,OAAA,CAAAsY,mBAAmB,GAAAA,mBAAA,C;;;;;;;;;;;;;;ACtBhC,IAAYY,WAaX;AAbD,WAAYA,WAAW;EACnBA,WAAA,iCAA6B;EAC7BA,WAAA,qBAAiB;EACjBA,WAAA,+BAA2B;EAC3BA,WAAA,mBAAe;EACfA,WAAA,mBAAe;EACfA,WAAA,mCAA+B;EAC/BA,WAAA,kCAA8B;EAC9BA,WAAA,qBAAiB;EACjBA,WAAA,iBAAa;EACbA,WAAA,iBAAa;EACbA,WAAA,+BAA2B;EAC3BA,WAAA,uBAAmB;AACvB,CAAC,EAbWA,WAAW,GAAXlZ,OAAA,CAAAkZ,WAAW,KAAXlZ,OAAA,CAAAkZ,WAAW,Q;;;;;;;;;;;;;;ACAvB,IAAAjZ,KAAA,GAAAC,mBAAA;AACA,IAAAoC,QAAA,GAAApC,mBAAA;AACA,IAAAiZ,4BAAA,GAAAjZ,mBAAA;AACA,IAAAkZ,SAAA,GAAAlZ,mBAAA;AACA,IAAAmZ,eAAA,GAAAnZ,mBAAA;AACA,IAAAoZ,iBAAA,GAAApZ,mBAAA;AACA,IAAAqZ,QAAA,GAAArZ,mBAAA;AACA,IAAAsZ,oBAAA,GAAAtZ,mBAAA;AACA,IAAAC,mBAAA,GAAAD,mBAAA;AACA,IAAAuZ,UAAA,GAAAvZ,mBAAA;AACA,IAAAwZ,iBAAA,GAAAxZ,mBAAA;AACA,IAAAyZ,iCAAA,GAAAzZ,mBAAA;AAGA,IAAA0Z,IAAA,GAAA1Z,mBAAA;AACA,IAAA2Z,qBAAA,GAAA3Z,mBAAA;AAEA,IAAAoR,aAAA,GAAApR,mBAAA;AACA,IAAA4Z,YAAA,GAAA5Z,mBAAA;AACA,IAAA6Z,eAAA,GAAA7Z,mBAAA;AACA,IAAA8Z,aAAA,GAAA9Z,mBAAA;AACA,IAAA+Z,qBAAA,GAAA/Z,mBAAA;AACA,IAAAga,mBAAA,GAAAha,mBAAA;AACA,IAAAia,iBAAA,GAAAja,mBAAA;AAgBA;;;;;AAKA,IAAMka,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIC,IAAsB,EAAS;EAAA,IAEjDC,QAAQ,GAKRD,IAAI,CALJC,QAAQ;IACR3H,SAAS,GAIT0H,IAAI,CAJJ1H,SAAS;IAAA4H,qBAAA,GAITF,IAAI,CAHJG,eAAe;IAAfA,eAAe,GAAAD,qBAAA,cAAG,YAAK,CAAE,CAAC,GAAAA,qBAAA;IAC1BE,oBAAoB,GAEpBJ,IAAI,CAFJI,oBAAoB;IACpBC,kBAAkB,GAClBL,IAAI,CADJK,kBAAkB,EAGtB;EACA,IAAMC,iBAAiB,GAAGtB,eAAA,CAAAuB,kBAAkB,CAACN,QAAQ,CAAC;EACtD,IAAMO,cAAc,GAAGnB,iBAAA,CAAAoB,uBAAuB,CAACnI,SAAS,CAAChB,aAAa,EAAE,SAAS,CAAC;EAElF,IAAMoJ,YAAY,GAAG,SAAfA,YAAYA,CAAI7Z,KAAwB,EAA2C;;QAEjF8Z,IAAI,GAWJ9Z,KAAK,CAXL8Z,IAAI;MACJC,gBAAgB,GAUhB/Z,KAAK,CAVL+Z,gBAAgB;MAChBzF,WAAW,GASXtU,KAAK,CATLsU,WAAW;MACX0F,OAAO,GAQPha,KAAK,CARLga,OAAO;MAAAC,cAAA,GAQPja,KAAK,CAPLka,OAAO;MAAPA,OAAO,GAAAD,cAAA,cAAG,EAAE,GAAAA,cAAA;MACZva,KAAK,GAMLM,KAAK,CANLN,KAAK;MACLa,MAAM,GAKNP,KAAK,CALLO,MAAM;MACN4Z,eAAe,GAIfna,KAAK,CAJLma,eAAe;MACfC,cAAc,GAGdpa,KAAK,CAHLoa,cAAc;MACdja,KAAK,GAELH,KAAK,CAFLG,KAAK;MACLiW,qBAAqB,GACrBpW,KAAK,CADLoW,qBAAqB;IAAA,IAAAiE,iBAAA,GAEMtb,KAAK,CAACub,UAAU,CAAClC,iBAAA,CAAA9Y,OAAe,CAAC;MAAxDib,kBAAkB,GAAAF,iBAAA,CAAlBE,kBAAkB;IAC1B,IAAIA,kBAAkB,EAAE;MACpB;;;;;;;;MASA,IAAI,CAAClC,QAAA,CAAA/Y,OAAM,CAACkb,wBAAwB,EAAE,EAAE;QACpCnC,QAAA,CAAA/Y,OAAM,CAACmb,wBAAwB,CAACF,kBAAkB,CAAC;;;IAI3D,IAAMG,SAAS,GAAG,SAAZA,SAASA,CAAGC,QAAQ,EAAG;MAAA,IAAA7S,EAAA,EAAAD,EAAA;MAAC,QAAAA,EAAA,IAAAC,EAAA,GAAA2J,SAAS,CAACmJ,MAAM,EAACD,QAAQ,CAAC,cAAA9S,EAAA,uBAAAA,EAAA,CAAAgT,IAAA,CAAA/S,EAAA,EAAG9H,KAAK,CAAC;IAAA;IACjE,IAAM8a,gBAAgB,GAAGJ,SAAS,CAAC,wBAAwB,CAAC;IAAC,IAAAK,qBAAA,GAKzD9C,4BAAA,CAAA3Y,OAA0B,CAAC;QAAEa,KAAK,EAALA;MAAK,CAAE,CAAC;MAH7B6a,kBAAkB,GAAAD,qBAAA,CAA1BE,MAAM;MACOC,uBAAuB,GAAAH,qBAAA,CAApCI,WAAW;MACFC,mBAAmB,GAAAL,qBAAA,CAA5BM,OAAO;IAGX,IAAIC,gBAAgB,GAAS,EAAE,CAAC,CAAC;IAAA,IAAA/R,eAAA,GACyBxK,KAAK,CAACyK,QAAQ,CAAC,EAAE,CAAC;MAAAC,gBAAA,GAAAjB,cAAA,CAAAe,eAAA;MAArEgS,qBAAqB,GAAA9R,gBAAA;MAAE+R,wBAAwB,GAAA/R,gBAAA,KAAwB;IAC9E,IAAMgS,kBAAkB,GAAG1c,KAAK,CAACub,UAAU,CAAqBhC,oBAAA,CAAAhZ,OAAkB,CAAC;IAAC,IAAAgO,gBAAA,GAE1DvO,KAAK,CAACyK,QAAQ,IAAA9F,MAAA,CAAI+N,SAAS,CAAC7S,IAAI,SAAA8E,MAAA,CAAMgV,IAAA,CAAAgD,UAAU,EAAE,EAAG;MAAAnO,gBAAA,GAAA/E,cAAA,CAAA8E,gBAAA;MAAxEqO,eAAe,GAAApO,gBAAA;IAAA,IAAAG,gBAAA,GAE0C3O,KAAK,CAACyK,QAAQ,CAC1EoS,OAAO,CACHH,kBAAkB,IACdA,kBAAkB,CAACI,kCAAkC,IACrD,OAAOC,MAAM,KAAK,WAAW,CACpC,CACJ;MAAAnO,gBAAA,GAAAnF,cAAA,CAAAkF,gBAAA;MANMqO,wBAAwB,GAAApO,gBAAA;MAAEqO,2BAA2B,GAAArO,gBAAA;IAQ5D2N,gBAAgB,GAAGxC,aAAA,CAAAmD,WAAW,CAAC,YAA8B;MACzD,IAAI;QACA,IAAIF,wBAAwB,EAAE;UAC1B,IAAMG,iBAAiB,GAAG;YACtBhC,OAAO,EAAE9Y,QAAA,CAAA+a,YAAY,CAAC,EAAE,EAAEjC,OAAO,EAAEzI,SAAS,CAAC2K,cAAc,CAAC;YAC5DpC,OAAO,EAAEzB,UAAA,CAAA8D,oCAAoC,CAAC,EAAE,EAAErC,OAAO,EAAEL,cAAc;WAC5E;UACD,IAAM2C,kCAAkC,GAAuC;YAC3EX,eAAe,EAAfA,eAAe;YACf3b,KAAK,EAALA,KAAK;YACLga,OAAO,EAAEkC,iBAAiB;YAC1B5H,WAAW,EAAXA,WAAW;YACXnU,KAAK,EAAEsR,SAAS,CAACmJ;WACpB;UACDnC,iCAAA,CAAAnZ,OAA4B,CAACid,QAAQ,CAACD,kCAAkC,CAAC,CACpEE,IAAI,CAAC,UAAAC,OAAO,EAAG;YACZjB,wBAAwB,CAACiB,OAAO,CAACA,OAAO,CAAC;UAC7C,CAAC,CAAC,CACDC,KAAK,CAAC,UAAAra,CAAC,EAAG;YACP;YACAmI,OAAO,CAACD,KAAK,iDAAA7G,MAAA,CAAiDrB,CAAC,CAACkT,OAAO,EAAG;YAC1EyG,2BAA2B,CAAC,KAAK,CAAC;UACtC,CAAC,CAAC;SACT,MAAM;UACH,OAAO9D,SAAA,CAAAyE,OAAI,CAACJ,QAAQ,CAChB;YACIrC,OAAO,EAAE9Y,QAAA,CAAA+a,YAAY,CAAC,EAAE,EAAEjC,OAAO,EAAEzI,SAAS,CAAC2K,cAAc,CAAC;YAC5DpC,OAAO,EAAEzB,UAAA,CAAA8D,oCAAoC,CAAC,EAAE,EAAErC,OAAO,EAAEL,cAAc;WAC5E,EACDrF,WAAW,EACXoG,SAAS,CACZ;;OAER,CAAC,OAAOrY,CAAC,EAAE;QACR;QACAmI,OAAO,CAACD,KAAK,yCAAA7G,MAAA,CAAyCrB,CAAC,CAACkT,OAAO,EAAG;QAClE,OAAO,EAAE;;MAEb,OAAO,EAAE;IACb,CAAC,EAAE,CACCyF,kBAAkB,EAClBE,uBAAuB,EACvBE,mBAAmB,EACnBpB,OAAO,EACPE,OAAO,EACP5F,WAAW,EACXiG,kBAAkB,EAClBwB,wBAAwB,CAC3B,CAAC;IAEF,IAAMa,qBAAqB,GAAG,CAACb,wBAAwB,GAAGT,gBAAgB,GAAGC,qBAAqB;IAElG;IACA;IACA;IACA,IAAMsB,sBAAsB,GAAGjB,OAAO,CAClCH,kBAAkB,IAAIA,kBAAkB,CAACqB,4BAA4B,CACxE;IACD,IAAIC,sBAAsB,GAAGH,qBAAqB;IAClD,IACIC,sBAAsB,KACtB,CAAA/U,EAAA,GAAA2J,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEE,QAAQ,cAAA7J,EAAA,uBAAAA,EAAA,CAAEkV,QAAQ,CAAC5M,aAAA,CAAAyB,WAAW,CAACoL,OAAO,CAAC,KAClD,CAAAF,sBAAsB,aAAtBA,sBAAsB,uBAAtBA,sBAAsB,CAAEG,aAAa,MAAK9M,aAAA,CAAAyB,WAAW,CAACoL,OAAO,EAC/D;MACEF,sBAAsB,GAAAvc,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACfmc,qBAAqB;QACxB1c,eAAe,EAAE6c,sBAAsB,aAAtBA,sBAAsB,uBAAtBA,sBAAsB,CAAEI;MAAsB,EAClE;;IAEL;IACA;IACApe,KAAK,CAACoL,SAAS,CAAC,YAAW;MACvBgQ,eAAe,CAAC4C,sBAAsB,CAAC;IAC3C,CAAC,CAAC;IAEFhe,KAAK,CAACoL,SAAS,CAAC,YAAmB;MAC/B,OAAO,YAAK;QACR,IAAI4R,wBAAwB,EAAE;UAC1BtD,iCAAA,CAAAnZ,OAA4B,CAAC8d,KAAK,CAACzB,eAAe,CAAC;;MAE3D,CAAC;MACD;IACJ,CAAC,EAAE,EAAE,CAAC;IAEN;IAAA,IAAA0B,qBAAA,GACyC5L,SAAS,CAA1C6L,aAAa;MAAbA,aAAa,GAAAD,qBAAA,cAAG,EAAE,GAAAA,qBAAA;MAAE1L,QAAQ,GAAKF,SAAS,CAAtBE,QAAQ;IACpC,IAAM4L,OAAO,GAAGxE,qBAAA,CAAAyE,WAAW,CAACF,aAAa,EAAEV,qBAAqB,CAAC;IACjE,IACIW,OAAO,CAACpf,MAAM,GAAG,CAAC,IAClBwT,QAAQ,CAACqL,QAAQ,CAAC5M,aAAA,CAAAyB,WAAW,CAAC4L,WAAW,CAAC,IAC1ChM,SAAS,CAACnM,GAAG,KAAK,oBAAoB,CAAC;IAAA,EACzC;MACE,OACIvG,KAAA,CAAAgC,aAAA,CAACgY,qBAAA,CAAAzZ,OAAmB;QAAA,aACN,uBAAuB;QACjCI,KAAK,EAAEA,KAAK;QACZa,MAAM,EAAEA,MAAM;QACdmd,YAAY,EAAEH,OAAO;QACrBrd,eAAe,EAAE4a;MAAgB,EACnC;;IAIV;IACA,IAAM6C,kBAAkB,GAAG,EAAE;IAC7B,IAAI5D,gBAAgB,IAAID,IAAI,KAAK,MAAM,IAAIrI,SAAS,CAACE,QAAQ,CAACC,OAAO,CAACxB,aAAA,CAAAyB,WAAW,CAAC+L,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;MAC5F,IAAMC,eAAe,GAAGpM,SAAS,CAACqM,MAAM;MACxCtd,MAAM,CAACwH,IAAI,CAAC6V,eAAe,CAAC,CAACrf,OAAO,CAAC,UAACuf,SAAS,EAAU;QACrD,IAAMC,qBAAqB,GAAG5c,QAAA,CAAA6c,SAAS,OAAAva,MAAA,CAAOqa,SAAS,EAAG;QAC1DJ,kBAAkB,CAACK,qBAAqB,CAAC,GAAG,IAAI;QAChD;QACA;QAAA,IACQE,WAAW,GAAKL,eAAe,CAACE,SAAS,CAAC,CAA1CG,WAAW;QACnB,IAAInW,OAAO,GAAG,EAAE;QAChB,IAAIgM,KAAK,CAACoK,OAAO,CAACD,WAAW,CAAC,IAAIA,WAAW,CAAC/f,MAAM,EAAE;UAClD+f,WAAW,CAAC1f,OAAO,CAAC,UAAA4f,CAAC,EAAG;YACpBrW,OAAO,CAACqW,CAAC,CAAC,GAAGxB,qBAAqB,CAACwB,CAAC,CAAC;UACzC,CAAC,CAAC;;QAGNT,kBAAkB,CAACK,qBAAqB,CAAC,GAAG,UAACK,EAAE,EAA6B;UACxE,IAAIA,EAAE,IAAIA,EAAE,CAACtW,OAAO,EAAE;YAClBA,OAAO,GAAGsW,EAAE,CAACtW,OAAO;;UAGxB,OAAOqS,cAAc,CAAC;YAAEkE,aAAa,EAAED,EAAE;YAAEtW,OAAO,EAAPA,OAAO;YAAE8D,IAAI,EAAEkS;UAAS,CAAE,CAAC;QAC1E,CAAC;MACL,CAAC,CAAC;;IAGN;IACA,IAAMQ,gBAAgB,GAAGjF,eAAe,CAAA9Y,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACjCT,KAAK,GACL4c,qBAAqB,GACrBe,kBAAkB;MACrBjD,SAAS,EAATA;IAAS,GACX;IAEF;;;;;;;;;;;;;;IAcA,IAAI8D,kBAAkB,GAAG,EAAE;IAC3B,IAAMC,SAAS,GAAG,uBAAuB;IACzC,IAAMC,qBAAqB,GACtBtd,QAAA,CAAAqV,GAAG,CAACmG,qBAAqB,EAAE6B,SAAS,CAAC,IAAI7B,qBAAqB,CAAC6B,SAAS,CAAC,IAAK,SAAS;IAC5F,IACIhN,SAAS,CAACE,QAAQ,CAACC,OAAO,CAACxB,aAAA,CAAAyB,WAAW,CAAC8M,aAAa,CAAC,GAAG,CAAC,CAAC,IAC1Dvd,QAAA,CAAAqV,GAAG,CAACnC,WAAW,EAAEoK,qBAAqB,CAAC,EACzC;MACE,IAAMvI,aAAa,GAAG/U,QAAA,CAAAiS,GAAG,CAACiB,WAAW,EAAE,CAACoK,qBAAqB,EAAE,eAAe,CAAC,EAAE,EAAE,CAAC;MACpF,IAAMrH,IAAI,GAAGjW,QAAA,CAAAiS,GAAG,CAACiB,WAAW,EAAE,CAACoK,qBAAqB,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;MAClE,IAAME,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAI7W,OAAgC;QAAA,OAC/DqO,qBAAqB,CAACsI,qBAAqB,EAAE3W,OAAO,CAAC;MAAA;MAEzD,IAAM8W,UAAU,GAAGjG,YAAA,CAAA1C,gBAAgB,CAAC;QAChCC,aAAa,EAAbA,aAAa;QACbkB,IAAI,EAAJA,IAAI;QACJjB,qBAAqB,EAAEwI;OAC1B,CAAC;MAEF,IAAME,eAAe,GAAGjG,eAAA,CAAAzB,mBAAmB,CAAC;QACxCjB,aAAa,EAAbA,aAAa;QACbkB,IAAI,EAAJA,IAAI;QACJjB,qBAAqB,EAAEwI;OAC1B,CAAC;MAEFJ,kBAAkB,GAAG;QACjBK,UAAU,EAAVA,UAAU;QACVC,eAAe,EAAfA;OACH;;IAGL;IACA,IAAI/C,wBAAwB,IAAIvb,MAAM,CAACwH,IAAI,CAAC4U,qBAAqB,CAAC,CAACze,MAAM,KAAK,CAAC,EAAE;MAC7E,OAAO,IAAI;;IAGf,OACIY,KAAA,CAAAgC,aAAA,CAAC0Y,iBAAiB,EAAAjZ,MAAA,CAAAC,MAAA;MACdqZ,IAAI,EAAEA,IAAI;MACVpa,KAAK,EAAEA,KAAK;MACZa,MAAM,EAAEA;IAAM,GACVqc,qBAAqB,EACrB2B,gBAAgB,EAChBZ,kBAAkB,EAClBa,kBAAkB,EACxB;EAEV,CAAC;EAED3E,YAAY,CAACnF,SAAS,GAAAlU,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACfkY,qBAAA,CAAArZ,OAAmB,CAACoV,SAAS,GAC7B0E,QAAQ,CAAC1E,SAAS,CACxB;EAEDmF,YAAY,CAACpE,YAAY,GAAAjV,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAClBkY,qBAAA,CAAArZ,OAAmB,CAACmW,YAAY,GAChC2D,QAAQ,CAAC3D,YAAY;IACxB;IACAtV,KAAK,EAAE;EAAE,EACZ;EACD;EACA0Z,YAAY,CAAC7H,MAAM,GAAGP,SAAS;EAE/B;EACA,OAAOxS,mBAAA,CAAA8f,SAAS,CACZ9F,iBAAA,CAAA3Z,OAAe,CAAC0Z,mBAAA,CAAA1Z,OAAiB,CAACua,YAAY,EAAEN,oBAAoB,CAAC,EAAEC,kBAAkB,CAAC,CAC7F;AACL,CAAC;AAED1a,OAAA,CAAAQ,OAAA,GAAe4Z,gBAAgB,C;;;;;;;AC1U/B,sE;;;;;;;ACAA,wE;;;;;;;ACAA,2C;;;;;;;ACAA,8C;;;;;;;ACAA,oE;;;;;;;;;;;;;;;;;;;;;;;;ACAA;AACA,IAAAna,KAAA,GAAAC,mBAAA;AACA,IAAAI,YAAA,GAAAJ,mBAAA;AACA,IAAAggB,KAAA,GAAAhgB,mBAAA;AACA,IAAAuZ,UAAA,GAAAvZ,mBAAA;AACA,IAAAwZ,iBAAA,GAAAxZ,mBAAA;AAEA,IAAAigB,SAAA,GAAAjgB,mBAAA;AAiMyBF,OAAA,CAAAogB,OAAA,GAjMlBD,SAAA,CAAA3f,OAAO;AACd,IAAA6f,QAAA,GAAAngB,mBAAA;AAgMiBF,OAAA,CAAAkT,MAAA,GAhMVmN,QAAA,CAAA7f,OAAM;AACb,IAAA8f,kBAAA,GAAApgB,mBAAA;AACA,IAAAqgB,UAAA,GAAArgB,mBAAA;AACA,IAAAsgB,aAAA,GAAAtgB,mBAAA;AACA,IAAAugB,WAAA,GAAAvgB,mBAAA;AAEA,IAAMwgB,WAAW,GAAG,SAAdA,WAAWA,CAAIC,CAAC,EAAEC,UAAU,EAAEC,cAAc,EAAEC,eAAe,EAAI;EACnE;EACA;EACA,IAAMC,SAAS,GAAGH,UAAU,CAAC9N,OAAO,CAAC,QAAQ,CAAC;EAC9C,IAAMkO,KAAK,GAAGL,CAAC;EAEf,IAAII,SAAS,GAAG,CAAC,CAAC,EAAE;IAChBC,KAAK,CAACC,MAAM,GAAGJ,cAAc,CAAC1hB,OAAO,CAAC4hB,SAAS,CAAC;;EAEpD;EACA,IAAMG,OAAO,GAAGN,UAAU,CAAC9N,OAAO,CAAC,MAAM,CAAC;EAC1C,IAAIoO,OAAO,GAAG,CAAC,CAAC,EAAE;IACdF,KAAK,CAACpQ,IAAI,GAAGiQ,cAAc,CAAC1hB,OAAO,CAAC+hB,OAAO,CAAC,CAACzb,GAAG,CAAC,UAAA0b,QAAQ,EAAG;MACxD,OAAO,OAAOA,QAAQ,KAAK,QAAQ,GAAGC,IAAI,CAACC,KAAK,CAACF,QAAQ,CAAC,GAAGA,QAAQ;IACzE,CAAC,CAAC;;EAEN;EACA,IAAIzf,MAAM,CAAC4f,SAAS,CAACC,cAAc,CAACxF,IAAI,CAACiF,KAAK,EAAE,cAAc,CAAC,EAAE;IAC7DA,KAAK,CAACha,YAAY,GAAGiO,KAAK,CAACoK,OAAO,CAAC2B,KAAK,CAACha,YAAY,CAAC,GAChD1G,YAAA,CAAAkhB,qBAAqB,CAACR,KAAK,CAACha,YAAY,CAAC,GACzC+D,SAAS;;EAEnB,IAAIrJ,MAAM,CAAC4f,SAAS,CAACC,cAAc,CAACxF,IAAI,CAACiF,KAAK,EAAE,YAAY,CAAC,EAAE;IAC3DA,KAAK,CAAC/Y,UAAU,GAAGgN,KAAK,CAACoK,OAAO,CAAC2B,KAAK,CAAC/Y,UAAU,CAAC,GAC5C3H,YAAA,CAAAkhB,qBAAqB,CAACR,KAAK,CAAC/Y,UAAU,CAAC,GACvC8C,SAAS;;EAEnBiW,KAAK,CAACnY,QAAQ,GAAGiY,eAAe;AACpC,CAAC;AAEM,IAAMtG,eAAe,GAAG,SAAlBA,eAAeA,CAAItZ,KAM/B,EAAS;;MACE0a,SAAS,GAAkD1a,KAAK,CAAhE0a,SAAS;IAAEva,KAAK,GAA2CH,KAAK,CAArDG,KAAK;IAAEogB,MAAM,GAAmCvgB,KAAK,CAA9CugB,MAAM;IAAEjM,WAAW,GAAsBtU,KAAK,CAAtCsU,WAAW;IAAEkM,eAAe,GAAKxgB,KAAK,CAAzBwgB,eAAe;EAC9D,IAAMC,mBAAmB,GAAG,CAAC,wBAAwB,EAAE,wBAAwB,CAAC;EAChF,IAAMC,WAAW,GAA4B,EAAE;EAC/CD,mBAAmB,CAACjiB,OAAO,CAAC,UAAAmiB,QAAQ,EAAG;IACnCD,WAAW,CAACC,QAAQ,CAAC,GAAGjG,SAAS,CAACiG,QAAQ,CAAC;EAC/C,CAAC,CAAC;EACF;EACA;EACA,IAAMhb,gBAAgB,GAAG,CAAAxF,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEygB,aAAa,IAAGzgB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEygB,aAAa,CAACzF,WAAW,GAAG,MAAM;EAEzF,IAAMwE,cAAc,GAAG,CAAA9X,EAAA,IAAAC,EAAA,GAAAwM,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEuM,OAAO,cAAA/Y,EAAA,uBAAAA,EAAA,CAAE1J,IAAI,cAAAyJ,EAAA,cAAAA,EAAA,GAAI,EAAE;EACvD;EACA;EACA,IAAM+X,eAAe,GAAGL,WAAA,CAAAvhB,qBAAqB,CAAC2hB,cAAc,CAAC1hB,OAAO,EAAE0hB,cAAc,CAACzhB,MAAM,CAAC;EAE5F,IAAMwhB,UAAU,GAAG,CAAC,CAAA9X,EAAA,GAAA+X,cAAc,CAACzhB,MAAM,cAAA0J,EAAA,cAAAA,EAAA,GAAI,EAAE,EAAErD,GAAG,CAAC,UAAA9F,KAAK;IAAA,OACtD,OAAOA,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGA,KAAK,CAACG,IAAI;EAAA,EACjD;EAED2hB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAE/hB,OAAO,CAAC,UAAAihB,CAAC;IAAA,OAAID,WAAW,CAACC,CAAC,EAAEC,UAAU,EAAEC,cAAc,EAAEC,eAAe,CAAC;EAAA,EAAC;EAEjF,OAAApf,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAAYigB,WAAW;IAAE/a,gBAAgB,EAAhBA;EAAgB,IAAK4a,MAAM;IAAEC,eAAe,EAAfA;EAAe;AACzE,CAAC;AA7BY1hB,OAAA,CAAAwa,eAAe,GAAAA,eAAA;AA+B5B,IAAMwH,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAGjgB,GAAG,EAAG;EAC5B,IAAMkgB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIjZ,EAAuC,EAAiB;;QAAtDwM,WAAW,GAASxM,EAAiB,CAArCwM,WAAW;MAAE0F,OAAO,GAAAlS,EAAiB,CAAxBkS,OAAO;MAAK9Q,UAAU,GAAAC,MAAA,CAAArB,EAAA,EAArC,0BAAuC,CAAF;IAC/D,IAAI,CAACwM,WAAW,IAAI,CAACA,WAAW,CAACuM,OAAO,IAAI,CAACvM,WAAW,CAACuM,OAAO,CAACziB,IAAI,EAAE;MACnE,OAAOW,KAAA,CAAAgC,aAAA,CAACF,GAAG,EAAAL,MAAA,CAAAC,MAAA,KAAKyI,UAAU;QAAE8Q,OAAO,EAAEA;MAAO,GAAI;;IAEpD,IAAMgH,aAAa,GAAGzI,UAAA,CAAA8D,oCAAoC,CACtD,EAAE,EACFrC,OAAO,EACPxB,iBAAA,CAAAoB,uBAAuB,CAACuF,QAAA,CAAA7f,OAAM,CAACmR,aAAa,EAAE,SAAS,CAAC,CAC3D;IACD,IAAI,CAAA5I,EAAA,GAAAmZ,aAAa,CAACT,MAAM,cAAA1Y,EAAA,uBAAAA,EAAA,CAAG,CAAC,CAAC,EAAE;MAC3B,IAAI,EAAAmF,EAAA,IAAApF,EAAA,GAAAoZ,aAAa,CAACT,MAAM,cAAA3Y,EAAA,uBAAAA,EAAA,CAAG,CAAC,CAAC,cAAAoF,EAAA,uBAAAA,EAAA,CAAEnB,IAAI,MAAK,QAAQ,EAAE;QAC9CmV,aAAa,CAACT,MAAM,CAAC,CAAC,CAAC,CAAC9Z,gBAAgB,GAAGuY,KAAA,CAAAiC,gBAAgB,CACvD,CAAAxR,EAAA,GAAAuR,aAAa,CAACT,MAAM,CAAC,CAAC,CAAC,CAACnc,UAAU,cAAAqL,EAAA,cAAAA,EAAA,GAAIuR,aAAa,CAACT,MAAM,CAAC,CAAC,CAAC,CAACnc,UAAU,EACxEkQ,WAAW,CACd;;MACJ,IACOpW,MAAM,GAAKoW,WAAW,CAACuM,OAAO,CAACziB,IAAI,CAAnCF,MAAM;MACd,IACI6V,KAAK,CAACoK,OAAO,CAAC6C,aAAa,CAACT,MAAM,CAAC,CAAC,CAAC,CAAC5Z,uBAAuB,CAAC,IAC9DoN,KAAK,CAACoK,OAAO,CAACjgB,MAAM,CAAC,IACrBA,MAAM,CAACC,MAAM,EACf;QAAA,IAAA+iB,qBAAA,GACoCF,aAAa,CAACT,MAAM,CAAC,CAAC,CAAC,CAAjD9Z,gBAAgB;UAAhBA,gBAAgB,GAAAya,qBAAA,cAAG,EAAE,GAAAA,qBAAA;QAC7BF,aAAa,CAACT,MAAM,CAAC,CAAC,CAAC,CAAC5Z,uBAAuB,GAAGqa,aAAa,CAACT,MAAM,CAAC,CAAC,CAAC,CAAC5Z,uBAAuB,CAACwa,MAAM,CACpG,UAAC1iB,KAAa;UAAA,OACV,CAAC,OAAOP,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,GACxBA,MAAM,CAAC8e,QAAQ,CAACve,KAAK,CAAC,GACtBP,MAAM,CAACqG,GAAG,CAAC,UAAC6c,CAAmB;YAAA,OAAKA,CAAC,CAACxiB,IAAI;UAAA,EAAC,CAACoe,QAAQ,CAACve,KAAK,CAAC,KACjE,CAACgI,gBAAgB,CAACuW,QAAQ,CAACve,KAAK,CAAC;QAAA,EACxC;;;IAGT,OAAOM,KAAA,CAAAgC,aAAA,CAACF,GAAG,EAAAL,MAAA,CAAAC,MAAA;MAAC6T,WAAW,EAAEA,WAAW;MAAE0F,OAAO,EAAEgH;IAAa,GAAM9X,UAAU,EAAI;EACpF,CAAC;EACD6X,oBAAoB,CAACrM,SAAS,GAAG7T,GAAG,CAAC6T,SAAS;EAC9CqM,oBAAoB,CAACtL,YAAY,GAAG5U,GAAG,CAAC4U,YAAY;EACpDsL,oBAAoB,CAAC/O,MAAM,GAAGnR,GAAG,CAACmR,MAAM;EACxC,OAAO+O,oBAAoB;AAC/B,CAAC;AAED;AACA,IAAMM,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGxgB,GAAG,EAAG;EAChC;EACA,IAAMygB,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIxZ,EAA8B,EAAI;IAAlC,IAAEwM,WAAW,GAAAxM,EAAiB,CAA5BwM,WAAW;MAAKpL,UAAU,GAAAC,MAAA,CAAArB,EAAA,EAA5B,eAA8B,CAAF;IAC1D,IAAI,CAACwM,WAAW,IAAI,CAACA,WAAW,CAACuM,OAAO,IAAI,CAACvM,WAAW,CAACuM,OAAO,CAACziB,IAAI,EAAE;MACnE,OAAOW,KAAA,CAAAgC,aAAA,CAACF,GAAG,EAAAL,MAAA,CAAAC,MAAA,KAAKyI,UAAU,EAAI;;IACjC,IACO2X,OAAO,GAAKvM,WAAW,CAAvBuM,OAAO;IAAA,IAAAU,aAAA,GACaV,OAAO,CAACziB,IAAI;MAAhCH,OAAO,GAAAsjB,aAAA,CAAPtjB,OAAO;MAAEC,MAAM,GAAAqjB,aAAA,CAANrjB,MAAM;IACvB,IAAIsjB,UAAU,GAAG,EAAE;IACnB,IAAIC,SAAS,GAAG,EAAE;IAClB,IAAIvjB,MAAM,IAAID,OAAO,IAAIC,MAAM,CAACC,MAAM,KAAKF,OAAO,CAACE,MAAM,EAAE;MACvD;MACA,IAAMujB,eAAe,GAAG,IAAIC,GAAG,CAC3BzjB,MAAM,CAAC+I,MAAM,CAAC,UAAC2a,GAAG,EAAEvf,CAAC,EAAE/D,CAAC,EAAI;QACxB,IAAMG,KAAK,GAAG,OAAO4D,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGA,CAAC,CAACzD,IAAI,CAAC0N,QAAQ,EAAE;QAC3D,IACI7N,KAAK,CAAC6T,UAAU,CAAC,GAAG,CAAC,IACrB,CAAC7T,KAAK,CAAC6T,UAAU,CAACgN,aAAA,CAAA/d,gBAAgB,CAAC,IACnC,CAAC+d,aAAA,CAAA9d,sBAAsB,CAACwb,QAAQ,CAACve,KAAK,CAAC,EACzC;UACEmjB,GAAG,CAAC/iB,IAAI,CAACP,CAAC,CAAC;;QAEf,OAAOsjB,GAAG;MACd,CAAC,EAAE,EAAE,CAAC,CACT;MACDH,SAAS,GAAGvjB,MAAM,CAACijB,MAAM,CAAC,UAAC1d,CAAC,EAAEnF,CAAC;QAAA,OAAK,CAACojB,eAAe,CAACjL,GAAG,CAACnY,CAAC,CAAC;MAAA,EAAC;MAC5DkjB,UAAU,GAAGvjB,OAAO,CAACkjB,MAAM,CAAC,UAAC1d,CAAC,EAAEnF,CAAC;QAAA,OAAK,CAACojB,eAAe,CAACjL,GAAG,CAACnY,CAAC,CAAC;MAAA,EAAC;;IAElE,IAAMujB,mBAAmB,GAAArhB,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAClB6T,WAAW;MACduM,OAAO,EAAArgB,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACAogB,OAAO;QACVziB,IAAI,EAAAoC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACGogB,OAAO,CAACziB,IAAI;UACfH,OAAO,EAAEujB,UAAU;UACnBtjB,MAAM,EAAEujB;QAAS;MAAA;IAAA,EAG5B;IACD,OAAO1iB,KAAA,CAAAgC,aAAA,CAACF,GAAG,EAAAL,MAAA,CAAAC,MAAA;MAAC6T,WAAW,EAAEuN;IAAmB,GAAM3Y,UAAU,EAAI;EACpE,CAAC;EACDoY,wBAAwB,CAAC5M,SAAS,GAAG7T,GAAG,CAAC6T,SAAS;EAClD4M,wBAAwB,CAAC7L,YAAY,GAAG5U,GAAG,CAAC4U,YAAY;EACxD6L,wBAAwB,CAACtP,MAAM,GAAGnR,GAAG,CAACmR,MAAM;EAC5C,OAAOsP,wBAAwB;AACnC,CAAC;AAED;AACA;AACA,IAAMQ,eAAe,GAAG,SAAlBA,eAAeA,CAAGjhB,GAAG,EAAG;EAC1B;EACA,IAAMkhB,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIja,EAAuC,EAAI;IAAA,IAAzCwM,WAAW,GAASxM,EAAiB,CAArCwM,WAAW;MAAE0F,OAAO,GAAAlS,EAAiB,CAAxBkS,OAAO;MAAK9Q,UAAU,GAAAC,MAAA,CAAArB,EAAA,EAArC,0BAAuC,CAAF;IACpE,IAAI,CAACwM,WAAW,IAAI,CAACA,WAAW,CAACuM,OAAO,IAAI,CAACvM,WAAW,CAACuM,OAAO,CAACziB,IAAI,EAAE;MACnE,OAAOW,KAAA,CAAAgC,aAAA,CAACF,GAAG,EAAAL,MAAA,CAAAC,MAAA;QAACuZ,OAAO,EAAEA;MAAO,GAAM9Q,UAAU,EAAI;;IAEpD,IAAM2Y,mBAAmB,GAAGxC,UAAA,CAAA2C,kBAAkB,CAAC7C,QAAA,CAAA7f,OAAM,EAAEgV,WAAW,EAAE0F,OAAO,CAAC;IAC5E,OAAOjb,KAAA,CAAAgC,aAAA,CAACF,GAAG,EAAAL,MAAA,CAAAC,MAAA;MAAC6T,WAAW,EAAEuN,mBAAmB;MAAE7H,OAAO,EAAEA;IAAO,GAAM9Q,UAAU,EAAI;EACtF,CAAC;EACD6Y,yBAAyB,CAACrN,SAAS,GAAG7T,GAAG,CAAC6T,SAAS;EACnDqN,yBAAyB,CAACtM,YAAY,GAAG5U,GAAG,CAAC4U,YAAY;EACzDsM,yBAAyB,CAAC/P,MAAM,GAAGnR,GAAG,CAACmR,MAAM;EAC7C,OAAO+P,yBAAyB;AACpC,CAAC;AAED,SAAgBvI,kBAAkBA,CAAClF,WAA2C,EAAEC,OAAgB;EAC5F,OAAOA,OAAO;AAClB;AAFAzV,OAAA,CAAA0a,kBAAA,GAAAA,kBAAA;AAIA,IAAMyI,GAAG,GAAGZ,qBAAqB,CAC7BP,iBAAiB,CACbgB,eAAe,CACX1C,kBAAA,CAAA9f,OAAgB,CAAC;EACb8Z,QAAQ,EAAE6F,SAAA,CAAA3f,OAAO;EACjBmS,SAAS,EAAE0N,QAAA,CAAA7f,OAAM;EACjBga,eAAe,EAAfxa,OAAA,CAAAwa,eAAe;EACfC,oBAAoB,EAAE,IAAI;EAC1BC,kBAAkB,EAAlBA;CACH,CAAC,CACL,CACJ,CACJ;AAAC,IACMoB,MAAM,GAAKuE,QAAA,CAAA7f,OAAM,CAAjBsb,MAAM;AAEL9b,OAAA,CAAA8b,MAAA,GAAAA,MAAA;AADT9b,OAAA,CAAAQ,OAAA,GAAe2iB,GAAG,C;;;;;;;;;;;;;;;ACvMlB,IAAAljB,KAAA,GAAAC,mBAAA;AACA,IAAAoC,QAAA,GAAApC,mBAAA;AACA,IAAAkjB,OAAA,GAAAljB,mBAAA;AACA,IAAAiV,CAAA,GAAAjV,mBAAA;AACA,IAAAmjB,MAAA,GAAAnjB,mBAAA;AACA,IAAA0J,aAAA,GAAA1J,mBAAA;AAEA,IAAAojB,YAAA,GAAApjB,mBAAA;AAGA,IAAAqjB,kBAAA,GAAArjB,mBAAA;AACA,IAAAqC,UAAA,GAAArC,mBAAA;AAcA,IAAAsjB,cAAA,GAAAtjB,mBAAA;AACA,IAAAujB,iBAAA,GAAAvjB,mBAAA;AACA,IAAAwjB,sBAAA,GAAAxjB,mBAAA;AAEaF,OAAA,CAAA2jB,cAAc,GAAqB,CAAC,CAAC,EAAE,CAAC,CAAC;AACzC3jB,OAAA,CAAA4jB,gCAAgC,GAAG,SAAS;AAC5C5jB,OAAA,CAAA6jB,gCAAgC,GAAG,SAAS;AAC5C7jB,OAAA,CAAA8jB,kBAAkB,GAAG,UAAU;AAC/B9jB,OAAA,CAAA+jB,kBAAkB,GAAG,IAAI;AACzB/jB,OAAA,CAAAgkB,0BAA0B,GAAG,IAAI;AACjChkB,OAAA,CAAAikB,sBAAsB,GAAG,IAAI;AAC7BjkB,OAAA,CAAAkkB,YAAY,GAAG,CAAC;AAyB7B;AACO,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAInhB,KAAa,EAAiB;EACtD,IAAMohB,WAAW,GAAGf,MAAM,CAACrgB,KAAK,CAAC;EACjC,OAAO;IACHA,KAAK,EAAEqgB,MAAM,CAACe,WAAW,CAACC,GAAG,EAAE,CAAC,CAACC,GAAG,EAAE,CAACC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;IAC1DlX,OAAO,EAAE+W,WAAW,CAACI,KAAK;GAC7B;AACL,CAAC;AANYxkB,OAAA,CAAAmkB,WAAW,GAAAA,WAAA;AAQxBZ,kBAAA,CAAA/iB,OAAgB,CAACQ,WAAW,GAAG,kBAAkB;AAEjD,IAAMof,OAAO,GAAG,SAAVA,OAAOA,CAAIlf,KAAmB,EAAS;EAAA,IAErCN,KAAK,GAmBLM,KAAK,CAnBLN,KAAK;IACLa,MAAM,GAkBNP,KAAK,CAlBLO,MAAM;IACNL,eAAe,GAiBfF,KAAK,CAjBLE,eAAe;IACfqjB,mBAAmB,GAgBnBvjB,KAAK,CAhBLujB,mBAAmB;IACnBC,uBAAuB,GAevBxjB,KAAK,CAfLwjB,uBAAuB;IACvBC,MAAM,GAcNzjB,KAAK,CAdLyjB,MAAM;IACNC,sBAAsB,GAatB1jB,KAAK,CAbL0jB,sBAAsB;IACtBC,sBAAsB,GAYtB3jB,KAAK,CAZL2jB,sBAAsB;IAAAC,aAAA,GAYtB5jB,KAAK,CAXLugB,MAAM;IAANA,MAAM,GAAAqD,aAAA,cAAG,EAAE,GAAAA,aAAA;IACXC,SAAS,GAUT7jB,KAAK,CAVL6jB,SAAS;IACTC,SAAS,GAST9jB,KAAK,CATL8jB,SAAS;IACTC,gBAAgB,GAQhB/jB,KAAK,CARL+jB,gBAAgB;IAChBC,aAAa,GAObhkB,KAAK,CAPLgkB,aAAa;IACbre,gBAAgB,GAMhB3F,KAAK,CANL2F,gBAAgB;IAChBC,IAAI,GAKJ5F,KAAK,CALL4F,IAAI;IACJqe,SAAS,GAITjkB,KAAK,CAJLikB,SAAS;IACTpe,UAAU,GAGV7F,KAAK,CAHL6F,UAAU;IACV2a,eAAe,GAEfxgB,KAAK,CAFLwgB,eAAe;IACf1G,IAAI,GACJ9Z,KAAK,CADL8Z,IAAI;EAAA,IAAAoK,mBAAA,GAEwChC,OAAA,CAAA5H,UAAU,CAAsB8H,YAAA,CAAA9iB,OAAU,CAAC;IAAnF6kB,iBAAiB,GAAAD,mBAAA,CAAjBC,iBAAiB;IAAEC,gBAAgB,GAAAF,mBAAA,CAAhBE,gBAAgB;EAC3C,IAAMC,gBAAgB,GAAGnC,OAAA,CAAA7Y,MAAM,CAAiB,IAAI,CAAC;EACrD,IAAM9E,GAAG,GAAG2d,OAAA,CAAA7Y,MAAM,CAAM,IAAI,CAAC;EAC7B,IAAMib,YAAY,GAAGpC,OAAA,CAAA7Y,MAAM,CAAe,IAAI,CAAC;EAC/C,IAAMkb,WAAW,GAAGrC,OAAA,CAAA7Y,MAAM,CAAoB,IAAI,CAAC;EAAC,IAAAmb,gBAAA,GAEMtC,OAAA,CAAAtd,OAAO,CAC7D;MAAA,OAAMvD,UAAA,CAAAojB,aAAa,CAAC;QAAEN,iBAAiB,EAAjBA,iBAAiB;QAAEC,gBAAgB,EAAhBA;MAAgB,CAAE,CAAC;IAAA,GAC5D,CAACD,iBAAiB,EAAEC,gBAAgB,CAAC,CACxC;IAHOM,UAAU,GAAAF,gBAAA,CAAVE,UAAU;IAAEC,gBAAgB,GAAAH,gBAAA,CAAhBG,gBAAgB;IAAEC,eAAe,GAAAJ,gBAAA,CAAfI,eAAe;EAAA,IAAArb,eAAA,GAKLxK,KAAK,CAACyK,QAAQ,CAAS5D,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI9G,OAAA,CAAAkkB,YAAY,CAAC;IAAAvZ,gBAAA,GAAAjB,cAAA,CAAAe,eAAA;IAArFsb,gBAAgB,GAAApb,gBAAA;IAAEqb,mBAAmB,GAAArb,gBAAA;EAAA,IAAA6D,gBAAA,GACNvO,KAAK,CAACyK,QAAQ,CAAU,KAAK,CAAC;IAAA+D,gBAAA,GAAA/E,cAAA,CAAA8E,gBAAA;IAA7DyX,WAAW,GAAAxX,gBAAA;IAAEyX,cAAc,GAAAzX,gBAAA;EAAA,IAAAG,gBAAA,GACU3O,KAAK,CAACyK,QAAQ,CAAU,KAAK,CAAC;IAAAmE,gBAAA,GAAAnF,cAAA,CAAAkF,gBAAA;IAAnErB,cAAc,GAAAsB,gBAAA;IAAEmB,iBAAiB,GAAAnB,gBAAA,KAExC;EACA,IAAMsX,YAAY,GAAG/C,OAAA,CAAAtd,OAAO,CAAC,YAAK;IAC9B,IAAI,CAACvD,UAAA,CAAA6jB,aAAa,CAACzB,MAAM,CAAC,EAAE;MACxB,OAAO3kB,OAAA,CAAA2jB,cAAkC;;IAE7C,OAAO,CAACgB,MAAM,CAAC,CAAC,CAAC,EAAEA,MAAM,CAAC,CAAC,CAAC,CAAqB;EACrD,CAAC,EAAE,CAACA,MAAM,CAAC,CAAC;EAEZ;EACA;EACA,IAAM0B,SAAS,GAAGjD,OAAA,CAAAtd,OAAO,CAAC,YAAK;IAC3B,IAAIgB,IAAI,KAAKiE,SAAS,EAAE;MACpB,OAAO/K,OAAA,CAAAkkB,YAAY;;IAEvB,OAAOpd,IAAI;EACf,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAMwf,yBAAyB,GAAG,SAA5BA,yBAAyBA,CAAIC,gBAAyB,EAAI;IAC5DvW,iBAAiB,CAACuW,gBAAgB,CAAC;EACvC,CAAC;EAED,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGjjB,CAAC,EAAG;IAC7B,IAAIyX,IAAI,KAAK,MAAM,EAAE;MACjB0G,eAAe,CAACne,CAAC,CAAC;;EAE1B,CAAC;EAED,IAAMkjB,aAAa,GAAGrD,OAAA,CAAA9f,WAAW,CAC7B,UAAAojB,QAAQ,EAAG;IACP,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAQ;MACzB,IAAMC,YAAY,GAAGrkB,UAAA,CAAAskB,wBAAwB,CAAC,CAACpF,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;MAC1Dhc,GAAG,CAAC0F,OAAO,CAAC2b,SAAS,CAACF,YAAY,EAAE;QAChC/W,OAAO,EAAEtN,UAAA,CAAAwkB,iBAAiB,GAAG,CAAC;QAC9BC,OAAO,EAAE;OACZ,CAAC;IACN,CAAC;IAEDvhB,GAAG,CAAC0F,OAAO,GAAG,IAAIvB,aAAA,CAAAuZ,GAAG,CAAAzhB,MAAA,CAAAC,MAAA;MACjB2I,SAAS,EAAEib,gBAAgB,CAACpa,OAAO;MACnC8b,qBAAqB,EAAE,IAAI;MAC3BpmB,KAAK,EAAE6lB,QAAQ;MACf/B,MAAM,EAAEwB,YAAY;MACpBrf,IAAI,EAAEuf;IAAS,GACZ9jB,UAAA,CAAA2kB,gCAAgC,CAACR,QAAQ,EAAEjC,mBAAmB,CAAC,EACpE;IACF;IACA;IACAhf,GAAG,CAAC0F,OAAO,CAACmE,EAAE,CAAC,MAAM,EAAE,YAAK;MACxB,IAAI,CAAAmS,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpiB,MAAM,IAAG,CAAC,IAAIslB,MAAM,KAAK5Z,SAAS,IAAIjE,IAAI,KAAKiE,SAAS,EAAE;QAClE4b,eAAe,EAAE;;MAErBT,cAAc,CAAC,IAAI,CAAC;MACpB;MACA;MACAiB,UAAU,CAAC;QAAA,OAAMhC,SAAS,EAAE;MAAA,GAAE,GAAG,CAAC;IACtC,CAAC,CAAC;IAEF;IACA1f,GAAG,CAAC0F,OAAO,CAACmE,EAAE,CAAC,SAAS,EAAE,YAAK;MAC3B,IAAM8X,SAAS,GAAG3hB,GAAG,CAAC0F,OAAO,CAACkc,SAAS,EAAE;MACzCb,oBAAoB,CAAC;QAAE7B,MAAM,EAAE,CAACyC,SAAS,CAAC3X,GAAG,EAAE2X,SAAS,CAAC1X,GAAG;MAAC,CAAE,CAAC;IACpE,CAAC,CAAC;IAEF;IACAjK,GAAG,CAAC0F,OAAO,CAACmE,EAAE,CAAC,SAAS,EAAE,YAAK;MAC3B0W,mBAAmB,CAACvgB,GAAG,CAAC0F,OAAO,CAACmc,OAAO,EAAE,CAAC;MAC1C;MACA;MACA,IAAMF,SAAS,GAAG3hB,GAAG,CAAC0F,OAAO,CAACkc,SAAS,EAAE;MACzCb,oBAAoB,CAAC;QAAE7B,MAAM,EAAE,CAACyC,SAAS,CAAC3X,GAAG,EAAE2X,SAAS,CAAC1X,GAAG,CAAC;QAAE5I,IAAI,EAAErB,GAAG,CAAC0F,OAAO,CAACmc,OAAO;MAAE,CAAE,CAAC;IACjG,CAAC,CAAC;IAEF;IACA7B,WAAW,CAACta,OAAO,GAAG,IAAIvB,aAAA,CAAA2d,iBAAiB,CAAC;MAAEC,WAAW,EAAE;IAAK,CAAE,CAAC;IACnE/hB,GAAG,CAAC0F,OAAO,CAACsc,UAAU,CAAChC,WAAW,CAACta,OAAO,EAAE,UAAU,CAAC;EAC3D,CAAC,EACD,CAACgb,YAAY,EAAEE,SAAS,EAAE5E,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEpiB,MAAM,CAAC,CAC5C;EAED,IAAMqoB,eAAe,GAAGtE,OAAA,CAAA9f,WAAW,CAAC,YAAK;IACrCkiB,YAAY,CAACra,OAAO,GAAG,IAAIvB,aAAA,CAAA+d,YAAY,CAAC;MACpCC,QAAQ,EAAE,EAAE;MACZC,IAAI,EAAE9C;KACT,CAAC;IACFtf,GAAG,CAAC0F,OAAO,CAACsc,UAAU,CAACjC,YAAY,CAACra,OAAO,CAAC;EAChD,CAAC,EAAE,CAAC4Z,SAAS,CAAC,CAAC;EAEf,IAAM+C,WAAW,GAAG1E,OAAA,CAAA9f,WAAW,CAAC,YAAK;;IACjC,IAAI0hB,SAAS,EAAE;MACX,CAAAhc,EAAA,GAAAwc,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEra,OAAO,cAAAnC,EAAA,uBAAAA,EAAA,CAAE+e,OAAO,CAAChD,SAAS,CAAC;;EAEjD,CAAC,EAAE,CAACA,SAAS,EAAEC,SAAS,CAAC,CAAC;EAE1B5B,OAAA,CAAA/X,SAAS,CAAC,YAAK;IACX,IAAI5F,GAAG,CAAC0F,OAAO,EAAE;MACb1F,GAAG,CAAC0F,OAAO,CAAC6c,MAAM,EAAE;;EAE5B,CAAC,EAAE,CAACpnB,KAAK,EAAEa,MAAM,CAAC,CAAC;EAEnB2hB,OAAA,CAAA/X,SAAS,CAAC,YAAK;IACX;IACA,IAAI3J,MAAM,CAACwH,IAAI,CAAC0c,UAAU,CAAC,CAACvmB,MAAM,KAAK,CAAC,KAAK,CAAColB,mBAAmB,IAAI,CAACC,uBAAuB,CAAC,EAAE;MAC5F;MACAhZ,OAAO,CAACuc,IAAI,CACR,2FAA2F,CAC9F;MACD;;IAGJ,IAAMvB,QAAQ,GAAGnkB,UAAA,CAAA2lB,WAAW,CAAC;MACzBhD,aAAa,EAAbA,aAAa;MACbT,mBAAmB,EAAnBA,mBAAmB;MACnBC,uBAAuB,EAAvBA,uBAAuB;MACvBkB,UAAU,EAAVA,UAAU;MACVvJ,WAAW,EAAExV,gBAAgB;MAC7Bgf,gBAAgB,EAAhBA,gBAAgB;MAChBC,eAAe,EAAfA;KACH,CAAC;IAEFY,QAAQ,CAACyB,OAAO,GAAG5lB,UAAA,CAAA6lB,wBAAwB;IAE3C;IACA,IAAI3iB,GAAG,CAAC0F,OAAO,EAAE;MACb,IAAMhC,IAAI,GAAG1D,GAAG,CAAC0F,OAAO,CAACkd,QAAQ,EAAE;MACnC,IAAMvb,IAAI,GAAGxK,QAAA,CAAAgmB,IAAI,CAAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;MAErD;MACA;MACA;MACA,IAAI,CAACnkB,UAAA,CAAAgmB,iBAAiB,CAACpf,IAAI,EAAE2D,IAAI,CAAC,EAAE;QAChC;QACArH,GAAG,CAAC0F,OAAO,CAACqd,QAAQ,CAAClmB,QAAA,CAAAgmB,IAAI,CAAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAuB,CAAC;QACpF1W,iBAAiB,CAAC,IAAI,CAAC;;MAC1B,IAAAyY,qBAAA,GAC4BlmB,UAAA,CAAA2kB,gCAAgC,CAACR,QAAQ,EAAEjC,mBAAmB,CAAC;QAApFiE,OAAO,GAAAD,qBAAA,CAAPC,OAAO;QAAEC,OAAO,GAAAF,qBAAA,CAAPE,OAAO;MACxBljB,GAAG,CAAC0F,OAAO,CAACyd,UAAU,CAACF,OAAO,CAAC;MAC/BjjB,GAAG,CAAC0F,OAAO,CAAC0d,UAAU,CAACF,OAAO,CAAC;MAC/Bb,WAAW,EAAE;KAChB,MAAM;MACH;MACA;MACArB,aAAa,CAACnkB,QAAA,CAAAgmB,IAAI,CAAC5B,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAuB,CAAC;MAC7EgB,eAAe,EAAE;;EAEzB,CAAC,EAAE,CACCxC,aAAa,EACbU,UAAU,EACVa,aAAa,EACbiB,eAAe,EACfI,WAAW,EACXjC,gBAAgB,EAChBC,eAAe,EACfrB,mBAAmB,EACnBC,uBAAuB,EACvB7d,gBAAgB,CACnB,CAAC;EAEFuc,OAAA,CAAA/X,SAAS,CAAC,YAAK;IACX,IAAI5F,GAAG,CAAC0F,OAAO,EAAE;MACb1F,GAAG,CAAC0F,OAAO,CAAC2d,KAAK,CAAC;QACdnE,MAAM,EAAEwB,YAAY;QACpBrf,IAAI,EAAEuf;OACT,CAAC;;EAEV,CAAC,EAAE,CAACF,YAAY,EAAEE,SAAS,CAAC,CAAC;EAE7BjD,OAAA,CAAA/X,SAAS,CACL;IAAA,OAAM,YAAK;MACP,IAAI5F,GAAG,CAAC0F,OAAO,EAAE;QACb1F,GAAG,CAAC0F,OAAO,CAACC,MAAM,EAAE;;IAE5B,CAAC;EAAA,GACD,EAAE,CACL;EAAC,IAAA2d,OAAA,GAAArf,cAAA,CAEc+X,MAAM;IAAfT,KAAK,GAAA+H,OAAA;EAEZ,OACI9oB,KAAA,CAAAgC,aAAA,CAAAhC,KAAA,CAAAqJ,QAAA,QACIrJ,KAAA,CAAAgC,aAAA,CAACshB,kBAAA,CAAA/iB,OAAgB;IACbwoB,SAAS,EAAC,SAAS;IACnBpoB,KAAK,EAAEA,KAAK;IACZa,MAAM,EAAEA,MAAM;IACdL,eAAe,EAAEA,eAAe;IAChCwjB,sBAAsB,EAAEA,sBAAsB;IAC9CC,sBAAsB,EAAEA,sBAAsB;IAC9CoE,uBAAuB,EAAEjpB,OAAA,CAAAmkB,WAAW,CAACU,sBAAsB,CAAC;IAC5DjZ,GAAG,EAAE2Z,gBAAgB;IACrBP,SAAS,EAAEA,SAAS;IACpBC,gBAAgB,EAAEA;EAAgB,GAEjCgB,WAAW,IACRjF,KAAK,KACJA,KAAK,CAACjU,IAAI,KAAKxK,UAAA,CAAA2mB,UAAU,CAACnkB,MAAM,IAAIic,KAAK,CAACjU,IAAI,KAAKxK,UAAA,CAAA2mB,UAAU,CAAC3d,MAAM,CAAC,IAClEtL,KAAA,CAAAgC,aAAA,CAACuhB,cAAA,CAAAhjB,OAAY;IACT2oB,YAAY,EAAEnI,KAAyB;IACvCna,gBAAgB,EAAEA,gBAAgB;IAClCpB,GAAG,EAAEA,GAAG;IACRqB,IAAI,EAAEif,gBAAgB;IACtBhf,UAAU,EAAEA;EAAU,EAE7B,EACJkf,WAAW,IAAIjF,KAAK,IAAIA,KAAK,CAACjU,IAAI,KAAKxK,UAAA,CAAA2mB,UAAU,CAAC7a,UAAU,IAAI2S,KAAK,CAAC7R,MAAM,IACzElP,KAAA,CAAAgC,aAAA,CAACyhB,sBAAA,CAAAljB,OAAoB;IACjBI,KAAK,EAAEA,KAAK;IACZa,MAAM,EAAEA,MAAM;IACdgE,GAAG,EAAEA,GAAG;IACRsK,eAAe,EAAEiR,KAAK;IACtBzT,cAAc,EAAEA,cAAc;IAC9ByC,iBAAiB,EAAEsW,yBAAyB;IAC5Cvf,UAAU,EAAEA;EAAU,EAE7B,EACAkf,WAAW,IAAIjF,KAAK,IAAIA,KAAK,CAACjU,IAAI,KAAKxK,UAAA,CAAA2mB,UAAU,CAAC7a,UAAU,IAAI,CAAC2S,KAAK,CAAC7R,MAAM,IAC1ElP,KAAA,CAAAgC,aAAA,CAACwhB,iBAAA,CAAAjjB,OAAe;IACZiF,GAAG,EAAEA,GAAG;IACRsK,eAAe,EAAEiR,KAAK;IACtBzT,cAAc,EAAEA,cAAc;IAC9ByC,iBAAiB,EAAEsW,yBAAyB;IAC5Cvf,UAAU,EAAEA;EAAU,EAE7B,CACc,CACpB;AAEX,CAAC;AAEM,IAAMqiB,QAAQ,GAAG,SAAXA,QAAQA,CAAIloB,KAAmB,EAAEmoB,QAAgB,EAAEC,aAAqB,EAAW;EAC5F,IAAI,CAACpoB,KAAK,CAACmoB,QAAQ,CAAC,EAAE;IAClB,OAAO,IAAI;;EAEf,IAAME,MAAM,GAAGtlB,IAAI,CAACulB,GAAG,CAACtoB,KAAK,CAACmoB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;EAC3C,IAAMI,MAAM,GAAGxlB,IAAI,CAACulB,GAAG,CAACtoB,KAAK,CAACmoB,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;EAC3C,IAAMK,MAAM,GAAGxoB,KAAK,CAACmoB,QAAQ,CAAC;EAC9B,IAAIE,MAAM,GAAGhnB,UAAA,CAAAonB,YAAY,IAAIF,MAAM,IAAIlnB,UAAA,CAAAonB,YAAY,EAAE;IACjD,MAAM,IAAIC,KAAK,IAAAhlB,MAAA,CAAI0kB,aAAa,OAAA1kB,MAAA,CAAIykB,QAAQ,2CAAwC;;EAExF,IAAI,CAAC9mB,UAAA,CAAA6jB,aAAa,CAACsD,MAAM,CAAC,EAAE;IACxB,MAAM,IAAIE,KAAK,IAAAhlB,MAAA,CAAI0kB,aAAa,OAAA1kB,MAAA,CAAIykB,QAAQ,mCAAgC;;EAEhF,OAAO,IAAI;AACf,CAAC;AAdYrpB,OAAA,CAAAopB,QAAQ,GAAAA,QAAA;AAgBrBhJ,OAAO,CAACxK,SAAS,GAAG;EAChB;EACAoF,IAAI,EAAE7F,CAAC,CAACa,MAAM;EACdpV,KAAK,EAAEuU,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC;EACxCxU,MAAM,EAAE0T,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC;EACzC7U,eAAe,EAAE+T,CAAC,CAACa,MAAM;EACzByO,mBAAmB,EAAEtP,CAAC,CAACa,MAAM;EAC7B0O,uBAAuB,EAAEvP,CAAC,CAACa,MAAM;EACjC2O,MAAM,EAAE3kB,OAAA,CAAAopB,QAAQ;EAChBxE,sBAAsB,EAAEzP,CAAC,CAACa,MAAM;EAChC6O,sBAAsB,EAAE1P,CAAC,CAACa,MAAM;EAChCyL,MAAM,EAAEtM,CAAC,CAAC0U,OAAO,CACb1U,CAAC,CAAC2B,KAAK,CAAC;IACJ/J,IAAI,EAAEoI,CAAC,CAACa,MAAM;IACd5Q,QAAQ,EAAE+P,CAAC,CAAC0U,OAAO,CAAC1U,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC,CAAC;IACtD5Q,SAAS,EAAE8P,CAAC,CAAC0U,OAAO,CAAC1U,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC,CAAC;IACvDtB,KAAK,EAAEQ,CAAC,CAACa,MAAM;IACf8T,YAAY,EAAE3U,CAAC,CAACgD,IAAI;IACpBlQ,UAAU,EAAEkN,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAAC0U,OAAO,CAAC1U,CAAC,CAACa,MAAM,CAAC,CAAC,CAAC;IACxDhP,YAAY,EAAEmO,CAAC,CAAC0U,OAAO,CAAC1U,CAAC,CAACa,MAAM,CAAC;IACjCnO,uBAAuB,EAAEsN,CAAC,CAAC0U,OAAO,CAAC1U,CAAC,CAACa,MAAM,CAAC;IAC5CtO,WAAW,EAAEyN,CAAC,CAACc,MAAM;IACrB9G,MAAM,EAAEgG,CAAC,CAACa,MAAM;IAChB+T,wBAAwB,EAAE5U,CAAC,CAACa;GAC/B,CAAC,CACL;EACD+O,SAAS,EAAE5P,CAAC,CAACa,MAAM;EACnBgP,SAAS,EAAE7P,CAAC,CAACgD,IAAI;EACjBtR,gBAAgB,EAAEsO,CAAC,CAACa,MAAM;EAC1BlP,IAAI,EAAEqO,CAAC,CAACc,MAAM;EACdkP,SAAS,EAAEhQ,CAAC,CAACW,IAAI;EACjB/O,UAAU,EAAEoO,CAAC,CAACW,IAAI;EAClB4L,eAAe,EAAEvM,CAAC,CAACW;CACtB;AAEDsK,OAAO,CAACzJ,YAAY,GAAG;EACnBqE,IAAI,EAAE,MAAM;EACZpa,KAAK,EAAE,GAAG;EACVa,MAAM,EAAE,GAAG;EACXL,eAAe,EAAE,SAAS;EAC1BwjB,sBAAsB,EAAE5kB,OAAA,CAAA4jB,gCAAgC;EACxDiB,sBAAsB,EAAE7kB,OAAA,CAAA6jB,gCAAgC;EACxDkB,SAAS,EAAE/kB,OAAA,CAAA8jB,kBAAkB;EAC7BkB,SAAS,EAAEhlB,OAAA,CAAA+jB,kBAAkB;EAC7BkB,gBAAgB,EAAEjlB,OAAA,CAAAgkB,0BAA0B;EAC5CkB,aAAa,EAAEllB,OAAA,CAAAikB,sBAAsB;EACrCxC,MAAM,EAAE,EAAE;EACV5a,gBAAgB,EAAE,MAAM;EACxBse,SAAS,EAAE7iB,QAAA,CAAA2W,IAAI;EACflS,UAAU,EAAEzE,QAAA,CAAA2W,IAAI;EAChByI,eAAe,EAAEpf,QAAA,CAAA2W;CACpB;AAEDjZ,OAAA,CAAAQ,OAAA,GAAe4f,OAAO,C;;;;;;;ACrZtB,qE;;;;;;;;;;;;;ACAA,IAAAjgB,mBAAA,GAAAD,mBAAA;AACA,IAAAoC,QAAA,GAAApC,mBAAA;AACA,IAAAG,OAAA,GAAAH,mBAAA;AACA,IAAA8pB,iBAAA,GAAA9pB,mBAAA;AAGA,IAAM+pB,gBAAgB,GAAG9pB,mBAAA,CAAAK,OAAM,CAACC,GAAG,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,m1DAU7B+oB,iBAAA,CAAAxpB,OAAG,EAIe,UAAAU,KAAK;EAAA,OAAIA,KAAK,CAACE,eAAe;AAAA,GAChD,UAAAF,KAAK;EAAA,OAAIb,OAAA,CAAA6pB,WAAW,CAAC5nB,QAAA,CAAA6nB,IAAI,CAACjpB,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;AAAA,GAIzC,UAAAA,KAAK;EAAA,OAAKA,KAAK,CAAC+jB,gBAAgB,GAAG,OAAO,GAAG,MAAM;AAAA,CAAC,EASvC,UAAA/jB,KAAK;EAAA,OAAIA,KAAK,CAAC0jB,sBAAsB;AAAA,GAS4U,UAAA1jB,KAAK;EAAA,OAClYA,KAAK,CAAC+nB,uBAAuB,CAACjmB,KAAK;AAAA,GAAmB,UAAA9B,KAAK;EAAA,OAC3DA,KAAK,CAAC+nB,uBAAuB,CAAC5b,OAAO;AAAA,GAIiU,UAAAnM,KAAK;EAAA,OAC3WA,KAAK,CAAC+nB,uBAAuB,CAACjmB,KAAK;AAAA,GAAmB,UAAA9B,KAAK;EAAA,OAC3DA,KAAK,CAAC+nB,uBAAuB,CAAC5b,OAAO;AAAA,GAOtC,UAAAnM,KAAK;EAAA,OAAKA,KAAK,CAAC8jB,SAAS,GAAG,OAAO,GAAG,MAAM;AAAA,CAAC,EASpC,UAAA9jB,KAAK;EAAA,OAAIA,KAAK,CAAC0jB,sBAAsB;AAAA,GAIjC,UAAA1jB,KAAK;EAAA,OAAIA,KAAK,CAAC0jB,sBAAsB;AAAA,GAChD,UAAA1jB,KAAK;EAAA,OAAIA,KAAK,CAAC2jB,sBAAsB;AAAA,GAC1B,UAAA3jB,KAAK;EAAA,OAAIA,KAAK,CAAC2jB,sBAAsB;AAAA,EAYpE;AAED7kB,OAAA,CAAAQ,OAAA,GAAeypB,gBAAgB,C;;;;;;;;;;;;;;;ACvF/B;AACA,IAAA9U,CAAA,GAAAjV,mBAAA;AACA,IAAAoC,QAAA,GAAApC,mBAAA;AAEA,IAAAkqB,kBAAA,GAAAlqB,mBAAA;AAEA;AACaF,OAAA,CAAAqqB,aAAa,GAAG,GAAG;AACnBrqB,OAAA,CAAAsqB,cAAc,GAAG,GAAG;AAEjC;;;AAAA,IAGMC,mBAAmB,YAAAA,oBAAA;EAAAC,eAAA,OAAAD,mBAAA;AAAA;AACdA,mBAAA,CAAA3U,SAAS,GAAsD;EAClE;;;EAGAoF,IAAI,EAAE7F,CAAC,CAAC8B,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAACwT,UAAU;EACpD;;;EAGA7pB,KAAK,EAAEuU,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC,CAACwU,UAAU;EACnD;;;EAGAhpB,MAAM,EAAE0T,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC,CAACwU,UAAU;EACpD;;;EAGArP,OAAO,EAAEjG,CAAC,CAACuV,MAAM;EACjB;;;EAGAxP,OAAO,EAAE/F,CAAC,CAACuV,MAAM;EACjB;;;EAGAhJ,eAAe,EAAEvM,CAAC,CAACW,IAAI;EACvB;;;EAGAN,WAAW,EAAEL,CAAC,CAACwV,QAAQ,CACnBxV,CAAC,CAAC2B,KAAK,CAAC;IACJ;;;IAGAO,aAAa,EAAElC,CAAC,CAACuV,MAAM;IACvB;;;IAGAprB,IAAI,EAAE6V,CAAC,CAAC2B,KAAK,CAAC;MACV1X,MAAM,EAAE+V,CAAC,CAACyV,KAAK;MACfzrB,OAAO,EAAEgW,CAAC,CAACyV;KACd,CAAC;IACF;;;IAGAnf,KAAK,EAAE0J,CAAC,CAAC2B,KAAK,CAAC;MACXN,KAAK,EAAErB,CAAC,CAACa,MAAM;MACfS,OAAO,EAAEtB,CAAC,CAACa;KACd,CAAC;IACF;;;IAGAuC,IAAI,EAAEpD,CAAC,CAACuV;GACX,CAAC,CACL;EACD;;;EAGApP,cAAc,EAAEnG,CAAC,CAACW,IAAI;EACtB;;;EAGAmF,gBAAgB,EAAE9F,CAAC,CAACgD,IAAI;EACxB;;;EAGAkD,eAAe,EAAElG,CAAC,CAACW,IAAI;EACvB;;;EAGA+U,mBAAmB,EAAE1V,CAAC,CAACW,IAAI;EAE3BL,OAAO,EAAEN,CAAC,CAACgD,IAAI;EACf9W,KAAK,EAAE8T,CAAC,CAACuV,MAAM;EACf;;;EAGApT,qBAAqB,EAAEnC,CAAC,CAACW;CAC5B;AAED;;;AAGOyU,mBAAA,CAAA5T,YAAY,GAAsB;EACrC;EACA/V,KAAK,EAAE,MAAM;EACba,MAAM,EAAEzB,OAAA,CAAAsqB,cAAc;EACtB9U,WAAW,EAAE,EAAE;EACf8F,cAAc,EAAE,SAAAA,eAAA;IAAA,OAAgC,EAAE;EAAA,CAAC;EACnDN,IAAI,EAAE,MAAM;EACZC,gBAAgB,EAAE,KAAK;EACvBC,OAAO,EAAE,EAAE;EACXE,OAAO,EAAE,EAAE;EACXsG,eAAe,EAAE,SAAAA,gBAAA;IAAA,OAAgC,EAAE;EAAA,CAAC;EACpDmJ,mBAAmB,EAAE,SAAAA,oBAAA;IAAA,OAA+B,IAAIT,kBAAA,CAAAU,uBAAuB,EAAE;EAAA;EACjFzP,eAAe,EAAE,SAAAA,gBAAA;IAAA,OAAgC,EAAE;EAAA,CAAC;EACpD5F,OAAO,EAAE,KAAK;EACd6B,qBAAqB,EAAEhV,QAAA,CAAA2W;CAC1B;AAGLjZ,OAAA,CAAAQ,OAAA,GAAe+pB,mBAAmB,C;;;;;;;;AClHlC;AAAe,8FAA+B,yCAAyC,yDAAyD,gBAAgB,kBAAkB,oCAAoC,OAAO,kBAAkB,MAAM,oDAAoD,YAAY,WAAW,4MAA4M,YAAY,sBAAsB,yBAAyB,qBAAqB,iBAAiB,oJAAoJ,eAAe,wOAAwO,gBAAgB,oQAAoQ,yBAAyB,wPAAwP,wBAAwB,wWAAwW,kBAAkB,wNAAwN,oBAAoB,kBAAkB,UAAU,kDAAkD,OAAO,MAAM,oDAAoD,QAAQ,MAAM,wDAAwD,SAAS,OAAO,0DAA0D,SAAS,QAAQ,gCAAgC,WAAW,oBAAoB,uBAAuB,kFAAkF,WAAW,qBAAqB,oFAAoF,YAAY,qBAAqB,wFAAwF,WAAW,qBAAqB,0FAA0F,YAAY,qBAAqB,4CAA4C,gBAAgB,kBAAkB,oEAAoE,oCAAoC,kCAAkC,oEAAoE,iCAAiC,0DAA0D,6BAA6B,SAAS,sBAAsB,eAAe,cAAc,YAAY,aAAa,UAAU,WAAW,wEAAwE,0BAA0B,wFAAwF,wBAAwB,4BAA4B,cAAc,YAAY,WAAW,kCAAkC,0CAA0C,6BAA6B,wEAAwE,iCAAiC,kFAAkF,SAAS,UAAU,8IAA8I,+BAA+B,gEAAgE,mBAAmB,0GAA0G,YAAY,wFAAwF,+BAA+B,kGAAkG,+BAA+B,8GAA8G,gBAAgB,8FAA8F,0BAA0B,4FAA4F,0BAA0B,4FAA4F,sBAAsB,wIAAwI,0CAA0C,sOAAsO,sIAAsI,0CAA0C,wUAAwU,kCAAkC,wIAAwI,0CAA0C,sOAAsO,sIAAsI,0CAA0C,yUAAyU,0CAA0C,wIAAwI,0CAA0C,wNAAwN,sIAAsI,0CAA0C,2TAA2T,4IAA4I,0CAA0C,kaAAka,oIAAoI,0CAA0C,2ZAA2Z,kCAAkC,4IAA4I,0CAA0C,kaAAka,oIAAoI,0CAA0C,0aAA0a,0CAA0C,4IAA4I,0CAA0C,oZAAoZ,oIAAoI,0CAA0C,4ZAA4Z,sIAAsI,0CAA0C,uNAAuN,kCAAkC,sIAAsI,0CAA0C,wNAAwN,0CAA0C,sIAAsI,0CAA0C,0MAA0M,sIAAsI,0CAA0C,gVAAgV,sJAAsJ,0CAA0C,mVAAmV,0IAA0I,0CAA0C,sYAAsY,4JAA4J,0CAA0C,ubAAub,0MAA0M,0CAA0C,yYAAyY,sNAAsN,0CAA0C,yYAAyY,kNAAkN,0CAA0C,sWAAsW,8NAA8N,0CAA0C,sWAAsW,4MAA4M,6CAA6C,kCAAkC,0IAA0I,0CAA0C,sYAAsY,4JAA4J,0CAA0C,ubAAub,0MAA0M,0CAA0C,yYAAyY,sNAAsN,0CAA0C,yYAAyY,kNAAkN,0CAA0C,sWAAsW,8NAA8N,0CAA0C,uWAAuW,0CAA0C,0IAA0I,0CAA0C,wXAAwX,4JAA4J,0CAA0C,wbAAwb,2BAA2B,GAAG,uBAAuB,GAAG,yBAAyB,4CAA4C,0CAA0C,66XAA66X,4BAA4B,eAAe,cAAc,YAAY,qBAAqB,gBAAgB,WAAW,gFAAgF,WAAW,kCAAkC,4CAA4C,6BAA6B,0CAA0C,86XAA86X,0CAA0C,4CAA4C,0CAA0C,86XAA86X,4EAA4E,oCAAoC,SAAS,cAAc,cAAc,kFAAkF,sBAAsB,mBAAmB,uBAAuB,YAAY,gBAAgB,uBAAuB,kBAAkB,4FAA4F,yBAAyB,mBAAmB,kSAAkS,mBAAmB,yBAAyB,4IAA4I,aAAa,4DAA4D,oCAAoC,0CAA0C,4PAA4P,SAAS,mBAAmB,sBAAsB,eAAe,aAAa,YAAY,aAAa,kBAAkB,QAAQ,MAAM,WAAW,8DAA8D,gBAAgB,gBAAgB,sFAAsF,aAAa,kOAAkO,OAAO,oSAAoS,cAAc,wJAAwJ,+BAA+B,wJAAwJ,SAAS,QAAQ,kJAAkJ,QAAQ,MAAM,gJAAgJ,OAAO,MAAM,sJAAsJ,SAAS,QAAQ,6CAA6C,8FAA8F,0CAA0C,2QAA2Q,qDAAqD,8FAA8F,0CAA0C,6PAA6P,kDAAkD,sBAAsB,qBAAqB,8DAA8D,cAAc,0BAA0B,gDAAgD,aAAa,4CAA4C,qCAAqC,sBAAsB,gBAAgB,sBAAsB,WAAW,eAAe,cAAc,kCAAkC,aAAa,OAAO,oBAAoB,kBAAkB,MAAM,sBAAsB,8LAA8L,sBAAsB,gNAAgN,8BAA8B,0DAA0D,mBAAmB,4DAA4D,2BAA2B,0CAA0C,8BAA8B,SAAS,QAAQ,UAAU,kGAAkG,kBAAkB,yBAAyB,gBAAgB,4GAA4G,sBAAsB,yBAAyB,iBAAiB,gBAAgB,8GAA8G,oBAAoB,yBAAyB,kBAAkB,gBAAgB,wGAAwG,kBAAkB,mBAAmB,sBAAsB,kHAAkH,sBAAsB,mBAAmB,iBAAiB,sBAAsB,oHAAoH,oBAAoB,mBAAmB,kBAAkB,sBAAsB,oGAAoG,kBAAkB,iBAAiB,wBAAwB,sGAAsG,kBAAkB,uBAAuB,kBAAkB,4DAA4D,6BAA6B,SAAS,wBAAwB,eAAe,kBAAkB,QAAQ,MAAM,wEAAwE,+BAA+B,kDAAkD,gBAAgB,kBAAkB,oCAAoC,kBAAkB,oBAAoB,kBAAkB,oHAAoH,yBAAyB,sHAAsH,0BAA0B,0HAA0H,4BAA4B,4HAA4H,6BAA6B,8DAA8D,aAAa,kEAAkE,oBAAoB,iBAAiB,wGAAwG,aAAa,0GAA0G,aAAa,oCAAoC,OAAO,kBAAkB,MAAM,sBAAsB,0DAA0D,yBAAyB,kBAAkB,YAAY,WAAW,wEAAwE,yDAAyD,yBAAyB,kBAAkB,aAAa,YAAY,kBAAkB,WAAW,sEAAsE,sBAAsB,kBAAkB,mCAAmC,sBAAsB,aAAa,YAAY,UAAU,kBAAkB,SAAS,WAAW,8CAA8C,GAAG,UAAU,mBAAmB,IAAI,UAAU,mBAAmB,GAAG,UAAU,oBAAoB,sEAAsE,sBAAsB,kFAAkF,aAAa,kFAAkF,2BAA2B,mBAAmB,WAAW,UAAU,wOAAwO,iBAAiB,sCAAsC,gBAAgB,0BAA0B,SAAS,OAAO,WAAW,kBAAkB,MAAM,QAAQ,uCAAuC,mBAAmB,0BAA0B,SAAS,WAAW,aAAa,gBAAgB,uBAAuB,OAAO,gBAAgB,UAAU,aAAa,oBAAoB,kBAAkB,QAAQ,MAAM,8BAA8B,uDAAuD,UAAU,wBAAwB,kEAAkE,aAAa,sCAAsC,mEAAmE,aAAa,kEAAkE,eAAe,CAAC,E;;;;;;;;;;;;;ACA32pE,IAAAtqB,KAAA,GAAAC,mBAAA;AAEA,IAAAsgB,aAAA,GAAAtgB,mBAAA;AACA,IAAA6qB,aAAA,GAAA7qB,mBAAA;AAEA,IAAAqC,UAAA,GAAArC,mBAAA;AAUA,IAAM8qB,YAAY,GAAG,SAAfA,YAAYA,CAAArqB,IAAA,EAMmB;EAAA,IALjCwoB,YAAY,GAAAxoB,IAAA,CAAZwoB,YAAY;IACZtiB,gBAAgB,GAAAlG,IAAA,CAAhBkG,gBAAgB;IAChBC,IAAI,GAAAnG,IAAA,CAAJmG,IAAI;IACJrB,GAAG,GAAA9E,IAAA,CAAH8E,GAAG;IACHsB,UAAU,GAAApG,IAAA,CAAVoG,UAAU;;EAEV,IAAI,EAAAiC,EAAA,GAAAvD,GAAG,aAAHA,GAAG,uBAAHA,GAAG,CAAE0F,OAAO,cAAAnC,EAAA,uBAAAA,EAAA,CAAEiiB,aAAa,KAAI,CAAC9B,YAAY,CAAC9jB,SAAS,EAAE8jB,YAAY,CAAC/jB,QAAQ,CAAC,CAACY,KAAK,CAACiP,KAAK,CAACoK,OAAO,CAAC,EAAE;IACrG,IAAI,CAAA8J,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEpc,IAAI,MAAKxK,UAAA,CAAA2mB,UAAU,CAAC3d,MAAM,IAAI,EAAE,QAAQ,IAAI4d,YAAY,CAAC,EAAE;MACzE,OACIlpB,KAAA,CAAAgC,aAAA,CAAC8oB,aAAA,CAAAvqB,OAAW;QACR0qB,WAAW,EAAE/B,YAA+B;QAC5CtiB,gBAAgB,EAAEA,gBAAgB;QAClCpB,GAAG,EAAEA,GAAG;QACRsB,UAAU,EAAEA;MAAU,EACxB;;IAGV,IACI,CAAAoiB,YAAY,aAAZA,YAAY,uBAAZA,YAAY,CAAEpc,IAAI,MAAKxK,UAAA,CAAA2mB,UAAU,CAACnkB,MAAM,IACxC,QAAQ,IAAIokB,YAAY,IACxB,YAAY,IAAIA,YAAY,EAC9B;MACE,OACIlpB,KAAA,CAAAgC,aAAA,CAACue,aAAA,CAAAhgB,OAAW;QACRoG,WAAW,EAAEuiB,YAA+B;QAC5CtiB,gBAAgB,EAAEA,gBAAgB;QAClCpB,GAAG,EAAEA,GAAG;QACRqB,IAAI,EAAEA,IAAI;QACVC,UAAU,EAAEA;MAAU,EACxB;;;EAId,OAAO,IAAI;AACf,CAAC;AAED/G,OAAA,CAAAQ,OAAA,GAAewqB,YAAY,C;;;;;;;;;;;;;;ACpD3B,IAAA/qB,KAAA,GAAAC,mBAAA;AACA,IAAAC,mBAAA,GAAAD,mBAAA;AACA,IAAAirB,SAAA,GAAAjrB,mBAAA;AACA,IAAAkV,MAAA,GAAAlV,mBAAA;AAEA,IAAMkrB,aAAa,GAAGjrB,mBAAA,CAAAK,OAAM,CAAC2qB,SAAA,CAAA3qB,OAAO,CAAC,CAAAO,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,mCAGpC;AAED,IAAMoqB,WAAW,GAAGlrB,mBAAA,CAAAK,OAAM,CAAC8qB,KAAK,CAAAvqB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uDAG/B;AAED,IAAMsqB,iBAAiB,GAAGprB,mBAAA,CAAAK,OAAM,CAACgrB,EAAE,CAAAzqB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,qBAElC;AAED,IAAMwqB,iBAAiB,GAAGtrB,mBAAA,CAAAK,OAAM,CAACgrB,EAAE,CAAAzqB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yBAElC;AAED,IAAMyqB,gBAAgB,GAAGvrB,mBAAA,CAAAK,OAAM,CAACC,GAAG,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,uIACX,UAAAC,KAAK;EAAA,OAAIA,KAAK,CAAC8B,KAAK;AAAA,EAO3C;AAEM,IAAM2oB,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,aAAqB,EAAE7e,IAA8B,EAAY;EAC7F,IAAM8e,QAAQ,GAAG,SAAXA,QAAQA,CAAGC,CAAC;IAAA,OAAKA,CAAC,GAAG,CAAC,GAAG7nB,IAAI,CAACyU,KAAK,CAACoT,CAAC,CAAC,GAAG7nB,IAAI,CAACwU,IAAI,CAACqT,CAAC,CAAC;EAAA,CAAC;EAC5D,IAAMC,cAAc,GAAG9nB,IAAI,CAACulB,GAAG,CAACoC,aAAa,CAAC;EAC9C,IAAII,OAAO,GAAGH,QAAQ,CAACE,cAAc,CAAC;EACtC,IAAIE,OAAO,GAAGJ,QAAQ,CAAC,CAACE,cAAc,GAAGC,OAAO,IAAI,EAAE,CAAC;EACvD,IAAIE,OAAO,GAAGjoB,IAAI,CAAC8D,KAAK,CAAC,CAACgkB,cAAc,GAAGC,OAAO,GAAGC,OAAO,GAAG,EAAE,IAAI,IAAI,CAAC;EAC1E,IAAIC,OAAO,KAAK,EAAE,EAAE;IAChBD,OAAO,IAAI,CAAC;IACZC,OAAO,GAAG,CAAC;;EAEf,IAAID,OAAO,KAAK,EAAE,EAAE;IAChBD,OAAO,IAAI,CAAC;IACZC,OAAO,GAAG,CAAC;;EAEf,IAAIE,SAAiB;EACrB,IAAIpf,IAAI,KAAK,WAAW,EAAE;IACtBof,SAAS,GAAGP,aAAa,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;GAC5C,MAAM,IAAI7e,IAAI,KAAK,UAAU,EAAE;IAC5Bof,SAAS,GAAGP,aAAa,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;;EAE7C,UAAAhnB,MAAA,CAAUonB,OAAO,WAAApnB,MAAA,CAAKqnB,OAAO,QAAArnB,MAAA,CAAKsnB,OAAO,SAAAtnB,MAAA,CAAKunB,SAAS;AAC3D,CAAC;AArBYnsB,OAAA,CAAA2rB,eAAe,GAAAA,eAAA;AAgC5B;AACA;AACA,IAAMS,OAAO,GAAG,SAAVA,OAAOA,CAAAzrB,IAAA;EAAA,IACTsL,IAAI,GAAAtL,IAAA,CAAJsL,IAAI;IACJC,MAAM,GAAAvL,IAAA,CAANuL,MAAM;IACN9G,QAAQ,GAAAzE,IAAA,CAARyE,QAAQ;IACRC,SAAS,GAAA1E,IAAA,CAAT0E,SAAS;IACT0E,MAAM,GAAApJ,IAAA,CAANoJ,MAAM;IACNC,SAAS,GAAArJ,IAAA,CAATqJ,SAAS;IAAAqiB,qBAAA,GAAA1rB,IAAA,CACT6E,gBAAgB;IAAhBA,gBAAgB,GAAA6mB,qBAAA,cAAG,EAAE,GAAAA,qBAAA;EAAA,OAErBpsB,KAAA,CAAAgC,aAAA,CAACmpB,aAAa;IAACnf,IAAI,EAAEA,IAAI;IAAEC,MAAM,EAAEA,MAAM;IAAA,aAAY,oBAAoB;IAACogB,gBAAgB,EAAC;EAAO,GAC9FrsB,KAAA,CAAAgC,aAAA,CAACopB,WAAW,QACRprB,KAAA,CAAAgC,aAAA,gBACK8H,MAAM,IAAIC,SAAS,IAChB/J,KAAA,CAAAgC,aAAA,aACIhC,KAAA,CAAAgC,aAAA,CAACspB,iBAAiB;IAAA,aAAW;EAAS,GAAExhB,MAAM,CAAqB,EACnE9J,KAAA,CAAAgC,aAAA,CAACwpB,iBAAiB;IAAA,aAAW;EAAY,GAAEzhB,SAAS,CAAqB,CAEhF,EACA5E,QAAQ,IACLnF,KAAA,CAAAgC,aAAA,aACIhC,KAAA,CAAAgC,aAAA,CAACspB,iBAAiB,QAAEnW,MAAA,CAAAsB,CAAC,CAAC,UAAU,CAAC,CAAqB,EACtDzW,KAAA,CAAAgC,aAAA,CAACwpB,iBAAiB;IAAA,aAAW;EAAU,GAClCzrB,OAAA,CAAA2rB,eAAe,CAACvmB,QAAQ,EAAE,UAAU,CAAC,CACtB,CAE3B,EACAC,SAAS,IACNpF,KAAA,CAAAgC,aAAA,aACIhC,KAAA,CAAAgC,aAAA,CAACspB,iBAAiB,QAAEnW,MAAA,CAAAsB,CAAC,CAAC,WAAW,CAAC,CAAqB,EACvDzW,KAAA,CAAAgC,aAAA,CAACwpB,iBAAiB;IAAA,aAAW;EAAW,GACnCzrB,OAAA,CAAA2rB,eAAe,CAACtmB,SAAS,EAAE,WAAW,CAAC,CACxB,CAE3B,EACAG,gBAAgB,CAACC,GAAG,CAAC,UAAAjE,KAAA,EAAyB5B,KAAK;IAAA,IAA3BE,IAAI,GAAA0B,KAAA,CAAJ1B,IAAI;MAAEsD,KAAK,GAAA5B,KAAA,CAAL4B,KAAK;MAAEJ,KAAK,GAAAxB,KAAA,CAALwB,KAAK;IAAA,OACvC/C,KAAA,CAAAgC,aAAA;MAAIuE,GAAG,EAAEC,MAAM,CAAC7G,KAAK;IAAC,GAClBK,KAAA,CAAAgC,aAAA,CAACspB,iBAAiB;MAAA,aAAW;IAAa,GACrCvoB,KAAK,GAAG/C,KAAA,CAAAgC,aAAA,CAACypB,gBAAgB;MAAA,aAAW,aAAa;MAAC1oB,KAAK,EAAEA;IAAK,EAAI,GAAG,IAAI,EACzElD,IAAI,CACW,EACpBG,KAAA,CAAAgC,aAAA,CAACwpB,iBAAiB;MAAA,aAAW;IAAa,GAAEroB,KAAK,CAAqB,CACrE;EAAA,CACR,CAAC,CACE,CACE,CACF;AAAA,CACnB;AAEDpD,OAAA,CAAAQ,OAAA,GAAe4rB,OAAO,C;;;;;;;;;;;;;;;;;;;;;;;;;ACnHtB,IAAAjsB,mBAAA,GAAAD,mBAAA;AAEA,IAAAD,KAAA,GAAAC,mBAAA;AACA,IAAAI,YAAA,GAAAJ,mBAAA;AACA,IAAAoC,QAAA,GAAApC,mBAAA;AACA,IAAAqC,UAAA,GAAArC,mBAAA;AAEA,IAAAsC,eAAA,GAAAtC,mBAAA;AAQO,IAAMqsB,UAAU,GAAG,SAAbA,UAAUA,CAAIvjB,EAAgD,EAAiB;EAAA,IAA/D3H,KAAK,GAAO2H,EAAkC,CAA9C3H,KAAK;IAAE2B,KAAK,GAAAgG,EAAkC,CAAvChG,KAAK;IAAKoH,UAAU,GAAAC,MAAA,CAAArB,EAAA,EAA7B,kBAA+B,CAAF;EACpD,IAAMnE,aAAa,GAAGxD,KAAK,KAAK,OAAO,GAAG,GAAG,GAAG,IAAI;EACpD,OACIpB,KAAA,CAAAgC,aAAA,QAAAP,MAAA,CAAAC,MAAA;IAAKf,KAAK,EAAE,EAAE;IAAEa,MAAM,EAAE,EAAE;IAAEmC,IAAI,EAAC;EAAM,GAAKwG,UAAU,GAClDnK,KAAA,CAAAgC,aAAA;IACI0C,CAAC,EAAC,8VAA8V;IAChWf,IAAI,EAAEZ;EAAK,EACb,EACF/C,KAAA,CAAAgC,aAAA;IACI0C,CAAC,EAAC,8VAA8V;IAChWZ,MAAM,EAAC;EAAS,EAClB,EACF9D,KAAA,CAAAgC,aAAA;IACI0C,CAAC,EAAC,8VAA8V;IAChWZ,MAAM,EAAEf,KAAK;IACb6B,aAAa,EAAEA;EAAa,EAC9B,CACA;AAEd,CAAC;AAnBY7E,OAAA,CAAAusB,UAAU,GAAAA,UAAA;AA+BvB,IAAMhhB,MAAM,GAAGtL,KAAK,CAAC2C,IAAI,CACrB,UAAAjC,IAAA,EAQ+B;EAAA,IAP3ByE,QAAQ,GAAAzE,IAAA,CAARyE,QAAQ;IACRC,SAAS,GAAA1E,IAAA,CAAT0E,SAAS;IACTrC,KAAK,GAAArC,IAAA,CAALqC,KAAK;IACL6D,gBAAgB,GAAAlG,IAAA,CAAhBkG,gBAAgB;IAChBpB,GAAG,GAAA9E,IAAA,CAAH8E,GAAG;IACHD,gBAAgB,GAAA7E,IAAA,CAAhB6E,gBAAgB;IAChBgnB,gBAAgB,GAAA7rB,IAAA,CAAhB6rB,gBAAgB;EAEhB,IAAM3W,IAAI,GAAG5V,KAAK,CAAC6F,OAAO,CACtB;IAAA,OAAM7F,KAAA,CAAAgC,aAAA,CAACjC,OAAA,CAAAusB,UAAU;MAACvpB,KAAK,EAAEA,KAAK;MAAE3B,KAAK,EAAEwF,gBAAgB;MAAErD,OAAO,EAAEgpB;IAAgB,EAAI;EAAA,GACtF,CAACxpB,KAAK,EAAEwpB,gBAAgB,EAAE3lB,gBAAgB,CAAC,CAC9C;EACD,OACI5G,KAAA,CAAAgC,aAAA,CAAC6C,mBAAmB;IAChBM,QAAQ,EAAEA,QAAQ;IAClBC,SAAS,EAAEA,SAAS;IACpBI,GAAG,EAAEA,GAAG;IACRD,gBAAgB,EAAEA,gBAAgB;IAAA,kBACnB;EAAQ,GAEtBqQ,IAAI,CACa;AAE9B,CAAC,CACJ;AAEDtK,MAAM,CAACvK,WAAW,GAAG,WAAW;AAEhC,IAAM8D,mBAAmB,GAAG3E,mBAAA,CAAAK,OAAM,CAACgC,eAAA,CAAAhC,OAAa,CAAC,CAAAO,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,8CAIhD;AAEM,IAAMwrB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CACnCvB,WAA4B,EAEqB;EAAA,IADjDnkB,UAAA,GAAAgO,SAAA,CAAA1V,MAAA,QAAA0V,SAAA,QAAAhK,SAAA,GAAAgK,SAAA,MAAuCzS,QAAA,CAAA2W,IAAI;EAE3C,IAAMyT,QAAQ,GAAGxB,WAAW,CAAC9lB,QAAQ;EACrC,IAAMunB,QAAQ,GAAGzB,WAAW,CAAC7lB,SAAS;EACtC,IAAMunB,aAAa,GAAG,CAAC1B,WAAW,CAACjjB,UAAU;EAC7C,IAAMsI,KAAK,GAAGtM,IAAI,CAACiM,GAAG,CAClBwc,QAAQ,CAACrtB,MAAM,EACfstB,QAAQ,CAACttB,MAAM,EACf6rB,WAAW,CAACxjB,WAAW,GAAGwjB,WAAW,CAACxjB,WAAW,GAAGnF,UAAA,CAAAiG,oBAAoB,CAC3E;EACD,IAAMqkB,WAAW,GAAkD,EAAE;EAAC,IAAAttB,KAAA,YAAAA,MAC7DC,CAAC;IACN,IAAMstB,WAAW,GACb5B,WAAW,CAAClkB,YAAY,IAAI1G,YAAA,CAAAa,OAAO,CAAC+pB,WAAW,CAAClkB,YAAY,CAAC,CAAC,CAAC,CAAC,GAC1DkkB,WAAW,CAAClkB,YAAY,CAAC,CAAC,CAAC,GAC3BzE,UAAA,CAAAiH,qBAAqB;IAC/B,IAAMujB,YAAY,GACd7B,WAAW,CAACjjB,UAAU,IAAI3H,YAAA,CAAAa,OAAO,CAAC+pB,WAAW,CAACjjB,UAAU,CAACzI,CAAC,CAAC,CAAC,GACtD0rB,WAAW,CAACjjB,UAAU,CAACzI,CAAC,CAAC,GACzB+C,UAAA,CAAAiH,qBAAqB;IAC/B,IAAMxG,KAAK,GAAG4pB,aAAa,GAAGE,WAAW,GAAGC,YAAY;IACxD,IAAMvnB,gBAAgB,GAAG0lB,WAAW,CAACriB,QAAQ,GACvCqiB,WAAW,CAACrjB,uBAAuB,CAACpC,GAAG,CAAC,UAAA9F,KAAK;MAAA,OAAK;QAC9CG,IAAI,EAAEH,KAAK;QACXyD,KAAK,EAAE8nB,WAAW,CAACriB,QAAQ,CAACrJ,CAAC,CAAC,CAACG,KAAK;OACvC;IAAA,CAAC,CAAC,GACH,EAAE;IACR,IAAM6sB,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAGjpB,CAAC,EAAG;;MACzB,IAAMsF,QAAQ,GAAG,CAAAG,EAAA,GAAAkiB,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAEriB,QAAQ,CAACrJ,CAAC,CAAC,cAAAwJ,EAAA,cAAAA,EAAA,GAAI,EAAE;MAC/C,IAAMC,OAAO,GAAGvH,MAAM,CAACwH,IAAI,CAACL,QAAQ,CAAC,CAACV,MAAM,CAAC,UAACC,GAAG,EAAEe,IAAI,EAAI;QACvD,IAAM3C,GAAG,UAAA5B,MAAA,CAAUuE,IAAI,WAAQ;QAC/B,IAAM/F,KAAK,GAAGqD,MAAM,CAACoC,QAAQ,CAACM,IAAI,CAAC,CAAC;QACpC,OAAAzH,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAAYyG,GAAG,GAAAiB,eAAA,KAAG7C,GAAG,EAAGpD,KAAK;MACjC,CAAC,EAAE,EAAE,CAAC;MAEN2D,UAAU,CAAC;QAAExD,CAAC,EAADA,CAAC;QAAE0F,OAAO,EAAPA;MAAO,CAAE,CAAC;IAC9B,CAAC;IACD4jB,WAAW,CAAC9sB,IAAI,CAAC;MACbqF,QAAQ,EAAEsnB,QAAQ,CAACltB,CAAC,CAAC;MACrB6F,SAAS,EAAEsnB,QAAQ,CAACntB,CAAC,CAAC;MACtBwD,KAAK,EAALA,KAAK;MACLwC,gBAAgB,EAAhBA,gBAAgB;MAChBgnB,gBAAgB,EAAhBA;KACH,CAAC;EAAC;EAhCP,KAAK,IAAIhtB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG+Q,KAAK,EAAE/Q,CAAC,IAAI,CAAC,EAAE;IAAAD,KAAA,CAA1BC,CAAC;;EAkCV,OAAOqtB,WAAW;AACtB,CAAC;AAhDY7sB,OAAA,CAAAysB,0BAA0B,GAAAA,0BAAA;AAyDvC,IAAMO,WAAW,GAAG,SAAdA,WAAWA,CAAI9rB,KAAuB,EAAiB;EAAA,IACjDuE,GAAG,GAAgDvE,KAAK,CAAxDuE,GAAG;IAAEoB,gBAAgB,GAA8B3F,KAAK,CAAnD2F,gBAAgB;IAAEqkB,WAAW,GAAiBhqB,KAAK,CAAjCgqB,WAAW;IAAEnkB,UAAU,GAAK7F,KAAK,CAApB6F,UAAU;EACtDmkB,WAAW,CAAClkB,YAAY,GAAGkkB,WAAW,CAAClkB,YAAY,IAAIzE,UAAA,CAAA0E,qBAAqB;EAC5E,IAAMgmB,eAAe,GAAGhtB,KAAK,CAAC6F,OAAO,CAAC;IAAA,OAAM9F,OAAA,CAAAysB,0BAA0B,CAACvB,WAAW,EAAEnkB,UAAU,CAAC;EAAA,GAAE,CAC7FmkB,WAAW,EACXnkB,UAAU,CACb,CAAC;EAEF,OACI9G,KAAA,CAAAgC,aAAA,CAAAhC,KAAA,CAAAqJ,QAAA,QACK2jB,eAAe,CAACxnB,GAAG,CAAC,UAAConB,WAAW,EAAErtB,CAAC;IAAA,OAChCS,KAAA,CAAAgC,aAAA,CAACsJ,MAAM,EAAA7J,MAAA,CAAAC,MAAA;MAAC6E,GAAG,EAAEC,MAAM,CAACjH,CAAC,CAAC;MAAEqH,gBAAgB,EAAEA,gBAAgB;MAAEpB,GAAG,EAAEA;IAAG,GAAMonB,WAAW,EAAI;EAAA,CAC5F,CAAC,CACH;AAEX,CAAC;AAED7sB,OAAA,CAAAQ,OAAA,GAAewsB,WAAW,C;;;;;;;;;;;;;;AC5J1B,IAAA/sB,KAAA,GAAAC,mBAAA;AAEA,IAAAmV,SAAA,GAAAnV,mBAAA;AACA,IAAAgtB,aAAA,GAAAhtB,mBAAA;AACA,IAAAitB,iBAAA,GAAAjtB,mBAAA;AACA,IAAAqC,UAAA,GAAArC,mBAAA;AACA,IAAAujB,iBAAA,GAAAvjB,mBAAA;AAYA,IAAMktB,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIlsB,KAA2B,EAAiB;;MAC9DN,KAAK,GAAkFM,KAAK,CAA5FN,KAAK;IAAEa,MAAM,GAA0EP,KAAK,CAArFO,MAAM;IAAEgE,GAAG,GAAqEvE,KAAK,CAA7EuE,GAAG;IAAEsK,eAAe,GAAoD7O,KAAK,CAAxE6O,eAAe;IAAExC,cAAc,GAAoCrM,KAAK,CAAvDqM,cAAc;IAAEyC,iBAAiB,GAAiB9O,KAAK,CAAvC8O,iBAAiB;IAAEjJ,UAAU,GAAK7F,KAAK,CAApB6F,UAAU;EAC1F,IAAMkJ,UAAU,GAAGhM,IAAI,CAACiM,GAAG,CAACjM,IAAI,CAACkM,GAAG,CAACJ,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAEK,iBAAiB,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAAC,IAAA3F,eAAA,GAClDxK,KAAK,CAACyK,QAAQ,CAAC;MAAE2iB,QAAQ,EAAE,CAAC;QAAElb,UAAU,EAAE;UAAErS,IAAI,EAAE;QAAE,CAAE;QAAEyO,QAAQ,EAAE;MAAE,CAAE;IAAC,CAAE,CAAC;IAAA5D,gBAAA,GAAAjB,cAAA,CAAAe,eAAA;IAAjG6iB,OAAO,GAAA3iB,gBAAA;IAAE4iB,UAAU,GAAA5iB,gBAAA;EAAA,IAAA6D,gBAAA,GACcvO,KAAK,CAACyK,QAAQ,CAAC,IAAI,CAAC;IAAA+D,gBAAA,GAAA/E,cAAA,CAAA8E,gBAAA;IAArDgf,YAAY,GAAA/e,gBAAA;IAAEgf,eAAe,GAAAhf,gBAAA;EAAA,IAAAG,gBAAA,GACI3O,KAAK,CAACyK,QAAQ,CAAC;MAAE8L,KAAK,EAAE,MAAM;MAAEC,OAAO,EAAE;IAAE,CAAE,CAAC;IAAA5H,gBAAA,GAAAnF,cAAA,CAAAkF,gBAAA;IAA/E8e,YAAY,GAAA7e,gBAAA;IAAE8e,eAAe,GAAA9e,gBAAA,KAEpC;EACA5O,KAAK,CAACoL,SAAS,CAAC,YAAK;IACjB,IAAIuiB,WAAW;IACf,IAAMC,WAAW,GAAGX,aAAA,CAAA1sB,OAAW,CAACstB,MAAM,EAAE;IACxCD,WAAW,CAACE,kBAAkB,CAAC,IAAIZ,iBAAA,CAAA3sB,OAAe,EAAE,CAAC;IACrD,IAAI;MACAotB,WAAW,GAAGC,WAAW,CAACG,QAAQ,CAACje,eAAe,CAACZ,MAAM,CAAC;MAC1Doe,UAAU,CAACK,WAAW,CAAC;MACvBH,eAAe,CAAC,IAAI,CAAC;KACxB,CAAC,OAAOlqB,CAAC,EAAE;MACRoqB,eAAe,CAACpqB,CAAC,CAAC;MAClBkqB,eAAe,CAAC,KAAK,CAAC;;EAE9B,CAAC,EAAE,CAAC1d,eAAe,CAACZ,MAAM,CAAC,CAAC;EAE5B,IAAM8e,qBAAqB,GAAGhuB,KAAK,CAAC6F,OAAO,CAAC,YAAK;IAC7C,IAAIooB,cAAc,GAAG,MAAM;IAC3B,IAAIne,eAAe,CAACS,OAAO,IAAIgd,YAAY,EAAE;MACzC,IAAMW,eAAe,GAAGzsB,MAAM,CAACwH,IAAI,CAACokB,OAAO,CAACD,QAAQ,CAAC,CAAC,CAAC,CAAClb,UAAU,CAAC;MAEnE;MACA;;;;;;;;;;;;;;;;MAAA,IAAA5S,KAAA,YAAAA,MAiBS+I,GAAG;QACR,IAAM8lB,aAAa,GAAGd,OAAO,CAACD,QAAQ,CAAC/kB,GAAG,CAAC,CAAC6J,UAAU;QACtD,IAAMkc,WAAW,GAAGF,eAAe,CAAC9Z,IAAI,CACpC,UAAA7N,GAAG;UAAA,OAAI4nB,aAAa,CAAC5nB,GAAG,CAAC,KAAKuJ,eAAe,CAACS,OAAO,CAAC,CAAC,CAAC;QAAA,EAC3D;QAED,IAAI6d,WAAW,KAAKtjB,SAAS,EAAE;UAC3BmjB,cAAc,GAAGG,WAAW;UAC5B;;MACH;MATL,KAAK,IAAI/lB,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGglB,OAAO,CAACD,QAAQ,CAAChuB,MAAM,EAAEiJ,GAAG,IAAI,CAAC,EAAE;QAAA,IAAAgmB,IAAA,GAAA/uB,KAAA,CAAlD+I,GAAG;QAAA,IAAAgmB,IAAA,cAQJ;;;IAIZ,OAAOJ,cAAc;EACzB,CAAC,EAAE,CAACne,eAAe,CAACS,OAAO,EAAE8c,OAAO,CAAC,CAAC;EAEtC,IAAMpoB,MAAM,GAAG,CAAA8D,EAAA,GAAA+G,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE9H,UAAU,cAAAe,EAAA,uBAAAA,EAAA,CAAEvD,GAAG,CAAC,UAAAzC,KAAK;IAAA,OAAK,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3D,MAAM,IAAG,CAAC,GAAG2D,KAAK,CAACuF,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAGvF,KAAK;EAAA,CAAC,CAAC;EACzG,IAAMqN,eAAe,GAAG,CAAAtH,EAAA,GAAAxG,UAAA,CAAA+N,kBAAkB,CAACP,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAE9H,UAAU,EAAEgI,UAAU,CAAC,cAAAlH,EAAA,cAAAA,EAAA,GAAI,EAAE;EAEzF,IAAMwlB,wBAAwB,GAAGtuB,KAAK,CAAC6F,OAAO,CAAC,YAAK;IAChD,IAAM0oB,iBAAiB,GAAG,EAAE;IAC5B,IAAIhB,YAAY,EAAE;MACd,KAAK,IAAIllB,GAAG,GAAG,CAAC,EAAEA,GAAG,GAAGglB,OAAO,CAACD,QAAQ,CAAChuB,MAAM,EAAEiJ,GAAG,IAAI,CAAC,EAAE;QACvD,IAAMmmB,EAAE,GAAGnB,OAAO,CAACD,QAAQ,CAAC/kB,GAAG,CAAC;QAEhC,IAAMomB,cAAc,GAMhB;UACA1rB,KAAK,EAAE+M,eAAe,CAACga,wBAAwB;UAC/C/f,SAAS,EAAE,SAAS;UACpBqD,OAAO,EAAE4C,UAAU;UACnBnQ,IAAI,EAAE,EAAE;UACRwI,GAAG,EAAE;SACR;QAEDomB,cAAc,CAAC5uB,IAAI,GAAG2uB,EAAE,CAACtc,UAAU,CAAC8b,qBAAqB,CAAC;QAC1D;QACA,IAAIle,eAAe,CAACS,OAAO,EAAE;UACzB;UACA,IAAMme,OAAO,GAAG5e,eAAe,CAACS,OAAO,CAACsC,OAAO,CAAC2b,EAAE,CAACtc,UAAU,CAAC8b,qBAAqB,CAAC,CAAC;UACrF,IAAIU,OAAO,KAAK,CAAC,CAAC,EAAE;YAChBD,cAAc,CAAC1rB,KAAK,GAAGkC,MAAM,CAACypB,OAAO,CAAC;YACtCD,cAAc,CAAC1kB,SAAS,GAAG+F,eAAe,CAACU,UAAU,CAACke,OAAO,CAAC;YAC9DD,cAAc,CAACrhB,OAAO,GAAGgD,eAAe,CAACse,OAAO,CAAC;YACjDD,cAAc,CAACpmB,GAAG,GAAGqmB,OAAO;WAC/B,MAAM;YACHD,cAAc,CAACpmB,GAAG,GAAGyH,eAAe,CAACS,OAAO,CAACnR,MAAM;;;QAG3DmvB,iBAAiB,CAACzuB,IAAI,CAAC2uB,cAAc,CAAC;;;IAG9C,OAAOF,iBAAiB;EAC5B,CAAC,EAAE,CAACze,eAAe,CAACS,OAAO,EAAET,eAAe,CAACU,UAAU,EAAEvL,MAAM,EAAEmL,eAAe,CAAC,CAAC;EAElF,IAAM3K,eAAc,GAAG,SAAjBA,cAAcA,CAAInC,CAAC,EAAE/D,CAAC,EAAI;IAC5B,IAAMyJ,OAAO,GAAG1G,UAAA,CAAA4O,cAAc,CAACpB,eAAe,EAAEvQ,CAAC,CAAC;IAClDuH,UAAU,CAAC;MAAExD,CAAC,EAADA,CAAC;MAAE0F,OAAO,EAAPA;IAAO,CAAE,CAAC;EAC9B,CAAC;EAED,IAAIsE,cAAc,EAAE;IAChByC,iBAAiB,CAAC,KAAK,CAAC;;EAG5B,IAAMxK,gBAAgB,GAAG,CAAAuK,eAAe,aAAfA,eAAe,uBAAfA,eAAe,CAAElH,QAAQ,IAC5CkH,eAAe,CAAClH,QAAQ,CAACpD,GAAG,CAAC,UAAAyL,kBAAkB,EAAG;;IAC9C,QAAAlI,EAAA,GAAA+G,eAAe,CAAClI,uBAAuB,cAAAmB,EAAA,uBAAAA,EAAA,CAAEvD,GAAG,CAAC,UAAA9F,KAAK;MAAA,OAAK;QACnDG,IAAI,EAAEH,KAAK;QACXyD,KAAK,EAAE8N,kBAAkB,CAACvR,KAAK;OAClC;IAAA,CAAC,CAAC;GAAA,CACN,GACD,EAAE;EAER,OACIM,KAAA,CAAAgC,aAAA,cACK,CAACurB,YAAY,IACVvtB,KAAA,CAAAgC,aAAA,CAACoT,SAAA,CAAA7U,OAAO;IAAA,aACM,oBAAoB;IAC9BI,KAAK,EAAEA,KAAK;IACZa,MAAM,EAAEA,MAAM;IACd+U,KAAK,EAAEkX,YAAY,CAAClX,KAAK;IACzBC,OAAO,EAAEiX,YAAY,CAACjX;EAAO,EAEpC,EACA+W,YAAY,IACTe,wBAAwB,CAAC9oB,GAAG,CAAC,UAACgpB,EAAE,EAAEjvB,CAAC,EAAI;IACnC,OACIS,KAAA,CAAAgC,aAAA,CAACwhB,iBAAA,CAAApV,UAAU;MACP7H,GAAG,EAAEioB,EAAE,CAAC3uB,IAAI;MACZ2M,EAAE,EAAEgiB,EAAE,CAAC3uB,IAAI;MACX2F,GAAG,EAAEA,GAAG;MACRzC,KAAK,EAAEyrB,EAAE,CAACzrB,KAAK;MACfqK,OAAO,EAAEohB,EAAE,CAACphB,OAAO;MACnBC,WAAW,EAAEyC,eAAe,CAACqB,qBAAqB;MAClDrH,MAAM,EAAE0kB,EAAE,CAAC3uB,IAAI;MACfkK,SAAS,EAAEykB,EAAE,CAACzkB,SAAS;MACvBtE,cAAc,EAAE,SAAAA,eAAAnC,CAAC;QAAA,OAAImC,eAAc,CAACnC,CAAC,EAAEkrB,EAAE,CAACnmB,GAAG,CAAC;MAAA;MAC9CiF,cAAc,EAAEA,cAAc;MAC9BH,QAAQ,EAAEkgB,OAAO,CAACD,QAAQ,CAAC7tB,CAAC,CAAC,CAAC+O,QAAQ;MACtC/I,gBAAgB,EAAEA,gBAAgB,CAACipB,EAAE,CAACnmB,GAAG;IAAC,EAC5C;EAEV,CAAC,CAAC,CACJ;AAEd,CAAC;AAEDtI,OAAA,CAAAQ,OAAA,GAAe4sB,oBAAoB,C;;;;;;;AC7KnC,sE;;;;;;;ACAA,0E;;;;;;;;;;;;;ACAA,IAAAwB,qBAAA,GAAA1uB,mBAAA;AACA,IAAA2uB,cAAA,GAAA3uB,mBAAA;AACA,IAAAmR,aAAA,GAAAnR,mBAAA;AACA,IAAA4uB,8BAAA,GAAA5uB,mBAAA;AACA,IAAA6uB,QAAA,GAAA7uB,mBAAA;AACA,IAAAkV,MAAA,GAAAlV,mBAAA;AAOA,IAAAoR,aAAA,GAAApR,mBAAA;AACA,IAAA8uB,aAAA,GAAA9uB,mBAAA;AAGA,IAAA+uB,aAAA,GAAA/uB,mBAAA;AACA,IAAAqC,UAAA,GAAArC,mBAAA;AACA,IAAAgvB,iBAAA,GAAAhvB,mBAAA;AAEA,IAAMod,cAAc,GAAmB;EACnC6R,gBAAgB,EAAE,CACd;IAAEC,EAAE,EAAE,EAAE;IAAEhsB,KAAK,EAAE;EAAS,CAAE,EAC5B;IAAEisB,IAAI,EAAE,EAAE;IAAED,EAAE,EAAE,EAAE;IAAEhsB,KAAK,EAAE;EAAS,CAAE,EACtC;IAAEisB,IAAI,EAAE,EAAE;IAAED,EAAE,EAAE,EAAE;IAAEhsB,KAAK,EAAE;EAAS,CAAE,EACtC;IAAEisB,IAAI,EAAE,EAAE;IAAED,EAAE,EAAE,EAAE;IAAEhsB,KAAK,EAAE;EAAS,CAAE,EACtC;IAAEisB,IAAI,EAAE,EAAE;IAAEjsB,KAAK,EAAE;EAAS,CAAE;CAErC;AAED,IAAMksB,YAAY,GAAiB;EAC/BC,mBAAmB,EAAE,EAAE;EACvBC,mBAAmB,EAAE,CACjB;IACI1vB,IAAI,EAAE,SAAS;IACfgS,WAAW,EAAE;GAChB,CACJ;EACD2d,oBAAoB,EAAE;IAClB1N,OAAO,EAAE;MAAE/J,MAAM,EAAE,CAAC;MAAE3R,KAAK,EAAE;IAAK;;CAEzC;AAED,IAAMqpB,IAAI,GAAY;EAClBC,YAAY,EAAE,GAAG;EACjBC,aAAa,EAAE;CAClB;AAED,IAAMje,aAAa,GAAkB;EACjCvQ,eAAe,EAAE;IACbZ,OAAO,EAAE,iCAAiC;IAC1CsR,WAAW,EACP,2NAA2N;IAC/NN,OAAO,EAAEH,aAAA,CAAAwe,gCAAgC;IACzC9iB,IAAI,EAAE;GACT;EACD0X,mBAAmB,EAAE;IACjB1X,IAAI,EAAE,QAAQ;IACd+E,WAAW,EAAE;GAChB;EACD4S,uBAAuB,EAAE;IACrB3X,IAAI,EAAE,QAAQ;IACd+E,WAAW,EAAE,gDAAgD;IAC7DN,OAAO,EAAEH,aAAA,CAAAye,UAAU,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC;GAC3C;EACDnL,MAAM,EAAE;IACJ5X,IAAI,EAAE,OAAO;IACb+E,WAAW,EACP,wRAAwR;IAC5Rie,KAAK,EAAE;MAAEhjB,IAAI,EAAE;IAAQ;GAC1B;EACD0U,MAAM,EAAE;IACJ;IACA;IACAjhB,OAAO,EAAE,CACL;MACIuM,IAAI,EAAExK,UAAA,CAAA2mB,UAAU,CAACnkB,MAAM;MACvBK,QAAQ,EAAE,sCAAsC;MAChDC,SAAS,EAAE,uCAAuC;MAClD2B,YAAY,EAAE8nB,8BAAA,CAAAkB,eAAe;MAC7B1qB,UAAU,EACN,uGAAuG;MAC3GuC,uBAAuB,EAAE,EAAE;MAC3BH,WAAW,EAAE;KAChB,EACD;MACIqF,IAAI,EAAExK,UAAA,CAAA2mB,UAAU,CAAC3d,MAAM;MACvBnG,QAAQ,EAAE,sCAAsC;MAChDC,SAAS,EAAE,uCAAuC;MAClD2B,YAAY,EAAE8nB,8BAAA,CAAAkB,eAAe;MAC7BnoB,uBAAuB,EAAE,EAAE;MAC3BH,WAAW,EAAE;KAChB,EACD;MACIqF,IAAI,EAAExK,UAAA,CAAA2mB,UAAU,CAAC7a,UAAU;MAC3BmC,OAAO,EAAE,oCAAoC;MAC7CC,UAAU,EAAE,oCAAoC;MAChDxI,UAAU,EAAE,2BAA2B;MACvCJ,uBAAuB,EAAE,EAAE;MAC3BH,WAAW,EAAE,IAAI;MACjBqiB,wBAAwB,EAAE,0CAA0C;MACpE3Y,qBAAqB,EAAE,aAAa;MACpChB,iBAAiB,EAAE;KACtB,CACJ;IACDrD,IAAI,EAAE,OAAO;IACb+E,WAAW,EACP,wGAAwG;IAC5Gie,KAAK,EAAE;MACHtd,KAAK,EAAE,CACH;QACI1F,IAAI,EAAE,QAAQ;QACdoF,UAAU,EAAE;UACRpF,IAAI,EAAE;YACF+E,WAAW,EACP,uHAAuH;YAC3H/E,IAAI,EAAE,QAAQ;YACdyE,OAAO,EAAEH,aAAA,CAAAye,UAAU,CAAC,CAChBvtB,UAAA,CAAA2mB,UAAU,CAAC3d,MAAM,EACjBhJ,UAAA,CAAA2mB,UAAU,CAACnkB,MAAM,EACjBxC,UAAA,CAAA2mB,UAAU,CAAC7a,UAAU,CACxB,CAAC;YACF7N,OAAO,EAAE+B,UAAA,CAAA2mB,UAAU,CAAC3d;WACvB;UACDnG,QAAQ,EAAE;YACN0M,WAAW,EACP,gKAAgK;YACpK/E,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzBgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACD6E,SAAS,EAAE;YACPyM,WAAW,EACP,iKAAiK;YACrK/E,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzBgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACDwG,YAAY,EAAE;YACV8K,WAAW,EACP,yMAAyM;YAC7M/E,IAAI,EAAE,OAAO;YACbgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE,QAAQ;cAAEyE,OAAO,EAAEH,aAAA,CAAAwe;YAAgC,CAAE;YACpErvB,OAAO,EAAEsuB,8BAAA,CAAAkB;WACZ;UACD/nB,UAAU,EAAE;YACR6J,WAAW,EACP,kjBAAkjB;YACtjB/E,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzBgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ;WAC1B;UACDlF,uBAAuB,EAAE;YACrBiK,WAAW,EACP,gNAAgN;YACpN/E,IAAI,EAAE,OAAO;YACbgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACDkH,WAAW,EAAE;YACToK,WAAW,EACP,0GAA0G;YAC9G/E,IAAI,EAAE,QAAQ;YACdvM,OAAO,EAAE;;;OAGpB,EACD;QACIuM,IAAI,EAAE,QAAQ;QACdoF,UAAU,EAAE;UACRpF,IAAI,EAAE;YACF+E,WAAW,EACP,uHAAuH;YAC3H/E,IAAI,EAAE,QAAQ;YACdyE,OAAO,EAAEH,aAAA,CAAAye,UAAU,CAAC,CAChBvtB,UAAA,CAAA2mB,UAAU,CAAC3d,MAAM,EACjBhJ,UAAA,CAAA2mB,UAAU,CAACnkB,MAAM,EACjBxC,UAAA,CAAA2mB,UAAU,CAAC7a,UAAU,CACxB,CAAC;YACF7N,OAAO,EAAE+B,UAAA,CAAA2mB,UAAU,CAAC7a;WACvB;UACDmC,OAAO,EAAE;YACLsB,WAAW,EACP,iIAAiI;YACrI/E,IAAI,EAAE,OAAO;YACbgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACDiQ,UAAU,EAAE;YACRqB,WAAW,EACP,sIAAsI;YAC1I/E,IAAI,EAAE,OAAO;YACbgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACDyH,UAAU,EAAE;YACR6J,WAAW,EACP,kXAAkX;YACtX/E,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzBgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACDqH,uBAAuB,EAAE;YACrBiK,WAAW,EACP,gNAAgN;YACpN/E,IAAI,EAAE,OAAO;YACbgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACDkH,WAAW,EAAE;YACToK,WAAW,EACP,0GAA0G;YAC9G/E,IAAI,EAAE,QAAQ;YACdvM,OAAO,EAAE;WACZ;UACD2O,MAAM,EAAE;YACJ2C,WAAW,EACP,yHAAyH;YAC7HN,OAAO,EAAEH,aAAA,CAAAye,UAAU,CAAC,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;YAChE/iB,IAAI,EAAE;WACT;UACDgd,wBAAwB,EAAE;YACtBjY,WAAW,EACP,+IAA+I;YACnJN,OAAO,EAAEH,aAAA,CAAAwe,gCAAgC;YACzC9iB,IAAI,EAAE,QAAQ;YACdvM,OAAO,EAAE;WACZ;UACD4Q,qBAAqB,EAAE;YACnBU,WAAW,EACP,kGAAkG;YACtGN,OAAO,EAAEH,aAAA,CAAAwe,gCAAgC;YACzC9iB,IAAI,EAAE,QAAQ;YACdvM,OAAO,EAAE;WACZ;UACD4P,iBAAiB,EAAE;YACf0B,WAAW,EACP,wLAAwL;YAC5L/E,IAAI,EAAE,QAAQ;YACdvM,OAAO,EAAE;;;OAGpB,EACD;QACIuM,IAAI,EAAE,QAAQ;QACdoF,UAAU,EAAE;UACRpF,IAAI,EAAE;YACF+E,WAAW,EACP,uHAAuH;YAC3H/E,IAAI,EAAE,QAAQ;YACdyE,OAAO,EAAEH,aAAA,CAAAye,UAAU,CAAC,CAChBvtB,UAAA,CAAA2mB,UAAU,CAAC3d,MAAM,EACjBhJ,UAAA,CAAA2mB,UAAU,CAACnkB,MAAM,EACjBxC,UAAA,CAAA2mB,UAAU,CAAC7a,UAAU,CACxB,CAAC;YACF7N,OAAO,EAAE+B,UAAA,CAAA2mB,UAAU,CAACnkB;WACvB;UACDO,UAAU,EAAE;YACRwM,WAAW,EACP,6FAA6F;YACjG/E,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzBgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EACH;WACP;UACD4E,QAAQ,EAAE;YACN0M,WAAW,EACP,gKAAgK;YACpK/E,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzBgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACD6E,SAAS,EAAE;YACPyM,WAAW,EACP,iKAAiK;YACrK/E,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzBgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACDwG,YAAY,EAAE;YACV8K,WAAW,EACP,yMAAyM;YAC7M/E,IAAI,EAAE,OAAO;YACbgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE,QAAQ;cAAEyE,OAAO,EAAEH,aAAA,CAAAwe;YAAgC,CAAE;YACpErvB,OAAO,EAAEsuB,8BAAA,CAAAkB;WACZ;UACD/nB,UAAU,EAAE;YACR6J,WAAW,EACP,kjBAAkjB;YACtjB/E,IAAI,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC;YACzBgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ;WAC1B;UACDlF,uBAAuB,EAAE;YACrBiK,WAAW,EACP,gNAAgN;YACpN/E,IAAI,EAAE,OAAO;YACbgjB,KAAK,EAAE;cAAEhjB,IAAI,EAAE;YAAQ,CAAE;YACzBvM,OAAO,EAAE;WACZ;UACDkH,WAAW,EAAE;YACToK,WAAW,EACP,0GAA0G;YAC9G/E,IAAI,EAAE,QAAQ;YACdvM,OAAO,EAAE;;;OAGpB;;GAGZ;EACDukB,SAAS,EAAE;IACPvkB,OAAO,EAAE,QAAQ;IACjBuM,IAAI,EAAE,QAAQ;IACd+E,WAAW,EAAE,gCAAgC;IAC7CN,OAAO,EAAEH,aAAA,CAAAye,UAAU,CAAC,CAAC,QAAQ,EAAE,UAAU,CAAC;GAC7C;EACD5K,aAAa,EAAE;IACX1kB,OAAO,EAAE,IAAI;IACbuM,IAAI,EAAE,SAAS;IACf+E,WAAW,EAAE;GAChB;EACDkT,SAAS,EAAE;IACPxkB,OAAO,EAAE,IAAI;IACbuM,IAAI,EAAE,SAAS;IACf+E,WAAW,EAAE;GAChB;EACDmT,gBAAgB,EAAE;IACdzkB,OAAO,EAAE,IAAI;IACbuM,IAAI,EAAE,SAAS;IACf+E,WAAW,EAAE;GAChB;EACDhL,IAAI,EAAE;IACFgL,WAAW,EAAE,oCAAoC;IACjD/E,IAAI,EAAE;;CAEb;AAED,IAAM+O,MAAM,GAAmB;EAC3Bxa,sBAAsB,EAAE,SAAAA,uBAAAJ,KAAK;IAAA,OACzB6tB,QAAA,CAAA5E,IAAI,CAAC;MACD8F,UAAU,EAAE;QACRC,IAAI,EAAEnB,QAAA,CAAAoB,SAAS,CAACC,KAAK,CAAClvB,KAAK,CAAC;QAC5BmvB,KAAK,EAAEtB,QAAA,CAAAoB,SAAS,CAAC/uB,eAAe,CAACF,KAAK;OACzC;MACDovB,MAAM,EAAEvB,QAAA,CAAAoB,SAAS,CAACI,sBAAsB,CAACrvB,KAAK;KACjD,CAAC,CAACA,KAAK,CAAC;EAAA;EACb0jB,sBAAsB,EAAE,SAAAA,uBAAA1jB,KAAK;IAAA,OACzB6tB,QAAA,CAAA5E,IAAI,CAAC;MACD8F,UAAU,EAAE;QACRC,IAAI,EAAEnB,QAAA,CAAAoB,SAAS,CAACK,MAAM,CAACtvB,KAAK,CAAC;QAC7BmvB,KAAK,EAAEtB,QAAA,CAAAoB,SAAS,CAACM,KAAK,CAACvvB,KAAK;OAC/B;MACDovB,MAAM,EAAEvB,QAAA,CAAAoB,SAAS,CAACO,oBAAoB,CAACxvB,KAAK;KAC/C,CAAC,CAACA,KAAK,CAAC;EAAA;EACb2jB,sBAAsB,EAAE,SAAAA,uBAAA3jB,KAAK;IAAA,OACzB6tB,QAAA,CAAA5E,IAAI,CAAC;MACD8F,UAAU,EAAElB,QAAA,CAAAoB,SAAS,CAACQ,SAAS,CAACzvB,KAAK,CAAC;MACtCovB,MAAM,EAAEvB,QAAA,CAAAoB,SAAS,CAACS,mBAAmB,CAAC1vB,KAAK;KAC9C,CAAC,CAACA,KAAK,CAAC;EAAA;EACb2vB,+BAA+B,EAAE,SAAAA,gCAAA3vB,KAAK;IAAA,OAClC6tB,QAAA,CAAA5E,IAAI,CAAC;MACD8F,UAAU,EAAE;QACRC,IAAI,EAAEnB,QAAA,CAAAoB,SAAS,CAACK,MAAM,CAACtvB,KAAK,CAAC;QAC7BmvB,KAAK,EAAEtB,QAAA,CAAAoB,SAAS,CAACW,MAAM,CAAC5vB,KAAK;OAChC;MACDovB,MAAM,EAAE;QACJJ,IAAI,EAAEnB,QAAA,CAAAoB,SAAS,CAACY,0BAA0B,CAAC7vB,KAAK,CAAC;QACjDmvB,KAAK,EAAEtB,QAAA,CAAAoB,SAAS,CAACa,UAAU,CAAC9vB,KAAK;;KAExC,CAAC,CAACA,KAAK,CAAC;EAAA;EACb+vB,8BAA8B,EAAE,SAAAA,+BAAA/vB,KAAK;IAAA,OACjC6tB,QAAA,CAAA5E,IAAI,CAAC;MACD8F,UAAU,EAAE;QACRC,IAAI,EAAE,CAAC,SAAS,EAAEnB,QAAA,CAAAoB,SAAS,CAACe,YAAY,CAAChwB,KAAK,CAAC,CAAC;QAChDmvB,KAAK,EAAE,CAAC,SAAS,EAAEtB,QAAA,CAAAoB,SAAS,CAACe,YAAY,CAAChwB,KAAK,CAAC;OACnD;MACDovB,MAAM,EAAE;QACJJ,IAAI,EAAE,CAAC,SAAS,EAAEnB,QAAA,CAAAoB,SAAS,CAACe,YAAY,CAAChwB,KAAK,CAAC,CAAC;QAChDmvB,KAAK,EAAE,CAAC,SAAS,EAAEtB,QAAA,CAAAoB,SAAS,CAACe,YAAY,CAAChwB,KAAK,CAAC;;KAEvD,CAAC,CAACA,KAAK,CAAC;EAAA;CAChB;AAED,IAAMiwB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGjW,OAAO;EAAA,OACjCA,OAAO,CAACuG,MAAM,IAAIvG,OAAO,CAACuG,MAAM,CAACpiB,MAAM,IAAI6b,OAAO,CAACuG,MAAM,CAAC,CAAC,CAAC,CAAC1U,IAAI,KAAKxK,UAAA,CAAA2mB,UAAU,CAAC7a,UAAU;AAAA;AAE/F,IAAM+iB,0BAA0B,GAAG,SAA7BA,0BAA0BA,CAAGlW,OAAO;EAAA,OACtCA,OAAO,CAACuG,MAAM,IACdvG,OAAO,CAACuG,MAAM,CAACpiB,MAAM,IACrB6b,OAAO,CAACuG,MAAM,CAAC,CAAC,CAAC,CAAC1U,IAAI,KAAKxK,UAAA,CAAA2mB,UAAU,CAAC7a,UAAU,KAC/C6M,OAAO,CAACuG,MAAM,CAAC,CAAC,CAAC,CAACtS,MAAM,KAAK,kBAAkB,IAAI+L,OAAO,CAACuG,MAAM,CAAC,CAAC,CAAC,CAACtS,MAAM,KAAK,qBAAqB,CAAC;AAAA;AAE3G,IAAMkiB,kBAAkB,GAAG,GAAG;AAC9B,IAAMpe,YAAY,GAAmB,CACjC;EACI0B,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,qBAAqB,CAAC;EAC/BtH,MAAM,EAAE,CACJ,CACI;IACIuF,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,YAAY,CAAC;IACtBpD,MAAM,EAAE,gBAAgB;IACxBge,MAAM,EAAE,eAAe;IACvBC,WAAW,EAAE;MACTrrB,MAAM,EAAE,CACJ;QAAEyO,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,QAAQ,CAAC;QAAEtT,KAAK,EAAEb,UAAA,CAAA2mB,UAAU,CAACnkB;MAAM,CAAE,EAChD;QAAE4P,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,QAAQ,CAAC;QAAEtT,KAAK,EAAEb,UAAA,CAAA2mB,UAAU,CAAC3d;MAAM,CAAE,EAChD;QAAEoJ,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,YAAY,CAAC;QAAEtT,KAAK,EAAEb,UAAA,CAAA2mB,UAAU,CAAC7a;MAAU,CAAE;;GAGnE,CACJ,EACD,CACI;IACIsG,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,UAAU,CAAC;IACpBpD,MAAM,EAAE,mBAAmB;IAC3Bge,MAAM,EAAE,uBAAuB;IAC/BE,UAAU,EAAE,SAAAA,WAAA7wB,IAAA;MAAA,IAAGua,OAAO,GAAAva,IAAA,CAAPua,OAAO;MAAA,OAAOiW,qBAAqB,CAACjW,OAAO,CAAC;IAAA;IAC3DqW,WAAW,EAAE;MACTE,aAAa,EAAE,SAAS;MACxBC,wBAAwB,EAAE,KAAK;MAC/BC,aAAa,EAAE,CAAC,QAAQ;;GAE/B,CACJ,EACD,CACI;IACIhd,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,aAAa,CAAC;IACvBpD,MAAM,EAAE,sBAAsB;IAC9Bge,MAAM,EAAE,uBAAuB;IAC/BE,UAAU,EAAE,SAAAA,WAAAhwB,KAAA;MAAA,IAAG0Z,OAAO,GAAA1Z,KAAA,CAAP0Z,OAAO;MAAA,OAAOiW,qBAAqB,CAACjW,OAAO,CAAC;IAAA;IAC3DqW,WAAW,EAAE;MACTE,aAAa,EAAE,SAAS;MACxBC,wBAAwB,EAAE,KAAK;MAC/BC,aAAa,EAAE,CAAC,QAAQ;;GAE/B,CACJ,EACD,CACI;IACIhd,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,UAAU,CAAC;IACpBpD,MAAM,EAAE,oBAAoB;IAC5Bge,MAAM,EAAE,uBAAuB;IAC/BE,UAAU,EAAE,SAAAA,WAAArvB,KAAA;MAAA,IAAG+Y,OAAO,GAAA/Y,KAAA,CAAP+Y,OAAO;MAAA,OAClB,EAAEA,OAAO,CAACuG,MAAM,IAAIvG,OAAO,CAACuG,MAAM,CAACpiB,MAAM,IAAI6b,OAAO,CAACuG,MAAM,CAAC,CAAC,CAAC,CAAC1U,IAAI,KAAK,YAAY,CAAC;IAAA;IACzFwkB,WAAW,EAAE;MACTE,aAAa,EAAE,SAAS;MACxBC,wBAAwB,EAAE;;GAEjC,CACJ,EACD,CACI;IACI/c,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,WAAW,CAAC;IACrBpD,MAAM,EAAE,qBAAqB;IAC7Bge,MAAM,EAAE,uBAAuB;IAC/BE,UAAU,EAAE,SAAAA,WAAAlqB,KAAA;MAAA,IAAG4T,OAAO,GAAA5T,KAAA,CAAP4T,OAAO;MAAA,OAClB,EAAEA,OAAO,CAACuG,MAAM,IAAIvG,OAAO,CAACuG,MAAM,CAACpiB,MAAM,IAAI6b,OAAO,CAACuG,MAAM,CAAC,CAAC,CAAC,CAAC1U,IAAI,KAAK,YAAY,CAAC;IAAA;IACzFwkB,WAAW,EAAE;MACTE,aAAa,EAAE,SAAS;MACxBC,wBAAwB,EAAE;;GAEjC,CACJ,EACD,CACI;IACI/c,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,aAAa,CAAC;IACvBpD,MAAM,EAAE,sBAAsB;IAC9Bge,MAAM,EAAE,4BAA4B;IACpCE,UAAU,EAAE,SAAAA,WAAAI,KAAA;MAAA,IAAG1W,OAAO,GAAA0W,KAAA,CAAP1W,OAAO;MAAA,OAClB,EACIA,OAAO,CAACuG,MAAM,IACdvG,OAAO,CAACuG,MAAM,CAACpiB,MAAM,KACpB6b,OAAO,CAACuG,MAAM,CAAC,CAAC,CAAC,CAAC1U,IAAI,KAAK,QAAQ,IAAImO,OAAO,CAACuG,MAAM,CAAC,CAAC,CAAC,CAAC1U,IAAI,KAAK,YAAY,CAAC,CACnF;IAAA;IACLwkB,WAAW,EAAE;MACTE,aAAa,EAAE,SAAS;MACxBC,wBAAwB,EAAE,KAAK;MAC/BG,cAAc,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ;;GAEzD,CACJ,EACD,CACI;IACIld,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,2BAA2B,CAAC;IACrCpD,MAAM,EAAE,mCAAmC;IAC3Cge,MAAM,EAAE;GACX,CACJ,EACD,CACI;IACI3c,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,cAAc,CAAC;IACxBpD,MAAM,EAAE,uBAAuB;IAC/Bge,MAAM,EAAE,eAAe;IACvBE,UAAU,EAAE,SAAAA,WAAAM,KAAA;MAAA,IAAG5W,OAAO,GAAA4W,KAAA,CAAP5W,OAAO;MAAA,OAAO,CAACkW,0BAA0B,CAAClW,OAAO,CAAC;IAAA;IACjEqW,WAAW,EAAE;MACTzV,MAAM,EAANA,MAAM;MACNiW,aAAa,EAAE,KAAK;MACpB7hB,GAAG,EAAE;;GAEZ,CACJ;CAER,EACD;EACIyE,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,cAAc,CAAC;EACxBtH,MAAM,EAAE,CACJ,CACI;IACIuF,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,iCAAiC,CAAC;IAC3CpD,MAAM,EAAE,WAAW;IACnBge,MAAM,EAAE,eAAe;IACvBC,WAAW,EAAE;MACTzV,MAAM,EAANA,MAAM;MACNiW,aAAa,EAAE,KAAK;MACpB7hB,GAAG,EAAE,CAAC,EAAE;MACRC,GAAG,EAAE;;GAEZ,CACJ,EACD,CACI;IACIwE,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,kCAAkC,CAAC;IAC5CpD,MAAM,EAAE,WAAW;IACnBge,MAAM,EAAE,eAAe;IACvBC,WAAW,EAAE;MACTzV,MAAM,EAANA,MAAM;MACNiW,aAAa,EAAE,KAAK;MACpB7hB,GAAG,EAAE,CAAC,GAAG;MACTC,GAAG,EAAE;;GAEZ,CACJ,EACD,CACI;IACIwE,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,6BAA6B,CAAC;IACvCpD,MAAM,EAAE,MAAM;IACdge,MAAM,EAAE,eAAe;IACvBC,WAAW,EAAE;MACTzV,MAAM,EAANA,MAAM;MACNiW,aAAa,EAAE,KAAK;MACpB7hB,GAAG,EAAE;;GAEZ,CACJ,EACD,CACI;IACIyE,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,oBAAoB,CAAC;IAC9BpD,MAAM,EAAE,kBAAkB;IAC1Bge,MAAM,EAAE,iBAAiB;IACzBC,WAAW,EAAE;MACTQ,aAAa,EAAE,OAAO;MACtBC,UAAU,EAAEX;;GAEnB,CACJ,EACD,CACI;IACI1c,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,YAAY,CAAC;IACtBpD,MAAM,EAAE,WAAW;IACnBge,MAAM,EAAE,eAAe;IACvBC,WAAW,EAAE;MACTQ,aAAa,EAAE,OAAO;MACtBC,UAAU,EAAEX;;GAEnB,CACJ,EACD,CACI;IACI1c,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,YAAY,CAAC;IACtBpD,MAAM,EAAE,WAAW;IACnBge,MAAM,EAAE,iBAAiB;IACzBE,UAAU,EAAE,SAAAA,WAAAS,KAAA;MAAA,IAAG/W,OAAO,GAAA+W,KAAA,CAAP/W,OAAO;MAAA,OAAOA,OAAO,CAAC8J,SAAS,KAAK,KAAK;IAAA;IACxDuM,WAAW,EAAE;MACTrrB,MAAM,EAAE,CACJ;QAAEyO,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,QAAQ,CAAC;QAAEtT,KAAK,EAAE;MAAQ,CAAE,EACvC;QAAEuR,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,UAAU,CAAC;QAAEtT,KAAK,EAAE;MAAU,CAAE;;GAGtD,CACJ;CAER,EACD;EACIuR,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,iBAAiB,CAAC;EAC3BtH,MAAM,EAAE;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,CACI;IACIuF,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,eAAe,CAAC;IACzBpD,MAAM,EAAE,wBAAwB;IAChCge,MAAM,EAAE,qBAAqB;IAC7BE,UAAU,EAAE,SAAAA,WAAAU,KAAA;MAAA,IAAGhX,OAAO,GAAAgX,KAAA,CAAPhX,OAAO;MAAA,OAClB,EAAEA,OAAO,CAACuG,MAAM,IAAIvG,OAAO,CAACuG,MAAM,CAACpiB,MAAM,IAAI6b,OAAO,CAACuG,MAAM,CAAC,CAAC,CAAC,CAAC1U,IAAI,KAAK,YAAY,CAAC;IAAA;GAC5F,CACJ;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,CACI;IACI4H,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,uBAAuB,CAAC;IACjCpD,MAAM,EAAE,oCAAoC;IAC5Cge,MAAM,EAAE,cAAc;IACtBE,UAAU,EAAE,SAAAA,WAAAW,KAAA;MAAA,IAAGjX,OAAO,GAAAiX,KAAA,CAAPjX,OAAO;MAAA,OAAOkW,0BAA0B,CAAClW,OAAO,CAAC;IAAA;IAChEqW,WAAW,EAAE;MACTzV,MAAM,EAANA;;GAEP,CACJ,EACD,CACI;IACInH,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,mBAAmB,CAAC;IAC7BpD,MAAM,EAAE,iCAAiC;IACzCge,MAAM,EAAE,cAAc;IACtBE,UAAU,EAAE,SAAAA,WAAAY,MAAA;MAAA,IAAGlX,OAAO,GAAAkX,MAAA,CAAPlX,OAAO;MAAA,OAAOiW,qBAAqB,CAACjW,OAAO,CAAC;IAAA;IAC3DqW,WAAW,EAAE;MACTzV,MAAM,EAANA;;GAEP,CACJ,EACD,CACI;IACInH,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,wBAAwB,CAAC;IAClCpD,MAAM,EAAE,6BAA6B;IACrCge,MAAM,EAAE,gBAAgB;IACxBE,UAAU,EAAE,SAAAA,WAAAa,MAAA;MAAA,IAAGnX,OAAO,GAAAmX,MAAA,CAAPnX,OAAO;MAAA,OAAOiW,qBAAqB,CAACjW,OAAO,CAAC;IAAA;IAC3DqW,WAAW,EAAE;MACTzV,MAAM,EAANA,MAAM;MACN5L,GAAG,EAAE;;GAEZ,CACJ;EACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACAgf,iBAAA,CAAA1uB,OAAwB,CAAC;IAAEsb,MAAM,EAANA;EAAM,CAAE,CAAC,EACpC,CACI;IACInH,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,iBAAiB,CAAC;IAC3BpD,MAAM,EAAE,eAAe;IACvBge,MAAM,EAAE;GACX,CACJ,EACD,CACI;IACI3c,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,wBAAwB,CAAC;IAClCpD,MAAM,EAAE,qBAAqB;IAC7Bge,MAAM,EAAE,aAAa;IACrBE,UAAU,EAAE,SAAAA,WAAAc,MAAA;MAAA,IAAGpX,OAAO,GAAAoX,MAAA,CAAPpX,OAAO;MAAA,OAAOA,OAAO,CAACgK,aAAa,KAAK,KAAK;IAAA;GAC/D,CACJ,EACD,CACI;IACIvQ,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,6BAA6B,CAAC;IACvCpD,MAAM,EAAE,yBAAyB;IACjCge,MAAM,EAAE,iBAAiB;IACzBE,UAAU,EAAE,SAAAA,WAAAe,MAAA;MAAA,IAAGrX,OAAO,GAAAqX,MAAA,CAAPrX,OAAO;MAAA,OAClBA,OAAO,CAACgK,aAAa,KAAK,KAAK,GACzB,KAAK,GACL,EACI,OAAOhK,OAAO,CAACuJ,mBAAmB,KAAK,WAAW,IAClDvJ,OAAO,CAACuJ,mBAAmB,KAAK,EAAE,CACrC;IAAA;IACX8M,WAAW,EAAE;MACTrrB,MAAM,EAAE,CACJ;QAAEyO,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,QAAQ,CAAC;QAAEtT,KAAK,EAAE;MAAQ,CAAE,EACvC;QAAEuR,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC,QAAQ,CAAC;QAAEtT,KAAK,EAAE;MAAQ,CAAE;;GAGlD,CACJ;CAER,CACJ;AAED;;;AAGA,IAAM8P,MAAM,GAAc;EACtB;;;EAGA1M,GAAG,EAAE,YAAY;EACjB;;;EAGA1G,IAAI,EAAE,KAAK;EACX0yB,QAAQ,EAAExD,aAAA,CAAA9V,WAAW,CAACuZ,UAAU;EAChCC,MAAM,EAAE,SAAS;EACjB;;;EAGA7c,IAAI,EAAE+Y,qBAAA,CAAAzL,GAAO;EACbwP,eAAe,EAAE9D,cAAA,CAAA1L,GAAkB;EACnCmM,YAAY,EAAZA,YAAY;EACZI,IAAI,EAAJA,IAAI;EACJpS,cAAc,EAAdA,cAAc;EACd3L,aAAa,EAAbA,aAAa;EACbsB,YAAY,EAAZA,YAAY;EACZ+L,MAAM,EAAE;IACJ,UAAU,EAAE;MACRlN,WAAW,EAAE;KAChB;IACD,WAAW,EAAE;MACTA,WAAW,EAAE;;GAEpB;EACDe,QAAQ,EAAE,CAACvB,aAAA,CAAAyB,WAAW,CAACC,eAAe,EAAE1B,aAAA,CAAAyB,WAAW,CAAC+L,MAAM,EAAExN,aAAA,CAAAyB,WAAW,CAAC4L,WAAW,CAAC;EACpF7C,MAAM,EAANA,MAAM;EACN0C,aAAa,EAAE;CAClB;AAEDxe,OAAA,CAAAQ,OAAA,GAAeyuB,aAAA,CAAAvc,aAAa,CAACQ,MAAM,CAAC,C;;;;;;;;;;;;;;ACluBpC,IAAA0f,OAAA,GAAA1yB,mBAAA;AACA,IAAAggB,KAAA,GAAAhgB,mBAAA;AACA,IAAAuZ,UAAA,GAAAvZ,mBAAA;AACA,IAAAwZ,iBAAA,GAAAxZ,mBAAA;AACA,IAAAsgB,aAAA,GAAAtgB,mBAAA;AAEO,IAAMgjB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIhQ,MAAM,EAAEsC,WAAW,EAAE0F,OAAO,EAAI;;MACvD6G,OAAO,GAAKvM,WAAW,CAAvBuM,OAAO;EAAA,IAAAU,aAAA,GACaV,OAAO,CAACziB,IAAI;IAAhCH,OAAO,GAAAsjB,aAAA,CAAPtjB,OAAO;IAAEC,MAAM,GAAAqjB,aAAA,CAANrjB,MAAM;EACvB,IAAIsjB,UAAU,GAAGvjB,OAAO;EACxB,IAAM+iB,aAAa,GAAGzI,UAAA,CAAA8D,oCAAoC,CACtD,EAAE,EACFrC,OAAO,EACPxB,iBAAA,CAAAoB,uBAAuB,CAAC5H,MAAM,CAACvB,aAAa,EAAE,SAAS,CAAC,CAC3D;EACD,IAAI,EAAA5I,EAAA,IAAAC,EAAA,GAAAkZ,aAAa,CAACT,MAAM,cAAAzY,EAAA,uBAAAA,EAAA,CAAG,CAAC,CAAC,cAAAD,EAAA,uBAAAA,EAAA,CAAEgE,IAAI,MAAK,QAAQ,EAAE;IAC9C,IAAM8lB,aAAa,GAAG3S,KAAA,CAAAiC,gBAAgB,CAACD,aAAa,CAACT,MAAM,CAAC,CAAC,CAAC,CAACrc,QAAQ,EAAEoQ,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;IAC9F,IAAMsd,cAAc,GAAG5S,KAAA,CAAAiC,gBAAgB,CAACD,aAAa,CAACT,MAAM,CAAC,CAAC,CAAC,CAACpc,SAAS,EAAEmQ,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;IAChG,IAAMud,cAAc,GAAG,CAACF,aAAa,EAAEC,cAAc,EAAE,QAAQ,CAAC,CAACluB,MAAM,CAAC4b,aAAA,CAAA9d,sBAAsB,CAAC;IAC/F,IAAMswB,iBAAiB,GAAG,IAAInQ,GAAG,CAC7BzjB,MAAM,CAAC+I,MAAM,CAAC,UAAC2a,GAAG,EAAEvf,CAAC,EAAE/D,CAAC,EAAI;MACxB,IAAMG,KAAK,GAAG,OAAO4D,CAAC,KAAK,QAAQ,GAAGA,CAAC,GAAGA,CAAC,CAACzD,IAAI,CAAC0N,QAAQ,EAAE;MAC3D,IAAI,CAACulB,cAAc,CAAC7U,QAAQ,CAACve,KAAK,CAAC,EAAE;QACjCmjB,GAAG,CAAC/iB,IAAI,CAACP,CAAC,CAAC;;MAEf,OAAOsjB,GAAG;IACd,CAAC,EAAE,EAAE,CAAC,CACT;IAEDJ,UAAU,GAAGvjB,OAAO,CAACsG,GAAG,CAAC,UAACwtB,MAAM,EAAEzzB,CAAC,EAAI;MACnC,IAAIwzB,iBAAiB,CAACrb,GAAG,CAACnY,CAAC,CAAC,EAAE;QAC1B;QACA,OAAOyzB,MAAM,CAACxtB,GAAG,CAAC,UAAArC,KAAK;UAAA,OAAK,CAACA,KAAK,IAAI,CAACwvB,OAAA,CAAAM,QAAQ,CAAC9vB,KAAK,CAAC,GAAG,CAAC,GAAG,CAACA,KAAK;QAAA,CAAC,CAAC;;MAEzE,OAAO6vB,MAAM;IACjB,CAAC,CAAC;;EAGN,IAAMlQ,mBAAmB,GAAArhB,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAClB6T,WAAW;IACduM,OAAO,EAAArgB,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACAogB,OAAO;MACVziB,IAAI,EAAAoC,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KACGogB,OAAO,CAACziB,IAAI;QACfH,OAAO,EAAEujB;MAAU;IAAA;EAAA,EAG9B;EAED,OAAOK,mBAAmB;AAC9B,CAAC;AA5CY/iB,OAAA,CAAAkjB,kBAAkB,GAAAA,kBAAA,C;;;;;;;;;;;;;;;;ICOlB4H,uBAAuB;EAAA,SAAAA,wBAAA;IAAAN,eAAA,OAAAM,uBAAA;EAAA;EAAAqI,YAAA,CAAArI,uBAAA;IAAAtkB,GAAA;IAAApD,KAAA,EAChC,SAAAgwB,MAAA,EAAK;MACD;IAAA;EACH;IAAA5sB,GAAA;IAAApD,KAAA,EAED,SAAAiwB,SAAA,EAAQ;MACJ,OAAO,IAAI,CAAC,CAAC;IACjB;EAAC;EAAA,OAAAvI,uBAAA;AAAA;AAPL9qB,OAAA,CAAA8qB,uBAAA,GAAAA,uBAAA,C;;;;;;;;;;;;;;ACDa9qB,OAAA,CAAAkX,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAU,C;;;;;;;;;;;;;;ACZ7D,IAAAkM,OAAA,GAAAljB,mBAAA;AACA,IAAAoC,QAAA,GAAApC,mBAAA;AAEA;;;;;;;;;;;;;AAaO,IAAMid,WAAW,GAAG,SAAdA,WAAWA,CACpBmW,EAAsB,EACtBC,YAAqB,EACP;EACd,IAAM3nB,GAAG,GAAGwX,OAAA,CAAA7Y,MAAM,EAAkD;EACpE,IAAI,CAACqB,GAAG,CAACT,OAAO,IAAI,CAAC7I,QAAA,CAAA0K,OAAO,CAACumB,YAAY,EAAE3nB,GAAG,CAACT,OAAO,CAACooB,YAAY,CAAC,EAAE;IAClE3nB,GAAG,CAACT,OAAO,GAAG;MACVooB,YAAY,EAAZA,YAAY;MACZnwB,KAAK,EAAEkwB,EAAE;KACZ;;EAEL,OAAO1nB,GAAG,CAACT,OAAO,CAAC/H,KAAK;AAC5B,CAAC;AAZYpD,OAAA,CAAAmd,WAAW,GAAAA,WAAA,C;;;;;;;;;;;;;;AChBxB,IAAAld,KAAA,GAAAC,mBAAA;AACA,IAAAiV,CAAA,GAAAjV,mBAAA;AACA,IAAAkV,MAAA,GAAAlV,mBAAA;AACA,IAAAmV,SAAA,GAAAnV,mBAAA;AACA,IAAAoV,oBAAA,GAAApV,mBAAA;AAEA;;;;;AAKO,IAAMszB,SAAS,GAAG,SAAZA,SAASA,CAAIvtB,CAAC,EAAa;EACpC,OAAOA,CAAC,KAAK,IAAI,IAAIA,CAAC,KAAK8E,SAAS;AACxC,CAAC;AAFY/K,OAAA,CAAAwzB,SAAS,GAAAA,SAAA;AAItB;;;;;;AAMO,IAAM9U,WAAW,GAAG,SAAdA,WAAWA,CAAIxV,IAAc,EAAEuqB,MAA+B;EAAA,OACvEvqB,IAAI,CAACmZ,MAAM,CAAC,UAAAqR,CAAC;IAAA,OAAI1zB,OAAA,CAAAwzB,SAAS,CAACC,MAAM,CAACC,CAAC,CAAC,CAAC;EAAA,EAAC;AAAA;AAD7B1zB,OAAA,CAAA0e,WAAW,GAAAA,WAAA;AAUxB,IAAM9I,SAAS,GAAsD;EACjEhV,KAAK,EAAEuU,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC;EACxCxU,MAAM,EAAE0T,CAAC,CAACY,SAAS,CAAC,CAACZ,CAAC,CAACa,MAAM,EAAEb,CAAC,CAACc,MAAM,CAAC,CAAC;EACzC;EACA7U,eAAe,EAAE+T,CAAC,CAACa,MAAM;EACzB4I,YAAY,EAAEzJ,CAAC,CAAC0U,OAAO,CAAC1U,CAAC,CAACa,MAAM;CACnC;AAED;;;;;AAKO,IAAM2d,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAIzyB,KAAwB,EAAwB;EAAA,IACxEN,KAAK,GAA2BM,KAAK,CAArCN,KAAK;IAAEa,MAAM,GAAmBP,KAAK,CAA9BO,MAAM;IAAEmd,YAAY,GAAK1d,KAAK,CAAtB0d,YAAY;EACnC,OACI3e,KAAA,CAAAgC,aAAA,CAACoT,SAAA,CAAA7U,OAAO;IAAA,aACM,SAAS;IACnBI,KAAK,EAAEA,KAAK;IACZa,MAAM,EAAEA,MAAM;IACdgV,OAAO,EAAErB,MAAA,CAAAsB,CAAC,sBAAA9R,MAAA,CAAsBga,YAAY,CAACgV,IAAI,CAAC,IAAI,CAAC;EAAG,EAC5D;AAEV,CAAC;AAVY5zB,OAAA,CAAA2zB,mBAAmB,GAAAA,mBAAA;AAYhC3zB,OAAA,CAAA2zB,mBAAmB,CAAC/d,SAAS,GAAGA,SAAS;AACzC5V,OAAA,CAAA2zB,mBAAmB,CAAChd,YAAY,GAAG;EAC/B/V,KAAK,EAAE,MAAM;EACba,MAAM,EAAE;CACX;AACDzB,OAAA,CAAAQ,OAAA,GAAe8U,oBAAA,CAAA9U,OAAsB,CAACR,OAAA,CAAA2zB,mBAAmB,CAAC,C;;;;;;;;;;;;;AC7D1D,IAAA1zB,KAAA,GAAAC,mBAAA;AACA,IAAAC,mBAAA,GAAAD,mBAAA;AAGA,IAAAuZ,UAAA,GAAAvZ,mBAAA;AAMA,IAAM2zB,KAAK,GAAG1zB,mBAAA,CAAAK,OAAM,CAACC,GAAG,CAAAM,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,wDAMvB;AAED,IAAM6yB,OAAO,GAAG3zB,mBAAA,CAAAK,OAAM,CAACC,GAAG,CAACC,KAAK,CAAC;EAC7B,mCAAmC,EAAEwB,oBAAkBA;CAC1D,CAAC,CAAAnB,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,iDAID;AAED;;;;;;AAMA,IAAM8yB,iBAAiB,GAAG,SAApBA,iBAAiBA,CACnB1nB,aAA8B,EAC9BoO,oBAA8B,EACb;EACjB,IAAMrO,OAAO,GAAG,SAAVA,OAAOA,CAAIlL,KAAwB,EAA2C;IAAA,IACxE8Z,IAAI,GAAK9Z,KAAK,CAAd8Z,IAAI;IACZ,IAAMgZ,aAAa,GAAGhZ,IAAI,KAAK,MAAM,IAAI,CAACP,oBAAoB;IAE9D,OACIxa,KAAA,CAAAgC,aAAA,CAAC6xB,OAAO,QACJ7zB,KAAA,CAAAgC,aAAA,CAACoK,aAAa,EAAA3K,MAAA,CAAAC,MAAA,KAAKT,KAAK,EAAI,EAC3B8yB,aAAa,IAAI/zB,KAAA,CAAAgC,aAAA,CAAC4xB,KAAK;MAAA,aAAW;IAAiB,EAAG,CACjD;EAElB,CAAC;EACDpa,UAAA,CAAAtN,wBAAwB,CAAC;IAAEC,OAAO,EAAPA,OAAO;IAAEC,aAAa,EAAbA;EAAa,CAAE,CAAC;EACpD,OAAOD,OAA0B;AACrC,CAAC;AAEDpM,OAAA,CAAAQ,OAAA,GAAeuzB,iBAAiB,C;;;;;;;;;;;;;ACnDhC,IAAA9zB,KAAA,GAAAC,mBAAA;AACA,IAAAI,YAAA,GAAAJ,mBAAA;AACA,IAAA+zB,WAAA,GAAA/zB,mBAAA;AACA,IAAAg0B,iBAAA,GAAAh0B,mBAAA;AACA,IAAAoR,aAAA,GAAApR,mBAAA;AAIA,IAAAuZ,UAAA,GAAAvZ,mBAAA;AAQA,IAAMi0B,eAAe,GAAG,SAAlBA,eAAeA,CACjB9nB,aAA8B,EAEb;EAAA,IADjBqO,kBAAA,GAAA3F,SAAA,CAAA1V,MAAA,QAAA0V,SAAA,QAAAhK,SAAA,GAAAgK,SAAA,MAA6Cmf,iBAAA,CAAA3e,yBAAyB;EAAA,IAE9DrC,MAAM,GAAK7G,aAAa,CAAxB6G,MAAM;EAAA,IACN4I,MAAM,GAAK5I,MAAM,CAAjB4I,MAAM;EAEd,IAAM1P,OAAO,GAAG,SAAVA,OAAOA,CAAIlL,KAAwB,EAA2C;;QACxEsU,WAAW,GAAsCtU,KAAK,CAAtDsU,WAAW;MAAEC,OAAO,GAA6BvU,KAAK,CAAzCuU,OAAO;MAAEyF,OAAO,GAAoBha,KAAK,CAAhCga,OAAO;MAAEzZ,MAAM,GAAYP,KAAK,CAAvBO,MAAM;MAAEb,KAAK,GAAKM,KAAK,CAAfN,KAAK;IAEpD,IAAMwzB,eAAe,GAAG1Z,kBAAkB,CAAClF,WAAW,EAAEC,OAAO,EAAEyF,OAAO,CAAC;IACzE,IAAMc,gBAAgB,GAAG1b,YAAA,CAAAa,OAAO,CAAC+Z,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE9Z,eAAe,CAAC,GACpD8Z,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE9Z,eAAe,GACxB,CAAA4H,EAAA,GAAA8S,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAExa,sBAAsB,cAAA0H,EAAA,uBAAAA,EAAA,CAAA+S,IAAA,CAA9BD,MAAM,EAA2B5a,KAAK,CAAC;IAE7C,IAAM2U,IAAI,GAAG,CAAA9M,EAAA,GAAAmK,MAAM,CAACyf,eAAe,cAAA5pB,EAAA,cAAAA,EAAA,GAAImK,MAAM,CAAC2C,IAAI;IAClD,IAAMK,SAAS,GAAG+d,WAAA,CAAAzzB,OAAS,CAAC6zB,kBAAkB,CAACnzB,KAAK,CAAC;IAErD,IAAIgS,MAAM,CAACL,QAAQ,CAACqL,QAAQ,CAAC5M,aAAA,CAAAyB,WAAW,CAAC4L,WAAW,CAAC,IAAIyV,eAAe,EAAE;MACtE,OACIn0B,KAAA,CAAAgC,aAAA,CAACiyB,iBAAA,CAAA1zB,OAAe;QAAA,aACF,kBAAkB;QAC5BqV,IAAI,EAAEA,IAAI;QACVjV,KAAK,EAAEA,KAAK;QACZa,MAAM,EAAEA,MAAM;QACdL,eAAe,EAAE4a,gBAAgB;QACjC9F,SAAS,EAAEA;MAAS,EACtB;;IAIV,OAAOjW,KAAA,CAAAgC,aAAA,CAACoK,aAAa,EAAA3K,MAAA,CAAAC,MAAA,KAAKT,KAAK,EAAI;EACvC,CAAC;EACDuY,UAAA,CAAAtN,wBAAwB,CAAC;IAAEC,OAAO,EAAPA,OAAO;IAAEC,aAAa,EAAbA;EAAa,CAAE,CAAC;EACpD,OAAOD,OAA0B;AACrC,CAAC;AAEDpM,OAAA,CAAAQ,OAAA,GAAe2zB,eAAe,C;;;;;;;ACrD9B,qE;;;;;;;ACAA,iE;;;;;;;ACAA,wD;;;;;;;;;;;;;ACAA,IAAA/e,MAAA,GAAAlV,mBAAA;AAUA,IAAMo0B,UAAU,GAAsF,SAAhGA,UAAUA,CAAA3zB,IAAA;EAAA,IACZgU,KAAK,GAAAhU,IAAA,CAALgU,KAAK;IACLmH,MAAM,GAAAnb,IAAA,CAANmb,MAAM;IACNiW,aAAa,GAAApxB,IAAA,CAAboxB,aAAa;EAAA,OACX,CACF;IACIpd,KAAK,EAAES,MAAA,CAAAsB,CAAC,CAAC/B,KAAK,IAAI,YAAY,CAAC;IAC/BrB,MAAM,EAAE,iBAAiB;IACzBge,MAAM,EAAE,cAAc;IACtBC,WAAW,EAAE;MACTQ,aAAa,EAAEA,aAAa,IAAI,KAAK;MACrCjW,MAAM,EAANA;;GAEP,CACJ;AAAA;AAED9b,OAAA,CAAAQ,OAAA,GAAe8zB,UAAU,C;;;;;;;AC1BzB,2C;;;;;;;;;;;;;;ACAA,IAAYvhB,WAsBX;AAtBD,WAAYA,WAAW;EACnB;;;;;;;;;;;EAWAA,WAAA,uCAAmC;EACnCA,WAAA,qBAAiB;EACjB;;;;;EAKAA,WAAA,+BAA2B;EAC3BA,WAAA,mCAA+B;EAC/BA,WAAA,uBAAmB;AACvB,CAAC,EAtBWA,WAAW,GAAX/S,OAAA,CAAA+S,WAAW,KAAX/S,OAAA,CAAA+S,WAAW,Q;;;;;;;ACAvB,qE;;;;;;;ACAA,kE;;;;;;;;;;;;;;;;;ACAA,IAAAzQ,QAAA,GAAApC,mBAAA;AAEA,IAAAq0B,UAAA,GAAAr0B,mBAAA;AACA,IAAAmjB,MAAA,GAAAnjB,mBAAA;AAEA,IAAAI,YAAA,GAAAJ,mBAAA;AACA,IAAA4uB,8BAAA,GAAA5uB,mBAAA;AACA,IAAA0yB,OAAA,GAAA1yB,mBAAA;AAGaF,OAAA,CAAA2pB,YAAY,GAAG,EAAE;AACjB3pB,OAAA,CAAAw0B,YAAY,GAAG,CAAC,EAAE;AAClBx0B,OAAA,CAAAy0B,aAAa,GAAG,GAAG;AACnBz0B,OAAA,CAAA00B,aAAa,GAAG,CAAC,GAAG;AACpB10B,OAAA,CAAAwI,oBAAoB,GAAG,IAAI;AAC3BxI,OAAA,CAAAwJ,qBAAqB,GAAG,SAAS;AACjCxJ,OAAA,CAAAiH,qBAAqB,GAAG6nB,8BAAA,CAAAkB,eAAe;AACpD;AACahwB,OAAA,CAAAooB,wBAAwB,GAAG,CAAC;AACzC;AACA;AACapoB,OAAA,CAAA20B,iBAAiB,GAAG,IAAI,CAAC,CAAC;AAC1B30B,OAAA,CAAA+mB,iBAAiB,GAAG,KAAK,CAAC,CAAC;AAC3B/mB,OAAA,CAAA40B,eAAe,GAAG,GAAG;AAClC,IAAMC,SAAS,GAAG,WAAW;AAC7B,IAAMC,QAAQ,GAAG,UAAU;AAE3B,IAAY5L,UAIX;AAJD,WAAYA,UAAU;EAClBA,UAAA,qBAAiB;EACjBA,UAAA,qBAAiB;EACjBA,UAAA,6BAAyB;AAC7B,CAAC,EAJWA,UAAU,GAAVlpB,OAAA,CAAAkpB,UAAU,KAAVlpB,OAAA,CAAAkpB,UAAU;AAsEtB;;;;;;;;AAQO,IAAMvD,aAAa,GAAG,SAAhBA,aAAaA,CAAAhlB,IAAA,EAOtB;EAAA,IAAAo0B,qBAAA,GAAAp0B,IAAA,CANA0kB,iBAAiB;IAAjBA,iBAAiB,GAAA0P,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAAr0B,IAAA,CACtB2kB,gBAAgB;IAAhBA,gBAAgB,GAAA0P,qBAAA,cAAG,EAAE,GAAAA,qBAAA;;EAMrB,IAAMpP,UAAU,GAAG,EAAE;EACrB,IAAIC,gBAAgB,GAAG,EAAE;EACzB,IAAIC,eAAe,GAAG,EAAE;EACxB,IAAMmP,WAAW,GAAG,EAAE,CAACrwB,MAAM,CAACygB,iBAAiB,CAAC,CAACzgB,MAAM,CAAC0gB,gBAAgB,CAAC;EACzEhjB,QAAA,CAAA5C,OAAO,CAACu1B,WAAW,EAAE,UAAAC,UAAU,EAAG;IAC9B,IAAM1uB,GAAG,GAAG0uB,UAAU,aAAVA,UAAU,uBAAVA,UAAU,CAAE1uB,GAAG;IAC3B,IAAM2uB,aAAa,GAAAzzB,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA;MAAKN,KAAK,EAAE;IAAK,GAAK6zB,UAAU;MAAE/M,OAAO,EAAEnoB,OAAA,CAAAooB;IAAwB,EAAE;IACxFxC,UAAU,CAACpf,GAAG,CAAC,GAAG2uB,aAAa;EACnC,CAAC,CAAC;EAEF,IAAI9P,iBAAiB,CAAChmB,MAAM,GAAG,CAAC,EAAE;IAC9BwmB,gBAAgB,GACZ,CAAA7c,EAAA,GAAAqc,iBAAiB,CAAChR,IAAI,CAAC,UAAAnB,MAAM;MAAA,OAAIA,MAAM,CAAC7R,KAAK,KAAK,OAAO;IAAA,EAAC,cAAA2H,EAAA,cAAAA,EAAA,GAC1Dqc,iBAAiB,CAAChR,IAAI,CAAC,UAAAnB,MAAM;MAAA,OAAIA,MAAM,CAAC7R,KAAK,KAAK0J,SAAS;IAAA,EAAC;IAChE+a,eAAe,GACX,CAAA/c,EAAA,GAAAsc,iBAAiB,CAAChR,IAAI,CAAC,UAAAnB,MAAM;MAAA,OAAIA,MAAM,CAAC7R,KAAK,KAAK,MAAM;IAAA,EAAC,cAAA0H,EAAA,cAAAA,EAAA,GACzDsc,iBAAiB,CAAChR,IAAI,CAAC,UAAAnB,MAAM;MAAA,OAAIA,MAAM,CAAC7R,KAAK,KAAK0J,SAAS;IAAA,EAAC;;EAGpE,OAAO;IAAE6a,UAAU,EAAVA,UAAU;IAAEC,gBAAgB,EAAhBA,gBAAgB;IAAEC,eAAe,EAAfA;EAAe,CAAE;AAC5D,CAAC;AA5BY9lB,OAAA,CAAA2lB,aAAa,GAAAA,aAAA;AA8B1B;;;;;;;;;;;;;AAaO,IAAMuC,WAAW,GAAG,SAAdA,WAAWA,CAAA1mB,KAAA,EAgBH;EAAA,IAfjB0jB,aAAa,GAAA1jB,KAAA,CAAb0jB,aAAa;IAAAkQ,qBAAA,GAAA5zB,KAAA,CACbijB,mBAAmB;IAAnBA,mBAAmB,GAAA2Q,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAAC,sBAAA,GAAA7zB,KAAA,CACxBkjB,uBAAuB;IAAvBA,uBAAuB,GAAA2Q,sBAAA,cAAG,EAAE,GAAAA,sBAAA;IAAAC,gBAAA,GAAA9zB,KAAA,CAC5BokB,UAAU;IAAVA,UAAU,GAAA0P,gBAAA,cAAG,EAAE,GAAAA,gBAAA;IAAAC,iBAAA,GAAA/zB,KAAA,CACf6a,WAAW;IAAXA,WAAW,GAAAkZ,iBAAA,cAAG,OAAO,GAAAA,iBAAA;IAAAC,qBAAA,GAAAh0B,KAAA,CACrBqkB,gBAAgB;IAAhBA,gBAAgB,GAAA2P,qBAAA,cAAG,EAAE,GAAAA,qBAAA;IAAAC,qBAAA,GAAAj0B,KAAA,CACrBskB,eAAe;IAAfA,eAAe,GAAA2P,qBAAA,cAAG,EAAE,GAAAA,qBAAA;EAUpB,IAAI,CAACvQ,aAAa,EAAE;IAChB,OAAO;MACHiD,OAAO,EAAEnoB,OAAA,CAAAooB,wBAAwB;MACjCsN,OAAO,EAAE;QACL,YAAY,EAAE;UACV3oB,IAAI,EAAE,QAAQ;UACd4oB,KAAK,EAAE,CACH,oHAAoH,CACvH;UACDC,QAAQ,EAAE;;OAEjB;MACDnU,MAAM,EAAE,CACJ;QACIhV,EAAE,EAAE,YAAY;QAChBM,IAAI,EAAE,QAAQ;QACdoC,MAAM,EAAE,YAAY;QACpB0mB,OAAO,EAAE,CAAC;QACVC,OAAO,EAAE;OACZ;KAER;;EAGL,IACIrR,mBAAmB,IACnBmB,UAAU,CAACnB,mBAAmB,CAAC,KAC9BmB,UAAU,CAACnB,mBAAmB,CAAC,CAACpjB,KAAK,KAAKgb,WAAW,IAClDuJ,UAAU,CAACnB,mBAAmB,CAAC,CAACpjB,KAAK,KAAK,KAAK,CAAC,EACtD;IACE,OAAOukB,UAAU,CAACnB,mBAAmB,CAAC;;EAG1C,IAAIA,mBAAmB,IAAIC,uBAAuB,EAAE;IAChD,IAAIiR,KAAK,GAAG,EAAE;IACd;;;;;IAKA,IAAIlR,mBAAmB,CAACsR,KAAK,CAAC,0BAA0B,CAAC,EAAE;MACvD;;;;;;MAMAJ,KAAK,GAAG,CACJlR,mBAAmB,CAACF,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,EAC3CE,mBAAmB,CAACF,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,EAC3CE,mBAAmB,CAACF,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAC9C;KACJ,MAAM;MACHoR,KAAK,GAAG,CAAClR,mBAAmB,CAAC;;IAEjC;IACA,IAAMiC,QAAQ,GAAG;MACbyB,OAAO,EAAEnoB,OAAA,CAAAooB,wBAAwB;MACjCsN,OAAO,EAAE;QACL,YAAY,EAAE;UACV3oB,IAAI,EAAE2X,uBAAuB;UAC7BiR,KAAK,EAALA,KAAK;UACLC,QAAQ,EAAE;;OAEjB;MACDnU,MAAM,EAAE,CACJ;QACIhV,EAAE,EAAE,YAAY;QAChBM,IAAI,EAAE,QAAQ;QACdoC,MAAM,EAAE,YAAY;QACpB0mB,OAAO,EAAE,CAAC;QACVC,OAAO,EAAE,EAAE,CAAE;OAChB;KAER;;IACD,OAAOpP,QAAQ;;EAGnB;EACA,OAAOrK,WAAW,KAAK,OAAO,GAAGwJ,gBAAgB,GAAGC,eAAe;AACvE,CAAC;AAjGY9lB,OAAA,CAAAkoB,WAAW,GAAAA,WAAA;AAwGjB,IAAMhB,gCAAgC,GAAG,SAAnCA,gCAAgCA,CACzCgO,UAA0B,EAC1BzQ,mBAA4B,EACX;EAAA,IACTiR,OAAO,GAAaR,UAAU,CAA9BQ,OAAO;IAAEjU,MAAM,GAAKyT,UAAU,CAArBzT,MAAM;EACvB,IAAIuU,0BAA0B,GAAG,KAAK;EACtC;EACA,IAAMC,UAAU,GAAGv0B,MAAM,CAACwH,IAAI,CAACwsB,OAAO,CAAC;EACvC,KAAK,IAAIl2B,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGy2B,UAAU,CAAC52B,MAAM,EAAEG,CAAC,IAAI,CAAC,EAAE;IAAA,IAAA02B,qBAAA,GACdR,OAAO,CAACO,UAAU,CAACz2B,CAAC,CAAC,CAAC;MAA3Cq2B,OAAO,GAAAK,qBAAA,CAAPL,OAAO;MAAEC,OAAO,GAAAI,qBAAA,CAAPJ,OAAO;IACxB,IAAIrR,mBAAmB,IAAIiR,OAAO,CAACO,UAAU,CAACz2B,CAAC,CAAC,CAAC,CAACm2B,KAAK,CAAC7iB,OAAO,CAAC2R,mBAAmB,CAAC,KAAK,CAAC,CAAC,EAAE;MACzFuR,0BAA0B,GAAG,IAAI;;IAErC,IACI,CAAEvR,mBAAmB,IAAIuR,0BAA0B,IAAK,CAACvR,mBAAmB,KAC5EniB,QAAA,CAAA4wB,QAAQ,CAAC2C,OAAO,CAAC,IACjBvzB,QAAA,CAAA4wB,QAAQ,CAAC4C,OAAO,CAAC,EACnB;MACE,OAAO;QACHpN,OAAO,EAAEmN,OAAO;QAChBlN,OAAO,EAAEmN;OACZ;;;EAGT;EACA,KAAK,IAAIt2B,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAGiiB,MAAM,CAACpiB,MAAM,EAAEG,EAAC,IAAI,CAAC,EAAE;IAAA,IAAA22B,UAAA,GACV1U,MAAM,CAACjiB,EAAC,CAAC;MAA9Bq2B,QAAO,GAAAM,UAAA,CAAPN,OAAO;MAAEC,QAAO,GAAAK,UAAA,CAAPL,OAAO;IACxB,IACI,CAAErR,mBAAmB,IAAIuR,0BAA0B,IAAK,CAACvR,mBAAmB,KAC5EniB,QAAA,CAAA4wB,QAAQ,CAAC2C,QAAO,CAAC,IACjBvzB,QAAA,CAAA4wB,QAAQ,CAAC4C,QAAO,CAAC,EACnB;MACE,OAAO;QACHpN,OAAO,EAAEmN,QAAO;QAChBlN,OAAO,EAAEmN;OACZ;;;EAGT;EACA,OAAO;IACHpN,OAAO,EAAE,CAAC;IACVC,OAAO,EAAE;GACZ;AACL,CAAC;AA3CY3oB,OAAA,CAAAknB,gCAAgC,GAAAA,gCAAA;AA6CtC,IAAMkP,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIC,SAAiB,EAAY;;EAChE,IAAI,CAACA,SAAS,EAAE;IACZ,OAAO,IAAI;;EAEf;EACA,IAAMC,aAAa,GAAG,6BAA6B;EACnD,IAAMP,KAAK,GAAGO,aAAa,CAACC,IAAI,CAACF,SAAS,CAAC;EAC3C,OAAO,CAAArtB,EAAA,GAAC,CAAA+sB,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE12B,MAAM,KAAIm3B,QAAQ,CAACT,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,cAAA/sB,EAAA,cAAAA,EAAA,GAAI,IAAI;AAC5D,CAAC;AARYhJ,OAAA,CAAAo2B,sBAAsB,GAAAA,sBAAA;AAUnC;AACO,IAAM/uB,eAAe,GAAG,SAAlBA,eAAeA,CAAIovB,UAAkB,EAAEC,UAAoB,EAAc;EAClF,IAAID,UAAU,GAAG,CAAC,IAAI,CAACA,UAAU,EAAE;IAC/B,OAAO,CAACz2B,OAAA,CAAAwJ,qBAAqB,CAAC;;EAElC,IAAI,CAACktB,UAAU,IAAI,CAACA,UAAU,CAACr3B,MAAM,EAAE;IACnC,OAAOqH,kBAAA,CAAIuO,KAAK,CAACwhB,UAAU,CAAC,CAACvtB,IAAI,EAAE,EAAEzD,GAAG,CAAC,UAAAjG,CAAC;MAAA,OAAIQ,OAAA,CAAAiH,qBAAqB,CAACzH,CAAC,CAAC;IAAA,EAAC;;EAE3E;EACA;EACA,OAAOkH,kBAAA,CAAIuO,KAAK,CAACwhB,UAAU,CAAC,CAACvtB,IAAI,EAAE,EAAEzD,GAAG,CAAC,UAAAjG,CAAC;IAAA,OACtCc,YAAA,CAAAa,OAAO,CAACu1B,UAAU,CAACl3B,CAAC,GAAGk3B,UAAU,CAACr3B,MAAM,CAAC,CAAC,GAAGq3B,UAAU,CAACl3B,CAAC,GAAGk3B,UAAU,CAACr3B,MAAM,CAAC,GAAGW,OAAA,CAAAwJ,qBAAqB;EAAA,EACzG;AACL,CAAC;AAZYxJ,OAAA,CAAAqH,eAAe,GAAAA,eAAA;AAc5B;AACO,IAAMf,eAAe,GAAG,SAAlBA,eAAeA,CAAImB,SAAmB,EAAEnI,IAAY,EAAS;EACtE,IAAMowB,IAAI,GAAG6E,UAAA,CAAAoC,QAAQ,EAAE,CAACC,QAAQ,CAAC,GAAG,CAAC,CAACC,MAAM,CAACpvB,SAAS,CAAC,CAACiN,KAAK,CAAC,CAAC1U,OAAA,CAAA20B,iBAAiB,EAAE30B,OAAA,CAAA+mB,iBAAiB,CAAC,CAAC,CACjGznB,IAAI,CACP;EAED,IAAIowB,IAAI,GAAG1vB,OAAA,CAAA+mB,iBAAiB,EAAE;IAC1B,OAAO/mB,OAAA,CAAA+mB,iBAAiB;;EAE5B,IAAI2I,IAAI,GAAG1vB,OAAA,CAAA20B,iBAAiB,EAAE;IAC1B,OAAO30B,OAAA,CAAA20B,iBAAiB;;EAE5B,OAAOjF,IAAI;AACf,CAAC;AAZY1vB,OAAA,CAAAsG,eAAe,GAAAA,eAAA;AAcrB,IAAMwwB,cAAc,GAAG,SAAjBA,cAAcA,CAAIlM,KAAiB,EAAgB;EAC5D,IAAI,CAACA,KAAK,IAAI,CAACA,KAAK,CAACvrB,MAAM,IAAI,CAACurB,KAAK,CAAC,CAAC,CAAC,IAAI,CAACA,KAAK,CAAC,CAAC,CAAC,CAACvrB,MAAM,EAAE;IAC1D,OAAO,EAAE;;EAEb,OAAOurB,KAAK,CAAC,CAAC,CAAC,CAACnlB,GAAG,CAAC,UAACiR,CAAC,EAAElX,CAAC;IAAA,OAAKorB,KAAK,CAACnlB,GAAG,CAAC,UAAAsxB,GAAG;MAAA,OAAIA,GAAG,CAACv3B,CAAC,CAAC;IAAA,EAAC;EAAA,EAAC;AAC3D,CAAC;AALYQ,OAAA,CAAA82B,cAAc,GAAAA,cAAA;AAO3B;AACO,IAAME,cAAc,GAAG,SAAjBA,cAAcA,CAAI9wB,MAA6B,EAAI;EAC5D;EACA,IAAI,CAACA,MAAM,EAAE;IACT,OAAO,CAAC;;EAEZ;EACA,IAAI,CAAC+O,KAAK,CAACoK,OAAO,CAACnZ,MAAM,CAAC,EAAE;IACxB,OAAOA,MAAM,GAAG,CAAC,GAAGA,MAAM,GAAG,CAAC;;EAElC;EACA,OAAOA,MAAM,CAACT,GAAG,CAAC,UAAAqd,GAAG;IAAA,OAAI9iB,OAAA,CAAAg3B,cAAc,CAAClU,GAAG,CAAC;EAAA,EAAC;AACjD,CAAC;AAXY9iB,OAAA,CAAAg3B,cAAc,GAAAA,cAAA;AAapB,IAAM7vB,cAAc,GAAG,SAAjBA,cAAcA,CAAI6Z,KAAsB,EAAyB;;EAC1E,IACI,CAACA,KAAK,IACN,EAAC,CAAAhY,EAAA,GAAAgY,KAAK,CAAC1b,UAAU,cAAA0D,EAAA,uBAAAA,EAAA,CAAE3J,MAAM,KACzB,CAAC2hB,KAAK,CAACC,MAAM,IACb,CAACD,KAAK,CAACC,MAAM,CAAC5hB,MAAM,IACpB,CAAC2hB,KAAK,CAAC5b,QAAQ,IACf,CAAC4b,KAAK,CAAC5b,QAAQ,CAAC/F,MAAM,IACtB,CAAC2hB,KAAK,CAAC3b,SAAS,IAChB,CAAC2b,KAAK,CAAC3b,SAAS,CAAChG,MAAM,EACzB;IACE,OAAO,IAAI;;EAEf;EACA;EACA;EACA,IAAM43B,mBAAmB,GAAGj3B,OAAA,CAAAg3B,cAAc,CAAChW,KAAK,CAAC1b,UAAU,CAAC;EAC5D,IAAI4xB,oBAAgC;EACpC,IAAIC,6BAAyC;EAC7C,IAAIhyB,KAAK,GAAG,KAAK;EACjB;EACA,IAAI8P,KAAK,CAACoK,OAAO,CAAC2B,KAAK,CAAC1b,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;IACpC;IACA;IACA;IACA;IACA;IACA;IACA;IACA4xB,oBAAoB,GAAGl3B,OAAA,CAAA82B,cAAc,CAAC9V,KAAK,CAAC1b,UAAwB,CAAC;IACrE6xB,6BAA6B,GAAGn3B,OAAA,CAAA82B,cAAc,CAACG,mBAAmB,CAAC;IACnE;IACA,IAAIjW,KAAK,CAAC1b,UAAU,CAACjG,MAAM,GAAG,CAAC,EAAE;MAC7B8F,KAAK,GAAG,IAAI;;GAEnB,MAAM;IACH+xB,oBAAoB,GAAGlW,KAAK,CAAC1b,UAAU,CAACG,GAAG,CAAC,UAAAqmB,CAAC;MAAA,OAAI,CAACA,CAAC,CAAC;IAAA,EAAC;IACrDqL,6BAA6B,GAAGF,mBAAmB,CAACxxB,GAAG,CAAC,UAAAqmB,CAAC;MAAA,OAAI,CAACA,CAAC,CAAC;IAAA,EAAC;;EAErE,IAAI,CAACoL,oBAAoB,IAAI,CAACA,oBAAoB,CAAC73B,MAAM,EAAE;IACvD,OAAO,IAAI;;EAEf,IAAMC,IAAI,GAAG0hB,KAAK,CAAC5b,QAAQ,CACtBK,GAAG,CAAC,UAACgK,GAAG,EAAEjQ,CAAC;IAAA,OAAM;MACdsH,IAAI,EAAE9G,OAAA,CAAAo2B,sBAAsB,CAACpV,KAAK,CAACC,MAAM,CAACzhB,CAAC,CAAC,CAAC;MAC7C0G,MAAM,EAAEgxB,oBAAoB,CAAC13B,CAAC,CAAC;MAC/B43B,eAAe,EAAED,6BAA6B,CAAC33B,CAAC,CAAC;MACjDmK,WAAW,EAAE,CAACqX,KAAK,CAAC3b,SAAS,CAAC7F,CAAC,CAAC,EAAEiQ,GAAG,CAAC;MACtC5G,QAAQ,EAAEmY,KAAK,CAACnY,QAAQ,GAAGmY,KAAK,CAACnY,QAAQ,CAACrJ,CAAC,CAAC,GAAG;KAClD;EAAA,CAAC,CAAC,CACF6iB,MAAM,CAAC,UAAA1d,CAAC;IAAA,OAAImY,OAAO,CAACnY,CAAC,CAACuB,MAAM,CAAC;EAAA,EAAC;EAEnC;EACA,IAAIgK,GAAG,GAAG5N,QAAA,CAAAsG,GAAG,CAACuuB,6BAA6B,CAAC,CAAC,CAAC,CAAC;EAC/C,IAAIhnB,GAAG,GAAG7N,QAAA,CAAAsG,GAAG,CAACuuB,6BAA6B,CAAC,CAAC,CAAC,CAAC;EAC/CA,6BAA6B,CAACz3B,OAAO,CAAC,UAAAq3B,GAAG,EAAG;IACxC,IAAMzxB,UAAU,GAAGhD,QAAA,CAAAsG,GAAG,CAACmuB,GAAG,CAAC;IAC3B5mB,GAAG,GAAG7K,UAAU,GAAG6K,GAAG,GAAG7K,UAAU,GAAG6K,GAAG;IACzCD,GAAG,GAAG5K,UAAU,GAAG4K,GAAG,GAAG5K,UAAU,GAAG4K,GAAG;EAC7C,CAAC,CAAC;EACF,OAAO;IACH5Q,IAAI,EAAJA,IAAI;IACJmI,SAAS,EAAE,CAACyI,GAAG,EAAEC,GAAG,CAAC;IACrBhL,KAAK,EAALA,KAAK;IACLuC,WAAW,EAAEsZ,KAAK,CAACtZ,WAAW;IAC9BC,gBAAgB,EAAEqZ,KAAK,CAACrZ;GAC3B;AACL,CAAC;AAnEY3H,OAAA,CAAAmH,cAAc,GAAAA,cAAA;AAqEpB,IAAMif,aAAa,GAAG,SAAhBA,aAAaA,CAAIsD,MAA8B,EAAa;EACrE,IAAI,CAACA,MAAM,IAAI,CAACzU,KAAK,CAACoK,OAAO,CAACqK,MAAM,CAAC,IAAIA,MAAM,CAACrqB,MAAM,KAAK,CAAC,EAAE;IAC1D,OAAO,KAAK;;EACf,IAAAg4B,OAAA,GAAA3tB,cAAA,CACkBggB,MAAM;IAAlBja,GAAG,GAAA4nB,OAAA;IAAEC,GAAG,GAAAD,OAAA;EACf,IAAI,CAACzE,OAAA,CAAAM,QAAY,CAACzjB,GAAG,CAAC,IAAI,EAAEA,GAAG,IAAIzP,OAAA,CAAAw0B,YAAY,IAAI/kB,GAAG,IAAIzP,OAAA,CAAA2pB,YAAY,CAAC,EAAE;IACrE,OAAO,KAAK;;EAEhB,IAAI,CAACiJ,OAAA,CAAAM,QAAY,CAACoE,GAAG,CAAC,IAAI,EAAEA,GAAG,IAAIt3B,OAAA,CAAA00B,aAAa,IAAI4C,GAAG,IAAIt3B,OAAA,CAAAy0B,aAAa,CAAC,EAAE;IACvE,OAAO,KAAK;;EAEhB,OAAO,IAAI;AACf,CAAC;AAZYz0B,OAAA,CAAAomB,aAAa,GAAAA,aAAA;AAc1B;;;;;;AAMA,IAAMmR,sBAAsB,GAAG,SAAzBA,sBAAsBA,CAAIvW,KAAgB,EAAErhB,KAAa,EAAc;EACzE,IAAM63B,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAIrO,YAA8B;IAAA,OACpD7mB,QAAA,CAAAiS,GAAG,CAAC4U,YAAY,EAAExpB,KAAK,EAAE,EAAE,CAAC,CAAC4I,KAAK,CAC9B,CAAC,EACD4gB,YAAY,CAACpc,IAAI,KAAKmc,UAAU,CAAC3d,MAAM,IAAI4d,YAAY,CAACzhB,WAAW,GAC7DyhB,YAAY,CAACzhB,WAAW,GACxB1H,OAAA,CAAAwI,oBAAoB,CAC7B;EAAA;EAEL,IAAMivB,mBAAmB,GAAG,SAAtBA,mBAAmBA,CAAI1nB,eAAoC,EAAc;IAC3E,IAAM2nB,cAAc,GAAG3nB,eAAe,CAACa,IAAI,CAACrI,KAAK,CAAC,CAAC,EAAEwH,eAAe,CAACrI,WAAW,CAAC;IACjF,IAAMiwB,eAAe,GAAGD,cAAc,CAACE,OAAO,CAAC,UAAAC,UAAU;MAAA,OAAIA,UAAU,CAACluB,WAAW,CAACmuB,IAAI,CAAC,CAAC,CAAC;IAAA,EAAC;IAC5F,OAAOH,eAAe,CAAClyB,GAAG,CAAC,UAAAsyB,KAAK;MAAA,OAAIA,KAAK,CAACp4B,KAAK,KAAKk1B,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;IAAA,EAAC;EAC3E,CAAC;EAED,OAAO7T,KAAK,CAACjU,IAAI,KAAKmc,UAAU,CAAC7a,UAAU,GAAGopB,mBAAmB,CAACzW,KAAK,CAAC,GAAGwW,gBAAgB,CAACxW,KAAK,CAAC;AACtG,CAAC;AAED;;;;;AAKO,IAAM6F,wBAAwB,GAAG,SAA3BA,wBAAwBA,CAAIpF,MAAmB,EAAsB;EAC9E,IAAMuW,YAAY,GAAG,SAAfA,YAAYA,CAAIr4B,KAAa;IAAA,OAC/B8hB,MAAM,CAACzb,KAAK,CAAC,UAAAgb,KAAK;MAAA,OAAIA,KAAK,CAACrhB,KAAK,CAAC,IAAKqhB,KAA6B,CAACpQ,IAAI;IAAA,EAAC;EAAA;EAC9E,IAAMqnB,aAAa,GAAG,SAAhBA,aAAaA,CAAIt4B,KAAa;IAAA,OAAMA,KAAK,KAAKk1B,SAAS,GAAG70B,OAAA,CAAAy0B,aAAa,GAAGz0B,OAAA,CAAA2pB,YAAY;EAAA,CAAC;EAC7F,IAAMuO,aAAa,GAAG,SAAhBA,aAAaA,CAAIv4B,KAAa;IAAA,OAAMA,KAAK,KAAKk1B,SAAS,GAAG70B,OAAA,CAAA00B,aAAa,GAAG10B,OAAA,CAAAw0B,YAAY;EAAA,CAAC;EAE7F,IAAI,CAAC/S,MAAM,IAAI,CAACxM,KAAK,CAACoK,OAAO,CAACoC,MAAM,CAAC,IAAI,CAACA,MAAM,CAACpiB,MAAM,EAAE;IACrD,OAAO,IAAI;;EAGf,IAAM84B,MAAM,GAAG,SAATA,MAAMA,CAAIx4B,KAAa,EAAY;IACrC,IAAI,CAACq4B,YAAY,CAACr4B,KAAK,CAAC,EAAE;MACtB,OAAOu4B,aAAa,CAACv4B,KAAK,CAAC;;IAE/B,OAAO8hB,MAAM,CAACtZ,MAAM,CAAC,UAACiwB,OAAO,EAAEpX,KAAK,EAAI;MACpC,IAAMqX,iBAAiB,GAAGd,sBAAsB,CAACvW,KAAK,EAAErhB,KAAK,CAAC,CAAC8F,GAAG,CAAC,UAAA6yB,CAAC;QAAA,OAAI,CAACA,CAAC;MAAA,EAAC;MAC3E,OAAOh2B,QAAA,CAAA4N,GAAS,EAAEkoB,OAAO,EAAAxzB,MAAA,CAAA8B,kBAAA,CAAK2xB,iBAAiB,GAAE;IACrD,CAAC,EAAEJ,aAAa,CAACt4B,KAAK,CAAC,CAAC;EAC5B,CAAC;EAED,IAAM44B,MAAM,GAAG,SAATA,MAAMA,CAAI54B,KAAa,EAAY;IACrC,IAAI,CAACq4B,YAAY,CAACr4B,KAAK,CAAC,EAAE;MACtB,OAAOs4B,aAAa,CAACt4B,KAAK,CAAC;;IAE/B,OAAO8hB,MAAM,CAACtZ,MAAM,CAAC,UAACiwB,OAAO,EAAEpX,KAAK,EAAI;MACpC,IAAMqX,iBAAiB,GAAGd,sBAAsB,CAACvW,KAAK,EAAErhB,KAAK,CAAC,CAAC8F,GAAG,CAAC+yB,MAAM,CAAC;MAC1E,OAAOl2B,QAAA,CAAA6N,GAAS,EAAEioB,OAAO,EAAAxzB,MAAA,CAAA8B,kBAAA,CAAK2xB,iBAAiB,GAAE;IACrD,CAAC,EAAEH,aAAa,CAACv4B,KAAK,CAAC,CAAC;EAC5B,CAAC;EAED,OAAO,CACH,CAACw4B,MAAM,CAACtD,SAAS,CAAC,EAAEsD,MAAM,CAACrD,QAAQ,CAAC,CAAC,EACrC,CAACyD,MAAM,CAAC1D,SAAS,CAAC,EAAE0D,MAAM,CAACzD,QAAQ,CAAC,CAAC,CACxC;AACL,CAAC;AAlCY90B,OAAA,CAAA6mB,wBAAwB,GAAAA,wBAAA;AAoC9B,IAAMvW,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAIpL,MAAgB,EAAE+K,UAAkB,EAAc;EACjF;EACA,IAAMwoB,SAAS,GAAGvzB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEO,GAAG,CAAC,UAAAzC,KAAK,EAAG;IAAA,IAAAgG,EAAA;IAAC,OAAC,CAAAhG,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAE3D,MAAM,MAAK,CAAC,GAAG,CAAA2J,EAAA,GAAAqa,MAAM,CAACrgB,KAAK,CAAC,CAACwhB,KAAK,EAAE,cAAAxb,EAAA,cAAAA,EAAA,GAAI,CAAC,GAAG,CAAC;EAAC,EAAC;EAC9F;EACA,OAAOyvB,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEhzB,GAAG,CAAC,UAAA4H,OAAO;IAAA,OAAIA,OAAO,GAAG4C,UAAU;EAAA,EAAC;AAC1D,CAAC;AALYjQ,OAAA,CAAAsQ,kBAAkB,GAAAA,kBAAA;AAOxB,IAAMiY,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIpf,IAAI,EAAE2D,IAAI,EAAa;;EACrD,IAAM4rB,aAAa,GAAG,CAAA1vB,EAAA,GAAAG,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEsY,MAAM,cAAAzY,EAAA,uBAAAA,EAAA,CAAEqL,IAAI,CAAC,UAAA2M,KAAK;IAAA,OAAI,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvU,EAAE,MAAK,YAAY;EAAA,EAAC;EAC7E,IAAMksB,aAAa,GAAG,CAAA5vB,EAAA,GAAA+D,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE2U,MAAM,cAAA1Y,EAAA,uBAAAA,EAAA,CAAEsL,IAAI,CAAC,UAAA2M,KAAK;IAAA,OAAI,CAAAA,KAAK,aAALA,KAAK,uBAALA,KAAK,CAAEvU,EAAE,MAAK,YAAY;EAAA,EAAC;EAC7E,IAAMmsB,cAAc,GAAGt2B,QAAA,CAAAiS,GAAG,CAACpL,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAEusB,OAAO,EAAE,CAAA5sB,EAAA,GAAC4vB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAEvpB,MAAiB,cAAArG,EAAA,cAAAA,EAAA,GAAI,EAAE,CAAC;EAClF,IAAM+vB,cAAc,GAAGv2B,QAAA,CAAAiS,GAAG,CAACzH,IAAI,aAAJA,IAAI,uBAAJA,IAAI,CAAE4oB,OAAO,EAAE,CAAAxnB,EAAA,GAACyqB,aAAa,aAAbA,aAAa,uBAAbA,aAAa,CAAExpB,MAAiB,cAAAjB,EAAA,cAAAA,EAAA,GAAI,EAAE,CAAC;EAElF,IAAI,CAACwqB,aAAa,IAAI,CAACC,aAAa,IAAI,CAACC,cAAc,IAAI,CAACC,cAAc,EAAE;IACxE,OAAO,KAAK;;EAGhB,OAAOv2B,QAAA,CAAA0K,OAAO,CAAC0rB,aAAa,EAAEC,aAAa,CAAC,IAAIr2B,QAAA,CAAA0K,OAAO,CAAC4rB,cAAc,EAAEC,cAAc,CAAC;AAC3F,CAAC;AAXY74B,OAAA,CAAAuoB,iBAAiB,GAAAA,iBAAA;AAavB,IAAMpX,cAAc,GAAG,SAAjBA,cAAcA,CACvBpB,eAAoC,EACpCvQ,CAAS,EACkB;EAC3B,IAAI,CAACuQ,eAAe,IAAI,CAACA,eAAe,CAACS,OAAO,IAAI,CAACT,eAAe,CAACU,UAAU,EAAE,OAAO,EAAE;EAC1F,IAAIjR,CAAC,IAAIuQ,eAAe,CAACS,OAAO,CAACnR,MAAM,EAAE,OAAO,EAAE;EAElD,IAAMwJ,QAAQ,GAAGkH,eAAe,CAAClH,QAAQ,GAAGkH,eAAe,CAAClH,QAAQ,CAACrJ,CAAC,CAAC,GAAG,EAAE;EAC5E,IAAMM,IAAI,GAAGiQ,eAAe,CAACS,OAAO,CAAChR,CAAC,CAAC;EACvC,IAAM4D,KAAK,GAAG2M,eAAe,CAACU,UAAU,CAACjR,CAAC,CAAC;EAC3C,IAAMs5B,IAAI,GAAG;IAAEh5B,IAAI,EAAJA,IAAI;IAAEsD,KAAK,EAAEqD,MAAM,CAACrD,KAAK;EAAC,CAAE;EAE3C,OAAO1B,MAAM,CAACwH,IAAI,CAACL,QAAQ,CAAC,CAACV,MAAM,CAAC,UAAC4wB,MAAM,EAAE5vB,IAAI,EAAI;IACjD,IAAM3C,GAAG,UAAA5B,MAAA,CAAUuE,IAAI,WAAQ;IAC/B,IAAMC,GAAG,GAAG9G,QAAA,CAAA02B,QAAQ,CAACnwB,QAAQ,CAACM,IAAI,CAAC,CAAC,GAAGiY,IAAI,CAAC6X,SAAS,CAACpwB,QAAQ,CAACM,IAAI,CAAC,CAAC,GAAG1C,MAAM,CAACoC,QAAQ,CAACM,IAAI,CAAC,CAAC;IAC9F,OAAAzH,MAAA,CAAAC,MAAA,CAAAD,MAAA,CAAAC,MAAA,KAAYo3B,MAAM,GAAA1vB,eAAA,KAAG7C,GAAG,EAAG4C,GAAG;EAClC,CAAC,EAAE0vB,IAAI,CAAC;AACZ,CAAC;AAjBY94B,OAAA,CAAAmR,cAAc,GAAAA,cAAA,C;;;;;;;AC9gB3B,qC;;;;;;;ACAA,qD;;;;;;;ACAA,kE;;;;;;;ACAA,uE","file":"Map.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 406);\n","module.exports = require(\"react\");","module.exports = require(\"prop-types\");","module.exports = require(\"@splunk/themes/variables\");","module.exports = require(\"@splunk/visualization-encoding/utils/dsl\");","module.exports = require(\"@babel/runtime/helpers/classCallCheck\");","module.exports = require(\"@splunk/visualizations-shared/colorUtils\");","// TODO: utilize this fn in ParallelCoordinates\nexport const convertToArrOfObjects = (columns, fields) => {\n if (!columns || !columns[0].length) return [];\n\n const data = [];\n\n for (let i = 0; i < columns[0].length; i += 1) {\n const newObj = {};\n fields.forEach((field, index) => {\n const fieldName = typeof field === 'string' ? field : field.name;\n if (columns[index][i] === '') {\n newObj[fieldName] = null;\n } else {\n newObj[fieldName] = columns[index][i];\n }\n });\n data.push(newObj);\n }\n\n return data;\n};\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport SizeAwareWrapper from '@splunk/visualizations-shared/SizeAwareWrapper';\nimport { toPx } from '@splunk/visualizations-shared/style';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\ninterface ItemProps {\n backgroundColor?: string;\n width?: string | number;\n}\n\nconst Item = styled.div.attrs<ItemProps>(({ width }) => ({\n style: {\n width: toPx(width),\n },\n}))<ItemProps>`\n position: relative;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\ninterface FixSizeItemProps {\n backgroundColor?: string;\n height?: string | number;\n width?: string | number;\n}\n\n// Use `.attrs()` for highly dynamic styles. Ref: https://github.com/styled-components/styled-components/issues/134#issuecomment-312415291\nconst FixSizeItem = styled.div.attrs<FixSizeItemProps>(({ width, height }): {\n style: { width?: string; height?: string };\n} => ({\n style: {\n ...(width && { width: toPx(width) }),\n ...(height && { height: toPx(height) }),\n },\n}))<FixSizeItemProps>`\n position: relative;\n flex-direction: column;\n flex: 1;\n display: flex;\n background-color: ${(props): string =>\n (isColor(props.backgroundColor) && props.backgroundColor) || props.theme.defaultBackgroundColor}};\n`;\n\nconst ItemContent = styled.div`\n position: relative;\n min-height: 100px;\n width: 100%;\n`;\n\nconst FixSizeItemContent = styled.div`\n min-height: 0px;\n flex: 1;\n position: relative;\n box-sizing: border-box;\n`;\n\ninterface HeightAndWidthProps {\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n}\n\nconst withFixedSizeContainer = <P extends HeightAndWidthProps>(\n Viz: React.ComponentType<P>\n): React.ComponentType<P> => {\n const FixedSizeContainer = (props: P): React.ReactElement => {\n const { width, height, backgroundColor } = props;\n\n if (!height) {\n return (\n <Item data-test=\"item\" width={width} backgroundColor={backgroundColor}>\n <ItemContent>\n <Viz {...props} />\n </ItemContent>\n </Item>\n );\n }\n return (\n <FixSizeItem\n data-test=\"fix-size-item\"\n data-splunk-visualization-version={__VISION_VERSION__}\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n >\n <FixSizeItemContent>\n <SizeAwareWrapper>\n {({ width: newWidth, height: newHeight }): React.ReactElement => (\n <Viz {...props} width={newWidth} height={newHeight} />\n )}\n </SizeAwareWrapper>\n </FixSizeItemContent>\n </FixSizeItem>\n );\n };\n FixedSizeContainer.displayName = 'withFixedSizeContainer';\n return FixedSizeContainer;\n};\n\nexport default withFixedSizeContainer;\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport type { Map } from 'maplibre-gl';\nimport { sum } from 'lodash';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport {\n bakeBubbleData,\n BubbleLayerType,\n DEFAULT_SERIES_COLORS,\n DEFAULT_RESULT_LIMIT,\n DEFAULT_CLUSTER_COLOR,\n getStaticColors,\n matchBubbleSize,\n} from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nexport const GEO_BOUND_PREFIX = '_geo_bounds_';\nexport const GEO_LAT_AND_LONG_FIELD = ['_geo_long_field', '_geo_lat_field'];\nexport interface PieSegmentProps {\n start: number;\n end: number;\n radius: number;\n color: string;\n themeColor: string;\n segmentMetadata?: { name: string; value: number; color: string };\n handleBubbleClick?: (e: Event, name: string, count: number) => void;\n}\n\nexport const PieSegment = React.memo(\n ({\n start,\n end,\n radius,\n color,\n themeColor,\n segmentMetadata,\n handleBubbleClick,\n }: PieSegmentProps): JSX.Element => {\n const { name, value } = segmentMetadata ?? {};\n const handleSegmentClick = React.useCallback(\n e => {\n handleBubbleClick(e, name, value);\n },\n [name, value, handleBubbleClick]\n );\n\n if (end - start === 1) {\n return (\n <circle\n onClick={handleSegmentClick}\n cx={radius}\n cy={radius}\n r={radius}\n fill={color}\n fillOpacity={0.5}\n strokeWidth={1.5}\n stroke={color}\n />\n );\n }\n const a0 = 2 * Math.PI * (start - 0.25);\n const a1 = 2 * Math.PI * (end - 0.25);\n const x0 = Math.cos(a0);\n const y0 = Math.sin(a0);\n const x1 = Math.cos(a1);\n const y1 = Math.sin(a1);\n const arc = end - start > 0.5 ? 1 : 0;\n\n return (\n <path\n onClick={handleSegmentClick}\n d={`M ${radius} ${radius} L ${radius + radius * x0} ${\n radius + radius * y0\n } A ${radius} ${radius} 0 ${arc} 1 ${radius + radius * x1} ${\n radius + radius * y1\n } L ${radius} ${radius} A 0 0 0 ${arc} 0 ${radius} ${radius}`}\n fill={color}\n fillOpacity={0.8}\n stroke={themeColor}\n strokeWidth={2}\n strokeOpacity={0.3}\n />\n );\n }\n);\n\nPieSegment.displayName = 'MapBubblePieSegment';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n cursor: pointer;\n`;\n\nexport interface BubbleProps {\n originalValues: number[];\n valueRange: number[];\n colors: string[];\n themeColor: string;\n isPie: boolean;\n latitude: number;\n longitude: number;\n bubbleSize: Required<TooltipProps['additionalFields'][number] & { value: number }>[];\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleMapClick?: any;\n}\n\nexport const Bubble = React.memo(\n ({\n originalValues,\n valueRange,\n colors,\n themeColor,\n isPie,\n latitude,\n longitude,\n bubbleSize,\n additionalFields = [],\n map,\n handleMapClick,\n }: BubbleProps): JSX.Element => {\n const onBubbleClick = React.useCallback(\n (e, name, value) => {\n handleMapClick(e, name, value);\n e.stopPropagation();\n },\n [bubbleSize]\n );\n\n const bubble = React.useMemo(() => {\n const allZeros = originalValues.every(v => v === 0);\n if (allZeros || !originalValues.length) {\n return null;\n }\n // sanitize values\n const values = originalValues.map(v => (v > 0 ? v : 0));\n\n // compute offsets for pie segments\n const offsets = [];\n let total = 0;\n values.forEach(count => {\n offsets.push(total);\n total += count;\n });\n\n const radius = matchBubbleSize(valueRange, total);\n const width = radius * 2;\n return (\n <svg width={width} height={width} viewBox={`-3 -3 ${width + 6} ${width + 6}`}>\n {isPie ? (\n <circle\n cx={radius}\n cy={radius}\n r={radius}\n fill=\"none\"\n strokeWidth={2}\n stroke={themeColor}\n strokeOpacity={0.3}\n />\n ) : null}\n {values.map((v, i) => (\n <PieSegment\n key={String(i)}\n start={offsets[i] / total}\n end={(offsets[i] + v) / total}\n radius={radius}\n color={colors[i]}\n themeColor={themeColor}\n segmentMetadata={bubbleSize[i]}\n handleBubbleClick={onBubbleClick}\n />\n ))}\n </svg>\n );\n }, [colors, isPie, originalValues, themeColor, valueRange]);\n\n if (!bubble) {\n return null;\n }\n\n return (\n <StyledMarkerWrapper\n longitude={longitude}\n latitude={latitude}\n additionalFields={[...bubbleSize, ...additionalFields]}\n map={map}\n data-test-type=\"bubble\"\n >\n {bubble}\n </StyledMarkerWrapper>\n );\n }\n);\nBubble.displayName = 'MapBubble';\n\nexport interface BubbleLayerProps {\n bubbleLayer: BubbleLayerType;\n themeColorScheme: string;\n zoom: number;\n map: React.MutableRefObject<Map>;\n onMapClick?: any;\n}\n\nconst BubbleLayer = (props: BubbleLayerProps): JSX.Element => {\n const { bubbleLayer, themeColorScheme, map, zoom, onMapClick } = props;\n bubbleLayer.seriesColors = bubbleLayer.seriesColors || DEFAULT_SERIES_COLORS;\n bubbleLayer.bubbleSize = bubbleLayer.bubbleSize || [];\n const bakedData = React.useMemo(() => bakeBubbleData(bubbleLayer), [bubbleLayer]);\n const staticColors = React.useMemo(\n () => getStaticColors(bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors),\n [bubbleLayer.bubbleSize.length, bubbleLayer.seriesColors]\n );\n const { data = [], dataRange = [], resultLimit, bubbleSizeFields, isPie } = bakedData ?? {};\n const { additionalTooltipFields = [] } = bubbleLayer;\n const roundedZoom = Math.round(zoom);\n const themeColor = themeColorScheme === 'light' ? '#ffffff' : '#1a1c20';\n const dynamicColors = bubbleLayer.dataColors;\n\n // filter data for the current zoom level and sort base on values\n const dataToRender = React.useMemo(\n () =>\n data\n .reduce((acc, datum, i) => {\n if (datum.zoom === roundedZoom) {\n acc.push({ data: datum, idx: i });\n }\n return acc;\n }, [])\n .slice(0, resultLimit || DEFAULT_RESULT_LIMIT)\n .sort((a, b) => sum(b.data.values) - sum(a.data.values)),\n [data, resultLimit, roundedZoom]\n );\n\n const handleMapClick = React.useCallback(\n (e, name, value, i) => {\n // retrieve metadata from the appropriate datum, indexed by i\n const metadata = dataToRender[i]?.data?.metadata ?? {};\n const payload = Object.keys(metadata).reduce(\n (acc, curr) => {\n const key = `row.${curr}.value`;\n const val = String(metadata[curr]);\n return { ...acc, [key]: val };\n },\n { name, value: String(value) }\n );\n\n onMapClick({ e, payload });\n },\n [dataToRender]\n );\n\n return (\n <>\n {dataToRender.map((datum, i) => {\n const colors = dynamicColors\n ? [\n dataToRender.map(obj =>\n isColor(dynamicColors[obj.idx]) ? dynamicColors[obj.idx] : DEFAULT_CLUSTER_COLOR\n )[i],\n ]\n : staticColors;\n\n const [longitude, latitude] = datum.data.coordinates;\n const bubbleSize = datum.data.values.map((value, index) => ({\n name: bubbleSizeFields[index],\n value,\n color: colors[index],\n }));\n\n const additionalFields = bubbleLayer.metadata\n ? additionalTooltipFields.map(field => ({\n name: field,\n value: datum.data.metadata[field],\n }))\n : [];\n\n return (\n <Bubble\n key={String(i)}\n originalValues={datum.data.values}\n valueRange={dataRange}\n colors={colors}\n themeColor={themeColor}\n isPie={isPie}\n longitude={longitude}\n latitude={latitude}\n bubbleSize={bubbleSize}\n additionalFields={additionalFields}\n map={map}\n handleMapClick={(e, name, value) => handleMapClick(e, name, value, i)}\n />\n );\n })}\n </>\n );\n};\n\nexport default BubbleLayer;\n","import type { Map } from 'maplibre-gl';\nimport { Marker } from 'maplibre-gl';\nimport * as React from 'react';\nimport type { TooltipProps } from './Tooltip';\nimport Tooltip from './Tooltip';\n\nexport interface MarkerWrapperProps extends React.HTMLAttributes<HTMLDivElement> {\n latitude: number;\n longitude: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n isChoroplethTooltipOpen?: boolean;\n}\n\nconst MarkerWrapper = ({\n longitude,\n latitude,\n areaId,\n areaValue,\n additionalFields = [],\n map,\n isChoroplethTooltipOpen,\n children,\n ...otherProps\n}: MarkerWrapperProps): JSX.Element => {\n const container = React.useRef<HTMLDivElement>();\n const marker = React.useRef<Marker>();\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n\n const isChoroplethTooltip = React.useCallback(() => isChoroplethTooltipOpen !== undefined, [\n isChoroplethTooltipOpen,\n ]);\n\n const openTooltip = React.useCallback(() => setTooltipOpenStatus(true), []);\n const closeTooltip = React.useCallback(() => setTooltipOpenStatus(false), []);\n\n const cleanupMarker = React.useCallback(() => {\n if (marker.current) {\n marker.current.remove();\n marker.current = undefined;\n }\n }, []);\n\n React.useEffect(() => {\n try {\n if (marker.current) {\n marker.current.setLngLat([longitude, latitude]);\n } else {\n marker.current = new Marker(container.current);\n marker.current.setLngLat([longitude, latitude]);\n marker.current.addTo(map.current);\n }\n } catch (error) {\n console.error(error);\n cleanupMarker();\n }\n }, [latitude, longitude, map]);\n\n React.useEffect(() => cleanupMarker, []);\n\n return (\n <div style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}>\n <div\n style={{ visibility: isChoroplethTooltip() ? 'hidden' : 'visible' }}\n ref={container}\n data-test=\"map-marker\"\n onMouseOver={openTooltip}\n onMouseLeave={closeTooltip}\n onFocus={openTooltip}\n onBlur={closeTooltip}\n {...otherProps}\n >\n {children}\n </div>\n\n <div>\n <Tooltip\n open={isChoroplethTooltip() ? isChoroplethTooltipOpen : isTooltipOpen}\n anchor={container.current}\n latitude={isChoroplethTooltip() ? null : latitude}\n longitude={isChoroplethTooltip() ? null : longitude}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields}\n />\n </div>\n </div>\n );\n};\n\nexport default MarkerWrapper;\n","module.exports = require(\"@splunk/visualizations-shared/style\");","import { DashboardVizProps } from '../interfaces/DashboardVizProps';\n\nexport type DashboardVizType = React.ComponentType<DashboardVizProps>;\n\n/**\n * @method extendStaticWrapperProps\n * @param {Object} props\n * @param {DashboardVizType} props.Wrapper\n * @param {DashboardVizType} props.Visualization\n */\nexport const extendStaticWrapperProps = ({\n Wrapper,\n Visualization,\n}: {\n [key: string]: DashboardVizType;\n}): void => {\n const extendProperties = ['propTypes', 'defaultProps', 'config'];\n extendProperties.forEach((prop: string): void => {\n if (Visualization[prop]) {\n // eslint-disable-next-line no-param-reassign\n Wrapper[prop] = Visualization[prop];\n }\n });\n};\n","module.exports = require(\"chroma-js\");","module.exports = require(\"maplibre-gl\");","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\nimport { isEqual, uniq } from 'lodash';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata, DEFAULT_RESULT_LIMIT } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\nconst getShapeId = id => `shape-${id}`;\nconst getSourceId = id => `source-${id}`;\nconst getStrokeId = id => `stroke-${id}`;\n\nexport const compareGeom = (prev: GeoJsonDataType, next: GeoJsonDataType) => {\n if (prev !== null && next !== null) {\n return prev.type === next.type && isEqual(prev.coordinates, next.coordinates);\n }\n return prev === null && next === null;\n};\n\nexport const compareChoropleth = (prevProps: ChoroplethProps, nextProps: ChoroplethProps): boolean => {\n return (\n compareGeom(prevProps.geomData, nextProps.geomData) &&\n prevProps.id === nextProps.id &&\n prevProps.map === nextProps.map &&\n prevProps.areaId === nextProps.areaId &&\n prevProps.areaValue === nextProps.areaValue &&\n prevProps.color === nextProps.color &&\n prevProps.opacity === nextProps.opacity &&\n prevProps.strokeColor === nextProps.strokeColor &&\n prevProps.isThemeChanged === nextProps.isThemeChanged &&\n isEqual(prevProps.additionalFields, nextProps.additionalFields) &&\n prevProps.handleMapClick.toString() === nextProps.handleMapClick.toString()\n );\n};\n\nexport const cleanupChoropleth = (\n shapeId: string,\n sourceId: string,\n strokeId: string,\n map: React.MutableRefObject<Map>\n) => {\n // catch errors where map is undefined\n let currLayer;\n let currSource;\n let currStrokeLayer;\n try {\n currLayer = map?.current?.getLayer(shapeId);\n currStrokeLayer = map?.current?.getLayer(strokeId);\n currSource = map?.current?.getSource(sourceId);\n } catch {\n return;\n }\n if (currLayer) {\n map.current.removeLayer(shapeId);\n }\n if (currStrokeLayer) {\n map.current.removeLayer(strokeId);\n }\n if (currSource) {\n map.current.removeSource(sourceId);\n }\n};\n\ninterface ChoroplethProps {\n id: string;\n map: React.MutableRefObject<Map>;\n areaId: string;\n areaValue: number;\n geomData: GeoJsonDataType;\n color: string;\n opacity?: number;\n strokeColor?: string;\n isThemeChanged: boolean;\n additionalFields?: TooltipProps['additionalFields'];\n handleMapClick?: (e) => void;\n}\n\nexport const Choropleth = React.memo(\n ({\n id,\n areaId,\n areaValue,\n geomData,\n map,\n color,\n opacity,\n strokeColor,\n isThemeChanged,\n additionalFields,\n handleMapClick,\n }: ChoroplethProps): JSX.Element => {\n const sourceId = getSourceId(id);\n const shapeId = getShapeId(id);\n const strokeId = getStrokeId(id);\n const formattedGeomData = {\n type: 'Feature',\n geometry: geomData,\n };\n const [isTooltipOpen, setTooltipOpenStatus] = React.useState(false);\n const [mouseLat, setmouseLat] = React.useState(0);\n const [mouseLng, setmouseLng] = React.useState(0);\n\n const openTooltip = React.useCallback(() => {\n setTooltipOpenStatus(true);\n }, []);\n\n const closeTooltip = React.useCallback(() => {\n setTooltipOpenStatus(false);\n }, []);\n\n const updateChoropleth = React.useCallback(() => {\n // Apply changes by removing the existing choropleth and creating a new one\n // instead of mutating the current\n cleanupChoropleth(shapeId, sourceId, strokeId, map);\n\n // In order to set a different color and opacity to each choropleth region\n // we are creating a different layer for each region, and each layer requires a source\n map.current.addSource(sourceId, {\n type: 'geojson',\n data: formattedGeomData,\n });\n map.current.addLayer({\n id: shapeId,\n type: 'fill',\n source: sourceId,\n layout: {},\n paint: {\n 'fill-opacity': opacity,\n 'fill-color': color,\n },\n });\n\n if (strokeColor !== 'transparent') {\n map.current.addLayer({\n id: strokeId,\n type: 'line',\n source: sourceId,\n layout: {},\n paint: {\n 'line-color': strokeColor,\n 'line-width': 1,\n },\n });\n }\n\n map.current.on('mousemove', shapeId, e => {\n const mouseLngLat = e.lngLat;\n setmouseLat(mouseLngLat.lat);\n setmouseLng(mouseLngLat.lng);\n openTooltip();\n map.current.getCanvas().style.cursor = 'pointer'; // eslint-disable-line no-param-reassign\n });\n map.current.on('mouseleave', shapeId, () => {\n closeTooltip();\n map.current.getCanvas().style.cursor = ''; // eslint-disable-line no-param-reassign\n });\n map.current.on('click', shapeId, e => {\n handleMapClick(e);\n });\n }, [shapeId, sourceId, map, color, opacity, formattedGeomData]);\n\n React.useEffect(() => {\n updateChoropleth();\n }, [map, geomData, color, opacity, id, strokeColor]);\n\n // Clean up on unmount\n React.useEffect(() => () => cleanupChoropleth(shapeId, sourceId, strokeId, map), []);\n\n if (isThemeChanged) {\n // Theme changes will reset the style layers of the entire map\n // so we need to rerender the choropleths\n updateChoropleth();\n }\n\n return (\n <MarkerWrapper\n isChoroplethTooltipOpen={isTooltipOpen}\n additionalFields={additionalFields}\n latitude={mouseLat}\n longitude={mouseLng}\n map={map}\n areaId={areaId}\n areaValue={areaValue}\n >\n {/* an invisible div used to anchor the tooltip */}\n <div data-test=\"choropleth-anchor\" style={{ padding: '24px', visibility: 'hidden' }} />\n </MarkerWrapper>\n );\n },\n compareChoropleth\n);\n\nChoropleth.displayName = 'MapChoropleth';\n\ninterface ChoroplethLayerProps {\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n\n const limit = Math.min(\n choroplethLayer?.areaIds?.length,\n choroplethLayer?.areaValues?.length,\n choroplethLayer?.geom?.length ?? 0,\n choroplethLayer?.resultLimit ? choroplethLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const areaIdSliced = choroplethLayer?.areaIds?.slice(0, limit) ?? [];\n // generate a unique id if areaIds are not unique\n const uniqueAreaIdSliced =\n uniq(areaIdSliced).length !== areaIdSliced.length\n ? areaIdSliced.map((id, i) => `${id}${i}`)\n : areaIdSliced;\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (!map || !choroplethLayer || !choroplethLayer.geom) {\n return <></>;\n }\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n return (\n <div>\n {uniqueAreaIdSliced.map((id, i) => {\n const areaId = areaIdSliced[i];\n const areaValue = choroplethLayer.areaValues[i];\n\n return (\n <Choropleth\n key={id}\n id={id}\n geomData={choroplethLayer.geom[i]}\n map={map}\n color={colors[i]}\n opacity={scaledOpacities[i]}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n isThemeChanged={isThemeChanged}\n areaId={areaId}\n areaValue={areaValue}\n additionalFields={additionalFields[i]}\n handleMapClick={e => handleMapClick(e, i)}\n />\n );\n })}\n </div>\n );\n};\n\nexport default ChoroplethLayer;\n","module.exports = require(\"@splunk/visualizations-shared/schemaUtils\");","module.exports = require(\"@babel/runtime/helpers/slicedToArray\");","module.exports = require(\"@splunk/visualizations-shared/SizeAwareWrapper\");","import { get, range } from 'lodash';\nimport { DYNAMIC_OPTIONS_DSL_PATTERN } from '@splunk/visualizations-shared/schemaUtils';\nimport type { JSONSchema7Definition } from 'json-schema';\nimport { isDynamicOption } from '@splunk/visualizations-shared/configUtils';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { VizConfig } from '../interfaces/VizConfig';\nimport { OptionsSchema } from '../interfaces/OptionsSchema';\nimport { EditorLayoutConfig, EditorConfig } from '../interfaces/Editor';\n\nexport interface PresetEntry {\n name: string;\n value: any;\n label: string;\n}\n\nconst dynamicOptionsDSLType = {\n type: 'string',\n pattern: DYNAMIC_OPTIONS_DSL_PATTERN,\n} as const;\n\n/**\n * Helper function to extend an options schema with dynamic options DSL\n * @param optionsSchema a visualization's options schema\n * @returns an updated options schema that additionally allows strings starting with > for each option\n */\nfunction enhanceOptionsSchemaWithDynamicOptions(\n optionsSchema: OptionsSchema | JSONSchema7Definition\n): OptionsSchema {\n const enhancedOptionsSchema: OptionsSchema = {};\n Object.keys(optionsSchema).forEach((key): void => {\n const {\n // The next a few are schema annotations, we should leave them as is.\n // Note: in reality we don't use `readOnly`, `writeOnly` or `examples`, but they are listed here for completeness.\n // Ref: https://datatracker.ietf.org/doc/html/draft-handrews-json-schema-validation-01\n title,\n description,\n readOnly,\n writeOnly,\n examples,\n default: defaultValue,\n // The next a few need special care\n type,\n properties,\n patternProperties,\n // The rest should be handled together\n ...remainingSchemaEntry\n } = optionsSchema[key];\n\n const annotations = {\n ...(title !== undefined && { title }),\n ...(description !== undefined && { description }),\n ...(readOnly !== undefined && { readOnly }),\n ...(writeOnly !== undefined && { writeOnly }),\n ...(examples !== undefined && { examples }),\n ...(defaultValue !== undefined && { default: defaultValue }),\n };\n\n if (type === 'object') {\n enhancedOptionsSchema[key] = {\n ...remainingSchemaEntry,\n ...annotations,\n type,\n ...(properties && { properties: enhanceOptionsSchemaWithDynamicOptions(properties) }),\n };\n if (patternProperties) {\n let enhancedPatternProperties = {};\n Object.keys(patternProperties).forEach((opt): void => {\n enhancedPatternProperties = {\n ...enhancedPatternProperties,\n ...enhanceOptionsSchemaWithDynamicOptions({ [opt]: patternProperties[opt] }),\n };\n });\n enhancedOptionsSchema[key].patternProperties = enhancedPatternProperties;\n }\n } else {\n enhancedOptionsSchema[key] = {\n ...annotations,\n anyOf: [\n // we can't assume `type` is always there because there are `enum` and `const`.\n { ...(type !== undefined && { type }), ...remainingSchemaEntry },\n dynamicOptionsDSLType,\n ],\n };\n }\n });\n return enhancedOptionsSchema;\n}\n\n/**\n * Helper function to enhance a Visualization Config as needed based on behaviors specified in supports block\n * this function also collapse all editor panels\n * @param vizConfig a Visualization Config\n * @returns an enhanced Visualization Config containing updated config entries based on behaviors it supports\n * and containing `open: false` for all editor panels in editorConfig\n */\nfunction enhanceConfig(vizConfig: VizConfig): VizConfig {\n const enhancedConfig: VizConfig = { ...vizConfig };\n if (vizConfig.supports.indexOf(VizBehavior.DYNAMIC_OPTIONS) !== -1) {\n enhancedConfig.optionsSchema = enhanceOptionsSchemaWithDynamicOptions(vizConfig.optionsSchema);\n }\n enhancedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: config.open || false };\n }\n );\n return enhancedConfig;\n}\n\n/**\n * Helper function to uncollapse all editor panels by adding `open: true` to the editorConfig\n * Created for editor unit tests\n * @param vizConfig a Visualization Config\n * @returns a Visualization Config containing `open: true` for all editor panels in editorConfig\n */\nfunction uncollapseEditorConfig(vizConfig: VizConfig): VizConfig {\n const editorPanelUncollapsedConfig: VizConfig = { ...vizConfig };\n editorPanelUncollapsedConfig.editorConfig = vizConfig.editorConfig.map(\n (config: EditorConfig): EditorConfig => {\n return { ...config, open: true };\n }\n );\n return editorPanelUncollapsedConfig;\n}\n\nfunction isDynamicOption(option?: string): boolean {\n return (option && typeof option === 'string' && option.trim().startsWith('>')) || false;\n}\n\n// private helpers to improve readability of getInitialPreset\n// this shouldn't be tested since this util isn't something that we expect to use outside of getInitialPreset\n\n/**\n * this checks to make sure that all values within vizContext are compatible with the given preset's context to determine the initialPreset\n * if a preset has explicitly specified a key as being undefined, the vizContext must also has that key as undefined, or else this CANNOT be the initialPreset\n * the inverse is true; if a preset has key is NOT undefined, it must also be NOT undefined in the corresponding vizContext\n * the internal config contents are irrelevant (as the user could customize them in source), just as long as the presence of `undefined`s match up\n *\n * Since the presetConfigs have explicit undefined keys to override the existing config, we need to explicitly check the undefined values\n */\nfunction hasCompatibleContexts(\n vizContext: { [configKey: string]: any },\n presetContext: { [configKey: string]: any }\n): boolean {\n const presetContextKeys = Object.keys(presetContext);\n return presetContextKeys.every(\n (contextKey): boolean =>\n (presetContext[contextKey] === undefined && vizContext[contextKey] === undefined) ||\n (presetContext[contextKey] !== undefined && vizContext[contextKey] !== undefined)\n );\n}\n\n/**\n * Checks to make sure that dynamic (non-dynamic) options in a given preset are also dynamic (non-dynamic) in the vizOptions\n */\nfunction hasCompatibleOptions(\n vizOptions: { [configKey: string]: any },\n presetOptions: { [configKey: string]: any }\n): boolean {\n const presetOptionKeys = Object.keys(presetOptions);\n return presetOptionKeys.every(\n (optionKey): boolean =>\n isDynamicOption(presetOptions[optionKey]) === isDynamicOption(vizOptions[optionKey])\n );\n}\n\n/**\n * Evaluates whether there is an initialPreset that fits the current state of vizContext + vizOptions\n * This function ignores extraneous vizOptions or vizContext keys, as they could be outside the scope of what the preset is intended to configure\n *\n * @param {Object} vizContext - the current vizContext definition\n * @param {Object} vizOptions - the current vizOptions definition\n * @param {PresetEntry[]} presets - the list of presets, one of which can be considered an initialPreset\n */\nfunction getInitialPreset(\n vizContext: { [configKey: string]: any },\n vizOptions: { [configKey: string]: any },\n presets: PresetEntry[]\n): PresetEntry | null {\n return presets.find((preset): boolean => {\n const presetContext = get(preset, ['value', 'context'], {});\n const presetOptions = get(preset, ['value', 'options'], {});\n const presetContextKeys = Object.keys(presetContext);\n const presetOptionKeys = Object.keys(presetOptions);\n\n // all presets have to explicitly specify which options to reset (i.e. need explicitly undefined keys)\n // if not, then the preset is invalid in config.ts\n if (presetContextKeys.length === 0 || presetOptionKeys.length === 0) return false;\n\n return (\n hasCompatibleContexts(vizContext, presetContext) &&\n hasCompatibleOptions(vizOptions, presetOptions)\n );\n });\n}\n\ninterface PrecisionOption {\n label: string;\n value: number;\n}\n\n/**\n * generates number precision values for a Select editor\n *\n * @param {Number} numPrecisionValues - number of integer precision values to generate\n * @returns {{ label: string; value; string }[]} array of { label, value } tuples\n */\nfunction generatePrecisionValues(numPrecisionValues: number): PrecisionOption[] {\n return range(0, numPrecisionValues + 1).map(\n (i): PrecisionOption => ({\n label: `${i} (0${i > 0 ? '.' : ''}${'0'.repeat(i)})`, // e.g. 0.000 for numPrecisionValues = 3\n value: i,\n })\n );\n}\n\nexport {\n enhanceConfig,\n enhanceOptionsSchemaWithDynamicOptions,\n getInitialPreset,\n generatePrecisionValues,\n uncollapseEditorConfig,\n isDynamicOption,\n};\n\n/**\n * insert layout in layout array, return a new layout array instead of updating the original\n *\n * @param {EditorLayoutConfig[][]} layout - editor layout\n * @param {Number} index - the index to insert layout item(s)\n * @param {EditorLayoutConfig[][]} layoutItems - the item(s) to insert\n * @returns {EditorLayoutConfig[][]} new editor layout with insertion\n */\nexport const insertLayout = (\n layout: EditorLayoutConfig[][],\n index: number,\n ...layoutItems: EditorLayoutConfig[][]\n): EditorLayoutConfig[][] => [\n // copy part of the array before the specified index\n ...layout.slice(0, index),\n // inserted layout item\n ...layoutItems,\n // copy part of the array after the specified index\n ...layout.slice(index),\n];\n","module.exports = require(\"@splunk/ui-utils/i18n\");","module.exports = require(\"@splunk/visualization-context/FeatureFlagContext\");","module.exports = require(\"@babel/runtime/helpers/createClass\");","module.exports = require(\"@splunk/visualization-context/TimezoneContext\");","module.exports = require(\"@splunk/visualizations-shared/hocUtils\");","module.exports = require(\"@splunk/visualizations-shared/JSONSchemaUtils\");","module.exports = require(\"@splunk/visualization-encoding/Options\");","module.exports = require(\"lodash\");","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { get } from 'lodash';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport { DataSource } from '../interfaces/DataSource';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method shouldShowIconPlaceholder\n * @param {object} dataSources\n * @param {boolean} loading\n * @returns {boolean}\n */\nexport const shouldShowIconPlaceholder = (\n dataSources: { [name: string]: DataSource },\n loading = false\n): boolean => {\n const data = get(dataSources, 'primary.data.columns[0]', undefined);\n const noData = data === undefined;\n const fields = get(dataSources, 'primary.data.fields[0]', undefined);\n const noFields = fields === undefined;\n return loading || noData || noFields;\n};\n\nexport interface IconPlaceholderProps {\n icon?: React.ComponentClass<any>;\n width?: string | number;\n height?: string | number;\n backgroundColor?: string;\n iconColor?: string;\n}\n\nconst propTypes: Record<keyof IconPlaceholderProps, T.Validator<any>> = {\n icon: T.func,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n iconColor: T.string,\n};\n\n/**\n * @method IconPlaceholder\n * @param {IconPlaceholderProps} props\n * @returns {React.ReactElement}\n */\nconst IconPlaceholder = (props: IconPlaceholderProps): React.ReactElement => {\n const { width, height, icon, iconColor } = props;\n if (icon) {\n return React.createElement(icon, {\n style: {\n left: '50%',\n top: '50%',\n color: iconColor,\n opacity: 0.15,\n position: 'absolute',\n transform: 'translate(-50%, -50%)',\n },\n width: '50%',\n height: '50%',\n });\n }\n\n return <Message width={width} height={height} level=\"warning\" message={_('No DataSource Connected')} />;\n};\n\nIconPlaceholder.propTypes = propTypes;\nIconPlaceholder.defaultProps = {\n width: '100%',\n height: 250,\n};\n\nexport default withFixedSizeContainer(IconPlaceholder);\n","module.exports = require(\"@splunk/ui-utils/id\");","import * as T from 'prop-types';\nimport { has } from 'lodash';\nimport { DataSourceMeta, SortDirType, validSortDirs } from '../interfaces/DataSource';\n\nexport interface SortParams {\n currentSortKey?: undefined | string;\n currentSortDir?: undefined | SortDirType;\n onSort?: (e: MouseEvent, { sortKey, sortDir }: { sortKey: string; sortDir: SortDirType }) => void;\n}\n\nexport const SortParamsPropTypes = T.shape({\n currentSortKey: T.string,\n currentSortDir: T.oneOf(validSortDirs),\n onSort: T.func,\n});\n\nexport const getSortingParams = ({ requestParams, onRequestParamsChange }: DataSourceMeta): SortParams => {\n let currentSortKey;\n let currentSortDir;\n\n const nextSortDirMap = {\n asc: 'desc',\n desc: 'asc',\n none: 'asc',\n };\n\n let onSort;\n if (typeof onRequestParamsChange === 'function') {\n if (requestParams && has(requestParams, 'sort')) {\n currentSortKey = Object.keys(requestParams.sort).shift();\n currentSortDir = requestParams.sort[currentSortKey];\n }\n\n // undid memoization since there is a dependency on requestParams, which is a deeply nested object\n onSort = (e, { sortKey, sortDir }): void => {\n if (typeof sortKey === 'string') {\n const nextSortDir = has(nextSortDirMap, sortDir) ? nextSortDirMap[sortDir] : 'none';\n onRequestParamsChange({\n ...requestParams,\n ...{ offset: 0, sort: { [sortKey]: nextSortDir } },\n });\n } else {\n onRequestParamsChange(requestParams);\n }\n };\n }\n\n return {\n currentSortKey,\n currentSortDir,\n onSort,\n };\n};\n","import * as T from 'prop-types';\nimport { cloneDeep, noop } from 'lodash';\nimport { DataSourceMeta, RequestParams } from '../interfaces/DataSource';\n\nexport interface OnChangeParams {\n page?: number;\n count?: number;\n}\nexport interface PaginatorParams {\n isPaging?: boolean;\n current?: number;\n totalPages?: number;\n onChange?: (e: MouseEvent, x: OnChangeParams) => void;\n}\n\nexport const PaginatorParamsPropTypes = T.shape({\n isPaging: T.bool,\n current: T.number,\n totalPages: T.number,\n onChange: T.func,\n});\n\nexport const getPaginationParams = ({\n requestParams,\n meta,\n onRequestParamsChange,\n}: DataSourceMeta): PaginatorParams => {\n const totalCount = (meta && meta.totalCount) || 0;\n const offset = (requestParams && requestParams.offset) || 0;\n const count = requestParams && requestParams.count;\n const totalPages = typeof count === 'number' && count > 0 ? Math.ceil(totalCount / count) : 0;\n const current = typeof count === 'number' && count > 0 ? Math.floor(offset / count) + 1 : 0;\n const isPaging = totalPages > 1 && typeof onRequestParamsChange === 'function';\n\n const onChangeHandler = (e, { page, count: countArg }: OnChangeParams): void => {\n const newParams: RequestParams = cloneDeep(requestParams);\n\n if (typeof countArg === 'number') {\n newParams.count = countArg;\n newParams.offset = 0;\n }\n\n const pageCount = typeof newParams.count === 'number' ? newParams.count : 10;\n if (typeof page === 'number' && page > 0) {\n newParams.count = pageCount;\n newParams.offset = (page - 1) * pageCount;\n }\n\n onRequestParamsChange(newParams);\n };\n\n return {\n isPaging,\n current,\n totalPages,\n onChange: typeof onRequestParamsChange === 'function' ? onChangeHandler : noop,\n };\n};\n","export enum VizCategory {\n SINGLE_VALUE = 'Single Value',\n TRENDS = 'Trends',\n COMPARISONS = 'Comparisons',\n TABLE = 'Table',\n GAUGE = 'Gauge',\n DISTRIBUTIONS = 'Distributions',\n CHOROPLETH = 'Choropleth Maps',\n SHAPES = 'Shapes',\n MISC = 'misc',\n FLOW = 'Flow',\n CORRELATION = 'Correlation',\n SPATIAL = 'Spatial',\n}\n","import * as React from 'react';\nimport { camelCase, has, get, defaultsDeep } from 'lodash';\nimport getSettingsFromThemedProps from '@splunk/themes/getSettingsFromThemedProps';\nimport { Options as Opts } from '@splunk/visualization-encoding/Options';\nimport { withSanitizedProps } from '@splunk/visualizations-shared/SanitizeProps';\nimport TimezoneContext from '@splunk/visualization-context/TimezoneContext';\nimport moment from '@splunk/moment';\nimport FeatureFlagContext from '@splunk/visualization-context/FeatureFlagContext';\nimport { withTheme } from 'styled-components';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport AsyncDynamicOptionsEvaluator, {\n AsyncDynamicOptionsEvaluatorParams,\n} from '@splunk/async-dynamic-options-evaluator';\nimport { createGUID } from '@splunk/ui-utils/id';\nimport SplunkVisualization from './SplunkVisualization';\nimport type { DashboardVizProps, DataSource, VizConfig, VizProps } from './interfaces';\nimport { VizBehavior } from './interfaces/VizBehavior';\nimport { getSortingParams } from './hooks/getSorting';\nimport { getPaginationParams } from './hooks/getPagination';\nimport { useDeepMemo } from './hooks/useDeepMemo';\nimport MissingPropsMessage, { missingKeys } from './components/MissingPropsMessage';\nimport withEditModeCover from './hocs/withEditModeCover';\nimport withPlaceholder from './hocs/withPlaceholder';\nimport { ChartingProps } from './Charting';\n\ntype HOC = (props: DashboardVizProps) => React.ReactElement<DashboardVizProps>;\nexport interface DashboardVizOpts {\n ReactViz: React.ComponentType<ChartingProps | VizProps>; // we will wrap this in DashboardViz (see const DashboardViz = ...)\n vizConfig: VizConfig;\n computeVizProps?: (props) => any;\n disableEditModeCover?: boolean;\n useIconPlaceholder?: (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n ) => boolean;\n}\n\n/**\n * hoc that wraps a pure react visualization in a Dashboard visualization\n * @param {DashboardVizOpts} opts\n * @returns {HOC}\n */\nconst withDashboardViz = (opts: DashboardVizOpts): HOC => {\n const {\n ReactViz,\n vizConfig,\n computeVizProps = () => {},\n disableEditModeCover,\n useIconPlaceholder,\n } = opts;\n\n // sanitizing props before sending them to reactviz.\n const SanitizedReactViz = withSanitizedProps(ReactViz);\n const defaultOptions = pickFieldFromJSONSchema(vizConfig.optionsSchema, 'default');\n\n const DashboardViz = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const {\n mode,\n hasEventHandlers,\n dataSources, // type of { [key: string]: DataSource }\n options,\n context = {},\n width,\n height,\n onComputedProps,\n onEventTrigger,\n theme,\n onRequestParamsChange,\n } = props;\n const { serializedTimezone } = React.useContext(TimezoneContext);\n if (serializedTimezone) {\n /*\n @splunk/moment currently does not allow us to customize the timezone on a per visualization basis.\n This ensures that if a timezone was provided via TimezoneContext @splunk/moment time formatting\n will use it.\n\n @TODO(pwied):\n - remove when we moved away from @splunk/moment\n - provide timezone context to dynamic option evaluation phase\n */\n if (!moment.getDefaultSplunkTimezone()) {\n moment.setDefaultSplunkTimezone(serializedTimezone);\n }\n }\n\n const themeFunc = themeVar => vizConfig.themes[themeVar]?.(props);\n const bgColorFromTheme = themeFunc('defaultBackgroundColor');\n const {\n family: currentThemeFamily,\n colorScheme: currentThemeColorScheme,\n density: currentThemeDensity,\n } = getSettingsFromThemedProps({ theme });\n\n let evaluatedOptions: Opts = {}; // evaluatedOptions need to be initialized as an empty object\n const [evaluatedOptionsAsync, setEvaluatedOptionsAsync] = React.useState({}); // evaluatedOptions need to be initialized as an empty object\n const featureFlagContext = React.useContext<FeatureFlagContext>(FeatureFlagContext);\n\n const [visualizationID] = React.useState(`${vizConfig.name} - ${createGUID()}`);\n\n const [useAsyncEvaluatedOptions, setUseAsyncEvaluatedOptions] = React.useState(\n Boolean(\n featureFlagContext &&\n featureFlagContext.visualizations_useWebWorkersForDSL &&\n typeof Worker !== 'undefined'\n )\n );\n\n evaluatedOptions = useDeepMemo((): Record<string, unknown> => {\n try {\n if (useAsyncEvaluatedOptions) {\n const optionsToEvaluate = {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n };\n const asyncDynamicOptionsEvaluatorParams: AsyncDynamicOptionsEvaluatorParams = {\n visualizationID,\n props,\n options: optionsToEvaluate,\n dataSources,\n theme: vizConfig.themes,\n };\n AsyncDynamicOptionsEvaluator.evaluate(asyncDynamicOptionsEvaluatorParams)\n .then(results => {\n setEvaluatedOptionsAsync(results.results);\n })\n .catch(e => {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options - async: ${e.message}`);\n setUseAsyncEvaluatedOptions(false);\n });\n } else {\n return Opts.evaluate(\n {\n context: defaultsDeep({}, context, vizConfig.defaultContext),\n options: deepMergeWithArrayPrimitiveOverrides({}, options, defaultOptions),\n },\n dataSources,\n themeFunc\n );\n }\n } catch (e) {\n // eslint-disable-next-line no-console\n console.error(`unexpected error evaluating options: ${e.message}`);\n return {};\n }\n return {};\n }, [\n currentThemeFamily,\n currentThemeColorScheme,\n currentThemeDensity,\n options,\n context,\n dataSources,\n serializedTimezone,\n useAsyncEvaluatedOptions,\n ]);\n\n const evaluatedOptionsToUse = !useAsyncEvaluatedOptions ? evaluatedOptions : evaluatedOptionsAsync;\n\n // trellis specific backgroundColor update for onComputedProps\n // if trellis is enabled following these three criteria - 1) trellis feature flag is enabled 2) vizConfig supports array has 'trellis' 3) option 'splitByLayout' is set to 'trellis\n // onComputedProps api should return back trellisBackgroundColor value for backgroundColor option to support coloring of sibling panels (for eg:- title/ description on UDF side)\n const isTrellisFeatureFlagOn = Boolean(\n featureFlagContext && featureFlagContext.visualizations_enableTrellis\n );\n let clonedEvaluatedOptions = evaluatedOptionsToUse;\n if (\n isTrellisFeatureFlagOn &&\n vizConfig?.supports?.includes(VizBehavior.TRELLIS) &&\n clonedEvaluatedOptions?.splitByLayout === VizBehavior.TRELLIS\n ) {\n clonedEvaluatedOptions = {\n ...evaluatedOptionsToUse,\n backgroundColor: clonedEvaluatedOptions?.trellisBackgroundColor,\n };\n }\n // useEffect hook needs to be initialized before any early returns\n // this is in accordance with the order of hook calls being the same on each render https://reactjs.org/docs/hooks-rules.html#explanation\n React.useEffect((): void => {\n onComputedProps(clonedEvaluatedOptions);\n });\n\n React.useEffect((): (() => void) => {\n return () => {\n if (useAsyncEvaluatedOptions) {\n AsyncDynamicOptionsEvaluator.reset(visualizationID);\n }\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // present warning message if any required props are missing\n const { requiredProps = [], supports } = vizConfig;\n const missing = missingKeys(requiredProps, evaluatedOptionsToUse);\n if (\n missing.length > 0 &&\n supports.includes(VizBehavior.PLACEHOLDER) &&\n vizConfig.key !== 'splunk.singlevalue' // For SV missing props msg is not displayed if required props majorValue is missing, instead this will be handled from the component, instead handled within component\n ) {\n return (\n <MissingPropsMessage\n data-test=\"missing-props-message\"\n width={width}\n height={height}\n missingProps={missing}\n backgroundColor={bgColorFromTheme}\n />\n );\n }\n\n // events\n const eventCallbackProps = {};\n if (hasEventHandlers && mode === 'view' && vizConfig.supports.indexOf(VizBehavior.EVENTS) > -1) {\n const supportedEvents = vizConfig.events;\n Object.keys(supportedEvents).forEach((eventName): void => {\n const eventCallbackPropName = camelCase(`on.${eventName}`);\n eventCallbackProps[eventCallbackPropName] = null;\n // todo: refactor single value and single value icon to send payload from viz\n // then remove these lines\n const { payloadKeys } = supportedEvents[eventName];\n let payload = {};\n if (Array.isArray(payloadKeys) && payloadKeys.length) {\n payloadKeys.forEach(p => {\n payload[p] = evaluatedOptionsToUse[p];\n });\n }\n\n eventCallbackProps[eventCallbackPropName] = (ev): Record<string, unknown> => {\n if (ev && ev.payload) {\n payload = ev.payload;\n }\n\n return onEventTrigger({ originalEvent: ev, payload, type: eventName });\n };\n });\n }\n\n // compute pure viz props which are not from options\n const computedVizProps = computeVizProps({\n ...props,\n ...evaluatedOptionsToUse,\n ...eventCallbackProps,\n themeFunc,\n });\n\n /**\n * PAGE_AND_SORT behavior\n *\n * Some visualizations, like table, requires metadata about the datasource,\n * like total number of results, current count, offset, and sort, for rendering\n * paginator and sorting direction. In this approach, the visualization\n * allow users to set 'paginateDataSourceKey' to select which datasource\n * should the visualization extract the metadata from. It defaults to 'primary' datasource.\n * The visualization config should set the PAGE_AND_SORT behavior to receive\n * 'requestParams', 'meta' and onRequestParams callback as props.\n *\n * In future, we could automatically detect which all datasources are being used\n * and bind those magically to pagination/sorting behavior.\n */\n let dataSourceMetadata = {};\n const OptionKey = 'paginateDataSourceKey';\n const paginateDataSourceKey =\n (has(evaluatedOptionsToUse, OptionKey) && evaluatedOptionsToUse[OptionKey]) || 'primary';\n if (\n vizConfig.supports.indexOf(VizBehavior.PAGE_AND_SORT) > -1 &&\n has(dataSources, paginateDataSourceKey)\n ) {\n const requestParams = get(dataSources, [paginateDataSourceKey, 'requestParams'], {});\n const meta = get(dataSources, [paginateDataSourceKey, 'meta'], {});\n const handleRequestParamsChange = (payload: Record<string, unknown>): void =>\n onRequestParamsChange(paginateDataSourceKey, payload);\n\n const sortParams = getSortingParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n const paginatorParams = getPaginationParams({\n requestParams,\n meta,\n onRequestParamsChange: handleRequestParamsChange,\n });\n\n dataSourceMetadata = {\n sortParams,\n paginatorParams,\n };\n }\n\n // if were using webworkers and this is the first render we dont want to show a viz with missing data so we return null\n if (useAsyncEvaluatedOptions && Object.keys(evaluatedOptionsToUse).length === 0) {\n return null;\n }\n\n return (\n <SanitizedReactViz\n mode={mode}\n width={width}\n height={height}\n {...evaluatedOptionsToUse}\n {...computedVizProps}\n {...eventCallbackProps}\n {...dataSourceMetadata}\n />\n );\n };\n\n DashboardViz.propTypes = {\n ...SplunkVisualization.propTypes,\n ...ReactViz.propTypes,\n };\n\n DashboardViz.defaultProps = {\n ...SplunkVisualization.defaultProps,\n ...ReactViz.defaultProps,\n // using withTheme requires component to receive theme prop. In case the consumer did not provide ThemeProvider, a default empty object will prevent warnings.\n theme: {},\n };\n // attach viz config\n DashboardViz.config = vizConfig;\n\n // @ts-ignore: TODO fix sc upgrade TS issues\n return withTheme(\n withPlaceholder(withEditModeCover(DashboardViz, disableEditModeCover), useIconPlaceholder)\n );\n};\n\nexport default withDashboardViz;\n","module.exports = require(\"@splunk/themes/getSettingsFromThemedProps\");","module.exports = require(\"@splunk/visualizations-shared/SanitizeProps\");","module.exports = require(\"@splunk/moment\");","module.exports = require(\"styled-components\");","module.exports = require(\"@splunk/async-dynamic-options-evaluator\");","/* eslint-disable no-sequences */\nimport * as React from 'react';\nimport { sanitizeArrayOfColors } from '@splunk/visualizations-shared/colorUtils';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { DataSource } from '../common/interfaces/DataSource';\nimport PureMap from './PureMap/PureMap';\nimport config from './config';\nimport withDashboardViz from '../common/withDashboardViz';\nimport { columnsNullToZeros } from '../common/utils/mapUtils';\nimport { GEO_BOUND_PREFIX, GEO_LAT_AND_LONG_FIELD } from './PureMap/BubbleLayer';\nimport { convertToArrOfObjects } from '../common/utils/dataUtils';\n\nconst formatLayer = (l, dataFields, dataSourceData, transformedData) => {\n // add key `geobin` to the layer object if the data is returned from geostats commands\n // to distinguish geostats commands from table commands\n const geobinIdx = dataFields.indexOf('geobin');\n const layer = l;\n\n if (geobinIdx > -1) {\n layer.geobin = dataSourceData.columns[geobinIdx];\n }\n // similarly add key `geom` to layer object for choropleths\n const geomIdx = dataFields.indexOf('geom');\n if (geomIdx > -1) {\n layer.geom = dataSourceData.columns[geomIdx].map(geomItem => {\n return typeof geomItem === 'string' ? JSON.parse(geomItem) : geomItem;\n });\n }\n // Sanitize colors within layers\n if (Object.prototype.hasOwnProperty.call(layer, 'seriesColors')) {\n layer.seriesColors = Array.isArray(layer.seriesColors)\n ? sanitizeArrayOfColors(layer.seriesColors)\n : undefined;\n }\n if (Object.prototype.hasOwnProperty.call(layer, 'dataColors')) {\n layer.dataColors = Array.isArray(layer.dataColors)\n ? sanitizeArrayOfColors(layer.dataColors)\n : undefined;\n }\n layer.metadata = transformedData;\n};\n\nexport const computeVizProps = (props: {\n themeFunc: any;\n theme: any;\n dataSources: any;\n layers: any;\n onOptionsChange?: any;\n}): any => {\n const { themeFunc, theme, layers, dataSources, onOptionsChange } = props;\n const themeColorVariables = ['controlBackgroundColor', 'controlForegroundColor'];\n const themeColors: Record<string, unknown> = {};\n themeColorVariables.forEach(variable => {\n themeColors[variable] = themeFunc(variable);\n });\n // Markers use different icons, Bubbles has different styles for light and dark theme\n // this prop is passed for that\n const themeColorScheme = theme?.splunkThemeV1 ? theme?.splunkThemeV1.colorScheme : 'dark';\n\n const dataSourceData = dataSources?.primary?.data ?? {};\n // transforms data structure into array of objects to allow for indexing metadata at layer level\n // TODO: explore any potential changes when multiple layers are supported\n const transformedData = convertToArrOfObjects(dataSourceData.columns, dataSourceData.fields);\n\n const dataFields = (dataSourceData.fields ?? []).map(field =>\n typeof field === 'string' ? field : field.name\n );\n\n layers?.forEach(l => formatLayer(l, dataFields, dataSourceData, transformedData));\n\n return { ...themeColors, themeColorScheme, ...layers, onOptionsChange };\n};\n\nconst withTooltipFields = Viz => {\n const VizWithTooltipFields = ({ dataSources, options, ...otherProps }): JSX.Element => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} options={options} />;\n }\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]) {\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n mergedOptions.layers[0].bubbleSizeFields = getFieldsFromDSL(\n mergedOptions.layers[0].bubbleSize ?? mergedOptions.layers[0].bubbleSize,\n dataSources\n );\n }\n const { fields } = dataSources.primary.data;\n if (\n Array.isArray(mergedOptions.layers[0].additionalTooltipFields) &&\n Array.isArray(fields) &&\n fields.length\n ) {\n const { bubbleSizeFields = [] } = mergedOptions.layers[0];\n mergedOptions.layers[0].additionalTooltipFields = mergedOptions.layers[0].additionalTooltipFields.filter(\n (field: string) =>\n (typeof fields[0] === 'string'\n ? fields.includes(field)\n : fields.map((f: { name: string }) => f.name).includes(field)) &&\n !bubbleSizeFields.includes(field)\n );\n }\n }\n return <Viz dataSources={dataSources} options={mergedOptions} {...otherProps} />;\n };\n VizWithTooltipFields.propTypes = Viz.propTypes;\n VizWithTooltipFields.defaultProps = Viz.defaultProps;\n VizWithTooltipFields.config = Viz.config;\n return VizWithTooltipFields;\n};\n\n// HOC for stripping the internal fields for Maps\nconst withoutInternalFields = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithoutInternalFields = ({ dataSources, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz {...otherProps} />;\n }\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = [];\n let newFields = [];\n if (fields && columns && fields.length === columns.length) {\n // computed sorted index for removal\n const indicesToRemove = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (\n field.startsWith('_') &&\n !field.startsWith(GEO_BOUND_PREFIX) &&\n !GEO_LAT_AND_LONG_FIELD.includes(field)\n ) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n newFields = fields.filter((d, i) => !indicesToRemove.has(i));\n newColumns = columns.filter((d, i) => !indicesToRemove.has(i));\n }\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n fields: newFields,\n },\n },\n };\n return <Viz dataSources={modifiedDatasources} {...otherProps} />;\n };\n VizWithoutInternalFields.propTypes = Viz.propTypes;\n VizWithoutInternalFields.defaultProps = Viz.defaultProps;\n VizWithoutInternalFields.config = Viz.config;\n return VizWithoutInternalFields;\n};\n\n// HOC for updating all null values in data columns to zeros\n// excluding 'latitude', 'longitude' and 'geobin'\nconst withNullToZeros = Viz => {\n // eslint-disable-next-line react/display-name\n const VizWithColumnsNullToZeros = ({ dataSources, options, ...otherProps }) => {\n if (!dataSources || !dataSources.primary || !dataSources.primary.data) {\n return <Viz options={options} {...otherProps} />;\n }\n const modifiedDatasources = columnsNullToZeros(config, dataSources, options);\n return <Viz dataSources={modifiedDatasources} options={options} {...otherProps} />;\n };\n VizWithColumnsNullToZeros.propTypes = Viz.propTypes;\n VizWithColumnsNullToZeros.defaultProps = Viz.defaultProps;\n VizWithColumnsNullToZeros.config = Viz.config;\n return VizWithColumnsNullToZeros;\n};\n\nexport function useIconPlaceholder(dataSources: { [name: string]: DataSource }, loading: boolean): boolean {\n return loading;\n}\n\nconst Map = withoutInternalFields(\n withTooltipFields(\n withNullToZeros(\n withDashboardViz({\n ReactViz: PureMap,\n vizConfig: config,\n computeVizProps,\n disableEditModeCover: true,\n useIconPlaceholder,\n })\n )\n )\n);\nconst { themes } = config;\nexport default Map;\nexport { themes, config, PureMap };\n","import * as React from 'react';\nimport { omit, noop } from 'lodash';\nimport { useRef, useEffect, useCallback, useContext, useMemo } from 'react';\nimport * as T from 'prop-types';\nimport * as chroma from 'chroma-js';\nimport { Map, NavigationControl, ScaleControl } from 'maplibre-gl';\nimport type { StyleSpecification } from 'maplibre-gl';\nimport MapContext from '@splunk/visualization-context/MapContext';\nimport type { MapContextInterface } from '@splunk/visualization-context/MapContext';\nimport { VizProps } from '../../common/interfaces/VizProps';\nimport PureMapContainer from './PureMapContainer';\nimport {\n getTilePreset,\n getMapStyle,\n getZoomConstraintsFromTileConfig,\n MAP_STYLE_VERSION_NUMBER,\n ClusterLayerType,\n LayerType,\n MAX_BUBBLE_RADIUS,\n isValidLatLon,\n MAX_LATITUDE,\n getGlobalLayerBoundaries,\n LAYER_TYPE,\n compareBaseStyles,\n} from './MapUtils';\nimport ClusterLayer from './ClusterLayer';\nimport ChoroplethLayer from './ChoroplethLayer';\nimport LocalChoroplethLayer from './LocalChoroplethLayer';\n\nexport const DEFAULT_CENTER: [number, number] = [0, 0];\nexport const DEFAULT_CONTROL_BACKGROUND_COLOR = '#2b3033';\nexport const DEFAULT_CONTROL_FOREGROUND_COLOR = '#B5B5B5';\nexport const DEFAULT_SCALE_UNIT = 'imperial';\nexport const DEFAULT_SHOW_SCALE = true;\nexport const DEFAULT_SHOW_ZOOM_CONTROLS = true;\nexport const DEFAULT_SHOW_BASELAYER = true;\nexport const DEFAULT_ZOOM = 0;\ninterface PureMapProps extends VizProps {\n backgroundColor: string;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: 'vector' | 'raster';\n center?: [number, number];\n controlBackgroundColor?: string;\n controlForegroundColor?: string;\n layers: LayerType[];\n scaleUnit?: 'imperial' | 'metric';\n showScale?: boolean;\n showZoomControls?: boolean;\n showBaseLayer?: boolean;\n themeColorScheme?: string;\n zoom?: number;\n onMapLoad?: () => void;\n onMapClick?: ({ e, payload }) => void;\n onOptionsChange?: (options) => void;\n}\n\nexport interface HexColorObj {\n color: string;\n opacity: number;\n}\n\n// convert rgb/rgba/hex color to encoded color & opacity for SVG strings\nexport const formatColor = (color: string): HexColorObj => {\n const chromaColor = chroma(color);\n return {\n color: chroma(chromaColor.rgb()).hex().replace('#', '%23'),\n opacity: chromaColor.alpha(),\n };\n};\n\nPureMapContainer.displayName = 'PureMapContainer';\n\nconst PureMap = (props: PureMapProps): any => {\n const {\n width,\n height,\n backgroundColor,\n baseLayerTileServer,\n baseLayerTileServerType,\n center,\n controlBackgroundColor,\n controlForegroundColor,\n layers = [],\n scaleUnit,\n showScale,\n showZoomControls,\n showBaseLayer,\n themeColorScheme,\n zoom,\n onMapLoad,\n onMapClick,\n onOptionsChange,\n mode,\n } = props;\n const { defaultTileConfig, customTileConfig } = useContext<MapContextInterface>(MapContext);\n const basemapContainer = useRef<HTMLDivElement>(null);\n const map = useRef<Map>(null);\n const scaleControl = useRef<ScaleControl>(null);\n const zoomControl = useRef<NavigationControl>(null);\n\n const { tilePreset, defaultTileLight, defaultTileDark } = useMemo(\n () => getTilePreset({ defaultTileConfig, customTileConfig }),\n [defaultTileConfig, customTileConfig]\n );\n\n const [currentZoomLevel, setCurrentZoomLevel] = React.useState<number>(zoom ?? DEFAULT_ZOOM);\n const [isMapLoaded, setMapIsLoaded] = React.useState<boolean>(false);\n const [isThemeChanged, setIsThemeChanged] = React.useState<boolean>(false);\n\n // Assign default center when no center is defined\n const lngLatCenter = useMemo(() => {\n if (!isValidLatLon(center)) {\n return DEFAULT_CENTER as [number, number];\n }\n return [center[1], center[0]] as [number, number];\n }, [center]);\n\n // TODO: take out zoomLevel to use zoom instead (set prop zoom = DEFAULT_ZOOM)\n // Assign default zoom when no zoom is defined\n const zoomLevel = useMemo(() => {\n if (zoom === undefined) {\n return DEFAULT_ZOOM;\n }\n return zoom;\n }, [zoom]);\n\n const setIsThemeChangedCallback = (isMyThemeChanged: boolean) => {\n setIsThemeChanged(isMyThemeChanged);\n };\n\n const onOptionsChangeProxy = e => {\n if (mode === 'edit') {\n onOptionsChange(e);\n }\n };\n\n const initializeMap = useCallback(\n mapStyle => {\n const fitMapToContent = () => {\n const lngLatBounds = getGlobalLayerBoundaries([layers[0]]);\n map.current.fitBounds(lngLatBounds, {\n padding: MAX_BUBBLE_RADIUS + 5,\n animate: false,\n });\n };\n\n map.current = new Map({\n container: basemapContainer.current,\n preserveDrawingBuffer: true,\n style: mapStyle,\n center: lngLatCenter,\n zoom: zoomLevel,\n ...getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer),\n });\n // Fired immediately after all necessary resources have been downloaded\n // and the first visually complete rendering of the map has occurred.\n map.current.on('load', () => {\n if (layers?.length > 0 && center === undefined && zoom === undefined) {\n fitMapToContent();\n }\n setMapIsLoaded(true);\n // TODO :- Temp timeout added for onMapLoad event to avoid flaky screenshots caused by\n // https://maplibre.org/maplibre-gl-js-docs/api/map/#map#fitbounds. Need alternate approach to handle the same.\n setTimeout(() => onMapLoad(), 500);\n });\n\n // register event listener - drag\n map.current.on('dragend', () => {\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng] });\n });\n\n // register event listener - zoom\n map.current.on('zoomend', () => {\n setCurrentZoomLevel(map.current.getZoom());\n // when zooming with mouse/track pad,\n // zooming centers at the cursor position, need to update center as well\n const newCenter = map.current.getCenter();\n onOptionsChangeProxy({ center: [newCenter.lat, newCenter.lng], zoom: map.current.getZoom() });\n });\n\n // add zoom control\n zoomControl.current = new NavigationControl({ showCompass: false });\n map.current.addControl(zoomControl.current, 'top-left');\n },\n [lngLatCenter, zoomLevel, layers?.length]\n );\n\n const initializeScale = useCallback(() => {\n scaleControl.current = new ScaleControl({\n maxWidth: 70,\n unit: scaleUnit,\n });\n map.current.addControl(scaleControl.current);\n }, [scaleUnit]);\n\n const updateScale = useCallback(() => {\n if (showScale) {\n scaleControl?.current?.setUnit(scaleUnit);\n }\n }, [scaleUnit, showScale]);\n\n useEffect(() => {\n if (map.current) {\n map.current.resize();\n }\n }, [width, height]);\n\n useEffect(() => {\n // do not render when defaultTileConfig, customTileConfig and tileset are not configured\n if (Object.keys(tilePreset).length === 0 && (!baseLayerTileServer || !baseLayerTileServerType)) {\n // eslint-disable-next-line no-console\n console.warn(\n 'Map Tile Server configuration is missing or invalid. Please provide a valid configuration'\n );\n return;\n }\n\n const mapStyle = getMapStyle({\n showBaseLayer,\n baseLayerTileServer,\n baseLayerTileServerType,\n tilePreset,\n colorScheme: themeColorScheme,\n defaultTileLight,\n defaultTileDark,\n });\n\n mapStyle.version = MAP_STYLE_VERSION_NUMBER;\n\n // If the map has already been initialized, we update the styles\n if (map.current) {\n const curr = map.current.getStyle();\n const next = omit(mapStyle, ['theme', 'name', 'key']);\n\n // In dashboard studio this setStyle function is triggered by zoom changes as well\n // Since setStyle will reset all style layers on the map including choropleth,\n // we ONLY want to this to be called when there are style changes\n if (!compareBaseStyles(curr, next)) {\n // Refer to https://maplibre.org/maplibre-gl-js-docs/api/map/#setstyle-example for options.diff (default is true)\n map.current.setStyle(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n setIsThemeChanged(true);\n }\n const { minZoom, maxZoom } = getZoomConstraintsFromTileConfig(mapStyle, baseLayerTileServer);\n map.current.setMinZoom(minZoom);\n map.current.setMaxZoom(maxZoom);\n updateScale();\n } else {\n // initialize the map only once with a constructed style from user configured options\n // or default configs from the map context\n initializeMap(omit(mapStyle, ['theme', 'name', 'key']) as StyleSpecification);\n initializeScale();\n }\n }, [\n showBaseLayer,\n tilePreset,\n initializeMap,\n initializeScale,\n updateScale,\n defaultTileLight,\n defaultTileDark,\n baseLayerTileServer,\n baseLayerTileServerType,\n themeColorScheme,\n ]);\n\n useEffect(() => {\n if (map.current) {\n map.current.flyTo({\n center: lngLatCenter,\n zoom: zoomLevel,\n });\n }\n }, [lngLatCenter, zoomLevel]);\n\n useEffect(\n () => () => {\n if (map.current) {\n map.current.remove();\n }\n },\n []\n );\n\n const [layer] = layers;\n\n return (\n <>\n <PureMapContainer\n className=\"puremap\"\n width={width}\n height={height}\n backgroundColor={backgroundColor}\n controlBackgroundColor={controlBackgroundColor}\n controlForegroundColor={controlForegroundColor}\n controlIconColorEncoded={formatColor(controlForegroundColor)}\n ref={basemapContainer}\n showScale={showScale}\n showZoomControls={showZoomControls}\n >\n {isMapLoaded &&\n layer &&\n (layer.type === LAYER_TYPE.Bubble || layer.type === LAYER_TYPE.Marker) && (\n <ClusterLayer\n clusterLayer={layer as ClusterLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={currentZoomLevel}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && layer.source && (\n <LocalChoroplethLayer\n width={width}\n height={height}\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n {isMapLoaded && layer && layer.type === LAYER_TYPE.Choropleth && !layer.source && (\n <ChoroplethLayer\n map={map}\n choroplethLayer={layer}\n isThemeChanged={isThemeChanged}\n setIsThemeChanged={setIsThemeChangedCallback}\n onMapClick={onMapClick}\n />\n )}\n </PureMapContainer>\n </>\n );\n};\n\nexport const isLatLng = (props: PureMapProps, propName: string, componentName: string): Error => {\n if (!props[propName]) {\n return null;\n }\n const latAbs = Math.abs(props[propName][0]);\n const lonAbs = Math.abs(props[propName][1]);\n const latlon = props[propName];\n if (latAbs > MAX_LATITUDE && lonAbs <= MAX_LATITUDE) {\n throw new Error(`${componentName} ${propName} may have reversed [lat, lon] ranges.`);\n }\n if (!isValidLatLon(latlon)) {\n throw new Error(`${componentName} ${propName} incorrect [lat, lon] ranges.`);\n }\n return null;\n};\n\nPureMap.propTypes = {\n // eslint-disable-next-line react/no-unused-prop-types\n mode: T.string,\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n backgroundColor: T.string,\n baseLayerTileServer: T.string,\n baseLayerTileServerType: T.string,\n center: isLatLng,\n controlBackgroundColor: T.string,\n controlForegroundColor: T.string,\n layers: T.arrayOf(\n T.shape({\n type: T.string,\n latitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n longitude: T.arrayOf(T.oneOfType([T.string, T.number])),\n label: T.string,\n showInLegend: T.bool,\n dataColors: T.oneOfType([T.string, T.arrayOf(T.string)]),\n seriesColors: T.arrayOf(T.string),\n additionalTooltipFields: T.arrayOf(T.string),\n resultLimit: T.number,\n source: T.string,\n choroplethEmptyAreaColor: T.string,\n })\n ),\n scaleUnit: T.string,\n showScale: T.bool,\n themeColorScheme: T.string,\n zoom: T.number,\n onMapLoad: T.func,\n onMapClick: T.func,\n onOptionsChange: T.func,\n};\n\nPureMap.defaultProps = {\n mode: 'view',\n width: 800,\n height: 500,\n backgroundColor: '#0b0c0e',\n controlBackgroundColor: DEFAULT_CONTROL_BACKGROUND_COLOR,\n controlForegroundColor: DEFAULT_CONTROL_FOREGROUND_COLOR,\n scaleUnit: DEFAULT_SCALE_UNIT,\n showScale: DEFAULT_SHOW_SCALE,\n showZoomControls: DEFAULT_SHOW_ZOOM_CONTROLS,\n showBaseLayer: DEFAULT_SHOW_BASELAYER,\n layers: [],\n themeColorScheme: 'dark',\n onMapLoad: noop,\n onMapClick: noop,\n onOptionsChange: noop,\n};\n\nexport default PureMap;\n","module.exports = require(\"@splunk/visualization-context/MapContext\");","import styled from 'styled-components';\nimport { pick } from 'lodash';\nimport { toDimension } from '@splunk/visualizations-shared/style';\nimport css from '!!raw-loader!maplibre-gl/dist/maplibre-gl.css';\nimport { HexColorObj } from './PureMap';\n\nconst PureMapContainer = styled.div<{\n width: number | string;\n height: number | string;\n backgroundColor: string;\n controlBackgroundColor: string;\n controlForegroundColor: string;\n controlIconColorEncoded: HexColorObj;\n showScale: boolean;\n showZoomControls: boolean;\n}>`\n ${css}\n overflow: hidden;\n position: relative;\n z-index: 0;\n background-color: ${props => props.backgroundColor};\n ${props => toDimension(pick(props, ['width', 'height']))};\n\n // overwrite maplibregl zoom control styles\n .maplibregl-ctrl-top-left {\n display: ${props => (props.showZoomControls ? 'block' : 'none')};\n position: absolute;\n top: 12px;\n left: 16px;\n .maplibregl-ctrl-group {\n width: 40px !important;\n height: 87px !important;\n border-radius: 4px;\n margin: 8px 0px;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.64), 0px 11px 18px rgba(0, 0, 0, 0.32),\n 0px 3px 6px rgba(0, 0, 0, 0.3);\n & button {\n width: 40px;\n height: 43px;\n border-top: 0;\n }\n .mapboxgl-ctrl-zoom-in .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 1C9 0.447715 8.55229 0 8 0C7.44772 0 7 0.447715 7 1V7H1C0.447715 7 0 7.44772 0 8C0 8.55229 0.447715 9 1 9H7V15C7 15.5523 7.44772 16 8 16C8.55229 16 9 15.5523 9 15V9H15C15.5523 9 16 8.55229 16 8C16 7.44772 15.5523 7 15 7H9V1Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n\n .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon {\n background-image: url('data:image/svg+xml;charset=UTF-8,<svg width=\"14\" height=\"3\" viewBox=\"0 0 14 3\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M0 1.99707C0 1.44479 0.447715 0.99707 1 0.99707H13C13.5523 0.99707 14 1.44479 14 1.99707C14 2.54936 13.5523 2.99707 13 2.99707H1C0.447715 2.99707 0 2.54936 0 1.99707Z\" fill=\"${props =>\n props.controlIconColorEncoded.color}\" fill-opacity=\"${props =>\n props.controlIconColorEncoded.opacity}\" /></svg>');\n }\n }\n }\n\n // overwrite maplibregl scale styles\n .maplibregl-ctrl-bottom-left {\n display: ${props => (props.showScale ? 'block' : 'none')};\n position: absolute;\n z-index: 0;\n bottom: 16px;\n left: 12px;\n width: 86px;\n height: 29px;\n border-radius: 4px;\n margin: 0;\n background-color: ${props => props.controlBackgroundColor};\n box-shadow: 0px 26px 103px rgba(0, 0, 0, 0.13), 0px 11px 18px rgba(0, 0, 0, 0.06),\n 0px 3px 6px rgba(0, 0, 0, 0.06);\n .maplibregl-ctrl-scale {\n background-color: ${props => props.controlBackgroundColor};\n color: ${props => props.controlForegroundColor};\n border: 2px solid ${props => props.controlForegroundColor};\n border-top: 0;\n border-left: 0;\n border-right: 0;\n padding: 0;\n margin: 6px 8px 8px 8px;\n line-height: 13px;\n letter-spacing: 0.02em;\n font-family: sans-serif;\n font-size: 10px;\n }\n }\n`;\n\nexport default PureMapContainer;\n","/* eslint-disable react/no-unused-prop-types,react/prefer-stateless-function */\nimport * as T from 'prop-types';\nimport { noop } from 'lodash';\nimport { DashboardVizProps } from './interfaces/DashboardVizProps';\nimport { DefaultVizActionHandler } from './interfaces/VizActionHandler';\n\n// this is identical to the initial height and width we use in BaseVisualization in dashboard-visualizations\nexport const INITIAL_WIDTH = 250;\nexport const INITIAL_HEIGHT = 250;\n\n/**\n * A Splunk visualization\n */\nclass SplunkVisualization {\n static propTypes: Record<keyof DashboardVizProps, T.Validator<any>> = {\n /**\n * display mode\n */\n mode: T.oneOf(['view', 'edit', 'export']).isRequired,\n /**\n * width in pixel or string, defaults to 100%\n */\n width: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * height in pixel or string\n */\n height: T.oneOfType([T.string, T.number]).isRequired,\n /**\n * visualization context used for dynamic option evaluation\n */\n context: T.object,\n /**\n * visualization formatting options\n */\n options: T.object,\n /**\n * A callback to update formatting options\n */\n onOptionsChange: T.func,\n /**\n * datasource state which include data and request params, object key indicate the datasource type.\n */\n dataSources: T.objectOf(\n T.shape({\n /**\n * current request params\n */\n requestParams: T.object,\n /**\n * current dataset\n */\n data: T.shape({\n fields: T.array,\n columns: T.array,\n }),\n /**\n * error\n */\n error: T.shape({\n level: T.string,\n message: T.string,\n }),\n /**\n * meta data that came with the dataset\n */\n meta: T.object,\n })\n ),\n /**\n * A callback to trigger event\n */\n onEventTrigger: T.func,\n /**\n * Inform viz if there are handlers listening to events\n */\n hasEventHandlers: T.bool,\n /**\n * A callback to communicate computed props to a consumer\n */\n onComputedProps: T.func,\n /**\n * A callback to obtain visualization api\n */\n vizActionHandlerRef: T.func,\n\n loading: T.bool,\n theme: T.object,\n /**\n * A callback to request new data with updated request params\n */\n onRequestParamsChange: T.func,\n };\n\n /**\n *\n */\n static defaultProps: DashboardVizProps = {\n // BaseVisualization in dashboard-visualizations uses 100% for width but 250 for height\n width: '100%',\n height: INITIAL_HEIGHT,\n dataSources: {},\n onEventTrigger: (): Record<string, unknown> => ({}),\n mode: 'view',\n hasEventHandlers: false,\n options: {},\n context: {},\n onOptionsChange: (): Record<string, unknown> => ({}),\n vizActionHandlerRef: (): DefaultVizActionHandler => new DefaultVizActionHandler(),\n onComputedProps: (): Record<string, unknown> => ({}),\n loading: false,\n onRequestParamsChange: noop,\n };\n}\n\nexport default SplunkVisualization;\n","export default \".mapboxgl-map,.maplibregl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas,.maplibregl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:fullscreen,.maplibregl-map:fullscreen{height:100%;width:100%}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass,.maplibregl-canvas-container.maplibregl-interactive,.maplibregl-ctrl-group button.maplibregl-ctrl-compass{cursor:grab;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer,.maplibregl-canvas-container.maplibregl-interactive.maplibregl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active,.maplibregl-canvas-container.maplibregl-interactive:active,.maplibregl-ctrl-group button.maplibregl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate .maplibregl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan,.maplibregl-canvas-container.maplibregl-touch-zoom-rotate.maplibregl-touch-drag-pan .maplibregl-canvas{touch-action:none}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right,.maplibregl-ctrl-bottom-left,.maplibregl-ctrl-bottom-right,.maplibregl-ctrl-top-left,.maplibregl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left,.maplibregl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top-right,.maplibregl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-bottom-left,.maplibregl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-bottom-right,.maplibregl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl,.maplibregl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl,.maplibregl-ctrl-top-left .maplibregl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top-right .mapboxgl-ctrl,.maplibregl-ctrl-top-right .maplibregl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.maplibregl-ctrl-bottom-left .maplibregl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.maplibregl-ctrl-bottom-right .maplibregl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-group,.maplibregl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty),.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px rgba(0,0,0,.1)}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty),.maplibregl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button,.maplibregl-ctrl-group button{background-color:transparent;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;padding:0;width:29px}.mapboxgl-ctrl-group button+button,.maplibregl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon,.maplibregl-ctrl button .maplibregl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon,.maplibregl-ctrl-icon{background-color:transparent}.mapboxgl-ctrl-group button+button,.maplibregl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl button::-moz-focus-inner,.maplibregl-ctrl button::-moz-focus-inner{border:0;padding:0}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus,.maplibregl-ctrl-attrib-button:focus,.maplibregl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled,.maplibregl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button:disabled .maplibregl-ctrl-icon{opacity:.25}.mapboxgl-ctrl button:not(:disabled):hover,.maplibregl-ctrl button:not(:disabled):hover{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-group button:focus:focus-visible,.maplibregl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible),.maplibregl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl-group button:focus:first-child,.maplibregl-ctrl-group button:focus:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:focus:last-child,.maplibregl-ctrl-group button:focus:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:focus:only-child,.maplibregl-ctrl-group button:focus:only-child{border-radius:inherit}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-fullscreen .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-shrink .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-compass .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl button.mapboxgl-ctrl-terrain .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-terrain .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%23333'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-terrain-enabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-terrain-enabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 22 22' fill='%2333b5e5'%3E%3Cpath d='m1.754 13.406 4.453-4.851 3.09 3.09 3.281 3.277.969-.969-3.309-3.312 3.844-4.121 6.148 6.886h1.082v-.855l-7.207-8.07-4.84 5.187L6.169 6.57l-5.48 5.965v.871ZM.688 16.844h20.625v1.375H.688Zm0 0'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-waiting .maplibregl-ctrl-icon{animation:maplibregl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-active-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate.maplibregl-ctrl-geolocate-background-error .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E\\\")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon,.maplibregl-ctrl button.maplibregl-ctrl-geolocate:disabled .maplibregl-ctrl-icon{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E\\\")}}@keyframes maplibregl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact,a.maplibregl-ctrl-logo.maplibregl-compact{width:14px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-color:transparent;background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo,a.maplibregl-ctrl-logo{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='88' height='23' fill='none'%3E%3Cpath d='M17.408 16.796h-1.827l2.501-12.095h.198l3.324 6.533.988 2.19.988-2.19 3.258-6.533h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.929 5.644h-.098l-2.914-5.644-.757-1.71-.345 1.71zm1.958-3.42-.726 3.663a1.255 1.255 0 0 1-1.232 1.011h-1.827a1.255 1.255 0 0 1-1.229-1.509l2.501-12.095a1.255 1.255 0 0 1 1.23-1.001h.197a1.255 1.255 0 0 1 1.12.685l3.19 6.273 3.125-6.263a1.255 1.255 0 0 1 1.123-.695h.181a1.255 1.255 0 0 1 1.227.991l1.443 6.71a5.11 5.11 0 0 1 .314-.787l.009-.016a4.623 4.623 0 0 1 1.777-1.887c.782-.46 1.668-.667 2.611-.667a4.548 4.548 0 0 1 1.7.32l.306.134c.21-.16.474-.256.759-.256h1.694a1.255 1.255 0 0 1 1.212.925 1.255 1.255 0 0 1 1.212-.925h1.711c.284 0 .545.094.755.252.613-.3 1.312-.45 2.075-.45 1.356 0 2.557.445 3.482 1.4.314.319.566.676.763 1.064V4.701a1.255 1.255 0 0 1 1.255-1.255h1.86A1.255 1.255 0 0 1 54.44 4.7v9.194h2.217c.19 0 .37.043.532.118v-4.77c0-.356.147-.678.385-.906a2.416 2.416 0 0 1-.682-1.71c0-.665.267-1.253.735-1.7a2.448 2.448 0 0 1 1.722-.674 2.43 2.43 0 0 1 1.705.675c.211.2.381.43.504.683V4.7a1.255 1.255 0 0 1 1.255-1.255h1.744A1.255 1.255 0 0 1 65.812 4.7v3.335a4.76 4.76 0 0 1 1.526-.246c.938 0 1.817.214 2.59.69a4.47 4.47 0 0 1 1.67 1.743v-.98a1.255 1.255 0 0 1 1.256-1.256h1.777c.233 0 .451.064.639.174a3.407 3.407 0 0 1 1.567-.372c.346 0 .861.02 1.285.232a1.255 1.255 0 0 1 .689 1.004 4.73 4.73 0 0 1 .853-.588c.795-.44 1.675-.647 2.61-.647 1.385 0 2.65.39 3.525 1.396.836.938 1.168 2.173 1.168 3.528 0 .343-.02.694-.056 1.051a1.255 1.255 0 0 1-.947 1.09l.408.952a1.255 1.255 0 0 1-.477 1.552c-.418.268-.92.463-1.458.612-.613.171-1.304.244-2.049.244-1.06 0-2.043-.207-2.886-.698l-.015-.008c-.798-.48-1.419-1.135-1.818-1.963l-.004-.008a5.815 5.815 0 0 1-.548-2.512c0-.286.017-.567.053-.843a1.255 1.255 0 0 1-.333-.086l-.166-.004c-.223 0-.426.062-.643.228-.03.024-.142.139-.142.59v3.883a1.255 1.255 0 0 1-1.256 1.256h-1.777a1.255 1.255 0 0 1-1.256-1.256V15.69l-.032.057a4.778 4.778 0 0 1-1.86 1.833 5.04 5.04 0 0 1-2.484.634 4.47 4.47 0 0 1-1.935-.424 1.252 1.252 0 0 1-.764.258h-1.71a1.255 1.255 0 0 1-1.256-1.255V7.687a2.402 2.402 0 0 1-.428.625c.253.23.412.561.412.93v7.553a1.255 1.255 0 0 1-1.256 1.255h-1.843a1.25 1.25 0 0 1-.894-.373c-.228.23-.544.373-.894.373H51.32a1.255 1.255 0 0 1-1.256-1.255v-1.251l-.061.117a4.703 4.703 0 0 1-1.782 1.884 4.767 4.767 0 0 1-2.485.67 5.6 5.6 0 0 1-1.485-.188l.009 2.764a1.255 1.255 0 0 1-1.255 1.259h-1.729a1.255 1.255 0 0 1-1.255-1.255v-3.537a1.255 1.255 0 0 1-1.167.793h-1.679a1.25 1.25 0 0 1-.77-.263 4.47 4.47 0 0 1-1.945.429c-.885 0-1.724-.21-2.495-.632l-.017-.01a4.983 4.983 0 0 1-1.081-.836 1.255 1.255 0 0 1-1.254 1.312h-1.81a1.255 1.255 0 0 1-1.228-.99l-.782-3.625-2.044 3.939a1.255 1.255 0 0 1-1.115.676h-.098a1.255 1.255 0 0 1-1.116-.68l-2.061-3.994zM35.92 16.63l.207-.114.223-.15c.329-.237.574-.499.735-.785l.061-.118.033 1.332h1.678V9.242h-1.694l-.033 1.267c-.088-.22-.264-.438-.526-.658l-.032-.028a3.16 3.16 0 0 0-.668-.428l-.27-.12a3.293 3.293 0 0 0-1.235-.23c-.757 0-1.415.163-1.974.493a3.36 3.36 0 0 0-1.3 1.382c-.297.593-.444 1.284-.444 2.074 0 .8.17 1.503.51 2.107a3.795 3.795 0 0 0 1.382 1.381 3.883 3.883 0 0 0 1.893.477c.53 0 1.015-.11 1.455-.33zm-2.789-5.38c-.384.45-.575 1.038-.575 1.762 0 .735.186 1.332.559 1.794.384.45.933.675 1.645.675a2.25 2.25 0 0 0 .934-.19 2.17 2.17 0 0 0 .468-.29l.178-.161a2.163 2.163 0 0 0 .397-.561c.163-.333.244-.717.244-1.15v-.115c0-.472-.098-.894-.296-1.267l-.043-.077a2.211 2.211 0 0 0-.633-.709l-.13-.086-.047-.028a2.099 2.099 0 0 0-1.073-.285c-.702 0-1.244.231-1.629.692zm2.316 2.706c.163-.17.28-.407.28-.83v-.114c0-.292-.06-.508-.15-.68a.958.958 0 0 0-.353-.389.851.851 0 0 0-.464-.127c-.4 0-.56.114-.664.239l-.01.012c-.148.174-.275.45-.275.945 0 .506.122.801.27.99.097.11.266.224.68.224.303 0 .504-.09.687-.269zm7.545 1.705a2.626 2.626 0 0 0 .331.423c.213.22.464.402.755.548l.173.074c.433.17.93.255 1.49.255.68 0 1.295-.165 1.844-.493a3.447 3.447 0 0 0 1.316-1.4c.329-.603.493-1.299.493-2.089 0-1.273-.33-2.243-.988-2.913-.658-.68-1.52-1.02-2.584-1.02-.598 0-1.124.115-1.575.347a2.807 2.807 0 0 0-.415.262l-.199.166a3.35 3.35 0 0 0-.64.82V9.242h-1.712v11.553h1.729l-.017-5.134zm.53-1.138c.137.193.297.36.48.5l.155.11.053.034c.34.197.713.297 1.119.297.714 0 1.262-.225 1.645-.675.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.29 0-.569.053-.835.16a2.366 2.366 0 0 0-.284.136 1.99 1.99 0 0 0-.363.254 2.237 2.237 0 0 0-.46.569l-.082.162a2.56 2.56 0 0 0-.213 1.072v.115c0 .471.098.894.296 1.267l.135.211zm.964-.818a1.11 1.11 0 0 0 .367.385.937.937 0 0 0 .476.118c.423 0 .59-.117.687-.23.159-.194.28-.478.28-.95 0-.53-.133-.8-.266-.952l-.021-.025c-.078-.094-.231-.221-.68-.221a.995.995 0 0 0-.503.135l-.012.007a.859.859 0 0 0-.335.343c-.073.133-.132.324-.132.614v.115a1.43 1.43 0 0 0 .14.66zm15.7-6.222c.232-.23.346-.516.346-.856a1.053 1.053 0 0 0-.345-.79 1.175 1.175 0 0 0-.84-.329c-.34 0-.625.11-.855.33a1.053 1.053 0 0 0-.346.79c0 .34.115.625.346.855.23.23.516.346.856.346.34 0 .62-.115.839-.346zm4.337 9.314.033-1.332c.128.269.324.518.59.747l.098.081a3.727 3.727 0 0 0 .316.224l.223.122a3.21 3.21 0 0 0 1.44.322 3.785 3.785 0 0 0 1.875-.477 3.52 3.52 0 0 0 1.382-1.366c.352-.593.526-1.29.526-2.09 0-.79-.147-1.48-.444-2.073a3.235 3.235 0 0 0-1.283-1.399c-.549-.34-1.195-.51-1.942-.51a3.476 3.476 0 0 0-1.527.344l-.086.043-.165.09a3.412 3.412 0 0 0-.33.214c-.288.21-.507.446-.656.707a1.893 1.893 0 0 0-.099.198l.082-1.283V4.701h-1.744v12.095zm.473-2.509a2.482 2.482 0 0 0 .566.7c.078.065.159.125.245.18l.144.08a2.105 2.105 0 0 0 .975.232c.713 0 1.262-.225 1.645-.675.384-.46.576-1.053.576-1.778 0-.734-.192-1.327-.576-1.777-.373-.46-.921-.692-1.645-.692a2.18 2.18 0 0 0-1.015.235c-.147.075-.285.17-.415.282l-.15.142a2.086 2.086 0 0 0-.42.594c-.149.32-.223.685-.223 1.1v.115c0 .47.097.89.293 1.26zm2.616-.293c.157-.191.28-.479.28-.967 0-.51-.13-.79-.276-.961l-.021-.026c-.082-.1-.232-.225-.67-.225a.868.868 0 0 0-.681.279l-.012.011c-.154.155-.274.38-.274.807v.115c0 .285.057.499.144.669a1.13 1.13 0 0 0 .367.405c.137.082.28.123.455.123.423 0 .59-.118.686-.23zm8.266-3.013c.23-.087.472-.134.724-.14l.069-.002c.329 0 .542.033.642.099l.247-1.794c-.13-.066-.37-.099-.717-.099a2.3 2.3 0 0 0-.545.063 2.086 2.086 0 0 0-.411.148 2.18 2.18 0 0 0-.4.249 2.482 2.482 0 0 0-.485.499 2.659 2.659 0 0 0-.32.581l-.05.137v-1.48h-1.778v7.553h1.777v-3.884c0-.364.053-.678.159-.943a1.49 1.49 0 0 1 .466-.636 2.52 2.52 0 0 1 .399-.253 2.19 2.19 0 0 1 .224-.099zm9.784 2.656.05-.922c0-1.162-.285-2.062-.856-2.698-.559-.647-1.42-.97-2.584-.97-.746 0-1.415.163-2.007.493a3.462 3.462 0 0 0-1.4 1.382c-.329.604-.493 1.306-.493 2.106 0 .714.143 1.371.428 1.975.285.593.73 1.07 1.332 1.432.604.351 1.355.526 2.255.526.649 0 1.204-.062 1.668-.185l.044-.012.135-.04c.409-.122.736-.263.984-.421l-.542-1.267c-.2.108-.415.199-.642.274l-.297.087c-.34.088-.773.131-1.3.131-.636 0-1.135-.147-1.497-.444a1.573 1.573 0 0 1-.192-.193c-.244-.294-.415-.705-.512-1.234l-.004-.021h5.43zm-5.427-1.256-.003.022h3.752v-.138c-.007-.485-.104-.857-.288-1.118a1.056 1.056 0 0 0-.156-.176c-.307-.285-.746-.428-1.316-.428-.657 0-1.155.202-1.494.604-.253.3-.417.712-.494 1.234zm-27.053 2.77V4.7h-1.86v12.095h5.333V15.15zm7.103-5.908v7.553h-1.843V9.242h1.843z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3Cpath d='m19.63 11.151-.757-1.71-.345 1.71-1.12 5.644h-1.827L18.083 4.7h.197l3.325 6.533.988 2.19.988-2.19L26.839 4.7h.181l2.6 12.095h-1.81l-1.218-5.644-.362-1.71-.658 1.71-2.93 5.644h-.098l-2.913-5.644zm14.836 5.81c-.68 0-1.311-.16-1.893-.478a3.795 3.795 0 0 1-1.381-1.382c-.34-.604-.51-1.306-.51-2.106 0-.79.147-1.482.444-2.074a3.364 3.364 0 0 1 1.3-1.382c.559-.33 1.217-.494 1.974-.494a3.293 3.293 0 0 1 1.234.231 3.341 3.341 0 0 1 .97.575c.264.22.44.439.527.659l.033-1.267h1.694v7.553H37.18l-.033-1.332c-.186.395-.526.746-1.02 1.053a3.167 3.167 0 0 1-1.662.444zm.296-1.482c.626 0 1.152-.214 1.58-.642.428-.44.642-1.01.642-1.711v-.115c0-.472-.098-.894-.296-1.267a2.211 2.211 0 0 0-.807-.872 2.098 2.098 0 0 0-1.119-.313c-.702 0-1.245.231-1.629.692-.384.45-.575 1.037-.575 1.76 0 .736.186 1.333.559 1.795.384.45.933.675 1.645.675zm6.521-6.237h1.711v1.4c.604-1.065 1.547-1.597 2.83-1.597 1.064 0 1.926.34 2.584 1.02.659.67.988 1.641.988 2.914 0 .79-.164 1.487-.493 2.09a3.456 3.456 0 0 1-1.316 1.399 3.51 3.51 0 0 1-1.844.493c-.636 0-1.19-.11-1.662-.329a2.665 2.665 0 0 1-1.086-.97l.017 5.134h-1.728V9.242zm4.048 6.22c.714 0 1.262-.224 1.645-.674.385-.46.576-1.048.576-1.762 0-.746-.192-1.338-.576-1.777-.372-.45-.92-.675-1.645-.675-.395 0-.768.098-1.12.296-.34.187-.613.46-.822.823-.197.351-.296.763-.296 1.234v.115c0 .472.098.894.296 1.267.209.362.483.647.823.855.34.197.713.297 1.119.297z' fill='%23fff'/%3E%3Cpath d='M51.325 4.7h1.86v10.45h3.473v1.646h-5.333zm7.12 4.542h1.843v7.553h-1.843zm.905-1.415a1.159 1.159 0 0 1-.856-.346 1.165 1.165 0 0 1-.346-.856 1.053 1.053 0 0 1 .346-.79c.23-.219.516-.329.856-.329.329 0 .609.11.839.33a1.053 1.053 0 0 1 .345.79 1.159 1.159 0 0 1-.345.855c-.22.23-.5.346-.84.346zm7.875 9.133a3.167 3.167 0 0 1-1.662-.444c-.482-.307-.817-.658-1.004-1.053l-.033 1.332h-1.71V4.701h1.743v4.657l-.082 1.283c.186-.438.548-.812 1.086-1.119a3.486 3.486 0 0 1 1.778-.477c.746 0 1.393.17 1.942.51a3.235 3.235 0 0 1 1.283 1.4c.297.592.444 1.282.444 2.072 0 .8-.175 1.498-.526 2.09a3.52 3.52 0 0 1-1.382 1.366 3.785 3.785 0 0 1-1.876.477zm-.296-1.481c.713 0 1.26-.225 1.645-.675.384-.46.577-1.053.577-1.778 0-.734-.193-1.327-.577-1.776-.373-.46-.921-.692-1.645-.692a2.115 2.115 0 0 0-1.58.659c-.428.428-.642.992-.642 1.694v.115c0 .473.098.895.296 1.267a2.385 2.385 0 0 0 .807.872 2.1 2.1 0 0 0 1.119.313zm5.927-6.237h1.777v1.481c.176-.505.46-.91.856-1.217a2.14 2.14 0 0 1 1.349-.46c.351 0 .593.032.724.098l-.247 1.794c-.099-.066-.313-.099-.642-.099-.516 0-.988.164-1.416.494-.417.329-.626.855-.626 1.58v3.883h-1.777V9.242zm9.534 7.718c-.9 0-1.651-.175-2.255-.526-.603-.362-1.047-.84-1.332-1.432a4.567 4.567 0 0 1-.428-1.975c0-.8.164-1.502.493-2.106a3.462 3.462 0 0 1 1.4-1.382c.592-.33 1.262-.494 2.007-.494 1.163 0 2.024.324 2.584.97.57.637.856 1.537.856 2.7 0 .296-.017.603-.05.92h-5.43c.12.67.356 1.153.708 1.45.362.296.86.443 1.497.443.526 0 .96-.044 1.3-.131a4.123 4.123 0 0 0 .938-.362l.542 1.267c-.274.175-.647.329-1.119.46-.472.132-1.042.197-1.711.197zm1.596-4.558c.01-.68-.137-1.158-.444-1.432-.307-.285-.746-.428-1.316-.428-1.152 0-1.815.62-1.991 1.86h3.752z' fill='%23e1e3e9'/%3E%3Cg fill-rule='evenodd' stroke-width='1.036'%3E%3Cpath d='m8.166 16.146-.002.002a1.54 1.54 0 0 1-2.009 0l-.002-.002-.043-.034-.002-.002-.199-.162H4.377a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659H8.411l-.202.164zm-1.121-.905a.29.29 0 0 0 .113.023.286.286 0 0 0 .189-.07l.077-.063c.634-.508 4.672-3.743 4.672-7.575 0-2.55-2.215-4.625-4.938-4.625S2.221 5.006 2.221 7.556c0 3.225 2.86 6.027 4.144 7.137h.004l.04.038.484.4.077.063a.628.628 0 0 0 .074.047zm-2.52-.548a16.898 16.898 0 0 1-1.183-1.315C2.187 11.942.967 9.897.967 7.555c0-3.319 2.855-5.88 6.192-5.88 3.338 0 6.193 2.561 6.193 5.881 0 2.34-1.22 4.387-2.376 5.822a16.898 16.898 0 0 1-1.182 1.315h.15a1.912 1.912 0 0 1 1.914 1.914v1.84a1.912 1.912 0 0 1-1.914 1.914H4.377a1.912 1.912 0 0 1-1.914-1.914v-1.84a1.912 1.912 0 0 1 1.914-1.914zm3.82-6.935c0 .692-.55 1.222-1.187 1.222s-1.185-.529-1.185-1.222.548-1.222 1.185-1.222c.638 0 1.186.529 1.186 1.222zm-1.186 2.477c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477zm2.048 7.71H5.114v-.838h4.093z' fill='%23000' fill-opacity='.4'/%3E%3Cpath d='M2.222 7.555c0-2.55 2.214-4.625 4.937-4.625 2.723 0 4.938 2.075 4.938 4.625 0 3.832-4.038 7.068-4.672 7.575l-.077.063a.286.286 0 0 1-.189.07.286.286 0 0 1-.188-.07l-.077-.063c-.634-.507-4.672-3.743-4.672-7.575zm4.937 2.68c1.348 0 2.442-1.11 2.442-2.478S8.507 5.28 7.159 5.28 4.72 6.39 4.72 7.758s1.092 2.477 2.44 2.477z' fill='%23e1e3e9'/%3E%3Cpath d='M4.377 15.948a.657.657 0 0 0-.659.659v1.84a.657.657 0 0 0 .659.659h5.565a.657.657 0 0 0 .659-.659v-1.84a.657.657 0 0 0-.659-.659zm4.83 1.16H5.114v.838h4.093z' fill='%23fff'/%3E%3C/g%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib,.maplibregl-ctrl.maplibregl-ctrl-attrib{background-color:hsla(0,0%,100%,.5);margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact,.maplibregl-ctrl-attrib.maplibregl-compact{background-color:#fff;border-radius:12px;box-sizing:content-box;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-attrib.maplibregl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact-show,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib-button{background-color:hsla(0,0%,100%,.5);background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button{appearance:none;list-style:none}.maplibregl-ctrl-attrib summary.maplibregl-ctrl-attrib-button::-webkit-details-marker{display:none}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-bottom-left .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-top-left .maplibregl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner,.maplibregl-ctrl-attrib.maplibregl-compact .maplibregl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button,.maplibregl-ctrl-attrib.maplibregl-compact-show .maplibregl-ctrl-attrib-button{background-color:rgb(0 0 0/5%)}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-right>.maplibregl-ctrl-attrib.maplibregl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-top-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-bottom-left>.maplibregl-ctrl-attrib.maplibregl-compact:after{bottom:0;left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after,.maplibregl-ctrl-attrib.maplibregl-compact:after{background-image:url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E\\\")}}.mapboxgl-ctrl-attrib a,.maplibregl-ctrl-attrib a{color:rgba(0,0,0,.75);text-decoration:none}.mapboxgl-ctrl-attrib a:hover,.maplibregl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-attrib-empty,.maplibregl-attrib-empty{display:none}.mapboxgl-ctrl-scale,.maplibregl-ctrl-scale{background-color:hsla(0,0%,100%,.75);border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px}.mapboxgl-popup,.maplibregl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right,.maplibregl-popup-anchor-top,.maplibregl-popup-anchor-top-left,.maplibregl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right,.maplibregl-popup-anchor-bottom,.maplibregl-popup-anchor-bottom-left,.maplibregl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left,.maplibregl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right,.maplibregl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip,.maplibregl-popup-tip{border:10px solid transparent;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip,.maplibregl-popup-anchor-top .maplibregl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-left .maplibregl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-top-right .maplibregl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip,.maplibregl-popup-anchor-left .maplibregl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip,.maplibregl-popup-anchor-right .maplibregl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button,.maplibregl-popup-close-button{background-color:transparent;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover,.maplibregl-popup-close-button:hover{background-color:rgb(0 0 0/5%)}.mapboxgl-popup-content,.maplibregl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px rgba(0,0,0,.1);padding:15px 10px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content,.maplibregl-popup-anchor-top-left .maplibregl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content,.maplibregl-popup-anchor-top-right .maplibregl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-left .maplibregl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content,.maplibregl-popup-anchor-bottom-right .maplibregl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer,.maplibregl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *,.maplibregl-popup-track-pointer *{pointer-events:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer,.maplibregl-map:hover .maplibregl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer,.maplibregl-map:active .maplibregl-popup-track-pointer{display:none}.mapboxgl-marker,.maplibregl-marker{left:0;position:absolute;top:0;will-change:transform}.mapboxgl-user-location-dot,.maplibregl-user-location-dot{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before,.maplibregl-user-location-dot:before{animation:maplibregl-user-location-dot-pulse 2s infinite;background-color:#1da1f2;border-radius:50%;content:\\\"\\\";height:15px;position:absolute;width:15px}.mapboxgl-user-location-dot:after,.maplibregl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px rgba(0,0,0,.35);box-sizing:border-box;content:\\\"\\\";height:19px;left:-2px;position:absolute;top:-2px;width:19px}@keyframes maplibregl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale,.maplibregl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after,.maplibregl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle,.maplibregl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active,.maplibregl-crosshair,.maplibregl-crosshair .maplibregl-interactive,.maplibregl-crosshair .maplibregl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom,.maplibregl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}.maplibregl-cooperative-gesture-screen{align-items:center;background:rgba(0,0,0,.4);bottom:0;color:#fff;display:flex;font-size:1.4em;justify-content:center;left:0;line-height:1.2;opacity:0;padding:1rem;pointer-events:none;position:absolute;right:0;top:0;transition:opacity 1s ease 1s}.maplibregl-cooperative-gesture-screen.maplibregl-show{opacity:1;transition:opacity .05s}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:none}@media (hover:none),(max-width:480px){.maplibregl-cooperative-gesture-screen .maplibregl-desktop-message{display:none}.maplibregl-cooperative-gesture-screen .maplibregl-mobile-message{display:block}}\";","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport BubbleLayer from './BubbleLayer';\nimport MarkerLayer from './MarkerLayer';\nimport type { ClusterLayerType, BubbleLayerType, MarkerLayerType } from './MapUtils';\nimport { LAYER_TYPE } from './MapUtils';\n\ninterface ClusterLayerProps {\n clusterLayer: ClusterLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n zoom?: number;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst ClusterLayer = ({\n clusterLayer,\n themeColorScheme,\n zoom,\n map,\n onMapClick,\n}: ClusterLayerProps): JSX.Element => {\n if (map?.current?.isStyleLoaded && [clusterLayer.longitude, clusterLayer.latitude].every(Array.isArray)) {\n if (clusterLayer?.type === LAYER_TYPE.Marker && !('geobin' in clusterLayer)) {\n return (\n <MarkerLayer\n markerLayer={clusterLayer as MarkerLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n onMapClick={onMapClick}\n />\n );\n }\n if (\n clusterLayer?.type === LAYER_TYPE.Bubble &&\n 'geobin' in clusterLayer &&\n 'bubbleSize' in clusterLayer\n ) {\n return (\n <BubbleLayer\n bubbleLayer={clusterLayer as BubbleLayerType}\n themeColorScheme={themeColorScheme}\n map={map}\n zoom={zoom}\n onMapClick={onMapClick}\n />\n );\n }\n }\n return null;\n};\n\nexport default ClusterLayer;\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport Popover from '@splunk/react-ui/Popover';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nconst StyledPopover = styled(Popover)`\n width: 250px;\n font-size: 12px;\n`;\n\nconst StyledTable = styled.table`\n margin: 2px 6px 2px 6px;\n width: calc(100% - 12px);\n`;\n\nconst StyledTitleColumn = styled.td`\n opacity: 0.85;\n`;\n\nconst StyledValueColumn = styled.td`\n text-align: right;\n`;\n\nconst StyledColorBlock = styled.div`\n background-color: ${props => props.color};\n display: inline-block;\n margin-right: 4px;\n border-radius: 2px;\n width: 6px;\n height: 11px;\n transform: translateY(1px);\n`;\n\nexport const convertDegToDMS = (decimalDegree: number, type: 'latitude' | 'longitude'): string => {\n const truncate = n => (n > 0 ? Math.floor(n) : Math.ceil(n));\n const absoluteDegree = Math.abs(decimalDegree);\n let degrees = truncate(absoluteDegree);\n let minutes = truncate((absoluteDegree - degrees) * 60);\n let seconds = Math.round((absoluteDegree - degrees - minutes / 60) * 3600);\n if (seconds === 60) {\n minutes += 1;\n seconds = 0;\n }\n if (minutes === 60) {\n degrees += 1;\n minutes = 0;\n }\n let direction: string;\n if (type === 'longitude') {\n direction = decimalDegree < 0 ? 'W' : 'E';\n } else if (type === 'latitude') {\n direction = decimalDegree < 0 ? 'S' : 'N';\n }\n return `${degrees}° ${minutes}' ${seconds}\" ${direction}`;\n};\n\nexport interface TooltipProps {\n open?: boolean;\n anchor?: HTMLElement;\n latitude?: number;\n longitude?: number;\n areaId?: string;\n areaValue?: number;\n additionalFields?: Array<{ name: string; value: number | string; color?: string }>;\n}\n// only want latitude/longitude for marker and bubble\n// omit for choropleth, and put areaid, areavalue instead\nconst Tooltip = ({\n open,\n anchor,\n latitude,\n longitude,\n areaId,\n areaValue,\n additionalFields = [],\n}: TooltipProps): JSX.Element => (\n <StyledPopover open={open} anchor={anchor} data-test=\"map-marker-tooltip\" defaultPlacement=\"above\">\n <StyledTable>\n <tbody>\n {areaId && areaValue && (\n <tr>\n <StyledTitleColumn data-test=\"area-id\">{areaId}</StyledTitleColumn>\n <StyledValueColumn data-test=\"area-value\">{areaValue}</StyledValueColumn>\n </tr>\n )}\n {latitude && (\n <tr>\n <StyledTitleColumn>{_('Latitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"latitude\">\n {convertDegToDMS(latitude, 'latitude')}\n </StyledValueColumn>\n </tr>\n )}\n {longitude && (\n <tr>\n <StyledTitleColumn>{_('Longitude')}</StyledTitleColumn>\n <StyledValueColumn data-test=\"longitude\">\n {convertDegToDMS(longitude, 'longitude')}\n </StyledValueColumn>\n </tr>\n )}\n {additionalFields.map(({ name, value, color }, index) => (\n <tr key={String(index)}>\n <StyledTitleColumn data-test=\"field-title\">\n {color ? <StyledColorBlock data-test=\"field-color\" color={color} /> : null}\n {name}\n </StyledTitleColumn>\n <StyledValueColumn data-test=\"field-value\">{value}</StyledValueColumn>\n </tr>\n ))}\n </tbody>\n </StyledTable>\n </StyledPopover>\n);\n\nexport default Tooltip;\n","import styled from 'styled-components';\nimport { Map } from 'maplibre-gl';\nimport * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { noop } from 'lodash';\nimport { DEFAULT_CLUSTER_COLOR, DEFAULT_RESULT_LIMIT, DEFAULT_SERIES_COLORS } from './MapUtils';\nimport type { MarkerLayerType } from './MapUtils';\nimport MarkerWrapper from './MarkerWrapper';\nimport type { TooltipProps } from './Tooltip';\n\ninterface MarkerIconProps extends React.HTMLAttributes<HTMLOrSVGElement> {\n theme: string;\n color: string;\n}\n\nexport const MarkerIcon = ({ theme, color, ...otherProps }: MarkerIconProps): JSX.Element => {\n const strokeOpacity = theme === 'light' ? 0.7 : 0.15;\n return (\n <svg width={22} height={28} fill=\"none\" {...otherProps}>\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n fill={color}\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke=\"#08090A\"\n />\n <path\n d=\"M11 .5C5.201.5.5 5.201.5 11c0 3.136 1.376 5.952 3.555 7.875 2.839 2.506 4.144 4.58 4.893 6.02.183.35.334.665.469.946l.014.03c.136.285.263.548.387.766.235.412.571.863 1.182.863.61 0 .947-.45 1.182-.863.124-.218.25-.48.387-.765l.014-.03c.135-.282.286-.597.469-.947.75-1.44 2.054-3.514 4.893-6.02A10.476 10.476 0 0 0 21.5 11C21.5 5.201 16.799.5 11 .5Z\"\n stroke={color}\n strokeOpacity={strokeOpacity}\n />\n </svg>\n );\n};\n\ninterface MarkerProps {\n latitude: number;\n longitude: number;\n color: string;\n themeColorScheme: string;\n additionalFields?: TooltipProps['additionalFields'];\n map: React.MutableRefObject<Map>;\n handleLayerClick?: (e) => void;\n}\n\nconst Marker = React.memo(\n ({\n latitude,\n longitude,\n color,\n themeColorScheme,\n map,\n additionalFields,\n handleLayerClick,\n }: MarkerProps): JSX.Element => {\n const icon = React.useMemo(\n () => <MarkerIcon color={color} theme={themeColorScheme} onClick={handleLayerClick} />,\n [color, handleLayerClick, themeColorScheme]\n );\n return (\n <StyledMarkerWrapper\n latitude={latitude}\n longitude={longitude}\n map={map}\n additionalFields={additionalFields}\n data-test-type=\"marker\"\n >\n {icon}\n </StyledMarkerWrapper>\n );\n }\n);\n\nMarker.displayName = 'MapMarker';\n\nconst StyledMarkerWrapper = styled(MarkerWrapper)`\n width: 22px;\n height: 28px;\n cursor: pointer;\n`;\n\nexport const generateMarkerWrapperProps = (\n markerLayer: MarkerLayerType,\n onMapClick: ({ e, payload }) => void = noop\n): Omit<MarkerProps, 'themeColorScheme' | 'map'>[] => {\n const latArray = markerLayer.latitude;\n const lonArray = markerLayer.longitude;\n const isStaticColor = !markerLayer.dataColors;\n const limit = Math.min(\n latArray.length,\n lonArray.length,\n markerLayer.resultLimit ? markerLayer.resultLimit : DEFAULT_RESULT_LIMIT\n );\n const markerProps: ReturnType<typeof generateMarkerWrapperProps> = [];\n for (let i = 0; i < limit; i += 1) {\n const staticColor =\n markerLayer.seriesColors && isColor(markerLayer.seriesColors[0])\n ? markerLayer.seriesColors[0]\n : DEFAULT_CLUSTER_COLOR;\n const dynamicColor =\n markerLayer.dataColors && isColor(markerLayer.dataColors[i])\n ? markerLayer.dataColors[i]\n : DEFAULT_CLUSTER_COLOR;\n const color = isStaticColor ? staticColor : dynamicColor;\n const additionalFields = markerLayer.metadata\n ? markerLayer.additionalTooltipFields.map(field => ({\n name: field,\n value: markerLayer.metadata[i][field],\n }))\n : [];\n const handleLayerClick = e => {\n const metadata = markerLayer?.metadata[i] ?? {};\n const payload = Object.keys(metadata).reduce((acc, curr) => {\n const key = `row.${curr}.value`;\n const value = String(metadata[curr]);\n return { ...acc, [key]: value };\n }, {});\n\n onMapClick({ e, payload });\n };\n markerProps.push({\n latitude: latArray[i],\n longitude: lonArray[i],\n color,\n additionalFields,\n handleLayerClick,\n });\n }\n return markerProps;\n};\n\nexport interface MarkerLayerProps {\n markerLayer: MarkerLayerType;\n themeColorScheme: string;\n map: React.MutableRefObject<Map>;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst MarkerLayer = (props: MarkerLayerProps): JSX.Element => {\n const { map, themeColorScheme, markerLayer, onMapClick } = props;\n markerLayer.seriesColors = markerLayer.seriesColors || DEFAULT_SERIES_COLORS;\n const markerPropsList = React.useMemo(() => generateMarkerWrapperProps(markerLayer, onMapClick), [\n markerLayer,\n onMapClick,\n ]);\n\n return (\n <>\n {markerPropsList.map((markerProps, i) => (\n <Marker key={String(i)} themeColorScheme={themeColorScheme} map={map} {...markerProps} />\n ))}\n </>\n );\n};\n\nexport default MarkerLayer;\n","import * as React from 'react';\nimport type { Map } from 'maplibre-gl';\nimport Message from '@splunk/visualizations-shared/Message';\nimport GeoRegistry from '@splunk/visualization-context/GeoRegistry';\nimport GeoJsonProvider from '@splunk/visualization-context/GeoJsonProvider';\nimport { ChoroplethLayerType, getScaledOpacities, formatMetadata } from './MapUtils';\nimport { Choropleth } from './ChoroplethLayer';\n\ninterface ChoroplethLayerProps {\n width: number | string;\n height: number | string;\n choroplethLayer: ChoroplethLayerType;\n map: React.MutableRefObject<Map>;\n isThemeChanged: boolean;\n setIsThemeChanged: (isThemeChanged: boolean) => void;\n onMapClick?: ({ e, payload }) => void;\n}\n\nconst LocalChoroplethLayer = (props: ChoroplethLayerProps): JSX.Element => {\n const { width, height, map, choroplethLayer, isThemeChanged, setIsThemeChanged, onMapClick } = props;\n const cfgOpacity = Math.min(Math.max(choroplethLayer?.choroplethOpacity, 0), 1);\n const [geoJson, setGeoJson] = React.useState({ features: [{ properties: { name: '' }, geometry: [] }] });\n const [validGeoJson, setValidGeoJson] = React.useState(true);\n const [geoJsonError, setGeoJsonError] = React.useState({ level: 'info', message: '' });\n\n // load local geoJson registry data\n React.useEffect(() => {\n let geoJsonData;\n const geoRegistry = GeoRegistry.create();\n geoRegistry.addDefaultProvider(new GeoJsonProvider());\n try {\n geoJsonData = geoRegistry.getByURL(choroplethLayer.source);\n setGeoJson(geoJsonData);\n setValidGeoJson(true);\n } catch (e) {\n setGeoJsonError(e);\n setValidGeoJson(false);\n }\n }, [choroplethLayer.source]);\n\n const updatedPropertyFormat = React.useMemo(() => {\n let propertyFormat = 'name';\n if (choroplethLayer.areaIds && validGeoJson) {\n const propertyFormats = Object.keys(geoJson.features[0].properties);\n\n // check the state or country format used in dataSource\n /* Accepted format for countries: \n \"properties\": \n {\n \"iso2\": \"AM\",\n \"iso3\": \"ARM\",\n \"name\": \"Armenia\"\n }\n\n Accepted format for US States:\n \"properties\": \n {\n \"iso_3166_2\": \"US-MI\",\n \"postal\": \"MI\",\n \"name\": \"Michigan\",\n \"label_en\": \"Michigan\"\n },\n */\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const shapeProperty = geoJson.features[idx].properties;\n const formatCheck = propertyFormats.find(\n key => shapeProperty[key] === choroplethLayer.areaIds[0]\n );\n\n if (formatCheck !== undefined) {\n propertyFormat = formatCheck;\n break;\n }\n }\n }\n return propertyFormat;\n }, [choroplethLayer.areaIds, geoJson]);\n\n const colors = choroplethLayer?.dataColors?.map(color => (color?.length > 7 ? color.slice(0, 7) : color));\n const scaledOpacities = getScaledOpacities(choroplethLayer?.dataColors, cfgOpacity) ?? [];\n\n const updatedAllChoroplethData = React.useMemo(() => {\n const allChoroplethData = [];\n if (validGeoJson) {\n for (let idx = 0; idx < geoJson.features.length; idx += 1) {\n const el = geoJson.features[idx];\n\n const choroplethData: {\n color: string;\n areaValue: string | number;\n opacity: number;\n name: string;\n idx: number;\n } = {\n color: choroplethLayer.choroplethEmptyAreaColor,\n areaValue: 'No Data',\n opacity: cfgOpacity,\n name: '',\n idx: 0,\n };\n\n choroplethData.name = el.properties[updatedPropertyFormat];\n // check whether dataSource exists\n if (choroplethLayer.areaIds) {\n // store the postion of dataSource in geoJson\n const dataIdx = choroplethLayer.areaIds.indexOf(el.properties[updatedPropertyFormat]);\n if (dataIdx !== -1) {\n choroplethData.color = colors[dataIdx];\n choroplethData.areaValue = choroplethLayer.areaValues[dataIdx];\n choroplethData.opacity = scaledOpacities[dataIdx];\n choroplethData.idx = dataIdx;\n } else {\n choroplethData.idx = choroplethLayer.areaIds.length;\n }\n }\n allChoroplethData.push(choroplethData);\n }\n }\n return allChoroplethData;\n }, [choroplethLayer.areaIds, choroplethLayer.areaValues, colors, scaledOpacities]);\n\n const handleMapClick = (e, i) => {\n const payload = formatMetadata(choroplethLayer, i);\n onMapClick({ e, payload });\n };\n\n if (isThemeChanged) {\n setIsThemeChanged(false);\n }\n\n const additionalFields = choroplethLayer?.metadata\n ? choroplethLayer.metadata.map(choroplethMetadata =>\n choroplethLayer.additionalTooltipFields?.map(field => ({\n name: field,\n value: choroplethMetadata[field],\n }))\n )\n : [];\n\n return (\n <div>\n {!validGeoJson && (\n <Message\n data-test=\"choropleth-message\"\n width={width}\n height={height}\n level={geoJsonError.level}\n message={geoJsonError.message}\n />\n )}\n {validGeoJson &&\n updatedAllChoroplethData.map((el, i) => {\n return (\n <Choropleth\n key={el.name}\n id={el.name}\n map={map}\n color={el.color}\n opacity={el.opacity}\n strokeColor={choroplethLayer.choroplethStrokeColor}\n areaId={el.name}\n areaValue={el.areaValue}\n handleMapClick={e => handleMapClick(e, el.idx)}\n isThemeChanged={isThemeChanged}\n geomData={geoJson.features[i].geometry}\n additionalFields={additionalFields[el.idx]}\n />\n );\n })}\n </div>\n );\n};\n\nexport default LocalChoroplethLayer;\n","module.exports = require(\"@splunk/visualization-context/GeoRegistry\");","module.exports = require(\"@splunk/visualization-context/GeoJsonProvider\");","import { Map as MapIcon } from '@splunk/visualization-icons';\nimport { Map as MapPlaceholderIcon } from '@splunk/visualization-icons/placeholders';\nimport { getPattern, COLOR_OR_TOKEN_PATTERN_WITH_RGBA } from '@splunk/visualizations-shared/schemaUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { pick, variables } from '@splunk/themes';\nimport { _ } from '@splunk/ui-utils/i18n';\n\nimport { DataContract } from '../common/interfaces/DataContract';\nimport { DefaultContext } from '../common/interfaces/DefaultContext';\nimport { EditorConfig } from '../common/interfaces/Editor';\nimport { OptionsSchema } from '../common/interfaces/OptionsSchema';\nimport { ThemedDefaults } from '../common/interfaces/ThemedDefaults';\nimport { VizBehavior } from '../common/interfaces/VizBehavior';\nimport { VizCategory } from '../common/interfaces/VizCategory';\nimport { VizConfig } from '../common/interfaces/VizConfig';\nimport { VizSize } from '../common/interfaces/VizSize';\nimport { enhanceConfig } from '../common/utils/configUtils';\nimport { LAYER_TYPE } from './PureMap/MapUtils';\nimport getBackgroundColorEditor from '../common/editorConfig/BackgroundColor';\n\nconst defaultContext: DefaultContext = {\n colorRangeConfig: [\n { to: 20, value: '#D41F1F' },\n { from: 20, to: 40, value: '#D94E17' },\n { from: 40, to: 60, value: '#CBA700' },\n { from: 60, to: 80, value: '#669922' },\n { from: 80, value: '#118832' },\n ],\n};\n\nconst dataContract: DataContract = {\n requiredDataSources: [],\n optionalDataSources: [\n {\n name: 'primary',\n description: 'DataSource that powers the visualization.',\n },\n ],\n initialRequestParams: {\n primary: { offset: 0, count: 10000 },\n },\n};\n\nconst size: VizSize = {\n initialWidth: 800,\n initialHeight: 600,\n};\n\nconst optionsSchema: OptionsSchema = {\n backgroundColor: {\n default: '> themes.defaultBackgroundColor',\n description:\n 'Specify a color for the background. You might use a dataSource to apply the color. The default for enterprise light is \"#FFFFFF\". The default for enterprise dark is \"#000000\". The default for prisma dark is \"#0B0C0E\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n },\n baseLayerTileServer: {\n type: 'string',\n description: 'Specify the URL for the set of tiles that make up the base map.',\n },\n baseLayerTileServerType: {\n type: 'string',\n description: 'Specify the type of tile set for the base map.',\n pattern: getPattern(['vector', 'raster']),\n },\n center: {\n type: 'array',\n description:\n 'Specify the center of the map in coordinates, in the form of [latitude, longitude]. If you don’t provide coordinates, the map automatically centers, based on available location data. If there is no available location data, the center of the map defaults to [37.7749, -122.4194].',\n items: { type: 'number' },\n },\n layers: {\n // The option merging of defaults and data binding with editing UI happens with the default defined below.\n // The inner defaults for properties within anyOf objects is used only for code intellisense in UDF to populate options.\n default: [\n {\n type: LAYER_TYPE.Bubble,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n bubbleSize:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Marker,\n latitude: '> primary | seriesByName(\"latitude\")',\n longitude: '> primary | seriesByName(\"longitude\")',\n seriesColors: VIZ_CATEGORICAL,\n additionalTooltipFields: [],\n resultLimit: 1000,\n },\n {\n type: LAYER_TYPE.Choropleth,\n areaIds: '> primary | seriesByType(\"string\")',\n areaValues: '> primary | seriesByType(\"number\")',\n dataColors: '> areaValues | gradient()',\n additionalTooltipFields: [],\n resultLimit: 1000,\n choroplethEmptyAreaColor: '> themes.defaultChoroplethEmptyAreaColor',\n choroplethStrokeColor: 'transparent',\n choroplethOpacity: 0.8,\n },\n ],\n type: 'array',\n description:\n 'Specify the optional data visualization layers over the base map. If empty, only the base map appears.',\n items: {\n anyOf: [\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Marker,\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\". If type: \"bubble\", dataColors requires bubbleSize to have only a single series configured.',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Choropleth,\n },\n areaIds: {\n description:\n 'Specify a dataSource series to identify each area in the choropleth map layer. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'string' },\n default: '> primary | seriesByType(\"string\")',\n },\n areaValues: {\n description:\n 'Specify a dataSource series that indicates the values for the choropleth map areas. This applies to layers where type: \"choropleth\".',\n type: 'array',\n items: { type: 'number' },\n default: '> primary | seriesByType(\"number\")',\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default. By default, the dataColors option is not defined for type \"bubble\" or \"marker\".',\n type: ['string', 'array'],\n items: { type: 'string' },\n default: '> areaValues | gradient()',\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n source: {\n description:\n 'Source for the geodata for choropleth layer: \"us\" or \"world\", and will override data specified in the SPL geom command.',\n pattern: getPattern(['geo://default/us', 'geo://default/world']),\n type: 'string',\n },\n choroplethEmptyAreaColor: {\n description:\n 'Specify the color used for empty choropleth areas when \"type\": \"choropleth\", and will only work when \"source\" option is correctly configured.',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: '> themes.defaultChoroplethEmptyAreaColor',\n },\n choroplethStrokeColor: {\n description:\n 'Specify the stroke color for choropleth area outlines. The hex value format should be \"#FFFFFF\".',\n pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA,\n type: 'string',\n default: 'transparent',\n },\n choroplethOpacity: {\n description:\n 'Specify the opacity of choropleth areas. Choose a number in the range of 0 - 1 (inclusive). You can also express the value as a percentage. For example, \"0.8\" in code or \"80%\" in UI.',\n type: 'number',\n default: 0.8,\n },\n },\n },\n {\n type: 'object',\n properties: {\n type: {\n description:\n 'Specify the type of data layer method to display points on the map. For example, “bubble”, “marker”, or \"choropleth\".',\n type: 'string',\n pattern: getPattern([\n LAYER_TYPE.Marker,\n LAYER_TYPE.Bubble,\n LAYER_TYPE.Choropleth,\n ]),\n default: LAYER_TYPE.Bubble,\n },\n bubbleSize: {\n description:\n 'Specify the data column to encode bubble size. This applies to layers where type: \"bubble\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default:\n '> primary | frameWithoutSeriesNames(\"geobin\", \"latitude\", \"longitude\") | frameBySeriesTypes(\"number\")',\n },\n latitude: {\n description:\n 'Specify a dataSource series to apply latitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"latitude\")',\n },\n longitude: {\n description:\n 'Specify a dataSource series to apply longitude coordinates for data points displayed on the map. This applies to layers where type: \"bubble\" or type: \"marker\".',\n type: ['string', 'array'],\n items: { type: 'number' },\n default: '> primary | seriesByName(\"longitude\")',\n },\n seriesColors: {\n description:\n 'Specify the colors to use for data points. If the dataColors option is specified, the seriesColors option is ignored. The seriesColors option applies to layers where type: \"bubble\" or type: \"marker\".',\n type: 'array',\n items: { type: 'string', pattern: COLOR_OR_TOKEN_PATTERN_WITH_RGBA },\n default: VIZ_CATEGORICAL,\n },\n dataColors: {\n description:\n 'Specify the colors to use for data points. You can use an array of colors to be picked from, or you can use a dataSource to apply dynamic coloring. For example, “> primary | seriesByName(\"status\") | matchValue(colorMatchConfig)”. When type: \"choropleth\", dataColors is defined by default, and the opacities are shown at 80% of maximum to allow textual information to be visible in the map. By default, the dataColors option is not defined for type \"bubble\" or \"marker\". If type: \"bubble\", dataColors requires bubbleSize to have only a single series configured.',\n type: ['string', 'array'],\n items: { type: 'string' },\n },\n additionalTooltipFields: {\n description:\n 'Specify the fields to add to the default set of tooltips. Tooltips appear when you hover over data points. These fields and their corresponding values are shown in addition to the ones displayed by default.',\n type: 'array',\n items: { type: 'string' },\n default: [],\n },\n resultLimit: {\n description:\n 'Specify the maximum number of data points to render on the map. Adjust the value to improve performance.',\n type: 'number',\n default: 1000,\n },\n },\n },\n ],\n },\n },\n scaleUnit: {\n default: 'metric',\n type: 'string',\n description: 'Specify the scale unit to use.',\n pattern: getPattern(['metric', 'imperial']),\n },\n showBaseLayer: {\n default: true,\n type: 'boolean',\n description: 'Specify if showing the base map.',\n },\n showScale: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the scale on the bottom left.',\n },\n showZoomControls: {\n default: true,\n type: 'boolean',\n description: 'Specify whether to display the control panel of zoom on the top left.',\n },\n zoom: {\n description: 'Specify the zoom level of the map.',\n type: 'number',\n },\n};\n\nconst themes: ThemedDefaults = {\n defaultBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.black(props),\n light: variables.backgroundColor(props),\n },\n prisma: variables.backgroundColorSidebar(props),\n })(props),\n controlBackgroundColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.white(props),\n },\n prisma: variables.backgroundColorPopup(props),\n })(props),\n controlForegroundColor: props =>\n pick({\n enterprise: variables.textColor(props),\n prisma: variables.contentColorDefault(props),\n })(props),\n defaultChoroplethEmptyAreaColor: props =>\n pick({\n enterprise: {\n dark: variables.gray22(props),\n light: variables.gray92(props),\n },\n prisma: {\n dark: variables.interactiveColorBackground(props),\n light: variables.neutral300(props),\n },\n })(props),\n defaultGradientMigrationConfig: props =>\n pick({\n enterprise: {\n dark: ['#4D4A5D', variables.syntaxPurple(props)],\n light: ['#D2CFDC', variables.syntaxPurple(props)],\n },\n prisma: {\n dark: ['#484558', variables.syntaxPurple(props)],\n light: ['#D8D4E1', variables.syntaxPurple(props)],\n },\n })(props),\n};\n\nconst checkTypeIsChoropleth = options =>\n options.layers && options.layers.length && options.layers[0].type === LAYER_TYPE.Choropleth;\n\nconst checkTypeIsLocalChoropleth = options =>\n options.layers &&\n options.layers.length &&\n options.layers[0].type === LAYER_TYPE.Choropleth &&\n (options.layers[0].source === 'geo://default/us' || options.layers[0].source === 'geo://default/world');\n\nconst EDITOR_LABEL_WIDTH = 140;\nconst editorConfig: EditorConfig[] = [\n {\n label: _('Data configurations'),\n layout: [\n [\n {\n label: _('Layer type'),\n option: 'layers[0].type',\n editor: 'editor.select',\n editorProps: {\n values: [\n { label: _('Bubble'), value: LAYER_TYPE.Bubble },\n { label: _('Marker'), value: LAYER_TYPE.Marker },\n { label: _('Choropleth'), value: LAYER_TYPE.Choropleth },\n ],\n },\n },\n ],\n [\n {\n label: _('Area IDs'),\n option: 'layers[0].areaIds',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['string'],\n },\n },\n ],\n [\n {\n label: _('Area values'),\n option: 'layers[0].areaValues',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n filterByTypes: ['number'],\n },\n },\n ],\n [\n {\n label: _('Latitude'),\n option: 'layers[0].latitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Longitude'),\n option: 'layers[0].longitude',\n editor: 'editor.columnSelector',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n },\n },\n ],\n [\n {\n label: _('Bubble size'),\n option: 'layers[0].bubbleSize',\n editor: 'editor.columnMultiSelector',\n showEditor: ({ options }) =>\n !(\n options.layers &&\n options.layers.length &&\n (options.layers[0].type === 'marker' || options.layers[0].type === 'choropleth')\n ),\n editorProps: {\n dataSourceKey: 'primary',\n shouldShowInternalFields: false,\n excludeByNames: ['latitude', 'longitude', 'geobin'],\n },\n },\n ],\n [\n {\n label: _('Additional tooltip fields'),\n option: 'layers[0].additionalTooltipFields',\n editor: 'editor.columnMultiSelectionByFieldNameEditor',\n },\n ],\n [\n {\n label: _('Result limit'),\n option: 'layers[0].resultLimit',\n editor: 'editor.number',\n showEditor: ({ options }) => !checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n ],\n },\n {\n label: _('Data display'),\n layout: [\n [\n {\n label: _('Latitude (initial map location)'),\n option: 'center[0]',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: -90,\n max: 90,\n },\n },\n ],\n [\n {\n label: _('Longitude (initial map location)'),\n option: 'center[1]',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: -180,\n max: 180,\n },\n },\n ],\n [\n {\n label: _('Zoom (initial map location)'),\n option: 'zoom',\n editor: 'editor.number',\n editorProps: {\n themes,\n labelPosition: 'top',\n min: 0,\n },\n },\n ],\n [\n {\n label: _('Show zoom controls'),\n option: 'showZoomControls',\n editor: 'editor.checkbox',\n editorProps: {\n labelPosition: 'right',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Show scale'),\n option: 'showScale',\n editor: 'editor.toggle',\n editorProps: {\n labelPosition: 'right',\n labelWidth: EDITOR_LABEL_WIDTH,\n },\n },\n ],\n [\n {\n label: _('Scale unit'),\n option: 'scaleUnit',\n editor: 'editor.radioBar',\n showEditor: ({ options }) => options.showScale !== false,\n editorProps: {\n values: [\n { label: _('Metric'), value: 'metric' },\n { label: _('Imperial'), value: 'imperial' },\n ],\n },\n },\n ],\n ],\n },\n {\n label: _('Color and style'),\n layout: [\n // TODO: add support for color mode option and its corresponding editor\n // [\n // {\n // label: _('Color mode'),\n // option: 'colorMode',\n // editor: 'editor.radioBar',\n // editorProps: {\n // values: [\n // { label: _('Static'), value: 'static' },\n // { label: _('Dynamic'), value: 'dynamic' },\n // ],\n // },\n // },\n // ],\n [\n {\n label: _('Series colors'),\n option: 'layers[0].seriesColors',\n editor: 'editor.seriesColors',\n showEditor: ({ options }) =>\n !(options.layers && options.layers.length && options.layers[0].type === 'choropleth'),\n },\n ],\n // TODO: add editor for data colors\n // [\n // {\n // label: _('Data colors'),\n // option: 'layers[0].dataColors',\n // editor: 'editor.text',\n // editorProps: {\n // themes,\n // labelPosition: 'top',\n // },\n // },\n // ],\n [\n {\n label: _('Choropleth empty area'),\n option: 'layers[0].choroplethEmptyAreaColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsLocalChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth stroke'),\n option: 'layers[0].choroplethStrokeColor',\n editor: 'editor.color',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n },\n },\n ],\n [\n {\n label: _('Choropleth opacity (%)'),\n option: 'layers[0].choroplethOpacity',\n editor: 'editor.percent',\n showEditor: ({ options }) => checkTypeIsChoropleth(options),\n editorProps: {\n themes,\n min: 0,\n },\n },\n ],\n // TODO: add support for seriesColorsByField option\n // [\n // {\n // label: _('Series colors by field name'),\n // option: 'seriesColorsByField',\n // editor: 'editor.seriesColorsByField',\n // },\n // ],\n getBackgroundColorEditor({ themes }),\n [\n {\n label: _('Show base layer'),\n option: 'showBaseLayer',\n editor: 'editor.toggle',\n },\n ],\n [\n {\n label: _('Base layer tile server'),\n option: 'baseLayerTileServer',\n editor: 'editor.text',\n showEditor: ({ options }) => options.showBaseLayer !== false,\n },\n ],\n [\n {\n label: _('Base layer tile server type'),\n option: 'baseLayerTileServerType',\n editor: 'editor.radioBar',\n showEditor: ({ options }) =>\n options.showBaseLayer === false\n ? false\n : !(\n typeof options.baseLayerTileServer === 'undefined' ||\n options.baseLayerTileServer === ''\n ),\n editorProps: {\n values: [\n { label: _('Vector'), value: 'vector' },\n { label: _('Raster'), value: 'raster' },\n ],\n },\n },\n ],\n ],\n },\n];\n\n/**\n * visualization configuration\n */\nconst config: VizConfig = {\n /**\n * unique viz key\n */\n key: 'splunk.map',\n /**\n * viz name\n */\n name: 'Map',\n category: VizCategory.CHOROPLETH,\n status: 'preview',\n /**\n * viz icon\n */\n icon: MapIcon,\n placeholderIcon: MapPlaceholderIcon,\n dataContract,\n size,\n defaultContext,\n optionsSchema,\n editorConfig,\n events: {\n 'map.load': {\n description: 'triggered when map is fully loaded',\n },\n 'map.click': {\n description: 'trigger when user clicks map layer',\n },\n },\n supports: [VizBehavior.DYNAMIC_OPTIONS, VizBehavior.EVENTS, VizBehavior.PLACEHOLDER],\n themes,\n requiredProps: [],\n};\n\nexport default enhanceConfig(config);\n","import { isNumber } from '@splunk/visualization-encoding/utils/types';\nimport { getFieldsFromDSL } from '@splunk/visualization-encoding/utils/dsl';\nimport { deepMergeWithArrayPrimitiveOverrides } from '@splunk/visualizations-shared/hocUtils';\nimport { pickFieldFromJSONSchema } from '@splunk/visualizations-shared/JSONSchemaUtils';\nimport { GEO_LAT_AND_LONG_FIELD } from '../../Map/PureMap/BubbleLayer';\n\nexport const columnsNullToZeros = (config, dataSources, options) => {\n const { primary } = dataSources;\n const { columns, fields } = primary.data;\n let newColumns = columns;\n const mergedOptions = deepMergeWithArrayPrimitiveOverrides(\n {},\n options,\n pickFieldFromJSONSchema(config.optionsSchema, 'default')\n );\n if (mergedOptions.layers?.[0]?.type === 'bubble') {\n const latitudeField = getFieldsFromDSL(mergedOptions.layers[0].latitude, dataSources)[0] || '';\n const longitudeField = getFieldsFromDSL(mergedOptions.layers[0].longitude, dataSources)[0] || '';\n const excludedFields = [latitudeField, longitudeField, 'geobin'].concat(GEO_LAT_AND_LONG_FIELD);\n const indicesToEvaluate = new Set(\n fields.reduce((arr, e, i) => {\n const field = typeof e === 'string' ? e : e.name.toString();\n if (!excludedFields.includes(field)) {\n arr.push(i);\n }\n return arr;\n }, [])\n );\n\n newColumns = columns.map((column, i) => {\n if (indicesToEvaluate.has(i)) {\n // sanitize value and convert string to numeric numbers\n return column.map(value => (!value || !isNumber(value) ? 0 : +value));\n }\n return column;\n });\n }\n\n const modifiedDatasources = {\n ...dataSources,\n primary: {\n ...primary,\n data: {\n ...primary.data,\n columns: newColumns,\n },\n },\n };\n\n return modifiedDatasources;\n};\n","/* eslint-disable class-methods-use-this */\nexport interface VizActionHandler {\n /**\n * put focus on the visualization\n */\n focus(): void;\n\n /**\n * compute snapshot of this visualization\n */\n snapshot(): Record<string, unknown>; // (This is for pdf export)\n}\n\nexport class DefaultVizActionHandler {\n focus(): void {\n // noop\n }\n\n snapshot(): Record<string, unknown> {\n return null; // noop\n }\n}\n","import { FieldEntry } from '@splunk/visualizations-shared/dataSourceUtils';\n\nexport interface JsonColumnData {\n fields: FieldEntry[] | string[];\n columns: string[][];\n}\nexport interface Meta {\n totalCount: number;\n sid: string;\n app: string;\n}\n\nexport const validSortDirs = ['asc', 'desc', 'none'] as const;\nexport type SortDirType = typeof validSortDirs[number];\n\nexport interface RequestParams {\n count?: number;\n offset?: number;\n sort?: {\n [sortKey: string]: SortDirType;\n };\n}\n\nexport interface DataSource {\n requestParams: Partial<RequestParams>;\n onRequestParamsChange?: (p: Record<string, unknown>) => void;\n data: JsonColumnData;\n error?: { level: string; message: string };\n meta: Partial<Meta>;\n}\n\nexport interface DataSourceMeta {\n requestParams: Partial<RequestParams>;\n meta: Partial<Meta>;\n onRequestParamsChange: (payload: RequestParams) => void;\n}\n","import { useRef } from 'react';\nimport { isEqual } from 'lodash';\n\n/**\n * This hook evaluates and stores the result of a passed function and only\n * re-evaluates the function when passed dependencies change.\n *\n * It is different from the internal React useMemo in the following aspects:\n * - it only stores the last evaluated result\n * - it uses a deep equality check to determine if dependencies have changed\n *\n * Inspired by apollo-client's useDeepMemo\n *\n * @param fn the function to be executed and\n * @param dependencies an array of dependencies\n */\nexport const useDeepMemo = <FnReturnType, DepType>(\n fn: () => FnReturnType,\n dependencies: DepType\n): FnReturnType => {\n const ref = useRef<{ dependencies: DepType; value: FnReturnType }>();\n if (!ref.current || !isEqual(dependencies, ref.current.dependencies)) {\n ref.current = {\n dependencies,\n value: fn(),\n };\n }\n return ref.current.value;\n};\n","import * as React from 'react';\nimport * as T from 'prop-types';\nimport { _ } from '@splunk/ui-utils/i18n';\nimport Message from '@splunk/visualizations-shared/Message';\nimport withFixedSizeContainer from '../hocs/FixedSizeContainer';\n\n/**\n * @method isMissing\n * @param {any} v\n * @returns {boolean} true if the input value === null or undefined\n */\nexport const isMissing = (v): boolean => {\n return v === null || v === undefined;\n};\n\n/**\n * @method misskingKeys\n * @param {string[]} keys\n * @param {object} target\n * @returns {string[]} the keys of missing required props\n */\nexport const missingKeys = (keys: string[], target: Record<string, unknown>): string[] =>\n keys.filter(k => isMissing(target[k]));\n\nexport interface MissingPropsProps {\n width?: string | number;\n height?: string | number;\n missingProps: string[];\n backgroundColor?: string;\n}\n\nconst propTypes: Record<keyof MissingPropsProps, T.Validator<any>> = {\n width: T.oneOfType([T.string, T.number]),\n height: T.oneOfType([T.string, T.number]),\n // eslint-disable-next-line react/no-unused-prop-types\n backgroundColor: T.string,\n missingProps: T.arrayOf(T.string),\n};\n\n/**\n * @method MissingPropsMessage\n * @param {MissingPropsProps} props\n * @returns {React.ReactElement}\n */\nexport const MissingPropsMessage = (props: MissingPropsProps): React.ReactElement => {\n const { width, height, missingProps } = props;\n return (\n <Message\n data-test=\"message\"\n width={width}\n height={height}\n message={_(`Missing property: ${missingProps.join(', ')}`)}\n />\n );\n};\n\nMissingPropsMessage.propTypes = propTypes;\nMissingPropsMessage.defaultProps = {\n width: '100%',\n height: 250,\n};\nexport default withFixedSizeContainer(MissingPropsMessage);\n","import * as React from 'react';\nimport styled from 'styled-components';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\n// Global provided via webpack\n// eslint-disable-next-line no-underscore-dangle\ndeclare const __VISION_VERSION__: string;\n\nconst Cover = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n`;\n\nconst Blocker = styled.div.attrs({\n 'data-splunk-visualization-version': __VISION_VERSION__,\n})`\n position: relative;\n width: 100%;\n height: 100%;\n`;\n\n/**\n * HOC that renders a cover layer in edit mode\n * @method withEditModeCover\n * @param {ExtendedDashViz} Visualization\n * @returns {ExtendedDashViz} Wrapper\n */\nconst withEditModeCover = (\n Visualization: ExtendedDashViz,\n disableEditModeCover?: boolean\n): ExtendedDashViz => {\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { mode } = props;\n const showEditCover = mode === 'edit' && !disableEditModeCover;\n\n return (\n <Blocker>\n <Visualization {...props} />\n {showEditCover && <Cover data-test=\"edit-mode-cover\" />}\n </Blocker>\n );\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withEditModeCover;\n","import * as React from 'react';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport variables from '@splunk/themes/variables';\nimport IconPlaceholder, { shouldShowIconPlaceholder } from '../components/IconPlaceholder';\nimport { VizBehavior } from '../interfaces/VizBehavior';\nimport { DashboardVizProps } from '../interfaces/DashboardVizProps';\nimport { DataSource } from '../interfaces/DataSource';\nimport { ExtendedDashViz } from '../interfaces/ExtendedDashViz';\nimport { extendStaticWrapperProps } from '../utils/hocUtils';\n\ntype useIconPlaceholderType = (\n dataSources: { [name: string]: DataSource },\n loading: boolean,\n options: Record<string, unknown>\n) => boolean;\n\nconst withPlaceholder = (\n Visualization: ExtendedDashViz,\n useIconPlaceholder: useIconPlaceholderType = shouldShowIconPlaceholder\n): ExtendedDashViz => {\n const { config } = Visualization;\n const { themes } = config;\n\n const Wrapper = (props: DashboardVizProps): React.ReactElement<DashboardVizProps> => {\n const { dataSources, loading, options, height, width } = props;\n\n const showPlaceholder = useIconPlaceholder(dataSources, loading, options);\n const bgColorFromTheme = isColor(options?.backgroundColor)\n ? options?.backgroundColor\n : themes?.defaultBackgroundColor?.(props);\n\n const icon = config.placeholderIcon ?? config.icon;\n const iconColor = variables.contentColorActive(props);\n\n if (config.supports.includes(VizBehavior.PLACEHOLDER) && showPlaceholder) {\n return (\n <IconPlaceholder\n data-test=\"icon-placeholder\"\n icon={icon}\n width={width}\n height={height}\n backgroundColor={bgColorFromTheme}\n iconColor={iconColor}\n />\n );\n }\n\n return <Visualization {...props} />;\n };\n extendStaticWrapperProps({ Wrapper, Visualization });\n return Wrapper as ExtendedDashViz;\n};\n\nexport default withPlaceholder;\n","module.exports = require(\"@splunk/visualization-icons/placeholders\");","module.exports = require(\"@splunk/visualization-color-palettes\");","module.exports = require(\"@splunk/visualization-icons\");","import { _ } from '@splunk/ui-utils/i18n';\nimport { EditorLayoutConfig } from '../interfaces/Editor';\nimport { ThemedDefaults } from '../interfaces/ThemedDefaults';\n\ninterface backgroundEditorProps {\n label?: string;\n themes: ThemedDefaults;\n labelPosition?: string;\n}\n\nconst background: ({ label, themes, labelPosition }: backgroundEditorProps) => EditorLayoutConfig[] = ({\n label,\n themes,\n labelPosition,\n}) => [\n {\n label: _(label || 'Background'),\n option: 'backgroundColor',\n editor: 'editor.color',\n editorProps: {\n labelPosition: labelPosition || 'top',\n themes,\n },\n },\n];\n\nexport default background;\n","module.exports = require(\"@splunk/themes\");","export enum VizBehavior {\n /**\n * Dynamic Options Behavior.\n * This allows visualization options to be powered by data\n *\n * **Example**\n *\n * sparklineValues: \">primary|seriesByIndex(0)\"\n * would configure sparklineValues with an array of data points\n * coming from the first series in the primary datasource\n *\n */\n DYNAMIC_OPTIONS = 'dynamic-options',\n EVENTS = 'events',\n /**\n * Placeholder behavior: visualization will display a placeholder rather than fail if any of the `requiredProps` is\n * missing.\n * @type {string}\n */\n PLACEHOLDER = 'placeholder',\n PAGE_AND_SORT = 'page-and-sort',\n TRELLIS = 'trellis',\n}\n","module.exports = require(\"@babel/runtime/helpers/toConsumableArray\");","module.exports = require(\"@babel/runtime/helpers/defineProperty\");","import { forEach, sum, isNumber, min as lodashMin, max as lodashMax, get, isEqual, isObject } from 'lodash';\nimport { LngLatBoundsLike } from 'maplibre-gl';\nimport { scalePow } from 'd3-scale';\nimport * as chroma from 'chroma-js';\nimport type { MapContextInterface, BaseTileConfig } from '@splunk/visualization-context/MapContext';\nimport { isColor } from '@splunk/visualizations-shared/colorUtils';\nimport { VIZ_CATEGORICAL } from '@splunk/visualization-color-palettes';\nimport { isNumber as isNumberUtil } from '@splunk/visualization-encoding/utils/types';\nimport type { GeoJsonDataType } from '@splunk/visualizations-shared/mapUtils';\n\nexport const MAX_LATITUDE = 90;\nexport const MIN_LATITUDE = -90;\nexport const MAX_LONGITUDE = 180;\nexport const MIN_LONGITUDE = -180;\nexport const DEFAULT_RESULT_LIMIT = 1000;\nexport const DEFAULT_CLUSTER_COLOR = '#909090';\nexport const DEFAULT_SERIES_COLORS = VIZ_CATEGORICAL;\n// MapLibre requires a map style specification number which is always 8\nexport const MAP_STYLE_VERSION_NUMBER = 8;\n// currently using one [min, max] value set for bubbles across all zoom levels\n// TODO: design choices on [min, max] bubble size for different zoom levels\nexport const MIN_BUBBLE_RADIUS = 7.11; // 10px\nexport const MAX_BUBBLE_RADIUS = 45.26; // 85px\nexport const DEFAULT_OPACITY = 0.8;\nconst LONGITUDE = 'longitude';\nconst LATITUDE = 'latitude';\n\nexport enum LAYER_TYPE {\n Marker = 'marker',\n Bubble = 'bubble',\n Choropleth = 'choropleth',\n}\n\ninterface GenericLayerType {\n type: string;\n latitude: number[];\n longitude: number[];\n dataColors?: string[];\n seriesColors: string[];\n additionalTooltipFields?: string[];\n resultLimit: number;\n metadata?: Array<{ [key: string]: number | string }>;\n}\n\nexport interface MarkerLayerType extends GenericLayerType {\n type: LAYER_TYPE.Marker;\n}\n\nexport interface BubbleLayerType extends GenericLayerType {\n type: LAYER_TYPE.Bubble;\n bubbleSize?: number[][] | number[];\n bubbleSizeFields: string[];\n geobin?: string[];\n}\n\ninterface BubbleLayerDatumType {\n zoom: number;\n values: number[];\n sanitizedValues: number[];\n coordinates: number[];\n}\n\nexport interface BubbleLayerDataType {\n data: BubbleLayerDatumType[];\n dataRange: number[];\n isPie: boolean;\n resultLimit: number;\n bubbleSizeFields: string[];\n}\n\nexport interface ChoroplethLayerType {\n type: LAYER_TYPE.Choropleth;\n areaIds: string[];\n areaValues: number[];\n dataColors: string[];\n additionalTooltipFields?: string[];\n geom?: GeoJsonDataType[];\n resultLimit?: number;\n metadata?: Array<{ [key: string]: number | string | GeoJsonDataType }>;\n source?: string;\n width?: string | number;\n height?: string | number;\n choroplethEmptyAreaColor?: string;\n choroplethStrokeColor?: string;\n choroplethOpacity?: number;\n}\n\n// todo(@ssahnoune) - look into this\nexport interface MapLayerClickPayloadType {\n name?: string;\n value?: string | number;\n /* cell values of all cells of clicked row with the field and value - in shape row.<field>.value */\n [key: string]: string | number;\n}\n\nexport type ClusterLayerType = BubbleLayerType | MarkerLayerType;\nexport type LayerType = ClusterLayerType | ChoroplethLayerType;\n/**\n * Construct a tile preset {key: config} by combining the default + custom tile configs\n * Also returns the default tile config for each theme - light/dark\n * @param {MapContextInterface} args\n * @param {BaseTileConfig[]} args.defaultTileConfig\n * @param {BaseTileConfig[]} args.customTileConfig\n * @returns {Object} tile preset\n */\nexport const getTilePreset = ({\n defaultTileConfig = [],\n customTileConfig = [],\n}: MapContextInterface): {\n tilePreset: Record<string, BaseTileConfig>;\n defaultTileLight: BaseTileConfig;\n defaultTileDark: BaseTileConfig;\n} => {\n const tilePreset = {};\n let defaultTileLight = {};\n let defaultTileDark = {};\n const tileConfigs = [].concat(defaultTileConfig).concat(customTileConfig);\n forEach(tileConfigs, tileConfig => {\n const key = tileConfig?.key;\n const updatedConfig = { theme: 'all', ...tileConfig, version: MAP_STYLE_VERSION_NUMBER };\n tilePreset[key] = updatedConfig;\n });\n\n if (defaultTileConfig.length > 0) {\n defaultTileLight =\n defaultTileConfig.find(config => config.theme === 'light') ??\n defaultTileConfig.find(config => config.theme === undefined);\n defaultTileDark =\n defaultTileConfig.find(config => config.theme === 'dark') ??\n defaultTileConfig.find(config => config.theme === undefined);\n }\n\n return { tilePreset, defaultTileLight, defaultTileDark };\n};\n\n/**\n * Check if baseLayerTileServer is in tilePreset and config matches current theme, if yes, return.\n * If no, construct a mapStyle with baseLayerTilerServer and baseLayerTileServerType\n * Else return default tile config based on current theme\n * @param {Object} args\n * @param {BaseTileConfig[]} args.tilePreset\n * @param {String} args.baseLayerTilerServer\n * @param {String} args.baseLayerTileServerType\n * @param {String} args.colorScheme\n * @param {BaseTileConfig} args.defaultTileDark\n * @param {BaseTileConfig} args.defaultTileLight\n * @returns {BaseTileConfig} mapStyle\n */\nexport const getMapStyle = ({\n showBaseLayer,\n baseLayerTileServer = '',\n baseLayerTileServerType = '',\n tilePreset = {},\n colorScheme = 'light',\n defaultTileLight = {},\n defaultTileDark = {},\n}: {\n showBaseLayer: boolean;\n baseLayerTileServer?: string;\n baseLayerTileServerType?: string;\n tilePreset?: Record<string, BaseTileConfig>;\n colorScheme?: string;\n defaultTileLight?: BaseTileConfig;\n defaultTileDark?: BaseTileConfig;\n}): BaseTileConfig => {\n if (!showBaseLayer) {\n return {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: 'raster',\n tiles: [\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=',\n ],\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 22,\n },\n ],\n };\n }\n\n if (\n baseLayerTileServer &&\n tilePreset[baseLayerTileServer] &&\n (tilePreset[baseLayerTileServer].theme === colorScheme ||\n tilePreset[baseLayerTileServer].theme === 'all')\n ) {\n return tilePreset[baseLayerTileServer];\n }\n\n if (baseLayerTileServer && baseLayerTileServerType) {\n let tiles = [];\n /**\n * Tile Server URLs (eg: http://{s}.somedomain.com/blabla/{z}/{x}/{y}{r}.png) can specify the variable {s} which refers to a subdomain\n * Subdomains are used to help with browser parallel requests per domain limitation. These subdomains are typically single letters 'a', 'b' and 'c'\n * Refer to https://leafletjs.com/SlavaUkraini/reference.html#tilelayer and https://wiki.openstreetmap.org/wiki/Tile_servers\n */\n if (baseLayerTileServer.match(/^(https?):\\/\\/{(s|S)}\\../)) {\n /**\n * sXML (Leaflet) allows users to define their own tile server URLs + list of available subdomains\n * In order to preserve this behavior during conversion to splunk.map,\n * if the variable {s} or {S} is detected, replace it with 'a', 'b' and 'c' - default values for subdomains\n * TODO: in the future, add an additional prop - baseLayerTileServerSubdomains: ['x', 'y', 'z'], default being ['a', 'b', 'c']\n */\n tiles = [\n baseLayerTileServer.replace(/{(s|S)}/, 'a'),\n baseLayerTileServer.replace(/{(s|S)}/, 'b'),\n baseLayerTileServer.replace(/{(s|S)}/, 'c'),\n ];\n } else {\n tiles = [baseLayerTileServer];\n }\n // TODO: remove hardcoded style when we allow users to pass in layer style through Viz options\n const mapStyle = {\n version: MAP_STYLE_VERSION_NUMBER,\n sources: {\n 'base-tiles': {\n type: baseLayerTileServerType,\n tiles,\n tileSize: 256,\n },\n },\n layers: [\n {\n id: 'base-layer',\n type: 'raster',\n source: 'base-tiles',\n minzoom: 0,\n maxzoom: 24, // https://maplibre.org/maplibre-gl-js-docs/api/map/\n },\n ],\n };\n return mapStyle;\n }\n\n // if tile server is not present in the preset AND we can't construct a mapStyle, fall back on defaults\n return colorScheme === 'light' ? defaultTileLight : defaultTileDark;\n};\n\nexport interface ZoomConstraints {\n minZoom: number;\n maxZoom: number;\n}\n\nexport const getZoomConstraintsFromTileConfig = (\n tileConfig: BaseTileConfig,\n baseLayerTileServer?: string\n): ZoomConstraints => {\n const { sources, layers } = tileConfig;\n let matchedBaseLayerTileServer = false;\n // check sources for minzoom maxzoom first\n const sourceKeys = Object.keys(sources);\n for (let i = 0; i < sourceKeys.length; i += 1) {\n const { minzoom, maxzoom } = sources[sourceKeys[i]];\n if (baseLayerTileServer && sources[sourceKeys[i]].tiles.indexOf(baseLayerTileServer) !== -1) {\n matchedBaseLayerTileServer = true;\n }\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // then check layers\n for (let i = 0; i < layers.length; i += 1) {\n const { minzoom, maxzoom } = layers[i];\n if (\n ((baseLayerTileServer && matchedBaseLayerTileServer) || !baseLayerTileServer) &&\n isNumber(minzoom) &&\n isNumber(maxzoom)\n ) {\n return {\n minZoom: minzoom,\n maxZoom: maxzoom,\n };\n }\n }\n // Maplibre default - would reset previous min/maxZoom https://maplibre.org/maplibre-gl-js-docs/api/map/\n return {\n minZoom: 0,\n maxZoom: 24,\n };\n};\n\nexport const getZoomLevelFromGeobin = (geobinStr: string): number => {\n if (!geobinStr) {\n return null;\n }\n // geostats cmds return geobin with zoom level 0-18, 0-99 in the geobinPattern covers the range\n const geobinPattern = /bin_id_zl_([0-9]{0,2})?_y_/g;\n const match = geobinPattern.exec(geobinStr);\n return (match?.length && parseInt(match[1], 10)) ?? null;\n};\n\n// Bubble colors - static\nexport const getStaticColors = (colorCount: number, colorArray: string[]): string[] => {\n if (colorCount < 0 || !colorCount) {\n return [DEFAULT_CLUSTER_COLOR];\n }\n if (!colorArray || !colorArray.length) {\n return [...Array(colorCount).keys()].map(i => DEFAULT_SERIES_COLORS[i]);\n }\n // loop through colorArray to pick the first $colorCount colors\n // start from begining again if colorCount > colorArray.length\n return [...Array(colorCount).keys()].map(i =>\n isColor(colorArray[i % colorArray.length]) ? colorArray[i % colorArray.length] : DEFAULT_CLUSTER_COLOR\n );\n};\n\n// Bubble size\nexport const matchBubbleSize = (dataRange: number[], data: number): any => {\n const size = scalePow().exponent(0.2).domain(dataRange).range([MIN_BUBBLE_RADIUS, MAX_BUBBLE_RADIUS])(\n data\n );\n\n if (size > MAX_BUBBLE_RADIUS) {\n return MAX_BUBBLE_RADIUS;\n }\n if (size < MIN_BUBBLE_RADIUS) {\n return MIN_BUBBLE_RADIUS;\n }\n return size;\n};\n\nexport const transposeArray = (array: number[][]): number[][] => {\n if (!array || !array.length || !array[0] || !array[0].length) {\n return [];\n }\n return array[0].map((_, i) => array.map(row => row[i]));\n};\n\n// sanitize values: update all null, undefined, or negative values to 0\nexport const sanitizeValues = (values: number[] | number[][]) => {\n // null / undefined\n if (!values) {\n return 0;\n }\n // number\n if (!Array.isArray(values)) {\n return values > 0 ? values : 0;\n }\n // array\n return values.map(arr => sanitizeValues(arr));\n};\n\nexport const bakeBubbleData = (layer: BubbleLayerType): BubbleLayerDataType => {\n if (\n !layer ||\n !layer.bubbleSize?.length ||\n !layer.geobin ||\n !layer.geobin.length ||\n !layer.latitude ||\n !layer.latitude.length ||\n !layer.longitude ||\n !layer.longitude.length\n ) {\n return null;\n }\n // if bubbleSize is passed as an array of single number array (data series)\n // e.g. [value0, value1, ...]\n // format each value as an array to unify data operations for data series and frames\n const sanitizedBubbleSize = sanitizeValues(layer.bubbleSize);\n let transposedBubbleSize: number[][];\n let transposedSanitizedBubbleSize: number[][];\n let isPie = false;\n // format array if bubbleSize is passed as an array of array (data frame)\n if (Array.isArray(layer.bubbleSize[0])) {\n // one-time array transpose,\n // e.g. from [column0data, column0data] (multi series)\n // to [[column0datum0, column1datum0], [column0datum1, column1data1], ...]\n // or e.g. from [column0data] (single series)\n // to [[column0data]]\n // for easy access of values at each geo location,\n // and min max pie size computation\n transposedBubbleSize = transposeArray(layer.bubbleSize as number[][]);\n transposedSanitizedBubbleSize = transposeArray(sanitizedBubbleSize);\n // if multiple series in the dataframe, set isPie to true\n if (layer.bubbleSize.length > 1) {\n isPie = true;\n }\n } else {\n transposedBubbleSize = layer.bubbleSize.map(n => [n]);\n transposedSanitizedBubbleSize = sanitizedBubbleSize.map(n => [n]);\n }\n if (!transposedBubbleSize || !transposedBubbleSize.length) {\n return null;\n }\n const data = layer.latitude\n .map((lat, i) => ({\n zoom: getZoomLevelFromGeobin(layer.geobin[i]),\n values: transposedBubbleSize[i],\n sanitizedValues: transposedSanitizedBubbleSize[i],\n coordinates: [layer.longitude[i], lat],\n metadata: layer.metadata ? layer.metadata[i] : {},\n }))\n .filter(d => Boolean(d.values));\n\n // compute the min/max value to encode min/max pie or bubble size\n let min = sum(transposedSanitizedBubbleSize[0]);\n let max = sum(transposedSanitizedBubbleSize[1]);\n transposedSanitizedBubbleSize.forEach(row => {\n const bubbleSize = sum(row);\n max = bubbleSize > max ? bubbleSize : max;\n min = bubbleSize < min ? bubbleSize : min;\n });\n return {\n data,\n dataRange: [min, max],\n isPie,\n resultLimit: layer.resultLimit,\n bubbleSizeFields: layer.bubbleSizeFields,\n };\n};\n\nexport const isValidLatLon = (latlon: Array<number | string>): boolean => {\n if (!latlon || !Array.isArray(latlon) || latlon.length !== 2) {\n return false;\n }\n const [lat, lon] = latlon;\n if (!isNumberUtil(lat) || !(lat >= MIN_LATITUDE && lat <= MAX_LATITUDE)) {\n return false;\n }\n if (!isNumberUtil(lon) || !(lon >= MIN_LONGITUDE && lon <= MAX_LONGITUDE)) {\n return false;\n }\n return true;\n};\n\n/**\n * Returns a list of all lat or lon coordinates used in a specified layer\n * @param {LayerType[]} layer\n * @param {string} field\n * @returns {number[]} list of lat coordinates or lon coordinates\n */\nconst getLatOrLonCoordinates = (layer: LayerType, field: string): number[] => {\n const getClusterValues = (clusterLayer: ClusterLayerType): number[] =>\n get(clusterLayer, field, []).slice(\n 0,\n clusterLayer.type === LAYER_TYPE.Marker && clusterLayer.resultLimit\n ? clusterLayer.resultLimit\n : DEFAULT_RESULT_LIMIT\n );\n\n const getChoroplethValues = (choroplethLayer: ChoroplethLayerType): number[] => {\n const slicedGeomList = choroplethLayer.geom.slice(0, choroplethLayer.resultLimit);\n const flatCoordinates = slicedGeomList.flatMap(geomObject => geomObject.coordinates.flat(2));\n return flatCoordinates.map(coord => coord[field === LONGITUDE ? 0 : 1]);\n };\n\n return layer.type === LAYER_TYPE.Choropleth ? getChoroplethValues(layer) : getClusterValues(layer);\n};\n\n/**\n * Returns the min and max LongLat pairs to determine the layer boundaries to fit all markers/bubbles\n * @param {LayerType[]} layers\n * @returns {LngLatBoundsLike}\n */\nexport const getGlobalLayerBoundaries = (layers: LayerType[]): LngLatBoundsLike => {\n const isLayerValid = (field: string): boolean =>\n layers.every(layer => layer[field] || (layer as ChoroplethLayerType).geom);\n const getDefaultMax = (field: string) => (field === LONGITUDE ? MAX_LONGITUDE : MAX_LATITUDE);\n const getDefaultMin = (field: string) => (field === LONGITUDE ? MIN_LONGITUDE : MIN_LATITUDE);\n\n if (!layers || !Array.isArray(layers) || !layers.length) {\n return null;\n }\n\n const getMin = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMin(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(x => +x);\n return lodashMin([prevVal, ...coordinatesNumArr]);\n }, getDefaultMax(field));\n };\n\n const getMax = (field: string): number => {\n if (!isLayerValid(field)) {\n return getDefaultMax(field);\n }\n return layers.reduce((prevVal, layer) => {\n const coordinatesNumArr = getLatOrLonCoordinates(layer, field).map(Number);\n return lodashMax([prevVal, ...coordinatesNumArr]);\n }, getDefaultMin(field));\n };\n\n return [\n [getMin(LONGITUDE), getMin(LATITUDE)],\n [getMax(LONGITUDE), getMax(LATITUDE)],\n ];\n};\n\nexport const getScaledOpacities = (colors: string[], cfgOpacity: number): number[] => {\n // extract opacity information from 8 digit hex codes\n const opacities = colors?.map(color => (color?.length === 9 ? chroma(color).alpha() ?? 1 : 1));\n // opacity cannot be greater than configured opacity\n return opacities?.map(opacity => opacity * cfgOpacity);\n};\n\nexport const compareBaseStyles = (curr, next): boolean => {\n const currBaseLayer = curr?.layers?.find(layer => layer?.id === 'base-layer');\n const nextBaseLayer = next?.layers?.find(layer => layer?.id === 'base-layer');\n const currBaseSource = get(curr?.sources, (currBaseLayer?.source as string) ?? '');\n const nextBaseSource = get(next?.sources, (nextBaseLayer?.source as string) ?? '');\n\n if (!currBaseLayer || !nextBaseLayer || !currBaseSource || !nextBaseSource) {\n return false;\n }\n\n return isEqual(currBaseLayer, nextBaseLayer) && isEqual(currBaseSource, nextBaseSource);\n};\n\nexport const formatMetadata = (\n choroplethLayer: ChoroplethLayerType,\n i: number\n): { [key: string]: string } => {\n if (!choroplethLayer || !choroplethLayer.areaIds || !choroplethLayer.areaValues) return {};\n if (i >= choroplethLayer.areaIds.length) return {};\n\n const metadata = choroplethLayer.metadata ? choroplethLayer.metadata[i] : {};\n const name = choroplethLayer.areaIds[i];\n const value = choroplethLayer.areaValues[i];\n const base = { name, value: String(value) };\n\n return Object.keys(metadata).reduce((result, curr) => {\n const key = `row.${curr}.value`;\n const val = isObject(metadata[curr]) ? JSON.stringify(metadata[curr]) : String(metadata[curr]);\n return { ...result, [key]: val };\n }, base);\n};\n","module.exports = require(\"d3-scale\");","module.exports = require(\"@splunk/react-ui/Popover\");","module.exports = require(\"@splunk/visualizations-shared/Message\");","module.exports = require(\"@splunk/visualization-encoding/utils/types\");"],"sourceRoot":""}
|