{"version":3,"sources":["/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/base.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/client/connection.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/client/session.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/bokeh_events.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/build_views.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/dom.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/dom_view.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/enums.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/has_props.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/hittest.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/layout/alignments.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/layout/grid.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/layout/html.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/layout/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/layout/layoutable.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/layout/side_panel.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/layout/types.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/logging.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/properties.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/property_mixins.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/selection_manager.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/settings.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/signaling.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/ui_events.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/array.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/arrayable.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/assert.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/bbox.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/callback.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/canvas.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/color.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/compat.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/data_structures.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/eq.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/math.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/object.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/projections.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/refs.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/serialization.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/spatial.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/string.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/svg_colors.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/templating.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/text.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/throttle.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/typed_array.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/types.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/wheel.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/util/zoom.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/vectorization.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/view.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/core/visuals.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/document/document.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/document/events.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/document/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/embed/dom.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/embed/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/embed/notebook.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/embed/server.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/embed/standalone.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/main.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/model.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/annotation.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/arrow.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/arrow_head.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/band.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/box_annotation.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/color_bar.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/label.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/label_set.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/legend.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/legend_item.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/poly_annotation.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/slope.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/span.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/text_annotation.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/title.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/toolbar_panel.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/tooltip.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/annotations/whisker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/axes/axis.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/axes/categorical_axis.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/axes/continuous_axis.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/axes/datetime_axis.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/axes/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/axes/linear_axis.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/axes/log_axis.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/axes/mercator_axis.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/callbacks/callback.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/callbacks/customjs.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/callbacks/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/callbacks/open_url.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/canvas/canvas.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/canvas/cartesian_frame.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/canvas/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/expressions/cumsum.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/expressions/expression.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/expressions/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/expressions/stack.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/filters/boolean_filter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/filters/customjs_filter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/filters/filter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/filters/group_filter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/filters/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/filters/index_filter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/basic_tick_formatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/categorical_tick_formatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/datetime_tick_formatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/func_tick_formatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/log_tick_formatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/mercator_tick_formatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/numeral_tick_formatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/printf_tick_formatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/formatters/tick_formatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/annular_wedge.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/annulus.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/arc.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/area.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/bezier.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/box.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/center_rotatable.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/circle.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/ellipse.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/ellipse_oval.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/glyph.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/harea.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/hbar.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/hex_tile.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/image.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/image_base.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/image_rgba.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/image_url.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/line.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/multi_line.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/multi_polygons.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/oval.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/patch.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/patches.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/quad.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/quadratic.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/ray.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/rect.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/segment.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/step.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/text.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/utils.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/varea.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/vbar.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/wedge.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/glyphs/xy_glyph.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/graphs/graph_hit_test_policy.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/graphs/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/graphs/layout_provider.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/graphs/static_layout_provider.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/grids/grid.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/grids/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/box.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/column.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/grid_box.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/html_box.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/layout_dom.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/row.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/spacer.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/tabs.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/layouts/widget_box.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/categorical_color_mapper.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/categorical_mapper.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/categorical_marker_mapper.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/categorical_pattern_mapper.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/color_mapper.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/continuous_color_mapper.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/linear_color_mapper.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/log_color_mapper.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/mappers/mapper.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/markers/defs.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/markers/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/markers/marker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/markers/scatter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/plots/gmap_plot.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/plots/gmap_plot_canvas.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/plots/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/plots/plot.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/plots/plot_canvas.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/ranges/data_range.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/ranges/data_range1d.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/ranges/factor_range.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/ranges/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/ranges/range.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/ranges/range1d.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/renderers/data_renderer.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/renderers/glyph_renderer.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/renderers/graph_renderer.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/renderers/guide_renderer.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/renderers/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/renderers/renderer.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/scales/categorical_scale.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/scales/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/scales/linear_scale.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/scales/log_scale.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/scales/scale.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/selections/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/selections/interaction_policy.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/selections/selection.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/ajax_data_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/cds_view.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/column_data_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/columnar_data_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/data_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/geojson_data_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/remote_data_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/server_sent_data_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/sources/web_data_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/textures/canvas_texture.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/textures/image_url_texture.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/textures/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/textures/texture.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/adaptive_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/basic_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/categorical_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/composite_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/continuous_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/datetime_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/days_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/fixed_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/log_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/mercator_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/months_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/single_interval_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/util.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tickers/years_ticker.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/bbox_tile_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/image_pool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/mercator_tile_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/quadkey_tile_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/tile_renderer.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/tile_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/tile_utils.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/tms_tile_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tiles/wmts_tile_source.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/actions/action_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/actions/custom_action.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/actions/help_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/actions/redo_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/actions/reset_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/actions/save_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/actions/undo_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/actions/zoom_in_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/actions/zoom_out_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/button_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/edit/box_edit_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/edit/edit_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/edit/freehand_draw_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/edit/point_draw_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/edit/poly_draw_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/edit/poly_edit_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/edit/poly_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/box_select_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/box_zoom_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/gesture_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/lasso_select_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/pan_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/poly_select_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/range_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/select_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/tap_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/wheel_pan_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/gestures/wheel_zoom_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/inspectors/crosshair_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/inspectors/customjs_hover.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/inspectors/hover_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/inspectors/inspect_tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/on_off_button.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/tool.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/tool_proxy.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/toolbar.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/toolbar_base.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/toolbar_box.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/tools/util.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/transforms/customjs_transform.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/transforms/dodge.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/transforms/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/transforms/interpolator.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/transforms/jitter.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/transforms/linear_interpolator.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/transforms/step_interpolator.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/models/transforms/transform.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/polyfill.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/protocol/index.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/protocol/message.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/protocol/receiver.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/safely.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/testing.js","/home/travis/build/bokeh/bokeh/bokehjs/build/js/lib/version.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/canvas2svg/canvas2svg.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/d/auto-bind.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/d/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/array/#/clear.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/array/#/e-index-of.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/array/from/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/array/from/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/array/from/shim.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/function/is-arguments.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/function/is-function.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/function/noop.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/global.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/math/sign/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/math/sign/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/math/sign/shim.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/number/is-nan/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/number/is-nan/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/number/is-nan/shim.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/number/to-integer.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/number/to-pos-integer.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/_iterate.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/assign/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/assign/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/assign/shim.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/copy.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/create.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/for-each.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/is-callable.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/is-object.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/is-value.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/keys/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/keys/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/keys/shim.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/map.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/normalize-options.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/primitive-set.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/set-prototype-of/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/set-prototype-of/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/set-prototype-of/shim.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/valid-callable.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/valid-object.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/object/valid-value.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/string/#/contains/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/string/#/contains/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/string/#/contains/shim.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/string/is-string.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es5-ext/string/random-uniq.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-iterator/array.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-iterator/for-of.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-iterator/get.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-iterator/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-iterator/is-iterable.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-iterator/string.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-iterator/valid-iterable.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-map/implement.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-map/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-map/is-native-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-map/lib/iterator-kinds.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-map/lib/iterator.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-map/polyfill.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-promise/dist/es6-promise.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-symbol/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-symbol/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-symbol/is-symbol.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-symbol/polyfill.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-symbol/validate-symbol.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-weak-map/implement.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-weak-map/is-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-weak-map/is-native-implemented.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/es6-weak-map/polyfill.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/event-emitter/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/flatbush/flatbush.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/hammerjs/hammer.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/numbro/numbro.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/Proj.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/adjust_axis.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/common/adjust_lon.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/common/msfnz.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/common/phi2z.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/common/sign.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/common/toPoint.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/common/tsfnz.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/constants/Datum.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/constants/Ellipsoid.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/constants/PrimeMeridian.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/constants/units.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/core.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/datum.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/datumUtils.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/datum_transform.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/defs.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/deriveConstants.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/extend.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/global.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/parseCode.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/projString.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/projections.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/projections/longlat.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/projections/merc.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/transform.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/proj4/lib/wkt.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/sprintf-js/src/sprintf.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/timezone/index.js","/home/travis/build/bokeh/bokeh/bokehjs/node_modules/tslib/tslib.js"],"names":["require","module","exports","models","object_1","overrides","_all_models","clone","Models","name","model","Error","register","unregister","register_models","force","errorFn","name_1","hasOwnProperty","console","warn","registered_names","Object","keys","logging_1","document_1","message_1","receiver_1","session_1","DEFAULT_SERVER_WEBSOCKET_URL","DEFAULT_SESSION_ID","_connection_count","ClientConnection","url","id","args_string","_on_have_session_hook","_on_closed_permanently_hook","this","_number","socket","session","closed_permanently","_current_handler","_pending_ack","_pending_replies","_receiver","Receiver","logger","debug","prototype","connect","_this","Promise","reject","versioned_url","length","WebSocket","resolve","binaryType","onopen","_on_open","onmessage","event","_on_message","onclose","_on_close","onerror","_on_error","error","close","_connection_closed","_schedule_reconnect","milliseconds","setTimeout","info","send","message","send_with_reply","promise","msgid","then","msgtype","content","text","_pull_doc_json","Message","create","reply","doc","_repull_session_doc","doc_json","document_2","Document","from_json","patch","_compute_patch_since_json","events","patch_message","ClientSession","document","replace_with_json","catch","trace","_awaiting_ack_handler","consume","data","e","_close_bad_protocol","toString","msg","problem","code","reason","pop_pending","reqid","promise_funcs_1","promise_funcs","detail","_steady_state_handler","handle","pull_session","session_id","connection","_","_connection","_document_listener","_document_changed","on_change","event_manager","_handle_patch","_handle_ok","_handle_error","send_event","JSON","stringify","to_json","remove_on_change","request_server_info","force_roundtrip","setter_id","ModelChangedEvent","attr","serializable_attributes","create_json_patch","apply_json_patch","buffers","tslib_1","event_name","cls","BokehEvent","event_values","_to_json","origin","model_id","ButtonClick","_super","apply","arguments","__extends","__decorate","MenuItemClick","item","call","__assign","UIEvent","LODStart","LODEnd","SelectionGeometry","geometry","final","Reset","PointEvent","sx","sy","x","y","Pan","delta_x","delta_y","Pinch","scale","MouseWheel","delta","MouseMove","MouseEnter","MouseLeave","Tap","DoubleTap","Press","PanStart","PanEnd","PinchStart","PinchEnd","array_1","build_views","view_storage","options","default_view","to_remove","difference","map","_i","to_remove_1","remove","created_views","new_models","filter","_a","new_models_1","view_cls","view_options","connect_signals","view","push","_b","created_views_1","remove_views","types_1","_createElement","tag","attrs","children","element","createElement","classList","add","value","isBoolean","isString","split","isArray","isPlainObject","prop","style","key","dataset","setAttribute","append","child","HTMLElement","appendChild","createTextNode","_c","children_1","_d","child_1","_child","matches","el","selector","p","Element","f","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","num","parseFloat","extents","getComputedStyle","border","top","borderTopWidth","bottom","borderBottomWidth","left","borderLeftWidth","right","borderRightWidth","margin","marginTop","marginBottom","marginLeft","marginRight","padding","paddingTop","paddingBottom","paddingLeft","paddingRight","size","rect","getBoundingClientRect","width","Math","ceil","height","Array","from","concat","div","span","canvas","link","a","i","pre","button","label","input","select","option","optgroup","textarea","nbsp","removeElement","parent","parentNode","removeChild","replaceWith","replacement","replaceChild","prepend","nodes","first","firstChild","nodes_1","node","insertBefore","empty","display","undisplay","show","visibility","hide","offset","window","pageYOffset","documentElement","clientTop","pageXOffset","clientLeft","parentElement","scroll_size","scrollWidth","scrollHeight","outer_size","content_size","max","position","box","top_1","ClassList","defineProperty","get","values","i_1","enumerable","configurable","has","contains","classes","classes_1","classes_2","clear","toggle","activate","sized","fn","Infinity","Keys","undisplayed","unsized","view_1","DOM","DOMView","initialize","_has_finished","css_classes","cursor","_sx","_sy","render","renderTo","has_finished","body","tagName","class","View","Align","Anchor","AngleUnits","BoxOrigin","ButtonType","Dimension","Dimensions","Direction","Distribution","FontStyle","HatchPatternType","HTTPMethod","HexTileOrientation","HoverMode","LatLon","LegendClickPolicy","LegendLocation","LineCap","LineJoin","LinePolicy","Location","Logo","MarkerType","Orientation","OutputBackend","PaddingUnits","Place","PointPolicy","RadiusDimension","RenderLevel","RenderMode","ResetPolicy","RoundingFunction","Side","SizingMode","SliderCallbackPolicy","Sort","SpatialUnits","StartEnd","StepMode","TapBehavior","TextAlign","TextBaseline","TextureRepetition","TickLabelOrientation","TooltipAttachment","UpdateMode","VerticalAlign","signaling_1","property_mixins","refs_1","string_1","eq_1","HasProps","_subtype","undefined","destroyed","Signal0","change","transformchange","attributes","properties","_set_after_defaults","_pending","_changing","props","type","default_value","setv","uniqueId","silent","deferred","__deferred__","finalize","initClass","mixins","define","Any","_fix_default","_attr","isFunction","isObject","copy","obj","_loop_1","name_2","this_1","getv","set","internal","refined_prop","_object","name_3","mixin","names","override","name_4","name_5","update","spec","transform","emit","disconnect_signals","Signal","disconnectReceiver","destroy","constructor","_setv","check_eq","changes","changing","current","val","isEqual","no_change","prop_name","defaults","isEmpty","old","_tell_document_about_change","ref","create_ref","set_subtype","subtype","attribute_is_serializable","name_6","_value_to_json","_key","_optional_parent_object","ref_array","v","ref_obj","subkey","attributes_as_json","include_defaults","value_to_json","serializable","_json_record_references","result","recurse","is_ref","get_model_by_id","_value_record_references","v_1","elem","k","immediate","_immediate_references","immediate_1","buffer","ArrayBuffer","v_2","references","_doc_attached","attach_document","detach_document","new_","new_refs","old_refs","need_invalidate","new_id","old_id","_invalidate_all_models","_notify_change","materialize_dataspecs","source","name_7","VectorSpec","optional","array","field","_shapes","DistanceSpec","Signalable","selection_1","sqr","dist_2_pts","p0","p1","dist_to_segment_squared","w","l2","t","q","point_in_poly","px","py","inside","x1","y1","x2","y2","point_in_ellipse","angle","b","x0","y0","A","pow","cos","sin","B","C","create_empty_hit_test_result","Selection","create_hit_test_result_from_hits","hits","indices","sort_by","validate_bbox_coords","minX","minY","maxX","maxY","dist_to_segment","sqrt","check_2_segments_intersect","l0_x0","l0_y0","l0_x1","l0_y1","l1_x0","l1_y0","l1_x1","l1_y1","den","hit","num1","num2","layoutable_1","bbox_1","Stack","Layoutable","HStack","_measure","_viewport","size_hint","measure","_set_geometry","outer","inner","set_geometry","BBox","VStack","AnchorLayout","viewport","layout","anchor","hcenter","vcenter","bbox","types_2","round","DefaultMap","def","_map","Map","Container","_items","_nrows","_ncols","r1","c1","at","r","c","selected","r0","c0","row","col","foreach","Grid","items","rows","cols","spacing","absolute","is_width_expanding","sizing","width_policy","_state","some","policy","is_height_expanding","height_policy","_init","row_span","col_span","visible","nrows","ncols","isNumber","align","flex","_loop_2","rspacing","cspacing","_measure_totals","row_heights","col_widths","sum","_measure_cells","cell_viewport","size_hints","rspace","cspace","Sizeable","grow_by","radjustable","rheight","radjustable_1","cadjustable","cwidth","cadjustable_1","_measure_grid","available_height","preferred","available_width","height_flex","nadjustable","overflow_height","cutoff","width_flex","overflow_width","span_width","span_height","halign","valign","row_aligns","start","end","col_aligns","inner_bbox","inner_1","top_2","Row","Column","dom_1","ContentBox","_content_size","ContentLayoutable","VariadicBox","bounded","bounded_to","LayoutItem","alignments_1","grid_1","html_1","min","_bbox","_inner_bbox","_top","_left","_width","_height","_right","_bottom","_hcenter","_vcenter","_sizing","set_sizing","min_width","max_width","min_height","max_height","aspect","min_size","max_size","apply_aspect","w_width","w_height","h_width","h_height","w_diff","abs","h_diff","policies","fit","fixed","gt","viewport_size","exact_width","exact_height","shrink_by","computed","clipped","clip_size","compute","xview","yview","clip_width","clip_height","bounds","pi2","PI","LEFT","CENTER","_angle_lookup","above","parallel","normal","horizontal","vertical","below","_baseline_lookup","justified","_align_lookup","_align_lookup_negative","_align_lookup_positive","SidePanel","side","_dim","_normals","is_horizontal","get_oriented_size","get_size","rotate","has_size_changed","apply_label_text_heuristics","ctx","orient","baseline","textBaseline","textAlign","get_label_angle_heuristic","expanded_to","expand_to","narrowed_to","narrow_to","w_fn","h_fn","_loggers","LogLevel","level","Logger","INFO","_name","set_level","log_levels","logger_1","TypeError","get_level","_log_level","log_level","logger_name","log_level_1","OFF","_method_factory","_args","TRACE","DEBUG","WARN","ERROR","FATAL","fatal","off","method_name","bind","log","set_log_level","levels","join","enums","arrayable_1","color_1","valueToString","isSpec","expr","Property","init","validate","valid","_value","do_spec_transform","ret","attr_value","Float64Array","Boolean","Color","is_color","Instance","Number","Int","Angle","Percent","String","FontSize","Font","EnumProperty","includes","enum_values","Enum","class_1","Uint8Array","ScalarSpec","get_column","v_compute","length_1","get_length","repeat","DataSpec","UnitsSpec","units","default_units","valid_units","AngleSpec","BooleanSpec","ColorSpec","CoordinateSpec","CoordinateSeqSpec","FontSizeSpec","MarkerSpec","NumberSpec","StringSpec","NullStringSpec","_gen_mixin","prefix","_line_mixin","line_color","line_width","line_alpha","line_join","line_cap","line_dash","line_dash_offset","line","_fill_mixin","fill_color","fill_alpha","fill","_hatch_mixin","hatch_color","hatch_alpha","hatch_scale","hatch_pattern","hatch_weight","hatch_extra","hatch","_text_mixin","text_font","text_font_size","text_font_style","text_color","text_alpha","text_align","text_baseline","text_line_height","configs","configs_1","config","kind","extend","has_props_1","glyph_renderer_1","graph_renderer_1","SelectionManager","inspectors","renderer_views","glyph_renderer_views","graph_renderer_views","renderer_views_1","GlyphRendererView","GraphRendererView","did_hit","graph_renderer_views_1","hit_test_result","selection_policy","hit_test","do_selection","inspect","renderer_view","is_empty","inspection","get_or_create_inspector","inspected","inspection_policy","do_inspection","rview","rmodel","Settings","_dev","dev","settings","data_structures_1","callback_1","sender","slot","context","receiversForSender","receivers","findConnection","receiver","sendersForReceiver","senders","signal","disconnect","scheduleCleanup","args","receivers_1","disconnectBetween","senders_1","disconnectSender","receivers_2","senders_2","disconnectAll","receivers_3","senders_3","Base","class_2","_Signalable","WeakMap","conns","find","conn","dirtySet","Set","connections","defer","cleanupDirtySet","forEach","remove_by","Hammer","wheel_1","compat_1","UIEvents","plot_view","toolbar","hit_area","pan_start","pan","pan_end","pinch_start","pinch","pinch_end","rotate_start","rotate_end","tap","doubletap","press","move_enter","move","move_exit","scroll","keydown","keyup","hammer","touchAction","_configure_hammerjs","addEventListener","_mouse_move","_mouse_enter","_mouse_exit","_mouse_wheel","removeEventListener","handleEvent","_key_down","_key_up","recognizeWith","requireFailure","dropRequireFailure","on","_doubletap","_tap","_press","direction","DIRECTION_ALL","_pan_start","_pan","_pan_end","enable","_pinch_start","_pinch","_pinch_end","_rotate_start","_rotate","_rotate_end","register_tool","tool_view","et","event_type","_register_tool","index","shared","conditionally","arg","unconditionally","_move_enter","_move","_move_exit","_scroll","_keydown","_keyup","is_mobile","_hit_test_renderers","views","get_renderer_views","reversed","interactive_hit","_hit_test_frame","frame","_hit_test_canvas","_trigger","srcEvent","gestures","base_type","on_canvas","active_gesture","active","trigger","active_inspectors","set_cursor","set_toolbar_visibility","inspector","target","on_hit","base","preventDefault","stopPropagation","_trigger_bokeh_event","ev","xscale","xscales","default","yscale","yscales","invert","deltaX","deltaY","trigger_event","_get_sxy","TouchEvent","is_touch","touches","changedTouches","pageX","pageY","_gesture_event","shiftKey","_tap_event","_move_event","_scroll_event","getDeltaY","_key_event","keyCode","math_1","assert_1","reduce","min_by","max_by","cumsum","every","find_last","find_index","find_last_index","sorted_index","slice","arrays","indexOf","range","stop","step","assert","uniq","head","tail","last","nth","zip","n","j","unzip","results","linspace","transpose","transposed","argmin","argmax","tmp","sort","uniq_by","seen","array_2","union","intersection","array_3","arrays_1","other","rest","remove_at","splice","shuffle","shuffled","rand","randomIn","pairwise","len","items_1","initial","_find_index","dir","predicate","insert","resultComputed","length_2","length_3","length_4","length_5","length_6","index_of","length_7","low","high","mid","floor","AssertionError","condition","positive_x","MIN_VALUE","positive_y","w2","h2","h_range","v_range","clip","that","equals","xx","_xx","yy","_yy","delay","func","wait","_defer","requestAnimationFrame","setImmediate","throttle","timeout","previous","later","leading","Date","now","remaining","clearTimeout","trailing","once","memo","done","fixup_ctx","setLineDash","dash","mozDash","webkitLineDash","getLineDash","fixup_line_dash","setLineDashOffset","lineDashOffset","mozDashOffset","webkitLineDashOffset","getLineDashOffset","fixup_line_dash_offset","setImageSmoothingEnabled","imageSmoothingEnabled","mozImageSmoothingEnabled","oImageSmoothingEnabled","webkitImageSmoothingEnabled","msImageSmoothingEnabled","getImageSmoothingEnabled","fixup_image_smoothing","measureText","html5MeasureText","textMetrics","ascent","fixup_measure_text","ellipse","radiusX","radiusY","rotation","_startAngle","_endAngle","anticlockwise","translate","rx","ry","moveTo","bezierCurveTo","fixup_ellipse","get_scale_ratio","hidpi","backend","devicePixelRatio_1","devicePixelRatio","backingStoreRatio","webkitBackingStorePixelRatio","mozBackingStorePixelRatio","msBackingStorePixelRatio","oBackingStorePixelRatio","backingStorePixelRatio","svg_colors_1","_component2hex","h","color2hex","color","is_svg_color","svg_colors","rgb","replace","hex","valid_rgb","params","substring","alpha","RegExp","test","contents","toLowerCase","rgb2hex","g","R","G","color2rgba","rgba","match","parseInt","ua","is_ie","navigator","userAgent","maxTouchPoints","is_little_endian","buf","buf8","buf32","Uint32Array","little_endian","MultiDict","_dict","_existing","add_value","existing","remove_value","new_array","get_one","duplicate_error","_values","obj_1","intersect","output","diff","thisArg","Matrix","_matrix","to_sparse","eq","aStack","bStack","className","areArrays","aCtor","bCtor","pop","angle_norm","angle_dist","lhs","rhs","random","angle_between","d","norm_mid","cond","atan2","rnorm","mu","sigma","r2","E","rn","clamp","dest","src","object","merge","obj1","obj2","keys_1","arr1","arr2","proj4","Projection","mercator","wgs84","wgs84_mercator","mercator_bounds","lon","lat","latlon_bounds","project_xy","merc_x_s","merc_y_s","forward","merc_x","merc_y","clip_mercator","dimension","in_bounds","project_xsys","xs","ys","merc_xs_s","merc_ys_s","swap16","byteOffset","swap32","swap64","process_buffer","specification","need_swap","order","BYTE_ORDER","shape","bytes","buffers_1","header","parse","__buffer__","arr","ARRAY_TYPES","dtype","BYTES_PER_ELEMENT","process_array","decode_base64","isTypedArray","arrayBufferToBase64","chars","fromCharCode","btoa","base64ToArrayBuffer","base64","binary_string","atob","charCodeAt","__ndarray__","encode_base64","b64","Int8Array","Uint16Array","Int16Array","Int32Array","Float32Array","arrayName","DTYPES","decode_traverse_data","shapes","filtered_shapes","encode_traverse_data","uint8","int8","uint16","int16","uint32","int32","float32","float64","decode_column_data","new_data","new_shapes","encode_column_data","shapes_k","new_v","FlatBush","SpatialIndex","points","points_1","finish","_normalize","search","settings_1","uuid4","s","substr","startsWith","str","searchString","counter","escape","ch","unescape","entity","use_strict","indianred","lightcoral","salmon","darksalmon","lightsalmon","crimson","red","firebrick","darkred","pink","lightpink","hotpink","deeppink","mediumvioletred","palevioletred","coral","tomato","orangered","darkorange","orange","gold","yellow","lightyellow","lemonchiffon","lightgoldenrodyellow","papayawhip","moccasin","peachpuff","palegoldenrod","khaki","darkkhaki","lavender","thistle","plum","violet","orchid","fuchsia","magenta","mediumorchid","mediumpurple","blueviolet","darkviolet","darkorchid","darkmagenta","purple","indigo","slateblue","darkslateblue","mediumslateblue","greenyellow","chartreuse","lawngreen","lime","limegreen","palegreen","lightgreen","mediumspringgreen","springgreen","mediumseagreen","seagreen","forestgreen","green","darkgreen","yellowgreen","olivedrab","olive","darkolivegreen","mediumaquamarine","darkseagreen","lightseagreen","darkcyan","teal","aqua","cyan","lightcyan","paleturquoise","aquamarine","turquoise","mediumturquoise","darkturquoise","cadetblue","steelblue","lightsteelblue","powderblue","lightblue","skyblue","lightskyblue","deepskyblue","dodgerblue","cornflowerblue","royalblue","blue","mediumblue","darkblue","navy","midnightblue","cornsilk","blanchedalmond","bisque","navajowhite","wheat","burlywood","tan","rosybrown","sandybrown","goldenrod","darkgoldenrod","peru","chocolate","saddlebrown","sienna","brown","maroon","white","snow","honeydew","mintcream","azure","aliceblue","ghostwhite","whitesmoke","seashell","beige","oldlace","floralwhite","ivory","antiquewhite","linen","lavenderblush","mistyrose","gainsboro","lightgray","lightgrey","silver","darkgray","darkgrey","gray","grey","dimgray","dimgrey","lightslategray","lightslategrey","slategray","slategrey","darkslategray","darkslategrey","black","sprintf_js_1","Numbro","tz","sprintf","format","basic_formatter","_format","_special_vars","get_formatter","raw_spec","formatters","formatter_1","DEFAULT_FORMATTERS","special_vars","numeral","get_value","data_source","column","dim2","dim1","flat_index","datetime","printf","replace_placeholders","_match","long_name","formatter","cache","measure_font","font","block","verticalAlign","descent","_cache","measure_text","text_cache","white-space","delay_animation","webkitRequestAnimationFrame","mozRequestAnimationFrame","msRequestAnimationFrame","callback","pending","array0","arrays_2","tp","isInteger","isFinite","isStrictNaN","isArrayOf","isArrayableOf","fontSize","deltaMode","DOM_DELTA_LINE","offsetParent","DOM_DELTA_PAGE","clientHeight","pageHeight","scale_highlow","factor","center","get_info","scales","sxy0","sxy1","r_invert","scale_range","h_axis","v_axis","hfactor","sx0","sx1","xrs","vfactor","sy0","sy1","yrs","isValue","isField","removed","_parent","serializable_state","is_root","root","assert_root","property","_horz","lineTo","stroke","_vert","_x","create_hatch_canvas","h4","_get_canvas","getContext","strokeStyle","lineCap","fillStyle","lineWidth","arc","h30","ContextProperties","warm_cache","cache_select","set_vectorize","all_indices","_set_vectorize","Line","set_value","globalAlpha","lineJoin","color_value","Fill","Hatch","hatch_color_1","hatch_scale_1","hatch_pattern_1","hatch_weight_1","custom","pattern","get_pattern","createPattern","_try_defer","defer_func","onload","doit2","ready_func","doit","Text","font_value","font_size","font_style","Visuals","set_all_indices","base_1","version_1","bokeh_events_1","serialization_1","layout_dom_1","column_data_source_1","model_1","events_1","EventManager","subscribed_models","Model","_process_event","documents","DEFAULT_TITLE","_init_timestamp","_title","_roots","_all_models_by_name","_all_models_freeze_count","_callbacks","idle","_idle_roots","_interactive_timestamp","_interactive_plot","LayoutDOM","layoutables","notify_idle","is_idle","_push_all_models_freeze","remove_root","_pop_all_models_freeze","interactive_start","plot","interactive_stop","interactive_duration","destructively_move","dest_doc","roots","roots_1","roots_2","add_root","set_title","_recompute_all_models","new_all_models_set","old_all_models_set","to_detach","to_attach","recomputed","m","_e","_f","_g","_trigger_on_change","RootAddedEvent","RootRemovedEvent","title","TitleChangedEvent","get_model_by_name","cb","hint","_references_json","references_json","references_1","_instantiate_object","obj_id","obj_type","obj_attrs","full_attrs","_instantiate_references_json","existing_models","references_json_1","instance","_resolve_refs","old_references","new_references","resolve_ref","resolve_array","dict","resolved","resolve_dict","_initialize_references_json","to_update","references_json_2","was_new","resolved_attrs","foreach_depth_first","already_started","foreach_value","_attrs","_event_for_attribute_change","changed_obj","new_value","value_refs","changed_model","event_1","new","_events_to_sync_objects","from_obj","to_obj","to_doc","from_keys","to_keys","added","removed_1","added_1","shared_1","old_value","refs","json","from_references","from_roots","from_root_ids","root_ids","to_references","to_roots","to_root_ids","update_model_events","to_json_string","root_references","version","from_json_string","py_version","is_dev","versions_string","roots_json","root_ids_1","create_json_patch_string","json_events","events_2","event_2","events_json","events_json_1","event_json","events_json_2","patched_id","patched_obj","model_type","column_source_id","column_source","ColumnDataSource","rollover","stream","patches","root_id","root_obj","DocumentChangedEvent","value_json","ColumnsPatchedEvent","_references","ColumnsStreamedEvent","__exportStar","_get_element","elementid","getElementById","root_el","BOKEH_ROOT","_resolve_element","_resolve_root_elements","standalone_1","server_1","standalone_2","add_document_standalone","server_2","add_document_from_session","notebook_1","embed_items_notebook","kernels","dom_2","_embed_items","docs_json","render_items","app_path","absolute_url","docs","docid","render_items_1","use_for_title","sessionid","websocket_url","_get_ws_url","embed_item","target_id","doc_id","render_item","embed_items","_handle_notebook_comms","comm_msg","_init_comms","Jupyter","notebook","kernel","comm_manager","register_target","comm","on_msg","registerCommTarget","onMsg","notebook_comms_target","connection_1","loc","protocol","location","href","pathname","host","_sessions","subsessions","_get_session","render_model","_create_view","unrender_model","embed","embed_1","_testing","safely_1","safely","tags","js_property_callbacks","js_event_callbacks","subscribed_events","_update_property_callbacks","_update_event_callbacks","execute","signal_for","evt","_js_callbacks","callbacks","callbacks_1","wrappers","wrappers_1","select_one","proj","renderer_1","AnnotationView","_get_size","request_layout","canvas_view","set_data","plot_model","use_map","_y","_xs","_ys","state","RendererView","Annotation","Renderer","annotation_1","arrow_head_1","ArrowView","streaming","patching","visuals","request_render","_map_data","sx_start","sy_start","sx_end","sy_end","start_units","x_range_name","_x_start","y_range_name","_y_start","end_units","_x_end","_y_end","save","_arrow_head","beginPath","closePath","_arrow_body","restore","action","_end","Arrow","x_start","y_start","x_end","y_end","OpenHead","visuals_1","ArrowHead","NormalHead","_normal","VeeHead","_vee","TeeHead","_ctx","BandView","_lower_sx","_upper_sx","_base_sx","dim","limit_scale","base_scale","limit_view","base_view","lower","_lower","upper","_upper","_base","_lower_sy","_upper_sy","Band","EDGE_TOLERANCE","BoxAnnotationView","canvas_overlays","render_mode","data_update","_calc_dim","dim_units","frame_extrema","screen","sleft","left_units","sright","right_units","top_units","sbottom","bottom_units","draw","_css_box","_canvas_box","sw","sh","borderWidth","borderColor","backgroundColor","opacity","ld","borderStyle","interactive_bbox","tol","in_cursor","ew_cursor","ns_cursor","BoxAnnotation","basic_ticker_1","basic_tick_formatter_1","linear_color_mapper_1","linear_scale_1","log_scale_1","range1d_1","text_util","ColorBarView","_set_canvas_image","ticker","color_mapper","compute_legend_dimensions","palette","orientation","image_ctx","image_data","getImageData","cmap","LinearColorMapper","rgba_mapper","putImageData","image","legend_height","legend_width","image_dimensions","_computed_image_dimensions","image_height","image_width","label_extent","_get_label_extent","title_extent","_title_extent","tick_extent","_tick_extent","compute_legend_location","legend_dimensions","legend_margin","panel","ranges","hr","vr","vx","vy","_draw_bbox","image_offset","_get_image_offset","_draw_image","tick_info","_draw_major_ticks","_draw_minor_ticks","_draw_major_labels","_draw_title","background_fill","fillRect","border_line","strokeRect","scale_alpha","drawImage","bar_line","major_tick_line","nx","ny","x_offset","y_offset","coords","major","tin","major_tick_in","tout","major_tick_out","minor_tick_line","minor","minor_tick_in","minor_tick_out","major_label_text","standoff","label_standoff","x_standoff","y_standoff","formatted_labels","labels","fillText","title_text","title_standoff","major_labels","ctx_1","title_text_font","title_text_font_size","title_text_font_style","frame_height","frame_width","_tick_coordinate_scale","scale_length","source_range","Range1d","target_range","LinearScale","LogScale","_format_major_labels","initial_labels","major_ticks","doFormat","major_label_overrides","ticks","get_ticks","desired_num_ticks","majors","minors","major_coords","minor_coords","ii","coord","ColorBar","BasicTicker","BasicTickFormatter","background_fill_color","background_fill_alpha","bar_line_color","border_line_color","major_label_text_align","major_label_text_baseline","major_label_text_font_size","major_tick_line_color","minor_tick_line_color","arrow_1","arrow_head_2","arrow_head_3","arrow_head_4","arrow_head_5","band_1","box_annotation_1","color_bar_1","label_1","Label","label_set_1","LabelSet","legend_1","Legend","legend_item_1","LegendItem","poly_annotation_1","PolyAnnotation","slope_1","Slope","span_1","Span","text_annotation_1","TextAnnotation","title_1","Title","toolbar_panel_1","ToolbarPanel","tooltip_1","Tooltip","whisker_1","Whisker","LabelView","angle_units","x_units","y_units","_canvas_text","_css_text","TextAnnotationView","LabelSetView","_text","_v_canvas_text","_v_css_text","_x_offset","_y_offset","_angle","bbox_dims","_calculate_bounding_box_dimensions","textContent","lineHeight","text_1","LegendView","click_policy","item_change","compute_legend_bbox","legend_names","get_legend_names","glyph_height","glyph_width","label_height","label_width","max_label_height","label_text","text_widths","legend_names_1","title_height","title_width","max_label_width","legend_padding","legend_spacing","item_width","yoffset","xoffset","legend_bbox","get_labels_list_from_label_prop","labels_1","renderers","_h","muted","legend","_draw_legend_box","_draw_legend_items","get_field_from_label_prop","labels_2","draw_legend","inactive_fill","border_line_alpha","border_line_width","inactive_fill_color","inactive_fill_alpha","label_text_font_size","label_text_baseline","columnar_data_source_1","vectorization_1","_check_data_sources_on_renderers","_check_field_label_on_data_source","columns","data_source_validation","field_validation","ColumnarDataSource","PolyAnnotationView","xs_units","ys_units","SlopeView","_draw_slope","gradient","y_intercept","SpanView","for_hover","computed_location","_draw_span","location_units","_calculate_text_dimensions","TitleView","_get_location","hmargin","vertical_align","build_views_1","ToolbarPanelView","canvas_events","_toolbar_views","toolbar_view","visibility_callbacks","set_visibility","overflow","tools","logo","compute_side","attachment","TooltipView","_draw_tips","data_1","sx_1","sy_1","inner_only","tip","offsetWidth","clientWidth","offsetHeight","show_arrow","childNodes","WhiskerView","lower_head","upper_head","guide_renderer_1","factor_range_1","AxisView","tick","tick_label","_tick_label_extents","axis_label","_axis_label_extent","tick_coords","_draw_rule","_draw_axis_label","_render","request_paint","fixed_location","_tick_label_extent","_extents","axis_line","rule_coords","map_to_screen","sxs","sys","normals","offsets","xoff","yoff","_draw_ticks","compute_labels","major_label_orientation","major_label_standoff","_draw_oriented_labels","_tick_coords","axis_label_standoff","axis_label_text","nxin","nyin","nxout","nyout","_side","dxs","dys","nxd","nyd","_oriented_labels_extent","hscale","extent","x_ranges","y_ranges","user_bounds","range_bounds","user_start","user_end","range_start","range_end","computed_bounds","NaN","range_min","range_max","cross_range_1","FactorRange","synthetic","cross_range","GuideRendererView","Axis","axis_line_color","axis_label_text_font_size","axis_label_text_font_style","GuideRenderer","axis_1","categorical_ticker_1","categorical_tick_formatter_1","CategoricalAxisView","_draw_group_separators","tops","separator_line","alt","ind","factors","pt","tex","_get_factor_info","info_1","visuals_2","group_label_orientation","group_text","mid_labels","mids","subgroup_label_orientation","subgroup_text","CategoricalAxis","CategoricalTicker","CategoricalTickFormatter","separator_line_color","separator_line_width","group_text_font_style","group_text_font_size","group_text_color","subgroup_text_font_style","subgroup_text_font_size","ContinuousAxis","linear_axis_1","datetime_tick_formatter_1","datetime_ticker_1","DatetimeAxisView","LinearAxisView","DatetimeAxis","DatetimeTicker","DatetimeTickFormatter","LinearAxis","categorical_axis_1","continuous_axis_1","datetime_axis_1","log_axis_1","LogAxis","mercator_axis_1","MercatorAxis","log_tick_formatter_1","log_ticker_1","LogAxisView","LogTicker","LogTickFormatter","mercator_tick_formatter_1","mercator_ticker_1","MercatorAxisView","MercatorTicker","MercatorTickFormatter","Callback","CustomJS","Function","cb_obj","cb_data","customjs_1","open_url_1","OpenURL","templating_1","same_tab","_cb_obj","open_url","open","line_indices","dom_view_1","canvas_1","CanvasPixelArray","canvas2svg","CanvasView","map_el","output_backend","canvas_el","getSvg","overlays_el","events_el","get_canvas_element","prepare_canvas","pixel_ratio","use_hidpi","Canvas","categorical_scale_1","data_range1d_1","layout_1","CartesianFrame","x_scale","y_scale","x_range","y_range","extra_x_ranges","extra_y_ranges","_configure_scales","x_name","y_name","_get_ranges","extra_ranges","_get_scales","frame_range","DataRange1d","CategoricalScale","scale_hint","_configure_frame_ranges","_h_target","_v_target","_x_ranges","_y_ranges","_xscales","_yscales","_update_scales","cartesian_frame_1","expression_1","CumSum","include_zero","_v_compute","Expression","_connected","_result","stack_1","cumsum_1","fields","filter_1","BooleanFilter","booleans","compute_indices","Filter","CustomJSFilter","_source","GroupFilter","column_name","group","boolean_filter_1","customjs_filter_1","group_filter_1","index_filter_1","IndexFilter","tick_formatter_1","last_precision","precision","use_scientific","power_limit_high","power_limit_low","_opts","zero_eps","need_sci","ticks_1","tick_abs","scientific_limit_high","scientific_limit_low","toExponential","toFixed","asc","is_ok","TickFormatter","_array","_strftime","microsecond_replacement_string","_us","format_order","strip_leading_zeros","microseconds","seconds","minsec","minutes","hourmin","hours","days","months","years","_update_width_formats","_widths","fmt_strings","sizes","fmt_string","sorted","_width_formats","_get_resolution_str","resolution_secs","span_secs","adjusted_secs","resol","resol_ndx","time_tuple_ndx_for_resol","format_order_1","fmt","tm","hybrid_handled","next_ndx","next_format","ss","isNaN","FuncTickFormatter","_make_func","func_tick_formatter_1","numeral_tick_formatter_1","NumeralTickFormatter","printf_tick_formatter_1","PrintfTickFormatter","opts","small_interval","projections_1","proj_ticks","inverse","language","rounding","_rounding_fn","xy_glyph_1","utils_1","hittest","AnnularWedgeView","inner_radius","sinner_radius","sdist","renderer","_inner_radius","outer_radius","souter_radius","_outer_radius","_start_angle","_end_angle","indices_1","_hit_point","max_outer_radius","candidates","or2","ir2","r_compute","dist","candidates_1","draw_legend_for_index","generic_area_legend","_scenterxy","scenterx","scentery","XYGlyphView","AnnularWedge","start_angle","end_angle","XYGlyph","AnnulusView","clockwise","Annulus","ArcView","radius","sradius","_radius","generic_line_legend","Arc","glyph_1","AreaView","GlyphView","Area","Glyph","spatial_1","_cbb","x3","y3","tvalues","b2ac","sqrtb2ac","t1","t2","jlen","mt","BezierView","_index_data","_x0","_x1","_y0","_y1","_cx0","_cy0","_cx1","_cy1","scx0","scy0","scx1","scy1","Bezier","BoxView","_index_box","_lrtb","l","_clamp_viewport","_hit_rect","_hit_rect_against_index","_hit_span","Box","CenterRotatableView","CenterRotatable","CircleView","rd","radius_dimension","sradius_x","sradius_y_1","sradius_y_2","max_radius","_size","_mask_data","candidates_2","ms","_hit_poly","idx","Circle","ellipse_oval_1","EllipseView","EllipseOvalView","Ellipse","EllipseOval","center_rotatable_1","_set_data","max_w2","max_h2","_bounds","line_1","_nohit_warned","gl","webgl_module","Cls","glglyph","set_visuals","set_visuals_changed","notify_finished","log_bounds","bb","positive_x_bbs","positive_x_bbs_1","positive_y_bbs","positive_y_bbs_1","get_anchor_point","pts","spans","pts_location","dilate","pt0","pt1","halfspan","spt0","spt1","_index","indices_to_update","LineView","data_subset","charAt","xr_1","yr_1","_coords","xname","yname","v_synthetic","set_data_changed","index_data","_indices","mask_data","map_data","sxname","syname","coords_1","area_1","HAreaView","_x2","_inner","sx2","HArea","box_1","HBarView","HBar","HexTileView","_q","aspect_scale","_r","ysize","xsize","_get_unscaled_vertices","svx","svy","rscale","_scale","HexTile","image_base_1","ImageView","_update_image","global_alpha","_set_width_heigh_data","_image","img","_image_shape","_set_image_data_from_buffer","old_smoothing","ImageBaseView","Image","ImageBase","_data","xr","is_reversed","_dw","yr","_dh","_get_or_create_canvas","_image_data","dw","dh","_image_index","dx","dy","image_indices","ImageRGBAView","flat","endj","ImageRGBA","ImageURLView","_images_rendered","_url","retry_attempts","retry_timeout","retries","w_data","h_data","_w","_bounds_rect","ws","hs","finished","_render_image","_final_sx_sy","sxi","syi","ImageURL","annular_wedge_1","annulus_1","arc_1","bezier_1","circle_1","ellipse_1","harea_1","hbar_1","hex_tile_1","image_1","image_rgba_1","image_url_1","multi_line_1","MultiLine","multi_polygons_1","MultiPolygons","oval_1","Oval","patch_1","Patch","patches_1","Patches","quad_1","Quad","quadratic_1","Quadratic","ray_1","Ray","rect_1","Rect","segment_1","Segment","step_1","Step","varea_1","VArea","vbar_1","VBar","wedge_1","Wedge","drawing","last_index","point","shortest","threshold","add_to_selected_glyphs","get_view","get_interpolation_hit","line_interpolation","MultiLineView","_xsi","_ysi","multiline_indices","point_i","MultiPolygonsView","hole_index","_index_hole_data","endk","_inner_loop","endl","hole_candidates","nk","in_a_hole","sxs_k","sys_k","_get_snap_coord","ni","nj","OvalView","PatchView","PatchesView","_build_discontinuous_object","nanned_qs","ds","qs","nan_index","qs_part","denanned","xss","yss","sxss","syss","QuadView","_spt","_qbb","u","bd","QuadraticView","_cx","_cy","scx","scy","quadraticCurveTo","RayView","slength","_length","inf_len","RectView","_map_dist_corner_for_data_side_length","n_1","n_2","ssemi_diag","indices_2","scenter_x","scenter_y","max_x2_ddist","_ddist","max_y2_ddist","height_in","width_in","side_length","sside_length","spt_corner","spts","v_invert","ddist","SegmentView","threshold2","dist2","v0","v1","StepView","L","mode","xm","TextView","_rotate_point","sxr","syr","_text_bounds","xvals","yvals","_sys","_sxs","line_height","xvalues","yvalues","lines","block_height","lines_1","sxc","syc","sxcr","sycr","VAreaView","_y2","sy2","VBarView","WedgeView","max_diameter","dist_1","hittest_1","GraphHitTestPolicy","_hit_test_nodes","graph_view","node_view","glyph","convert_selection_from_subset","_hit_test_edges","edge_view","NodesOnly","graph","node_selection","node_renderer","_select","node_inspection","get_selection_manager","NodesAndLinkedEdges","get_linked_edges","node_source","edge_source","node_indices","edge_indices","linked_edges","edge_indices_1","edge_selection","edge_renderer","linked_edges_selection","selection_manager","edge_inspection","EdgesAndLinkedNodes","get_linked_nodes","edge_indices_2","linked_nodes","LayoutProvider","layout_provider_1","StaticLayoutProvider","graph_layout","get_node_coordinates","get_edge_coordinates","starts","ends","has_paths","endi","in_layout","GridView","_draw_regions","_draw_minor_grids","_draw_grids","band_fill","band_hatch","grid_coords","_x_range_name","_y_range_name","grid_line","_draw_grid_helper","minor_grid_line","axis_views","axis_view","exclude_ends","cmin","cmax","dim_i","dim_j","band_fill_color","band_fill_alpha","grid_line_color","minor_grid_line_color","rebuild","LayoutDOMView","ColumnView","_update_layout","child_views","box_sizing","GridBoxView","child_view","_child_views","GridBox","HTMLBoxView","HTMLBox","column_1","grid_box_1","html_box_1","row_1","spacer_1","Spacer","tabs_1","Panel","Tabs","widget_box_1","WidgetBox","_idle_notified","_offset_parent","build_child_views","_on_resize","resize_layout","_parent_observer","setInterval","offset_parent","compute_viewport","invalidate_layout","sizing_mode","aspect_ratio","background","invalidate_render","child_models","update_layout","update_position","after_layout","_viewport_size","build","compute_layout","_width_policy","_height_policy","measuring","left_1","right_1","bottom_1","width_1","height_1","top_3","inner_width","inner_height","disabled","RowView","SpacerView","TabsView","tabs","on_active_change","tab","tabs_location","scroll_el","headers_el","headers","header_el","panels","scroll_el_size","headers_el_size","wrapper_el","maxWidth","maxHeight","child_views_1","currentTarget","change_active","closable","close_el","ntabs","left_el","right_el","scroll_index","do_scroll","removeAttribute","headers_1","child_views_2","WidgetBoxView","categorical_mapper_1","color_mapper_1","CategoricalColorMapper","nan_color","cat_v_compute","ColorMapper","_cat_equals","targets","extra_value","N","mapper_1","CategoricalMarkerMapper","markers","Mapper","CategoricalPatternMapper","patterns","_convert_color","_convert_palette","new_palette","_uint32_to_rgba","DataView","setUint32","_colors","self","colors","conv","ContinuousColorMapper","high_color","low_color","categorical_color_mapper_1","categorical_marker_mapper_1","categorical_pattern_mapper_1","continuous_color_mapper_1","log_color_mapper_1","LogColorMapper","max_key","norm_factor","normed_interval","normed_d","log1p","transform_1","Transform","marker_1","SQ3","_one_x","_one_cross","_one_diamond","_one_tri","asterisk","_fill","circle_cross","circle_x","cross","diamond","diamond_cross","_one_hex","inverted_triangle","square","square_cross","square_x","triangle","_one_line","_mk_model","_render_one","MarkerView","Marker","Asterisk","CircleCross","CircleX","Cross","Dash","Diamond","DiamondCross","Hex","InvertedTriangle","Square","SquareCross","SquareX","Triangle","X","marker_funcs","circle","scatter_1","Scatter","s2","defs_1","ScatterView","_marker","marker","plot_1","gmap_plot_canvas_1","GMapPlotView","MapOptions","lng","zoom","GMapOptions","map_type","scale_control","styles","tilt","GMapPlot","map_options","api_key","Plot","plot_canvas_1","gmaps_ready","pause","_tiles_loaded","zoom_count","initial_zoom","initial_lat","initial_lng","google","maps","_bokeh_gmaps_callback","script","load_google_api","unpause","update_range","range_info","setCenter","setOptions","sdx","sdy","panBy","zoom_change","old_map_zoom","getZoom","new_map_zoom","setZoom","_get_projected_bounds","proj_xstart","proj_xend","_set_bokeh_ranges","_build_map","map_types","satellite","MapTypeId","SATELLITE","terrain","TERRAIN","roadmap","ROADMAP","hybrid","HYBRID","mo","LatLng","disableDefaultUI","mapTypeId","scaleControl","addListener","addListenerOnce","_render_finished","_update_options","_update_styles","_update_center","_update_zoom","_update_map_type","_update_scale_control","_update_tilt","_get_latlon_bounds","getBounds","top_right","getNorthEast","bottom_left","getSouthWest","xstart","xend","ystart","yend","proj_ystart","proj_yend","fld","getCenter","toJSON","_map_hook","frame_box","_paint_empty","ow","oh","iw","ih","clearRect","border_fill_color","PlotView","gmap_plot_1","gmap_plot_2","gmap_plot_3","toolbar_1","Toolbar","toolbar_location","toolbar_sticky","plot_width","plot_height","title_location","lod_factor","lod_interval","lod_threshold","lod_timeout","min_border","min_border_top","min_border_left","min_border_bottom","min_border_right","outer_width","outer_height","match_aspect","reset_policy","outline_line_color","reset","plots","add_layout","side_renderers","remove_layout","del","add_renderers","add_glyph","extra_attrs","GlyphRenderer","add_tools","side_panels","throttle_1","side_panel_1","global_gl","PlotLayout","left_hint","left_panel","right_hint","right_panel","top_hint","top_panel","bottom_hint","bottom_panel","center_viewport","center_panel","_outer_bbox","_needs_paint","_needs_layout","_is_paused","no_render","is_paused","throttled_paint","clear_state","reset_range","reset_selection","ui_event_bus","tool_views","force_paint","state_changed","lod_started","_initial_state_info","selection","dimensions","history","init_webgl","_toolbar","build_renderer_views","build_tool_views","update_dataranges","get_side","push_toolbar","set_layout","set_layouts","layouts","panels_1","subpanel","premultipliedAlpha","prepare_webgl","ratio","SCISSOR_TEST","scissor","BLEND","blendFuncSeparate","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","ONE_MINUS_DST_ALPHA","ONE","clear_webgl","clearColor","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","blit_webgl","calculate_log_bounds","r_1","bds","log_bds","follow_enabled","has_bounds","bounds_to_use","follow","_j","_k","range_update_timestamp","push_state","new_info","prev_info","can_undo","can_redo","undo","_do_state_change","redo","update_selection","get_selection","_update_ranges_together","range_info_iter","weight","range_info_iter_1","rng","_get_weight_to_constrain_interval","range_info_iter_2","_update_ranges_individually","is_panning","is_scrolling","maintain_focus","hit_bound","range_info_iter_3","new_interval","range_info_iter_4","have_updated_interactively","min_interval","max_interval","max_interval2","old_interval","_invalidate_layout","needs_layout","computed_renderers","tool","overlay","synthetic_renderers","tool_models","new_tool_views","repaint","set_initial_range","good_vals","name_8","paint","set_data_timestamp","outline_line","_paint_levels","clip_region","global_clip","levels_1","needs_clip","has_webgl","_frame_box","cx","cy","cw","fx","fy","fw","fh","border_fill","msToBlob","blob","msSaveBlob","toDataURL","download","dispatchEvent","MouseEvent","svg","getSerializedSvg","svgblob","Blob","downloadLink","innerHTML","URL","createObjectURL","onclick","click","__rest","range_1","DataRange","Range","data_range_1","_plot_bounds","range_padding","range_padding_units","flipped","follow_interval","default_span","_initial_start","_initial_end","_initial_range_padding","_initial_range_padding_units","_initial_follow","_initial_follow_interval","_initial_default_span","rs","renderers_1","_compute_plot_bounds","renderers_2","adjust_bounds_for_aspect","xcenter","ycenter","_compute_min_max","plot_bounds","overall","_compute_range","log_min","log_max","follow_sign","bounds_id","total_bounds","_start","new_range","map_one_level","mapping","map_two_levels","outer_pad","factor_pad","tops_order","factors_1","f0","f1","suboffset","total_subpad","submap","subpad","subtot","tops_order_1","map_three_levels","inner_pad","factors_2","f2","mids_order","submids_order","submids_order_1","tops_order_2","factor_padding","subgroup_padding","group_padding","tops_groups","_lookup","_mapping","inside_padding","half_span","_emit_callback","reset_start","reset_end","_set_auto_bounds","DataRendererView","DataRenderer","data_renderer_1","cds_view_1","selection_defaults","decimated_defaults","nonselection_defaults","base_glyph","has_fill","has_line","glyph_attrs","mk_glyph","build_glyph_view","selection_glyph","nonselection_glyph","hover_glyph","muted_glyph","decimated_glyph","have_selection_glyphs","t0","decimated","dt","glsupport","dtmap","tmask","dtmask","selected_full_indices","selected_glyph","convert_indices_from_subset","inspected_full_indices","inspected_subset_indices","trender","dtselect","tselect","selected_mask","selected_full_indices_1","selected_subset_indices","nonselected_subset_indices","dtrender","last_dtrender","dttot","get_reference_point","CDSView","graph_hit_test_policy_1","_renderer_views","layout_provider","node_glyph","edge_glyph","GraphRenderer","scale_1","Scale","_compute_state","xprime","xprimes","source_start","source_end","target_start","target_end","inter_factor","inter_offset","exp","_get_safe_factor","orig_start","orig_end","log_val","screen_range","transforms_1","SelectionPolicy","IntersectRenderers","hit_test_result_renderers","hit_test_result_renderers_1","hit_test_result_other","update_through_intersection","UnionRenderers","renderer_views_2","hit_test_result_renderers_2","update_through_union","selected_glyphs","flag","remote_data_source_1","AjaxDataSource","initialized","content_type","http_headers","method","if_modified","interval","clearInterval","setup","get_data","polling_interval","_if_modified","xhr","prepare_request","do_load","do_error","XMLHttpRequest","data_url","withCredentials","setRequestHeader","status","raw_data","responseText","load_data","RemoteDataSource","filters","indices_map","connect_listeners","get_indices","indices_map_to_subset","selection_subset","selection_full","indices_1d","convert_selection_to_subset","typed_array","stream_to_column","new_col","total_len","patch_to_column","patched","patched_range","istart","istop","istep","jstart","jstop","jstep","optional_parent_object","data_source_1","selection_manager_1","interaction_policy_1","get_array","colname","soft","lengths","DataSource","GeoJSONDataSource","geojson","_update_data","geojson_to_column_data","_get_new_list_array","_get_new_nan_array","_add_properties","item_count","_add_geometry","orNaN","flatten","acc","coordinates","z","zs","exterior_ring","exterior_rings","polygon","geometries","features","arr_index","items_2","server_sent_data_source_1","ServerSentDataSource","ajax_data_source_1","geojson_data_source_1","web_data_source_1","WebDataSource","EventSource","adapter","response","original_data","old_col","texture_1","CanvasTexture","pattern_ctx","repetition","Texture","ImageURLTexture","_color","_weight","complete","canvas_texture_1","image_url_texture_1","continuous_ticker_1","AdaptiveTicker","mantissas","prefix_mantissa","suffix_mantissa","extended_mantissas","base_factor","get_min_interval","get_interval","data_low","data_high","desired_n_ticks","min_val","max_val","data_range","ideal_interval","get_ideal_interval","interval_exponent","ideal_magnitude","candidate_mantissas","errors","mantissa","best_mantissa","get_max_interval","ContinuousTicker","adaptive_ticker_1","ticker_1","_cross_loc","_collect","Ticker","CompositeTicker","tickers","min_intervals","max_intervals","get_best_ticker","best_ticker","ticker_ndxs","intervals","best_index","best_ticker_ndx","get_ticks_no_defaults","cross_loc","num_minor_ticks","_range","start_factor","end_factor","minor_ticks","minor_interval_1","minor_offsets","minor_offsets_1","composite_ticker_1","days_ticker_1","months_ticker_1","years_ticker_1","util_1","ONE_MILLI","ONE_SECOND","ONE_MINUTE","ONE_HOUR","DaysTicker","MonthsTicker","YearsTicker","single_interval_ticker_1","ONE_DAY","_desired_n_ticks","month_dates","start_time","end_time","start_date","last_month_no_later_than","end_date","setUTCMonth","getUTCMonth","dates","date","copy_date","date_range_by_month","day_dates","month_date","current_month","days_1","day","day_date","setUTCDate","future_date","getTime","days_of_month","all_ticks","ticks_in_range","SingleIntervalTicker","FixedTicker","_data_low","_data_high","fixed_ticker_1","log_low","log_high","log_interval","interval_1","startlog","endlog","minor_interval_2","minor_offsets_2","ticks_2","minor_offsets_3","proj_low","proj_high","proj_cross_loc","_l","_m","_o","_p","ONE_MONTH","year_dates","last_year_no_later_than","setUTCFullYear","getUTCFullYear","date_range_by_year","year_date","month","_n_desired_ticks","new_date","setUTCHours","setUTCMinutes","setUTCSeconds","setUTCMilliseconds","ONE_YEAR","basic_ticker","start_year","end_year","year","UTC","mercator_tile_source_1","BBoxTileSource","use_latlon","get_image_url","xmax","xmin","ymax","ymin","image_url","string_lookup_replace","extra_url_vars","get_tile_geographic_bounds","get_tile_meter_bounds","MercatorTileSource","ImagePool","images","bbox_tile_source_1","quadkey_tile_source_1","QUADKEYTileSource","tile_renderer_1","TileRenderer","tile_source_1","TileSource","tms_tile_source_1","TMSTileSource","wmts_tile_source_1","WMTSTileSource","tile_utils_1","snap_to_zoom","wrap_around","x_origin_offset","y_origin_offset","initial_resolution","_resolutions","min_zoom","max_zoom","get_resolution","_computed_initial_resolution","tile_size","is_valid_tile","parent_by_tile_xyz","quadkey","tile_xyz_to_quadkey","parent_quadkey","quadkey_to_tile_xyz","get_resolution_by_extent","x_rs","y_rs","get_level_by_extent","resolution","get_closest_level_by_extent","closest","snap_to_zoom_level","desired_res","desired_x_delta","desired_y_delta","x_adjust","y_adjust","tms_to_wmts","wmts_to_tms","pixels_to_meters","res","mx","my","meters_to_pixels","pixels_to_tile","tx","ty","pixels_to_raster","mapSize","meters_to_tile","meters_extent_to_geographic","minLon","minLat","maxLon","maxLat","get_tiles_by_extent","tile_border","txmin","tymin","txmax","tymax","tiles","sort_tiles_from_center","quadKey","tileX","tileY","tileZ","mask","digit","children_by_tile_xyz","child_tile_xyz","x_1","y_1","z_1","get_closest_parent_by_tile_xyz","world_x","calculate_world_x_by_tile_xyz","normalize_xyz","denormalize_xyz","tile_xyz_to_key","tile_count","denormalize_meters","meters_x","meters_y","_level","wx","wy","wz","image_pool_1","TileRendererView","_tiles","tile_source","get_extent","map_plot","pool","_last_height","_last_width","_update_attribution","attribution_el","attribution","offset_right","offset_bottom","max-width","background-color","font-size","line-height","text-overflow","overlays","initial_extent","zoom_level","map_frame","new_extent","_on_tile_load","tile_data","loaded","_on_tile_cache_load","_on_tile_error","_create_tile","cache_only","nz","tile","tile_coords","normalized_coords","cache_key","x_coord","y_coord","_enforce_aspect_ratio","map_initialized","_update","prefetch_timer","_prefetch_tiles","_draw_tile","tile_key","tile_obj","sxmin","symin","sxmax","symax","map_canvas","smoothing","_set_rect","outline_width","outline_line_width","_render_tiles","tile_keys","tile_keys_1","cz","cbounds","_fetch_tiles","tiles_1","zooming_out","snap_back","need_load","cached","parents","tiles_2","render_parents","pz","parent_key","parent_tile","child_tiles","child_tiles_1","child_key","render_timer","_selection_manager","_normalize_case","_clear_cache","lookup","result_str","key_to_tile_xyz","tile_extent","center_x","center_y","a_distance","b_distance","geographic_to_meters","xLon","yLat","meters_to_geographic","geographic_extent_to_meters","g_xmin","g_ymin","g_xmax","g_ymax","m_xmin","m_ymin","m_xmax","m_ymax","button_tool_1","ActionToolButtonView","_clicked","do","ButtonToolButtonView","ActionToolView","ButtonToolView","ActionTool","button_view","ButtonTool","action_tool_1","CustomActionButtonView","CustomActionView","CustomAction","tool_name","action_tooltip","icon","HelpToolView","redirect","HelpTool","help_tooltip","RedoToolView","RedoTool","ResetToolView","ResetTool","SaveToolView","SaveTool","UndoToolView","UndoTool","zoom_1","ZoomInToolView","dims","zoom_info","ZoomInTool","_get_dim_tooltip","ZoomOutToolView","ZoomOutTool","tool_1","computed_icon","backgroundImage","tooltip","ToolView","Tool","edit_tool_1","BoxEditToolView","_draw_basepoint","_basepoint","_select_event","_mouse_in_frame","Backspace","_delete_selected","Esc","cds","_set_extent","xkey","ykey","wkey","hkey","_pop_glyphs","num_objects","_pad_empty_columns","_emit_cds_changes","_update_box","curpoint","limits","_get_dim_limits","sxlim","sylim","_drag_points","EditToolView","BoxEditTool","default_order","EditTool","gesture_tool_1","_map_drag","columns_1","drop","redraw","bx","by","basepoint","coord_columns","empty_value","sm","GestureToolView","custom_icon","custom_tooltip","GestureTool","FreehandDrawToolView","_draw","xidx","yidx","FreehandDrawTool","PointDrawToolView","drag","PointDrawTool","poly_tool_1","PolyDrawToolView","_drawing","_initialized","_snap_to_vertex","_show_vertices","_set_vertices","_remove","vertex_renderer","deactivate","_hide_vertices","PolyToolView","PolyDrawTool","PolyTool","PolyEditToolView","vertex_selected","point_cds","point_glyph","pxkey","pykey","_selected_renderer","_remove_vertex","PolyEditTool","point_ds","select_tool_1","BoxSelectToolView","_compute_limits","base_point","_base_point","select_every_mousemove","_do_select","SelectToolView","DEFAULT_BOX_OVERLAY","BoxSelectTool","SelectTool","BoxZoomToolView","_match_aspect","hend","hstart","vend","vstart","vw","vh","va","xmod","BoxZoomTool","on_off_button_1","OnOffButtonView","LassoSelectToolView","_active_change","_clear_overlay","Enter","DEFAULT_POLY_OVERLAY","LassoSelectTool","PanToolView","last_dx","last_dy","v_axis_only","h_axis_only","pan_info","new_dx","new_dy","sx_low","sx_high","sy_low","sy_high","PanTool","PolySelectToolView","_clear_data","PolySelectTool","flip_side","is_near","pos","tolerance","svalue","is_inside","sides_inside","compute_value","sdelta","compute_end_side","compute_start_side","plot_range","sstart","initial_sides_inside","final_sides_inside","RangeToolView","update_overlay_from_ranges","x_interaction","y_interaction","_ev","DEFAULT_RANGE_OVERLAY","RangeTool","all_renderers","compute_renderers","_computed_renderers_by_data_source","renderers_by_source","source_id","r_views","_emit_selection_event","ym","TapToolView","behavior","TapTool","WheelPanToolView","speed","_update_ranges","sy_range","sx_range","WheelPanTool","WheelZoomToolView","zoom_on_axis","WheelZoomTool","custom_action_1","help_tool_1","redo_tool_1","reset_tool_1","save_tool_1","undo_tool_1","zoom_in_tool_1","zoom_out_tool_1","box_edit_tool_1","freehand_draw_tool_1","point_draw_tool_1","poly_draw_tool_1","poly_edit_tool_1","box_select_tool_1","box_zoom_tool_1","lasso_select_tool_1","pan_tool_1","poly_select_tool_1","range_tool_1","tap_tool_1","wheel_pan_tool_1","wheel_zoom_tool_1","crosshair_tool_1","CrosshairTool","customjs_hover_1","CustomJSHover","hover_tool_1","HoverTool","inspect_tool_1","InspectTool","tool_proxy_1","ToolProxy","toolbar_base_1","ToolbarBase","toolbar_box_1","ProxyToolbar","toolbar_box_2","ToolbarBox","CrosshairToolView","_update_spans","InspectToolView","_make_code","valname","formatname","varsname","_nearest_line_hit","dist1","d1","d2","_line_hit","HoverToolView","ttviews","_computed_renderers","_ttmodels","tooltips","_compute_ttmodels","ttmodels","_clear","rid","_inspect","tt","_s","_t","data_x","data_y","line_policy","vars","_render_tooltips","_u","_v","struct","rendered","_z","point_policy","_0","_1","jj","segment_index","borderSpacing","tooltips_1","cell","el_1","swatch","el_2","toggleable","set_active","ToolbarBaseView","active_drag","active_inspect","active_scroll","active_tap","active_multi","_init_tools","help","actions","event_types","multi","event_types_1","_activate_gesture","gesture","ToolbarViewModel","_visible","autohide","_tool_button_views","_build_tool_button_views","_toolbar_view_model","_on_visible_change","_proxied_tools","bars","bars_1","bar","currently_active_tool","_merge_tools","new_help_tools","new_help_urls","helptool","make_proxy","proxy","tool_type","tools_1","tools_2","ToolbarBoxView","CustomJSTransform","v_func","_make_transform","scalar_transform","vector_transform","Dodge","xs0","_compute","customjs_transform_1","dodge_1","interpolator_1","Interpolator","jitter_1","Jitter","linear_interpolator_1","LinearInterpolator","step_interpolator_1","StepInterpolator","_sorted_dirty","descending","tsx","tsy","column_names","list","_x_sorted","_y_sorted","list_1","bokeh_math","mean","distribution","previous_values","diffs","mdiff_1","toStr","isCallable","maxSafeInteger","toLength","polyfill","log10","LOG10E","count","RangeError","rpt","number","toInteger","arrayLike","T","mapFn","kValue","metadata","assemble","header_json","metadata_json","content_json","assemble_buffer","buf_header","buf_payload","nb","num_buffers","create_header","_partial","_fragments","_buf_header","_current_consumer","_HEADER","fragment","_assume_text","_METADATA","_CONTENT","_check_complete","_BUFFER_HEADER","_BUFFER_PAYLOAD","_assume_binary","borderRadius","fontFamily","minWidth","cssFloat","whiteSpace","overflowX","getElementsByTagName","_burst_into_flames","_update_test_div","getElementsByClassName","record","STYLES","CanvasGradient","CanvasPattern","namedEntities","randomString","holder","randomstring","getDominantBaseline","alphabetic","hanging","middle","radix","base10","createNamedToNumberedLookup","svgAttr","miterLimit","shadowColor","shadowOffsetX","shadowOffsetY","shadowBlur","lineDash","gradientNode","__root","__ctx","addColorStop","__createElement","exec","o","defaultOptions","enableMirroring","__document","__canvas","__setDefaultStyles","__stack","__getStyleState","__groupStack","createElementNS","setAttributeNS","__ids","__defs","__currentElement","elementName","resetFill","__applyStyleState","styleState","__applyStyleToCurrentElement","currentElement","currentStyleGroup","__currentElementsToStyle","getAttribute","__closestGroupOrSvg","nodeName","fixNamedEntities","regexp","serialized","XMLSerializer","serializeToString","__addTransform","__applyCurrentDefaultPath","degrees","path","__currentDefaultPath","__currentPosition","__addPathCommand","command","cp1x","cp1y","cp2x","cp2y","cpx","cpy","normalize","vector","arcTo","unit_vec_p1_p0","unit_vec_p1_p2","theta","acos","unit_vec_p1_origin","len_p1_origin","unit_vec_origin_start_tangent","unit_vec_origin_end_tangent","getAngle","startAngle","endAngle","__clearCanvas","rootGroup","createLinearGradient","grad","gradientUnits","createRadialGradient","__parseFont","fontPart","family","decoration","__fontUnderline","__fontHref","__wrapTextLink","__applyText","textElement","font-family","font-style","font-weight","text-decoration","text-anchor","dominant-baseline","strokeText","counterClockwise","endX","endY","startX","startY","sweepFlag","largeArcFlag","xAxisRotation","clipPath","newGroup","defs","svgImage","translateDirective","cloneNode","transformDirective","originTransform","dashArray","drawFocusRing","createImageData","globalCompositeOperation","setTransform","C2S","normalizeOptions","ensureCallable","callable","validValue","desc","dgs","writable","overwriteDefinition","resolveContext","assign","normalizeOpts","dscr","gs","numberIsNaN","toPosInt","objHasOwnProperty","searchElement","fromIndex","iteratorSymbol","iterator","isArguments","Context","getIterator","next","objToString","sign","objPropertyIsEnumerable","propertyIsEnumerable","defVal","compareFn","foo","trzy","aFrom","propertyNames","propertyName","ensure","shim","nullObject","polyProps","getOwnPropertyNames","defineProperties","function","_undefined","targetObj","opts1","process","setPrototypeOf","getPrototypeOf","plainObject","customCreate","objIsPrototypeOf","isPrototypeOf","nullDesc","tmpObj1","tmpObj2","getOwnPropertyDescriptor","ignore","__proto__","isNullBase","nullPolyfill","generated","ArrayIterator","Symbol","Iterator","_resolve","__kind__","__list__","toStringTag","iterable","doBreak","broken","char","StringIterator","autoBind","__context__","__nextIndex__","_onAdd","_onDelete","_onClear","_next","__redo__","shift","_unBind","_createResult","__length__","isIterable","delete","entries","MapIterator","toStringTagSymbol","kinds","unBind","__mapKeysData__","__values__","__mapValuesData__","MapPoly","eIndexOf","ee","forOf","isNative","global","factory","ES6Promise","vertxNext","customSchedulerFn","asap","queue","flush","scheduleFlush","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useSetTimeout","globalSetTimeout","channel","iterations","observer","onFulfillment","onRejection","noop","PROMISE_ID","makePromise","invokeCallback","subscribe","resolve$1","nextTick","observe","characterData","port1","port2","postMessage","vertx","runOnLoop","runOnContext","attemptVertx","PENDING","FULFILLED","REJECTED","TRY_CATCH_ERROR","getThen","handleMaybeThenable","maybeThenable","then$$1","thenable","fulfill","handleOwnThenable","sealed","fulfillmentHandler","rejectionHandler","tryThen","_label","handleForeignThenable","publishRejection","_onerror","publish","_subscribers","subscribers","settled","hasCallback","succeeded","failed","tryCatch","Enumerator","Constructor","_instanceConstructor","_remaining","_enumerate","_eachEntry","entry","resolve$$1","_then","_settledAt","Promise$1","_willSettleAt","enumerator","resolver","needsResolver","initializePromise","needsNew","finally","all","race","_setScheduler","scheduleFn","_setAsap","asapFn","_asap","local","P","promiseToString","cast","validTypes","symbol","toPrimitive","NativeSymbol","SymbolPolyfill","HiddenSymbol","isNativeSafe","validateSymbol","objPrototype","globalSymbols","created","generateName","ie11BugWorkaround","postfix","description","__description__","__name__","for","keyFor","hasInstance","isConcatSpreadable","species","unscopables","valueOf","isSymbol","weakMap","WeakMapPoly","randomUniq","__weakMapData__","methods","descriptors","descriptor","listener","__eeOnceListener__","__ee__","listeners","candidate","FlatQueue","ids","parentValue","halfLength","bestIndex","bestValue","rightValue","peek","peekValue","Flatbush","numItems","nodeSize","ArrayType","numNodes","_levelBounds","IndexArrayType","arrayTypeIndex","nodesByteSize","_boxes","_pos","_queue","axisDist","upperBound","swap","boxes","temp","hilbert","D","i0","i1","magic","versionAndType","ref$1","ref$2","hilbertValues","pivot","i$1","pos$1","nodeMinX","nodeMinY","nodeMaxX","nodeMaxY","nodeIndex","i$2","minX$1","minY$1","maxX$1","maxY$1","filterFn","neighbors","maxResults","maxDistance","maxDistSquared","dist$1","exportName","VENDOR_PREFIXES","TEST_ELEMENT","TYPE_FUNCTION","setTimeoutContext","bindFn","invokeArrayArg","each","deprecate","deprecationMessage","stack","nextKey","inherit","childP","baseP","boolOrFn","ifUndefined","val1","val2","addEventListeners","types","handler","splitStr","removeEventListeners","hasParent","inStr","trim","inArray","findByKey","toArray","uniqueArray","prefixed","camelProp","toUpperCase","_uniqueId","getWindowForElement","ownerDocument","defaultView","parentWindow","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","COMPUTE_INTERVAL","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","PROPS_XY","PROPS_CLIENT_XY","Input","manager","inputTarget","domHandler","inputHandler","eventType","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","timeStamp","deltaTime","distance","getDistance","offsetDelta","prevDelta","prevInput","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","getRotation","maxPointers","velocity","velocityX","velocityY","lastInterval","computeIntervalInputData","computeInputData","recognize","clientX","clientY","p2","evEl","evTarget","evWin","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","MouseInput","pressed","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","PointerEventInput","store","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","SingleTouchInput","started","changed","TOUCH_INPUT_MAP","TOUCH_TARGET_EVENTS","TouchInput","targetIds","allTouches","identifier","targetTouches","changedTargetTouches","touch","DEDUP_TIMEOUT","DEDUP_DISTANCE","TouchMouseInput","mouse","primaryTouch","lastTouches","setLastTouch","eventData","lastTouch","lts","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","touchMap","cssSupports","CSS","supports","getTouchActionProps","TouchAction","recognizers","recognizer","getTouchAction","hasPanX","hasPanY","cleanTouchActions","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","Recognizer","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","preset","Manager","handlers","oldCssProps","inputClass","toggleCssProps","cssProps","dropRecognizeWith","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","attrTest","optionPointers","isRecognized","isValid","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","taps","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","stopped","curRecognizer","gestureEvent","createEvent","initEvent","triggerDomEvent","STATE_FAILED","Swipe","Rotate","freeGlobal","numbro","cultures","languages","currentCulture","zeroFormat","defaultFormat","zeroes","roundingFunction","optionals","optionalsRegExp","power","beforeDec","afterDec","exponent","toFixedLarge","formatNumbro","originalFormat","spliceIndex","symbolIndex","openParenIndex","plusSignIndex","minusSignIndex","space","decimalSeparator","currency","spaceSeparated","formatNumber","formatCurrency","formatPercentage","formatTime","sep","totalLength","minimumPrecision","intPrecision","thousands","indexOpenP","indexMinus","minlen","negP","signed","optDec","abbr","abbrK","abbrM","abbrB","abbrT","abbrForce","ord","binarySuffixes","decimalSuffixes","forcedNeg","neg","LN10","abbreviations","trillion","billion","million","thousand","ordinal","delimiters","decimal","setCulture","chooseCulture","currencyFormat","defaultCurrencyFormat","isNumbro","unformat","setLanguage","newLanguage","fallbackLanguage","matchingLanguage","newCulture","fallbackCulture","suffix","matchingCulture","culture","languageData","cultureData","formats","fourDigits","fullWithTwoDecimals","fullWithTwoDecimalsNoCurrency","_decimalSep","_thousandSep","_currSymbol","_valArray","_abbrObj","_thousandRegEx","formatString","parseCode","projections","deriveConstants","Datum","datum","srsCode","ourProj","projName","datumCode","datumDef","datum_params","towgs84","ellps","datumName","k0","axis","sphere","rf","ecc","eccentricity","R_A","datumObj","es","ep2","crs","denorm","xin","yin","zin","out","TWO_PI","eccent","sinphi","cosphi","con","HALF_PI","ts","dphi","eccnth","phi","atan","com","ch1903","ggrs87","nad83","nad27","nadgrids","potsdam","carthage","hermannskogel","ire65","rassadiran","nzgd49","osgb36","s_jtsk","beduaram","gunung_segara","rnb72","MERIT","ellipseName","SGS85","GRS80","IAU76","airy","APL4","NWL9D","mod_airy","andrae","aust_SA","GRS67","bessel","bess_nam","clrk66","clrk80","clrk58","CPM","delmbr","engelis","evrst30","evrst48","evrst56","evrst69","evrstSS","fschr60","fschr60m","fschr68","helmert","hough","intl","kaula","lerch","mprts","new_intl","plessis","krass","SEasia","walbeck","WGS60","WGS66","WGS7","WGS84","greenwich","lisbon","paris","bogota","madrid","rome","bern","jakarta","ferro","brussels","stockholm","athens","oslo","ft","to_meter","transformer","to","transformedArray","checkProj","oProj","fromProj","toProj","single","PJD_3PARAM","PJD_7PARAM","PJD_WGS84","PJD_NODATUM","SEC_TO_RAD","datum_type","compareDatums","geodeticToGeocentric","Rn","Sin_Lat","Sin2_Lat","Cos_Lat","Longitude","Latitude","Height","geocentricToGeodetic","RR","CT","ST","RX","RK","RN","CPHI0","SPHI0","CPHI","SPHI","SDPHI","iter","Y","Z","geocentricToWgs84","Dx_BF","Dy_BF","Dz_BF","Rx_BF","Ry_BF","Rz_BF","M_BF","geocentricFromWgs84","x_tmp","y_tmp","z_tmp","checkParams","globals","parseProj","wkt","EPSG","ESRI","IAU2000","Ellipsoid","a2","b2","destination","GOOGLE","projStr","codeWords","testObj","testDef","word","testWKT","testProj","D2R","PrimeMeridian","defData","paramName","paramVal","paramOutname","paramObj","lat_0","lat0","lat_1","lat1","lat_2","lat2","lat_ts","lon_0","long0","lon_1","long1","lon_2","long2","lonc","longc","x_0","y_0","k_0","r_a","zone","south","utmSouth","from_greenwich","pm","projs","projStore","identity","msfnz","R2D","adjust_lon","FORTPI","tsfnz","phi2z","datum_transform","adjust_axis","toPoint","checkNotWGS","grom_greenwich","mapit","aa","sExpr","convert","auth","d2r","lisp","unshift","toMeter","PROJECTION","UNIT","DATUM","SPHEROID","GEOGCS","outName","inName","cleanWKT","re","not_string","not_bool","not_type","not_primitive","numeric_arg","not_json","modulo","placeholder","key_access","index_access","parse_tree","argv","ph","pad","pad_character","pad_length","is_positive","tree_length","param_no","toPrecision","pad_char","sprintf_format","sprintf_cache","_fmt","arg_names","SyntaxError","field_list","replacement_field","field_match","sprintf_parse","vsprintf","definition","actualize","rule","actualized","getUTCDay","clock","posix","wallclock","saved","request","I","found","abbrev","rules","letter","convertToWallclock","convertToPOSIX","adjust","increment","UNITS","TIME","getUTCDate","parts","part","-","%","U","weekOfYear","W","V","isoWeek","H","getUTCHours","M","getUTCMinutes","S","getUTCSeconds","locale","full","meridiem","F","time12","time24","dateTime","vargs","$","argument","adjustments","UNIT_RE","zones","colons","specifier","en_US","startOfWeek","weekStart","nyy","week","getDate","__param","__metadata","__awaiter","__generator","__values","__read","__spread","__await","__asyncGenerator","__asyncDelegator","__asyncValues","__makeTemplateObject","__importStar","__importDefault","createExporter","__esModule","exporter","extendStatics","__","getOwnPropertySymbols","decorators","Reflect","decorate","paramIndex","decorator","metadataKey","metadataValue","_arguments","generator","fulfilled","rejected","sent","trys","ops","verb","throw","return","op","ar","asyncIterator","resume","settle","cooked","raw","mod"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yCAAA,SAAAA,EAAAC,EAAAC,GACA,IAAAC,EAAAH,EAAA,KACAI,EAAAJ,EAAA,IACAE,EAAAG,UAAA,GACA,IAAAC,EAAAF,EAAAG,MAAAJ,GACAD,EAAAM,OAAA,SAAAC,GACA,IAAAC,EAAAR,EAAAG,UAAAI,IAAAH,EAAAG,GACA,GAAA,MAAAC,EACA,MAAA,IAAAC,MAAA,UAAAF,EAAA,oIAEA,OAAAC,GAEAR,EAAAM,OAAAI,SAAA,SAAAH,EAAAC,GACAR,EAAAG,UAAAI,GAAAC,GAEAR,EAAAM,OAAAK,WAAA,SAAAJ,UACAP,EAAAG,UAAAI,IAEAP,EAAAM,OAAAM,gBAAA,SAAAX,EAAAY,EAAAC,GAIA,QAHA,IAAAD,IACAA,GAAA,GAEA,MAAAZ,EAEA,IAAA,IAAAc,KAAAd,EAAA,CACA,IAAAO,EAAAP,EAAAc,GACAF,IAAAT,EAAAY,eAAAD,GACAX,EAAAW,GAAAP,EACA,MAAAM,EACAA,EAAAC,GAEAE,QAAAC,KAAA,UAAAH,EAAA,8BAGAf,EAAAY,gBAAAZ,EAAAM,OAAAM,gBACAZ,EAAAM,OAAAa,iBAAA,WAAA,OAAAC,OAAAC,KAAAjB,KCnCA,SAAAN,EAAAC,EAAAC,GACA,IAAAsB,EAAAxB,EAAA,IACAyB,EAAAzB,EAAA,IACA0B,EAAA1B,EAAA,KACA2B,EAAA3B,EAAA,KACA4B,EAAA5B,EAAA,GACAE,EAAA2B,6BAAA,yBACA3B,EAAA4B,mBAAA,UACA,IAAAC,EAAA,EACAC,EAAA,WACA,SAAAA,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,QACA,IAAAJ,IACAA,EAAA/B,EAAA2B,mCAEA,IAAAK,IACAA,EAAAhC,EAAA4B,yBAEA,IAAAK,IACAA,EAAA,WAEA,IAAAC,IACAA,EAAA,WAEA,IAAAC,IACAA,EAAA,MAEAC,KAAAL,IAAAA,EACAK,KAAAJ,GAAAA,EACAI,KAAAH,YAAAA,EACAG,KAAAF,sBAAAA,EACAE,KAAAD,4BAAAA,EACAC,KAAAC,QAAAR,IACAO,KAAAE,OAAA,KACAF,KAAAG,QAAA,KACAH,KAAAI,oBAAA,EACAJ,KAAAK,iBAAA,KACAL,KAAAM,aAAA,KACAN,KAAAO,iBAAA,GACAP,KAAAQ,UAAA,IAAAnB,EAAAoB,SACAvB,EAAAwB,OAAAC,MAAA,sBAAAX,KAAAC,QAAA,QAAAD,KAAAL,IAAA,cAAAK,KAAAJ,GAAA,KA+NA,OA7NAF,EAAAkB,UAAAC,QAAA,WACA,IAAAC,EAAAd,KACA,GAAAA,KAAAI,mBACA,OAAAW,QAAAC,OAAA,IAAA3C,MAAA,+CACA,GAAA,MAAA2B,KAAAE,OACA,OAAAa,QAAAC,OAAA,IAAA3C,MAAA,sBACA2B,KAAAO,iBAAA,GACAP,KAAAK,iBAAA,KACA,IACA,IAAAY,EAAAjB,KAAAL,IAAA,gDAAAK,KAAAJ,GAIA,OAHA,MAAAI,KAAAH,aAAAG,KAAAH,YAAAqB,OAAA,IACAD,GAAA,IAAAjB,KAAAH,aACAG,KAAAE,OAAA,IAAAiB,UAAAF,GACA,IAAAF,QAAA,SAAAK,EAAAJ,GAGAF,EAAAZ,OAAAmB,WAAA,cACAP,EAAAZ,OAAAoB,OAAA,WAAA,OAAAR,EAAAS,SAAAH,EAAAJ,IACAF,EAAAZ,OAAAsB,UAAA,SAAAC,GAAA,OAAAX,EAAAY,YAAAD,IACAX,EAAAZ,OAAAyB,QAAA,SAAAF,GAAA,OAAAX,EAAAc,UAAAH,IACAX,EAAAZ,OAAA2B,QAAA,WAAA,OAAAf,EAAAgB,UAAAd,MAGA,MAAAe,GAGA,OAFA7C,EAAAwB,OAAAqB,MAAA,qCAAA/B,KAAAL,KACAT,EAAAwB,OAAAqB,MAAA,MAAAA,GACAhB,QAAAC,OAAAe,KAGArC,EAAAkB,UAAAoB,MAAA,WACAhC,KAAAI,qBACAlB,EAAAwB,OAAAC,MAAA,4CAAAX,KAAAC,SACAD,KAAAI,oBAAA,EACA,MAAAJ,KAAAE,QACAF,KAAAE,OAAA8B,MAAA,IAAA,2CAAAhC,KAAAC,SACAD,KAAAG,QAAA8B,qBACA,MAAAjC,KAAAD,8BACAC,KAAAD,8BACAC,KAAAD,4BAAA,QAIAL,EAAAkB,UAAAsB,oBAAA,SAAAC,GACA,IAAArB,EAAAd,KAkBAoC,WAjBA,WAOAtB,EAAAV,oBACAlB,EAAAwB,OAAA2B,KAAA,wBAAAvB,EAAAb,QAAA,iDASAkC,IAEAzC,EAAAkB,UAAA0B,KAAA,SAAAC,GACA,GAAA,MAAAvC,KAAAE,OACA,MAAA,IAAA7B,MAAA,gCAAAkE,GACAA,EAAAD,KAAAtC,KAAAE,SAEAR,EAAAkB,UAAA4B,gBAAA,SAAAD,GACA,IAAAzB,EAAAd,KACAyC,EAAA,IAAA1B,QAAA,SAAAK,EAAAJ,GACAF,EAAAP,iBAAAgC,EAAAG,SAAA,CAAAtB,EAAAJ,GACAF,EAAAwB,KAAAC,KAEA,OAAAE,EAAAE,KAAA,SAAAJ,GACA,GAAA,UAAAA,EAAAK,UACA,MAAA,IAAAvE,MAAA,eAAAkE,EAAAM,QAAAC,MAEA,OAAAP,GACA,SAAAR,GACA,MAAAA,KAGArC,EAAAkB,UAAAmC,eAAA,WACA,IAAAR,EAAAnD,EAAA4D,QAAAC,OAAA,eAAA,IACAR,EAAAzC,KAAAwC,gBAAAD,GACA,OAAAE,EAAAE,KAAA,SAAAO,GACA,KAAA,QAAAA,EAAAL,SACA,MAAA,IAAAxE,MAAA,oCACA,OAAA6E,EAAAL,QAAAM,KACA,SAAApB,GACA,MAAAA,KAGArC,EAAAkB,UAAAwC,oBAAA,WACA,IAAAtC,EAAAd,KACA,MAAAA,KAAAG,QACAjB,EAAAwB,OAAAC,MAAA,kCAEAzB,EAAAwB,OAAAC,MAAA,qBACAX,KAAA+C,iBAAAJ,KAAA,SAAAU,GACA,GAAA,MAAAvC,EAAAX,QACA,GAAAW,EAAAV,mBACAlB,EAAAwB,OAAAC,MAAA,4DACA,CACA,IAAA2C,EAAAnE,EAAAoE,SAAAC,UAAAH,GAIAI,EAAAtE,EAAAoE,SAAAG,0BAAAL,EAAAC,GACA,GAAAG,EAAAE,OAAAzC,OAAA,EAAA,CACAhC,EAAAwB,OAAAC,MAAA,WAAA8C,EAAAE,OAAAzC,OAAA,mDACA,IAAA0C,EAAAxE,EAAA4D,QAAAC,OAAA,YAAA,GAAAQ,GACA3C,EAAAwB,KAAAsB,GAEA9C,EAAAX,QAAA,IAAAb,EAAAuE,cAAA/C,EAAAwC,EAAAxC,EAAAlB,IACAV,EAAAwB,OAAAC,MAAA,6CACA,MAAAG,EAAAhB,wBACAgB,EAAAhB,sBAAAgB,EAAAX,SACAW,EAAAhB,sBAAA,WAKAgB,EAAAX,QAAA2D,SAAAC,kBAAAV,GACAnE,EAAAwB,OAAAC,MAAA,iDAEA,SAAAoB,GAIA,MAAAA,IACAiC,MAAA,SAAAjC,GACA,MAAAlD,QAAAoF,OACApF,QAAAoF,MAAAlC,GACA7C,EAAAwB,OAAAqB,MAAA,4BAAAA,MAGArC,EAAAkB,UAAAW,SAAA,SAAAH,EAAAJ,GACA,IAAAF,EAAAd,KACAd,EAAAwB,OAAA2B,KAAA,wBAAArC,KAAAC,QAAA,gBACAD,KAAAM,aAAA,CAAAc,EAAAJ,GACAhB,KAAAK,iBAAA,SAAAkC,GACAzB,EAAAoD,sBAAA3B,KAGA7C,EAAAkB,UAAAc,YAAA,SAAAD,GACA,MAAAzB,KAAAK,kBACAnB,EAAAwB,OAAAqB,MAAA,6CACA,IACA/B,KAAAQ,UAAA2D,QAAA1C,EAAA2C,MAEA,MAAAC,GACArE,KAAAsE,oBAAAD,EAAAE,YAEA,GAAA,MAAAvE,KAAAQ,UAAA+B,QAAA,CAEA,IAAAiC,EAAAxE,KAAAQ,UAAA+B,QACAkC,EAAAD,EAAAC,UACA,MAAAA,GACAzE,KAAAsE,oBAAAG,GACAzE,KAAAK,iBAAAmE,KAEA9E,EAAAkB,UAAAgB,UAAA,SAAAH,GACA,IAAAX,EAAAd,KACAd,EAAAwB,OAAA2B,KAAA,kBAAArC,KAAAC,QAAA,gBAAAwB,EAAAiD,KAAA,KAAAjD,EAAAkD,OAAA,KACA3E,KAAAE,OAAA,KACA,MAAAF,KAAAM,eACAN,KAAAM,aAAA,GAAA,IAAAjC,MAAA,8BAAAoD,EAAAiD,KAAA,KAAAjD,EAAAkD,OAAA,MACA3E,KAAAM,aAAA,MAWA,IATA,IAAAsE,EAAA,WACA,IAAA,IAAAC,KAAA/D,EAAAP,iBAAA,CACA,IAAAuE,EAAAhE,EAAAP,iBAAAsE,GAEA,cADA/D,EAAAP,iBAAAsE,GACAC,EAEA,OAAA,MAEAC,EAAAH,IACA,MAAAG,GACAA,EAAA,GAAA,gBACAA,EAAAH,IAEA5E,KAAAI,oBACAJ,KAAAkC,oBAAA,MAEAxC,EAAAkB,UAAAkB,UAAA,SAAAd,GACA9B,EAAAwB,OAAAC,MAAA,6BAAAX,KAAAC,SACAe,EAAA,IAAA3C,MAAA,8BAEAqB,EAAAkB,UAAA0D,oBAAA,SAAAU,GACA9F,EAAAwB,OAAAqB,MAAA,uBAAAiD,GACA,MAAAhF,KAAAE,QACAF,KAAAE,OAAA8B,MAAA,KAAAgD,IAEAtF,EAAAkB,UAAAsD,sBAAA,SAAA3B,GACA,IAAAzB,EAAAd,KACA,QAAAuC,EAAAK,WACA5C,KAAAK,iBAAA,SAAAkC,GAAA,OAAAzB,EAAAmE,sBAAA1C,IAIAvC,KAAAoD,sBACA,MAAApD,KAAAM,eACAN,KAAAM,aAAA,GAAAN,MACAA,KAAAM,aAAA,OAIAN,KAAAsE,oBAAA,iCAEA5E,EAAAkB,UAAAqE,sBAAA,SAAA1C,GACA,GAAAA,EAAAsC,UAAA7E,KAAAO,iBAAA,CACA,IAAAwE,EAAA/E,KAAAO,iBAAAgC,EAAAsC,gBACA7E,KAAAO,iBAAAgC,EAAAsC,SACAE,EAAA,GAAAxC,QAGAvC,KAAAG,QAAA+E,OAAA3C,IAEA7C,EA7PA,GA+PA9B,EAAA8B,iBAAAA,EA0BA9B,EAAAuH,aAtBA,SAAAxF,EAAAyF,EAAAvF,GAoBA,OAnBA,IAAAkB,QAAA,SAAAK,EAAAJ,GACA,IAAAqE,EAAA,IAAA3F,EAAAC,EAAAyF,EAAAvF,EAAA,SAAAM,GACA,IACAiB,EAAAjB,GAEA,MAAA4B,GAGA,MAFA7C,EAAAwB,OAAAqB,MAAA,mDAAAA,GACA5B,EAAA6B,QACAD,IAEA,WAEAf,EAAA,IAAA3C,MAAA,oEAEAgH,EAAAxE,UAAA8B,KAAA,SAAA2C,KAAA,SAAAvD,GAEA,MADA7C,EAAAwB,OAAAqB,MAAA,qCAAAA,GACAA,QC7RA,SAAArE,EAAAC,EAAAC,GACA,IAAAuB,EAAAzB,EAAA,IACA0B,EAAA1B,EAAA,KACAwB,EAAAxB,EAAA,IACAmG,EAAA,WACA,SAAAA,EAAA0B,EAAAzB,EAAAlE,GACA,IAAAkB,EAAAd,KACAA,KAAAuF,YAAAA,EACAvF,KAAA8D,SAAAA,EACA9D,KAAAJ,GAAAA,EACAI,KAAAwF,mBAAA,SAAA/D,GAAA,OAAAX,EAAA2E,kBAAAhE,IACAzB,KAAA8D,SAAA4B,UAAA1F,KAAAwF,oBACAxF,KAAA2F,cAAA3F,KAAA8D,SAAA6B,cACA3F,KAAA2F,cAAAxF,QAAAH,KAgEA,OA9DA6D,EAAAjD,UAAAsE,OAAA,SAAA3C,GACA,IAAAK,EAAAL,EAAAK,UACA,cAAAA,EACA5C,KAAA4F,cAAArD,GACA,OAAAK,EACA5C,KAAA6F,WAAAtD,GACA,UAAAK,EACA5C,KAAA8F,cAAAvD,GAEArD,EAAAwB,OAAAC,MAAA,8BAAA4B,EAAAK,YAEAiB,EAAAjD,UAAAoB,MAAA,WACAhC,KAAAuF,YAAAvD,SAEA6B,EAAAjD,UAAAmF,WAAA,SAAAtE,GACA,IAAAc,EAAAnD,EAAA4D,QAAAC,OAAA,QAAA,GAAA+C,KAAAC,UAAAxE,EAAAyE,YACAlG,KAAAuF,YAAAjD,KAAAC,IAEAsB,EAAAjD,UAAAqB,mBAAA,WACAjC,KAAA8D,SAAAqC,iBAAAnG,KAAAwF,qBAKA3B,EAAAjD,UAAAwF,oBAAA,WACA,IAAA7D,EAAAnD,EAAA4D,QAAAC,OAAA,kBAAA,IACAR,EAAAzC,KAAAuF,YAAA/C,gBAAAD,GACA,OAAAE,EAAAE,KAAA,SAAAO,GAAA,OAAAA,EAAAL,WAWAgB,EAAAjD,UAAAyF,gBAAA,WACA,OAAArG,KAAAoG,sBAAAzD,KAAA,SAAA2C,OAEAzB,EAAAjD,UAAA6E,kBAAA,SAAAhE,GAEA,GAAAA,EAAA6E,YAAAtG,KAAAJ,OAGA6B,aAAAtC,EAAAoH,oBAAA9E,EAAA+E,QAAA/E,EAAArD,MAAAqI,2BAAA,CAIA,IAAAlE,EAAAnD,EAAA4D,QAAAC,OAAA,YAAA,GAAAjD,KAAA8D,SAAA4C,kBAAA,CAAAjF,KACAzB,KAAAuF,YAAAjD,KAAAC,KAEAsB,EAAAjD,UAAAgF,cAAA,SAAArD,GACAvC,KAAA8D,SAAA6C,iBAAApE,EAAAM,QAAAN,EAAAqE,QAAA5G,KAAAJ,KAEAiE,EAAAjD,UAAAiF,WAAA,SAAAtD,GACArD,EAAAwB,OAAAuD,MAAA,yBAAA1B,EAAAsC,UAEAhB,EAAAjD,UAAAkF,cAAA,SAAAvD,GACArD,EAAAwB,OAAAqB,MAAA,4BAAAQ,EAAAsC,QAAA,KAAAtC,EAAAM,QAAAC,OAEAe,EAzEA,GA2EAjG,EAAAiG,cAAAA,GC/EA,SAAAnG,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA,SAAA+D,EAAAqF,GACA,OAAA,SAAAC,GACAA,EAAAnG,UAAAkG,WAAAA,GAGA,IAAAE,EAAA,WACA,SAAAA,KAUA,OARAA,EAAApG,UAAAsF,QAAA,WACA,IAAAY,EAAA9G,KAAA8G,WACA,MAAA,CAAAA,WAAAA,EAAAG,aAAAjH,KAAAkH,aAEAF,EAAApG,UAAAsG,SAAA,WACA,IAAAC,EAAAnH,KAAAmH,OACA,MAAA,CAAAC,SAAA,MAAAD,EAAAA,EAAAvH,GAAA,OAEAoH,EAXA,GAaApJ,EAAAoJ,WAAAA,EACA,IAAAK,EAAA,SAAAC,GAEA,SAAAD,IACA,OAAA,OAAAC,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAJ,EAAAC,GAIAD,EAAAR,EAAAa,WAAA,CACAjG,EAAA,iBACA4F,GAPA,CASAL,GACApJ,EAAAyJ,YAAAA,EACA,IAAAM,EAAA,SAAAL,GAEA,SAAAK,EAAAC,GACA,IAAA9G,EAAAwG,EAAAO,KAAA7H,OAAAA,KAEA,OADAc,EAAA8G,KAAAA,EACA9G,EASA,OAbA+F,EAAAY,UAAAE,EAAAL,GAMAK,EAAA/G,UAAAsG,SAAA,WACA,IAAAU,EAAA5H,KAAA4H,KACA,OAAAf,EAAAiB,SAAA,GAAAR,EAAA1G,UAAAsG,SAAAW,KAAA7H,MAAA,CAAA4H,KAAAA,KAEAD,EAAAd,EAAAa,WAAA,CACAjG,EAAA,oBACAkG,GAbA,CAeAX,GACApJ,EAAA+J,cAAAA,EAGA,IAAAI,EAAA,SAAAT,GAEA,SAAAS,IACA,OAAA,OAAAT,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAM,EAAAT,GAIAS,EALA,CAMAf,GACApJ,EAAAmK,QAAAA,EACA,IAAAC,EAAA,SAAAV,GAEA,SAAAU,IACA,OAAA,OAAAV,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAO,EAAAV,GAIAU,EAAAnB,EAAAa,WAAA,CACAjG,EAAA,aACAuG,GAPA,CASAD,GACAnK,EAAAoK,SAAAA,EACA,IAAAC,EAAA,SAAAX,GAEA,SAAAW,IACA,OAAA,OAAAX,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAQ,EAAAX,GAIAW,EAAApB,EAAAa,WAAA,CACAjG,EAAA,WACAwG,GAPA,CASAF,GACAnK,EAAAqK,OAAAA,EACA,IAAAC,EAAA,SAAAZ,GAEA,SAAAY,EAAAC,EAAAC,GACA,IAAAtH,EAAAwG,EAAAO,KAAA7H,OAAAA,KAGA,OAFAc,EAAAqH,SAAAA,EACArH,EAAAsH,MAAAA,EACAtH,EASA,OAdA+F,EAAAY,UAAAS,EAAAZ,GAOAY,EAAAtH,UAAAsG,SAAA,WACA,IAAAiB,EAAAnI,KAAAmI,SAAAC,EAAApI,KAAAoI,MACA,OAAAvB,EAAAiB,SAAA,GAAAR,EAAA1G,UAAAsG,SAAAW,KAAA7H,MAAA,CAAAmI,SAAAA,EAAAC,MAAAA,KAEAF,EAAArB,EAAAa,WAAA,CACAjG,EAAA,sBACAyG,GAdA,CAgBAH,GACAnK,EAAAsK,kBAAAA,EACA,IAAAG,EAAA,SAAAf,GAEA,SAAAe,IACA,OAAA,OAAAf,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAY,EAAAf,GAIAe,EAAAxB,EAAAa,WAAA,CACAjG,EAAA,UACA4G,GAPA,CASAN,GACAnK,EAAAyK,MAAAA,EACA,IAAAC,EAAA,SAAAhB,GAEA,SAAAgB,EAAAC,EAAAC,EAAAC,EAAAC,GACA,IAAA5H,EAAAwG,EAAAO,KAAA7H,OAAAA,KAKA,OAJAc,EAAAyH,GAAAA,EACAzH,EAAA0H,GAAAA,EACA1H,EAAA2H,EAAAA,EACA3H,EAAA4H,EAAAA,EACA5H,EAMA,OAbA+F,EAAAY,UAAAa,EAAAhB,GASAgB,EAAA1H,UAAAsG,SAAA,WACA,IAAAqB,EAAAvI,KAAAuI,GAAAC,EAAAxI,KAAAwI,GAAAC,EAAAzI,KAAAyI,EAAAC,EAAA1I,KAAA0I,EACA,OAAA7B,EAAAiB,SAAA,GAAAR,EAAA1G,UAAAsG,SAAAW,KAAA7H,MAAA,CAAAuI,GAAAA,EAAAC,GAAAA,EAAAC,EAAAA,EAAAC,EAAAA,KAEAJ,EAdA,CAeAP,GACAnK,EAAA0K,WAAAA,EACA,IAAAK,EAAA,SAAArB,GAEA,SAAAqB,EAAAJ,EAAAC,EAAAC,EAAAC,EAAAE,EAAAC,GACA,IAAA/H,EAAAwG,EAAAO,KAAA7H,KAAAuI,EAAAC,EAAAC,EAAAC,IAAA1I,KAOA,OANAc,EAAAyH,GAAAA,EACAzH,EAAA0H,GAAAA,EACA1H,EAAA2H,EAAAA,EACA3H,EAAA4H,EAAAA,EACA5H,EAAA8H,QAAAA,EACA9H,EAAA+H,QAAAA,EACA/H,EASA,OAlBA+F,EAAAY,UAAAkB,EAAArB,GAWAqB,EAAA/H,UAAAsG,SAAA,WACA,IAAA0B,EAAA5I,KAAA4I,QAAAC,EAAA7I,KAAA6I,QACA,OAAAhC,EAAAiB,SAAA,GAAAR,EAAA1G,UAAAsG,SAAAW,KAAA7H,MAAA,CAAA4I,QAAAA,EAAAC,QAAAA,KAEAF,EAAA9B,EAAAa,WAAA,CACAjG,EAAA,QACAkH,GAlBA,CAoBAL,GACA1K,EAAA+K,IAAAA,EACA,IAAAG,EAAA,SAAAxB,GAEA,SAAAwB,EAAAP,EAAAC,EAAAC,EAAAC,EAAAK,GACA,IAAAjI,EAAAwG,EAAAO,KAAA7H,KAAAuI,EAAAC,EAAAC,EAAAC,IAAA1I,KAMA,OALAc,EAAAyH,GAAAA,EACAzH,EAAA0H,GAAAA,EACA1H,EAAA2H,EAAAA,EACA3H,EAAA4H,EAAAA,EACA5H,EAAAiI,MAAAA,EACAjI,EASA,OAjBA+F,EAAAY,UAAAqB,EAAAxB,GAUAwB,EAAAlI,UAAAsG,SAAA,WACA,IAAA6B,EAAA/I,KAAA+I,MACA,OAAAlC,EAAAiB,SAAA,GAAAR,EAAA1G,UAAAsG,SAAAW,KAAA7H,MAAA,CAAA+I,MAAAA,KAEAD,EAAAjC,EAAAa,WAAA,CACAjG,EAAA,UACAqH,GAjBA,CAmBAR,GACA1K,EAAAkL,MAAAA,EACA,IAAAE,EAAA,SAAA1B,GAEA,SAAA0B,EAAAT,EAAAC,EAAAC,EAAAC,EAAAO,GACA,IAAAnI,EAAAwG,EAAAO,KAAA7H,KAAAuI,EAAAC,EAAAC,EAAAC,IAAA1I,KAMA,OALAc,EAAAyH,GAAAA,EACAzH,EAAA0H,GAAAA,EACA1H,EAAA2H,EAAAA,EACA3H,EAAA4H,EAAAA,EACA5H,EAAAmI,MAAAA,EACAnI,EASA,OAjBA+F,EAAAY,UAAAuB,EAAA1B,GAUA0B,EAAApI,UAAAsG,SAAA,WACA,IAAA+B,EAAAjJ,KAAAiJ,MACA,OAAApC,EAAAiB,SAAA,GAAAR,EAAA1G,UAAAsG,SAAAW,KAAA7H,MAAA,CAAAiJ,MAAAA,KAEAD,EAAAnC,EAAAa,WAAA,CACAjG,EAAA,UACAuH,GAjBA,CAmBAV,GACA1K,EAAAoL,WAAAA,EACA,IAAAE,EAAA,SAAA5B,GAEA,SAAA4B,IACA,OAAA,OAAA5B,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAyB,EAAA5B,GAIA4B,EAAArC,EAAAa,WAAA,CACAjG,EAAA,cACAyH,GAPA,CASAZ,GACA1K,EAAAsL,UAAAA,EACA,IAAAC,EAAA,SAAA7B,GAEA,SAAA6B,IACA,OAAA,OAAA7B,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA0B,EAAA7B,GAIA6B,EAAAtC,EAAAa,WAAA,CACAjG,EAAA,eACA0H,GAPA,CASAb,GACA1K,EAAAuL,WAAAA,EACA,IAAAC,EAAA,SAAA9B,GAEA,SAAA8B,IACA,OAAA,OAAA9B,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA2B,EAAA9B,GAIA8B,EAAAvC,EAAAa,WAAA,CACAjG,EAAA,eACA2H,GAPA,CASAd,GACA1K,EAAAwL,WAAAA,EACA,IAAAC,EAAA,SAAA/B,GAEA,SAAA+B,IACA,OAAA,OAAA/B,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA4B,EAAA/B,GAIA+B,EAAAxC,EAAAa,WAAA,CACAjG,EAAA,QACA4H,GAPA,CASAf,GACA1K,EAAAyL,IAAAA,EACA,IAAAC,EAAA,SAAAhC,GAEA,SAAAgC,IACA,OAAA,OAAAhC,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA6B,EAAAhC,GAIAgC,EAAAzC,EAAAa,WAAA,CACAjG,EAAA,cACA6H,GAPA,CASAhB,GACA1K,EAAA0L,UAAAA,EACA,IAAAC,EAAA,SAAAjC,GAEA,SAAAiC,IACA,OAAA,OAAAjC,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA8B,EAAAjC,GAIAiC,EAAA1C,EAAAa,WAAA,CACAjG,EAAA,UACA8H,GAPA,CASAjB,GACA1K,EAAA2L,MAAAA,EACA,IAAAC,EAAA,SAAAlC,GAEA,SAAAkC,IACA,OAAA,OAAAlC,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA+B,EAAAlC,GAIAkC,EAAA3C,EAAAa,WAAA,CACAjG,EAAA,aACA+H,GAPA,CASAlB,GACA1K,EAAA4L,SAAAA,EACA,IAAAC,EAAA,SAAAnC,GAEA,SAAAmC,IACA,OAAA,OAAAnC,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAgC,EAAAnC,GAIAmC,EAAA5C,EAAAa,WAAA,CACAjG,EAAA,WACAgI,GAPA,CASAnB,GACA1K,EAAA6L,OAAAA,EACA,IAAAC,EAAA,SAAApC,GAEA,SAAAoC,IACA,OAAA,OAAApC,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAiC,EAAApC,GAIAoC,EAAA7C,EAAAa,WAAA,CACAjG,EAAA,eACAiI,GAPA,CASApB,GACA1K,EAAA8L,WAAAA,EACA,IAAAC,EAAA,SAAArC,GAEA,SAAAqC,IACA,OAAA,OAAArC,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAkC,EAAArC,GAIAqC,EAAA9C,EAAAa,WAAA,CACAjG,EAAA,aACAkI,GAPA,CASArB,GACA1K,EAAA+L,SAAAA,GC5SA,SAAAjM,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAkM,EAAAlM,EAAA,IA2BAE,EAAAiM,YA1BA,SAAAC,EAAAjM,EAAAkM,EAAAhD,QACA,IAAAA,IACAA,EAAA,SAAA3I,GAAA,OAAAA,EAAA4L,eAGA,IADA,IAAAC,EAAAL,EAAAM,WAAAlL,OAAAC,KAAA6K,GAAAjM,EAAAsM,IAAA,SAAA/L,GAAA,OAAAA,EAAAwB,MACAwK,EAAA,EAAAC,EAAAJ,EAAAG,EAAAC,EAAAnJ,OAAAkJ,IAAA,CACA,IAAAhD,EAAAiD,EAAAD,GACAN,EAAA1C,GAAAkD,gBACAR,EAAA1C,GAIA,IAFA,IAAAmD,EAAA,GACAC,EAAA3M,EAAA4M,OAAA,SAAArM,GAAA,OAAA,MAAA0L,EAAA1L,EAAAwB,MACA8K,EAAA,EAAAC,EAAAH,EAAAE,EAAAC,EAAAzJ,OAAAwJ,IAAA,CACA,IAAAtM,EAAAuM,EAAAD,GACAE,EAAA7D,EAAA3I,GACAyM,EAAAhE,EAAAiB,SAAA,GAAAiC,EAAA,CAAA3L,MAAAA,EAAA0M,iBAAA,IACAC,EAAA,IAAAH,EAAAC,GACAf,EAAA1L,EAAAwB,IAAAmL,EACAR,EAAAS,KAAAD,GAEA,IAAA,IAAAE,EAAA,EAAAC,EAAAX,EAAAU,EAAAC,EAAAhK,OAAA+J,IAAA,CACA,IAAAF,EAAAG,EAAAD,GACAF,EAAAD,kBAEA,OAAAP,GASA3M,EAAAuN,aANA,SAAArB,GACA,IAAA,IAAAlK,KAAAkK,EACAA,EAAAlK,GAAA0K,gBACAR,EAAAlK,KCjCA,SAAAlC,EAAAC,EAAAC,GACA,IAAAwN,EAAA1N,EAAA,IACA2N,EAAA,SAAAC,GACA,OAAA,SAAAC,QACA,IAAAA,IACAA,EAAA,IAGA,IADA,IAAAC,EAAA,GACApB,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAoB,EAAApB,EAAA,GAAA5C,UAAA4C,GAEA,IAAAqB,EAAA3H,SAAA4H,cAAAJ,GAEA,IAAA,IAAA9E,KADAiF,EAAAE,UAAAC,IAAA,MACAL,EAAA,CACA,IAAAM,EAAAN,EAAA/E,GACA,GAAA,MAAAqF,KAAAT,EAAAU,UAAAD,IAAAA,GAEA,GAAA,UAAArF,IACA4E,EAAAW,SAAAF,KACAA,EAAAA,EAAAG,MAAA,QACAZ,EAAAa,QAAAJ,IACA,IAAA,IAAAnB,EAAA,EAAAO,EAAAY,EAAAnB,EAAAO,EAAA/J,OAAAwJ,IAAA,CACA,IAAA3D,EAAAkE,EAAAP,GACA,MAAA3D,GACA0E,EAAAE,UAAAC,IAAA7E,QAKA,GAAA,UAAAP,GAAA4E,EAAAc,cAAAL,GACA,IAAA,IAAAM,KAAAN,EACAJ,EAAAW,MAAAD,GAAAN,EAAAM,QAIA,GAAA,SAAA3F,GAAA4E,EAAAc,cAAAL,GACA,IAAA,IAAAQ,KAAAR,EACAJ,EAAAa,QAAAD,GAAAR,EAAAQ,QAIAZ,EAAAc,aAAA/F,EAAAqF,GAEA,SAAAW,EAAAC,GACA,GAAAA,aAAAC,YACAjB,EAAAkB,YAAAF,QACA,GAAArB,EAAAW,SAAAU,GACAhB,EAAAkB,YAAA7I,SAAA8I,eAAAH,SACA,GAAA,MAAAA,IAAA,IAAAA,EACA,MAAA,IAAApO,MAAA,uDAAA2H,KAAAC,UAAAwG,IAEA,IAAA,IAAAI,EAAA,EAAAC,EAAAtB,EAAAqB,EAAAC,EAAA5L,OAAA2L,IAAA,CACA,IAAAJ,EAAAK,EAAAD,GACA,GAAAzB,EAAAa,QAAAQ,GACA,IAAA,IAAAM,EAAA,EAAAC,EAAAP,EAAAM,EAAAC,EAAA9L,OAAA6L,IAAA,CACA,IAAAE,EAAAD,EAAAD,GACAP,EAAAS,QAIAT,EAAAC,GAEA,OAAAhB,IAyEA,SAAAyB,EAAAC,EAAAC,GACA,IAAAC,EAAAC,QAAA1M,UACA2M,EAAAF,EAAAH,SAAAG,EAAAG,uBAAAH,EAAAI,oBAAAJ,EAAAK,kBACA,OAAAH,EAAA1F,KAAAsF,EAAAC,GAYA,SAAAO,EAAA9B,GACA,OAAA+B,WAAA/B,IAAA,EAEA,SAAAgC,EAAAV,GACA,IAAAf,EAAA0B,iBAAAX,GACA,MAAA,CACAY,OAAA,CACAC,IAAAL,EAAAvB,EAAA6B,gBACAC,OAAAP,EAAAvB,EAAA+B,mBACAC,KAAAT,EAAAvB,EAAAiC,iBACAC,MAAAX,EAAAvB,EAAAmC,mBAEAC,OAAA,CACAR,IAAAL,EAAAvB,EAAAqC,WACAP,OAAAP,EAAAvB,EAAAsC,cACAN,KAAAT,EAAAvB,EAAAuC,YACAL,MAAAX,EAAAvB,EAAAwC,cAEAC,QAAA,CACAb,IAAAL,EAAAvB,EAAA0C,YACAZ,OAAAP,EAAAvB,EAAA2C,eACAX,KAAAT,EAAAvB,EAAA4C,aACAV,MAAAX,EAAAvB,EAAA6C,gBAKA,SAAAC,EAAA/B,GACA,IAAAgC,EAAAhC,EAAAiC,wBACA,MAAA,CACAC,MAAAC,KAAAC,KAAAJ,EAAAE,OACAG,OAAAF,KAAAC,KAAAJ,EAAAK,SAgDA,SAAAhE,EAAA2B,GACA,OAAAsC,MAAAC,KAAAvC,EAAA3B,UA9JA5N,EAAA8N,cAPA,SAAAJ,EAAAC,GAEA,IADA,IAAAC,EAAA,GACApB,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAoB,EAAApB,EAAA,GAAA5C,UAAA4C,GAEA,OAAAiB,EAAAC,GAAA/D,WAAA,EAAA,CAAAgE,GAAAoE,OAAAnE,KAGA5N,EAAAgS,IAAAvE,EAAA,OAAAzN,EAAAiS,KAAAxE,EAAA,QAAAzN,EAAAkS,OAAAzE,EAAA,UAAAzN,EAAAmS,KAAA1E,EAAA,QAAAzN,EAAAwO,MAAAf,EAAA,SAAAzN,EAAAoS,EAAA3E,EAAA,KAAAzN,EAAAyP,EAAAhC,EAAA,KAAAzN,EAAAqS,EAAA5E,EAAA,KAAAzN,EAAAsS,IAAA7E,EAAA,OAAAzN,EAAAuS,OAAA9E,EAAA,UAAAzN,EAAAwS,MAAA/E,EAAA,SAAAzN,EAAAyS,MAAAhF,EAAA,SAAAzN,EAAA0S,OAAAjF,EAAA,UAAAzN,EAAA2S,OAAAlF,EAAA,UAAAzN,EAAA4S,SAAAnF,EAAA,YAAAzN,EAAA6S,SAAApF,EAAA,YAIAzN,EAAA8S,KAHA,WACA,OAAA5M,SAAA8I,eAAA,MASAhP,EAAA+S,cANA,SAAAlF,GACA,IAAAmF,EAAAnF,EAAAoF,WACA,MAAAD,GACAA,EAAAE,YAAArF,IAUA7N,EAAAmT,YANA,SAAAtF,EAAAuF,GACA,IAAAJ,EAAAnF,EAAAoF,WACA,MAAAD,GACAA,EAAAK,aAAAD,EAAAvF,IAeA7N,EAAAsT,QAXA,SAAAzF,GAEA,IADA,IAAA0F,EAAA,GACA/G,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACA+G,EAAA/G,EAAA,GAAA5C,UAAA4C,GAGA,IADA,IAAAgH,EAAA3F,EAAA4F,WACA3G,EAAA,EAAA4G,EAAAH,EAAAzG,EAAA4G,EAAApQ,OAAAwJ,IAAA,CACA,IAAA6G,EAAAD,EAAA5G,GACAe,EAAA+F,aAAAD,EAAAH,KAUAxT,EAAA6T,MANA,SAAAhG,GAEA,IADA,IAAAgB,EACAA,EAAAhB,EAAA4F,YACA5F,EAAAqF,YAAArE,IAOA7O,EAAA8T,QAHA,SAAAjG,GACAA,EAAAW,MAAAsF,QAAA,IAMA9T,EAAA+T,UAHA,SAAAlG,GACAA,EAAAW,MAAAsF,QAAA,QAMA9T,EAAAgU,KAHA,SAAAnG,GACAA,EAAAW,MAAAyF,WAAA,IAMAjU,EAAAkU,KAHA,SAAArG,GACAA,EAAAW,MAAAyF,WAAA,UAUAjU,EAAAmU,OAPA,SAAAtG,GACA,IAAA0D,EAAA1D,EAAA2D,wBACA,MAAA,CACApB,IAAAmB,EAAAnB,IAAAgE,OAAAC,YAAAnO,SAAAoO,gBAAAC,UACA/D,KAAAe,EAAAf,KAAA4D,OAAAI,YAAAtO,SAAAoO,gBAAAG,aASAzU,EAAAsP,QAAAA,EASAtP,EAAAgT,OARA,SAAAzD,EAAAC,GAEA,IADA,IAAAmE,EAAApE,EACAoE,EAAAA,EAAAe,eACA,GAAApF,EAAAqE,EAAAnE,GACA,OAAAmE,EAEA,OAAA,MA6BA3T,EAAAiQ,QAAAA,EAQAjQ,EAAAsR,KAAAA,EAOAtR,EAAA2U,YANA,SAAApF,GACA,MAAA,CACAkC,MAAAC,KAAAC,KAAApC,EAAAqF,aACAhD,OAAAF,KAAAC,KAAApC,EAAAsF,gBAYA7U,EAAA8U,WARA,SAAAvF,GACA,IAAAzC,EAAAmD,EAAAV,GAAAqB,OAAAJ,EAAA1D,EAAA0D,KAAAE,EAAA5D,EAAA4D,MAAAN,EAAAtD,EAAAsD,IAAAE,EAAAxD,EAAAwD,OACAjD,EAAAiE,EAAA/B,GAAAkC,EAAApE,EAAAoE,MAAAG,EAAAvE,EAAAuE,OACA,MAAA,CACAH,MAAAC,KAAAC,KAAAF,EAAAjB,EAAAE,GACAkB,OAAAF,KAAAC,KAAAC,EAAAxB,EAAAE,KAiBAtQ,EAAA+U,aAbA,SAAAxF,GAKA,IAJA,IAAAzC,EAAAyC,EAAAiC,wBAAAhB,EAAA1D,EAAA0D,KAAAJ,EAAAtD,EAAAsD,IACAa,EAAAhB,EAAAV,GAAA0B,QACAQ,EAAA,EACAG,EAAA,EACApF,EAAA,EAAAa,EAAAO,EAAA2B,GAAA/C,EAAAa,EAAA/J,OAAAkJ,IAAA,CACA,IAAAqC,EAAAxB,EAAAb,GACA+E,EAAA1C,EAAA2C,wBACAC,EAAAC,KAAAsD,IAAAvD,EAAAC,KAAAC,KAAAJ,EAAAf,KAAAA,EAAAS,EAAAT,KAAAe,EAAAE,QACAG,EAAAF,KAAAsD,IAAApD,EAAAF,KAAAC,KAAAJ,EAAAnB,IAAAA,EAAAa,EAAAb,IAAAmB,EAAAK,SAEA,MAAA,CAAAH,MAAAA,EAAAG,OAAAA,IAgBA5R,EAAAiV,SAbA,SAAA1F,EAAA2F,EAAAtE,GACA,IAAApC,EAAAe,EAAAf,MAKA,GAJAA,EAAAgC,KAAA0E,EAAA1E,KAAA,KACAhC,EAAA4B,IAAA8E,EAAA9E,IAAA,KACA5B,EAAAiD,MAAAyD,EAAAzD,MAAA,KACAjD,EAAAoD,OAAAsD,EAAAtD,OAAA,KACA,MAAAhB,EACApC,EAAAoC,OAAA,OACA,CACA,IAAAuE,EAAAvE,EAAAR,IAAAM,EAAAE,EAAAF,MAAAJ,EAAAM,EAAAN,OAAAE,EAAAI,EAAAJ,KACAhC,EAAAoC,OAAAuE,EAAA,MAAAzE,EAAA,MAAAJ,EAAA,MAAAE,EAAA,OAOAxQ,EAAA4N,SAAAA,EACA,IAAAwH,EAAA,WACA,SAAAA,EAAA7F,GACAnN,KAAAmN,GAAAA,EACAnN,KAAA2L,UAAAwB,EAAAxB,UAwDA,OAtDA3M,OAAAiU,eAAAD,EAAApS,UAAA,SAAA,CACAsS,IAAA,WAEA,IADA,IAAAC,EAAA,GACAC,EAAA,EAAAA,EAAApT,KAAA2L,UAAAzK,OAAAkS,IAAA,CACA,IAAAxL,EAAA5H,KAAA2L,UAAA/D,KAAAwL,GACA,MAAAxL,GACAuL,EAAAnI,KAAApD,GAEA,OAAAuL,GAEAE,YAAA,EACAC,cAAA,IAEAN,EAAApS,UAAA2S,IAAA,SAAAxM,GACA,OAAA/G,KAAA2L,UAAA6H,SAAAzM,IAEAiM,EAAApS,UAAAgL,IAAA,WAEA,IADA,IAAA6H,EAAA,GACArJ,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAqJ,EAAArJ,GAAA5C,UAAA4C,GAEA,IAAA,IAAAM,EAAA,EAAAgJ,EAAAD,EAAA/I,EAAAgJ,EAAAxS,OAAAwJ,IAAA,CACA,IAAA3D,EAAA2M,EAAAhJ,GACA1K,KAAA2L,UAAAC,IAAA7E,GAEA,OAAA/G,MAEAgT,EAAApS,UAAA0J,OAAA,WAEA,IADA,IAAAmJ,EAAA,GACArJ,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAqJ,EAAArJ,GAAA5C,UAAA4C,GAEA,IAAA,IAAAM,EAAA,EAAAiJ,EAAAF,EAAA/I,EAAAiJ,EAAAzS,OAAAwJ,IAAA,CACA,IAAA3D,EAAA4M,EAAAjJ,GACA1K,KAAA2L,UAAArB,OAAAvD,GAEA,OAAA/G,MAEAgT,EAAApS,UAAAgT,MAAA,WACA,IAAA,IAAAxJ,EAAA,EAAAM,EAAA1K,KAAAmT,OAAA/I,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAArD,EAAA2D,EAAAN,GACA,MAAArD,GACA/G,KAAA2L,UAAArB,OAAAvD,GAEA,OAAA/G,MAEAgT,EAAApS,UAAAiT,OAAA,SAAA9M,EAAA+M,GACA,IAAAlI,EAAA,MAAAkI,EAAAA,GAAA9T,KAAAuT,IAAAxM,GAKA,OAJA6E,EACA5L,KAAA4L,IAAA7E,GAEA/G,KAAAsK,OAAAvD,GACA/G,MAEAgT,EA3DA,GA+FA,SAAAe,EAAA5G,EAAA+B,EAAA8E,GACA,IAAAtJ,EAAAyC,EAAAf,MAAAiD,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OAAAqD,EAAAnI,EAAAmI,SAAAnB,EAAAhH,EAAAgH,QACAvE,EAAAf,MAAAyG,SAAA,WACA1F,EAAAf,MAAAsF,QAAA,GACAvE,EAAAf,MAAAiD,MAAA,MAAAH,EAAAG,OAAAH,EAAAG,OAAA4E,EAAAA,EAAA/E,EAAAG,MAAA,KAAA,OACAlC,EAAAf,MAAAoD,OAAA,MAAAN,EAAAM,QAAAN,EAAAM,QAAAyE,EAAAA,EAAA/E,EAAAM,OAAA,KAAA,OACA,IACA,OAAAwE,IAEA,QACA7G,EAAAf,MAAAyG,SAAAA,EACA1F,EAAAf,MAAAsF,QAAAA,EACAvE,EAAAf,MAAAiD,MAAAA,EACAlC,EAAAf,MAAAoD,OAAAA,GA/CA5R,EAAAoV,UAAAA,EAIApV,EAAA6V,QAHA,SAAAtG,GACA,OAAA,IAAA6F,EAAA7F,IAIA,SAAA+G,GACAA,EAAAA,EAAA,UAAA,GAAA,YACAA,EAAAA,EAAA,IAAA,GAAA,MACAA,EAAAA,EAAA,MAAA,IAAA,QACAA,EAAAA,EAAA,IAAA,IAAA,MACAA,EAAAA,EAAA,OAAA,IAAA,SACAA,EAAAA,EAAA,SAAA,IAAA,WACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,GAAA,IAAA,KACAA,EAAAA,EAAA,MAAA,IAAA,QACAA,EAAAA,EAAA,KAAA,IAAA,OACAA,EAAAA,EAAA,OAAA,IAAA,SAXA,CAYAtW,EAAAsW,OAAAtW,EAAAsW,KAAA,KAWAtW,EAAAuW,YAVA,SAAAhH,EAAA6G,GACA,IAAAtC,EAAAvE,EAAAf,MAAAsF,QACAvE,EAAAf,MAAAsF,QAAA,OACA,IACA,OAAAsC,IAEA,QACA7G,EAAAf,MAAAsF,QAAAA,IAOA9T,EAAAwW,QAHA,SAAAjH,EAAA6G,GACA,OAAAD,EAAA5G,EAAA,GAAA6G,IAmBApW,EAAAmW,MAAAA,GCxVA,SAAArW,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2W,EAAA3W,EAAA,IACA4W,EAAA5W,EAAA,GACA6W,EAAA,SAAAjN,GAEA,SAAAiN,IACA,OAAA,OAAAjN,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA0CA,OA5CA6G,EAAAY,UAAA8M,EAAAjN,GAIAiN,EAAA3T,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAyU,eAAA,EACAzU,KAAAmN,GAAAnN,KAAAqL,kBAEAkJ,EAAA3T,UAAA0J,OAAA,WACAgK,EAAA3D,cAAA3Q,KAAAmN,IACA7F,EAAA1G,UAAA0J,OAAAzC,KAAA7H,OAEAuU,EAAA3T,UAAA8T,YAAA,WACA,MAAA,IAEAH,EAAA3T,UAAA+T,OAAA,SAAAC,EAAAC,GACA,OAAA,MAEAN,EAAA3T,UAAAkU,OAAA,aACAP,EAAA3T,UAAAmU,SAAA,SAAAtJ,GACAA,EAAAkB,YAAA3M,KAAAmN,IACAnN,KAAA8U,UAEAP,EAAA3T,UAAAoU,aAAA,WACA,OAAAhV,KAAAyU,eAEAzV,OAAAiU,eAAAsB,EAAA3T,UAAA,gBAAA,CACAsS,IAAA,WACA,OAAAoB,EAAA1D,OAAA5Q,KAAAmN,GAAA,aAAArJ,SAAAmR,MAEA5B,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsB,EAAA3T,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAgV,gBAEA3B,YAAA,EACAC,cAAA,IAEAiB,EAAA3T,UAAAyK,eAAA,WACA,OAAAiJ,EAAA5I,cAAA1L,KAAAkV,QAAA,CAAAC,MAAAnV,KAAA0U,iBAEAH,EA7CA,CA8CAF,EAAAe,MACAxX,EAAA2W,QAAAA,EACAA,EAAA3T,UAAAsU,QAAA,OCpDA,SAAAxX,EAAAC,EAAAC,GACAA,EAAAyX,MAAA,CAAA,QAAA,SAAA,OACAzX,EAAA0X,OAAA,CACA,WAAA,aAAA,YACA,cAAA,SAAA,eACA,cAAA,gBAAA,gBAEA1X,EAAA2X,WAAA,CAAA,MAAA,OACA3X,EAAA4X,UAAA,CAAA,SAAA,UACA5X,EAAA6X,WAAA,CAAA,UAAA,UAAA,UAAA,UAAA,UACA7X,EAAA8X,UAAA,CAAA,QAAA,UACA9X,EAAA+X,WAAA,CAAA,QAAA,SAAA,QACA/X,EAAAgY,UAAA,CAAA,QAAA,aACAhY,EAAAiY,aAAA,CAAA,UAAA,UACAjY,EAAAkY,UAAA,CAAA,SAAA,SAAA,OAAA,eACAlY,EAAAmY,iBAAA,CACA,QAAA,MAAA,OAAA,kBAAA,gBAAA,QAAA,kBACA,gBAAA,SAAA,sBAAA,qBAAA,iBACA,sBAAA,qBAAA,kBAAA,gBAAA,cACA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAAA,IAAA,IAAA,IAAA,IAAA,IAAA,KAEAnY,EAAAoY,WAAA,CAAA,OAAA,OACApY,EAAAqY,mBAAA,CAAA,YAAA,WACArY,EAAAsY,UAAA,CAAA,QAAA,QAAA,SACAtY,EAAAuY,OAAA,CAAA,MAAA,OACAvY,EAAAwY,kBAAA,CAAA,OAAA,OAAA,QACAxY,EAAAyY,eAAAzY,EAAA0X,OACA1X,EAAA0Y,QAAA,CAAA,OAAA,QAAA,UACA1Y,EAAA2Y,SAAA,CAAA,QAAA,QAAA,SACA3Y,EAAA4Y,WAAA,CAAA,OAAA,OAAA,UAAA,SAAA,QACA5Y,EAAA6Y,SAAA,CAAA,QAAA,QAAA,OAAA,SACA7Y,EAAA8Y,KAAA,CAAA,SAAA,QACA9Y,EAAA+Y,WAAA,CACA,WAAA,SAAA,eAAA,WAAA,QACA,OAAA,UAAA,gBAAA,MAAA,oBACA,SAAA,eAAA,WAAA,WAAA,KAEA/Y,EAAAgZ,YAAA,CAAA,WAAA,cACAhZ,EAAAiZ,cAAA,CAAA,SAAA,MAAA,SACAjZ,EAAAkZ,aAAA,CAAA,UAAA,YACAlZ,EAAAmZ,MAAA,CAAA,QAAA,QAAA,OAAA,QAAA,UACAnZ,EAAAoZ,YAAA,CAAA,eAAA,eAAA,QACApZ,EAAAqZ,gBAAA,CAAA,IAAA,IAAA,MAAA,OACArZ,EAAAsZ,YAAA,CAAA,QAAA,WAAA,QAAA,aAAA,WACAtZ,EAAAuZ,WAAA,CAAA,SAAA,OACAvZ,EAAAwZ,YAAA,CAAA,WAAA,cACAxZ,EAAAyZ,iBAAA,CAAA,QAAA,UAAA,QAAA,YAAA,OAAA,WACAzZ,EAAA0Z,KAAA,CAAA,QAAA,QAAA,OAAA,SACA1Z,EAAA2Z,WAAA,CAAA,gBAAA,iBAAA,eAAA,cAAA,eAAA,aAAA,SACA3Z,EAAA4Z,qBAAA,CAAA,aAAA,WAAA,WACA5Z,EAAA6Z,KAAA,CAAA,YAAA,cACA7Z,EAAA8Z,aAAA,CAAA,SAAA,QACA9Z,EAAA+Z,SAAA,CAAA,QAAA,OACA/Z,EAAAga,SAAA,CAAA,QAAA,SAAA,UACAha,EAAAia,YAAA,CAAA,SAAA,WACAja,EAAAka,UAAA,CAAA,OAAA,QAAA,UACAla,EAAAma,aAAA,CAAA,MAAA,SAAA,SAAA,aAAA,UAAA,eACAna,EAAAoa,kBAAA,CAAA,SAAA,WAAA,WAAA,aACApa,EAAAqa,qBAAA,CAAA,WAAA,aAAA,WAAA,UACAra,EAAAsa,kBAAA,CAAA,aAAA,WAAA,OAAA,QAAA,QAAA,SACAta,EAAAua,WAAA,CAAA,UAAA,UACAva,EAAAwa,cAAA,CAAA,MAAA,SAAA,WC7DA,SAAA1a,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2a,EAAA3a,EAAA,IACA4a,EAAA5a,EAAA,IACA6a,EAAA7a,EAAA,IACA2P,EAAA3P,EAAA,IACA8a,EAAA9a,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACA0N,EAAA1N,EAAA,IACA+a,EAAA/a,EAAA,IACAgb,EAAA,SAAApR,GAEA,SAAAoR,EAAAnN,QACA,IAAAA,IACAA,EAAA,IAEA,IAAAzK,EAAAwG,EAAAO,KAAA7H,OAAAA,KAWA,IAAA,IAAArB,KAVAmC,EAAA6X,cAAAC,EACA9X,EAAAgD,SAAA,KACAhD,EAAA+X,UAAA,IAAAR,EAAAS,QAAAhY,EAAA,aACAA,EAAAiY,OAAA,IAAAV,EAAAS,QAAAhY,EAAA,UACAA,EAAAkY,gBAAA,IAAAX,EAAAS,QAAAhY,EAAA,mBACAA,EAAAmY,WAAA,GACAnY,EAAAoY,WAAA,GACApY,EAAAqY,oBAAA,GACArY,EAAAsY,UAAA,EACAtY,EAAAuY,WAAA,EACAvY,EAAAwY,MAAA,CACA,IAAA5O,EAAA5J,EAAAwY,MAAA3a,GAAA4a,EAAA7O,EAAA6O,KAAAC,EAAA9O,EAAA8O,cACA,GAAA,MAAAD,EAGA,MAAA,IAAAlb,MAAA,+BAAAyC,EAAAyY,KAAA,IAAA5a,GAFAmC,EAAAoY,WAAAva,GAAA,IAAA4a,EAAAzY,EAAAnC,EAAA6a,GAKA,MAAAjO,EAAA3L,IACAkB,EAAA2Y,KAAA,CAAA7Z,GAAA4Y,EAAAkB,YAAA,CAAAC,QAAA,IACA,IAAAC,EAAArO,EAAAsO,eAAA,EAWA,OAVAD,UACArO,EAAAzN,EAAAG,MAAAsN,IACAsO,aAEA/Y,EAAA2Y,KAAAlO,EAAA,CAAAoO,QAAA,IAIAC,GACA9Y,EAAAgZ,WACAhZ,EA8ZA,OAncA+F,EAAAY,UAAAiR,EAAApR,GAuCAoR,EAAAqB,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAA0Y,MAAA,GACAtZ,KAAAY,UAAAoZ,OAAA,GACAha,KAAAia,OAAA,CACAra,GAAA,CAAAyN,EAAA6M,QAIAxB,EAAAyB,aAAA,SAAAX,EAAAY,GACA,YAAAxB,IAAAY,OACA,EACApO,EAAAiP,WAAAb,GACAA,EACApO,EAAAkP,SAAAd,GAIApO,EAAAa,QAAAuN,GACA,WAAA,OAAA5P,EAAA2Q,KAAAf,IAEA,WAAA,OAAA1b,EAAAG,MAAAub,IANA,WAAA,OAAAA,IAUAd,EAAAuB,OAAA,SAAAO,GACA,IAAAC,EAAA,SAAAC,GACA,IAAAvO,EAAAqO,EAAAE,GACA,GAAA,MAAAC,EAAA/Z,UAAA0Y,MAAAoB,GACA,MAAA,IAAArc,MAAA,mCAAAsc,EAAA/Z,UAAA2Y,KAAA,IAAAmB,EAAA,KACA,GAAA,MAAAC,EAAA/Z,UAAA8Z,GACA,MAAA,IAAArc,MAAA,oCAAAsc,EAAA/Z,UAAA2Y,KAAA,IAAAmB,EAAA,KACA1b,OAAAiU,eAAA0H,EAAA/Z,UAAA8Z,EAAA,CAEAxH,IAAA,WACA,IAAArH,EAAA7L,KAAA4a,KAAAF,GACA,OAAA7O,GAEAgP,IAAA,SAAAhP,GACA,IAAAnB,EAEA,OADA1K,KAAAyZ,OAAA/O,EAAA,IAAAgQ,GAAA7O,EAAAnB,IACA1K,MAEAsT,cAAA,EACAD,YAAA,IAEA,IAAA3I,EAAAyB,EAAAoN,EAAA7O,EAAA,GAAA8O,EAAA9O,EAAA,GAAAoQ,EAAApQ,EAAA,GACAqQ,EAAA,CACAxB,KAAAA,EACAC,cAAAmB,EAAAR,aAAAX,EAAAkB,GACAI,SAAAA,IAAA,GAEAxB,EAAAxb,EAAAG,MAAA0c,EAAA/Z,UAAA0Y,OACAA,EAAAoB,GAAAK,EACAJ,EAAA/Z,UAAA0Y,MAAAA,GAEAqB,EAAA3a,KACA,IAAA,IAAA0a,KAAAF,EACAC,EAAAC,IAGAhC,EAAAoC,SAAA,SAAAN,GACA,IAAAQ,EAAA,GACA,IAAA,IAAAC,KAAAT,EAAA,CACA,IAAArO,EAAAqO,EAAAS,GACA1B,EAAApN,EAAA,GAAAqN,EAAArN,EAAA,GACA6O,EAAAC,GAAA,CAAA1B,EAAAC,GAAA,GAEAxZ,KAAAia,OAAAe,IAEAtC,EAAAwC,MAAA,WAEA,IADA,IAAAC,EAAA,GACA/Q,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACA+Q,EAAA/Q,GAAA5C,UAAA4C,GAEApK,KAAAia,OAAA3B,EAAArV,OAAAkY,IACA,IAAAnB,EAAAha,KAAAY,UAAAoZ,OAAArK,OAAAwL,GACAnb,KAAAY,UAAAoZ,OAAAA,GAEAtB,EAAAsB,OAAA,SAAAmB,GACAnb,KAAAkb,MAAA3T,MAAAvH,KAAAmb,IAEAzC,EAAA0C,SAAA,SAAAZ,GACA,IAAA,IAAAa,KAAAb,EAAA,CACA,IAAAhB,EAAAxZ,KAAAma,aAAAK,EAAAa,GAAAA,GACAxP,EAAA7L,KAAAY,UAAA0Y,MAAA+B,GACA,GAAA,MAAAxP,EACA,MAAA,IAAAxN,MAAA,sCAAA2B,KAAAY,UAAA2Y,KAAA,IAAA8B,EAAA,KACA,IAAA/B,EAAAxb,EAAAG,MAAA+B,KAAAY,UAAA0Y,OACAA,EAAA+B,GAAAxU,EAAAiB,SAAA,GAAA+D,EAAA,CAAA2N,cAAAA,IACAxZ,KAAAY,UAAA0Y,MAAAA,IAGAZ,EAAA9X,UAAA2D,SAAA,WACA,OAAAvE,KAAAuZ,KAAA,IAAAvZ,KAAAJ,GAAA,KAEA8Y,EAAA9X,UAAAkZ,SAAA,WACA,IAAAhZ,EAAAd,KAUA,IAAA,IAAAsb,KAAAtb,KAAAkZ,WAAA,CACA,IAAA/M,EAAAnM,KAAAkZ,WAAAoC,GACAnP,EAAAoP,SACA,MAAApP,EAAAqP,KAAAC,WACAzb,KAAAa,QAAAsL,EAAAqP,KAAAC,UAAA1C,OAAA,WAAA,OAAAjY,EAAAkY,gBAAA0C,SAEA1b,KAAAwU,aACAxU,KAAA8K,mBAEA4N,EAAA9X,UAAA4T,WAAA,aACAkE,EAAA9X,UAAAkK,gBAAA,aACA4N,EAAA9X,UAAA+a,mBAAA,WACAtD,EAAAuD,OAAAC,mBAAA7b,OAEA0Y,EAAA9X,UAAAkb,QAAA,WACA9b,KAAA2b,qBACA3b,KAAA6Y,UAAA6C,QAGAhD,EAAA9X,UAAA3C,MAAA,WACA,OAAA,IAAA+B,KAAA+b,YAAA/b,KAAAiZ,aAKAP,EAAA9X,UAAAob,MAAA,SAAAzQ,EAAAxB,GAEA,IAAAkS,EAAAlS,EAAAkS,SACAtC,EAAA5P,EAAA4P,OACAuC,EAAA,GACAC,EAAAnc,KAAAqZ,UACArZ,KAAAqZ,WAAA,EACA,IAAA+C,EAAApc,KAAAiZ,WAEA,IAAA,IAAAzS,KAAA+E,EAAA,CACA,IAAA8Q,EAAA9Q,EAAA/E,IACA,IAAAyV,GACAxD,EAAA6D,QAAAF,EAAA5V,GAAA6V,IAIAH,EAAAlR,KAAAxE,GACA4V,EAAA5V,GAAA6V,EAGA,IAAA1C,EAAA,CACAuC,EAAAhb,OAAA,IACAlB,KAAAoZ,UAAA,GACA,IAAA,IAAAnJ,EAAA,EAAAA,EAAAiM,EAAAhb,OAAA+O,IACAjQ,KAAAkZ,WAAAgD,EAAAjM,IAAA8I,OAAA2C,OAIA,IAAAS,EAAA,CAEA,IAAAxC,IAAA5P,EAAAwS,UACA,KAAAvc,KAAAoZ,UACApZ,KAAAoZ,UAAA,EACApZ,KAAA+Y,OAAA2C,OAGA1b,KAAAoZ,UAAA,EACApZ,KAAAqZ,WAAA,IAEAX,EAAA9X,UAAA6Y,KAAA,SAAAlO,EAAAxB,GAIA,IAAA,IAAAsC,UAHA,IAAAtC,IACAA,EAAA,IAEAwB,EACA,GAAAA,EAAA3M,eAAAyN,GAAA,CAEA,IAAAmQ,EAAAnQ,EACA,GAAA,MAAArM,KAAAsZ,MAAAkD,GACA,MAAA,IAAAne,MAAA,YAAA2B,KAAAuZ,KAAA,IAAAiD,EAAA,oBACA,MAAAzS,GAAAA,EAAA0S,WACAzc,KAAAmZ,oBAAA9M,IAAA,GAEA,IAAAvO,EAAA4e,QAAAnR,GAAA,CACA,IAAAoR,EAAA,GACA,IAAA,IAAAtQ,KAAAd,EACAoR,EAAAtQ,GAAArM,KAAA4a,KAAAvO,GACArM,KAAAgc,MAAAzQ,EAAAxB,GACA,IAAA4P,EAAA5P,EAAA4P,OACA,GAAA,MAAAA,IAAAA,EACA,IAAA,IAAAtN,KAAAd,EACAvL,KAAA4c,4BAAAvQ,EAAAsQ,EAAAtQ,GAAArM,KAAA4a,KAAAvO,GAAAtC,KAIA2O,EAAA9X,UAAAga,KAAA,SAAA4B,GACA,GAAA,MAAAxc,KAAAsZ,MAAAkD,GACA,MAAA,IAAAne,MAAA,YAAA2B,KAAAuZ,KAAA,IAAAiD,EAAA,oBAEA,OAAAxc,KAAAiZ,WAAAuD,IAEA9D,EAAA9X,UAAAic,IAAA,WACA,OAAAtE,EAAAuE,WAAA9c,OAIA0Y,EAAA9X,UAAAmc,YAAA,SAAAC,GACAhd,KAAA2Y,SAAAqE,GAEAtE,EAAA9X,UAAAqc,0BAAA,SAAAzW,GACA,IAAA2F,EAAAnM,KAAAsZ,MAAA9S,GACA,GAAA,MAAA2F,EACA,MAAA,IAAA9N,MAAA2B,KAAAuZ,KAAA,+BAAA/S,EAAA,OAAAA,EAAA,oBAEA,OAAA2F,EAAA2O,UAMApC,EAAA9X,UAAA6F,wBAAA,WACA,IAAA8E,EAAA,GACA,IAAA,IAAA2R,KAAAld,KAAAiZ,WAAA,CACA,IAAApN,EAAA7L,KAAAiZ,WAAAiE,GACAld,KAAAid,0BAAAC,KACA3R,EAAA2R,GAAArR,GAEA,OAAAN,GAEAmN,EAAAyE,eAAA,SAAAC,EAAAvR,EAAAwR,GACA,GAAAxR,aAAA6M,EACA,OAAA7M,EAAAgR,MACA,GAAAzR,EAAAa,QAAAJ,GAAA,CAEA,IADA,IAAAyR,EAAA,GACArN,EAAA,EAAAA,EAAApE,EAAA3K,OAAA+O,IAAA,CACA,IAAAsN,EAAA1R,EAAAoE,GACAqN,EAAAtS,KAAA0N,EAAAyE,eAAAlN,EAAA1L,WAAAgZ,EAAA1R,IAEA,OAAAyR,EAEA,GAAAlS,EAAAc,cAAAL,GAAA,CACA,IAAA2R,EAAA,GACA,IAAA,IAAAC,KAAA5R,EACAA,EAAAjN,eAAA6e,KACAD,EAAAC,GAAA/E,EAAAyE,eAAAM,EAAA5R,EAAA4R,GAAA5R,IAEA,OAAA2R,EAGA,OAAA3R,GAIA6M,EAAA9X,UAAA8c,mBAAA,SAAAC,EAAAC,QACA,IAAAD,IACAA,GAAA,QAEA,IAAAC,IACAA,EAAAlF,EAAAyE,gBAEA,IAAAU,EAAA7d,KAAAyG,0BACA8E,EAAA,GACA,IAAA,IAAAc,KAAAwR,EACA,GAAAA,EAAAjf,eAAAyN,GAAA,CACA,IAAAR,EAAAgS,EAAAxR,GACAsR,EACApS,EAAAc,GAAAR,EACAQ,KAAArM,KAAAmZ,sBACA5N,EAAAc,GAAAR,GAGA,OAAA+R,EAAA,aAAArS,EAAAvL,OAIA0Y,EAAAoF,wBAAA,SAAA3a,EAAAoa,EAAAQ,EAAAC,GACA,GAAA,MAAAT,QAEA,GAAAhF,EAAA0F,OAAAV,IACA,KAAAA,EAAA3d,MAAAme,GAAA,CACA,IAAA3f,EAAA+E,EAAA+a,gBAAAX,EAAA3d,IACA8Y,EAAAyF,yBAAA/f,EAAA2f,EAAAC,SAGA,GAAA5S,EAAAa,QAAAsR,GACA,IAAA,IAAAnT,EAAA,EAAAgU,EAAAb,EAAAnT,EAAAgU,EAAAld,OAAAkJ,IAAA,CACA,IAAAiU,EAAAD,EAAAhU,GACAsO,EAAAoF,wBAAA3a,EAAAkb,EAAAN,EAAAC,QAGA,GAAA5S,EAAAc,cAAAqR,GACA,IAAA,IAAAe,KAAAf,EACA,GAAAA,EAAA3e,eAAA0f,GAAA,CACA,IAAAD,EAAAd,EAAAe,GACA5F,EAAAoF,wBAAA3a,EAAAkb,EAAAN,EAAAC,KAQAtF,EAAAyF,yBAAA,SAAAZ,EAAAQ,EAAAC,GACA,GAAA,MAAAT,QAEA,GAAAA,aAAA7E,GACA,KAAA6E,EAAA3d,MAAAme,KACAA,EAAAR,EAAA3d,IAAA2d,EACAS,GAEA,IADA,IAAAO,EAAAhB,EAAAiB,wBACApU,EAAA,EAAAqU,EAAAF,EAAAnU,EAAAqU,EAAAvd,OAAAkJ,IAAA,CACA,IAAAoQ,EAAAiE,EAAArU,GACAsO,EAAAyF,yBAAA3D,EAAAuD,GAAA,SAKA,GAAAR,EAAAmB,kBAAAC,kBAEA,GAAAvT,EAAAa,QAAAsR,GACA,IAAA,IAAA7S,EAAA,EAAAkU,EAAArB,EAAA7S,EAAAkU,EAAA1d,OAAAwJ,IAAA,CACA,IAAA2T,EAAAO,EAAAlU,GACAgO,EAAAyF,yBAAAE,EAAAN,EAAAC,QAGA,GAAA5S,EAAAc,cAAAqR,GACA,IAAA,IAAAe,KAAAf,EACA,GAAAA,EAAA3e,eAAA0f,GAAA,CACA,IAAAD,EAAAd,EAAAe,GACA5F,EAAAyF,yBAAAE,EAAAN,EAAAC,KAOAtF,EAAA9X,UAAA4d,sBAAA,WACA,IAAAT,EAAA,GACAxS,EAAAvL,KAAAyG,0BACA,IAAA,IAAA4F,KAAAd,EAAA,CACA,IAAAM,EAAAN,EAAAc,GACAqM,EAAAyF,yBAAAtS,EAAAkS,GAAA,GAEA,OAAAjgB,EAAAqV,OAAA4K,IAEArF,EAAA9X,UAAAie,WAAA,WACA,IAAAA,EAAA,GAEA,OADAnG,EAAAyF,yBAAAne,KAAA6e,GAAA,GACA/gB,EAAAqV,OAAA0L,IAEAnG,EAAA9X,UAAAke,cAAA,aACApG,EAAA9X,UAAAme,gBAAA,SAAA5b,GAEA,GAAA,MAAAnD,KAAA8D,UAAA9D,KAAA8D,UAAAX,EACA,MAAA,IAAA9E,MAAA,kDACA2B,KAAA8D,SAAAX,EACAnD,KAAA8e,iBAEApG,EAAA9X,UAAAoe,gBAAA,WAEAhf,KAAA8D,SAAA,MAEA4U,EAAA9X,UAAAgc,4BAAA,SAAApW,EAAAmW,EAAAsC,EAAAlV,GACA,GAAA/J,KAAAid,0BAAAzW,IAEA,MAAAxG,KAAA8D,SAAA,CACA,IAAAob,EAAA,GACAxG,EAAAyF,yBAAAc,EAAAC,GAAA,GACA,IAAAC,EAAA,GACAzG,EAAAyF,yBAAAxB,EAAAwC,GAAA,GACA,IAAAC,GAAA,EACA,IAAA,IAAAC,KAAAH,EACA,KAAAG,KAAAF,GAAA,CACAC,GAAA,EACA,MAGA,IAAAA,EACA,IAAA,IAAAE,KAAAH,EACA,KAAAG,KAAAJ,GAAA,CACAE,GAAA,EACA,MAIAA,GACApf,KAAA8D,SAAAyb,yBACAvf,KAAA8D,SAAA0b,eAAAxf,KAAAwG,EAAAmW,EAAAsC,EAAAlV,KAGA2O,EAAA9X,UAAA6e,sBAAA,SAAAC,GAEA,IAAAtb,EAAA,GACA,IAAA,IAAAub,KAAA3f,KAAAkZ,WAAA,CACA,IAAA/M,EAAAnM,KAAAkZ,WAAAyG,GACA,GAAAxT,aAAAkB,EAAAuS,cAGAzT,EAAA0T,UAAA,MAAA1T,EAAAqP,KAAA3P,OAAA8T,KAAA3f,KAAAmZ,qBAAA,CAEA,IAAA2G,EAAA3T,EAAA2T,MAAAJ,GACAtb,EAAA,IAAAub,GAAAG,EAGA,MAAA3T,EAAAqP,KAAAuE,OAAA5T,EAAAqP,KAAAuE,SAAAL,EAAAM,UACA5b,EAAA,IAAAub,EAAA,UAAAD,EAAAM,QAAA7T,EAAAqP,KAAAuE,QACA5T,aAAAkB,EAAA4S,eACA7b,EAAA,OAAAub,GAAA/V,EAAAgJ,IAAAkN,KAEA,OAAA1b,GAEAsU,EApcA,CAqcAL,EAAA6H,cACAtiB,EAAA8a,SAAAA,EACAA,EAAAqB,aCldA,SAAArc,EAAAC,EAAAC,GACA,IAAAgM,EAAAlM,EAAA,IACAyiB,EAAAziB,EAAA,KAuDA,SAAA0iB,EAAA3X,GACA,OAAAA,EAAAA,EAEA,SAAA4X,EAAAC,EAAAC,GACA,OAAAH,EAAAE,EAAA7X,EAAA8X,EAAA9X,GAAA2X,EAAAE,EAAA5X,EAAA6X,EAAA7X,GAGA,SAAA8X,EAAAnT,EAAAkQ,EAAAkD,GACA,IAAAC,EAAAL,EAAA9C,EAAAkD,GACA,GAAA,GAAAC,EACA,OAAAL,EAAAhT,EAAAkQ,GACA,IAAAoD,IAAAtT,EAAA5E,EAAA8U,EAAA9U,IAAAgY,EAAAhY,EAAA8U,EAAA9U,IAAA4E,EAAA3E,EAAA6U,EAAA7U,IAAA+X,EAAA/X,EAAA6U,EAAA7U,IAAAgY,EACA,GAAAC,EAAA,EACA,OAAAN,EAAAhT,EAAAkQ,GACA,GAAAoD,EAAA,EACA,OAAAN,EAAAhT,EAAAoT,GACA,IAAAG,EAAA,CAAAnY,EAAA8U,EAAA9U,EAAAkY,GAAAF,EAAAhY,EAAA8U,EAAA9U,GAAAC,EAAA6U,EAAA7U,EAAAiY,GAAAF,EAAA/X,EAAA6U,EAAA7U,IACA,OAAA2X,EAAAhT,EAAAuT,GAvDAhjB,EAAAijB,cAhBA,SAAApY,EAAAC,EAAAoY,EAAAC,GAIA,IAHA,IAAAC,GAAA,EACAC,EAAAH,EAAAA,EAAA5f,OAAA,GACAggB,EAAAH,EAAAA,EAAA7f,OAAA,GACA+O,EAAA,EAAAA,EAAA6Q,EAAA5f,OAAA+O,IAAA,CACA,IAAAkR,EAAAL,EAAA7Q,GACAmR,EAAAL,EAAA9Q,GACAiR,EAAAxY,GAAA0Y,EAAA1Y,GACAuY,GAAAvY,EAAAwY,IAAAE,EAAAF,IAAAC,EAAAF,GAAAxY,IACAuY,GAAAA,GAEAC,EAAAE,EACAD,EAAAE,EAEA,OAAAJ,GAWApjB,EAAAyjB,iBARA,SAAA5Y,EAAAC,EAAA4Y,EAAAC,EAAAvR,EAAAwR,EAAAC,GACA,IAAAC,EAAApS,KAAAqS,IAAArS,KAAAsS,IAAAN,GAAAtR,EAAA,GAAAV,KAAAqS,IAAArS,KAAAuS,IAAAP,GAAAC,EAAA,GACAO,EAAA,EAAAxS,KAAAsS,IAAAN,GAAAhS,KAAAuS,IAAAP,IAAAhS,KAAAqS,IAAA,EAAA3R,EAAA,GAAAV,KAAAqS,IAAA,EAAAJ,EAAA,IACAQ,EAAAzS,KAAAqS,IAAArS,KAAAsS,IAAAN,GAAAC,EAAA,GAAAjS,KAAAqS,IAAArS,KAAAuS,IAAAP,GAAAtR,EAAA,GAGA,OAFA0R,EAAApS,KAAAqS,IAAAlZ,EAAA+Y,EAAA,GAAAM,GAAArZ,EAAA+Y,IAAA9Y,EAAA+Y,GAAAM,EAAAzS,KAAAqS,IAAAjZ,EAAA+Y,EAAA,IACA,GAOA7jB,EAAAokB,6BAHA,WACA,OAAA,IAAA7B,EAAA8B,WAcArkB,EAAAskB,iCAXA,SAAAC,GACA,IAAApE,EAAA,IAAAoC,EAAA8B,UAQA,OAPAlE,EAAAqE,QAAAxY,EAAAyY,QAAAF,EAAA,SAAAzX,GAEA,OADAA,EAAA,GAAAA,EAAA,KAEAP,IAAA,SAAAO,GACA,IAAAuF,EAAAvF,EAAA,GACA,OADAA,EAAA,GACAuF,IAEA8N,GAcAngB,EAAA0kB,qBAXA,SAAA5X,EAAAO,GACA,IAAA4B,EAAAE,EACAyU,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACA+W,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GAMA,OAJAuW,EAAAP,IACAO,GAAA3U,EAAA,CAAAoU,EAAAO,IAAA,GAAAP,EAAApU,EAAA,IACA4U,EAAAP,IACAO,GAAA1U,EAAA,CAAAmU,EAAAO,IAAA,GAAAP,EAAAnU,EAAA,IACA,CAAAwV,KAAAf,EAAAgB,KAAAf,EAAAgB,KAAAxB,EAAAyB,KAAAxB,IASAtjB,EAAAyiB,WAAAA,EAaAziB,EAAA4iB,wBAAAA,EAIA5iB,EAAA+kB,gBAHA,SAAAtV,EAAAkQ,EAAAkD,GACA,OAAAnR,KAAAsT,KAAApC,EAAAnT,EAAAkQ,EAAAkD,KA2BA7iB,EAAAilB,2BAxBA,SAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAQA,IAAAC,GAAAD,EAAAF,IAAAH,EAAAF,IAAAM,EAAAF,IAAAD,EAAAF,GACA,GAAA,GAAAO,EACA,MAAA,CAAAC,KAAA,EAAA9a,EAAA,KAAAC,EAAA,MAGA,IAAAsH,EAAA+S,EAAAI,EACA5B,EAAAuB,EAAAI,EACAM,GAAAJ,EAAAF,GAAAlT,GAAAqT,EAAAF,GAAA5B,EACAkC,GAAAT,EAAAF,GAAA9S,GAAAiT,EAAAF,GAAAxB,EAEAA,EAAAkC,EAAAH,EACA,IAAA7a,EAAAqa,GAFA9S,EAAAwT,EAAAF,IAEAN,EAAAF,GACApa,EAAAqa,EAAA/S,GAAAiT,EAAAF,GACA,MAAA,CAAAQ,IAAAvT,EAAA,GAAAA,EAAA,GAAAuR,EAAA,GAAAA,EAAA,EAAA9Y,EAAAA,EAAAC,EAAAA,KCtGA,SAAAhL,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAgmB,EAAAhmB,EAAA,IACAimB,EAAAjmB,EAAA,IACAkmB,EAAA,SAAAtc,GAEA,SAAAsc,IACA,IAAA9iB,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAA0K,SAAA,GACA1K,EAEA,OANA+F,EAAAY,UAAAmc,EAAAtc,GAMAsc,EAPA,CAQAF,EAAAG,YACAjmB,EAAAgmB,MAAAA,EACA,IAAAE,EAAA,SAAAxc,GAEA,SAAAwc,IACA,OAAA,OAAAxc,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAwBA,OA1BA6G,EAAAY,UAAAqc,EAAAxc,GAIAwc,EAAAljB,UAAAmjB,SAAA,SAAAC,GAGA,IAFA,IAAA3U,EAAA,EACAG,EAAA,EACApF,EAAA,EAAAM,EAAA1K,KAAAwL,SAAApB,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAqC,EAAA/B,EAAAN,GACA6Z,EAAAxX,EAAAyX,QAAA,CAAA7U,MAAA,EAAAG,OAAA,IACAH,GAAA4U,EAAA5U,MACAG,EAAAF,KAAAsD,IAAApD,EAAAyU,EAAAzU,QAEA,MAAA,CAAAH,MAAAA,EAAAG,OAAAA,IAEAsU,EAAAljB,UAAAujB,cAAA,SAAAC,EAAAC,GACA/c,EAAA1G,UAAAujB,cAAAtc,KAAA7H,KAAAokB,EAAAC,GAGA,IAFA,IAAArW,EAAAoW,EAAApW,IAAAE,EAAAkW,EAAAlW,OACAE,EAAAgW,EAAAhW,KACAhE,EAAA,EAAAM,EAAA1K,KAAAwL,SAAApB,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAqC,EAAA/B,EAAAN,GACAiF,EAAA5C,EAAAyX,QAAA,CAAA7U,MAAA,EAAAG,OAAA,IAAAH,MACA5C,EAAA6X,aAAA,IAAAX,EAAAY,KAAA,CAAAnW,KAAAA,EAAAiB,MAAAA,EAAArB,IAAAA,EAAAE,OAAAA,KACAE,GAAAiB,IAGAyU,EA3BA,CA4BAF,GACAhmB,EAAAkmB,OAAAA,EACA,IAAAU,EAAA,SAAAld,GAEA,SAAAkd,IACA,OAAA,OAAAld,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAwBA,OA1BA6G,EAAAY,UAAA+c,EAAAld,GAIAkd,EAAA5jB,UAAAmjB,SAAA,SAAAC,GAGA,IAFA,IAAA3U,EAAA,EACAG,EAAA,EACApF,EAAA,EAAAM,EAAA1K,KAAAwL,SAAApB,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAqC,EAAA/B,EAAAN,GACA6Z,EAAAxX,EAAAyX,QAAA,CAAA7U,MAAA,EAAAG,OAAA,IACAH,EAAAC,KAAAsD,IAAAvD,EAAA4U,EAAA5U,OACAG,GAAAyU,EAAAzU,OAEA,MAAA,CAAAH,MAAAA,EAAAG,OAAAA,IAEAgV,EAAA5jB,UAAAujB,cAAA,SAAAC,EAAAC,GACA/c,EAAA1G,UAAAujB,cAAAtc,KAAA7H,KAAAokB,EAAAC,GAGA,IAFA,IAAAjW,EAAAgW,EAAAhW,KAAAE,EAAA8V,EAAA9V,MACAN,EAAAoW,EAAApW,IACA5D,EAAA,EAAAM,EAAA1K,KAAAwL,SAAApB,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAqC,EAAA/B,EAAAN,GACAoF,EAAA/C,EAAAyX,QAAA,CAAA7U,MAAA,EAAAG,OAAA,IAAAA,OACA/C,EAAA6X,aAAA,IAAAX,EAAAY,KAAA,CAAAvW,IAAAA,EAAAwB,OAAAA,EAAApB,KAAAA,EAAAE,MAAAA,KACAN,GAAAwB,IAGAgV,EA3BA,CA4BAZ,GACAhmB,EAAA4mB,OAAAA,EACA,IAAAC,EAAA,SAAAnd,GAEA,SAAAmd,IACA,IAAA3jB,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAA0K,SAAA,GACA1K,EAsDA,OA1DA+F,EAAAY,UAAAgd,EAAAnd,GAMAmd,EAAA7jB,UAAAmjB,SAAA,SAAAW,GAGA,IAFA,IAAArV,EAAA,EACAG,EAAA,EACApF,EAAA,EAAAM,EAAA1K,KAAAwL,SAAApB,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAua,EAAAja,EAAAN,GAAAua,OACAV,EAAAU,EAAAT,QAAAQ,GACArV,EAAAC,KAAAsD,IAAAvD,EAAA4U,EAAA5U,OACAG,EAAAF,KAAAsD,IAAApD,EAAAyU,EAAAzU,QAEA,MAAA,CAAAH,MAAAA,EAAAG,OAAAA,IAEAiV,EAAA7jB,UAAAujB,cAAA,SAAAC,EAAAC,GACA/c,EAAA1G,UAAAujB,cAAAtc,KAAA7H,KAAAokB,EAAAC,GACA,IAAA,IAAAja,EAAA,EAAAM,EAAA1K,KAAAwL,SAAApB,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAa,EAAAP,EAAAN,GAAAua,EAAA1Z,EAAA0Z,OAAAC,EAAA3Z,EAAA2Z,OAAApW,EAAAvD,EAAAuD,OACAJ,EAAAgW,EAAAhW,KAAAE,EAAA8V,EAAA9V,MAAAyE,EAAAqR,EAAApW,IAAAE,EAAAkW,EAAAlW,OAAA2W,EAAAT,EAAAS,QAAAC,EAAAV,EAAAU,QACAjY,EAAA8X,EAAAT,QAAAE,GAAA/U,EAAAxC,EAAAwC,MAAAG,EAAA3C,EAAA2C,OACAuV,OAAA,EACA,OAAAH,GACA,IAAA,WACAG,EAAA,IAAApB,EAAAY,KAAA,CAAAnW,KAAAA,EAAAI,EAAAR,IAAA+E,EAAAvE,EAAAa,MAAAA,EAAAG,OAAAA,IACA,MACA,IAAA,aACAuV,EAAA,IAAApB,EAAAY,KAAA,CAAAM,QAAAA,EAAA7W,IAAA+E,EAAAvE,EAAAa,MAAAA,EAAAG,OAAAA,IACA,MACA,IAAA,YACAuV,EAAA,IAAApB,EAAAY,KAAA,CAAAjW,MAAAA,EAAAE,EAAAR,IAAA+E,EAAAvE,EAAAa,MAAAA,EAAAG,OAAAA,IACA,MACA,IAAA,eACAuV,EAAA,IAAApB,EAAAY,KAAA,CAAAjW,MAAAA,EAAAE,EAAAN,OAAAA,EAAAM,EAAAa,MAAAA,EAAAG,OAAAA,IACA,MACA,IAAA,gBACAuV,EAAA,IAAApB,EAAAY,KAAA,CAAAM,QAAAA,EAAA3W,OAAAA,EAAAM,EAAAa,MAAAA,EAAAG,OAAAA,IACA,MACA,IAAA,cACAuV,EAAA,IAAApB,EAAAY,KAAA,CAAAnW,KAAAA,EAAAI,EAAAN,OAAAA,EAAAM,EAAAa,MAAAA,EAAAG,OAAAA,IACA,MACA,IAAA,cACAuV,EAAA,IAAApB,EAAAY,KAAA,CAAAnW,KAAAA,EAAAI,EAAAsW,QAAAA,EAAAzV,MAAAA,EAAAG,OAAAA,IACA,MACA,IAAA,SACAuV,EAAA,IAAApB,EAAAY,KAAA,CAAAM,QAAAA,EAAAC,QAAAA,EAAAzV,MAAAA,EAAAG,OAAAA,IACA,MACA,IAAA,eACAuV,EAAA,IAAApB,EAAAY,KAAA,CAAAjW,MAAAA,EAAAE,EAAAsW,QAAAA,EAAAzV,MAAAA,EAAAG,OAAAA,IACA,MACA,QACA,MAAA,IAAAnR,MAAA,eAEAsmB,EAAAL,aAAAS,KAGAN,EA3DA,CA4DAf,EAAAG,YACAjmB,EAAA6mB,aAAAA,GCvIA,SAAA/mB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA0N,EAAA1N,EAAA,IACAgmB,EAAAhmB,EAAA,IACAsnB,EAAAtnB,EAAA,IACAimB,EAAAjmB,EAAA,IACAkM,EAAAlM,EAAA,IACAkV,EAAAtD,KAAAsD,IAAAqS,EAAA3V,KAAA2V,MACAC,EAAA,WACA,SAAAA,EAAAC,GACAnlB,KAAAmlB,IAAAA,EACAnlB,KAAAolB,KAAA,IAAAC,IAcA,OAZAH,EAAAtkB,UAAAsS,IAAA,SAAA7G,GACA,IAAAR,EAAA7L,KAAAolB,KAAAlS,IAAA7G,GAKA,YAJAuM,IAAA/M,IACAA,EAAA7L,KAAAmlB,MACAnlB,KAAAolB,KAAAvK,IAAAxO,EAAAR,IAEAA,GAEAqZ,EAAAtkB,UAAA2G,MAAA,SAAA8E,EAAA2H,GACA,IAAAnI,EAAA7L,KAAAkT,IAAA7G,GACArM,KAAAolB,KAAAvK,IAAAxO,EAAA2H,EAAAnI,KAEAqZ,EAjBA,GAmBAI,EAAA,WACA,SAAAA,IACAtlB,KAAAulB,OAAA,GACAvlB,KAAAwlB,OAAA,EACAxlB,KAAAylB,OAAA,EAmEA,OAjEAzmB,OAAAiU,eAAAqS,EAAA1kB,UAAA,QAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAwlB,QAEAnS,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAqS,EAAA1kB,UAAA,QAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAylB,QAEApS,YAAA,EACAC,cAAA,IAEAgS,EAAA1kB,UAAAgL,IAAA,SAAAiE,EAAAzL,GACA,IAAAshB,EAAA7V,EAAA6V,GAAAC,EAAA9V,EAAA8V,GACA3lB,KAAAwlB,OAAA5S,EAAA5S,KAAAwlB,OAAAE,EAAA,GACA1lB,KAAAylB,OAAA7S,EAAA5S,KAAAylB,OAAAE,EAAA,GACA3lB,KAAAulB,OAAAva,KAAA,CAAA6E,KAAAA,EAAAzL,KAAAA,KAEAkhB,EAAA1kB,UAAAglB,GAAA,SAAAC,EAAAC,GACA,IAAAC,EAAA/lB,KAAAulB,OAAA9a,OAAA,SAAAC,GACA,IAAAmF,EAAAnF,EAAAmF,KACA,OAAAA,EAAAmW,IAAAH,GAAAA,GAAAhW,EAAA6V,IACA7V,EAAAoW,IAAAH,GAAAA,GAAAjW,EAAA8V,KAEA,OAAAI,EAAA5b,IAAA,SAAAO,GACA,IAAAtG,EAAAsG,EAAAtG,KACA,OAAAA,KAGAkhB,EAAA1kB,UAAAslB,IAAA,SAAAL,GACA,IAAAE,EAAA/lB,KAAAulB,OAAA9a,OAAA,SAAAC,GACA,IAAAmF,EAAAnF,EAAAmF,KACA,OAAAA,EAAAmW,IAAAH,GAAAA,GAAAhW,EAAA6V,KAEA,OAAAK,EAAA5b,IAAA,SAAAO,GACA,IAAAtG,EAAAsG,EAAAtG,KACA,OAAAA,KAGAkhB,EAAA1kB,UAAAulB,IAAA,SAAAL,GACA,IAAAC,EAAA/lB,KAAAulB,OAAA9a,OAAA,SAAAC,GACA,IAAAmF,EAAAnF,EAAAmF,KACA,OAAAA,EAAAoW,IAAAH,GAAAA,GAAAjW,EAAA8V,KAEA,OAAAI,EAAA5b,IAAA,SAAAO,GACA,IAAAtG,EAAAsG,EAAAtG,KACA,OAAAA,KAGAkhB,EAAA1kB,UAAAwlB,QAAA,SAAApS,GACA,IAAA,IAAA5J,EAAA,EAAAM,EAAA1K,KAAAulB,OAAAnb,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAa,EAAAP,EAAAN,GAAAyF,EAAA5E,EAAA4E,KAAAzL,EAAA6G,EAAA7G,KACA4P,EAAAnE,EAAAzL,KAGAkhB,EAAA1kB,UAAAuJ,IAAA,SAAA6J,GAEA,IADA,IAAA+J,EAAA,IAAAuH,EACAlb,EAAA,EAAAM,EAAA1K,KAAAulB,OAAAnb,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAa,EAAAP,EAAAN,GAAAyF,EAAA5E,EAAA4E,KAAAzL,EAAA6G,EAAA7G,KACA2Z,EAAAnS,IAAAiE,EAAAmE,EAAAnE,EAAAzL,IAEA,OAAA2Z,GAEAuH,EAvEA,GAyEAe,EAAA,SAAA/e,GAEA,SAAA+e,EAAAC,QACA,IAAAA,IACAA,EAAA,IAEA,IAAAxlB,EAAAwG,EAAAO,KAAA7H,OAAAA,KAMA,OALAc,EAAAwlB,MAAAA,EACAxlB,EAAAylB,KAAA,OACAzlB,EAAA0lB,KAAA,OACA1lB,EAAA2lB,QAAA,EACA3lB,EAAA4lB,UAAA,EACA5lB,EAsZA,OAjaA+F,EAAAY,UAAA4e,EAAA/e,GAaA+e,EAAAzlB,UAAA+lB,mBAAA,WACA,GAAArf,EAAA1G,UAAA+lB,mBAAA9e,KAAA7H,MACA,OAAA,EACA,GAAA,SAAAA,KAAA4mB,OAAAC,aACA,OAAA,EACA,IAAAL,EAAAxmB,KAAA8mB,OAAAN,KACA,OAAA5c,EAAAmd,KAAAP,EAAA,SAAAL,GAAA,MAAA,OAAAA,EAAAa,UAEAX,EAAAzlB,UAAAqmB,oBAAA,WACA,GAAA3f,EAAA1G,UAAAqmB,oBAAApf,KAAA7H,MACA,OAAA,EACA,GAAA,SAAAA,KAAA4mB,OAAAM,cACA,OAAA,EACA,IAAAX,EAAAvmB,KAAA8mB,OAAAP,KACA,OAAA3c,EAAAmd,KAAAR,EAAA,SAAAL,GAAA,MAAA,OAAAA,EAAAc,UAEAX,EAAAzlB,UAAAumB,MAAA,WACA,IAAArmB,EAAAd,KACAsH,EAAA1G,UAAAumB,MAAAtf,KAAA7H,MAEA,IADA,IAAAsmB,EAAA,IAAAhB,EACAlb,EAAA,EAAAM,EAAA1K,KAAAsmB,MAAAlc,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAa,EAAAP,EAAAN,GAAAua,EAAA1Z,EAAA0Z,OAAAuB,EAAAjb,EAAAib,IAAAC,EAAAlb,EAAAkb,IAAAiB,EAAAnc,EAAAmc,SAAAC,EAAApc,EAAAoc,SACA,GAAA1C,EAAAiC,OAAAU,QAAA,CACA,IAAAtB,EAAAE,EACAD,EAAAE,EACAT,EAAAQ,GAAA,MAAAkB,EAAAA,EAAA,GAAA,EACAzB,EAAAQ,GAAA,MAAAkB,EAAAA,EAAA,GAAA,EACAf,EAAA1a,IAAA,CAAAoa,GAAAA,EAAAC,GAAAA,EAAAP,GAAAA,EAAAC,GAAAA,GAAAhB,IAiCA,IA9BA,IAAA4C,EAAAjB,EAAAiB,MAAAC,EAAAlB,EAAAkB,MACAjB,EAAA,IAAA9W,MAAA8X,GACA9M,EAAA,SAAA/R,GACA,IACAke,EADAV,EAEA,OADAU,EAAA5B,EAAA9Y,cAAApL,EAAAylB,MAAAzlB,EAAAylB,KAAA7d,IAAA5H,EAAAylB,KAAA,KAAAzlB,EAAAylB,MAEA,CAAAS,OAAA,QACAhC,EAAAyC,SAAAb,GACA,CAAAI,OAAA,QAAAxX,OAAAoX,GACA5B,EAAAjZ,SAAA6a,GACA,CAAAI,OAAAJ,GAEAA,EAEAc,EAAAxB,EAAAwB,OAAA,OACA,GAAA,SAAAxB,EAAAc,OACAT,EAAA7d,GAAA,CAAAse,OAAA,QAAAxX,OAAA0W,EAAA1W,OAAAkY,MAAAA,QACA,GAAA,OAAAxB,EAAAc,OACAT,EAAA7d,GAAA,CAAAse,OAAA,MAAAU,MAAAA,QACA,GAAA,OAAAxB,EAAAc,QAAA,OAAAd,EAAAc,OACAT,EAAA7d,GAAA,CAAAse,OAAAd,EAAAc,OAAAW,KAAAzB,EAAAyB,MAAA,EAAAD,MAAAA,OACA,CAAA,GAAA,QAAAxB,EAAAc,OAOA,MAAA,IAAA3oB,MAAA,cANAuL,EAAAmd,KAAAT,EAAAJ,IAAAxd,GAAA,SAAAic,GAAA,OAAAA,EAAAsC,wBACAV,EAAA7d,GAAA,CAAAse,OAAA,MAAAW,KAAA,EAAAD,MAAAA,GAEAnB,EAAA7d,GAAA,CAAAse,OAAA,MAAAU,MAAAA,KAKAhf,EAAA,EAAAA,EAAA6e,EAAA7e,IACA+R,EAAA/R,GA+BA,IA7BA,IAAA8d,EAAA,IAAA/W,MAAA+X,GACAI,EAAA,SAAAnf,GACA,IACAme,EADAT,EAEA,OADAS,EAAA5B,EAAA9Y,cAAApL,EAAA0lB,MAAA1lB,EAAA0lB,KAAA/d,IAAA3H,EAAA0lB,KAAA,KAAA1lB,EAAA0lB,MAEA,CAAAQ,OAAA,QACAhC,EAAAyC,SAAAb,GACA,CAAAI,OAAA,QAAA3X,MAAAuX,GACA5B,EAAAjZ,SAAA6a,GACA,CAAAI,OAAAJ,GAEAA,EAEAc,EAAAvB,EAAAuB,OAAA,OACA,GAAA,SAAAvB,EAAAa,OACAR,EAAA/d,GAAA,CAAAue,OAAA,QAAA3X,MAAA8W,EAAA9W,MAAAqY,MAAAA,QACA,GAAA,OAAAvB,EAAAa,OACAR,EAAA/d,GAAA,CAAAue,OAAA,MAAAU,MAAAA,QACA,GAAA,OAAAvB,EAAAa,QAAA,OAAAb,EAAAa,OACAR,EAAA/d,GAAA,CAAAue,OAAAb,EAAAa,OAAAW,KAAAxB,EAAAwB,MAAA,EAAAD,MAAAA,OACA,CAAA,GAAA,QAAAvB,EAAAa,OAOA,MAAA,IAAA3oB,MAAA,cANAuL,EAAAmd,KAAAT,EAAAH,IAAA1d,GAAA,SAAAkc,GAAA,OAAAA,EAAAgC,uBACAH,EAAA/d,GAAA,CAAAue,OAAA,MAAAW,KAAA,EAAAD,MAAAA,GAEAlB,EAAA/d,GAAA,CAAAue,OAAA,MAAAU,MAAAA,KAKAjf,EAAA,EAAAA,EAAA+e,EAAA/e,IACAmf,EAAAnf,GAEA,IAAAoE,EAAAmY,EAAAyC,SAAAznB,KAAAymB,SAAA,CAAAzmB,KAAAymB,QAAAzmB,KAAAymB,SAAAzmB,KAAAymB,QAAAoB,EAAAhb,EAAA,GAAAib,EAAAjb,EAAA,GACA7M,KAAA8mB,OAAA,CAAAR,MAAAA,EAAAiB,MAAAA,EAAAC,MAAAA,EAAAjB,KAAAA,EAAAC,KAAAA,EAAAqB,SAAAA,EAAAC,SAAAA,IAEAzB,EAAAzlB,UAAAmnB,gBAAA,SAAAC,EAAAC,GACA,IAAAvd,EAAA1K,KAAA8mB,OAAAS,EAAA7c,EAAA6c,MAAAC,EAAA9c,EAAA8c,MAAAK,EAAAnd,EAAAmd,SAAAC,EAAApd,EAAAod,SACA,MAAA,CACAtY,OAAA5F,EAAAse,IAAAF,IAAAT,EAAA,GAAAM,EACAxY,MAAAzF,EAAAse,IAAAD,IAAAT,EAAA,GAAAM,IAGAzB,EAAAzlB,UAAAunB,eAAA,SAAAC,GAGA,IAFA,IAAA1d,EAAA1K,KAAA8mB,OAAAR,EAAA5b,EAAA4b,MAAAiB,EAAA7c,EAAA6c,MAAAC,EAAA9c,EAAA8c,MAAAjB,EAAA7b,EAAA6b,KAAAC,EAAA9b,EAAA8b,KAAAqB,EAAAnd,EAAAmd,SAAAC,EAAApd,EAAAod,SACAE,EAAA,IAAAvY,MAAA8X,GACA1B,EAAA,EAAAA,EAAA0B,EAAA1B,IAAA,CACA,IAAAK,EAAAK,EAAAV,GACAmC,EAAAnC,GAAA,SAAAK,EAAAc,OAAAd,EAAA1W,OAAA,EAGA,IADA,IAAAyY,EAAA,IAAAxY,MAAA+X,GACA1B,EAAA,EAAAA,EAAA0B,EAAA1B,IAAA,CACA,IAAAK,EAAAK,EAAAV,GACAmC,EAAAnC,GAAA,SAAAK,EAAAa,OAAAb,EAAA9W,MAAA,EAEA,IAAAgZ,EAAA,IAAA/C,EACAgB,EAAAF,QAAA,SAAAvW,EAAA8U,GAKA,IAJA,IAAAqB,EAAAnW,EAAAmW,GAAAC,EAAApW,EAAAoW,GAAAP,EAAA7V,EAAA6V,GAAAC,EAAA9V,EAAA8V,GACA2C,GAAA5C,EAAAM,GAAA6B,EACAU,GAAA5C,EAAAM,GAAA6B,EACAtY,EAAA,EACAqW,EAAAG,EAAAH,GAAAH,EAAAG,IACArW,GAAA4Y,EAAAvC,EAAAI,GAAAzW,OAEAA,GAAA8Y,EAEA,IADA,IAAAjZ,EAAA,EACAyW,EAAAG,EAAAH,GAAAH,EAAAG,IACAzW,GAAA+Y,EAAApC,EAAAF,GAAAzW,MAEAA,GAAAkZ,EACA,IAAAtE,EAAAU,EAAAT,QAAA,CAAA7U,MAAAA,EAAAG,OAAAA,IACA6Y,EAAAzc,IAAAiE,EAAA,CAAA8U,OAAAA,EAAAV,UAAAA,IACA,IAAA/U,EAAA,IAAA9D,EAAAod,SAAAvE,GAAAwE,QAAA9D,EAAAiC,OAAApY,QACAU,EAAAM,QAAA8Y,EACApZ,EAAAG,OAAAkZ,EAEA,IADA,IAAAG,EAAA,GACA7C,EAAAG,EAAAH,GAAAH,EAAAG,IAAA,CACA,IAAAK,EAAAK,EAAAV,GACA,SAAAK,EAAAc,OACA9X,EAAAM,QAAA0W,EAAA1W,OAEAkZ,EAAA1d,KAAA6a,GAEA,GAAA3W,EAAAM,OAAA,EAEA,IADA,IAAAmZ,EAAA1D,EAAA/V,EAAAM,OAAAkZ,EAAAxnB,QACAkJ,EAAA,EAAAwe,EAAAF,EAAAte,EAAAwe,EAAA1nB,OAAAkJ,IAAA,CACA,IAAAyb,EAAA+C,EAAAxe,GACA4d,EAAAnC,GAAAjT,EAAAoV,EAAAnC,GAAA8C,GAIA,IADA,IAAAE,EAAA,GACA/C,EAAAG,EAAAH,GAAAH,EAAAG,IAAA,CACA,IAAAK,EAAAK,EAAAV,GACA,SAAAK,EAAAa,OACA9X,EAAAG,OAAA8W,EAAA9W,MAEAwZ,EAAA7d,KAAA8a,GAEA,GAAA5W,EAAAG,MAAA,EAEA,IADA,IAAAyZ,EAAA7D,EAAA/V,EAAAG,MAAAwZ,EAAA3nB,QACAwJ,EAAA,EAAAqe,EAAAF,EAAAne,EAAAqe,EAAA7nB,OAAAwJ,IAAA,CACA,IAAAob,EAAAiD,EAAAre,GACAud,EAAAnC,GAAAlT,EAAAqV,EAAAnC,GAAAgD,MAIA,IAAA5Z,EAAAlP,KAAA+nB,gBAAAC,EAAAC,GACA,MAAA,CAAA/Y,KAAAA,EAAA8Y,YAAAA,EAAAC,WAAAA,EAAAI,WAAAA,IAEAhC,EAAAzlB,UAAAooB,cAAA,SAAAtE,GACA,IASAuE,EATAve,EAAA1K,KAAA8mB,OAAAS,EAAA7c,EAAA6c,MAAAC,EAAA9c,EAAA8c,MAAAjB,EAAA7b,EAAA6b,KAAAC,EAAA9b,EAAA8b,KAAAqB,EAAAnd,EAAAmd,SAAAC,EAAApd,EAAAod,SACAoB,EAAAlpB,KAAAmoB,eAAA,SAAAzf,EAAAD,GACA,IAAAyd,EAAAK,EAAA7d,GACAyd,EAAAK,EAAA/d,GACA,MAAA,CACA4G,MAAA,SAAA8W,EAAAa,OAAAb,EAAA9W,MAAA4E,EAAAA,EACAzE,OAAA,SAAA0W,EAAAc,OAAAd,EAAA1W,OAAAyE,EAAAA,KAKAgV,EADA,SAAAjpB,KAAA4mB,OAAAM,eAAA,MAAAlnB,KAAA4mB,OAAApX,OACAxP,KAAA4mB,OAAApX,OACAkV,EAAAlV,QAAAyE,EAAAA,GAAAjU,KAAAinB,sBACAvC,EAAAlV,OAEA0Z,EAAAha,KAAAM,OAEA,IADA,IAuCA2Z,EAvCAC,EAAA,EACA1gB,EAAA,EAAAA,EAAA6e,EAAA7e,IAAA,CACA,IAAAwd,EAAAK,EAAA7d,GACA,OAAAwd,EAAAc,QAAA,OAAAd,EAAAc,OACAoC,GAAAlD,EAAAyB,KAEAsB,GAAAC,EAAAlB,YAAAtf,GAGA,GADAugB,IAAA1B,EAAA,GAAAM,EACA,GAAAuB,GAAAH,EAAA,EACA,IAAA,IAAAvgB,EAAA,EAAAA,EAAA6e,EAAA7e,IAAA,CACA,IAAAwd,EAAAK,EAAA7d,GACA,GAAA,OAAAwd,EAAAc,QAAA,OAAAd,EAAAc,OAAA,CACA,IAAAxX,EAAAyV,EAAAgE,GAAA/C,EAAAyB,KAAAyB,IACAH,GAAAzZ,EACA0Z,EAAAlB,YAAAtf,GAAA8G,EACA4Z,GAAAlD,EAAAyB,WAIA,GAAAsB,EAAA,EAAA,CAEA,IADA,IAAAI,EAAA,EACA3gB,EAAA,EAAAA,EAAA6e,EAAA7e,IAAA,CACA,IAAAwd,EAAAK,EAAA7d,GACA,SAAAwd,EAAAc,QACAqC,IAGA,IADA,IAAAC,GAAAL,EACAvgB,EAAA,EAAAA,EAAA6e,EAAA7e,IAAA,CACA,IAAAwd,EAAAK,EAAA7d,GACA,GAAA,SAAAwd,EAAAc,OAAA,CACA,IAAAxX,EAAA0Z,EAAAlB,YAAAtf,GACA6gB,EAAAtE,EAAAqE,EAAAD,GACAH,EAAAlB,YAAAtf,GAAAkK,EAAApD,EAAA+Z,EAAA,GACAD,GAAAC,EAAA/Z,EAAAA,EAAA+Z,EACAF,MAMAF,EADA,SAAAnpB,KAAA4mB,OAAAC,cAAA,MAAA7mB,KAAA4mB,OAAAvX,MACArP,KAAA4mB,OAAAvX,MACAqV,EAAArV,OAAA4E,EAAAA,GAAAjU,KAAA2mB,qBACAjC,EAAArV,MAEA6Z,EAAAha,KAAAG,MAEA,IADA,IAAAma,EAAA,EACA/gB,EAAA,EAAAA,EAAA+e,EAAA/e,IAAA,CACA,IAAA0d,EAAAK,EAAA/d,GACA,OAAA0d,EAAAa,QAAA,OAAAb,EAAAa,OACAwC,GAAArD,EAAAwB,KAEAwB,GAAAD,EAAAjB,WAAAxf,GAGA,GADA0gB,IAAA3B,EAAA,GAAAM,EACA,GAAA0B,GAAAL,EAAA,EACA,IAAA,IAAA1gB,EAAA,EAAAA,EAAA+e,EAAA/e,IAAA,CACA,IAAA0d,EAAAK,EAAA/d,GACA,GAAA,OAAA0d,EAAAa,QAAA,OAAAb,EAAAa,OAAA,CACA,IAAA3X,EAAA4V,EAAAkE,GAAAhD,EAAAwB,KAAA6B,IACAL,GAAA9Z,EACA6Z,EAAAjB,WAAAxf,GAAA4G,EACAma,GAAArD,EAAAwB,WAIA,GAAAwB,EAAA,EAAA,CAEA,IADA,IAAAE,EAAA,EACA5gB,EAAA,EAAAA,EAAA+e,EAAA/e,IAAA,CACA,IAAA0d,EAAAK,EAAA/d,GACA,SAAA0d,EAAAa,QACAqC,IAGA,IADA,IAAAI,GAAAN,EACA1gB,EAAA,EAAAA,EAAA+e,EAAA/e,IAAA,CACA,IAAA0d,EAAAK,EAAA/d,GACA,GAAA,SAAA0d,EAAAa,OAAA,CACA,IAAA3X,EAAA6Z,EAAAjB,WAAAxf,GACA8gB,EAAAtE,EAAAwE,EAAAJ,GACAH,EAAAjB,WAAAxf,GAAAmK,EAAAvD,EAAAka,EAAA,GACAE,GAAAF,EAAAla,EAAAA,EAAAka,EACAF,MAIA,IAAApe,EAAAjL,KAAAmoB,eAAA,SAAAzf,EAAAD,GACA,MAAA,CACA4G,MAAA6Z,EAAAjB,WAAAxf,GACA+G,OAAA0Z,EAAAlB,YAAAtf,MAEAsf,EAAA/c,EAAA+c,YAAAC,EAAAhd,EAAAgd,WAAAI,EAAApd,EAAAod,WACAnZ,EAAAlP,KAAA+nB,gBAAAC,EAAAC,GACA,MAAA,CAAA/Y,KAAAA,EAAA8Y,YAAAA,EAAAC,WAAAA,EAAAI,WAAAA,IAEAhC,EAAAzlB,UAAAmjB,SAAA,SAAAW,GACA,IAAAxV,EAAAlP,KAAAgpB,cAAAtE,GAAAxV,KACA,OAAAA,GAEAmX,EAAAzlB,UAAAujB,cAAA,SAAAC,EAAAC,GACA/c,EAAA1G,UAAAujB,cAAAtc,KAAA7H,KAAAokB,EAAAC,GAYA,IAXA,IAAA3Z,EAAA1K,KAAA8mB,OAAAS,EAAA7c,EAAA6c,MAAAC,EAAA9c,EAAA8c,MAAAK,EAAAnd,EAAAmd,SAAAC,EAAApd,EAAAod,SACA7c,EAAAjL,KAAAgpB,cAAA5E,GAAA4D,EAAA/c,EAAA+c,YAAAC,EAAAhd,EAAAgd,WAAAI,EAAApd,EAAAod,WACA9B,EAAAvmB,KAAA8mB,OAAAP,KAAApc,IAAA,SAAA+b,EAAAL,GACA,OAAAhf,EAAAiB,SAAA,GAAAoe,EAAA,CAAAlY,IAAA,EAAAwB,OAAAwY,EAAAnC,GAAA3X,aAAA,OAAAlO,KAAAgO,IAAAhO,KAAAwP,YAEAgX,EAAAxmB,KAAA8mB,OAAAN,KAAArc,IAAA,SAAAgc,EAAAL,GACA,OAAAjf,EAAAiB,SAAA,GAAAqe,EAAA,CAAA/X,KAAA,EAAAiB,MAAA4Y,EAAAnC,GAAAxX,YAAA,OAAAtO,KAAAoO,KAAApO,KAAAqP,WAEAiX,EAAA+B,EAAAle,IAAA,SAAA7E,EAAAsC,GACA,OAAAf,EAAAiB,SAAA,GAAAF,EAAA,CAAAwc,MAAA,IAAAT,EAAAY,KAAAF,MAAA,IAAAV,EAAAY,SAEAsB,EAAA,EAAA9S,EAAA/S,KAAA0mB,SAAAtC,EAAApW,IAAA,EAAA6X,EAAA0B,EAAA1B,IAAA,CACA,IAAAK,EAAAK,EAAAV,GACAK,EAAAlY,IAAA+E,EACAA,GAAAmT,EAAA1W,OAAAqY,EAEA,IAAA,IAAA/B,EAAA,EAAA1X,EAAApO,KAAA0mB,SAAAtC,EAAAhW,KAAA,EAAA0X,EAAA0B,EAAA1B,IAAA,CACA,IAAAK,EAAAK,EAAAV,GACAK,EAAA/X,KAAAA,EACAA,GAAA+X,EAAA9W,MAAAyY,EAEA,SAAA4B,EAAAzD,EAAAN,GAEA,IADA,IAAAtW,GAAAsW,EAAAM,GAAA6B,EACAhC,EAAAG,EAAAH,GAAAH,EAAAG,IACAzW,GAAAmX,EAAAV,GAAAzW,MAEA,OAAAA,EAEA,SAAAsa,EAAA3D,EAAAN,GAEA,IADA,IAAAlW,GAAAkW,EAAAM,GAAA6B,EACAhC,EAAAG,EAAAH,GAAAH,EAAAG,IACArW,GAAA+W,EAAAV,GAAArW,OAEA,OAAAA,EAEA8W,EAAAF,QAAA,SAAA1b,EAAA9C,GACA,IAAAoe,EAAAtb,EAAAsb,GAAAC,EAAAvb,EAAAub,GAAAP,EAAAhb,EAAAgb,GAAAC,EAAAjb,EAAAib,GACAhB,EAAA/c,EAAA+c,OAAAV,EAAArc,EAAAqc,UACA2C,EAAAjC,EAAAiC,OACAvX,EAAA4U,EAAA5U,MAAAG,EAAAyU,EAAAzU,OACAK,EAAA,CACAR,MAAAqa,EAAAzD,EAAAN,GACAnW,OAAAma,EAAA3D,EAAAN,IAEAkE,EAAA3D,GAAAN,GAAA,QAAAa,EAAAP,GAAAyB,MAAAlB,EAAAP,GAAAyB,MAAAd,EAAAgD,OACAC,EAAA7D,GAAAN,GAAA,QAAAa,EAAAP,GAAA0B,MAAAnB,EAAAP,GAAA0B,MAAAd,EAAAiD,OACAzb,EAAAoY,EAAAP,GAAA7X,KACA,SAAAwb,EACAxb,GAAAwY,EAAApY,OAAAJ,KACA,UAAAwb,EACAxb,GAAA6W,GAAApV,EAAAR,MAAAA,GAAA,GACA,OAAAua,IACAxb,GAAAyB,EAAAR,MAAAuX,EAAApY,OAAAF,MAAAe,GACA,IAAArB,EAAAuY,EAAAP,GAAAhY,IACA,SAAA6b,EACA7b,GAAA4Y,EAAApY,OAAAR,IACA,UAAA6b,EACA7b,GAAAiX,GAAApV,EAAAL,OAAAA,GAAA,GACA,OAAAqa,IACA7b,GAAA6B,EAAAL,OAAAoX,EAAApY,OAAAN,OAAAsB,GACA5H,EAAAwc,MAAA,IAAAT,EAAAY,KAAA,CAAAnW,KAAAA,EAAAJ,IAAAA,EAAAqB,MAAAA,EAAAG,OAAAA,MAEA,IAAAsa,EAAAvD,EAAApc,IAAA,WACA,MAAA,CACA4f,MAAA,IAAA7E,EAAA,WAAA,OAAA,IACA8E,IAAA,IAAA9E,EAAA,WAAA,OAAA,OAGA+E,EAAAzD,EAAArc,IAAA,WACA,MAAA,CACA4f,MAAA,IAAA7E,EAAA,WAAA,OAAA,IACA8E,IAAA,IAAA9E,EAAA,WAAA,OAAA,OAGAoB,EAAAF,QAAA,SAAA1b,EAAAO,GACA,IAAA+a,EAAAtb,EAAAsb,GAAAC,EAAAvb,EAAAub,GAAAP,EAAAhb,EAAAgb,GAAAC,EAAAjb,EAAAib,GACA1B,EAAAhZ,EAAAgZ,UAAAG,EAAAnZ,EAAAmZ,MACAC,EAAAJ,EAAAI,MACA,MAAAA,IACAyF,EAAA9D,GAAA+D,MAAAxiB,MAAA6c,EAAApW,IAAA,SAAAuP,GAAA,OAAA3K,EAAA2K,EAAA8G,EAAArW,OACA8b,EAAApE,GAAAsE,IAAAziB,MAAAgf,EAAAb,GAAAxX,OAAAkW,EAAAlW,OAAA,SAAAqP,GAAA,OAAA3K,EAAA2K,EAAA8G,EAAAnW,UACA+b,EAAAhE,GAAA8D,MAAAxiB,MAAA6c,EAAAhW,KAAA,SAAAmP,GAAA,OAAA3K,EAAA2K,EAAA8G,EAAAjW,QACA6b,EAAAtE,GAAAqE,IAAAziB,MAAAif,EAAAb,GAAArX,MAAA8V,EAAA9V,MAAA,SAAAiP,GAAA,OAAA3K,EAAA2K,EAAA8G,EAAA/V,YAGAgY,EAAAF,QAAA,SAAA1b,EAAA9C,GACA,IAAAoe,EAAAtb,EAAAsb,GAAAC,EAAAvb,EAAAub,GAAAP,EAAAhb,EAAAgb,GAAAC,EAAAjb,EAAAib,GACA1B,EAAArc,EAAAqc,UAAAG,EAAAxc,EAAAwc,MACA,SAAA8F,EAAAxf,GACA,IAAA0D,EAAA1D,EAAA0D,KAAAE,EAAA5D,EAAA4D,MAAAN,EAAAtD,EAAAsD,IAAAE,EAAAxD,EAAAwD,OACAmB,EAAA+U,EAAA/U,MAAAjB,EAAAE,EACAkB,EAAA4U,EAAA5U,OAAAxB,EAAAE,EACA,OAAA,IAAAyV,EAAAY,KAAA,CAAAnW,KAAAA,EAAAJ,IAAAA,EAAAqB,MAAAA,EAAAG,OAAAA,IAEA,GAAA,MAAAyU,EAAAI,MAAA,CACA,IAAA8F,EAAAD,EAAAjG,EAAAI,OACA,IAAA,IAAAJ,EAAAyD,MAAA,CACA,IAAA0C,EAAAN,EAAA9D,GAAA+D,MAAA7W,IAAAkR,EAAApW,KACAE,EAAA4b,EAAApE,GAAAsE,IAAA9W,IAAAqT,EAAAb,GAAAxX,OAAAkW,EAAAlW,QACAE,EAAA6b,EAAAhE,GAAA8D,MAAA7W,IAAAkR,EAAAhW,MACAE,EAAA2b,EAAAtE,GAAAqE,IAAA9W,IAAAsT,EAAAb,GAAArX,MAAA8V,EAAA9V,OACA,IACA6b,EAAAD,EAAA,CAAAlc,IAAAoc,EAAAlc,OAAAA,EAAAE,KAAAA,EAAAE,MAAAA,IAEA,MAAArD,KAEArD,EAAAyc,MAAA8F,OAGAviB,EAAAyc,MAAAD,IAEAkC,EAAAF,QAAA,SAAA9gB,EAAAoF,GACA,IAAAia,EAAAja,EAAAia,OAAAP,EAAA1Z,EAAA0Z,MAAAC,EAAA3Z,EAAA2Z,MACAM,EAAAL,aAAAF,EAAAC,MAGAgC,EAlaA,CAmaA3C,EAAAG,YACAjmB,EAAAyoB,KAAAA,EACA,IAAAgE,EAAA,SAAA/iB,GAEA,SAAA+iB,EAAA/D,GACA,IAAAxlB,EAAAwG,EAAAO,KAAA7H,OAAAA,KAGA,OAFAc,EAAAwlB,MAAAA,EAAAnc,IAAA,SAAAvC,EAAAqI,GAAA,MAAA,CAAA0U,OAAA/c,EAAAse,IAAA,EAAAC,IAAAlW,KACAnP,EAAAylB,KAAA,MACAzlB,EAEA,OAPA+F,EAAAY,UAAA4iB,EAAA/iB,GAOA+iB,EARA,CASAhE,GACAzoB,EAAAysB,IAAAA,EACA,IAAAC,EAAA,SAAAhjB,GAEA,SAAAgjB,EAAAhE,GACA,IAAAxlB,EAAAwG,EAAAO,KAAA7H,OAAAA,KAGA,OAFAc,EAAAwlB,MAAAA,EAAAnc,IAAA,SAAAvC,EAAAqI,GAAA,MAAA,CAAA0U,OAAA/c,EAAAse,IAAAjW,EAAAkW,IAAA,KACArlB,EAAA0lB,KAAA,MACA1lB,EAEA,OAPA+F,EAAAY,UAAA6iB,EAAAhjB,GAOAgjB,EARA,CASAjE,GACAzoB,EAAA0sB,OAAAA,GC9hBA,SAAA5sB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAgmB,EAAAhmB,EAAA,IACA0N,EAAA1N,EAAA,IACA6sB,EAAA7sB,EAAA,GACA8sB,EAAA,SAAAljB,GAEA,SAAAkjB,EAAArd,GACA,IAAArM,EAAAwG,EAAAO,KAAA7H,OAAAA,KAEA,OADAc,EAAA6R,aAAA4X,EAAAnW,QAAAjH,EAAA,WAAA,OAAA,IAAA/B,EAAAod,SAAA+B,EAAArb,KAAA/B,MACArM,EAKA,OATA+F,EAAAY,UAAA+iB,EAAAljB,GAMAkjB,EAAA5pB,UAAA6pB,cAAA,WACA,OAAAzqB,KAAA2S,cAEA6X,EAVA,CAWA9G,EAAAgH,mBACA9sB,EAAA4sB,WAAAA,EACA,IAAAG,EAAA,SAAArjB,GAEA,SAAAqjB,EAAAxd,GACA,IAAArM,EAAAwG,EAAAO,KAAA7H,OAAAA,KAEA,OADAc,EAAAqM,GAAAA,EACArM,EAWA,OAfA+F,EAAAY,UAAAkjB,EAAArjB,GAMAqjB,EAAA/pB,UAAAmjB,SAAA,SAAAW,GACA,IAAA5jB,EAAAd,KACA4qB,EAAA,IAAAxf,EAAAod,SAAA9D,GAAAmG,WAAA7qB,KAAA4mB,OAAA1X,MACA,OAAAqb,EAAAxW,MAAA/T,KAAAmN,GAAAyd,EAAA,WACA,IAAA/nB,EAAA,IAAAuI,EAAAod,SAAA+B,EAAA5X,aAAA7R,EAAAqM,KACAzC,EAAA6f,EAAA1c,QAAA/M,EAAAqM,IAAAY,EAAArD,EAAAqD,OAAAc,EAAAnE,EAAAmE,QACA,OAAAhM,EAAA4lB,QAAA1a,GAAA0a,QAAA5Z,GAAA1E,IAAAmF,KAAAC,SAGAob,EAhBA,CAiBAjH,EAAAG,YACAjmB,EAAA+sB,YAAAA,GCpCA,SAAAjtB,EAAAC,EAAAC,GACA,IAAAwN,EAAA1N,EAAA,IACAE,EAAA4qB,SAAApd,EAAAod,SACA,IAAA9E,EAAAhmB,EAAA,IACAE,EAAAimB,WAAAH,EAAAG,WACAjmB,EAAAktB,WAAApH,EAAAoH,WACA,IAAAC,EAAArtB,EAAA,IACAE,EAAAkmB,OAAAiH,EAAAjH,OACAlmB,EAAA4mB,OAAAuG,EAAAvG,OACA5mB,EAAA6mB,aAAAsG,EAAAtG,aACA,IAAAuG,EAAAttB,EAAA,IACAE,EAAAyoB,KAAA2E,EAAA3E,KACAzoB,EAAAysB,IAAAW,EAAAX,IACAzsB,EAAA0sB,OAAAU,EAAAV,OACA,IAAAW,EAAAvtB,EAAA,IACAE,EAAA4sB,WAAAS,EAAAT,WACA5sB,EAAA+sB,YAAAM,EAAAN,aChBA,SAAAjtB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA0N,EAAA1N,EAAA,IACAimB,EAAAjmB,EAAA,IACAwtB,EAAA5b,KAAA4b,IAAAtY,EAAAtD,KAAAsD,IAAAqS,EAAA3V,KAAA2V,MACApB,EAAA,WACA,SAAAA,IACA7jB,KAAAmrB,MAAA,IAAAxH,EAAAY,KACAvkB,KAAAorB,YAAA,IAAAzH,EAAAY,KACA,IAAAI,EAAA3kB,KACAA,KAAAqrB,KAAA,CAAAxf,YAAA,OAAA8Y,EAAAI,KAAA/W,MACAhO,KAAAsrB,MAAA,CAAAzf,YAAA,OAAA8Y,EAAAI,KAAA3W,OACApO,KAAAurB,OAAA,CAAA1f,YAAA,OAAA8Y,EAAAI,KAAA1V,QACArP,KAAAwrB,QAAA,CAAA3f,YAAA,OAAA8Y,EAAAI,KAAAvV,SACAxP,KAAAyrB,OAAA,CAAA5f,YAAA,OAAA8Y,EAAAI,KAAAzW,QACAtO,KAAA0rB,QAAA,CAAA7f,YAAA,OAAA8Y,EAAAI,KAAA7W,SACAlO,KAAA2rB,SAAA,CAAA9f,YAAA,OAAA8Y,EAAAI,KAAAF,UACA7kB,KAAA4rB,SAAA,CAAA/f,YAAA,OAAA8Y,EAAAI,KAAAD,UA2KA,OAzKA9lB,OAAAiU,eAAA4Q,EAAAjjB,UAAA,OAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAmrB,OAEA9X,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA4Q,EAAAjjB,UAAA,aAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAorB,aAEA/X,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA4Q,EAAAjjB,UAAA,SAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA6rB,SAEAxY,YAAA,EACAC,cAAA,IAEAuQ,EAAAjjB,UAAAkrB,WAAA,SAAAlF,GACA,IAAAC,EAAAD,EAAAC,cAAA,MACAxX,EAAAuX,EAAAvX,MACA0c,EAAA,MAAAnF,EAAAmF,UAAAnF,EAAAmF,UAAA,EACAC,EAAA,MAAApF,EAAAoF,UAAApF,EAAAoF,UAAA/X,EAAAA,EACAiT,EAAAN,EAAAM,eAAA,MACA1X,EAAAoX,EAAApX,OACAyc,EAAA,MAAArF,EAAAqF,WAAArF,EAAAqF,WAAA,EACAC,EAAA,MAAAtF,EAAAsF,WAAAtF,EAAAsF,WAAAjY,EAAAA,EACAkY,EAAAvF,EAAAuF,OACA3d,EAAAoY,EAAApY,QAAA,CAAAR,IAAA,EAAAM,MAAA,EAAAJ,OAAA,EAAAE,KAAA,GACAkZ,GAAA,IAAAV,EAAAU,QACAsC,EAAAhD,EAAAgD,QAAA,QACAC,EAAAjD,EAAAiD,QAAA,QACA7pB,KAAA6rB,QAAA,CACAhF,aAAAA,EAAAkF,UAAAA,EAAA1c,MAAAA,EAAA2c,UAAAA,EACA9E,cAAAA,EAAA+E,WAAAA,EAAAzc,OAAAA,EAAA0c,WAAAA,EACAC,OAAAA,EACA3d,OAAAA,EACA8Y,QAAAA,EACAsC,OAAAA,EACAC,OAAAA,EACA3a,KAAA,CAAAG,MAAAA,EAAAG,OAAAA,GACA4c,SAAA,CAAA/c,MAAA0c,EAAAvc,OAAAyc,GACAI,SAAA,CAAAhd,MAAA2c,EAAAxc,OAAA0c,IAEAlsB,KAAAmnB,SAEAtD,EAAAjjB,UAAAumB,MAAA,aACAtD,EAAAjjB,UAAAujB,cAAA,SAAAC,EAAAC,GACArkB,KAAAmrB,MAAA/G,EACApkB,KAAAorB,YAAA/G,GAEAR,EAAAjjB,UAAA0jB,aAAA,SAAAF,EAAAC,GACArkB,KAAAmkB,cAAAC,EAAAC,GAAAD,IAEAP,EAAAjjB,UAAA+lB,mBAAA,WACA,MAAA,OAAA3mB,KAAA4mB,OAAAC,cAEAhD,EAAAjjB,UAAAqmB,oBAAA,WACA,MAAA,OAAAjnB,KAAA4mB,OAAAM,eAEArD,EAAAjjB,UAAA0rB,aAAA,SAAA5H,EAAAha,GACA,IAAA2E,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA2c,EAAAnsB,KAAA4mB,OAAAuF,OACA,GAAA,MAAAA,EAAA,CACA,IAAAlhB,EAAAjL,KAAA4mB,OAAAC,EAAA5b,EAAA4b,aAAAK,EAAAjc,EAAAic,cAKA,GAAA,SAAAL,GAAA,SAAAK,EACA,GAAAL,GAAAK,EAAA,CACA,IAAAqF,EAAAld,EACAmd,EAAAvH,EAAA5V,EAAA8c,GACAM,EAAAxH,EAAAzV,EAAA2c,GACAO,EAAAld,EACAmd,EAAArd,KAAAsd,IAAAlI,EAAArV,MAAAkd,GAAAjd,KAAAsd,IAAAlI,EAAAlV,OAAAgd,GACAK,EAAAvd,KAAAsd,IAAAlI,EAAArV,MAAAod,GAAAnd,KAAAsd,IAAAlI,EAAAlV,OAAAkd,GACAC,GAAAE,GACAxd,EAAAkd,EACA/c,EAAAgd,IAGAnd,EAAAod,EACAjd,EAAAkd,QAlBA,SAAArd,EAAAG,GACA,IAAAsd,EAAA,CAAAla,IAAA,EAAAma,IAAA,EAAA7B,IAAA,EAAA8B,MAAA,GACA,OAAAF,EAAAzd,GAAAyd,EAAAtd,GAmBAyd,CAAApG,EAAAK,GAIA7X,EAAA4V,EAAAzV,EAAA2c,GAHA3c,EAAAyV,EAAA5V,EAAA8c,OAMA,SAAAtF,EACArX,EAAAyV,EAAA5V,EAAA8c,GAEA,SAAAjF,IACA7X,EAAA4V,EAAAzV,EAAA2c,IAGA,MAAA,CAAA9c,MAAAA,EAAAG,OAAAA,IAEAqU,EAAAjjB,UAAAsjB,QAAA,SAAAgJ,GACA,IAAApsB,EAAAd,KACA,IAAAA,KAAA4mB,OAAAU,QACA,MAAA,CAAAjY,MAAA,EAAAG,OAAA,GACA,IAAA2d,EAAA,SAAA9d,GACA,MAAA,SAAAvO,EAAA8lB,OAAAC,cAAA,MAAA/lB,EAAA8lB,OAAAvX,MAAAvO,EAAA8lB,OAAAvX,MAAAA,GAEA+d,EAAA,SAAA5d,GACA,MAAA,SAAA1O,EAAA8lB,OAAAM,eAAA,MAAApmB,EAAA8lB,OAAApX,OAAA1O,EAAA8lB,OAAApX,OAAAA,GAEAkV,EAAA,IAAAtZ,EAAAod,SAAA0E,GACAG,UAAArtB,KAAA4mB,OAAApY,QACArE,IAAAgjB,EAAAC,GACAE,EAAAttB,KAAA+jB,SAAAW,GACA6I,EAAAvtB,KAAAwtB,UAAAF,GACAje,EAAA8d,EAAAI,EAAAle,OACAG,EAAA4d,EAAAG,EAAA/d,QACAN,EAAAlP,KAAAssB,aAAA5H,EAAA,CAAArV,MAAAA,EAAAG,OAAAA,IACA,OAAA3I,EAAAiB,SAAA,GAAAwlB,EAAApe,IAEA2U,EAAAjjB,UAAA6sB,QAAA,SAAA/I,QACA,IAAAA,IACAA,EAAA,IAEA,IAAAT,EAAAjkB,KAAAkkB,QAAA,CACA7U,MAAA,MAAAqV,EAAArV,OAAArP,KAAA2mB,qBAAAjC,EAAArV,MAAA4E,EAAAA,EACAzE,OAAA,MAAAkV,EAAAlV,QAAAxP,KAAAinB,sBAAAvC,EAAAlV,OAAAyE,EAAAA,IAEA5E,EAAA4U,EAAA5U,MAAAG,EAAAyU,EAAAzU,OACA4U,EAAA,IAAAT,EAAAY,KAAA,CAAAnW,KAAA,EAAAJ,IAAA,EAAAqB,MAAAA,EAAAG,OAAAA,IACA6U,OAAAzL,EACA,GAAA,MAAAqL,EAAAI,MAAA,CACA,IAAA3Z,EAAAuZ,EAAAI,MAAAjW,EAAA1D,EAAA0D,KAAA2E,EAAArI,EAAAsD,IAAAM,EAAA5D,EAAA4D,MAAAJ,EAAAxD,EAAAwD,OACAmW,EAAA,IAAAV,EAAAY,KAAA,CAAAnW,KAAAA,EAAAJ,IAAA+E,EAAAzE,MAAAe,EAAAf,EAAAJ,OAAAsB,EAAAtB,IAEAlO,KAAAskB,aAAAF,EAAAC,IAEArlB,OAAAiU,eAAA4Q,EAAAjjB,UAAA,QAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA+kB,KAAA2I,OAEAra,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA4Q,EAAAjjB,UAAA,QAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA+kB,KAAA4I,OAEAta,YAAA,EACAC,cAAA,IAEAuQ,EAAAjjB,UAAAgtB,WAAA,SAAAve,GACA,OAAAuD,EAAA5S,KAAA4mB,OAAAmF,UAAAb,EAAA7b,EAAArP,KAAA4mB,OAAAoF,aAEAnI,EAAAjjB,UAAAitB,YAAA,SAAAre,GACA,OAAAoD,EAAA5S,KAAA4mB,OAAAqF,WAAAf,EAAA1b,EAAAxP,KAAA4mB,OAAAsF,cAEArI,EAAAjjB,UAAA4sB,UAAA,SAAA9iB,GACA,IAAA2E,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,MAAA,CACAH,MAAArP,KAAA4tB,WAAAve,GACAG,OAAAxP,KAAA6tB,YAAAre,KAGAqU,EAvLA,GAyLAjmB,EAAAimB,WAAAA,EACA,IAAAiH,EAAA,SAAAxjB,GAEA,SAAAwjB,IACA,OAAA,OAAAxjB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAoDA,OAtDA6G,EAAAY,UAAAqjB,EAAAxjB,GAkBAwjB,EAAAlqB,UAAAmjB,SAAA,SAAAW,GACA,IACArV,EAgBAG,EAjBA9E,EAAA1K,KAAA4mB,OAAAC,EAAAnc,EAAAmc,aAAAK,EAAAxc,EAAAwc,cAEA,GAAAxC,EAAArV,OAAA4E,EAAAA,EACA5E,EAAA,MAAArP,KAAA4mB,OAAAvX,MAAArP,KAAA4mB,OAAAvX,MAAA,OAGA,GAAA,SAAAwX,EACAxX,EAAA,MAAArP,KAAA4mB,OAAAvX,MAAArP,KAAA4mB,OAAAvX,MAAA,OACA,GAAA,OAAAwX,EACAxX,EAAA,MAAArP,KAAA4mB,OAAAvX,MAAA6b,EAAAxG,EAAArV,MAAArP,KAAA4mB,OAAAvX,OAAA,OACA,GAAA,OAAAwX,EACAxX,EAAA,MAAArP,KAAA4mB,OAAAvX,MAAA6b,EAAAxG,EAAArV,MAAArP,KAAA4mB,OAAAvX,OAAAqV,EAAArV,UACA,CAAA,GAAA,OAAAwX,EAGA,MAAA,IAAAxoB,MAAA,cAFAgR,EAAA,MAAArP,KAAA4mB,OAAAvX,MAAAuD,EAAA8R,EAAArV,MAAArP,KAAA4mB,OAAAvX,OAAAqV,EAAArV,MAKA,GAAAqV,EAAAlV,QAAAyE,EAAAA,EACAzE,EAAA,MAAAxP,KAAA4mB,OAAApX,OAAAxP,KAAA4mB,OAAApX,OAAA,OAGA,GAAA,SAAA0X,EACA1X,EAAA,MAAAxP,KAAA4mB,OAAApX,OAAAxP,KAAA4mB,OAAApX,OAAA,OACA,GAAA,OAAA0X,EACA1X,EAAA,MAAAxP,KAAA4mB,OAAApX,OAAA0b,EAAAxG,EAAAlV,OAAAxP,KAAA4mB,OAAApX,QAAA,OACA,GAAA,OAAA0X,EACA1X,EAAA,MAAAxP,KAAA4mB,OAAApX,OAAA0b,EAAAxG,EAAAlV,OAAAxP,KAAA4mB,OAAApX,QAAAkV,EAAAlV,WACA,CAAA,GAAA,OAAA0X,EAGA,MAAA,IAAA7oB,MAAA,cAFAmR,EAAA,MAAAxP,KAAA4mB,OAAApX,OAAAoD,EAAA8R,EAAAlV,OAAAxP,KAAA4mB,OAAApX,QAAAkV,EAAAlV,OAIA,MAAA,CAAAH,MAAAA,EAAAG,OAAAA,IAEAsb,EAvDA,CAwDAjH,GACAjmB,EAAAktB,WAAAA,EACA,IAAAJ,EAAA,SAAApjB,GAEA,SAAAojB,IACA,OAAA,OAAApjB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAqCA,OAvCA6G,EAAAY,UAAAijB,EAAApjB,GAIAojB,EAAA9pB,UAAAmjB,SAAA,SAAAW,GACA,IAAA5jB,EAAAd,KACA2S,EAAA3S,KAAAyqB,gBACAqD,EAAApJ,EAAAmG,WAAA7qB,KAAA4mB,OAAA1X,MACA2b,WAAAlY,GACAtD,EAAA,WACA,OAAAvO,EAAA8lB,OAAAC,cACA,IAAA,QACA,OAAA,MAAA/lB,EAAA8lB,OAAAvX,MAAAvO,EAAA8lB,OAAAvX,MAAAsD,EAAAtD,MACA,IAAA,MACA,OAAAsD,EAAAtD,MACA,IAAA,MACA,OAAAye,EAAAze,MACA,IAAA,MACA,OAAAC,KAAAsD,IAAAD,EAAAtD,MAAAye,EAAAze,OACA,QACA,MAAA,IAAAhR,MAAA,eAXA,GAcAmR,EAAA,WACA,OAAA1O,EAAA8lB,OAAAM,eACA,IAAA,QACA,OAAA,MAAApmB,EAAA8lB,OAAApX,OAAA1O,EAAA8lB,OAAApX,OAAAmD,EAAAnD,OACA,IAAA,MACA,OAAAmD,EAAAnD,OACA,IAAA,MACA,OAAAse,EAAAte,OACA,IAAA,MACA,OAAAF,KAAAsD,IAAAD,EAAAnD,OAAAse,EAAAte,QACA,QACA,MAAA,IAAAnR,MAAA,eAXA,GAcA,MAAA,CAAAgR,MAAAA,EAAAG,OAAAA,IAEAkb,EAxCA,CAyCA7G,GACAjmB,EAAA8sB,kBAAAA,GCnSA,SAAAhtB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA0N,EAAA1N,EAAA,IACAgmB,EAAAhmB,EAAA,IACAsnB,EAAAtnB,EAAA,IA6BAqwB,EAAAze,KAAA0e,GAAA,EAMAC,EAAA,OAEAC,EAAA,SACAC,EAAA,CACAC,MAAA,CACAC,SAAA,EACAC,QAAAP,EACAQ,WAAA,EACAC,UAAAT,GAEAU,MAAA,CACAJ,SAAA,EACAC,OAAAP,EACAQ,WAAA,EACAC,SAAAT,GAEA3f,KAAA,CACAigB,UAAAN,EACAO,OAAA,EACAC,WAAA,EACAC,UAAAT,GAEAzf,MAAA,CACA+f,SAAAN,EACAO,OAAA,EACAC,WAAA,EACAC,SAAAT,IAGAW,EAAA,CACAN,MAAA,CACAO,UAnCA,MAoCAN,SArCA,aAsCAC,OAnCA,SAoCAC,WAvCA,aAwCAC,SArCA,UAuCAC,MAAA,CACAE,UAzCA,SA0CAN,SAxCA,UAyCAC,OA1CA,SA2CAC,WA1CA,UA2CAC,SA5CA,UA8CApgB,KAAA,CACAugB,UAjDA,MAkDAN,SAnDA,aAoDAC,OAjDA,SAkDAC,WAlDA,SAmDAC,SAtDA,cAwDAlgB,MAAA,CACAqgB,UAxDA,MAyDAN,SA1DA,aA2DAC,OAxDA,SAyDAC,WAzDA,SA0DAC,SA7DA,eAgEAI,EAAA,CACAR,MAAA,CACAO,UAAAT,EACAG,SAAAH,EACAI,OAAAL,EACAM,WAAAL,EACAM,SAAAP,GAEAQ,MAAA,CACAE,UAAAT,EACAG,SAAAH,EACAI,OAAAL,EACAM,WAAAL,EACAM,SAAAP,GAEA7f,KAAA,CACAugB,UAAAT,EACAG,SAAAH,EACAI,OA5EA,QA6EAC,WA7EA,QA8EAC,SAAAN,GAEA5f,MAAA,CACAqgB,UAAAT,EACAG,SAAAH,EACAI,OAAAL,EACAM,WAAAN,EACAO,SAAAN,IAGAW,EAAA,CACAT,MAzFA,QA0FAK,MAAAR,EACA7f,KA3FA,QA4FAE,MAAA2f,GAEAa,EAAA,CACAV,MAAAH,EACAQ,MAhGA,QAiGArgB,KAjGA,QAkGAE,MAAA2f,GAEAc,EAAA,SAAAznB,GAEA,SAAAynB,EAAAC,EAAAxU,GACA,IAAA1Z,EAAAwG,EAAAO,KAAA7H,OAAAA,KAGA,OAFAc,EAAAkuB,KAAAA,EACAluB,EAAA0Z,IAAAA,EACA1Z,EAAAkuB,MACA,IAAA,QACAluB,EAAAmuB,KAAA,EACAnuB,EAAAouB,SAAA,CAAA,GAAA,GACA,MACA,IAAA,QACApuB,EAAAmuB,KAAA,EACAnuB,EAAAouB,SAAA,CAAA,EAAA,GACA,MACA,IAAA,OACApuB,EAAAmuB,KAAA,EACAnuB,EAAAouB,SAAA,EAAA,EAAA,GACA,MACA,IAAA,QACApuB,EAAAmuB,KAAA,EACAnuB,EAAAouB,SAAA,CAAA,EAAA,GACA,MACA,QACA,MAAA,IAAA7wB,MAAA,eAMA,OAJAyC,EAAAquB,cACAruB,EAAAgrB,WAAA,CAAAjF,aAAA,MAAAK,cAAA,UAEApmB,EAAAgrB,WAAA,CAAAjF,aAAA,QAAAK,cAAA,QACApmB,EA2EA,OAxGA+F,EAAAY,UAAAsnB,EAAAznB,GA+BAynB,EAAAnuB,UAAA6pB,cAAA,WACA,OAAA,IAAArf,EAAAod,SAAAxoB,KAAAovB,sBAEAL,EAAAnuB,UAAAwuB,kBAAA,WACA,IAAA1kB,EAAA1K,KAAAwa,IAAA6U,WAAAhgB,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,OAAAxP,KAAAwa,IAAA8U,QAAAtvB,KAAAmvB,cACA,CAAA9f,MAAAA,EAAAG,OAAAA,GAEA,CAAAH,MAAAG,EAAAA,OAAAH,IAEA0f,EAAAnuB,UAAA2uB,iBAAA,WACA,IAAA7kB,EAAA1K,KAAAovB,oBAAA/f,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,OAAAxP,KAAAmvB,cACAnvB,KAAA+kB,KAAAvV,QAAAA,EAEAxP,KAAA+kB,KAAA1V,OAAAA,GAEArQ,OAAAiU,eAAA8b,EAAAnuB,UAAA,YAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAivB,MAEA5b,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA8b,EAAAnuB,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAkvB,UAEA7b,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA8b,EAAAnuB,UAAA,gBAAA,CACAsS,IAAA,WACA,OAAA,GAAAlT,KAAAivB,MAEA5b,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA8b,EAAAnuB,UAAA,cAAA,CACAsS,IAAA,WACA,OAAA,GAAAlT,KAAAivB,MAEA5b,YAAA,EACAC,cAAA,IAEAyb,EAAAnuB,UAAA4uB,4BAAA,SAAAC,EAAAC,GACA,IACAC,EACAjI,EAFAsH,EAAAhvB,KAAAgvB,KAGAhK,EAAAjZ,SAAA2jB,IACAC,EAAAjB,EAAAM,GAAAU,GACAhI,EAAAkH,EAAAI,GAAAU,IAGA,IAAAA,GACAC,EAAA,WACAjI,EAAA,YAEAgI,EAAA,GACAC,EAAA,SACAjI,EAAAmH,EAAAG,KAGAW,EAAA,SACAjI,EAAAoH,EAAAE,IAGAS,EAAAG,aAAAD,EACAF,EAAAI,UAAAnI,GAEAqH,EAAAnuB,UAAAkvB,0BAAA,SAAAJ,GACA,OAAAvB,EAAAnuB,KAAAgvB,MAAAU,IAEAX,EAzGA,CA0GArL,EAAAgH,mBACA9sB,EAAAmxB,UAAAA,GCvPA,SAAArxB,EAAAC,EAAAC,GACA,IAAAstB,EAAA5b,KAAA4b,IAAAtY,EAAAtD,KAAAsD,IACA4V,EAAA,WACA,SAAAA,EAAAtZ,QACA,IAAAA,IACAA,EAAA,IAEAlP,KAAAqP,MAAA,MAAAH,EAAAG,MAAAH,EAAAG,MAAA,EACArP,KAAAwP,OAAA,MAAAN,EAAAM,OAAAN,EAAAM,OAAA,EAmDA,OAjDAgZ,EAAA5nB,UAAAiqB,WAAA,SAAAngB,GACA,IAAA2E,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,OAAA,IAAAgZ,EAAA,CACAnZ,MAAArP,KAAAqP,OAAA4E,EAAAA,GAAA,MAAA5E,EAAAA,EAAArP,KAAAqP,MACAG,OAAAxP,KAAAwP,QAAAyE,EAAAA,GAAA,MAAAzE,EAAAA,EAAAxP,KAAAwP,UAGAgZ,EAAA5nB,UAAAmvB,YAAA,SAAArlB,GACA,IAAA2E,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,OAAA,IAAAgZ,EAAA,CACAnZ,MAAAA,GAAA4E,EAAAA,EAAArB,EAAA5S,KAAAqP,MAAAA,GAAArP,KAAAqP,MACAG,OAAAA,GAAAyE,EAAAA,EAAArB,EAAA5S,KAAAwP,OAAAA,GAAAxP,KAAAwP,UAGAgZ,EAAA5nB,UAAAovB,UAAA,SAAAtlB,GACA,IAAA2E,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACAxP,KAAAqP,MAAAuD,EAAA5S,KAAAqP,MAAAA,GACArP,KAAAwP,OAAAoD,EAAA5S,KAAAwP,OAAAA,IAEAgZ,EAAA5nB,UAAAqvB,YAAA,SAAAvlB,GACA,IAAA2E,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,OAAA,IAAAgZ,EAAA,CACAnZ,MAAA6b,EAAAlrB,KAAAqP,MAAAA,GACAG,OAAA0b,EAAAlrB,KAAAwP,OAAAA,MAGAgZ,EAAA5nB,UAAAsvB,UAAA,SAAAxlB,GACA,IAAA2E,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACAxP,KAAAqP,MAAA6b,EAAAlrB,KAAAqP,MAAAA,GACArP,KAAAwP,OAAA0b,EAAAlrB,KAAAwP,OAAAA,IAEAgZ,EAAA5nB,UAAA6nB,QAAA,SAAA/d,GACA,IAAA0D,EAAA1D,EAAA0D,KAAAE,EAAA5D,EAAA4D,MAAAN,EAAAtD,EAAAsD,IAAAE,EAAAxD,EAAAwD,OACAmB,EAAArP,KAAAqP,MAAAjB,EAAAE,EACAkB,EAAAxP,KAAAwP,OAAAxB,EAAAE,EACA,OAAA,IAAAsa,EAAA,CAAAnZ,MAAAA,EAAAG,OAAAA,KAEAgZ,EAAA5nB,UAAAysB,UAAA,SAAA3iB,GACA,IAAA0D,EAAA1D,EAAA0D,KAAAE,EAAA5D,EAAA4D,MAAAN,EAAAtD,EAAAsD,IAAAE,EAAAxD,EAAAwD,OACAmB,EAAAuD,EAAA5S,KAAAqP,MAAAjB,EAAAE,EAAA,GACAkB,EAAAoD,EAAA5S,KAAAwP,OAAAxB,EAAAE,EAAA,GACA,OAAA,IAAAsa,EAAA,CAAAnZ,MAAAA,EAAAG,OAAAA,KAEAgZ,EAAA5nB,UAAAuJ,IAAA,SAAAgmB,EAAAC,GACA,OAAA,IAAA5H,EAAA,CACAnZ,MAAA8gB,EAAAnwB,KAAAqP,OACAG,QAAA,MAAA4gB,EAAAA,EAAAD,GAAAnwB,KAAAwP,WAGAgZ,EAzDA,GA2DA5qB,EAAA4qB,SAAAA,GC7DA,SAAA9qB,EAAAC,EAAAC,GACA,IAAAwN,EAAA1N,EAAA,IACA2yB,EAAA,GACAC,EACA,SAAAnyB,EAAAoyB,GACAvwB,KAAA7B,KAAAA,EACA6B,KAAAuwB,MAAAA,GAIA3yB,EAAA0yB,SAAAA,EACA,IAAAE,EAAA,WACA,SAAAA,EAAAryB,EAAAoyB,QACA,IAAAA,IACAA,EAAAC,EAAAC,MAEAzwB,KAAA0wB,MAAAvyB,EACA6B,KAAA2wB,UAAAJ,GA8FA,OA5FAvxB,OAAAiU,eAAAud,EAAA,SAAA,CACAtd,IAAA,WACA,OAAAlU,OAAAC,KAAAuxB,EAAAI,aAEAvd,YAAA,EACAC,cAAA,IAEAkd,EAAAtd,IAAA,SAAA/U,EAAAoyB,GAIA,QAHA,IAAAA,IACAA,EAAAC,EAAAC,MAEAtyB,EAAA+C,OAAA,EAAA,CACA,IAAA2vB,EAAAR,EAAAlyB,GAGA,OAFA,MAAA0yB,IACAR,EAAAlyB,GAAA0yB,EAAA,IAAAL,EAAAryB,EAAAoyB,IACAM,EAGA,MAAA,IAAAC,UAAA,2EAEA9xB,OAAAiU,eAAAud,EAAA5vB,UAAA,QAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA+wB,aAEA1d,YAAA,EACAC,cAAA,IAEAkd,EAAA5vB,UAAAmwB,UAAA,WACA,OAAA/wB,KAAAgxB,YAEAR,EAAA5vB,UAAA+vB,UAAA,SAAAM,GACA,GAAAA,aAAAX,EACAtwB,KAAAgxB,WAAAC,MACA,CAAA,IAAA7lB,EAAAW,SAAAklB,IAAA,MAAAT,EAAAI,WAAAK,GAGA,MAAA,IAAA5yB,MAAA,iFAFA2B,KAAAgxB,WAAAR,EAAAI,WAAAK,GAGA,IAAAC,EAAA,IAAAlxB,KAAA0wB,MAAA,IACA,IAAA,IAAA/xB,KAAA6xB,EAAAI,WAAA,CACA,IAAAO,EAAAX,EAAAI,WAAAjyB,GACAwyB,EAAAZ,MAAAvwB,KAAAgxB,WAAAT,OAAAvwB,KAAAgxB,WAAAT,QAAAC,EAAAY,IAAAb,MACAvwB,KAAArB,GAAA,aAEAqB,KAAArB,GAAA0yB,EAAA1yB,EAAAuyB,KAGAV,EAAA5vB,UAAAqD,MAAA,WAEA,IADA,IAAAqtB,EAAA,GACAlnB,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAknB,EAAAlnB,GAAA5C,UAAA4C,IAGAomB,EAAA5vB,UAAAD,MAAA,WAEA,IADA,IAAA2wB,EAAA,GACAlnB,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAknB,EAAAlnB,GAAA5C,UAAA4C,IAGAomB,EAAA5vB,UAAAyB,KAAA,WAEA,IADA,IAAAivB,EAAA,GACAlnB,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAknB,EAAAlnB,GAAA5C,UAAA4C,IAGAomB,EAAA5vB,UAAA9B,KAAA,WAEA,IADA,IAAAwyB,EAAA,GACAlnB,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAknB,EAAAlnB,GAAA5C,UAAA4C,IAGAomB,EAAA5vB,UAAAmB,MAAA,WAEA,IADA,IAAAuvB,EAAA,GACAlnB,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAknB,EAAAlnB,GAAA5C,UAAA4C,IAGAomB,EAAAe,MAAA,IAAAjB,EAAA,QAAA,GACAE,EAAAgB,MAAA,IAAAlB,EAAA,QAAA,GACAE,EAAAC,KAAA,IAAAH,EAAA,OAAA,GACAE,EAAAiB,KAAA,IAAAnB,EAAA,OAAA,GACAE,EAAAkB,MAAA,IAAApB,EAAA,QAAA,GACAE,EAAAmB,MAAA,IAAArB,EAAA,QAAA,GACAE,EAAAY,IAAA,IAAAd,EAAA,MAAA,GACAE,EAAAI,WAAA,CACA3sB,MAAAusB,EAAAe,MACA5wB,MAAA6vB,EAAAgB,MACAnvB,KAAAmuB,EAAAC,KACA3xB,KAAA0xB,EAAAiB,KACA1vB,MAAAyuB,EAAAkB,MACAE,MAAApB,EAAAmB,MACAE,IAAArB,EAAAY,KAEAZ,EApGA,GAuGA,SAAAa,EAAAS,EAAAZ,GACA,OAAA,MAAAryB,QAAAizB,GACAjzB,QAAAizB,GAAAC,KAAAlzB,QAAAqyB,GACA,MAAAryB,QAAAmzB,IACAnzB,QAAAmzB,IAAAD,KAAAlzB,QAAAqyB,GAEA,aAPAtzB,EAAA4yB,OAAAA,EASA5yB,EAAA8C,OAAA8vB,EAAAtd,IAAA,SAWAtV,EAAAq0B,cAVA,SAAA1B,GACA,MAAAC,EAAAI,WAAAL,IACA1xB,QAAAmzB,IAAA,uCAAAzB,EAAA,+CACA1xB,QAAAmzB,IAAA,iCAAAxB,EAAA0B,OAAAC,KAAA,SAGAtzB,QAAAmzB,IAAA,kCAAAzB,EAAA,KACA3yB,EAAA8C,OAAAiwB,UAAAJ,MClIA,SAAA7yB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2a,EAAA3a,EAAA,IACA00B,EAAA10B,EAAA,GACAkM,EAAAlM,EAAA,IACA20B,EAAA30B,EAAA,IACA40B,EAAA50B,EAAA,IACA0N,EAAA1N,EAAA,IAEA,SAAA60B,EAAA1mB,GACA,IACA,OAAA7F,KAAAC,UAAA4F,GAEA,MAAAnB,GACA,OAAAmB,EAAAtH,YAGA,SAAAiuB,EAAAhY,GACA,OAAApP,EAAAc,cAAAsO,UACA5B,IAAA4B,EAAA3O,MAAA,EAAA,SACA+M,IAAA4B,EAAAuF,MAAA,EAAA,SACAnH,IAAA4B,EAAAiY,KAAA,EAAA,IAAA,EAbApa,EAAAuD,OAeAhe,EAAA40B,OAAAA,EACA,IAAAE,EAAA,SAAAprB,GAEA,SAAAorB,EAAAlY,EAAAhU,EAAAgT,GACA,IAAA1Y,EAAAwG,EAAAO,KAAA7H,OAAAA,KAQA,OAPAc,EAAA0Z,IAAAA,EACA1Z,EAAA0F,KAAAA,EACA1F,EAAA0Y,cAAAA,EACA1Y,EAAA+e,UAAA,EACA/e,EAAAiY,OAAA,IAAAV,EAAAS,QAAAhY,EAAA0Z,IAAA,UACA1Z,EAAAqmB,QACArmB,EAAAD,QAAAC,EAAAiY,OAAA,WAAA,OAAAjY,EAAAqmB,UACArmB,EA2DA,OArEA+F,EAAAY,UAAAirB,EAAAprB,GAYAorB,EAAA9xB,UAAA2a,OAAA,WACAvb,KAAAmnB,SAGAuL,EAAA9xB,UAAA+xB,KAAA,aACAD,EAAA9xB,UAAA6a,UAAA,SAAAtI,GACA,OAAAA,GAEAuf,EAAA9xB,UAAAgyB,SAAA,SAAA/mB,GACA,IAAA7L,KAAA6yB,MAAAhnB,GACA,MAAA,IAAAxN,MAAA2B,KAAAwa,IAAAjB,KAAA,IAAAvZ,KAAAwG,KAAA,yBAAA+rB,EAAA1mB,KAEA6mB,EAAA9xB,UAAAiyB,MAAA,SAAAC,GACA,OAAA,GAGAJ,EAAA9xB,UAAAiL,MAAA,SAAAknB,GAIA,QAHA,IAAAA,IACAA,GAAA,QAEAna,IAAA5Y,KAAAwb,KAAA3P,MACA,MAAA,IAAAxN,MAAA,iFACA,IAAA20B,EAAAhzB,KAAAyb,UAAA,CAAAzb,KAAAwb,KAAA3P,QAAA,GAGA,OAFA,MAAA7L,KAAAwb,KAAAC,WAAAsX,IACAC,EAAAhzB,KAAAwb,KAAAC,UAAAgS,QAAAuF,IACAA,GAGAN,EAAA9xB,UAAAumB,MAAA,WACA,IAAAzc,EACA8P,EAAAxa,KAAAwa,IACAhU,EAAAxG,KAAAwG,KACAysB,EAAAzY,EAAAI,KAAApU,GACA,QAAAoS,IAAAqa,EAAA,CACA,IAAAzZ,EAAAxZ,KAAAwZ,cAEAyZ,OADAra,IAAAY,EACAA,EAAAgB,GAEA,KACAA,EAAAf,OAAA/O,EAAA,IAAAlE,GAAAysB,EAAAvoB,GAAA,CAAAiP,QAAA,EAAA8C,UAAA,IAEArR,EAAAa,QAAAgnB,GACAjzB,KAAAwb,KAAA,CAAA3P,MAAAonB,GACAT,EAAAS,GACAjzB,KAAAwb,KAAAyX,EAEAjzB,KAAAwb,KAAA,CAAA3P,MAAAonB,GAGA,MAAAjzB,KAAAwb,KAAA3P,OACA7L,KAAA4yB,SAAA5yB,KAAAwb,KAAA3P,OACA7L,KAAA2yB,QAEAD,EAAA9xB,UAAA2D,SAAA,WAEA,MAAA,QAAAvE,KAAAwa,IAAA,IAAAxa,KAAAwG,KAAA,WAAA+rB,EAAAvyB,KAAAwb,MAAA,KAEAkX,EAtEA,CAuEAra,EAAA6H,cACAtiB,EAAA80B,SAAAA,EAIA,IAAAxY,EAAA,SAAA5S,GAEA,SAAA4S,IACA,OAAA,OAAA5S,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAyS,EAAA5S,GAIA4S,EALA,CAMAwY,GACA90B,EAAAsc,IAAAA,EACA,IAAAzK,EAAA,SAAAnI,GAEA,SAAAmI,IACA,OAAA,OAAAnI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAgI,EAAAnI,GAIAmI,EAAA7O,UAAAiyB,MAAA,SAAAhnB,GACA,OAAAT,EAAAa,QAAAJ,IAAAA,aAAAqnB,cAEAzjB,EARA,CASAijB,GACA90B,EAAA6R,MAAAA,EACA,IAAA0jB,EAAA,SAAA7rB,GAEA,SAAA6rB,IACA,OAAA,OAAA7rB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA0rB,EAAA7rB,GAIA6rB,EAAAvyB,UAAAiyB,MAAA,SAAAhnB,GACA,OAAAT,EAAAU,UAAAD,IAEAsnB,EARA,CASAT,GACA90B,EAAAu1B,QAAAA,EACA,IAAAC,EAAA,SAAA9rB,GAEA,SAAA8rB,IACA,OAAA,OAAA9rB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA2rB,EAAA9rB,GAIA8rB,EAAAxyB,UAAAiyB,MAAA,SAAAhnB,GACA,OAAAT,EAAAW,SAAAF,IAAAymB,EAAAe,SAAAxnB,IAEAunB,EARA,CASAV,GACA90B,EAAAw1B,MAAAA,EACA,IAAAE,EAAA,SAAAhsB,GAEA,SAAAgsB,IACA,OAAA,OAAAhsB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA6rB,EAAAhsB,GAIAgsB,EALA,CAMAZ,GACA90B,EAAA01B,SAAAA,EACA,IAAAC,EAAA,SAAAjsB,GAEA,SAAAisB,IACA,OAAA,OAAAjsB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA8rB,EAAAjsB,GAIAisB,EAAA3yB,UAAAiyB,MAAA,SAAAhnB,GACA,OAAAT,EAAAqc,SAAA5b,IAEA0nB,EARA,CASAb,GACA90B,EAAA21B,OAAAA,EACA,IAAAC,EAAA,SAAAlsB,GAEA,SAAAksB,IACA,OAAA,OAAAlsB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA+rB,EAAAlsB,GAIAksB,EAAA5yB,UAAAiyB,MAAA,SAAAhnB,GACA,OAAAT,EAAAqc,SAAA5b,KAAA,EAAAA,IAAAA,GAEA2nB,EARA,CASAD,GACA31B,EAAA41B,IAAAA,EACA,IAAAC,EAAA,SAAAnsB,GAEA,SAAAmsB,IACA,OAAA,OAAAnsB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAgsB,EAAAnsB,GAIAmsB,EALA,CAMAF,GACA31B,EAAA61B,MAAAA,EACA,IAAAC,EAAA,SAAApsB,GAEA,SAAAosB,IACA,OAAA,OAAApsB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAisB,EAAApsB,GAIAosB,EAAA9yB,UAAAiyB,MAAA,SAAAhnB,GACA,OAAAT,EAAAqc,SAAA5b,IAAA,GAAAA,GAAAA,GAAA,GAEA6nB,EARA,CASAH,GACA31B,EAAA81B,QAAAA,EACA,IAAAC,EAAA,SAAArsB,GAEA,SAAAqsB,IACA,OAAA,OAAArsB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAksB,EAAArsB,GAIAqsB,EAAA/yB,UAAAiyB,MAAA,SAAAhnB,GACA,OAAAT,EAAAW,SAAAF,IAEA8nB,EARA,CASAjB,GACA90B,EAAA+1B,OAAAA,EACA,IAAAC,EAAA,SAAAtsB,GAEA,SAAAssB,IACA,OAAA,OAAAtsB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAmsB,EAAAtsB,GAIAssB,EALA,CAMAD,GACA/1B,EAAAg2B,SAAAA,EACA,IAAAC,EAAA,SAAAvsB,GAEA,SAAAusB,IACA,OAAA,OAAAvsB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAosB,EAAAvsB,GAIAusB,EALA,CAMAF,GACA/1B,EAAAi2B,KAAAA,EAIA,IAAAC,EAAA,SAAAxsB,GAEA,SAAAwsB,IACA,OAAA,OAAAxsB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAqsB,EAAAxsB,GAIAwsB,EAAAlzB,UAAAiyB,MAAA,SAAAhnB,GACA,OAAAT,EAAAW,SAAAF,IAAAjC,EAAAmqB,SAAA/zB,KAAAg0B,YAAAnoB,IAEAioB,EARA,CASApB,GAEA,SAAAuB,EAAA9gB,GACA,OAAA,SAAA7L,GAEA,SAAA4sB,IACA,OAAA,OAAA5sB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KASA,OAXA6G,EAAAY,UAAAysB,EAAA5sB,GAIAtI,OAAAiU,eAAAihB,EAAAtzB,UAAA,cAAA,CACAsS,IAAA,WACA,OAAAC,GAEAE,YAAA,EACAC,cAAA,IAEA4gB,EAZA,CAaAJ,GAfAl2B,EAAAk2B,aAAAA,EAiBAl2B,EAAAq2B,KAAAA,EACA,IAAAre,EAAA,SAAAtO,GAEA,SAAAsO,IACA,OAAA,OAAAtO,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAuBA,OAzBA6G,EAAAY,UAAAmO,EAAAtO,GAIAtI,OAAAiU,eAAA2C,EAAAhV,UAAA,cAAA,CACAsS,IAAA,WACA,OAAAkf,EAAAxc,WAEAvC,YAAA,EACAC,cAAA,IAEAsC,EAAAhV,UAAA6a,UAAA,SAAAtI,GAEA,IADA,IAAA4K,EAAA,IAAAoW,WAAAhhB,EAAAjS,QACA+O,EAAA,EAAAA,EAAAkD,EAAAjS,OAAA+O,IACA,OAAAkD,EAAAlD,IACA,IAAA,QACA8N,EAAA9N,GAAA,EACA,MACA,IAAA,YACA8N,EAAA9N,GAAA,EAIA,OAAA8N,GAEAnI,EA1BA,CA2BAke,GACAl2B,EAAAgY,UAAAA,EACAhY,EAAA0X,OAAA2e,EAAA7B,EAAA9c,QACA1X,EAAA2X,WAAA0e,EAAA7B,EAAA7c,YACA3X,EAAA4X,UAAAye,EAAA7B,EAAA5c,WACA5X,EAAA6X,WAAAwe,EAAA7B,EAAA3c,YACA7X,EAAA8X,UAAAue,EAAA7B,EAAA1c,WACA9X,EAAA+X,WAAAse,EAAA7B,EAAAzc,YACA/X,EAAAiY,aAAAoe,EAAA7B,EAAAvc,cACAjY,EAAAkY,UAAAme,EAAA7B,EAAAtc,WACAlY,EAAAmY,iBAAAke,EAAA7B,EAAArc,kBACAnY,EAAAoY,WAAAie,EAAA7B,EAAApc,YACApY,EAAAqY,mBAAAge,EAAA7B,EAAAnc,oBACArY,EAAAsY,UAAA+d,EAAA7B,EAAAlc,WACAtY,EAAAuY,OAAA8d,EAAA7B,EAAAjc,QACAvY,EAAAwY,kBAAA6d,EAAA7B,EAAAhc,mBACAxY,EAAAyY,eAAA4d,EAAA7B,EAAA/b,gBACAzY,EAAA0Y,QAAA2d,EAAA7B,EAAA9b,SACA1Y,EAAA2Y,SAAA0d,EAAA7B,EAAA7b,UACA3Y,EAAA4Y,WAAAyd,EAAA7B,EAAA5b,YACA5Y,EAAA6Y,SAAAwd,EAAA7B,EAAA3b,UACA7Y,EAAA8Y,KAAAud,EAAA7B,EAAA1b,MACA9Y,EAAA+Y,WAAAsd,EAAA7B,EAAAzb,YACA/Y,EAAAgZ,YAAAqd,EAAA7B,EAAAxb,aACAhZ,EAAAiZ,cAAAod,EAAA7B,EAAAvb,eACAjZ,EAAAkZ,aAAAmd,EAAA7B,EAAAtb,cACAlZ,EAAAmZ,MAAAkd,EAAA7B,EAAArb,OACAnZ,EAAAoZ,YAAAid,EAAA7B,EAAApb,aACApZ,EAAAqZ,gBAAAgd,EAAA7B,EAAAnb,iBACArZ,EAAAsZ,YAAA+c,EAAA7B,EAAAlb,aACAtZ,EAAAuZ,WAAA8c,EAAA7B,EAAAjb,YACAvZ,EAAAwZ,YAAA6c,EAAA7B,EAAAhb,aACAxZ,EAAAyZ,iBAAA4c,EAAA7B,EAAA/a,kBACAzZ,EAAA0Z,KAAA2c,EAAA7B,EAAA9a,MACA1Z,EAAA2Z,WAAA0c,EAAA7B,EAAA7a,YACA3Z,EAAA4Z,qBAAAyc,EAAA7B,EAAA5a,sBACA5Z,EAAA6Z,KAAAwc,EAAA7B,EAAA3a,MACA7Z,EAAA8Z,aAAAuc,EAAA7B,EAAA1a,cACA9Z,EAAA+Z,SAAAsc,EAAA7B,EAAAza,UACA/Z,EAAAga,SAAAqc,EAAA7B,EAAAxa,UACAha,EAAAia,YAAAoc,EAAA7B,EAAAva,aACAja,EAAAka,UAAAmc,EAAA7B,EAAAta,WACAla,EAAAma,aAAAkc,EAAA7B,EAAAra,cACAna,EAAAoa,kBAAAic,EAAA7B,EAAApa,mBACApa,EAAAqa,qBAAAgc,EAAA7B,EAAAna,sBACAra,EAAAsa,kBAAA+b,EAAA7B,EAAAla,mBACAta,EAAAua,WAAA8b,EAAA7B,EAAAja,YACAva,EAAAwa,cAAA6b,EAAA7B,EAAAha,eAIA,IAAAgc,EAAA,SAAA9sB,GAEA,SAAA8sB,IACA,OAAA,OAAA9sB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA2sB,EAAA9sB,GAIA8sB,EALA,CAMA1B,GACA90B,EAAAw2B,WAAAA,EACA,IAAAxU,EAAA,SAAAtY,GAEA,SAAAsY,IACA,OAAA,OAAAtY,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAuBA,OAzBA6G,EAAAY,UAAAmY,EAAAtY,GAIAsY,EAAAhf,UAAAkf,MAAA,SAAAJ,GACA,IAAAsT,EACA,GAAA,MAAAhzB,KAAAwb,KAAAuE,OAEA,GAAA,OADAiT,EAAAhzB,KAAAyb,UAAAiE,EAAA2U,WAAAr0B,KAAAwb,KAAAuE,SAEA,MAAA,IAAA1hB,MAAA,+DAAA2B,KAAAwb,KAAAuE,MAAA,UAEA,GAAA,MAAA/f,KAAAwb,KAAAiX,KACAO,EAAAhzB,KAAAyb,UAAAzb,KAAAwb,KAAAiX,KAAA6B,UAAA5U,QAEA,CACA,IAAA6U,EAAA7U,EAAA8U,aACA,MAAAD,IACAA,EAAA,GACA,IAAA1oB,EAAA7L,KAAA6L,OAAA,GACAmnB,EAAAppB,EAAA6qB,OAAA5oB,EAAA0oB,GAIA,OAFA,MAAAv0B,KAAAwb,KAAAC,YACAuX,EAAAhzB,KAAAwb,KAAAC,UAAA6Y,UAAAtB,IACAA,GAEApT,EA1BA,CA2BA8S,GACA90B,EAAAgiB,WAAAA,EACA,IAAA8U,EAAA,SAAAptB,GAEA,SAAAotB,IACA,OAAA,OAAAptB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAitB,EAAAptB,GAIAotB,EALA,CAMA9U,GACAhiB,EAAA82B,SAAAA,EACA,IAAAC,EAAA,SAAArtB,GAEA,SAAAqtB,IACA,OAAA,OAAArtB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAmBA,OArBA6G,EAAAY,UAAAktB,EAAArtB,GAIAqtB,EAAA/zB,UAAA+xB,KAAA,WACA,MAAA3yB,KAAAwb,KAAAoZ,QACA50B,KAAAwb,KAAAoZ,MAAA50B,KAAA60B,eACA,IAAAD,EAAA50B,KAAAwb,KAAAoZ,MACA,IAAAhrB,EAAAmqB,SAAA/zB,KAAA80B,YAAAF,GACA,MAAA,IAAAv2B,MAAA,wBAAA2B,KAAA80B,YAAA3C,KAAA,MAAA,UAAAyC,IAEA51B,OAAAiU,eAAA0hB,EAAA/zB,UAAA,QAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAwb,KAAAoZ,OAEA/Z,IAAA,SAAA+Z,GACA50B,KAAAwb,KAAAoZ,MAAAA,GAEAvhB,YAAA,EACAC,cAAA,IAEAqhB,EAtBA,CAuBA/U,GACAhiB,EAAA+2B,UAAAA,EACA,IAAAI,EAAA,SAAAztB,GAEA,SAAAytB,IACA,OAAA,OAAAztB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAkBA,OApBA6G,EAAAY,UAAAstB,EAAAztB,GAIAtI,OAAAiU,eAAA8hB,EAAAn0B,UAAA,gBAAA,CACAsS,IAAA,WAAA,MAAA,OACAG,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA8hB,EAAAn0B,UAAA,cAAA,CACAsS,IAAA,WAAA,OAAAkf,EAAA7c,YACAlC,YAAA,EACAC,cAAA,IAEAyhB,EAAAn0B,UAAA6a,UAAA,SAAAtI,GAIA,MAHA,OAAAnT,KAAAwb,KAAAoZ,QACAzhB,EAAAkf,EAAAloB,IAAAgJ,EAAA,SAAA1K,GAAA,OAAAA,EAAA6G,KAAA0e,GAAA,OACA7a,EAAAkf,EAAAloB,IAAAgJ,EAAA,SAAA1K,GAAA,OAAAA,IACAnB,EAAA1G,UAAA6a,UAAA5T,KAAA7H,KAAAmT,IAEA4hB,EArBA,CAsBAJ,GACA/2B,EAAAm3B,UAAAA,EACA,IAAAC,EAAA,SAAA1tB,GAEA,SAAA0tB,IACA,OAAA,OAAA1tB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAutB,EAAA1tB,GAIA0tB,EALA,CAMAN,GACA92B,EAAAo3B,YAAAA,EACA,IAAAC,EAAA,SAAA3tB,GAEA,SAAA2tB,IACA,OAAA,OAAA3tB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAwtB,EAAA3tB,GAIA2tB,EALA,CAMAP,GACA92B,EAAAq3B,UAAAA,EACA,IAAAC,EAAA,SAAA5tB,GAEA,SAAA4tB,IACA,OAAA,OAAA5tB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAytB,EAAA5tB,GAIA4tB,EALA,CAMAR,GACA92B,EAAAs3B,eAAAA,EACA,IAAAC,EAAA,SAAA7tB,GAEA,SAAA6tB,IACA,OAAA,OAAA7tB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA0tB,EAAA7tB,GAIA6tB,EALA,CAMAT,GACA92B,EAAAu3B,kBAAAA,EACA,IAAAlV,EAAA,SAAA3Y,GAEA,SAAA2Y,IACA,OAAA,OAAA3Y,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAYA,OAdA6G,EAAAY,UAAAwY,EAAA3Y,GAIAtI,OAAAiU,eAAAgN,EAAArf,UAAA,gBAAA,CACAsS,IAAA,WAAA,MAAA,QACAG,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAgN,EAAArf,UAAA,cAAA,CACAsS,IAAA,WAAA,OAAAkf,EAAA1a,cACArE,YAAA,EACAC,cAAA,IAEA2M,EAfA,CAgBA0U,GACA/2B,EAAAqiB,aAAAA,EACA,IAAAmV,EAAA,SAAA9tB,GAEA,SAAA8tB,IACA,OAAA,OAAA9tB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA2tB,EAAA9tB,GAIA8tB,EALA,CAMAV,GACA92B,EAAAw3B,aAAAA,EACA,IAAAC,EAAA,SAAA/tB,GAEA,SAAA+tB,IACA,OAAA,OAAA/tB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA4tB,EAAA/tB,GAIA+tB,EALA,CAMAX,GACA92B,EAAAy3B,WAAAA,EACA,IAAAC,EAAA,SAAAhuB,GAEA,SAAAguB,IACA,OAAA,OAAAhuB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA6tB,EAAAhuB,GAIAguB,EALA,CAMAZ,GACA92B,EAAA03B,WAAAA,EACA,IAAAC,EAAA,SAAAjuB,GAEA,SAAAiuB,IACA,OAAA,OAAAjuB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA8tB,EAAAjuB,GAIAiuB,EALA,CAMAb,GACA92B,EAAA23B,WAAAA,EACA,IAAAC,EAAA,SAAAluB,GAEA,SAAAkuB,IACA,OAAA,OAAAluB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA+tB,EAAAluB,GAIAkuB,EALA,CAMAd,GACA92B,EAAA43B,eAAAA,GC7fA,SAAA93B,EAAAC,EAAAC,GACA,IAAAyP,EAAA3P,EAAA,IACAI,EAAAJ,EAAA,IACA,SAAA+3B,EAAAva,EAAAwa,GACA,IAAA3X,EAAA,GACA,IAAA,IAAApf,KAAAuc,EAAA,CACA,IAAA/O,EAAA+O,EAAAvc,GACAof,EAAA2X,EAAA/2B,GAAAwN,EAEA,OAAA4R,EAEA,IAAA4X,EAAA,CACAC,WAAA,CAAAvoB,EAAA4nB,UAAA,SACAY,WAAA,CAAAxoB,EAAAioB,WAAA,GACAQ,WAAA,CAAAzoB,EAAAioB,WAAA,GACAS,UAAA,CAAA1oB,EAAAkJ,SAAA,SACAyf,SAAA,CAAA3oB,EAAAiJ,QAAA,QACA2f,UAAA,CAAA5oB,EAAAoC,MAAA,IACAymB,iBAAA,CAAA7oB,EAAAkmB,OAAA,IAEA31B,EAAAu4B,KAAA,SAAAT,GAIA,YAHA,IAAAA,IACAA,EAAA,IAEAD,EAAAE,EAAAD,IAEA,IAAAU,EAAA,CACAC,WAAA,CAAAhpB,EAAA4nB,UAAA,QACAqB,WAAA,CAAAjpB,EAAAioB,WAAA,IAEA13B,EAAA24B,KAAA,SAAAb,GAIA,YAHA,IAAAA,IACAA,EAAA,IAEAD,EAAAW,EAAAV,IAEA,IAAAc,EAAA,CACAC,YAAA,CAAAppB,EAAA4nB,UAAA,SACAyB,YAAA,CAAArpB,EAAAioB,WAAA,GACAqB,YAAA,CAAAtpB,EAAAioB,WAAA,IACAsB,cAAA,CAAAvpB,EAAAkoB,WAAA,MACAsB,aAAA,CAAAxpB,EAAAioB,WAAA,GACAwB,YAAA,CAAAzpB,EAAA6M,IAAA,KAEAtc,EAAAm5B,MAAA,SAAArB,GAIA,YAHA,IAAAA,IACAA,EAAA,IAEAD,EAAAe,EAAAd,IAEA,IAAAsB,EAAA,CACAC,UAAA,CAAA5pB,EAAAwmB,KAAA,aACAqD,eAAA,CAAA7pB,EAAA+nB,aAAA,QACA+B,gBAAA,CAAA9pB,EAAAyI,UAAA,UACAshB,WAAA,CAAA/pB,EAAA4nB,UAAA,WACAoC,WAAA,CAAAhqB,EAAAioB,WAAA,GACAgC,WAAA,CAAAjqB,EAAAyK,UAAA,QACAyf,cAAA,CAAAlqB,EAAA0K,aAAA,UACAyf,iBAAA,CAAAnqB,EAAAkmB,OAAA,MAEA31B,EAAAkF,KAAA,SAAA4yB,GAIA,YAHA,IAAAA,IACAA,EAAA,IAEAD,EAAAuB,EAAAtB,IA4BA93B,EAAAqF,OA1BA,SAAAw0B,GAEA,IADA,IAAA1Z,EAAA,GACA3T,EAAA,EAAAstB,EAAAD,EAAArtB,EAAAstB,EAAAx2B,OAAAkJ,IAAA,CACA,IAAAutB,EAAAD,EAAAttB,GACAM,EAAAitB,EAAA3rB,MAAA,KAAA4rB,EAAAltB,EAAA,GAAAgrB,EAAAhrB,EAAA,GACAwQ,OAAA,EACA,OAAA0c,GACA,IAAA,OACA1c,EAAAtd,EAAAu4B,KACA,MACA,IAAA,OACAjb,EAAAtd,EAAA24B,KACA,MACA,IAAA,QACArb,EAAAtd,EAAAm5B,MACA,MACA,IAAA,OACA7b,EAAAtd,EAAAkF,KACA,MACA,QACA,MAAA,IAAAzE,MAAA,gCAAAu5B,EAAA,KAEA95B,EAAA+5B,OAAA9Z,EAAA7C,EAAAwa,IAEA,OAAA3X,IC1FA,SAAArgB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAo6B,EAAAp6B,EAAA,GACAyiB,EAAAziB,EAAA,KACAq6B,EAAAr6B,EAAA,KACAs6B,EAAAt6B,EAAA,KACA2P,EAAA3P,EAAA,IACAu6B,EAAA,SAAA3wB,GAEA,SAAA2wB,EAAA1sB,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAEA,OADAc,EAAAo3B,WAAA,GACAp3B,EAgEA,OApEA+F,EAAAY,UAAAwwB,EAAA3wB,GAMA2wB,EAAAle,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,mBACAvZ,KAAA8a,SAAA,CACA4E,OAAA,CAAArS,EAAA6M,QAGA+d,EAAAr3B,UAAA0P,OAAA,SAAA6nB,EAAAhwB,EAAAC,EAAAoE,QACA,IAAAA,IACAA,GAAA,GAKA,IAFA,IAAA4rB,EAAA,GACAC,EAAA,GACAjuB,EAAA,EAAAkuB,EAAAH,EAAA/tB,EAAAkuB,EAAAp3B,OAAAkJ,IAAA,CACA,IAAAyb,EAAAyS,EAAAluB,GACAyb,aAAAkS,EAAAQ,kBACAH,EAAAptB,KAAA6a,GACAA,aAAAmS,EAAAQ,mBACAH,EAAArtB,KAAA6a,GAIA,IAFA,IAAA4S,GAAA,EAEA/tB,EAAA,EAAAguB,EAAAL,EAAA3tB,EAAAguB,EAAAx3B,OAAAwJ,IAAA,CACA,IAAAmb,EAAA6S,EAAAhuB,GACAiuB,EAAA9S,EAAAznB,MAAAw6B,iBAAAC,SAAA1wB,EAAA0d,GACA4S,EAAAA,GAAA5S,EAAAznB,MAAAw6B,iBAAAE,aAAAH,EAAA9S,EAAAznB,MAAAgK,EAAAoE,GAGA,GAAA4rB,EAAAl3B,OAAA,EAAA,CACA,IAAAy3B,EAAA34B,KAAA0f,OAAAkZ,iBAAAC,SAAA1wB,EAAAiwB,GACAK,EAAAA,GAAAz4B,KAAA0f,OAAAkZ,iBAAAE,aAAAH,EAAA34B,KAAA0f,OAAAtX,EAAAoE,GAEA,OAAAisB,GAEAR,EAAAr3B,UAAAm4B,QAAA,SAAAC,EAAA7wB,GACA,IAAAswB,GAAA,EACA,GAAAO,aAAAjB,EAAAQ,kBAAA,CACA,IAAAI,EAAAK,EAAAH,SAAA1wB,GACA,GAAA,MAAAwwB,EAAA,CACAF,GAAAE,EAAAM,WACA,IAAAC,EAAAl5B,KAAAm5B,wBAAAH,EAAA56B,OACA86B,EAAA3d,OAAAod,GAAA,GAAA,GACA34B,KAAA0f,OAAAjG,KAAA,CAAA2f,UAAAF,GAAA,CAAAvf,QAAA,IACA3Z,KAAA0f,OAAAqZ,QAAArd,KAAA,CAAAsd,EAAA,CAAA7wB,SAAAA,WAGA,GAAA6wB,aAAAhB,EAAAQ,kBAAA,CACA,IAAAG,EAAAK,EAAA56B,MAAAi7B,kBAAAR,SAAA1wB,EAAA6wB,GACAP,EAAAA,GAAAO,EAAA56B,MAAAi7B,kBAAAC,cAAAX,EAAAxwB,EAAA6wB,GAAA,GAAA,GAEA,OAAAP,GAEAR,EAAAr3B,UAAAgT,MAAA,SAAA2lB,GACAv5B,KAAA0f,OAAAqG,SAAAnS,QACA,MAAA2lB,GACAv5B,KAAAm5B,wBAAAI,EAAAn7B,OAAAwV,SAEAqkB,EAAAr3B,UAAAu4B,wBAAA,SAAAK,GAGA,OAFA,MAAAx5B,KAAAk4B,WAAAsB,EAAA55B,MACAI,KAAAk4B,WAAAsB,EAAA55B,IAAA,IAAAugB,EAAA8B,WACAjiB,KAAAk4B,WAAAsB,EAAA55B,KAEAq4B,EArEA,CAsEAH,EAAApf,UACA9a,EAAAq6B,iBAAAA,EACAA,EAAAle,aC/EA,SAAArc,EAAAC,EAAAC,GACA,IAAA67B,EAAA,WACA,SAAAA,IACAz5B,KAAA05B,MAAA,EAYA,OAVA16B,OAAAiU,eAAAwmB,EAAA74B,UAAA,MAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA05B,MAEA7e,IAAA,SAAA8e,GACA35B,KAAA05B,KAAAC,GAEAtmB,YAAA,EACAC,cAAA,IAEAmmB,EAdA,GAgBA77B,EAAA67B,SAAAA,EACA77B,EAAAg8B,SAAA,IAAAH,GClBA,SAAA/7B,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAm8B,EAAAn8B,EAAA,IACAo8B,EAAAp8B,EAAA,IACAkM,EAAAlM,EAAA,IACAke,EAAA,WACA,SAAAA,EAAAme,EAAA57B,GACA6B,KAAA+5B,OAAAA,EACA/5B,KAAA7B,KAAAA,EAmDA,OAjDAyd,EAAAhb,UAAAC,QAAA,SAAAm5B,EAAAC,QACA,IAAAA,IACAA,EAAA,MAEAC,EAAA3mB,IAAAvT,KAAA+5B,SACAG,EAAArf,IAAA7a,KAAA+5B,OAAA,IAEA,IAAAI,EAAAD,EAAAhnB,IAAAlT,KAAA+5B,QACA,GAAA,MAAAK,EAAAD,EAAAn6B,KAAAg6B,EAAAC,GACA,OAAA,EAEA,IAAAI,EAAAJ,GAAAD,EACAM,EAAA/mB,IAAA8mB,IACAC,EAAAzf,IAAAwf,EAAA,IAEA,IAAAE,EAAAD,EAAApnB,IAAAmnB,GACAh1B,EAAA,CAAAm1B,OAAAx6B,KAAAg6B,KAAAA,EAAAC,QAAAA,GAGA,OAFAE,EAAAnvB,KAAA3F,GACAk1B,EAAAvvB,KAAA3F,IACA,GAEAuW,EAAAhb,UAAA65B,WAAA,SAAAT,EAAAC,QACA,IAAAA,IACAA,EAAA,MAEA,IAAAE,EAAAD,EAAAhnB,IAAAlT,KAAA+5B,QACA,GAAA,MAAAI,GAAA,IAAAA,EAAAj5B,OACA,OAAA,EAEA,IAAAmE,EAAA+0B,EAAAD,EAAAn6B,KAAAg6B,EAAAC,GACA,GAAA,MAAA50B,EACA,OAAA,EAEA,IAAAg1B,EAAAJ,GAAAD,EACAO,EAAAD,EAAApnB,IAAAmnB,GAIA,OAHAh1B,EAAAm1B,OAAA,KACAE,EAAAP,GACAO,EAAAH,IACA,GAEA3e,EAAAhb,UAAA8a,KAAA,SAAAif,GAEA,IADA,IAAAR,EAAAD,EAAAhnB,IAAAlT,KAAA+5B,SAAA,GACA3vB,EAAA,EAAAwwB,EAAAT,EAAA/vB,EAAAwwB,EAAA15B,OAAAkJ,IAAA,CACA,IAAAM,EAAAkwB,EAAAxwB,GAAAowB,EAAA9vB,EAAA8vB,OAAAR,EAAAtvB,EAAAsvB,KAAAC,EAAAvvB,EAAAuvB,QACAO,IAAAx6B,MACAg6B,EAAAnyB,KAAAoyB,EAAAU,EAAA36B,KAAA+5B,UAIAne,EAtDA,GAwDAhe,EAAAge,OAAAA,EACA,IAAA9C,EAAA,SAAAxR,GAEA,SAAAwR,IACA,OAAA,OAAAxR,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAqR,EAAAxR,GAIAwR,EAAAlY,UAAA8a,KAAA,WACApU,EAAA1G,UAAA8a,KAAA7T,KAAA7H,UAAA4Y,IAEAE,EARA,CASA8C,GACAhe,EAAAkb,QAAAA,EACA,SAAA8C,GAkBAA,EAAAif,kBAjBA,SAAAd,EAAAM,GACA,IAAAF,EAAAD,EAAAhnB,IAAA6mB,GACA,GAAA,MAAAI,GAAA,IAAAA,EAAAj5B,OAAA,CAEA,IAAAq5B,EAAAD,EAAApnB,IAAAmnB,GACA,GAAA,MAAAE,GAAA,IAAAA,EAAAr5B,OAAA,CAEA,IAAA,IAAAkJ,EAAA,EAAA0wB,EAAAP,EAAAnwB,EAAA0wB,EAAA55B,OAAAkJ,IAAA,CACA,IAAA/E,EAAAy1B,EAAA1wB,GACA,GAAA,MAAA/E,EAAAm1B,OACA,OACAn1B,EAAAm1B,OAAAT,SAAAA,IACA10B,EAAAm1B,OAAA,MAEAE,EAAAP,GACAO,EAAAH,MAiBA3e,EAAAmf,iBAdA,SAAAhB,GACA,IAAAI,EAAAD,EAAAhnB,IAAA6mB,GACA,GAAA,MAAAI,GAAA,IAAAA,EAAAj5B,OAAA,CAEA,IAAA,IAAAkJ,EAAA,EAAA4wB,EAAAb,EAAA/vB,EAAA4wB,EAAA95B,OAAAkJ,IAAA,CACA,IAAA/E,EAAA21B,EAAA5wB,GACA,GAAA,MAAA/E,EAAAm1B,OACA,OACA,IAAAH,EAAAh1B,EAAA40B,SAAA50B,EAAA20B,KACA30B,EAAAm1B,OAAA,KACAE,EAAAJ,EAAApnB,IAAAmnB,IAEAK,EAAAP,KAiBAve,EAAAC,mBAdA,SAAAwe,GACA,IAAAE,EAAAD,EAAApnB,IAAAmnB,GACA,GAAA,MAAAE,GAAA,IAAAA,EAAAr5B,OAAA,CAEA,IAAA,IAAAkJ,EAAA,EAAA6wB,EAAAV,EAAAnwB,EAAA6wB,EAAA/5B,OAAAkJ,IAAA,CACA,IAAA/E,EAAA41B,EAAA7wB,GACA,GAAA,MAAA/E,EAAAm1B,OACA,OACA,IAAAT,EAAA10B,EAAAm1B,OAAAT,OACA10B,EAAAm1B,OAAA,KACAE,EAAAR,EAAAhnB,IAAA6mB,IAEAW,EAAAH,KAqBA3e,EAAAsf,cAlBA,SAAA1gB,GACA,IAAA2f,EAAAD,EAAAhnB,IAAAsH,GACA,GAAA,MAAA2f,GAAA,IAAAA,EAAAj5B,OAAA,CACA,IAAA,IAAAkJ,EAAA,EAAA+wB,EAAAhB,EAAA/vB,EAAA+wB,EAAAj6B,OAAAkJ,IAAA,CACA,IAAA/E,EAAA81B,EAAA/wB,GACA/E,EAAAm1B,OAAA,KAEAE,EAAAP,GAEA,IAAAI,EAAAD,EAAApnB,IAAAsH,GACA,GAAA,MAAA+f,GAAA,IAAAA,EAAAr5B,OAAA,CACA,IAAA,IAAAwJ,EAAA,EAAA0wB,EAAAb,EAAA7vB,EAAA0wB,EAAAl6B,OAAAwJ,IAAA,CACA,IAAArF,EAAA+1B,EAAA1wB,GACArF,EAAAm1B,OAAA,KAEAE,EAAAH,KAhEA,CAoEA3e,EAAAhe,EAAAge,SAAAhe,EAAAge,OAAA,KACAhe,EAAAge,OAAAA,EAiCAhe,EAAAsiB,WAhCA,SAAAmb,GAGA,OAAA,MAAAA,EACA,SAAA/zB,GAEA,SAAA4sB,IACA,OAAA,OAAA5sB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAQA,OAVA6G,EAAAY,UAAAysB,EAAA5sB,GAIA4sB,EAAAtzB,UAAAC,QAAA,SAAA25B,EAAAR,GACA,OAAAQ,EAAA35B,QAAAm5B,EAAAh6B,OAEAk0B,EAAAtzB,UAAA65B,WAAA,SAAAD,EAAAR,GACA,OAAAQ,EAAAC,WAAAT,EAAAh6B,OAEAk0B,EAXA,CAYAmH,GAGA,WACA,SAAAC,KAQA,OANAA,EAAA16B,UAAAC,QAAA,SAAA25B,EAAAR,GACA,OAAAQ,EAAA35B,QAAAm5B,EAAAh6B,OAEAs7B,EAAA16B,UAAA65B,WAAA,SAAAD,EAAAR,GACA,OAAAQ,EAAAC,WAAAT,EAAAh6B,OAEAs7B,EATA,IAeA,SAAAC,GAIAA,EAAA16B,QAHA,SAAA25B,EAAAR,GACA,OAAAQ,EAAA35B,QAAAm5B,EAAAh6B,OAMAu7B,EAAAd,WAHA,SAAAD,EAAAR,GACA,OAAAQ,EAAAC,WAAAT,EAAAh6B,OANA,CASApC,EAAA29B,cAAA39B,EAAA29B,YAAA,KACA,IAAArB,EAAA,IAAAsB,QACAlB,EAAA,IAAAkB,QACA,SAAApB,EAAAqB,EAAAjB,EAAAR,EAAAC,GACA,OAAArwB,EAAA8xB,KAAAD,EAAA,SAAAE,GAAA,OAAAA,EAAAnB,SAAAA,GAAAmB,EAAA3B,OAAAA,GAAA2B,EAAA1B,UAAAA,IAEA,IAAA2B,EAAA,IAAA/B,EAAAgC,IACA,SAAAnB,EAAAoB,GACA,IAAAF,EAAA1sB,MACA4qB,EAAAiC,MAAAC,GAEAJ,EAAAhwB,IAAAkwB,GAEA,SAAAE,IACAJ,EAAAK,QAAA,SAAAH,GACAlyB,EAAAsyB,UAAAJ,EAAA,SAAAz2B,GAAA,OAAA,MAAAA,EAAAm1B,WAEAoB,EAAAhoB,UC3MA,SAAAlW,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAy+B,EAAAz+B,EAAA,KACA2a,EAAA3a,EAAA,IACAwB,EAAAxB,EAAA,IACA6sB,EAAA7sB,EAAA,GACA0+B,EAAA1+B,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACA0N,EAAA1N,EAAA,IACA2+B,EAAA3+B,EAAA,IACAiG,EAAAjG,EAAA,GACA4+B,EAAA,WACA,SAAAA,EAAAC,EAAAC,EAAAC,GACA,IAAA37B,EAAAd,KACAA,KAAAu8B,UAAAA,EACAv8B,KAAAw8B,QAAAA,EACAx8B,KAAAy8B,SAAAA,EACAz8B,KAAA08B,UAAA,IAAArkB,EAAAuD,OAAA5b,KAAA,aACAA,KAAA28B,IAAA,IAAAtkB,EAAAuD,OAAA5b,KAAA,OACAA,KAAA48B,QAAA,IAAAvkB,EAAAuD,OAAA5b,KAAA,WACAA,KAAA68B,YAAA,IAAAxkB,EAAAuD,OAAA5b,KAAA,eACAA,KAAA88B,MAAA,IAAAzkB,EAAAuD,OAAA5b,KAAA,SACAA,KAAA+8B,UAAA,IAAA1kB,EAAAuD,OAAA5b,KAAA,aACAA,KAAAg9B,aAAA,IAAA3kB,EAAAuD,OAAA5b,KAAA,gBACAA,KAAAsvB,OAAA,IAAAjX,EAAAuD,OAAA5b,KAAA,UACAA,KAAAi9B,WAAA,IAAA5kB,EAAAuD,OAAA5b,KAAA,cACAA,KAAAk9B,IAAA,IAAA7kB,EAAAuD,OAAA5b,KAAA,OACAA,KAAAm9B,UAAA,IAAA9kB,EAAAuD,OAAA5b,KAAA,aACAA,KAAAo9B,MAAA,IAAA/kB,EAAAuD,OAAA5b,KAAA,SACAA,KAAAq9B,WAAA,IAAAhlB,EAAAuD,OAAA5b,KAAA,cACAA,KAAAs9B,KAAA,IAAAjlB,EAAAuD,OAAA5b,KAAA,QACAA,KAAAu9B,UAAA,IAAAllB,EAAAuD,OAAA5b,KAAA,aACAA,KAAAw9B,OAAA,IAAAnlB,EAAAuD,OAAA5b,KAAA,UACAA,KAAAy9B,QAAA,IAAAplB,EAAAuD,OAAA5b,KAAA,WACAA,KAAA09B,MAAA,IAAArlB,EAAAuD,OAAA5b,KAAA,SACAA,KAAA29B,OAAA,IAAAxB,EAAAn8B,KAAAy8B,SAAA,CAAAmB,YAAA,SACA59B,KAAA69B,sBAIA79B,KAAAy8B,SAAAqB,iBAAA,YAAA,SAAAz5B,GAAA,OAAAvD,EAAAi9B,YAAA15B,KACArE,KAAAy8B,SAAAqB,iBAAA,aAAA,SAAAz5B,GAAA,OAAAvD,EAAAk9B,aAAA35B,KACArE,KAAAy8B,SAAAqB,iBAAA,aAAA,SAAAz5B,GAAA,OAAAvD,EAAAm9B,YAAA55B,KACArE,KAAAy8B,SAAAqB,iBAAA,QAAA,SAAAz5B,GAAA,OAAAvD,EAAAo9B,aAAA75B,KAIAP,SAAAg6B,iBAAA,UAAA99B,MACA8D,SAAAg6B,iBAAA,QAAA99B,MAkXA,OAhXAs8B,EAAA17B,UAAAkb,QAAA,WACA9b,KAAA29B,OAAA7hB,UACAhY,SAAAq6B,oBAAA,UAAAn+B,MACA8D,SAAAq6B,oBAAA,QAAAn+B,OAEAs8B,EAAA17B,UAAAw9B,YAAA,SAAA/5B,GACA,WAAAA,EAAAkV,KACAvZ,KAAAq+B,UAAAh6B,GACA,SAAAA,EAAAkV,MACAvZ,KAAAs+B,QAAAj6B,IAEAi4B,EAAA17B,UAAAi9B,oBAAA,WACA,IAAA/8B,EAAAd,KAEAA,KAAA29B,OAAAzqB,IAAA,aAAAqrB,cAAA,OACAv+B,KAAA29B,OAAAzqB,IAAA,OAAAsrB,eAAA,aACAx+B,KAAA29B,OAAAzqB,IAAA,aAAAurB,mBAAA,OACAz+B,KAAA29B,OAAAe,GAAA,YAAA,SAAAr6B,GAAA,OAAAvD,EAAA69B,WAAAt6B,KACArE,KAAA29B,OAAAe,GAAA,MAAA,SAAAr6B,GAAA,OAAAvD,EAAA89B,KAAAv6B,KACArE,KAAA29B,OAAAe,GAAA,QAAA,SAAAr6B,GAAA,OAAAvD,EAAA+9B,OAAAx6B,KACArE,KAAA29B,OAAAzqB,IAAA,OAAA2H,IAAA,CAAAikB,UAAA3C,EAAA4C,gBACA/+B,KAAA29B,OAAAe,GAAA,WAAA,SAAAr6B,GAAA,OAAAvD,EAAAk+B,WAAA36B,KACArE,KAAA29B,OAAAe,GAAA,MAAA,SAAAr6B,GAAA,OAAAvD,EAAAm+B,KAAA56B,KACArE,KAAA29B,OAAAe,GAAA,SAAA,SAAAr6B,GAAA,OAAAvD,EAAAo+B,SAAA76B,KACArE,KAAA29B,OAAAzqB,IAAA,SAAA2H,IAAA,CAAAskB,QAAA,IACAn/B,KAAA29B,OAAAe,GAAA,aAAA,SAAAr6B,GAAA,OAAAvD,EAAAs+B,aAAA/6B,KACArE,KAAA29B,OAAAe,GAAA,QAAA,SAAAr6B,GAAA,OAAAvD,EAAAu+B,OAAAh7B,KACArE,KAAA29B,OAAAe,GAAA,WAAA,SAAAr6B,GAAA,OAAAvD,EAAAw+B,WAAAj7B,KACArE,KAAA29B,OAAAzqB,IAAA,UAAA2H,IAAA,CAAAskB,QAAA,IACAn/B,KAAA29B,OAAAe,GAAA,cAAA,SAAAr6B,GAAA,OAAAvD,EAAAy+B,cAAAl7B,KACArE,KAAA29B,OAAAe,GAAA,SAAA,SAAAr6B,GAAA,OAAAvD,EAAA0+B,QAAAn7B,KACArE,KAAA29B,OAAAe,GAAA,YAAA,SAAAr6B,GAAA,OAAAvD,EAAA2+B,YAAAp7B,MAEAi4B,EAAA17B,UAAA8+B,cAAA,SAAAC,GACA,IAAA7+B,EAAAd,KACA4/B,EAAAD,EAAAvhC,MAAAyhC,WACA,MAAAD,IACAx0B,EAAAW,SAAA6zB,GACA5/B,KAAA8/B,eAAAH,EAAAC,GAGAA,EAAA3D,QAAA,SAAA53B,EAAA07B,GAAA,OAAAj/B,EAAAg/B,eAAAH,EAAAt7B,EAAA07B,EAAA,OAIAzD,EAAA17B,UAAAk/B,eAAA,SAAAH,EAAAC,EAAAI,QACA,IAAAA,IACAA,GAAA,GAEA,IAAAziB,EAAAoiB,EACA//B,EAAA2d,EAAAnf,MAAAwB,GACAqgC,EAAA,SAAAjsB,GACA,OAAA,SAAAksB,GACAA,EAAAtgC,IAAAA,GACAoU,EAAAksB,EAAA77B,KAGA87B,EAAA,SAAAnsB,GACA,OAAA,SAAAksB,GACAlsB,EAAAksB,EAAA77B,KAGA,OAAAu7B,GACA,IAAA,MACA,MAAAriB,EAAAyhB,YACAzhB,EAAA1c,QAAAb,KAAA08B,UAAAuD,EAAA1iB,EAAAyhB,WAAAjN,KAAAxU,KACA,MAAAA,EAAA0hB,MACA1hB,EAAA1c,QAAAb,KAAA28B,IAAAsD,EAAA1iB,EAAA0hB,KAAAlN,KAAAxU,KACA,MAAAA,EAAA2hB,UACA3hB,EAAA1c,QAAAb,KAAA48B,QAAAqD,EAAA1iB,EAAA2hB,SAAAnN,KAAAxU,KACA,MAEA,IAAA,QACA,MAAAA,EAAA6hB,cACA7hB,EAAA1c,QAAAb,KAAA68B,YAAAoD,EAAA1iB,EAAA6hB,aAAArN,KAAAxU,KACA,MAAAA,EAAA8hB,QACA9hB,EAAA1c,QAAAb,KAAA88B,MAAAmD,EAAA1iB,EAAA8hB,OAAAtN,KAAAxU,KACA,MAAAA,EAAA+hB,YACA/hB,EAAA1c,QAAAb,KAAA+8B,UAAAkD,EAAA1iB,EAAA+hB,WAAAvN,KAAAxU,KACA,MAEA,IAAA,SACA,MAAAA,EAAAgiB,eACAhiB,EAAA1c,QAAAb,KAAAg9B,aAAAiD,EAAA1iB,EAAAgiB,cAAAxN,KAAAxU,KACA,MAAAA,EAAAiiB,SACAjiB,EAAA1c,QAAAb,KAAAsvB,OAAA2Q,EAAA1iB,EAAAiiB,QAAAzN,KAAAxU,KACA,MAAAA,EAAAkiB,aACAliB,EAAA1c,QAAAb,KAAAi9B,WAAAgD,EAAA1iB,EAAAkiB,YAAA1N,KAAAxU,KACA,MAEA,IAAA,OACA,MAAAA,EAAA6iB,aACA7iB,EAAA1c,QAAAb,KAAAq9B,WAAA4C,EAAA1iB,EAAA6iB,YAAArO,KAAAxU,KACA,MAAAA,EAAA8iB,OACA9iB,EAAA1c,QAAAb,KAAAs9B,KAAA2C,EAAA1iB,EAAA8iB,MAAAtO,KAAAxU,KACA,MAAAA,EAAA+iB,YACA/iB,EAAA1c,QAAAb,KAAAu9B,UAAA0C,EAAA1iB,EAAA+iB,WAAAvO,KAAAxU,KACA,MAEA,IAAA,MACA,MAAAA,EAAAqhB,MACArhB,EAAA1c,QAAAb,KAAAk9B,IAAA+C,EAAA1iB,EAAAqhB,KAAA7M,KAAAxU,KACA,MAEA,IAAA,QACA,MAAAA,EAAAshB,QACAthB,EAAA1c,QAAAb,KAAAo9B,MAAA6C,EAAA1iB,EAAAshB,OAAA9M,KAAAxU,KACA,MAEA,IAAA,SACA,MAAAA,EAAAgjB,SACAhjB,EAAA1c,QAAAb,KAAAw9B,OAAAyC,EAAA1iB,EAAAgjB,QAAAxO,KAAAxU,KACA,MAEA,QACA,MAAA,IAAAlf,MAAA,2BAAAuhC,GAGAI,IAEA,MAAAziB,EAAAohB,YACAphB,EAAA1c,QAAAb,KAAAm9B,UAAAgD,EAAA5iB,EAAAohB,WAAA5M,KAAAxU,KACA,MAAAA,EAAAijB,UACAjjB,EAAA1c,QAAAb,KAAAy9B,QAAA0C,EAAA5iB,EAAAijB,SAAAzO,KAAAxU,KACA,MAAAA,EAAAkjB,QACAljB,EAAA1c,QAAAb,KAAA09B,MAAAyC,EAAA5iB,EAAAkjB,OAAA1O,KAAAxU,KAKA8e,EAAAqE,WAAA,MAAAnjB,EAAAgjB,SAAA,SAAAX,IACA1gC,EAAAwB,OAAAC,MAAA,sCACA4c,EAAA1c,QAAAb,KAAAw9B,OAAAyC,EAAA1iB,EAAAgjB,QAAAxO,KAAAxU,QAGA+e,EAAA17B,UAAA+/B,oBAAA,SAAAp4B,EAAAC,GAEA,IADA,IAAAo4B,EAAA5gC,KAAAu8B,UAAAsE,qBACAz2B,EAAA,EAAAM,EAAAd,EAAAk3B,SAAAF,GAAAx2B,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAW,EAAAL,EAAAN,GACAmmB,EAAAxlB,EAAA3M,MAAAmyB,MACA,IAAA,cAAAA,GAAA,WAAAA,IAAA,MAAAxlB,EAAAg2B,iBACAh2B,EAAAg2B,gBAAAx4B,EAAAC,GACA,OAAAuC,EAGA,OAAA,MAEAuxB,EAAA17B,UAAAogC,gBAAA,SAAAz4B,EAAAC,GACA,OAAAxI,KAAAu8B,UAAA0E,MAAAlc,KAAAvR,SAAAjL,EAAAC,IAEA8zB,EAAA17B,UAAAsgC,iBAAA,SAAA34B,EAAAC,GACA,OAAAxI,KAAAu8B,UAAA5X,OAAAI,KAAAvR,SAAAjL,EAAAC,IAEA8zB,EAAA17B,UAAAugC,SAAA,SAAA3G,EAAAn2B,EAAA+8B,GACA,IAAAtgC,EAAAd,KACAqhC,EAAArhC,KAAAw8B,QAAA6E,SACAxB,EAAArF,EAAAr8B,KACAmjC,EAAAzB,EAAA7zB,MAAA,KAAA,GACAjB,EAAA/K,KAAA2gC,oBAAAt8B,EAAAkE,GAAAlE,EAAAmE,IACA+4B,EAAAvhC,KAAAkhC,iBAAA78B,EAAAkE,GAAAlE,EAAAmE,IACA,OAAA84B,GACA,IAAA,OACA,IAAAE,EAAAH,EAAAC,GAAAG,OACA,MAAAD,GACAxhC,KAAA0hC,QAAAlH,EAAAn2B,EAAAm9B,EAAA5hC,IACA,IAAA+hC,EAAA3hC,KAAAw8B,QAAAtE,WAAAztB,OAAA,SAAAkW,GAAA,OAAAA,EAAA8gB,SACA9sB,EAAA,UAEA,MAAA5J,GACA4J,EAAA5J,EAAA4J,OAAAtQ,EAAAkE,GAAAlE,EAAAmE,KAAAmM,EACA7W,EAAA4e,QAAAilB,KAEAnH,EAAAx6B,KAAAu9B,UACAsC,EAAArF,EAAAr8B,OAIA6B,KAAAghC,gBAAA38B,EAAAkE,GAAAlE,EAAAmE,MACA1K,EAAA4e,QAAAilB,KACAhtB,EAAA,cAGA3U,KAAAu8B,UAAAqF,WAAAjtB,GACA3U,KAAAu8B,UAAAsF,uBAAAN,GACAI,EAAAx3B,IAAA,SAAA23B,GAAA,OAAAhhC,EAAA4gC,QAAAlH,EAAAn2B,EAAAy9B,EAAAliC,MACA,MAEA,IAAA,MACA,IAAAmiC,EAAAX,EAAAW,OACA,GAAA,MAAAA,GAAAA,GAAA/hC,KAAAy8B,SACA,OACA,MAAA1xB,GAAA,MAAAA,EAAAi3B,QACAj3B,EAAAi3B,OAAA39B,EAAAkE,GAAAlE,EAAAmE,IACA,IAAAg5B,EAAAH,EAAAC,GAAAG,OACA,MAAAD,GACAxhC,KAAA0hC,QAAAlH,EAAAn2B,EAAAm9B,EAAA5hC,IACA,MAEA,IAAA,SAKA,IAAAqiC,EAAA5F,EAAAqE,UAAA,QAAA,SACAc,EAAAH,EAAAY,GAAAR,OACA,MAAAD,IACAJ,EAAAc,iBACAd,EAAAe,kBACAniC,KAAA0hC,QAAAlH,EAAAn2B,EAAAm9B,EAAA5hC,KAEA,MAEA,IAAA,MACA,IAAA4hC,EAAAH,EAAAC,GAAAG,OACA,MAAAD,IACAJ,EAAAc,iBACAliC,KAAA0hC,QAAAlH,EAAAn2B,EAAAm9B,EAAA5hC,KAEA,MAEA,QACA,IAAA4hC,EAAAH,EAAAC,GAAAG,OACA,MAAAD,GACAxhC,KAAA0hC,QAAAlH,EAAAn2B,EAAAm9B,EAAA5hC,IAGAI,KAAAoiC,qBAAA/9B,IAEAi4B,EAAA17B,UAAA8gC,QAAA,SAAAlH,EAAAn2B,EAAAzE,QACA,IAAAA,IACAA,EAAA,MAEA46B,EAAA9e,KAAA,CAAA9b,GAAAA,EAAAyE,EAAAA,KAEAi4B,EAAA17B,UAAAwhC,qBAAA,SAAA/9B,GACA,IAAAvD,EAAAd,KACAqiC,EAAA,WACA,IAAAC,EAAAxhC,EAAAy7B,UAAA0E,MAAAsB,QAAAC,QACAC,EAAA3hC,EAAAy7B,UAAA0E,MAAAyB,QAAAF,QACAj6B,EAAAlE,EAAAkE,GAAAC,EAAAnE,EAAAmE,GACAC,EAAA65B,EAAAK,OAAAp6B,GACAG,EAAA+5B,EAAAE,OAAAn6B,GACA,OAAAnE,EAAAkV,MACA,IAAA,QACA,OAAA,IAAA5V,EAAAqF,WAAAT,EAAAC,EAAAC,EAAAC,EAAArE,EAAA4E,OACA,IAAA,YACA,OAAA,IAAAtF,EAAAuF,UAAAX,EAAAC,EAAAC,EAAAC,GACA,IAAA,aACA,OAAA,IAAA/E,EAAAwF,WAAAZ,EAAAC,EAAAC,EAAAC,GACA,IAAA,aACA,OAAA,IAAA/E,EAAAyF,WAAAb,EAAAC,EAAAC,EAAAC,GACA,IAAA,MACA,OAAA,IAAA/E,EAAA0F,IAAAd,EAAAC,EAAAC,EAAAC,GACA,IAAA,YACA,OAAA,IAAA/E,EAAA2F,UAAAf,EAAAC,EAAAC,EAAAC,GACA,IAAA,QACA,OAAA,IAAA/E,EAAA4F,MAAAhB,EAAAC,EAAAC,EAAAC,GACA,IAAA,MACA,OAAA,IAAA/E,EAAAgF,IAAAJ,EAAAC,EAAAC,EAAAC,EAAArE,EAAAu+B,OAAAv+B,EAAAw+B,QACA,IAAA,WACA,OAAA,IAAAl/B,EAAA6F,SAAAjB,EAAAC,EAAAC,EAAAC,GACA,IAAA,SACA,OAAA,IAAA/E,EAAA8F,OAAAlB,EAAAC,EAAAC,EAAAC,GACA,IAAA,QACA,OAAA,IAAA/E,EAAAmF,MAAAP,EAAAC,EAAAC,EAAAC,EAAArE,EAAA0E,OACA,IAAA,aACA,OAAA,IAAApF,EAAA+F,WAAAnB,EAAAC,EAAAC,EAAAC,GACA,IAAA,WACA,OAAA,IAAA/E,EAAAgG,SAAApB,EAAAC,EAAAC,EAAAC,GACA,QACA,MAAA,IAAArK,MAAA,gBAlCA,GAqCA2B,KAAAu8B,UAAAn+B,MAAA0kC,cAAAT,IAEA/F,EAAA17B,UAAAmiC,SAAA,SAAAthC,GAKA,IAAAiJ,EAHA,SAAAjJ,GACA,MAAA,oBAAAuhC,YAAAvhC,aAAAuhC,WAEAC,CAAAxhC,IAAA,GAAAA,EAAAyhC,QAAAhiC,OAAAO,EAAAyhC,QAAAzhC,EAAA0hC,gBAAA,GAAA1hC,EAAA2hC,EAAA14B,EAAA04B,MAAAC,EAAA34B,EAAA24B,MACAp4B,EAAAsf,EAAAxY,OAAA/R,KAAAy8B,UAAAruB,EAAAnD,EAAAmD,KAAAJ,EAAA/C,EAAA+C,IACA,MAAA,CACAzF,GAAA66B,EAAAh1B,EACA5F,GAAA66B,EAAAr1B,IAGAsuB,EAAA17B,UAAA0iC,eAAA,SAAAj/B,GACA,OAAAwC,EAAAiB,SAAA,CAAAyR,KAAAlV,EAAAkV,MAAAvZ,KAAA+iC,SAAA1+B,EAAA+8B,UAAA,CAAAwB,OAAAv+B,EAAAu+B,OAAAC,OAAAx+B,EAAAw+B,OAAA95B,MAAA1E,EAAA0E,MAAAw6B,SAAAl/B,EAAA+8B,SAAAmC,YAEAjH,EAAA17B,UAAA4iC,WAAA,SAAAn/B,GACA,OAAAwC,EAAAiB,SAAA,CAAAyR,KAAAlV,EAAAkV,MAAAvZ,KAAA+iC,SAAA1+B,EAAA+8B,UAAA,CAAAmC,SAAAl/B,EAAA+8B,SAAAmC,YAEAjH,EAAA17B,UAAA6iC,YAAA,SAAAp/B,GACA,OAAAwC,EAAAiB,SAAA,CAAAyR,KAAAlV,EAAAkV,MAAAvZ,KAAA+iC,SAAA1+B,KAEAi4B,EAAA17B,UAAA8iC,cAAA,SAAAr/B,GACA,OAAAwC,EAAAiB,SAAA,CAAAyR,KAAAlV,EAAAkV,MAAAvZ,KAAA+iC,SAAA1+B,GAAA,CAAA4E,MAAAmzB,EAAAuH,UAAAt/B,MAEAi4B,EAAA17B,UAAAgjC,WAAA,SAAAv/B,GACA,MAAA,CACAkV,KAAAlV,EAAAkV,KACAsqB,QAAAx/B,EAAAw/B,UAGAvH,EAAA17B,UAAAo+B,WAAA,SAAA36B,GACA,IAAAg+B,EAAAriC,KAAAsjC,eAAAj/B,GAEAg+B,EAAA95B,IAAAlE,EAAAu+B,OACAP,EAAA75B,IAAAnE,EAAAw+B,OACA7iC,KAAAmhC,SAAAnhC,KAAA08B,UAAA2F,EAAAh+B,EAAA+8B,WAEA9E,EAAA17B,UAAAq+B,KAAA,SAAA56B,GACArE,KAAAmhC,SAAAnhC,KAAA28B,IAAA38B,KAAAsjC,eAAAj/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAAs+B,SAAA,SAAA76B,GACArE,KAAAmhC,SAAAnhC,KAAA48B,QAAA58B,KAAAsjC,eAAAj/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAAw+B,aAAA,SAAA/6B,GACArE,KAAAmhC,SAAAnhC,KAAA68B,YAAA78B,KAAAsjC,eAAAj/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAAy+B,OAAA,SAAAh7B,GACArE,KAAAmhC,SAAAnhC,KAAA88B,MAAA98B,KAAAsjC,eAAAj/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAA0+B,WAAA,SAAAj7B,GACArE,KAAAmhC,SAAAnhC,KAAA+8B,UAAA/8B,KAAAsjC,eAAAj/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAA2+B,cAAA,SAAAl7B,GACArE,KAAAmhC,SAAAnhC,KAAAg9B,aAAAh9B,KAAAsjC,eAAAj/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAA4+B,QAAA,SAAAn7B,GACArE,KAAAmhC,SAAAnhC,KAAAsvB,OAAAtvB,KAAAsjC,eAAAj/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAA6+B,YAAA,SAAAp7B,GACArE,KAAAmhC,SAAAnhC,KAAAi9B,WAAAj9B,KAAAsjC,eAAAj/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAAg+B,KAAA,SAAAv6B,GACArE,KAAAmhC,SAAAnhC,KAAAk9B,IAAAl9B,KAAAwjC,WAAAn/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAA+9B,WAAA,SAAAt6B,GAEA,IAAAg+B,EAAAriC,KAAAwjC,WAAAn/B,GACArE,KAAAoiC,qBAAAC,GACAriC,KAAA0hC,QAAA1hC,KAAAm9B,UAAAkF,IAEA/F,EAAA17B,UAAAi+B,OAAA,SAAAx6B,GACArE,KAAAmhC,SAAAnhC,KAAAo9B,MAAAp9B,KAAAwjC,WAAAn/B,GAAAA,EAAA+8B,WAEA9E,EAAA17B,UAAAo9B,aAAA,SAAA35B,GACArE,KAAAmhC,SAAAnhC,KAAAq9B,WAAAr9B,KAAAyjC,YAAAp/B,GAAAA,IAEAi4B,EAAA17B,UAAAm9B,YAAA,SAAA15B,GACArE,KAAAmhC,SAAAnhC,KAAAs9B,KAAAt9B,KAAAyjC,YAAAp/B,GAAAA,IAEAi4B,EAAA17B,UAAAq9B,YAAA,SAAA55B,GACArE,KAAAmhC,SAAAnhC,KAAAu9B,UAAAv9B,KAAAyjC,YAAAp/B,GAAAA,IAEAi4B,EAAA17B,UAAAs9B,aAAA,SAAA75B,GACArE,KAAAmhC,SAAAnhC,KAAAw9B,OAAAx9B,KAAA0jC,cAAAr/B,GAAAA,IAEAi4B,EAAA17B,UAAAy9B,UAAA,SAAAh6B,GAEArE,KAAA0hC,QAAA1hC,KAAAy9B,QAAAz9B,KAAA4jC,WAAAv/B,KAEAi4B,EAAA17B,UAAA09B,QAAA,SAAAj6B,GAEArE,KAAA0hC,QAAA1hC,KAAA09B,MAAA19B,KAAA4jC,WAAAv/B,KAEAi4B,EAvZA,GAyZA1+B,EAAA0+B,SAAAA,GCraA,SAAA5+B,EAAAC,EAAAC,GACA,IAAAkmC,EAAApmC,EAAA,IACAqmC,EAAArmC,EAAA,IACA20B,EAAA30B,EAAA,IACAE,EAAAuM,IAAAkoB,EAAAloB,IACAvM,EAAAomC,OAAA3R,EAAA2R,OACApmC,EAAAstB,IAAAmH,EAAAnH,IACAttB,EAAAqmC,OAAA5R,EAAA4R,OACArmC,EAAAgV,IAAAyf,EAAAzf,IACAhV,EAAAsmC,OAAA7R,EAAA6R,OACAtmC,EAAAsqB,IAAAmK,EAAAnK,IACAtqB,EAAAumC,OAAA9R,EAAA8R,OACAvmC,EAAAwmC,MAAA/R,EAAA+R,MACAxmC,EAAAmpB,KAAAsL,EAAAtL,KACAnpB,EAAA89B,KAAArJ,EAAAqJ,KACA99B,EAAAymC,UAAAhS,EAAAgS,UACAzmC,EAAA0mC,WAAAjS,EAAAiS,WACA1mC,EAAA2mC,gBAAAlS,EAAAkS,gBACA3mC,EAAA4mC,aAAAnS,EAAAmS,aACA,IAAAC,EAAAh1B,MAAA7O,UAAA6jC,MAaA,SAAAlqB,EAAAuF,GACA,OAAA2kB,EAAA58B,KAAAiY,GAGA,SAAAnQ,EAAA+0B,GACA,IAAAh6B,EACA,OAAAA,EAAA,IAAAiF,OAAApI,MAAAmD,EAAAg6B,GAGA,SAAA3Q,EAAAjU,EAAAjU,GACA,OAAA,IAAAiU,EAAA6kB,QAAA94B,GAuCA,SAAA+4B,EAAA7a,EAAA8a,EAAAC,QACA,IAAAA,IACAA,EAAA,GAEAf,EAAAgB,OAAAD,EAAA,EAAA,oCACA,MAAAD,IACAA,EAAA9a,EACAA,EAAA,GAMA,IAJA,IAAAnX,EAAAtD,KAAAsD,IAAArD,EAAAD,KAAAC,KAAAqd,EAAAtd,KAAAsd,IACA3jB,EAAA8gB,GAAA8a,EAAAC,GAAAA,EACA5jC,EAAA0R,EAAArD,EAAAqd,EAAAiY,EAAA9a,GAAA+a,GAAA,GACAF,EAAAn1B,MAAAvO,GACA+O,EAAA,EAAAA,EAAA/O,EAAA+O,IAAA8Z,GAAA9gB,EACA27B,EAAA30B,GAAA8Z,EAEA,OAAA6a,EAsDA,SAAAI,EAAAllB,GAEA,IADA,IAAA/B,EAAA,GACA3T,EAAA,EAAAR,EAAAkW,EAAA1V,EAAAR,EAAA1I,OAAAkJ,IAAA,CACA,IAAAyB,EAAAjC,EAAAQ,GACA2pB,EAAAhW,EAAAlS,IACAkS,EAAA/S,KAAAa,GAGA,OAAAkS,EAxIAngB,EAAAqnC,KAHA,SAAAnlB,GACA,OAAAA,EAAA,IAMAliB,EAAAsnC,KAHA,SAAAplB,GACA,OAAAA,EAAAA,EAAA5e,OAAA,IAMAtD,EAAAunC,KAHA,SAAArlB,GACA,OAAAA,EAAAA,EAAA5e,OAAA,IAMAtD,EAAA2c,KAAAA,EAKA3c,EAAA+R,OAAAA,EAIA/R,EAAAm2B,SAAAA,EACAn2B,EAAA4V,SAAAugB,EAIAn2B,EAAAwnC,IAHA,SAAAtlB,EAAAigB,GACA,OAAAjgB,EAAAigB,GAAA,EAAAA,EAAAjgB,EAAA5e,OAAA6+B,IAoBAniC,EAAAynC,IAjBA,WAEA,IADA,IAAAX,EAAA,GACAt6B,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAs6B,EAAAt6B,GAAA5C,UAAA4C,GAEA,GAAA,GAAAs6B,EAAAxjC,OACA,MAAA,GAIA,IAHA,IAAAokC,EAAAjT,EAAAnH,IAAAwZ,EAAAv6B,IAAA,SAAA6F,GAAA,OAAAA,EAAA9O,UACAod,EAAAomB,EAAAxjC,OACA6c,EAAA,IAAAtO,MAAA61B,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IAAA,CACA8N,EAAA9N,GAAA,IAAAR,MAAA6O,GACA,IAAA,IAAAinB,EAAA,EAAAA,EAAAjnB,EAAAinB,IACAxnB,EAAA9N,GAAAs1B,GAAAb,EAAAa,GAAAt1B,GAEA,OAAA8N,GAeAngB,EAAA4nC,MAZA,SAAA1lB,GAIA,IAHA,IAAAwlB,EAAAxlB,EAAA5e,OACAod,EAAA+T,EAAAnH,IAAApL,EAAA3V,IAAA,SAAA6F,GAAA,OAAAA,EAAA9O,UACAukC,EAAAh2B,MAAA6O,GACAinB,EAAA,EAAAA,EAAAjnB,EAAAinB,IACAE,EAAAF,GAAA,IAAA91B,MAAA61B,GACA,IAAA,IAAAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACA,IAAA,IAAAs1B,EAAA,EAAAA,EAAAjnB,EAAAinB,IACAE,EAAAF,GAAAt1B,GAAA6P,EAAA7P,GAAAs1B,GAEA,OAAAE,GAqBA7nC,EAAAgnC,MAAAA,EAYAhnC,EAAA8nC,SAXA,SAAA3b,EAAA8a,EAAAl3B,QACA,IAAAA,IACAA,EAAA,KAIA,IAFA,IAAAm3B,GAAAD,EAAA9a,IAAApc,EAAA,GACAmS,EAAA,IAAArQ,MAAA9B,GACAsC,EAAA,EAAAA,EAAAtC,EAAAsC,IACA6P,EAAA7P,GAAA8Z,EAAA+a,EAAA70B,EAEA,OAAA6P,GAeAliB,EAAA+nC,UAZA,SAAA7lB,GAIA,IAHA,IAAAyG,EAAAzG,EAAA5e,OACAslB,EAAA1G,EAAA,GAAA5e,OACA0kC,EAAA,GACAL,EAAA,EAAAA,EAAA/e,EAAA+e,IAAA,CACAK,EAAAL,GAAA,GACA,IAAA,IAAAt1B,EAAA,EAAAA,EAAAsW,EAAAtW,IACA21B,EAAAL,GAAAt1B,GAAA6P,EAAA7P,GAAAs1B,GAGA,OAAAK,GAMAhoC,EAAAioC,OAHA,SAAA/lB,GACA,OAAAuS,EAAA4R,OAAAW,EAAA9kB,EAAA5e,QAAA,SAAA+O,GAAA,OAAA6P,EAAA7P,MAMArS,EAAAkoC,OAHA,SAAAhmB,GACA,OAAAuS,EAAA6R,OAAAU,EAAA9kB,EAAA5e,QAAA,SAAA+O,GAAA,OAAA6P,EAAA7P,MAoBArS,EAAAykB,QAjBA,SAAAvC,EAAAzT,GACA,IAAA05B,EAAAjmB,EAAA3V,IAAA,SAAA0B,EAAAk0B,GACA,MAAA,CAAAl0B,MAAAA,EAAAk0B,MAAAA,EAAA1zB,IAAAA,EAAAR,MAaA,OAXAk6B,EAAAC,KAAA,SAAA53B,EAAAE,GACA,IAAA0B,EAAA5B,EAAA/B,IACAkV,EAAAjT,EAAAjC,IACA,GAAA2D,IAAAuR,EAAA,CACA,GAAAvR,EAAAuR,QAAA3I,IAAA5I,EACA,OAAA,EACA,GAAAA,EAAAuR,QAAA3I,IAAA2I,EACA,OAAA,EAEA,OAAAnT,EAAA2xB,MAAAzxB,EAAAyxB,QAEAgG,EAAA57B,IAAA,SAAAvC,GAAA,OAAAA,EAAAiE,SAaAjO,EAAAonC,KAAAA,EAcApnC,EAAAqoC,QAbA,SAAAnmB,EAAAzT,GAGA,IAFA,IAAA0R,EAAA,GACAmoB,EAAA,GACA97B,EAAA,EAAA+7B,EAAArmB,EAAA1V,EAAA+7B,EAAAjlC,OAAAkJ,IAAA,CACA,IAAAyB,EAAAs6B,EAAA/7B,GACAkjB,EAAAjhB,EAAAR,GACAkoB,EAAAmS,EAAA5Y,KACA4Y,EAAAl7B,KAAAsiB,GACAvP,EAAA/S,KAAAa,IAGA,OAAAkS,GAUAngB,EAAAwoC,MAPA,WAEA,IADA,IAAA1B,EAAA,GACAt6B,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAs6B,EAAAt6B,GAAA5C,UAAA4C,GAEA,OAAA46B,EAAAr1B,EAAA+0B,KAsBA9mC,EAAAyoC,aAnBA,SAAAvmB,GAEA,IADA,IAAA4kB,EAAA,GACAt6B,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAs6B,EAAAt6B,EAAA,GAAA5C,UAAA4C,GAEA,IAAA2T,EAAA,GACA/P,EAAA,IAAA,IAAAtD,EAAA,EAAA47B,EAAAxmB,EAAApV,EAAA47B,EAAAplC,OAAAwJ,IAAA,CACA,IAAA9C,EAAA0+B,EAAA57B,GACA,IAAAqpB,EAAAhW,EAAAnW,GAAA,CAEA,IAAA,IAAAqD,EAAA,EAAAs7B,EAAA7B,EAAAz5B,EAAAs7B,EAAArlC,OAAA+J,IAAA,CACA,IAAAu7B,EAAAD,EAAAt7B,GACA,IAAA8oB,EAAAyS,EAAA5+B,GACA,SAAAoG,EAEA+P,EAAA/S,KAAApD,IAEA,OAAAmW,GAWAngB,EAAAsM,WARA,SAAA4V,GAEA,IADA,IAAA4kB,EAAA,GACAt6B,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAs6B,EAAAt6B,EAAA,GAAA5C,UAAA4C,GAEA,IAAAq8B,EAAA92B,EAAA+0B,GACA,OAAA5kB,EAAArV,OAAA,SAAAoB,GAAA,OAAAkoB,EAAA0S,EAAA56B,MAQAjO,EAAA8oC,UALA,SAAA5mB,EAAA7P,GACA,IAAA8N,EAAAxD,EAAAuF,GAEA,OADA/B,EAAA4oB,OAAA12B,EAAA,GACA8N,GAWAngB,EAAAs+B,UARA,SAAApc,EAAAzT,GACA,IAAA,IAAA4D,EAAA,EAAAA,EAAA6P,EAAA5e,QACAmL,EAAAyT,EAAA7P,IACA6P,EAAA6mB,OAAA12B,EAAA,GAEAA,KAiBArS,EAAAgpC,QAXA,SAAA9mB,GAGA,IAFA,IAAA5e,EAAA4e,EAAA5e,OACA2lC,EAAA,IAAAp3B,MAAAvO,GACA+O,EAAA,EAAAA,EAAA/O,EAAA+O,IAAA,CACA,IAAA62B,EAAAhD,EAAAiD,SAAA,EAAA92B,GACA62B,IAAA72B,IACA42B,EAAA52B,GAAA42B,EAAAC,IACAD,EAAAC,GAAAhnB,EAAA7P,GAEA,OAAA42B,GAWAjpC,EAAAopC,SARA,SAAAlnB,EAAA9L,GAGA,IAFA,IAAAsxB,EAAAxlB,EAAA5e,OACA6c,EAAA,IAAAtO,MAAA61B,EAAA,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAA,EAAAr1B,IACA8N,EAAA9N,GAAA+D,EAAA8L,EAAA7P,GAAA6P,EAAA7P,EAAA,IAEA,OAAA8N,GAWAngB,EAAAkjC,SARA,SAAAhhB,GAGA,IAFA,IAAAwlB,EAAAxlB,EAAA5e,OACA6c,EAAA,IAAAtO,MAAA61B,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACA8N,EAAAunB,EAAAr1B,EAAA,GAAA6P,EAAA7P,GAEA,OAAA8N,GAUAngB,EAAA62B,OAPA,SAAA5oB,EAAAy5B,GAEA,IADA,IAAAvnB,EAAA,IAAAtO,MAAA61B,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACA8N,EAAA9N,GAAApE,EAEA,OAAAkS,ICzQA,SAAArgB,EAAAC,EAAAC,GACA,SAAA+oC,EAAA7mB,EAAAiK,EAAAzL,GAEA,IADA,IAAAgI,EAAA,GACAlc,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAkc,EAAAlc,EAAA,GAAA5C,UAAA4C,GAEA,IAAA68B,EAAAnnB,EAAA5e,OACA6oB,EAAA,IACAA,GAAAkd,GACAld,EAAA,EACAA,EAAA,EACAA,EAAAkd,IACAld,EAAAkd,GACA,MAAA3oB,GAAAA,EAAA2oB,EAAAld,EACAzL,EAAA2oB,EAAAld,EACAzL,EAAA,IACAA,EAAA,GAIA,IAHA,IAAAgnB,EAAA2B,EAAA3oB,EAAAgI,EAAAplB,OACA6c,EAAA,IAAA+B,EAAA/D,YAAAupB,GACAr1B,EAAA,EACAA,EAAA8Z,EAAA9Z,IACA8N,EAAA9N,GAAA6P,EAAA7P,GAEA,IAAA,IAAAvF,EAAA,EAAAw8B,EAAA5gB,EAAA5b,EAAAw8B,EAAAhmC,OAAAwJ,IAAA,CACA,IAAA9C,EAAAs/B,EAAAx8B,GACAqT,EAAA9N,KAAArI,EAEA,IAAA,IAAA29B,EAAAxb,EAAAzL,EAAAinB,EAAA0B,EAAA1B,IACAxnB,EAAA9N,KAAA6P,EAAAylB,GAEA,OAAAxnB,EAgCA,SAAAimB,EAAAlkB,EAAA9L,EAAAmzB,GACA,IAGAt7B,EACAoE,EAJAq1B,EAAAxlB,EAAA5e,OACA,QAAA0X,IAAAuuB,GAAA,GAAA7B,EACA,MAAA,IAAAjnC,MAAA,wDAWA,SARAua,IAAAuuB,GACAt7B,EAAAiU,EAAA,GACA7P,EAAA,IAGApE,EAAAs7B,EACAl3B,EAAA,GAEAA,EAAAq1B,EAAAr1B,IACApE,EAAAmI,EAAAnI,EAAAiU,EAAA7P,GAAAA,EAAA6P,GAEA,OAAAjU,EAiGA,SAAAu7B,EAAAC,GACA,OAAA,SAAAvnB,EAAAwnB,GAGA,IAFA,IAAApmC,EAAA4e,EAAA5e,OACA6+B,EAAAsH,EAAA,EAAA,EAAAnmC,EAAA,EACA6+B,GAAA,GAAAA,EAAA7+B,EAAA6+B,GAAAsH,EACA,GAAAC,EAAAxnB,EAAAigB,IACA,OAAAA,EAEA,OAAA,GAxJAniC,EAAA+oC,OAAAA,EAIA/oC,EAAA2pC,OAHA,SAAAznB,EAAAlY,EAAAqI,GACA,OAAA02B,EAAA7mB,EAAA7P,EAAA,EAAArI,IAMAhK,EAAA4O,OAHA,SAAAsT,EAAAlY,GACA,OAAA++B,EAAA7mB,EAAAA,EAAA5e,OAAA,EAAA0G,IAMAhK,EAAAsT,QAHA,SAAA4O,EAAAlY,GACA,OAAA++B,EAAA7mB,EAAA,EAAA,EAAAlY,IAUAhK,EAAA+mC,QAPA,SAAA7kB,EAAAlY,GACA,IAAA,IAAAqI,EAAA,EAAAq1B,EAAAxlB,EAAA5e,OAAA+O,EAAAq1B,EAAAr1B,IACA,GAAA6P,EAAA7P,KAAArI,EACA,OAAAqI,EAEA,OAAA,GAWArS,EAAAuM,IARA,SAAA2V,EAAA9L,GAGA,IAFA,IAAAsxB,EAAAxlB,EAAA5e,OACA6c,EAAA,IAAA+B,EAAA/D,YAAAupB,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACA8N,EAAA9N,GAAA+D,EAAA8L,EAAA7P,GAAAA,EAAA6P,GAEA,OAAA/B,GAsBAngB,EAAAomC,OAAAA,EAYApmC,EAAAstB,IAXA,SAAApL,GAGA,IAFA,IAAAjU,EACAkS,EAAA9J,EAAAA,EACAhE,EAAA,EAAAskB,EAAAzU,EAAA5e,OAAA+O,EAAAskB,EAAAtkB,KACApE,EAAAiU,EAAA7P,IACA8N,IACAA,EAAAlS,GAGA,OAAAkS,GAkBAngB,EAAAqmC,OAfA,SAAAnkB,EAAAzT,GACA,GAAA,GAAAyT,EAAA5e,OACA,MAAA,IAAA7C,MAAA,uCAGA,IAFA,IAAA0f,EAAA+B,EAAA,GACA0nB,EAAAn7B,EAAA0R,GACA9N,EAAA,EAAAw3B,EAAA3nB,EAAA5e,OAAA+O,EAAAw3B,EAAAx3B,IAAA,CACA,IAAApE,EAAAiU,EAAA7P,GACAqd,EAAAjhB,EAAAR,GACAyhB,EAAAka,IACAzpB,EAAAlS,EACA27B,EAAAla,GAGA,OAAAvP,GAcAngB,EAAAgV,IAXA,SAAAkN,GAGA,IAFA,IAAAjU,EACAkS,GAAA,EAAA,EACA9N,EAAA,EAAAy3B,EAAA5nB,EAAA5e,OAAA+O,EAAAy3B,EAAAz3B,KACApE,EAAAiU,EAAA7P,IACA8N,IACAA,EAAAlS,GAGA,OAAAkS,GAkBAngB,EAAAsmC,OAfA,SAAApkB,EAAAzT,GACA,GAAA,GAAAyT,EAAA5e,OACA,MAAA,IAAA7C,MAAA,uCAGA,IAFA,IAAA0f,EAAA+B,EAAA,GACA0nB,EAAAn7B,EAAA0R,GACA9N,EAAA,EAAA03B,EAAA7nB,EAAA5e,OAAA+O,EAAA03B,EAAA13B,IAAA,CACA,IAAApE,EAAAiU,EAAA7P,GACAqd,EAAAjhB,EAAAR,GACAyhB,EAAAka,IACAzpB,EAAAlS,EACA27B,EAAAla,GAGA,OAAAvP,GAUAngB,EAAAsqB,IAPA,SAAApI,GAEA,IADA,IAAA/B,EAAA,EACA9N,EAAA,EAAAq1B,EAAAxlB,EAAA5e,OAAA+O,EAAAq1B,EAAAr1B,IACA8N,GAAA+B,EAAA7P,GAEA,OAAA8N,GAQAngB,EAAAumC,OALA,SAAArkB,GACA,IAAA/B,EAAA,IAAA+B,EAAA/D,YAAA+D,EAAA5e,QAEA,OADA8iC,EAAAlkB,EAAA,SAAA9P,EAAAuR,EAAAtR,GAAA,OAAA8N,EAAA9N,GAAAD,EAAAuR,GAAA,GACAxD,GAUAngB,EAAAwmC,MAPA,SAAAtkB,EAAAwnB,GACA,IAAA,IAAAr3B,EAAA,EAAA23B,EAAA9nB,EAAA5e,OAAA+O,EAAA23B,EAAA33B,IACA,IAAAq3B,EAAAxnB,EAAA7P,IACA,OAAA,EAEA,OAAA,GAUArS,EAAAmpB,KAPA,SAAAjH,EAAAwnB,GACA,IAAA,IAAAr3B,EAAA,EAAA43B,EAAA/nB,EAAA5e,OAAA+O,EAAA43B,EAAA53B,IACA,GAAAq3B,EAAAxnB,EAAA7P,IACA,OAAA,EAEA,OAAA,GAUArS,EAAAkqC,SAPA,SAAAhoB,EAAAjU,GACA,IAAA,IAAAoE,EAAA,EAAA83B,EAAAjoB,EAAA5e,OAAA+O,EAAA83B,EAAA93B,IACA,GAAA6P,EAAA7P,KAAApE,EACA,OAAAoE,EAEA,OAAA,GAcArS,EAAA0mC,WAAA8C,EAAA,GACAxpC,EAAA2mC,gBAAA6C,GAAA,GAKAxpC,EAAA89B,KAJA,SAAA5b,EAAAwnB,GACA,IAAAvH,EAAAniC,EAAA0mC,WAAAxkB,EAAAwnB,GACA,OAAA,GAAAvH,OAAAnnB,EAAAkH,EAAAigB,IAOAniC,EAAAymC,UAJA,SAAAvkB,EAAAwnB,GACA,IAAAvH,EAAAniC,EAAA2mC,gBAAAzkB,EAAAwnB,GACA,OAAA,GAAAvH,OAAAnnB,EAAAkH,EAAAigB,IAeAniC,EAAA4mC,aAZA,SAAA1kB,EAAAjU,GAGA,IAFA,IAAAm8B,EAAA,EACAC,EAAAnoB,EAAA5e,OACA8mC,EAAAC,GAAA,CACA,IAAAC,EAAA54B,KAAA64B,OAAAH,EAAAC,GAAA,GACAnoB,EAAAooB,GAAAr8B,EACAm8B,EAAAE,EAAA,EAEAD,EAAAC,EAEA,OAAAF,ICjNA,SAAAtqC,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA0qC,EAAA,SAAA9gC,GAEA,SAAA8gC,IACA,OAAA,OAAA9gC,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA2gC,EAAA9gC,GAIA8gC,EALA,CAMA/pC,OACAT,EAAAwqC,eAAAA,EAMAxqC,EAAAmnC,OALA,SAAAsD,EAAA9lC,GACA,MAAA,IAAA8lC,IAAA,IAAAA,GAAAA,KAEA,MAAA,IAAAD,EAAA7lC,GAAA,sBCbA,SAAA7E,EAAAC,EAAAC,GACA,IAAAstB,EAAA5b,KAAA4b,IAAAtY,EAAAtD,KAAAsD,IASAhV,EAAA6T,MARA,WACA,MAAA,CACA8Q,KAAAtO,EAAAA,EACAuO,KAAAvO,EAAAA,EACAwO,MAAA,EAAA,EACAC,MAAA,EAAA,IAYA9kB,EAAA0qC,WARA,WACA,MAAA,CACA/lB,KAAAgR,OAAAgV,UACA/lB,MAAA,EAAA,EACAC,KAAAxO,EAAAA,EACAyO,KAAAzO,EAAAA,IAYArW,EAAA4qC,WARA,WACA,MAAA,CACAjmB,MAAA,EAAA,EACAC,KAAA+Q,OAAAgV,UACA9lB,KAAAxO,EAAAA,EACAyO,KAAAzO,EAAAA,IAYArW,EAAAwoC,MARA,SAAAp2B,EAAAuR,GACA,MAAA,CACAgB,KAAA2I,EAAAlb,EAAAuS,KAAAhB,EAAAgB,MACAE,KAAA7P,EAAA5C,EAAAyS,KAAAlB,EAAAkB,MACAD,KAAA0I,EAAAlb,EAAAwS,KAAAjB,EAAAiB,MACAE,KAAA9P,EAAA5C,EAAA0S,KAAAnB,EAAAmB,QAIA,IAAA6B,EAAA,WACA,SAAAA,EAAAzR,GACA,GAAA,MAAAA,EACA9S,KAAAwhB,GAAA,EACAxhB,KAAAyhB,GAAA,EACAzhB,KAAAihB,GAAA,EACAjhB,KAAAkhB,GAAA,OAEA,GAAA,OAAApO,EAAA,CACA,IAAApI,EAAAoI,EAAA0O,EAAA9W,EAAA8W,GAAAC,EAAA/W,EAAA+W,GAAAR,EAAAvW,EAAAuW,GAAAC,EAAAxW,EAAAwW,GACA,KAAAM,GAAAP,GAAAQ,GAAAP,GACA,MAAA,IAAA7iB,MAAA,qBAAAmjB,EAAA,SAAAC,EAAA,SAAAR,EAAA,SAAAC,EAAA,KACAlhB,KAAAwhB,GAAAA,EACAxhB,KAAAyhB,GAAAA,EACAzhB,KAAAihB,GAAAA,EACAjhB,KAAAkhB,GAAAA,OAEA,GAAA,MAAApO,EAAA,CACA,IAAA7H,EAAA6H,EAAA1E,EAAAnD,EAAAmD,KAAA2E,EAAA9H,EAAA+C,IAAAqB,EAAApE,EAAAoE,MAAAG,EAAAvE,EAAAuE,OACA,KAAAH,GAAA,GAAAG,GAAA,GACA,MAAA,IAAAnR,MAAA,uBAAA+P,EAAA,UAAA2E,EAAA,YAAA1D,EAAA,aAAAG,EAAA,KACAxP,KAAAwhB,GAAApT,EACApO,KAAAyhB,GAAA1O,EACA/S,KAAAihB,GAAA7S,EAAAiB,EACArP,KAAAkhB,GAAAnO,EAAAvD,MAEA,CACA,IACA4a,EADAhc,OAAA,EAAAE,OAAA,EACAJ,OAAA,EACA,GAAA,UAAA4E,EACA,GAAA,SAAAA,EACA1E,EAAA0E,EAAA1E,KACAE,EAAAF,EAAA0E,EAAAzD,WAEA,GAAA,UAAAyD,EACAxE,EAAAwE,EAAAxE,MACAF,EAAAE,EAAAwE,EAAAzD,UAEA,CACA,IAAAo5B,EAAA31B,EAAAzD,MAAA,EACAjB,EAAA0E,EAAA+R,QAAA4jB,EACAn6B,EAAAwE,EAAA+R,QAAA4jB,OAIAr6B,EAAA0E,EAAA1E,KACAE,EAAAwE,EAAAxE,MAEA,GAAA,WAAAwE,EACA,GAAA,QAAAA,EACAsX,EAAAtX,EAAA9E,IACAE,EAAAkc,EAAAtX,EAAAtD,YAEA,GAAA,WAAAsD,EACA5E,EAAA4E,EAAA5E,OACAkc,EAAAlc,EAAA4E,EAAAtD,WAEA,CACA,IAAAk5B,EAAA51B,EAAAtD,OAAA,EACA4a,EAAAtX,EAAAgS,QAAA4jB,EACAx6B,EAAA4E,EAAAgS,QAAA4jB,OAIAte,EAAAtX,EAAA9E,IACAE,EAAA4E,EAAA5E,OAEA,KAAAE,GAAAE,GAAA8b,GAAAlc,GACA,MAAA,IAAA7P,MAAA,uBAAA+P,EAAA,UAAAgc,EAAA,YAAA9b,EAAA,aAAAJ,EAAA,KACAlO,KAAAwhB,GAAApT,EACApO,KAAAyhB,GAAA2I,EACApqB,KAAAihB,GAAA3S,EACAtO,KAAAkhB,GAAAhT,GAgLA,OA7KAqW,EAAA3jB,UAAA2D,SAAA,WACA,MAAA,eAAAvE,KAAAoO,KAAA,UAAApO,KAAAgO,IAAA,YAAAhO,KAAAqP,MAAA,aAAArP,KAAAwP,OAAA,MAEAxQ,OAAAiU,eAAAsR,EAAA3jB,UAAA,OAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAwhB,IACAnO,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,OAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAyhB,IACApO,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,OAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAihB,IACA5N,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,OAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAkhB,IACA7N,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,OAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAwhB,IACAnO,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,MAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAyhB,IACApO,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,QAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAihB,IACA5N,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,SAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAkhB,IACA7N,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,KAAA,CACAsS,IAAA,WAAA,MAAA,CAAAlT,KAAAwhB,GAAAxhB,KAAAyhB,KACApO,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,KAAA,CACAsS,IAAA,WAAA,MAAA,CAAAlT,KAAAihB,GAAAjhB,KAAAkhB,KACA7N,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,IAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAwhB,IACAnO,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,IAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAyhB,IACApO,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,QAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAihB,GAAAjhB,KAAAwhB,IACAnO,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,SAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAkhB,GAAAlhB,KAAAyhB,IACApO,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,OAAA,CACAsS,IAAA,WAAA,MAAA,CAAA9E,KAAApO,KAAAoO,KAAAJ,IAAAhO,KAAAgO,IAAAqB,MAAArP,KAAAqP,MAAAG,OAAAxP,KAAAwP,SACA6D,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,UAAA,CACAsS,IAAA,WAAA,MAAA,CAAA6W,MAAA/pB,KAAAwhB,GAAAwI,IAAAhqB,KAAAihB,KACA5N,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,UAAA,CACAsS,IAAA,WAAA,MAAA,CAAA6W,MAAA/pB,KAAAyhB,GAAAuI,IAAAhqB,KAAAkhB,KACA7N,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,SAAA,CACAsS,IAAA,WAAA,MAAA,CAAAlT,KAAA2oC,QAAA3oC,KAAA4oC,UACAv1B,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,SAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAqP,MAAArP,KAAAwP,QACA6D,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,UAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAoO,KAAApO,KAAAsO,OAAA,GACA+E,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,UAAA,CACAsS,IAAA,WAAA,OAAAlT,KAAAgO,IAAAhO,KAAAkO,QAAA,GACAmF,YAAA,EACAC,cAAA,IAEAiR,EAAA3jB,UAAA4S,SAAA,SAAA/K,EAAAC,GACA,OAAAD,GAAAzI,KAAAwhB,IAAA/Y,GAAAzI,KAAAihB,IAAAvY,GAAA1I,KAAAyhB,IAAA/Y,GAAA1I,KAAAkhB,IAEAqD,EAAA3jB,UAAAioC,KAAA,SAAApgC,EAAAC,GASA,OARAD,EAAAzI,KAAAwhB,GACA/Y,EAAAzI,KAAAwhB,GACA/Y,EAAAzI,KAAAihB,KACAxY,EAAAzI,KAAAihB,IACAvY,EAAA1I,KAAAyhB,GACA/Y,EAAA1I,KAAAyhB,GACA/Y,EAAA1I,KAAAkhB,KACAxY,EAAA1I,KAAAkhB,IACA,CAAAzY,EAAAC,IAEA6b,EAAA3jB,UAAAwlC,MAAA,SAAA0C,GACA,OAAA,IAAAvkB,EAAA,CACA/C,GAAA0J,EAAAlrB,KAAAwhB,GAAAsnB,EAAAtnB,IACAC,GAAAyJ,EAAAlrB,KAAAyhB,GAAAqnB,EAAArnB,IACAR,GAAArO,EAAA5S,KAAAihB,GAAA6nB,EAAA7nB,IACAC,GAAAtO,EAAA5S,KAAAkhB,GAAA4nB,EAAA5nB,OAGAqD,EAAA3jB,UAAAmoC,OAAA,SAAAD,GACA,OAAA9oC,KAAAwhB,IAAAsnB,EAAAtnB,IAAAxhB,KAAAyhB,IAAAqnB,EAAArnB,IAAAzhB,KAAAihB,IAAA6nB,EAAA7nB,IAAAjhB,KAAAkhB,IAAA4nB,EAAA5nB,IAEAliB,OAAAiU,eAAAsR,EAAA3jB,UAAA,QAAA,CACAsS,IAAA,WACA,IAAApS,EAAAd,KACA,MAAA,CACAytB,QAAA,SAAAhlB,GACA,OAAA3H,EAAAsN,KAAA3F,GAEA6rB,UAAA,SAAA0U,GAGA,IAFA,IAAAC,EAAA,IAAA/V,aAAA8V,EAAA9nC,QACAkN,EAAAtN,EAAAsN,KACA6B,EAAA,EAAAA,EAAA+4B,EAAA9nC,OAAA+O,IACAg5B,EAAAh5B,GAAA7B,EAAA46B,EAAA/4B,GAEA,OAAAg5B,KAIA51B,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsR,EAAA3jB,UAAA,QAAA,CACAsS,IAAA,WACA,IAAApS,EAAAd,KACA,MAAA,CACAytB,QAAA,SAAA/kB,GACA,OAAA5H,EAAAoN,OAAAxF,GAEA4rB,UAAA,SAAA4U,GAGA,IAFA,IAAAC,EAAA,IAAAjW,aAAAgW,EAAAhoC,QACAgN,EAAApN,EAAAoN,OACA+B,EAAA,EAAAA,EAAAi5B,EAAAhoC,OAAA+O,IACAk5B,EAAAl5B,GAAA/B,EAAAg7B,EAAAj5B,GAEA,OAAAk5B,KAIA91B,YAAA,EACAC,cAAA,IAEAiR,EAxPA,GA0PA3mB,EAAA2mB,KAAAA,GChSA,SAAA7mB,EAAAC,EAAAC,GAIAA,EAAAwrC,MAHA,SAAAC,EAAAC,GACA,OAAAlnC,WAAAinC,EAAAC,IAGA,IAAAC,EAAA,mBAAAC,sBAAAA,sBAAAC,aAIA7rC,EAAAm+B,MAHA,SAAAsN,GACA,OAAAE,EAAAF,IAwCAzrC,EAAA8rC,SArCA,SAAAL,EAAAC,EAAAv/B,QACA,IAAAA,IACAA,EAAA,IAEA,IAAAkwB,EAAAU,EAAA5c,EACA4rB,EAAA,KACAC,EAAA,EACAC,EAAA,WACAD,GAAA,IAAA7/B,EAAA+/B,QAAA,EAAAC,KAAAC,MACAL,EAAA,KACA5rB,EAAAsrB,EAAA9hC,MAAA0yB,EAAAU,GACAgP,IACA1P,EAAAU,EAAA,OAEA,OAAA,WACA,IAAAqP,EAAAD,KAAAC,MACAJ,IAAA,IAAA7/B,EAAA+/B,UACAF,EAAAI,GACA,IAAAC,EAAAX,GAAAU,EAAAJ,GAgBA,OAfA3P,EAAAj6B,KACA26B,EAAAnzB,UACAyiC,GAAA,GAAAA,EAAAX,GACAK,IACAO,aAAAP,GACAA,EAAA,MAEAC,EAAAI,EACAjsB,EAAAsrB,EAAA9hC,MAAA0yB,EAAAU,GACAgP,IACA1P,EAAAU,EAAA,OAEAgP,IAAA,IAAA5/B,EAAAogC,WACAR,EAAAvnC,WAAAynC,EAAAI,IAEAlsB,IAeAngB,EAAAwsC,KAXA,SAAAf,GACA,IACAgB,EADAC,GAAA,EAEA,OAAA,WAKA,OAJAA,IACAA,GAAA,EACAD,EAAAhB,KAEAgB,KCxDA,SAAA3sC,EAAAC,EAAAC,GAkFAA,EAAA2sC,UAPA,SAAA9a,IA1EA,SAAAA,GACAA,EAAA+a,cACA/a,EAAA+a,YAAA,SAAAC,GACAhb,EAAAib,QAAAD,EACAhb,EAAAkb,eAAAF,IAGAhb,EAAAmb,cACAnb,EAAAmb,YAAA,WACA,OAAAnb,EAAAib,WAkEAG,CAAApb,GA9DA,SAAAA,GACAA,EAAAqb,kBAAA,SAAA/4B,GACA0d,EAAAsb,eAAAh5B,EACA0d,EAAAub,cAAAj5B,EACA0d,EAAAwb,qBAAAl5B,GAEA0d,EAAAyb,kBAAA,WACA,OAAAzb,EAAAub,eAwDAG,CAAA1b,GArDA,SAAAA,GACAA,EAAA2b,yBAAA,SAAAv/B,GACA4jB,EAAA4b,sBAAAx/B,EACA4jB,EAAA6b,yBAAAz/B,EACA4jB,EAAA8b,uBAAA1/B,EACA4jB,EAAA+b,4BAAA3/B,EACA4jB,EAAAgc,wBAAA5/B,GAEA4jB,EAAAic,yBAAA,WACA,IAAArvB,EAAAoT,EAAA4b,sBACA,OAAA,MAAAhvB,GAAAA,GA4CAsvB,CAAAlc,GAzCA,SAAAA,GACAA,EAAAmc,aAAA,MAAAnc,EAAAoc,mBACApc,EAAAoc,iBAAApc,EAAAmc,YACAnc,EAAAmc,YAAA,SAAA9oC,GACA,IAAAgpC,EAAArc,EAAAoc,iBAAA/oC,GAGA,OADAgpC,EAAAC,OAAA,IAAAtc,EAAAoc,iBAAA,KAAAx8B,MACAy8B,IAmCAE,CAAAvc,GA/BA,SAAAA,GAwBAA,EAAAwc,UACAxc,EAAAwc,QAtBA,SAAAxjC,EAAAC,EAAAwjC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,QACA,IAAAA,IACAA,GAAA,GAEA,IAAAzmB,EAAA,QACA2J,EAAA+c,UAAA/jC,EAAAC,GACA+mB,EAAAH,OAAA8c,GACA,IAAAK,EAAAP,EACAQ,EAAAP,EACAI,IACAE,GAAAP,EACAQ,GAAAP,GAEA1c,EAAAkd,QAAAF,EAAA,GACAhd,EAAAmd,eAAAH,EAAAC,EAAA5mB,GAAA2mB,EAAA3mB,EAAA4mB,EAAA,EAAAA,GACAjd,EAAAmd,cAAAH,EAAA3mB,EAAA4mB,EAAAD,EAAAC,EAAA5mB,EAAA2mB,EAAA,GACAhd,EAAAmd,cAAAH,GAAAC,EAAA5mB,EAAA2mB,EAAA3mB,GAAA4mB,EAAA,GAAAA,GACAjd,EAAAmd,eAAAH,EAAA3mB,GAAA4mB,GAAAD,GAAAC,EAAA5mB,GAAA2mB,EAAA,GACAhd,EAAAH,QAAA8c,GACA3c,EAAA+c,WAAA/jC,GAAAC,KAUAmkC,CAAApd,IAkBA7xB,EAAAkvC,gBAfA,SAAArd,EAAAsd,EAAAC,GACA,GAAA,OAAAA,EACA,OAAA,EACA,GAAAD,EAAA,CACA,IAAAE,EAAAj7B,OAAAk7B,kBAAA,EACAC,EAAA1d,EAAA2d,8BACA3d,EAAA4d,2BACA5d,EAAA6d,0BACA7d,EAAA8d,yBACA9d,EAAA+d,wBAAA,EACA,OAAAP,EAAAE,EAGA,OAAA,IChGA,SAAAzvC,EAAAC,EAAAC,GACA,IAAA6vC,EAAA/vC,EAAA,IACAkM,EAAAlM,EAAA,IAKA,SAAAgwC,EAAAnwB,GACA,IAAAowB,EAAApa,OAAAhW,GAAAhZ,SAAA,IACA,OAAA,GAAAopC,EAAAzsC,OAAA,IAAAysC,EAAAA,EASA,SAAAC,EAAAC,GAEA,GAAA,IADAA,GAAA,IACAlJ,QAAA,KACA,OAAAkJ,EACA,GAAAJ,EAAAK,aAAAD,GACA,OAAAJ,EAAAM,WAAAF,GACA,GAAA,GAAAA,EAAAlJ,QAAA,OAAA,CACA,IAAAqJ,EAAAH,EAAAI,QAAA,oBAAA,IAAAjiC,MAAA,KACAkiC,EAAAF,EAAAvJ,MAAA,EAAA,GAAAt6B,IAAAujC,GAAAvb,KAAA,IAGA,OAFA,GAAA6b,EAAA9sC,SACAgtC,GAAAR,EAAAp+B,KAAA64B,MAAA,IAAAv6B,WAAAogC,EAAA,OACA,IAAAE,EAAAzJ,MAAA,EAAA,GAGA,OAAAoJ,EAyBA,SAAAM,EAAAtiC,GACA,IAAAuiC,EACA,OAAAviC,EAAAwiC,UAAA,EAAA,IACA,IAAA,OACAD,EAAA,CAAArkB,MAAA,QAAAkd,IAAA,EAAAqH,OAAA,GACA,MAEA,IAAA,OACAF,EAAA,CAAArkB,MAAA,OAAAkd,IAAA,EAAAqH,OAAA,GACA,MAEA,QACA,OAAA,EAGA,GAAA,IAAAC,OAAA,iBAAAC,KAAA3iC,GACA,MAAA,IAAAxN,MAAA,8DAAAwN,GAEA,IAAA4iC,EAAA5iC,EAAAoiC,QAAAG,EAAArkB,MAAA,IAAAkkB,QAAA,IAAA,IAAAjiC,MAAA,KAAA7B,IAAAyD,YAEA,GAAA6gC,EAAAvtC,QAAAktC,EAAAnH,IACA,MAAA,IAAA5oC,MAAA,sBAAA+vC,EAAAnH,IAAA,oBAAAp7B,GAEA,GAAAuiC,EAAAE,SAAA,GAAAG,EAAA,IAAAA,EAAA,IAAA,GACA,MAAA,IAAApwC,MAAA,kEACA,GAAAuL,EAAAmqB,SAAA0a,EAAAhK,MAAA,EAAA,GAAAt6B,IAAA,SAAA6jC,GAAA,OAAA,GAAAA,GAAAA,GAAA,OAAA,GACA,MAAA,IAAA3vC,MAAA,qDACA,OAAA,EA9EAT,EAAAy1B,SAHA,SAAAxnB,GACA,OAAA4hC,EAAAK,aAAAjiC,EAAA6iC,gBAAA,KAAA7iC,EAAAwiC,UAAA,EAAA,IAAAF,EAAAtiC,IAaAjO,EAAA+wC,QANA,SAAA9oB,EAAA+oB,EAAArtB,GACA,IAAAstB,EAAAnB,EAAA,IAAA7nB,GACAipB,EAAApB,EAAA,IAAAkB,GACA9sB,EAAA4rB,EAAA,IAAAnsB,GACA,MAAA,IAAAstB,EAAAC,EAAAhtB,GAmBAlkB,EAAAgwC,UAAAA,EAsBAhwC,EAAAmxC,WArBA,SAAAlB,EAAAS,GAIA,QAHA,IAAAA,IACAA,EAAA,IAEAT,EACA,MAAA,CAAA,EAAA,EAAA,EAAA,GAEA,IAAAK,EAAAN,EAAAC,IACAK,EAAAA,EAAAD,QAAA,OAAA,KACA/sC,QAAA,IACAgtC,EAAAA,EAAAD,QAAA,OAAA,SAKA,IAFA,IAAAe,EAAAd,EAAAe,MAAA,OAAA9kC,IAAA,SAAA8F,GAAA,OAAAi/B,SAAAj/B,EAAA,IAAA,MAEA++B,EAAA9tC,OAAA,GACA8tC,EAAAhkC,KAAA,GAGA,OAFAgkC,EAAA9tC,OAAA,GACA8tC,EAAAhkC,KAAAsjC,GACAU,EAAAvK,MAAA,EAAA,IAgCA7mC,EAAAuwC,UAAAA,GCtFA,SAAAzwC,EAAAC,EAAAC,GACA,IACAuxC,EADAvxC,EAAAwxC,OACAD,EAAA,oBAAAE,UAAAA,UAAAC,UAAA,IACA3K,QAAA,SAAA,GAAAwK,EAAAxK,QAAA,WAAA,GAAAwK,EAAAxK,QAAA,QAAA,EAEA/mC,EAAA8iC,UACA,oBAAA1uB,SAAA,iBAAAA,QAAAq9B,UAAAE,eAAA,GAEA3xC,EAAA4xC,iBAAA,WACA,IAAAC,EAAA,IAAA9wB,YAAA,GACA+wB,EAAA,IAAAvb,WAAAsb,GACAE,EAAA,IAAAC,YAAAH,GACAE,EAAA,GAAA,UACA,IAAAE,GAAA,EAIA,OAHA,IAAAH,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,IAAA,IAAAA,EAAA,KACAG,GAAA,GAEAA,EATA,ICRA,SAAAnyC,EAAAC,EAAAC,GACA,IAAAgM,EAAAlM,EAAA,IACA+a,EAAA/a,EAAA,IACA0N,EAAA1N,EAAA,IACAoyC,EAAA,WACA,SAAAA,IACA9vC,KAAA+vC,MAAA,GAkDA,OAhDAD,EAAAlvC,UAAAovC,UAAA,SAAA3jC,GACA,OAAAA,KAAArM,KAAA+vC,MACA/vC,KAAA+vC,MAAA1jC,GAEA,MAEAyjC,EAAAlvC,UAAAqvC,UAAA,SAAA5jC,EAAAR,GAOA,IAAAqkC,EAAAlwC,KAAAgwC,UAAA3jC,GACA,MAAA6jC,EACAlwC,KAAA+vC,MAAA1jC,GAAAR,EAEAT,EAAAa,QAAAikC,GACAA,EAAAllC,KAAAa,GAGA7L,KAAA+vC,MAAA1jC,GAAA,CAAA6jC,EAAArkC,IAGAikC,EAAAlvC,UAAAuvC,aAAA,SAAA9jC,EAAAR,GACA,IAAAqkC,EAAAlwC,KAAAgwC,UAAA3jC,GACA,GAAAjB,EAAAa,QAAAikC,GAAA,CACA,IAAAE,EAAAxmC,EAAAM,WAAAgmC,EAAA,CAAArkC,IACAukC,EAAAlvC,OAAA,EACAlB,KAAA+vC,MAAA1jC,GAAA+jC,SAEApwC,KAAA+vC,MAAA1jC,QAEAoM,EAAA6D,QAAA4zB,EAAArkC,WACA7L,KAAA+vC,MAAA1jC,IAGAyjC,EAAAlvC,UAAAyvC,QAAA,SAAAhkC,EAAAikC,GACA,IAAAJ,EAAAlwC,KAAAgwC,UAAA3jC,GACA,GAAAjB,EAAAa,QAAAikC,GAAA,CACA,GAAA,IAAAA,EAAAhvC,OACA,OAAAgvC,EAAA,GAEA,MAAA,IAAA7xC,MAAAiyC,GAGA,OAAAJ,GAEAJ,EApDA,GAsDAlyC,EAAAkyC,UAAAA,EACA,IAAAjU,EAAA,WACA,SAAAA,EAAArhB,GACA,GAAA,MAAAA,EACAxa,KAAAuwC,QAAA,QACA,GAAA/1B,aAAAqhB,EACA77B,KAAAuwC,QAAA3mC,EAAA2Q,KAAAC,EAAA+1B,aACA,CACAvwC,KAAAuwC,QAAA,GACA,IAAA,IAAAnmC,EAAA,EAAAomC,EAAAh2B,EAAApQ,EAAAomC,EAAAtvC,OAAAkJ,IAAA,CACA,IAAAxC,EAAA4oC,EAAApmC,GACApK,KAAA4L,IAAAhE,KAyEA,OArEA5I,OAAAiU,eAAA4oB,EAAAj7B,UAAA,SAAA,CACAsS,IAAA,WACA,OAAAtJ,EAAA2Q,KAAAva,KAAAuwC,SAAAvK,QAEA3yB,YAAA,EACAC,cAAA,IAEAuoB,EAAAj7B,UAAA2D,SAAA,WACA,MAAA,QAAAvE,KAAAmT,OAAAgf,KAAA,KAAA,MAEAnzB,OAAAiU,eAAA4oB,EAAAj7B,UAAA,OAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAuwC,QAAArvC,QAEAmS,YAAA,EACAC,cAAA,IAEAuoB,EAAAj7B,UAAA2S,IAAA,SAAA3L,GACA,OAAA,IAAA5H,KAAAuwC,QAAA5L,QAAA/8B,IAEAi0B,EAAAj7B,UAAAgL,IAAA,SAAAhE,GACA5H,KAAAuT,IAAA3L,IACA5H,KAAAuwC,QAAAvlC,KAAApD,IAEAi0B,EAAAj7B,UAAA0J,OAAA,SAAA1C,GACA,IAAAqI,EAAAjQ,KAAAuwC,QAAA5L,QAAA/8B,IACA,IAAAqI,GACAjQ,KAAAuwC,QAAA5J,OAAA12B,EAAA,IAEA4rB,EAAAj7B,UAAAiT,OAAA,SAAAjM,GACA,IAAAqI,EAAAjQ,KAAAuwC,QAAA5L,QAAA/8B,IACA,IAAAqI,EACAjQ,KAAAuwC,QAAAvlC,KAAApD,GAEA5H,KAAAuwC,QAAA5J,OAAA12B,EAAA,IAEA4rB,EAAAj7B,UAAAgT,MAAA,WACA5T,KAAAuwC,QAAA,IAEA1U,EAAAj7B,UAAAwlC,MAAA,SAAA/1B,GAEA,OADAA,EAAA,IAAAwrB,EAAAxrB,GACA,IAAAwrB,EAAA77B,KAAAuwC,QAAA5gC,OAAAU,EAAAkgC,WAEA1U,EAAAj7B,UAAA6vC,UAAA,SAAApgC,GACAA,EAAA,IAAAwrB,EAAAxrB,GAEA,IADA,IAAAqgC,EAAA,IAAA7U,EACAzxB,EAAA,EAAAM,EAAA2F,EAAAkgC,QAAAnmC,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAxC,EAAA8C,EAAAN,GACApK,KAAAuT,IAAA3L,IAAAyI,EAAAkD,IAAA3L,IACA8oC,EAAA9kC,IAAAhE,GAEA,OAAA8oC,GAEA7U,EAAAj7B,UAAA+vC,KAAA,SAAAtgC,GACAA,EAAA,IAAAwrB,EAAAxrB,GAEA,IADA,IAAAqgC,EAAA,IAAA7U,EACAzxB,EAAA,EAAAM,EAAA1K,KAAAuwC,QAAAnmC,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAxC,EAAA8C,EAAAN,GACAiG,EAAAkD,IAAA3L,IACA8oC,EAAA9kC,IAAAhE,GAEA,OAAA8oC,GAEA7U,EAAAj7B,UAAAq7B,QAAA,SAAAjoB,EAAA48B,GACA,IAAA,IAAAxmC,EAAA,EAAAM,EAAA1K,KAAAuwC,QAAAnmC,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyB,EAAAnB,EAAAN,GACA4J,EAAAnM,KAAA+oC,GAAA5wC,KAAA6L,EAAAA,EAAA7L,QAGA67B,EAnFA,GAqFAj+B,EAAAi+B,IAAAA,EACA,IAAAgV,EAAA,WACA,SAAAA,EAAAtpB,EAAAC,EAAAmL,GACA3yB,KAAAunB,MAAAA,EACAvnB,KAAAwnB,MAAAA,EACAxnB,KAAA8wC,QAAA,IAAArhC,MAAA8X,GACA,IAAA,IAAA7e,EAAA,EAAAA,EAAA6e,EAAA7e,IAAA,CACA1I,KAAA8wC,QAAApoC,GAAA,IAAA+G,MAAA+X,GACA,IAAA,IAAA/e,EAAA,EAAAA,EAAA+e,EAAA/e,IACAzI,KAAA8wC,QAAApoC,GAAAD,GAAAkqB,EAAAjqB,EAAAD,IAuCA,OAnCAooC,EAAAjwC,UAAAglB,GAAA,SAAAM,EAAAC,GACA,OAAAnmB,KAAA8wC,QAAA5qB,GAAAC,IAEA0qB,EAAAjwC,UAAAuJ,IAAA,SAAA6J,GACA,IAAAlT,EAAAd,KACA,OAAA,IAAA6wC,EAAA7wC,KAAAunB,MAAAvnB,KAAAwnB,MAAA,SAAAtB,EAAAC,GAAA,OAAAnS,EAAAlT,EAAA8kB,GAAAM,EAAAC,GAAAD,EAAAC,MAEA0qB,EAAAjwC,UAAA2G,MAAA,SAAAiT,GACA,IAAA1Z,EAAAd,KACAgU,EAAA68B,EAAAnhC,KAAA8K,GACA+M,EAAAvnB,KAAAunB,MAAAC,EAAAxnB,KAAAwnB,MACA,GAAAD,GAAAvT,EAAAuT,OAAAC,GAAAxT,EAAAwT,MACA,OAAA,IAAAqpB,EAAAtpB,EAAAC,EAAA,SAAAtB,EAAAC,GAAA,OAAAnS,EAAA4R,GAAAM,EAAAC,EAAAnS,CAAAlT,EAAA8kB,GAAAM,EAAAC,GAAAD,EAAAC,KAEA,MAAA,IAAA9nB,MAAA,2BAEAwyC,EAAAjwC,UAAAmwC,UAAA,WAEA,IADA,IAAAzqB,EAAA,GACA5d,EAAA,EAAAA,EAAA1I,KAAAunB,MAAA7e,IACA,IAAA,IAAAD,EAAA,EAAAA,EAAAzI,KAAAwnB,MAAA/e,IAAA,CACA,IAAAoD,EAAA7L,KAAA8wC,QAAApoC,GAAAD,GACA6d,EAAAtb,KAAA,CAAAa,EAAAnD,EAAAD,IAGA,OAAA6d,GAEAuqB,EAAAnhC,KAAA,SAAA8K,GACA,GAAAA,aAAAq2B,EACA,OAAAr2B,EAEA,IAAA+M,EAAA/M,EAAAtZ,OACAsmB,EAAA5d,EAAAshB,IAAA1Q,EAAArQ,IAAA,SAAA+b,GAAA,OAAAA,EAAAhlB,UACA,OAAA,IAAA2vC,EAAAtpB,EAAAC,EAAA,SAAAtB,EAAAC,GAAA,OAAA3L,EAAA0L,GAAAC,MAGA0qB,EA/CA,GAiDAjzC,EAAAizC,OAAAA,GClMA,SAAAnzC,EAAAC,EAAAC,GACA,IAAAwN,EAAA1N,EAAA,IACA6G,EAAAvF,OAAA4B,UAAA2D,SAqGA3G,EAAA0e,QAHA,SAAAtM,EAAAuR,GACA,OAjGA,SAAAyvB,EAAAhhC,EAAAuR,EAAA0vB,EAAAC,GAGA,GAAAlhC,IAAAuR,EACA,OAAA,IAAAvR,GAAA,EAAAA,GAAA,EAAAuR,EAEA,GAAA,MAAAvR,GAAA,MAAAuR,EACA,OAAAvR,IAAAuR,EAEA,IAAA4vB,EAAA5sC,EAAAsD,KAAAmI,GACA,GAAAmhC,IAAA5sC,EAAAsD,KAAA0Z,GACA,OAAA,EACA,OAAA4vB,GAEA,IAAA,kBAEA,IAAA,kBAGA,MAAA,GAAAnhC,GAAA,GAAAuR,EACA,IAAA,kBAGA,OAAAvR,IAAAA,GACAuR,IAAAA,EAEA,IAAAvR,EAAA,GAAAA,GAAA,EAAAuR,GAAAvR,IAAAuR,EACA,IAAA,gBACA,IAAA,mBAIA,OAAAvR,IAAAuR,EAEA,IAAA6vB,EAAA,mBAAAD,EACA,IAAAC,EAAA,CACA,GAAA,iBAAAphC,GAAA,iBAAAuR,EACA,OAAA,EAGA,IAAA8vB,EAAArhC,EAAA+L,YAAAu1B,EAAA/vB,EAAAxF,YACA,GAAAs1B,IAAAC,KAAAlmC,EAAAiP,WAAAg3B,IAAAA,aAAAA,GACAjmC,EAAAiP,WAAAi3B,IAAAA,aAAAA,IACA,gBAAAthC,GAAA,gBAAAuR,EACA,OAAA,EAQA2vB,EAAAA,GAAA,GAEA,IADA,IAAAhwC,GAFA+vC,EAAAA,GAAA,IAEA/vC,OACAA,KAGA,GAAA+vC,EAAA/vC,KAAA8O,EACA,OAAAkhC,EAAAhwC,KAAAqgB,EAMA,GAHA0vB,EAAAjmC,KAAAgF,GACAkhC,EAAAlmC,KAAAuW,GAEA6vB,EAAA,CAGA,IADAlwC,EAAA8O,EAAA9O,UACAqgB,EAAArgB,OACA,OAAA,EAEA,KAAAA,KACA,IAAA8vC,EAAAhhC,EAAA9O,GAAAqgB,EAAArgB,GAAA+vC,EAAAC,GACA,OAAA,MAGA,CAEA,IAAAjyC,EAAAD,OAAAC,KAAA+Q,GACA3D,OAAA,EAGA,GAFAnL,EAAAjC,EAAAiC,OAEAlC,OAAAC,KAAAsiB,GAAArgB,SAAAA,EACA,OAAA,EACA,KAAAA,KAGA,GADAmL,EAAApN,EAAAiC,IACAqgB,EAAA3iB,eAAAyN,KAAA2kC,EAAAhhC,EAAA3D,GAAAkV,EAAAlV,GAAA4kC,EAAAC,GACA,OAAA,EAMA,OAFAD,EAAAM,MACAL,EAAAK,OACA,EAIAP,CAAAhhC,EAAAuR,KCrGA,SAAA7jB,EAAAC,EAAAC,GACA,SAAA4zC,EAAAlwB,GACA,KAAAA,EAAA,GACAA,GAAA,EAAAhS,KAAA0e,GAEA,KAAA1M,EAAA,EAAAhS,KAAA0e,IACA1M,GAAA,EAAAhS,KAAA0e,GAEA,OAAA1M,EAGA,SAAAmwB,EAAAC,EAAAC,GACA,OAAAriC,KAAAsd,IAAA4kB,EAAAE,EAAAC,IAYA,SAAAC,IACA,OAAAtiC,KAAAsiC,SAfAh0C,EAAA4zC,WAAAA,EAIA5zC,EAAA6zC,WAAAA,EASA7zC,EAAAi0C,cARA,SAAA3J,EAAAwJ,EAAAC,EAAA7S,GACA,IAAAgT,EAAAL,EAAAC,EAAAC,GACA,GAAA,GAAAG,EACA,OAAA,EACA,IAAAC,EAAAP,EAAAtJ,GACA8J,EAAAP,EAAAC,EAAAK,IAAAD,GAAAL,EAAAM,EAAAJ,IAAAG,EACA,OAAA,GAAAhT,EAAAkT,GAAAA,GAMAp0C,EAAAg0C,OAAAA,EAQAh0C,EAAAmpC,SAPA,SAAA7b,EAAAtY,GAKA,OAJA,MAAAA,IACAA,EAAAsY,EACAA,EAAA,GAEAA,EAAA5b,KAAA64B,MAAA74B,KAAAsiC,UAAAh/B,EAAAsY,EAAA,KAUAttB,EAAAq0C,MAPA,SAAAloB,EAAAC,GAKA,OAAA1a,KAAA2iC,MAAAjoB,EAAA,GAAAD,EAAA,GAAAC,EAAA,GAAAD,EAAA,KAoBAnsB,EAAAs0C,MAhBA,SAAAC,EAAAC,GAIA,IAFA,IAAA1sB,EACA2sB,EAEA3sB,EAAAksB,IAEAS,GAAA,GADAA,EAAAT,KACA,GAAAtiC,KAAAsT,KAAA,EAAAtT,KAAAgjC,EAAA,MACA,EAAA5sB,EAAAA,EAAApW,KAAA0iB,IAAAtM,IAAA2sB,EAAAA,KAGA,IAAAE,EAAAF,EAAA3sB,EAGA,OADA6sB,EAAAJ,EAAAC,EAAAG,GAWA30C,EAAA40C,MAPA,SAAAn2B,EAAA6O,EAAAtY,GACA,OAAAyJ,EAAAzJ,EACAA,EACAyJ,EAAA6O,EACAA,EACA7O,ICnEA,SAAA3e,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAkM,EAAAlM,EAAA,IAYA,SAAAm6B,EAAA4a,EAAAC,GACA,OAAA7rC,EAAAiB,SAAA2qC,EAAAC,GAsBA,SAAAxjC,EAAAsL,GACA,OAAAxb,OAAAC,KAAAub,GAAAtZ,OAnCAtD,EAAAqB,KAAAD,OAAAC,KAUArB,EAAAuV,OATA,SAAAw/B,GAIA,IAHA,IAAA1zC,EAAAD,OAAAC,KAAA0zC,GACAzxC,EAAAjC,EAAAiC,OACAiS,EAAA,IAAA1D,MAAAvO,GACA+O,EAAA,EAAAA,EAAA/O,EAAA+O,IACAkD,EAAAlD,GAAA0iC,EAAA1zC,EAAAgR,IAEA,OAAAkD,GAMAvV,EAAAi6B,OAAAA,EAIAj6B,EAAAK,MAHA,SAAAuc,GACA,OAAAqd,EAAA,GAAArd,IAiBA5c,EAAAg1C,MAdA,SAAAC,EAAAC,GAMA,IAFA,IAAA/0B,EAAA/e,OAAAiE,OAAAjE,OAAA4B,WACA3B,EAAA2K,EAAA+F,OAAA,CAAA3Q,OAAAC,KAAA4zC,GAAA7zC,OAAAC,KAAA6zC,KACA1oC,EAAA,EAAA2oC,EAAA9zC,EAAAmL,EAAA2oC,EAAA7xC,OAAAkJ,IAAA,CACA,IAAAiC,EAAA0mC,EAAA3oC,GACA4oC,EAAAH,EAAAj0C,eAAAyN,GAAAwmC,EAAAxmC,GAAA,GACA4mC,EAAAH,EAAAl0C,eAAAyN,GAAAymC,EAAAzmC,GAAA,GACA0R,EAAA1R,GAAAzC,EAAAw8B,MAAA4M,EAAAC,GAEA,OAAAl1B,GAMAngB,EAAAsR,KAAAA,EAIAtR,EAAA8e,QAHA,SAAAlC,GACA,OAAA,IAAAtL,EAAAsL,KC1CA,SAAA9c,EAAAC,EAAAC,GACA,IAAAs1C,EAAAx1C,EAAA,KACAy1C,EAAAz1C,EAAA,KACA01C,EAAA,IAAAD,EAAA,UACAE,EAAA,IAAAF,EAAA,SACAv1C,EAAA01C,eAAAJ,EAAAG,EAAAD,GACA,IAAAG,EAAA,CACAC,IAAA,EAAA,YAAA,aACAC,IAAA,EAAA,WAAA,aAEAC,EAAA,CACAF,IAAA,EAAA,IAAA,KACAC,IAAA,EAAA,MAAA,QAWA,SAAAE,EAAAlrC,EAAAC,GAIA,IAHA,IAAA48B,EAAAh2B,KAAA4b,IAAAziB,EAAAvH,OAAAwH,EAAAxH,QACA0yC,EAAA,IAAAnkC,MAAA61B,GACAuO,EAAA,IAAApkC,MAAA61B,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IAAA,CACA,IAAAvF,EAAA9M,EAAA01C,eAAAQ,QAAA,CAAArrC,EAAAwH,GAAAvH,EAAAuH,KAAA8jC,EAAArpC,EAAA,GAAAspC,EAAAtpC,EAAA,GACAkpC,EAAA3jC,GAAA8jC,EACAF,EAAA5jC,GAAA+jC,EAEA,MAAA,CAAAJ,EAAAC,GAdAj2C,EAAAq2C,cAJA,SAAAjM,EAAAC,EAAAiM,GACA,IAAAxpC,EAAA6oC,EAAAW,GAAAhpB,EAAAxgB,EAAA,GAAAkI,EAAAlI,EAAA,GACA,MAAA,CAAA4E,KAAAsD,IAAAo1B,EAAA9c,GAAA5b,KAAA4b,IAAA+c,EAAAr1B,KAMAhV,EAAAu2C,UAHA,SAAAtoC,EAAAqoC,GACA,OAAAroC,EAAA6nC,EAAAQ,GAAA,IAAAroC,EAAA6nC,EAAAQ,GAAA,IAcAt2C,EAAA+1C,WAAAA,EAYA/1C,EAAAw2C,aAXA,SAAAC,EAAAC,GAIA,IAHA,IAAAhP,EAAAh2B,KAAA4b,IAAAmpB,EAAAnzC,OAAAozC,EAAApzC,QACAqzC,EAAA,IAAA9kC,MAAA61B,GACAkP,EAAA,IAAA/kC,MAAA61B,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IAAA,CACA,IAAAvF,EAAAipC,EAAAU,EAAApkC,GAAAqkC,EAAArkC,IAAA2jC,EAAAlpC,EAAA,GAAAmpC,EAAAnpC,EAAA,GACA6pC,EAAAtkC,GAAA2jC,EACAY,EAAAvkC,GAAA4jC,EAEA,MAAA,CAAAU,EAAAC,KC5CA,SAAA92C,EAAAC,EAAAC,GACA,IAAAwN,EAAA1N,EAAA,IAiBAE,EAAAkf,WAVA,SAAAtC,GACA,IAAAqC,EAAA,CACAtD,KAAAiB,EAAAjB,KACA3Z,GAAA4a,EAAA5a,IAKA,OAHA,MAAA4a,EAAA7B,WACAkE,EAAAG,QAAAxC,EAAA7B,UAEAkE,GAqBAjf,EAAAqgB,OAVA,SAAAiiB,GACA,GAAA90B,EAAAkP,SAAA4lB,GAAA,CACA,IAAAjhC,EAAAD,OAAAC,KAAAihC,GAAA8F,OACA,GAAA,GAAA/mC,EAAAiC,OACA,MAAA,MAAAjC,EAAA,IAAA,QAAAA,EAAA,GACA,GAAA,GAAAA,EAAAiC,OACA,MAAA,MAAAjC,EAAA,IAAA,WAAAA,EAAA,IAAA,QAAAA,EAAA,GAEA,OAAA,ICnCA,SAAAvB,EAAAC,EAAAC,GACA,IAAAwN,EAAA1N,EAAA,IACA2+B,EAAA3+B,EAAA,IAwCA,SAAA+2C,EAAAzkC,GAEA,IADA,IAAAvH,EAAA,IAAA0rB,WAAAnkB,EAAA0O,OAAA1O,EAAA0kC,WAAA,EAAA1kC,EAAA9O,QACA+O,EAAA,EAAA+Z,EAAAvhB,EAAAvH,OAAA+O,EAAA+Z,EAAA/Z,GAAA,EAAA,CACA,IAAA0Q,EAAAlY,EAAAwH,GACAxH,EAAAwH,GAAAxH,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAA0Q,GAIA,SAAAg0B,EAAA3kC,GAEA,IADA,IAAAvH,EAAA,IAAA0rB,WAAAnkB,EAAA0O,OAAA1O,EAAA0kC,WAAA,EAAA1kC,EAAA9O,QACA+O,EAAA,EAAA+Z,EAAAvhB,EAAAvH,OAAA+O,EAAA+Z,EAAA/Z,GAAA,EAAA,CACA,IAAA0Q,EAAAlY,EAAAwH,GACAxH,EAAAwH,GAAAxH,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAA0Q,EACAA,EAAAlY,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAAxH,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAA0Q,GAIA,SAAAi0B,EAAA5kC,GAEA,IADA,IAAAvH,EAAA,IAAA0rB,WAAAnkB,EAAA0O,OAAA1O,EAAA0kC,WAAA,EAAA1kC,EAAA9O,QACA+O,EAAA,EAAA+Z,EAAAvhB,EAAAvH,OAAA+O,EAAA+Z,EAAA/Z,GAAA,EAAA,CACA,IAAA0Q,EAAAlY,EAAAwH,GACAxH,EAAAwH,GAAAxH,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAA0Q,EACAA,EAAAlY,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAAxH,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAA0Q,EACAA,EAAAlY,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAAxH,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAA0Q,EACAA,EAAAlY,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAAxH,EAAAwH,EAAA,GACAxH,EAAAwH,EAAA,GAAA0Q,GAIA,SAAAk0B,EAAAC,EAAAluC,GAIA,IAHA,IAAAmuC,EAAAD,EAAAE,QAAAp3C,EAAAq3C,WACAC,EAAAJ,EAAAI,MACAC,EAAA,KACA/qC,EAAA,EAAAgrC,EAAAxuC,EAAAwD,EAAAgrC,EAAAl0C,OAAAkJ,IAAA,CACA,IAAAqlC,EAAA2F,EAAAhrC,GACAirC,EAAArvC,KAAAsvC,MAAA7F,EAAA,IACA,GAAA4F,EAAAz1C,KAAAk1C,EAAAS,WAAA,CACAJ,EAAA1F,EAAA,GACA,OAGA,IAAA+F,EAAA,IAAA53C,EAAA63C,YAAAX,EAAAY,OAAAP,GAYA,OAXAJ,IACA,IAAAS,EAAAG,kBACAlB,EAAAe,GAEA,IAAAA,EAAAG,kBACAhB,EAAAa,GAEA,IAAAA,EAAAG,mBACAf,EAAAY,IAGA,CAAAA,EAAAN,GAGA,SAAAU,EAAAp7B,EAAA5T,GACA,OAAAwE,EAAAkP,SAAAE,IAAA,gBAAAA,EACAq7B,EAAAr7B,GACApP,EAAAkP,SAAAE,IAAA,eAAAA,EACAq6B,EAAAr6B,EAAA5T,GACAwE,EAAAa,QAAAuO,IAAApP,EAAA0qC,aAAAt7B,GACA,CAAAA,EAAA,SAEA,EAGA,SAAAu7B,EAAAr3B,GACA,IAAAy2B,EAAA,IAAAhhB,WAAAzV,GACAs3B,EAAAvmC,MAAAC,KAAAylC,GAAAhrC,IAAA,SAAAoX,GAAA,OAAAoS,OAAAsiB,aAAA10B,KACA,OAAA20B,KAAAF,EAAA7jB,KAAA,KAGA,SAAAgkB,EAAAC,GAIA,IAHA,IAAAC,EAAAC,KAAAF,GACAnP,EAAAoP,EAAAn1C,OACAi0C,EAAA,IAAAhhB,WAAA8S,GACAh3B,EAAA,EAAA+Z,EAAAid,EAAAh3B,EAAA+Z,EAAA/Z,IACAklC,EAAAllC,GAAAomC,EAAAE,WAAAtmC,GAEA,OAAAklC,EAAAz2B,OAGA,SAAAm3B,EAAAxlC,GACA,IAAA8kC,EAAAgB,EAAA9lC,EAAAmmC,aACAd,EAAArlC,EAAAqlC,MACAR,EAAA7kC,EAAA6kC,MAEA,KAAAQ,KAAA93C,EAAA63C,aAGA,MAAA,IAAAp3C,MAAA,kBAAAq3C,GACA,MAAA,CAHA,IAAA93C,EAAA63C,YAAAC,GAAAP,GAGAD,GAGA,SAAAuB,EAAA32B,EAAAo1B,GACA,IAEAQ,EAFAgB,EAAAX,EAAAj2B,EAAApB,QACAvgB,EA9HA,SAAA2hB,GACA,GAAA,SAAAA,EAAA/D,YACA,OAAA+D,EAAA/D,YAAA5d,KAEA,QAAA,GACA,KAAA2hB,aAAAqU,WAAA,MAAA,aACA,KAAArU,aAAA62B,UAAA,MAAA,YACA,KAAA72B,aAAA82B,YAAA,MAAA,cACA,KAAA92B,aAAA+2B,WAAA,MAAA,aACA,KAAA/2B,aAAA8vB,YAAA,MAAA,cACA,KAAA9vB,aAAAg3B,WAAA,MAAA,aACA,KAAAh3B,aAAAi3B,aAAA,MAAA,eACA,KAAAj3B,aAAAoT,aAAA,MAAA,eACA,QACA,MAAA,IAAA70B,MAAA,4BAgHA24C,CAAAl3B,GAEA,KAAA3hB,KAAAP,EAAAq5C,QAGA,MAAA,IAAA54C,MAAA,uBAAAF,GAFAu3C,EAAA93C,EAAAq5C,OAAA94C,GAGA,IAAAiG,EAAA,CACAoyC,YAAAE,EACAxB,MAAAA,EACAQ,MAAAA,GAEA,OAAAtxC,EAGA,SAAA8yC,EAAA35B,EAAA3W,GAEA,GAAA,GAAA2W,EAAArc,SAAAkK,EAAAkP,SAAAiD,EAAA,MAAAnS,EAAAa,QAAAsR,EAAA,IACA,MAAA,CAAAA,EAAA,IAIA,IAFA,IAAAmnB,EAAA,GACAyS,EAAA,GACA/sC,EAAA,EAAAgU,EAAAb,EAAAnT,EAAAgU,EAAAld,OAAAkJ,IAAA,CACA,IAAAoQ,EAAA4D,EAAAhU,GACAM,EAAAU,EAAAa,QAAAuO,GAAA08B,EAAA18B,EAAA5T,GACAgvC,EAAAp7B,EAAA5T,GAAA4uC,EAAA9qC,EAAA,GAAAwqC,EAAAxqC,EAAA,GACAg6B,EAAA15B,KAAAwqC,GACA2B,EAAAnsC,KAAAkqC,GAGA,IAAAkC,EAAAD,EAAAhtC,IAAA,SAAA+qC,GAAA,OAAAA,EAAAzqC,OAAA,SAAA8S,GAAA,OAAA,GAAAA,EAAArc,WACA,MAAA,CAAAwjC,EAAA0S,GAgCA,SAAAC,EAAA95B,EAAA45B,GAEA,IADA,IAAA/G,EAAA,GACAngC,EAAA,EAAA+Z,EAAAzM,EAAArc,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAArI,EAAA2V,EAAAtN,GACA,GAAA7E,EAAA0qC,aAAAluC,GAAA,CACA,IAAAstC,EAAAiC,EAAAlnC,GAAAknC,EAAAlnC,QAAA2I,EACAw3B,EAAAplC,KAAAyrC,EAAA7uC,EAAAstC,SAEA9pC,EAAAa,QAAArE,GACAwoC,EAAAplC,KAAAqsC,EAAAzvC,EAAAuvC,EAAAA,EAAAlnC,GAAA,KAGAmgC,EAAAplC,KAAApD,GAEA,OAAAwoC,EA9NAxyC,EAAA63C,YAAA,CACA6B,MAAAnjB,WACAojB,KAAAZ,UACAa,OAAAZ,YACAa,MAAAZ,WACAa,OAAA9H,YACA+H,MAAAb,WACAc,QAAAb,aACAc,QAAA3kB,cAEAt1B,EAAAq5C,OAAA,CACA9iB,WAAA,QACAwiB,UAAA,OACAC,YAAA,SACAC,WAAA,QACAjH,YAAA,SACAkH,WAAA,QACAC,aAAA,UACA7jB,aAAA,WAoBAt1B,EAAAq3C,WAAA5Y,EAAAmT,iBAAA,SAAA,MASA5xC,EAAA62C,OAAAA,EAYA72C,EAAA+2C,OAAAA,EAkBA/2C,EAAAg3C,OAAAA,EA2BAh3C,EAAAi3C,eAAAA,EAWAj3C,EAAAg4C,cAAAA,EAMAh4C,EAAAm4C,oBAAAA,EAUAn4C,EAAAu4C,oBAAAA,EAYAv4C,EAAAi4C,cAAAA,EAgBAj4C,EAAA64C,cAAAA,EAgDA74C,EAAAk6C,mBA7BA,SAAA1zC,EAAAwC,QACA,IAAAA,IACAA,EAAA,IAEA,IAAAmxC,EAAA,GACAC,EAAA,GACA,IAAA,IAAA15B,KAAAla,EAAA,CAEA,IAAAmZ,EAAAnZ,EAAAka,GACA,GAAAlT,EAAAa,QAAAsR,GAAA,CAEA,GAAA,GAAAA,EAAArc,SAAAkK,EAAAkP,SAAAiD,EAAA,MAAAnS,EAAAa,QAAAsR,EAAA,IAAA,CACAw6B,EAAAz5B,GAAAf,EACA,SAGA,IAAA7S,EAAAwsC,EAAA35B,EAAA3W,GAAA89B,EAAAh6B,EAAA,GAAAysC,EAAAzsC,EAAA,GACAqtC,EAAAz5B,GAAAomB,EACAsT,EAAA15B,GAAA64B,MAGA,CACA,IAAAlsC,EAAA2qC,EAAAr4B,EAAA3W,GAAA4uC,EAAAvqC,EAAA,GAAAiqC,EAAAjqC,EAAA,GACA8sC,EAAAz5B,GAAAk3B,EACAwC,EAAA15B,GAAA42B,GAGA,MAAA,CAAA6C,EAAAC,IAqCAp6C,EAAAq6C,mBAlBA,SAAA7zC,EAAA+yC,GACA,IAAAY,EAAA,GACA,IAAA,IAAAz5B,KAAAla,EAAA,CACA,IAAAmZ,EAAAnZ,EAAAka,GACA45B,EAAA,MAAAf,EAAAA,EAAA74B,QAAA1F,EACAu/B,OAAA,EAEAA,EADA/sC,EAAA0qC,aAAAv4B,GACAk5B,EAAAl5B,EAAA26B,GAEA9sC,EAAAa,QAAAsR,GACA85B,EAAA95B,EAAA26B,GAAA,IAGA36B,EACAw6B,EAAAz5B,GAAA65B,EAEA,OAAAJ,ICnPA,SAAAr6C,EAAAC,EAAAC,GACA,IAAAw6C,EAAA16C,EAAA,KACAimB,EAAAjmB,EAAA,IACA26C,EAAA,WACA,SAAAA,EAAAC,GAGA,GAFAt4C,KAAAs4C,OAAAA,EACAt4C,KAAA+/B,MAAA,KACAuY,EAAAp3C,OAAA,EAAA,CACAlB,KAAA+/B,MAAA,IAAAqY,EAAAE,EAAAp3C,QACA,IAAA,IAAAkJ,EAAA,EAAAmuC,EAAAD,EAAAluC,EAAAmuC,EAAAr3C,OAAAkJ,IAAA,CACA,IAAAiD,EAAAkrC,EAAAnuC,GACAmY,EAAAlV,EAAAkV,KAAAC,EAAAnV,EAAAmV,KAAAC,EAAApV,EAAAoV,KAAAC,EAAArV,EAAAqV,KACA1iB,KAAA+/B,MAAAn0B,IAAA2W,EAAAC,EAAAC,EAAAC,GAEA1iB,KAAA+/B,MAAAyY,UAwCA,OArCAH,EAAAz3C,UAAA63C,WAAA,SAAAtpC,GACA,IAAAzE,EAAAO,EACAsX,EAAApT,EAAAoT,KAAAC,EAAArT,EAAAqT,KAAAC,EAAAtT,EAAAsT,KAAAC,EAAAvT,EAAAuT,KAKA,OAJAH,EAAAE,IACAF,GAAA7X,EAAA,CAAA+X,EAAAF,IAAA,GAAAE,EAAA/X,EAAA,IACA8X,EAAAE,IACAF,GAAAvX,EAAA,CAAAyX,EAAAF,IAAA,GAAAE,EAAAzX,EAAA,IACA,CAAAsX,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,IAEA1jB,OAAAiU,eAAAolC,EAAAz3C,UAAA,OAAA,CACAsS,IAAA,WACA,GAAA,MAAAlT,KAAA+/B,MACA,OAAApc,EAAAlS,QAEA,IAAA/G,EAAA1K,KAAA+/B,MAAAxd,EAAA7X,EAAA6X,KAAAC,EAAA9X,EAAA8X,KAAAC,EAAA/X,EAAA+X,KAAAC,EAAAhY,EAAAgY,KACA,MAAA,CAAAH,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,IAGArP,YAAA,EACAC,cAAA,IAEA+kC,EAAAz3C,UAAA83C,OAAA,SAAAvpC,GACA,IAAArO,EAAAd,KACA,GAAA,MAAAA,KAAA+/B,MACA,MAAA,GAEA,IAAAr1B,EAAA1K,KAAAy4C,WAAAtpC,GAAAoT,EAAA7X,EAAA6X,KAAAC,EAAA9X,EAAA8X,KAAAC,EAAA/X,EAAA+X,KAAAC,EAAAhY,EAAAgY,KACAN,EAAApiB,KAAA+/B,MAAA2Y,OAAAn2B,EAAAC,EAAAC,EAAAC,GACA,OAAAN,EAAAjY,IAAA,SAAAo7B,GAAA,OAAAzkC,EAAAw3C,OAAA/S,MAGA8S,EAAAz3C,UAAAwhB,QAAA,SAAAjT,GACA,OAAAnP,KAAA04C,OAAAvpC,GAAAhF,IAAA,SAAAO,GACA,IAAAuF,EAAAvF,EAAAuF,EACA,OAAAA,KAGAooC,EAnDA,GAqDAz6C,EAAAy6C,aAAAA,GCxDA,SAAA36C,EAAAC,EAAAC,GACA,IAAA+6C,EAAAj7C,EAAA,IAQA,SAAAk7C,IAKA,IAFA,IAAAC,EAAA,IAAAppC,MAAA,IAEAQ,EAAA,EAAAA,EAAA,GAAAA,IACA4oC,EAAA5oC,GAFA,mBAEA6oC,OAAAxpC,KAAA64B,MAAA,GAAA74B,KAAAsiC,UAAA,GAIA,OAFAiH,EAAA,IAAA,IACAA,EAAA,IALA,mBAKAC,OAAA,EAAAD,EAAA,IAAAtC,WAAA,GAAA,EAAA,GACAsC,EAAA1mB,KAAA,IAXAv0B,EAAAm7C,WANA,SAAAC,EAAAC,EAAApmC,GAIA,YAHA,IAAAA,IACAA,EAAA,GAEAmmC,EAAAF,OAAAjmC,EAAAomC,EAAA/3C,SAAA+3C,GAeAr7C,EAAAg7C,MAAAA,EACA,IAAAM,EAAA,IAQAt7C,EAAA8b,SAPA,SAAAgc,GACA,IAAA91B,EAAA+4C,EAAA/e,SAAAD,IAAA,IAAAuf,IAAAN,IACA,OAAA,MAAAljB,EACAA,EAAA,IAAA91B,EAEAA,GAgBAhC,EAAAu7C,OAbA,SAAAN,GACA,OAAAA,EAAA5K,QAAA,gBAAA,SAAAmL,GACA,OAAAA,GACA,IAAA,IAAA,MAAA,QACA,IAAA,IAAA,MAAA,OACA,IAAA,IAAA,MAAA,OACA,IAAA,IAAA,MAAA,SACA,IAAA,IAAA,MAAA,SACA,IAAA,IAAA,MAAA,SACA,QAAA,OAAAA,MAkBAx7C,EAAAy7C,SAbA,SAAAR,GACA,OAAAA,EAAA5K,QAAA,gCAAA,SAAA3oC,EAAAg0C,GACA,OAAAA,GACA,IAAA,MAAA,MAAA,IACA,IAAA,KAAA,MAAA,IACA,IAAA,KAAA,MAAA,IACA,IAAA,OAAA,MAAA,IACA,IAAA,OAAA,MAAA,IACA,IAAA,OAAA,MAAA,IACA,QAAA,OAAAA,MAQA17C,EAAA27C,WAHA,SAAA70C,GACA,MAAA,kBAAAA,IC5DA,SAAAhH,EAAAC,EAAAC,GACAA,EAAAmwC,WAAA,CACAyL,UAAA,UACAC,WAAA,UACAC,OAAA,UACAC,WAAA,UACAC,YAAA,UACAC,QAAA,UACAC,IAAA,UACAC,UAAA,UACAC,QAAA,UACAC,KAAA,UACAC,UAAA,UACAC,QAAA,UACAC,SAAA,UACAC,gBAAA,UACAC,cAAA,UACAC,MAAA,UACAC,OAAA,UACAC,UAAA,UACAC,WAAA,UACAC,OAAA,UACAC,KAAA,UACAC,OAAA,UACAC,YAAA,UACAC,aAAA,UACAC,qBAAA,UACAC,WAAA,UACAC,SAAA,UACAC,UAAA,UACAC,cAAA,UACAC,MAAA,UACAC,UAAA,UACAC,SAAA,UACAC,QAAA,UACAC,KAAA,UACAC,OAAA,UACAC,OAAA,UACAC,QAAA,UACAC,QAAA,UACAC,aAAA,UACAC,aAAA,UACAC,WAAA,UACAC,WAAA,UACAC,WAAA,UACAC,YAAA,UACAC,OAAA,UACAC,OAAA,UACAC,UAAA,UACAC,cAAA,UACAC,gBAAA,UACAC,YAAA,UACAC,WAAA,UACAC,UAAA,UACAC,KAAA,UACAC,UAAA,UACAC,UAAA,UACAC,WAAA,UACAC,kBAAA,UACAC,YAAA,UACAC,eAAA,UACAC,SAAA,UACAC,YAAA,UACAC,MAAA,UACAC,UAAA,UACAC,YAAA,UACAC,UAAA,UACAC,MAAA,UACAC,eAAA,UACAC,iBAAA,UACAC,aAAA,UACAC,cAAA,UACAC,SAAA,UACAC,KAAA,UACAC,KAAA,UACAC,KAAA,UACAC,UAAA,UACAC,cAAA,UACAC,WAAA,UACAC,UAAA,UACAC,gBAAA,UACAC,cAAA,UACAC,UAAA,UACAC,UAAA,UACAC,eAAA,UACAC,WAAA,UACAC,UAAA,UACAC,QAAA,UACAC,aAAA,UACAC,YAAA,UACAC,WAAA,UACAC,eAAA,UACAC,UAAA,UACAC,KAAA,UACAC,WAAA,UACAC,SAAA,UACAC,KAAA,UACAC,aAAA,UACAC,SAAA,UACAC,eAAA,UACAC,OAAA,UACAC,YAAA,UACAC,MAAA,UACAC,UAAA,UACAC,IAAA,UACAC,UAAA,UACAC,WAAA,UACAC,UAAA,UACAC,cAAA,UACAC,KAAA,UACAC,UAAA,UACAC,YAAA,UACAC,OAAA,UACAC,MAAA,UACAC,OAAA,UACAC,MAAA,UACAC,KAAA,UACAC,SAAA,UACAC,UAAA,UACAC,MAAA,UACAC,UAAA,UACAC,WAAA,UACAC,WAAA,UACAC,SAAA,UACAC,MAAA,UACAC,QAAA,UACAC,YAAA,UACAC,MAAA,UACAC,aAAA,UACAC,MAAA,UACAC,cAAA,UACAC,UAAA,UACAC,UAAA,UACAC,UAAA,UACAC,UAAA,UACAC,OAAA,UACAC,SAAA,UACAC,SAAA,UACAC,KAAA,UACAC,KAAA,UACAC,QAAA,UACAC,QAAA,UACAC,eAAA,UACAC,eAAA,UACAC,UAAA,UACAC,UAAA,UACAC,cAAA,UACAC,cAAA,UACAC,MAAA,WAKA9kD,EAAAkwC,aAHA,SAAAD,GACA,OAAAA,KAAAjwC,EAAAmwC,aCvJA,SAAArwC,EAAAC,EAAAC,GACA,IAAA+kD,EAAAjlD,EAAA,KACAklD,EAAAllD,EAAA,KACAmlD,EAAAnlD,EAAA,KACA8a,EAAA9a,EAAA,IACA0N,EAAA1N,EAAA,IACA,SAAAolD,EAAAC,GAEA,IADA,IAAApoB,EAAA,GACAvwB,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAuwB,EAAAvwB,EAAA,GAAA5C,UAAA4C,GAEA,OAAAu4C,EAAAG,QAAAv7C,WAAA,EAAA,CAAAw7C,GAAApzC,OAAAgrB,IAQA,SAAAqoB,EAAAn3C,EAAAo3C,EAAAC,GACA,GAAA93C,EAAAqc,SAAA5b,GAAA,CACA,IAAAk3C,EAAA,WACA,QAAA,GACA,KAAAzzC,KAAA64B,MAAAt8B,IAAAA,EACA,MAAA,KACA,MAAAyD,KAAAsd,IAAA/gB,GAAA,IAAAyD,KAAAsd,IAAA/gB,GAAA,KACA,MAAA,QACA,QACA,MAAA,SAPA,GAUA,OAAAi3C,EAAAC,EAAAl3C,GAGA,MAAA,GAAAA,EAGA,SAAAs3C,EAAAhlD,EAAAilD,EAAAL,EAAAM,GAEA,GAAA,MAAAN,EACA,OAAAC,EAEA,GAAA,MAAAK,IAAAllD,KAAAklD,GAAAD,KAAAC,GAAA,CAGA,IAAAh3C,EAAA+2C,KAAAC,EAAAD,EAAAjlD,EACAmlD,EAAAD,EAAAh3C,GACA,GAAAjB,EAAAW,SAAAu3C,GAAA,CACA,GAAAA,KAAA1lD,EAAA2lD,mBACA,OAAA3lD,EAAA2lD,mBAAAD,GAEA,MAAA,IAAAjlD,MAAA,yCAAAilD,EAAA,KAEA,OAAA,SAAAz3C,EAAAk3C,EAAAS,GACA,OAAAF,EAAAP,OAAAl3C,EAAAk3C,EAAAS,IAIA,OAAA5lD,EAAA2lD,mBAAAE,QAGA,SAAAC,EAAAvlD,EAAAwlD,EAAA1zC,EAAAuzC,GACA,GAAA,KAAArlD,EAAA,GAAA,CACA,GAAAA,EAAAkwC,UAAA,KAAAmV,EACA,OAAAA,EAAArlD,EAAAkwC,UAAA,IAEA,MAAA,IAAAhwC,MAAA,6BAAAF,EAAA,KAEA,IAAAylD,EAAAD,EAAAtvB,WAAAl2B,GAEA,GAAA,MAAAylD,EACA,OAAA,KAEA,GAAAx4C,EAAAqc,SAAAxX,GACA,OAAA2zC,EAAA3zC,GAEA,IAAA7L,EAAAw/C,EAAA3zC,EAAA8vB,OACA,GAAA30B,EAAA0qC,aAAA1xC,IAAAgH,EAAAa,QAAA7H,GAAA,CAEA,GAAAgH,EAAAa,QAAA7H,EAAA,IAAA,CACA,IAAA8hB,EAAA9hB,EAAA6L,EAAA4zC,MACA,OAAA39B,EAAAjW,EAAA6zC,MAGA,OAAA1/C,EAAA6L,EAAA8zC,YAGA,OAAA3/C,EA1EAxG,EAAAklD,QAAAA,EACAllD,EAAA2lD,mBAAA,CACAE,QAAA,SAAA53C,EAAAk3C,EAAAG,GAAA,OAAAN,EAAAG,OAAAl3C,EAAAk3C,IACAiB,SAAA,SAAAn4C,EAAAk3C,EAAAG,GAAA,OAAAL,EAAAh3C,EAAAk3C,IACAkB,OAAA,SAAAp4C,EAAAk3C,EAAAG,GAAA,OAAAJ,EAAAC,EAAAl3C,KAmBAjO,EAAAolD,gBAAAA,EAwBAplD,EAAAulD,cAAAA,EA6BAvlD,EAAA8lD,UAAAA,EA0BA9lD,EAAAsmD,qBAzBA,SAAAlL,EAAA2K,EAAA1zC,EAAAozC,EAAAG,QACA,IAAAA,IACAA,EAAA,IAGA,IAAAJ,EAAApK,EAAA/K,QAAA,mDAAA,SAAAkW,EAAAf,EAAAH,GAAA,MAAA,GAAAG,IAkBA,OAbApK,GADAA,GAFAA,EAAAA,EAAA/K,QAAA,WAAA,SAAAkW,GAAA,MAAA,KAAAX,EAAArlD,KAAA,OAEA8vC,QAAA,oBAAA,SAAAkW,EAAAzuB,EAAAv3B,GAAA,OAAAu3B,EAAA,KAAAv3B,KACA8vC,QAAA,mDAAA,SAAAkW,EAAAzuB,EAAAv3B,EAAAimD,EAAArB,GAEA,IAAAl3C,EAAA63C,EADAvlD,EAAA,MAAAimD,EAAAA,EAAAjmD,EACAwlD,EAAA1zC,EAAAuzC,GAEA,GAAA,MAAA33C,EACA,MAAA,GAAA6pB,EAAAld,EAAA2gC,OAAA,OAEA,GAAA,QAAA4J,EACA,MAAA,GAAArtB,EAAA7pB,EAEA,IAAAw4C,EAAAlB,EAAAhlD,EAAAilD,EAAAL,EAAAM,GACA,MAAA,GAAA3tB,EAAAld,EAAA2gC,OAAAkL,EAAAx4C,EAAAk3C,EAAAS,QC/GA,SAAA9lD,EAAAC,EAAAC,GACA,IAAA2sB,EAAA7sB,EAAA,GACA4mD,EAAA,GAqBA1mD,EAAA2mD,aApBA,SAAAC,GACA,GAAA,MAAAF,EAAAE,GACA,OAAAF,EAAAE,GACA,IAAA1hD,EAAAynB,EAAA1a,KAAA,CAAAzD,MAAA,CAAAo4C,KAAAA,IAAA,MACAC,EAAAl6B,EAAA3a,IAAA,CAAAxD,MAAA,CAAAsF,QAAA,eAAArC,MAAA,MAAAG,OAAA,SACA6O,EAAAkM,EAAA3a,IAAA,GAAA9M,EAAA2hD,GACA3gD,SAAAmR,KAAAtI,YAAA0R,GACA,IACAomC,EAAAr4C,MAAAs4C,cAAA,WACA,IAAA3Y,EAAAxhB,EAAAxY,OAAA0yC,GAAAz2C,IAAAuc,EAAAxY,OAAAjP,GAAAkL,IACAy2C,EAAAr4C,MAAAs4C,cAAA,SACA,IAAAl1C,EAAA+a,EAAAxY,OAAA0yC,GAAAz2C,IAAAuc,EAAAxY,OAAAjP,GAAAkL,IACA+P,EAAA,CAAAvO,OAAAA,EAAAu8B,OAAAA,EAAA4Y,QAAAn1C,EAAAu8B,GAEA,OADAuY,EAAAE,GAAAzmC,EACAA,EAEA,QACAja,SAAAmR,KAAAnE,YAAAuN,KAIA,IAAAumC,EAAA,GAqBAhnD,EAAAinD,aApBA,SAAA/hD,EAAA0hD,GACA,IAAAM,EAAAF,EAAAJ,GACA,GAAA,MAAAM,EAAA,CACA,IAAA51C,EAAA41C,EAAAhiD,GACA,GAAA,MAAAoM,EACA,OAAAA,OAGA01C,EAAAJ,GAAA,GACA,IAAAr3C,EAAAod,EAAA3a,IAAA,CAAAxD,MAAA,CAAAsF,QAAA,eAAAqzC,cAAA,SAAAP,KAAAA,IAAA1hD,GACAgB,SAAAmR,KAAAtI,YAAAQ,GACA,IACA,IAAAzC,EAAAyC,EAAAiC,wBAAAC,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OAEA,OADAo1C,EAAAJ,GAAA1hD,GAAA,CAAAuM,MAAAA,EAAAG,OAAAA,GACA,CAAAH,MAAAA,EAAAG,OAAAA,GAEA,QACA1L,SAAAmR,KAAAnE,YAAA3D,MC1CA,SAAAzP,EAAAC,EAAAC,GAKA,IAAAonD,GAAA,oBAAAhzC,OAAAA,OAAAw3B,2BAAA5wB,KACA,oBAAA5G,OAAAA,OAAAizC,iCAAArsC,KACA,oBAAA5G,OAAAA,OAAAkzC,8BAAAtsC,KACA,oBAAA5G,OAAAA,OAAAmzC,6BAAAvsC,IAPA,SAAAwsC,GAEA,OADAA,EAAArb,KAAAC,QACA,GAwCApsC,EAAA8rC,SAvBA,SAAAL,EAAAC,GACA,IAAAK,EAAA,KACAC,EAAA,EACAyb,GAAA,EACAxb,EAAA,WACAD,EAAAG,KAAAC,MACAL,EAAA,KACA0b,GAAA,EACAhc,KAEA,OAAA,WACA,IAAAW,EAAAD,KAAAC,MACAC,EAAAX,GAAAU,EAAAJ,GACAK,GAAA,IAAAob,GACA,MAAA1b,GACAO,aAAAP,GACA0b,GAAA,EACAL,EAAAnb,IAEAF,GAAA0b,IACA1b,EAAAvnC,WAAA,WAAA,OAAA4iD,EAAAnb,IAAAI,OCxCA,SAAAvsC,EAAAC,EAAAC,GAqBAA,EAAA+R,OApBA,SAAA21C,GAEA,IADA,IAAA5gB,EAAA,GACAt6B,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAs6B,EAAAt6B,EAAA,GAAA5C,UAAA4C,GAGA,IADA,IAAAk7B,EAAAggB,EAAApkD,OACAwJ,EAAA,EAAA67B,EAAA7B,EAAAh6B,EAAA67B,EAAArlC,OAAAwJ,IAAA,CACA,IAAAoV,EAAAymB,EAAA77B,GACA46B,GAAAxlB,EAAA5e,OAEA,IAAA6c,EAAA,IAAAunC,EAAAvpC,YAAAupB,GACAvnB,EAAAlD,IAAAyqC,EAAA,GAEA,IADA,IAAAr1C,EAAAq1C,EAAApkD,OACA+J,EAAA,EAAAs6C,EAAA7gB,EAAAz5B,EAAAs6C,EAAArkD,OAAA+J,IAAA,CACA,IAAA6U,EAAAylC,EAAAt6C,GACA8S,EAAAlD,IAAAiF,EAAA7P,GACAA,GAAA6P,EAAA5e,OAEA,OAAA6c,ICnBA,SAAArgB,EAAAC,EAAAC,GACA,IAAAgM,EAAAlM,EAAA,IACA6G,EAAAvF,OAAA4B,UAAA2D,SAKA,SAAAkjB,EAAAjN,GACA,MAAA,oBAAAjW,EAAAsD,KAAA2S,GAuCA,SAAAF,EAAAE,GACA,IAAAgrC,SAAAhrC,EACA,MAAA,aAAAgrC,GAAA,WAAAA,KAAAhrC,EA3CA5c,EAAAkO,UAHA,SAAA0O,GACA,OAAA,IAAAA,IAAA,IAAAA,GAAA,qBAAAjW,EAAAsD,KAAA2S,IAMA5c,EAAA6pB,SAAAA,EAIA7pB,EAAA6nD,UAHA,SAAAjrC,GACA,OAAAiN,EAAAjN,IAAAkrC,SAAAlrC,IAAAlL,KAAA64B,MAAA3tB,KAAAA,GAMA5c,EAAAmO,SAHA,SAAAyO,GACA,MAAA,oBAAAjW,EAAAsD,KAAA2S,IAMA5c,EAAA+nD,YAHA,SAAAnrC,GACA,OAAAiN,EAAAjN,IAAAA,KAAAA,GAMA5c,EAAAyc,WAHA,SAAAG,GACA,MAAA,sBAAAjW,EAAAsD,KAAA2S,IAMA5c,EAAAqO,QAHA,SAAAuO,GACA,OAAA/K,MAAAxD,QAAAuO,IAMA5c,EAAAgoD,UAHA,SAAApQ,EAAAlO,GACA,OAAA19B,EAAAw6B,MAAAoR,EAAAlO,IAUA1pC,EAAAioD,cAPA,SAAArQ,EAAAlO,GACA,IAAA,IAAAr3B,EAAA,EAAA+Z,EAAAwrB,EAAAt0C,OAAA+O,EAAA+Z,EAAA/Z,IACA,IAAAq3B,EAAAkO,EAAAvlC,IACA,OAAA,EAEA,OAAA,GAMArS,EAAAk4C,aAHA,SAAAt7B,GACA,OAAA,MAAAA,GAAAA,EAAAkE,kBAAAC,aAOA/gB,EAAA0c,SAAAA,EAIA1c,EAAAsO,cAHA,SAAAsO,GACA,OAAAF,EAAAE,KAAA,MAAAA,EAAAuB,aAAAvB,EAAAuB,cAAA/c,UCrDA,SAAAtB,EAAAC,EAAAC,GACA,SAAAkoD,EAAAr6C,GACA,IAAAI,EAAAiC,iBAAArC,GAAAq6C,SACA,OAAA,MAAAj6C,EACAqjC,SAAArjC,EAAA,IACA,KAuBAjO,EAAA+lC,UAdA,SAAAliC,GACA,IARAgK,EAQAo3B,GAAAphC,EAAAohC,OACA,GAAAphC,EAAAsgC,kBAAAr1B,YACA,OAAAjL,EAAAskD,WACA,KAAAtkD,EAAAukD,eACAnjB,GAVAijB,GAFAr6C,EAYAhK,EAAAsgC,QAXAkkB,cAAAniD,SAAAmR,OACA6wC,EAAAr6C,IAAA,GAWA,MACA,KAAAhK,EAAAykD,eACArjB,GAXA,SAAAp3B,GACA,OAAAA,EAAA06C,aAUAC,CAAA3kD,EAAAsgC,QAIA,OAAAc,IC1BA,SAAAnlC,EAAAC,EAAAC,GACA,IAAAkmC,EAAApmC,EAAA,IAEA,SAAA2oD,EAAAzhB,EAAA0hB,EAAAC,GACA,IAAA77C,EAAA,CAAAk6B,EAAA7a,MAAA6a,EAAA5a,KAAAge,EAAAt9B,EAAA,GAAAu9B,EAAAv9B,EAAA,GACAjC,EAAA,MAAA89C,EAAAA,GAAAte,EAAAD,GAAA,EACAxmB,EAAAwmB,GAAAA,EAAAv/B,GAAA69C,EACArlC,EAAAgnB,GAAAA,EAAAx/B,GAAA69C,EACA,MAAA,CAAA9kC,EAAAP,GAGA,SAAAulC,EAAAC,EAAA/7C,GACA,IAAAg8C,EAAAh8C,EAAA,GAAAi8C,EAAAj8C,EAAA,GACArI,EAAA,GACA,IAAA,IAAA1D,KAAA8nD,EAAA,CACA,IAAA19C,EAAA09C,EAAA9nD,GACAsM,EAAAlC,EAAA69C,SAAAF,EAAAC,GAAA58B,EAAA9e,EAAA,GAAA+e,EAAA/e,EAAA,GACA5I,EAAA1D,GAAA,CAAAorB,MAAAA,EAAAC,IAAAA,GAEA,OAAA3nB,EATAzE,EAAAyoD,cAAAA,EAWAzoD,EAAA4oD,SAAAA,EAsCA5oD,EAAAipD,YArCA,SAAA5lB,EAAAqlB,EAAAQ,EAAAC,EAAAR,QAkBA,IAAAO,IACAA,GAAA,QAEA,IAAAC,IACAA,GAAA,GAGAT,EAAAxiB,EAAA0O,MAAA8T,GAAA,GAAA,IACA,IAAAU,EAAAF,EAAAR,EAAA,EACA57C,EAAA27C,EAAAplB,EAAAlc,KAAA4jB,QAAAqe,EAAA,MAAAT,EAAAA,EAAA99C,OAAAmQ,GAAAquC,EAAAv8C,EAAA,GAAAw8C,EAAAx8C,EAAA,GACAy8C,EAAAX,EAAAvlB,EAAAsB,QAAA,CAAA0kB,EAAAC,IACAE,EAAAL,EAAAT,EAAA,EACAr7C,EAAAo7C,EAAAplB,EAAAlc,KAAA6jB,QAAAwe,EAAA,MAAAb,EAAAA,EAAA79C,OAAAkQ,GAAAyuC,EAAAp8C,EAAA,GAAAq8C,EAAAr8C,EAAA,GACAs8C,EAAAf,EAAAvlB,EAAAyB,QAAA,CAAA2kB,EAAAC,IAIA,MAAA,CAAAH,IAAAA,EAAAI,IAAAA,EAAAjB,OAAAA,KCzDA,SAAA5oD,EAAAC,EAAAC,GACA,IAAAwN,EAAA1N,EAAA,IAIAE,EAAA4pD,QAHA,SAAAhtC,GACA,OAAApP,EAAAc,cAAAsO,IAAA,UAAAA,GAMA5c,EAAA6pD,QAHA,SAAAjtC,GACA,OAAApP,EAAAc,cAAAsO,IAAA,UAAAA,ICPA,SAAA9c,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2a,EAAA3a,EAAA,IACA0N,EAAA1N,EAAA,IACA8a,EAAA9a,EAAA,IACA0X,EAAA,SAAA9N,GAEA,SAAA8N,EAAArL,GACA,IAAAjJ,EAAAwG,EAAAO,KAAA7H,OAAAA,KAEA,GADAc,EAAA4mD,QAAA,IAAArvC,EAAAS,QAAAhY,EAAA,WACA,MAAAiJ,EAAA3L,MAGA,MAAA,IAAAC,MAAA,qCAMA,OARAyC,EAAA1C,MAAA2L,EAAA3L,MAGA0C,EAAA6mD,QAAA59C,EAAA6G,OACA9P,EAAAlB,GAAAmK,EAAAnK,IAAA4Y,EAAAkB,WACA5Y,EAAA0T,cACA,IAAAzK,EAAAe,iBACAhK,EAAAgK,kBACAhK,EAoDA,OAjEA+F,EAAAY,UAAA2N,EAAA9N,GAeA8N,EAAAxU,UAAA4T,WAAA,aACAY,EAAAxU,UAAA0J,OAAA,WACAtK,KAAA2nD,aAAA/uC,EACA5Y,KAAA2b,qBACA3b,KAAA0nD,QAAAhsC,QAEAtG,EAAAxU,UAAA2D,SAAA,WACA,OAAAvE,KAAA5B,MAAAmb,KAAA,QAAAvZ,KAAAJ,GAAA,KAEAwV,EAAAxU,UAAAgnD,mBAAA,WACA,MAAA,CAAAruC,KAAAvZ,KAAA5B,MAAAmb,OAEAva,OAAAiU,eAAAmC,EAAAxU,UAAA,SAAA,CACAsS,IAAA,WACA,QAAA0F,IAAA5Y,KAAA2nD,QACA,OAAA3nD,KAAA2nD,QAEA,MAAA,IAAAtpD,MAAA,uCAEAgV,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAmC,EAAAxU,UAAA,UAAA,CACAsS,IAAA,WACA,OAAA,OAAAlT,KAAA4Q,QAEAyC,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAmC,EAAAxU,UAAA,OAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA6nD,QAAA7nD,KAAAA,KAAA4Q,OAAAk3C,MAEAz0C,YAAA,EACAC,cAAA,IAEA8B,EAAAxU,UAAAmnD,YAAA,WACA,IAAA/nD,KAAA6nD,QACA,MAAA,IAAAxpD,MAAA2B,KAAAuE,WAAA,0BAEA6Q,EAAAxU,UAAAkK,gBAAA,aACAsK,EAAAxU,UAAA+a,mBAAA,WACAtD,EAAAuD,OAAAC,mBAAA7b,OAEAoV,EAAAxU,UAAA8E,UAAA,SAAAwT,EAAAlF,GACA,IAAA,IAAA5J,EAAA,EAAAM,EAAAU,EAAAa,QAAAiN,GAAAA,EAAA,CAAAA,GAAA9O,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA49C,EAAAt9C,EAAAN,GACApK,KAAAa,QAAAmnD,EAAAjvC,OAAA/E,KAGAoB,EAlEA,CAmEAiD,EAAA6H,cACAtiB,EAAAwX,KAAAA,GCzEA,SAAA1X,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAsc,EAAAtc,EAAA,IACA40B,EAAA50B,EAAA,IACA,SAAAuqD,EAAAx4B,EAAAke,EAAAjF,GACAjZ,EAAAkd,OAAA,EAAAjE,EAAA,IACAjZ,EAAAy4B,OAAAva,EAAAjF,EAAA,IACAjZ,EAAA04B,SAEA,SAAAC,EAAA34B,EAAAke,EAAAjF,GACAjZ,EAAAkd,OAAAjE,EAAA,GAAA,GACAjZ,EAAAy4B,OAAAxf,EAAA,GAAAiF,GACAle,EAAA04B,SAEA,SAAAE,EAAA54B,EAAAke,GACAle,EAAAkd,OAAA,EAAAgB,GACAle,EAAAy4B,OAAAva,EAAA,GACAle,EAAA04B,SACA14B,EAAAkd,OAAA,EAAA,GACAld,EAAAy4B,OAAAva,EAAAA,GACAle,EAAA04B,SAQA,SAAAG,EAAA1xB,EAAAH,EAAAE,EAAAE,GACA,IAAA8W,EAAAhX,EACA+R,EAAAiF,EAAA,EACA4a,EAAA7f,EAAA,EACA54B,EAVA,SAAAZ,GACA,IAAAY,EAAAhM,SAAA4H,cAAA,UAGA,OAFAoE,EAAAT,MAAAH,EACAY,EAAAN,OAAAN,EACAY,EAMA04C,CAAA7xB,GACAlH,EAAA3f,EAAA24C,WAAA,MAKA,OAJAh5B,EAAAi5B,YAAAjyB,EACAhH,EAAAk5B,QAAA,SACAl5B,EAAAm5B,UAAAnyB,EACAhH,EAAAo5B,UAAAhyB,EACAD,GAGA,IAAA,IACA,IAAA,QACA,MACA,IAAA,IACA,IAAA,MACAnH,EAAAq5B,IAAApgB,EAAAA,EAAAA,EAAA,EAAA,EAAA,EAAAp5B,KAAA0e,IAAA,GACAyB,EAAA8G,OACA,MACA,IAAA,IACA,IAAA,OACA9G,EAAAq5B,IAAApgB,EAAAA,EAAAA,EAAA,EAAA,EAAA,EAAAp5B,KAAA0e,IAAA,GACAyB,EAAA04B,SACA,MACA,IAAA,IACA,IAAA,kBACAF,EAAAx4B,EAAAke,EAAAjF,GACA,MACA,IAAA,IACA,IAAA,gBACA0f,EAAA34B,EAAAke,EAAAjF,GACA,MACA,IAAA,IACA,IAAA,QACAuf,EAAAx4B,EAAAke,EAAAjF,GACA0f,EAAA34B,EAAAke,EAAAjF,GACA,MACA,IAAA,IACA,IAAA,kBACAuf,EAAAx4B,EAAAiZ,EAAAA,GACA,MACA,IAAA,IACA,IAAA,gBACA0f,EAAA34B,EAAAiZ,EAAAA,GACA,MACA,IAAA,IACA,IAAA,SACA,IAAAqgB,EAAApb,EAAA,GACAle,EAAAkd,OAAAjE,EAAAA,GACA,IAAA,IAAAz4B,EAAA,EAAAA,EAAA,IAAAA,IAAA,CACA,IAAAqR,EAAA,GAAArR,EACAxH,EAAAigC,EAAAqgB,EAAAznC,EAAAhS,KAAAsS,IAAAN,GACA5Y,EAAAggC,EAAAqgB,EAAAznC,EAAAhS,KAAAuS,IAAAP,GACAmO,EAAAy4B,OAAAz/C,EAAAC,GAEA+mB,EAAA04B,SACA,MACA,IAAA,IACA,IAAA,sBACA14B,EAAAkd,OAAA,GAAA4b,EAAA5a,GACAle,EAAAy4B,OAAAK,EAAA,GAAA,GACA94B,EAAA04B,SACA14B,EAAAkd,OAAA4b,EAAA,GAAA5a,GACAle,EAAAy4B,OAAA,EAAAK,EAAA,GAAA,GACA94B,EAAA04B,SACA14B,EAAAkd,OAAA,EAAA4b,EAAA,GAAA5a,GACAle,EAAAy4B,OAAA,EAAAK,EAAA,GAAA,GACA94B,EAAA04B,SACA14B,EAAA04B,SACA,MACA,IAAA,KACA,IAAA,qBACA14B,EAAAkd,OAAA4b,EAAA,GAAA5a,GACAle,EAAAy4B,OAAA,GAAAK,EAAA,GACA94B,EAAA04B,SACA14B,EAAAkd,OAAA,EAAA4b,EAAA,GAAA5a,GACAle,EAAAy4B,OAAAK,EAAA,GAAA,GACA94B,EAAA04B,SACA14B,EAAAkd,OAAA,EAAA4b,EAAA,GAAA5a,GACAle,EAAAy4B,OAAA,EAAAK,EAAA,GAAA,GACA94B,EAAA04B,SACA14B,EAAA04B,SACA,MACA,IAAA,IACA,IAAA,iBACAE,EAAA54B,EAAAke,GACA,MACA,IAAA,IACA,IAAA,sBACAle,EAAAkd,OAAA4b,EAAA,GAAA,EAAAA,EAAA,IACA94B,EAAAy4B,OAAA,EAAAK,EAAA,GAAAA,EAAA,IACA94B,EAAA04B,SACA,MACA,IAAA,IACA,IAAA,qBACA14B,EAAAkd,OAAA4b,EAAA,GAAAA,EAAA,IACA94B,EAAAy4B,OAAA,EAAAK,EAAA,GAAA,EAAAA,EAAA,IACA94B,EAAA04B,SACA,MACA,IAAA,IACA,IAAA,kBACA14B,EAAAkd,OAAA,EAAA4b,GACA94B,EAAAy4B,OAAAxf,EAAA,EAAA6f,GACA94B,EAAAy4B,OAAAva,EAAA4a,GACA94B,EAAA04B,SACA,MACA,IAAA,IACA,IAAA,gBACA14B,EAAAkd,OAAA4b,EAAA,GACA94B,EAAAy4B,OAAA,EAAAK,EAAA7f,GACAjZ,EAAAy4B,OAAAK,EAAA5a,GACAle,EAAA04B,SACA,MACA,IAAA,IACA,IAAA,cACAE,EAAA54B,EAAAke,GACAsa,EAAAx4B,EAAAke,EAAAjF,GACA0f,EAAA34B,EAAAke,EAAAjF,GAGA,OAAA54B,EAEA,IAAAk5C,EAAA,WACA,SAAAA,EAAAxuC,EAAAkb,QACA,IAAAA,IACAA,EAAA,IAEA11B,KAAAwa,IAAAA,EACAxa,KAAA01B,OAAAA,EAEA11B,KAAAskD,MAAA,GACA,IAAA,IAAAl6C,EAAA,EAAAM,EAAA1K,KAAAuL,MAAAnB,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA5D,EAAAkE,EAAAN,GACApK,KAAAwG,GAAAgU,EAAAtB,WAAAwc,EAAAlvB,IA8BA,OA3BAwiD,EAAApoD,UAAAqoD,WAAA,SAAAvpC,GACA,IAAA,IAAAtV,EAAA,EAAAM,EAAA1K,KAAAuL,MAAAnB,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA5D,EAAAkE,EAAAN,GACA+B,EAAAnM,KAAAwa,IAAAtB,WAAAlZ,KAAA01B,OAAAlvB,GACA,QAAAoS,IAAAzM,EAAAqP,KAAA3P,MACA7L,KAAAskD,MAAA99C,GAAA2F,EAAAqP,KAAA3P,UACA,CAAA,GAAA,MAAA6T,EAGA,MAAA,IAAArhB,MAAA,wDAFA2B,KAAAskD,MAAA99C,EAAA,UAAA2F,EAAA2T,MAAAJ,MAKAspC,EAAApoD,UAAAsoD,aAAA,SAAA1iD,EAAAyJ,GACA,IACApE,EADAM,EAAAnM,KAAAwa,IAAAtB,WAAAlZ,KAAA01B,OAAAlvB,GAMA,YAJAoS,IAAAzM,EAAAqP,KAAA3P,MACA7L,KAAAskD,MAAA99C,GAAAqF,EAAAM,EAAAqP,KAAA3P,MAEA7L,KAAAskD,MAAA99C,GAAAqF,EAAA7L,KAAAskD,MAAA99C,EAAA,UAAAyJ,GACApE,GAEAm9C,EAAApoD,UAAAuoD,cAAA,SAAA15B,EAAAxf,GACA,MAAAjQ,KAAAopD,YACAppD,KAAAqpD,eAAA55B,EAAAzvB,KAAAopD,YAAAn5C,IAEAjQ,KAAAqpD,eAAA55B,EAAAxf,IAEA+4C,EAzCA,GA2CAprD,EAAAorD,kBAAAA,EACA,IAAAM,EAAA,SAAAhiD,GAEA,SAAAgiD,IACA,OAAA,OAAAhiD,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA+CA,OAjDA6G,EAAAY,UAAA6hD,EAAAhiD,GAIAgiD,EAAA1oD,UAAA2oD,UAAA,SAAA95B,GACAA,EAAAi5B,YAAA1oD,KAAA41B,WAAA/pB,QACA4jB,EAAA+5B,YAAAxpD,KAAA81B,WAAAjqB,QACA4jB,EAAAo5B,UAAA7oD,KAAA61B,WAAAhqB,QACA4jB,EAAAg6B,SAAAzpD,KAAA+1B,UAAAlqB,QACA4jB,EAAAk5B,QAAA3oD,KAAAg2B,SAAAnqB,QACA4jB,EAAA+a,YAAAxqC,KAAAi2B,UAAApqB,SACA4jB,EAAAqb,kBAAA9qC,KAAAk2B,iBAAArqB,UAEA7M,OAAAiU,eAAAq2C,EAAA1oD,UAAA,OAAA,CACAsS,IAAA,WACA,QAAA,OAAAlT,KAAA41B,WAAApa,KAAA3P,OACA,GAAA7L,KAAA81B,WAAAta,KAAA3P,OACA,GAAA7L,KAAA61B,WAAAra,KAAA3P,QAEAwH,YAAA,EACAC,cAAA,IAEAg2C,EAAA1oD,UAAAyoD,eAAA,SAAA55B,EAAAxf,GACAjQ,KAAAkpD,aAAA,aAAAj5C,GACAwf,EAAAi5B,cAAA1oD,KAAAskD,MAAA1uB,aACAnG,EAAAi5B,YAAA1oD,KAAAskD,MAAA1uB,YACA51B,KAAAkpD,aAAA,aAAAj5C,GACAwf,EAAA+5B,cAAAxpD,KAAAskD,MAAAxuB,aACArG,EAAA+5B,YAAAxpD,KAAAskD,MAAAxuB,YACA91B,KAAAkpD,aAAA,aAAAj5C,GACAwf,EAAAo5B,YAAA7oD,KAAAskD,MAAAzuB,aACApG,EAAAo5B,UAAA7oD,KAAAskD,MAAAzuB,YACA71B,KAAAkpD,aAAA,YAAAj5C,GACAwf,EAAAg6B,WAAAzpD,KAAAskD,MAAAvuB,YACAtG,EAAAg6B,SAAAzpD,KAAAskD,MAAAvuB,WACA/1B,KAAAkpD,aAAA,WAAAj5C,GACAwf,EAAAk5B,UAAA3oD,KAAAskD,MAAAtuB,WACAvG,EAAAk5B,QAAA3oD,KAAAskD,MAAAtuB,UACAh2B,KAAAkpD,aAAA,YAAAj5C,GACAwf,EAAAmb,gBAAA5qC,KAAAskD,MAAAruB,WACAxG,EAAA+a,YAAAxqC,KAAAskD,MAAAruB,WACAj2B,KAAAkpD,aAAA,mBAAAj5C,GACAwf,EAAAyb,sBAAAlrC,KAAAskD,MAAApuB,kBACAzG,EAAAqb,kBAAA9qC,KAAAskD,MAAApuB,mBAEAozB,EAAA1oD,UAAA8oD,YAAA,WACA,IAAAh/C,EAAA4nB,EAAAyc,WAAA/uC,KAAA41B,WAAA/pB,QAAA7L,KAAA81B,WAAAjqB,SAAAga,EAAAnb,EAAA,GAAAkkC,EAAAlkC,EAAA,GAAA6W,EAAA7W,EAAA,GAAAsF,EAAAtF,EAAA,GACA,MAAA,QAAA,IAAAmb,EAAA,IAAA,IAAA+oB,EAAA,IAAA,IAAArtB,EAAA,IAAAvR,EAAA,KAEAs5C,EAlDA,CAmDAN,GACAprD,EAAA0rD,KAAAA,EACAA,EAAA1oD,UAAA2K,MAAAvM,OAAAC,KAAA+a,EAAAmc,QACA,IAAAwzB,EAAA,SAAAriD,GAEA,SAAAqiD,IACA,OAAA,OAAAriD,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA0BA,OA5BA6G,EAAAY,UAAAkiD,EAAAriD,GAIAqiD,EAAA/oD,UAAA2oD,UAAA,SAAA95B,GACAA,EAAAm5B,UAAA5oD,KAAAq2B,WAAAxqB,QACA4jB,EAAA+5B,YAAAxpD,KAAAs2B,WAAAzqB,SAEA7M,OAAAiU,eAAA02C,EAAA/oD,UAAA,OAAA,CACAsS,IAAA,WACA,QAAA,OAAAlT,KAAAq2B,WAAA7a,KAAA3P,OACA,GAAA7L,KAAAs2B,WAAA9a,KAAA3P,QAEAwH,YAAA,EACAC,cAAA,IAEAq2C,EAAA/oD,UAAAyoD,eAAA,SAAA55B,EAAAxf,GACAjQ,KAAAkpD,aAAA,aAAAj5C,GACAwf,EAAAm5B,YAAA5oD,KAAAskD,MAAAjuB,aACA5G,EAAAm5B,UAAA5oD,KAAAskD,MAAAjuB,YACAr2B,KAAAkpD,aAAA,aAAAj5C,GACAwf,EAAA+5B,cAAAxpD,KAAAskD,MAAAhuB,aACA7G,EAAA+5B,YAAAxpD,KAAAskD,MAAAhuB,aAEAqzB,EAAA/oD,UAAA8oD,YAAA,WACA,IAAAh/C,EAAA4nB,EAAAyc,WAAA/uC,KAAAq2B,WAAAxqB,QAAA7L,KAAAs2B,WAAAzqB,SAAAga,EAAAnb,EAAA,GAAAkkC,EAAAlkC,EAAA,GAAA6W,EAAA7W,EAAA,GAAAsF,EAAAtF,EAAA,GACA,MAAA,QAAA,IAAAmb,EAAA,IAAA,IAAA+oB,EAAA,IAAA,IAAArtB,EAAA,IAAAvR,EAAA,KAEA25C,EA7BA,CA8BAX,GACAprD,EAAA+rD,KAAAA,EACAA,EAAA/oD,UAAA2K,MAAAvM,OAAAC,KAAA+a,EAAAuc,QACA,IAAAqzB,EAAA,SAAAtiD,GAEA,SAAAsiD,IACA,OAAA,OAAAtiD,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAoEA,OAtEA6G,EAAAY,UAAAmiD,EAAAtiD,GAIAsiD,EAAAhpD,UAAAsoD,aAAA,SAAA/qD,EAAA8R,GACA,IAAApE,EACA,GAAA,WAAA1N,EAAA,CACA6B,KAAAkpD,aAAA,cAAAj5C,GACAjQ,KAAAkpD,aAAA,cAAAj5C,GACAjQ,KAAAkpD,aAAA,gBAAAj5C,GACAjQ,KAAAkpD,aAAA,eAAAj5C,GACA,IAAAvF,EAAA1K,KAAAskD,MAAAuF,EAAAn/C,EAAA+rB,YAAAqzB,EAAAp/C,EAAAisB,YAAAozB,EAAAr/C,EAAAksB,cAAAozB,EAAAt/C,EAAAmsB,aAAAC,EAAApsB,EAAAosB,YACA,GAAA,MAAAA,GAAAA,EAAAl4B,eAAAmrD,GAAA,CACA,IAAAE,EAAAnzB,EAAAizB,GACA/pD,KAAAskD,MAAA4F,QAAAD,EAAAE,YAAAN,EAAAC,EAAAE,QAGAhqD,KAAAskD,MAAA4F,QAAA,SAAAz6B,GACA,IAAA3f,EAAAw4C,EAAAyB,EAAAF,EAAAC,EAAAE,GACA,OAAAv6B,EAAA26B,cAAAt6C,EAAA,gBAKAjE,EAAAvE,EAAA1G,UAAAsoD,aAAArhD,KAAA7H,KAAA7B,EAAA8R,GACA,OAAApE,GAEA+9C,EAAAhpD,UAAAypD,WAAA,SAAAC,GACA,IAAA5/C,EAAA1K,KAAAskD,MAAA1tB,EAAAlsB,EAAAksB,cAAAE,EAAApsB,EAAAosB,YACA,GAAA,MAAAA,GAAAA,EAAAl4B,eAAAg4B,GAAA,CACA,IAAAqzB,EAAAnzB,EAAAF,GACAqzB,EAAAM,OAAAD,KAGAtrD,OAAAiU,eAAA22C,EAAAhpD,UAAA,OAAA,CACAsS,IAAA,WACA,QAAA,OAAAlT,KAAAy2B,YAAAjb,KAAA3P,OACA,GAAA7L,KAAA02B,YAAAlb,KAAA3P,OACA,KAAA7L,KAAA42B,cAAApb,KAAA3P,OACA,SAAA7L,KAAA42B,cAAApb,KAAA3P,OACA,OAAA7L,KAAA42B,cAAApb,KAAA3P,QAEAwH,YAAA,EACAC,cAAA,IAEAs2C,EAAAhpD,UAAA4pD,MAAA,SAAA/6B,EAAAxf,EAAAw6C,EAAAH,GACA,GAAAtqD,KAAA0qD,KAAA,CAGA1qD,KAAAkpD,aAAA,UAAAj5C,GACA,IAAAi6C,EAAAlqD,KAAAskD,MAAA4F,QAAAz6B,GACA,MAAAy6B,EACAlqD,KAAAqqD,WAAAC,IAGAtqD,KAAAmpD,cAAA15B,EAAAxf,GACAw6C,OAGAb,EAAAhpD,UAAAyoD,eAAA,SAAA55B,EAAAxf,GACAjQ,KAAAkpD,aAAA,UAAAj5C,GACAwf,EAAAm5B,UAAA5oD,KAAAskD,MAAA4F,QAAAz6B,GACAzvB,KAAAkpD,aAAA,cAAAj5C,GACAwf,EAAA+5B,cAAAxpD,KAAAskD,MAAA5tB,cACAjH,EAAA+5B,YAAAxpD,KAAAskD,MAAA5tB,cAEAkzB,EAAAhpD,UAAA8oD,YAAA,WACA,IAAAh/C,EAAA4nB,EAAAyc,WAAA/uC,KAAAy2B,YAAA5qB,QAAA7L,KAAA02B,YAAA7qB,SAAAga,EAAAnb,EAAA,GAAAkkC,EAAAlkC,EAAA,GAAA6W,EAAA7W,EAAA,GAAAsF,EAAAtF,EAAA,GACA,MAAA,QAAA,IAAAmb,EAAA,IAAA,IAAA+oB,EAAA,IAAA,IAAArtB,EAAA,IAAAvR,EAAA,KAEA45C,EAvEA,CAwEAZ,GACAprD,EAAAgsD,MAAAA,EACAA,EAAAhpD,UAAA2K,MAAAvM,OAAAC,KAAA+a,EAAA+c,SACA,IAAA4zB,EAAA,SAAArjD,GAEA,SAAAqjD,IACA,OAAA,OAAArjD,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAyDA,OA3DA6G,EAAAY,UAAAkjD,EAAArjD,GAIAqjD,EAAA/pD,UAAAsoD,aAAA,SAAA/qD,EAAA8R,GACA,IAAApE,EACA,GAAA,QAAA1N,EAAA,CACAmJ,EAAA1G,UAAAsoD,aAAArhD,KAAA7H,KAAA,kBAAAiQ,GACA3I,EAAA1G,UAAAsoD,aAAArhD,KAAA7H,KAAA,iBAAAiQ,GACA3I,EAAA1G,UAAAsoD,aAAArhD,KAAA7H,KAAA,YAAAiQ,GACA,IAAAvF,EAAA1K,KAAAskD,MAAAntB,EAAAzsB,EAAAysB,gBAAAD,EAAAxsB,EAAAwsB,eAAAD,EAAAvsB,EAAAusB,UACAj3B,KAAAskD,MAAAE,KAAA34C,EAAAsrB,EAAA,IAAAD,EAAA,IAAAD,OAGAprB,EAAAvE,EAAA1G,UAAAsoD,aAAArhD,KAAA7H,KAAA7B,EAAA8R,GACA,OAAApE,GAEA8+C,EAAA/pD,UAAAgqD,WAAA,WACA,IAAApG,EAAAxkD,KAAAi3B,UAAAprB,QACAg/C,EAAA7qD,KAAAk3B,eAAArrB,QACAi/C,EAAA9qD,KAAAm3B,gBAAAtrB,QACA,OAAAi/C,EAAA,IAAAD,EAAA,IAAArG,GAEAmG,EAAA/pD,UAAA8oD,YAAA,WACA,IAAAh/C,EAAA4nB,EAAAyc,WAAA/uC,KAAAo3B,WAAAvrB,QAAA7L,KAAAq3B,WAAAxrB,SAAAga,EAAAnb,EAAA,GAAAkkC,EAAAlkC,EAAA,GAAA6W,EAAA7W,EAAA,GAAAsF,EAAAtF,EAAA,GACA,MAAA,QAAA,IAAAmb,EAAA,IAAA,IAAA+oB,EAAA,IAAA,IAAArtB,EAAA,IAAAvR,EAAA,KAEA26C,EAAA/pD,UAAA2oD,UAAA,SAAA95B,GACAA,EAAA+0B,KAAAxkD,KAAA4qD,aACAn7B,EAAAm5B,UAAA5oD,KAAAo3B,WAAAvrB,QACA4jB,EAAA+5B,YAAAxpD,KAAAq3B,WAAAxrB,QACA4jB,EAAAI,UAAA7vB,KAAAs3B,WAAAzrB,QACA4jB,EAAAG,aAAA5vB,KAAAu3B,cAAA1rB,SAEA7M,OAAAiU,eAAA03C,EAAA/pD,UAAA,OAAA,CACAsS,IAAA,WACA,QAAA,OAAAlT,KAAAo3B,WAAA5b,KAAA3P,OACA,GAAA7L,KAAAq3B,WAAA7b,KAAA3P,QAEAwH,YAAA,EACAC,cAAA,IAEAq3C,EAAA/pD,UAAAyoD,eAAA,SAAA55B,EAAAxf,GACAjQ,KAAAkpD,aAAA,OAAAj5C,GACAwf,EAAA+0B,OAAAxkD,KAAAskD,MAAAE,OACA/0B,EAAA+0B,KAAAxkD,KAAAskD,MAAAE,MACAxkD,KAAAkpD,aAAA,aAAAj5C,GACAwf,EAAAm5B,YAAA5oD,KAAAskD,MAAAltB,aACA3H,EAAAm5B,UAAA5oD,KAAAskD,MAAAltB,YACAp3B,KAAAkpD,aAAA,aAAAj5C,GACAwf,EAAA+5B,cAAAxpD,KAAAskD,MAAAjtB,aACA5H,EAAA+5B,YAAAxpD,KAAAskD,MAAAjtB,YACAr3B,KAAAkpD,aAAA,aAAAj5C,GACAwf,EAAAI,YAAA7vB,KAAAskD,MAAAhtB,aACA7H,EAAAI,UAAA7vB,KAAAskD,MAAAhtB,YACAt3B,KAAAkpD,aAAA,gBAAAj5C,GACAwf,EAAAG,eAAA5vB,KAAAskD,MAAA/sB,gBACA9H,EAAAG,aAAA5vB,KAAAskD,MAAA/sB,gBAEAozB,EA5DA,CA6DA3B,GACAprD,EAAA+sD,KAAAA,EACAA,EAAA/pD,UAAA2K,MAAAvM,OAAAC,KAAA+a,EAAAlX,QACA,IAAAioD,EAAA,WACA,SAAAA,EAAA3sD,GACA,IAAA,IAAAgM,EAAA,EAAAM,EAAAtM,EAAA4b,OAAA5P,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA8Q,EAAAxQ,EAAAN,GACAa,EAAAiQ,EAAAlP,MAAA,KAAArN,EAAAsM,EAAA,GAAA4B,EAAA5B,EAAA,GAAAyqB,OAAA,IAAA7oB,EAAA,GAAAA,EACA9F,OAAA,EACA,OAAApI,GACA,IAAA,OACAoI,EAAAuiD,EACA,MACA,IAAA,OACAviD,EAAA4iD,EACA,MACA,IAAA,QACA5iD,EAAA6iD,EACA,MACA,IAAA,OACA7iD,EAAA4jD,EACA,MACA,QACA,MAAA,IAAAtsD,MAAA,mBAAAM,GAEAqB,KAAA01B,EAAA/2B,GAAA,IAAAoI,EAAA3I,EAAAs3B,IAqBA,OAlBAq1B,EAAAnqD,UAAAqoD,WAAA,SAAAvpC,GACA,IAAA,IAAAhF,KAAA1a,KACA,GAAAA,KAAApB,eAAA8b,GAAA,CACA,IAAAvO,EAAAnM,KAAA0a,GACAvO,aAAA68C,GACA78C,EAAA88C,WAAAvpC,KAIAqrC,EAAAnqD,UAAAoqD,gBAAA,SAAA5B,GACA,IAAA,IAAAnuC,KAAAjb,KACA,GAAAA,KAAApB,eAAAqc,GAAA,CACA,IAAA9O,EAAAnM,KAAAib,GACA9O,aAAA68C,IACA78C,EAAAi9C,YAAAA,KAIA2B,EA3CA,GA6CAntD,EAAAmtD,QAAAA,GCndA,SAAArtD,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAutD,EAAAvtD,EAAA,GACAwtD,EAAAxtD,EAAA,KACAwB,EAAAxB,EAAA,IACAytD,EAAAztD,EAAA,GACAo6B,EAAAp6B,EAAA,GACA2a,EAAA3a,EAAA,IACA6a,EAAA7a,EAAA,IACA0tD,EAAA1tD,EAAA,IACAm8B,EAAAn8B,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACA+a,EAAA/a,EAAA,IACA0N,EAAA1N,EAAA,IACA2tD,EAAA3tD,EAAA,KACA4tD,EAAA5tD,EAAA,KACA6tD,EAAA7tD,EAAA,IACA8tD,EAAA9tD,EAAA,IACA+tD,EAAA,WACA,SAAAA,EAAA3nD,GACA9D,KAAA8D,SAAAA,EAEA9D,KAAAG,QAAA,KACAH,KAAA0rD,kBAAA,IAAA7xB,EAAAgC,IAgBA,OAdA4vB,EAAA7qD,UAAAmF,WAAA,SAAAtE,GACA,MAAAzB,KAAAG,SACAH,KAAAG,QAAA4F,WAAAtE,IAEAgqD,EAAA7qD,UAAA8gC,QAAA,SAAAjgC,GACA,IAAA,IAAA2I,EAAA,EAAAM,EAAA1K,KAAA0rD,kBAAAv4C,OAAA/I,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAxK,EAAA8K,EAAAN,GACA,GAAA,MAAA3I,EAAA0F,QAAA1F,EAAA0F,OAAAvH,KAAAA,EAAA,CAEA,IAAAxB,EAAA4B,KAAA8D,SAAA9F,YAAA4B,GACA,MAAAxB,GAAAA,aAAAmtD,EAAAI,OACAvtD,EAAAwtD,eAAAnqD,MAGAgqD,EArBA,GAuBA7tD,EAAA6tD,aAAAA,EACA7tD,EAAAiuD,UAAA,GACAjuD,EAAAkuD,cAAA,oBAGA,IAAAvoD,EAAA,WACA,SAAAA,IACA3F,EAAAiuD,UAAA7gD,KAAAhL,MACAA,KAAA+rD,gBAAAhiB,KAAAC,MACAhqC,KAAAgsD,OAAApuD,EAAAkuD,cACA9rD,KAAAisD,OAAA,GACAjsD,KAAAhC,YAAA,GACAgC,KAAAksD,oBAAA,IAAAryB,EAAAiW,UACA9vC,KAAAmsD,yBAAA,EACAnsD,KAAAosD,WAAA,GACApsD,KAAA2F,cAAA,IAAA8lD,EAAAzrD,MACAA,KAAAqsD,KAAA,IAAAh0C,EAAAS,QAAA9Y,KAAA,QACAA,KAAAssD,YAAA,IAAA9wB,QACAx7B,KAAAusD,uBAAA,KACAvsD,KAAAwsD,kBAAA,KAgpBA,OA9oBAxtD,OAAAiU,eAAA1P,EAAA3C,UAAA,cAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAisD,OAAAxhD,OAAA,SAAAq9C,GAAA,OAAAA,aAAAuD,EAAAoB,aAEAp5C,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA1P,EAAA3C,UAAA,UAAA,CACAsS,IAAA,WACA,IAAA,IAAA9I,EAAA,EAAAM,EAAA1K,KAAA0sD,YAAAtiD,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA09C,EAAAp9C,EAAAN,GACA,IAAApK,KAAAssD,YAAA/4C,IAAAu0C,GACA,OAAA,EAEA,OAAA,GAEAz0C,YAAA,EACAC,cAAA,IAEA/P,EAAA3C,UAAA+rD,YAAA,SAAAvuD,GACA4B,KAAAssD,YAAAzxC,IAAAzc,GAAA,GACA4B,KAAA4sD,UACA1tD,EAAAwB,OAAA2B,KAAA,qBAAA0nC,KAAAC,MAAAhqC,KAAA+rD,iBAAA,OACA/rD,KAAAqsD,KAAA3wC,SAGAnY,EAAA3C,UAAAgT,MAAA,WACA5T,KAAA6sD,0BACA,IACA,KAAA7sD,KAAAisD,OAAA/qD,OAAA,GACAlB,KAAA8sD,YAAA9sD,KAAAisD,OAAA,IAGA,QACAjsD,KAAA+sD,2BAGAxpD,EAAA3C,UAAAosD,kBAAA,SAAAC,GACA,MAAAjtD,KAAAwsD,oBACAxsD,KAAAwsD,kBAAAS,EACAjtD,KAAAwsD,kBAAA1pB,cAAA,IAAAqoB,EAAAnjD,WAEAhI,KAAAusD,uBAAAxiB,KAAAC,OAEAzmC,EAAA3C,UAAAssD,iBAAA,SAAAD,GACA,MAAAjtD,KAAAwsD,mBAAAxsD,KAAAwsD,kBAAA5sD,KAAAqtD,EAAArtD,IACAI,KAAAwsD,kBAAA1pB,cAAA,IAAAqoB,EAAAljD,QAEAjI,KAAAwsD,kBAAA,KACAxsD,KAAAusD,uBAAA,MAEAhpD,EAAA3C,UAAAusD,qBAAA,WACA,OAAA,MAAAntD,KAAAusD,wBACA,EAEAxiB,KAAAC,MAAAhqC,KAAAusD,wBAEAhpD,EAAA3C,UAAAwsD,mBAAA,SAAAC,GACA,GAAAA,IAAArtD,KACA,MAAA,IAAA3B,MAAA,iDAEAgvD,EAAAz5C,QAIA,IAAA05C,EAAA1jD,EAAA2Q,KAAAva,KAAAisD,QACAjsD,KAAA4T,QACA,IAAA,IAAAxJ,EAAA,EAAAmjD,EAAAD,EAAAljD,EAAAmjD,EAAArsD,OAAAkJ,IAAA,CACA,IAAA09C,EAAAyF,EAAAnjD,GACA,GAAA,MAAA09C,EAAAhkD,SACA,MAAA,IAAAzF,MAAA,4BAAAypD,GAEA,GAAA,IAAA9oD,OAAAC,KAAAe,KAAAhC,aAAAkD,OACA,MAAA,IAAA7C,MAAA,2CAAA2B,KAAAhC,aAEA,IAAA,IAAA0M,EAAA,EAAA8iD,EAAAF,EAAA5iD,EAAA8iD,EAAAtsD,OAAAwJ,IAAA,CACA,IAAAo9C,EAAA0F,EAAA9iD,GACA2iD,EAAAI,SAAA3F,GAEAuF,EAAAK,UAAA1tD,KAAAgsD,SAGAzoD,EAAA3C,UAAAisD,wBAAA,WACA7sD,KAAAmsD,0BAAA,GAEA5oD,EAAA3C,UAAAmsD,uBAAA,WACA/sD,KAAAmsD,0BAAA,EACA,IAAAnsD,KAAAmsD,0BACAnsD,KAAA2tD,yBAGApqD,EAAA3C,UAAA2e,uBAAA,WACArgB,EAAAwB,OAAAC,MAAA,gCAEA,IAAAX,KAAAmsD,0BACAnsD,KAAA2tD,yBAGApqD,EAAA3C,UAAA+sD,sBAAA,WAEA,IADA,IAAAC,EAAA,IAAA/zB,EAAAgC,IACAzxB,EAAA,EAAAM,EAAA1K,KAAAisD,OAAA7hD,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACAwjD,EAAAA,EAAAxnB,MAAAvgB,EAAAhH,cAMA,IAJA,IAAAgvC,EAAA,IAAAh0B,EAAAgC,IAAA/9B,EAAAqV,OAAAnT,KAAAhC,cACA8vD,EAAAD,EAAAld,KAAAid,GACAG,EAAAH,EAAAjd,KAAAkd,GACAG,EAAA,GACA/iD,EAAA,EAAA4B,EAAA+gD,EAAAz6C,OAAAlI,EAAA4B,EAAA3L,OAAA+J,IAAA,CACA,IAAAgjD,EAAAphD,EAAA5B,GACA+iD,EAAAC,EAAAruD,IAAAquD,EAEA,IAAA,IAAAlhD,EAAA,EAAAmhD,EAAAJ,EAAA36C,OAAApG,EAAAmhD,EAAAhtD,OAAA6L,IAAA,CACA,IAAA+kC,EAAAoc,EAAAnhD,GACA+kC,EAAA9yB,kBACA8yB,aAAAyZ,EAAAI,OAAA,MAAA7Z,EAAA3zC,MACA6B,KAAAksD,oBAAA/b,aAAA2B,EAAA3zC,KAAA2zC,GAEA,IAAA,IAAAqc,EAAA,EAAAC,EAAAL,EAAA56C,OAAAg7C,EAAAC,EAAAltD,OAAAitD,IAAA,CACA,IAAAn+C,EAAAo+C,EAAAD,GACAn+C,EAAA+O,gBAAA/e,MACAgQ,aAAAu7C,EAAAI,OAAA,MAAA37C,EAAA7R,MACA6B,KAAAksD,oBAAAjc,UAAAjgC,EAAA7R,KAAA6R,GAEAhQ,KAAAhC,YAAAgwD,GAEAzqD,EAAA3C,UAAA0sD,MAAA,WACA,OAAAttD,KAAAisD,QAEA1oD,EAAA3C,UAAA6sD,SAAA,SAAArvD,EAAAkI,GAEA,GADApH,EAAAwB,OAAAC,MAAA,gBAAAvC,IACAwL,EAAAmqB,SAAA/zB,KAAAisD,OAAA7tD,GAAA,CAEA4B,KAAA6sD,0BACA,IACA7sD,KAAAisD,OAAAjhD,KAAA5M,GAEA,QACA4B,KAAA+sD,yBAEA/sD,KAAAquD,mBAAA,IAAA7C,EAAA8C,eAAAtuD,KAAA5B,EAAAkI,MAEA/C,EAAA3C,UAAAksD,YAAA,SAAA1uD,EAAAkI,GACA,IAAA2J,EAAAjQ,KAAAisD,OAAAtnB,QAAAvmC,GACA,KAAA6R,EAAA,GAAA,CAEAjQ,KAAA6sD,0BACA,IACA7sD,KAAAisD,OAAAtlB,OAAA12B,EAAA,GAEA,QACAjQ,KAAA+sD,yBAEA/sD,KAAAquD,mBAAA,IAAA7C,EAAA+C,iBAAAvuD,KAAA5B,EAAAkI,MAEA/C,EAAA3C,UAAA4tD,MAAA,WACA,OAAAxuD,KAAAgsD,QAEAzoD,EAAA3C,UAAA8sD,UAAA,SAAAc,EAAAloD,GACAkoD,IAAAxuD,KAAAgsD,SACAhsD,KAAAgsD,OAAAwC,EACAxuD,KAAAquD,mBAAA,IAAA7C,EAAAiD,kBAAAzuD,KAAAwuD,EAAAloD,MAGA/C,EAAA3C,UAAAsd,gBAAA,SAAA9W,GACA,OAAAA,KAAApH,KAAAhC,YACAgC,KAAAhC,YAAAoJ,GAGA,MAGA7D,EAAA3C,UAAA8tD,kBAAA,SAAAvwD,GACA,OAAA6B,KAAAksD,oBAAA7b,QAAAlyC,EAAA,8BAAAA,EAAA,MAEAoF,EAAA3C,UAAA8E,UAAA,SAAA0/C,GACAx7C,EAAAmqB,SAAA/zB,KAAAosD,WAAAhH,IACAplD,KAAAosD,WAAAphD,KAAAo6C,IAEA7hD,EAAA3C,UAAAuF,iBAAA,SAAAi/C,GACA,IAAAn1C,EAAAjQ,KAAAosD,WAAAznB,QAAAygB,GACAn1C,GAAA,GACAjQ,KAAAosD,WAAAzlB,OAAA12B,EAAA,IAEA1M,EAAA3C,UAAAytD,mBAAA,SAAA5sD,GACA,IAAA,IAAA2I,EAAA,EAAAM,EAAA1K,KAAAosD,WAAAhiD,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAukD,EAAAjkD,EAAAN,GACAukD,EAAAltD,KAIA8B,EAAA3C,UAAA4e,eAAA,SAAAphB,EAAAoI,EAAAmW,EAAAsC,EAAAlV,GACA,SAAAvD,IACAxG,KAAAksD,oBAAA/b,aAAAxzB,EAAAve,GACA,MAAA6gB,GACAjf,KAAAksD,oBAAAjc,UAAAhxB,EAAA7gB,IAEA,IAAAkI,EAAA,MAAAyD,EAAAA,EAAAzD,eAAA,EACAsoD,EAAA,MAAA7kD,EAAAA,EAAA6kD,UAAA,EACA5uD,KAAAquD,mBAAA,IAAA7C,EAAAjlD,kBAAAvG,KAAA5B,EAAAoI,EAAAmW,EAAAsC,EAAA3Y,EAAAsoD,KAEArrD,EAAAsrD,iBAAA,SAAAhwC,EAAAlB,QACA,IAAAA,IACAA,GAAA,GAGA,IADA,IAAAmxC,EAAA,GACA1kD,EAAA,EAAA2kD,EAAAlwC,EAAAzU,EAAA2kD,EAAA7tD,OAAAkJ,IAAA,CACA,IAAAyb,EAAAkpC,EAAA3kD,GACAyS,EAAAgJ,EAAAhJ,MACAA,EAAA5D,WAAA4M,EAAAnI,mBAAAC,UAEAd,EAAA5D,WAAArZ,GACAkvD,EAAA9jD,KAAA6R,GAEA,OAAAiyC,GAEAvrD,EAAAyrD,oBAAA,SAAAC,EAAAC,EAAAC,GACA,IAAAC,EAAAvoD,EAAAiB,SAAA,GAAAqnD,EAAA,CAAAvvD,GAAAqvD,EAAAp1C,cAAA,IACAzb,EAAA6sD,EAAA/sD,OAAAgxD,GACA,OAAA,IAAA9wD,EAAAgxD,IAIA7rD,EAAA8rD,6BAAA,SAAAP,EAAAQ,GAGA,IADA,IAAAzwC,EAAA,GACAzU,EAAA,EAAAmlD,EAAAT,EAAA1kD,EAAAmlD,EAAAruD,OAAAkJ,IAAA,CACA,IAAAoQ,EAAA+0C,EAAAnlD,GACA6kD,EAAAz0C,EAAA5a,GACAsvD,EAAA10C,EAAAjB,KACA41C,EAAA30C,EAAAvB,YAAA,GACAu2C,OAAA,EACAP,KAAAK,EACAE,EAAAF,EAAAL,IAEAO,EAAAjsD,EAAAyrD,oBAAAC,EAAAC,EAAAC,GACA,MAAA30C,EAAAwC,SACAwyC,EAAAzyC,YAAAvC,EAAAwC,UAEA6B,EAAA2wC,EAAA5vD,IAAA4vD,EAEA,OAAA3wC,GAIAtb,EAAAksD,cAAA,SAAA5jD,EAAA6jD,EAAAC,GACA,SAAAC,EAAAryC,GACA,GAAAhF,EAAA0F,OAAAV,GAAA,CACA,GAAAA,EAAA3d,MAAA8vD,EACA,OAAAA,EAAAnyC,EAAA3d,IACA,GAAA2d,EAAA3d,MAAA+vD,EACA,OAAAA,EAAApyC,EAAA3d,IAEA,MAAA,IAAAvB,MAAA,aAAA2H,KAAAC,UAAAsX,GAAA,mCAEA,OAAAnS,EAAAa,QAAAsR,GAOA,SAAAuC,GAEA,IADA,IAAA2lB,EAAA,GACAr7B,EAAA,EAAA+7B,EAAArmB,EAAA1V,EAAA+7B,EAAAjlC,OAAAkJ,IAAA,CACA,IAAAmT,EAAA4oB,EAAA/7B,GACAq7B,EAAAz6B,KAAA4kD,EAAAryC,IAEA,OAAAkoB,EAZAoqB,CAAAtyC,GACAnS,EAAAc,cAAAqR,GAaA,SAAAuyC,GACA,IAAAC,EAAA,GACA,IAAA,IAAAzxC,KAAAwxC,EAAA,CACA,IAAAvyC,EAAAuyC,EAAAxxC,GACAyxC,EAAAzxC,GAAAsxC,EAAAryC,GAEA,OAAAwyC,EAlBAC,CAAAzyC,GAEAA,EAkBA,OAAAqyC,EAAA/jD,IAKAtI,EAAA0sD,4BAAA,SAAAnB,EAAAY,EAAAC,GAEA,IADA,IAAAO,EAAA,GACA9lD,EAAA,EAAA+lD,EAAArB,EAAA1kD,EAAA+lD,EAAAjvD,OAAAkJ,IAAA,CACA,IAAAoQ,EAAA21C,EAAA/lD,GACA6kD,EAAAz0C,EAAA5a,GACAuvD,EAAA30C,EAAAvB,WACAm3C,IAAAnB,KAAAS,GACAF,EAAAY,EAAAT,EAAAV,GAAAS,EAAAT,GAEAoB,EAAA9sD,EAAAksD,cAAAN,EAAAO,EAAAC,GACAO,EAAAV,EAAA5vD,IAAA,CAAA4vD,EAAAa,EAAAD,GAEA,SAAAE,EAAAhqC,EAAA/Y,GACA,IAAAgjD,EAAA,GACA,SAAAC,EAAAjzC,GACA,GAAAA,aAAAua,EAAApf,UAEA,KAAA6E,EAAA3d,MAAA2wD,IAAAhzC,EAAA3d,MAAA0mB,EAAA,CACAiqC,EAAAhzC,EAAA3d,KAAA,EACA,IAAA8K,EAAA4b,EAAA/I,EAAA3d,IAAA2L,EAAAb,EAAA,GAAA0lD,EAAA1lD,EAAA,GACA,IAAA,IAAAsF,KAAAzE,EAAA,CACA,IAAAlH,EAAAkH,EAAAyE,GACAwgD,EAAAnsD,GAEAkJ,EAAAgQ,EAAAhS,EAAA6kD,SAGA,GAAAhlD,EAAAa,QAAAsR,GACA,IAAA,IAAAnT,EAAA,EAAAgU,EAAAb,EAAAnT,EAAAgU,EAAAld,OAAAkJ,IAAA,CACA,IAAA/F,EAAA+Z,EAAAhU,GACAomD,EAAAnsD,QAGA,GAAA+G,EAAAc,cAAAqR,GACA,IAAA,IAAAe,KAAAf,EAAA,CACA,IAAAlZ,EAAAkZ,EAAAe,GACAkyC,EAAAnsD,IAIA,IAAA,IAAAia,KAAAgI,EAAA,CACA,IAAA5b,EAAA4b,EAAAhI,GAAAkxC,EAAA9kD,EAAA,GACA8lD,EAAAhB,IAIAc,EAAAJ,EAAA,SAAAV,EAAAjkD,EAAA6kD,GACAA,GACAZ,EAAA/1C,KAAAlO,EAAA,CAAAoO,QAAA,MAGA22C,EAAAJ,EAAA,SAAAV,EAAAiB,EAAAL,GACAA,GACAZ,EAAA11C,cAGAvW,EAAAmtD,4BAAA,SAAAC,EAAAtkD,EAAAukD,EAAAztD,EAAA0tD,GACA,IAAAC,EAAA3tD,EAAA+a,gBAAAyyC,EAAA/wD,IACA,GAAAkxD,EAAA7zC,0BAAA5Q,GAEA,CACA,IAAA0kD,EAAA,CACAn5B,KAAA,eACAx5B,MAAA,CACAwB,GAAA+wD,EAAA/wD,GACA2Z,KAAAo3C,EAAAp3C,MAEA/S,KAAA6F,EACA2kD,IAAAJ,GAGA,OADA94B,EAAApf,SAAAoF,wBAAA3a,EAAAytD,EAAAC,GAAA,GACAE,EAZA,OAAA,MAeAxtD,EAAA0tD,wBAAA,SAAAC,EAAAC,EAAAC,EAAAP,GAOA,IANA,IAAAQ,EAAAryD,OAAAC,KAAAiyD,EAAAj4C,YACAq4C,EAAAtyD,OAAAC,KAAAkyD,EAAAl4C,YACAyuC,EAAA99C,EAAAM,WAAAmnD,EAAAC,GACAC,EAAA3nD,EAAAM,WAAAonD,EAAAD,GACArxB,EAAAp2B,EAAAy8B,aAAAgrB,EAAAC,GACA3tD,EAAA,GACAyG,EAAA,EAAAonD,EAAA9J,EAAAt9C,EAAAonD,EAAAtwD,OAAAkJ,IAAA,CACA,IAAAiC,EAAAmlD,EAAApnD,GAOAlL,EAAAwB,OAAA5B,KAAA,mBAAAuN,EAAA,6CAEA,IAAA,IAAA3B,EAAA,EAAA+mD,EAAAF,EAAA7mD,EAAA+mD,EAAAvwD,OAAAwJ,IAAA,CACA,IAAA2B,EAAAolD,EAAA/mD,GACAkmD,EAAAO,EAAAl4C,WAAA5M,GACA1I,EAAAqH,KAAAzH,EAAAmtD,4BAAAQ,EAAA7kD,EAAAukD,EAAAQ,EAAAP,IAEA,IAAA,IAAA5lD,EAAA,EAAAymD,EAAA1xB,EAAA/0B,EAAAymD,EAAAxwD,OAAA+J,IAAA,CACA,IAAAoB,EAAAqlD,EAAAzmD,GACA0mD,EAAAT,EAAAj4C,WAAA5M,GACAukD,EAAAO,EAAAl4C,WAAA5M,GACA,MAAAslD,GAAA,MAAAf,IAEA,MAAAe,GAAA,MAAAf,EACAjtD,EAAAqH,KAAAzH,EAAAmtD,4BAAAQ,EAAA7kD,EAAAukD,EAAAQ,EAAAP,IAGAp4C,EAAA6D,QAAAq1C,EAAAf,IACAjtD,EAAAqH,KAAAzH,EAAAmtD,4BAAAQ,EAAA7kD,EAAAukD,EAAAQ,EAAAP,KAGA,OAAAltD,EAAA8G,OAAA,SAAApG,GAAA,OAAA,MAAAA,KAIAd,EAAAG,0BAAA,SAAAF,EAAA4tD,GACA,IAAAlrD,EAAAkrD,EAAAlrD,SAAA,GACA,SAAA0rD,EAAAC,GAEA,IADA,IAAA9zC,EAAA,GACA3T,EAAA,EAAAM,EAAAmnD,EAAAvE,MAAAzuC,WAAAzU,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAoQ,EAAA9P,EAAAN,GACA2T,EAAAvD,EAAA5a,IAAA4a,EAEA,OAAAuD,EAKA,IAHA,IAAA+zC,EAAAF,EAAApuD,GACAuuD,EAAA,GACAC,EAAA,GACA5nD,EAAA,EAAAM,EAAAlH,EAAA8pD,MAAA2E,SAAA7nD,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACA2nD,EAAAlsC,GAAAisC,EAAAjsC,GACAmsC,EAAAhnD,KAAA6a,GAKA,IAHA,IAAAqsC,EAAAN,EAAA1rD,GACAisD,EAAA,GACAC,EAAA,GACAnnD,EAAA,EAAA4B,EAAA3G,EAAAonD,MAAA2E,SAAAhnD,EAAA4B,EAAA3L,OAAA+J,IAAA,CACA,IAAA4a,EAAAhZ,EAAA5B,GACAknD,EAAAtsC,GAAAqsC,EAAArsC,GACAusC,EAAApnD,KAAA6a,GAIA,GAFAmsC,EAAAhsB,OACAosB,EAAApsB,OACAp8B,EAAAM,WAAA8nD,EAAAI,GAAAlxD,OAAA,GACA0I,EAAAM,WAAAkoD,EAAAJ,GAAA9wD,OAAA,EAGA,MAAA,IAAA7C,MAAA,2DAEA,IAAAwyD,EAAA,GACAltD,EAAA,GACA,IAAA,IAAA/D,KAAAwxD,EAAApzD,YACA,GAAA4B,KAAAkyD,EAAA,CACA,IAAAO,EAAA9uD,EAAA0tD,wBAAAa,EAAAlyD,GAAAsyD,EAAAtyD,GAAAwxD,EAAAP,GACAltD,EAAAA,EAAAgM,OAAA0iD,GAGA,MAAA,CACAxzC,WAAAtb,EAAAsrD,iBAAA/wD,EAAAqV,OAAA09C,IAAA,GACAltD,OAAAA,IAGAJ,EAAA3C,UAAA0xD,eAAA,SAAA30C,GAIA,YAHA,IAAAA,IACAA,GAAA,GAEA3X,KAAAC,UAAAjG,KAAAkG,QAAAyX,KAEApa,EAAA3C,UAAAsF,QAAA,SAAAyX,QACA,IAAAA,IACAA,GAAA,GAEA,IAAAs0C,EAAAjyD,KAAAisD,OAAA9hD,IAAA,SAAA0b,GAAA,OAAAA,EAAAjmB,KACA2yD,EAAAz0D,EAAAqV,OAAAnT,KAAAhC,aACA,MAAA,CACAw0D,QAAAtH,EAAAsH,QACAhE,MAAAxuD,KAAAgsD,OACAsB,MAAA,CACA2E,SAAAA,EACApzC,WAAAtb,EAAAsrD,iBAAA0D,EAAA50C,MAIApa,EAAAkvD,iBAAA,SAAA5Z,GACA,IAAAgZ,EAAA7rD,KAAAsvC,MAAAuD,GACA,OAAAt1C,EAAAC,UAAAquD,IAEAtuD,EAAAC,UAAA,SAAAquD,GACA3yD,EAAAwB,OAAAC,MAAA,+BACA,IAAA+xD,EAAAb,EAAAW,QACAG,GAAA,IAAAD,EAAA/tB,QAAA,OAAA,IAAA+tB,EAAA/tB,QAAA,KACAiuB,EAAA,yBAAA1H,EAAAsH,QAAA,eAAAE,EAAA,IACAC,GAAAzH,EAAAsH,UAAAE,EAKAxzD,EAAAwB,OAAAC,MAAAiyD,IAJA1zD,EAAAwB,OAAA5B,KAAA,8BACAI,EAAAwB,OAAA5B,KAAA8zD,IAIA,IAAAC,EAAAhB,EAAAvE,MACA2E,EAAAY,EAAAZ,SACAnD,EAAA+D,EAAAh0C,WACAA,EAAAtb,EAAA8rD,6BAAAP,EAAA,IACAvrD,EAAA0sD,4BAAAnB,EAAA,GAAAjwC,GAEA,IADA,IAAA1b,EAAA,IAAAI,EACA6G,EAAA,EAAA0oD,EAAAb,EAAA7nD,EAAA0oD,EAAA5xD,OAAAkJ,IAAA,CACA,IAAAyb,EAAAitC,EAAA1oD,GACAjH,EAAAsqD,SAAA5uC,EAAAgH,IAGA,OADA1iB,EAAAuqD,UAAAmE,EAAArD,OACArrD,GAEAI,EAAA3C,UAAAmD,kBAAA,SAAA8tD,GACA,IAAA7gD,EAAAzN,EAAAC,UAAAquD,GACA7gD,EAAAo8C,mBAAAptD,OAEAuD,EAAA3C,UAAAmyD,yBAAA,SAAApvD,GACA,OAAAqC,KAAAC,UAAAjG,KAAA0G,kBAAA/C,KAEAJ,EAAA3C,UAAA8F,kBAAA,SAAA/C,GAGA,IAFA,IAAAkb,EAAA,GACAm0C,EAAA,GACA5oD,EAAA,EAAA6oD,EAAAtvD,EAAAyG,EAAA6oD,EAAA/xD,OAAAkJ,IAAA,CACA,IAAA8oD,EAAAD,EAAA7oD,GACA,GAAA8oD,EAAApvD,WAAA9D,KAEA,MADAd,EAAAwB,OAAA5B,KAAA,2EAAAo0D,EAAApvD,SAAA,WAAA9D,MACA,IAAA3B,MAAA,gEAEA20D,EAAAhoD,KAAAkoD,EAAArB,KAAAhzC,IAEA,MAAA,CACAlb,OAAAqvD,EACAn0C,WAAAtb,EAAAsrD,iBAAA/wD,EAAAqV,OAAA0L,MAGAtb,EAAA3C,UAAA+F,iBAAA,SAAAlD,EAAAmD,EAAAN,GACA,IAAAoE,OACA,IAAA9D,IACAA,EAAA,IAMA,IAJA,IAAAkoD,EAAArrD,EAAAob,WACAs0C,EAAA1vD,EAAAE,OACAkb,EAAAtb,EAAA8rD,6BAAAP,EAAA9uD,KAAAhC,aAEAoM,EAAA,EAAAgpD,EAAAD,EAAA/oD,EAAAgpD,EAAAlyD,OAAAkJ,IAAA,CACA,IAAAipD,EAAAD,EAAAhpD,GACA,OAAAipD,EAAAz7B,MACA,IAAA,YACA,IAAA,cACA,IAAA,eACA,IAAAxwB,EAAAisD,EAAAj1D,MAAAwB,GACA,GAAAwH,KAAApH,KAAAhC,YACA6gB,EAAAzX,GAAApH,KAAAhC,YAAAoJ,QAGA,KAAAA,KAAAyX,GAEA,MADA3f,EAAAwB,OAAA5B,KAAA,kCAAAu0D,EAAAj1D,OACA,IAAAC,MAAA,6BAQA,IAAAqxD,EAAA,GACAC,EAAA,GACA,IAAA,IAAA/vD,KAAAif,EAAA,CACA,IAAAhT,EAAAgT,EAAAjf,GACAA,KAAAI,KAAAhC,YACA0xD,EAAA9vD,GAAAiM,EAEA8jD,EAAA/vD,GAAAiM,EAEAtI,EAAA0sD,4BAAAnB,EAAAY,EAAAC,GACA,IAAA,IAAA1kD,EAAA,EAAAqoD,EAAAH,EAAAloD,EAAAqoD,EAAApyD,OAAA+J,IAAA,CACA,IAAAooD,EAAAC,EAAAroD,GACA,OAAAooD,EAAAz7B,MACA,IAAA,eACA,IAAA27B,EAAAF,EAAAj1D,MAAAwB,GACA,KAAA2zD,KAAAvzD,KAAAhC,aACA,MAAA,IAAAK,MAAA,yBAAAk1D,EAAA,iCAEA,IAAAC,EAAAxzD,KAAAhC,YAAAu1D,GACA/sD,EAAA6sD,EAAA7sD,KACAitD,EAAAJ,EAAAj1D,MAAAmb,KAEA,GAAA,SAAA/S,GAAA,qBAAAitD,EAAA,CACA,IAAA5mD,EAAAu+C,EAAAtT,mBAAAub,EAAArC,IAAApqD,GAAAxC,EAAAyI,EAAA,GAAAsqC,EAAAtqC,EAAA,GACA2mD,EAAA/5C,KAAA,CAAAuG,QAAAm3B,EAAA/yC,KAAAA,GAAA,CAAAkC,UAAAA,QAEA,CACA,IAAAuF,EAAAtI,EAAAksD,cAAA4D,EAAArC,IAAAtB,EAAAC,GACA6D,EAAA/5C,OAAA/O,EAAA,IAAAlE,GAAAqF,EAAAnB,GAAA,CAAApE,UAAAA,IAEA,MAEA,IAAA,oBACA,IAAAotD,EAAAL,EAAAM,cAAA/zD,GACA,KAAA8zD,KAAA1zD,KAAAhC,aACA,MAAA,IAAAK,MAAA,oBAAAq1D,EAAA,iCAEA,IAAAC,EAAA3zD,KAAAhC,YAAA01D,GACA3mD,EAAAq+C,EAAAtT,mBAAAub,EAAArC,IAAApqD,GAAAxC,EAAA2I,EAAA,GAAAoqC,EAAApqC,EAAA,GACA,GAAA,MAAAsmD,EAAA7sC,KAAA,CACA,IAAA,IAAAlI,KAAAq1C,EAAAvvD,KACAka,KAAAla,IACAA,EAAAka,GAAAq1C,EAAAvvD,KAAAka,IAGA,IAAA,IAAAA,KAAAq1C,EAAA3zC,QACA1B,KAAA64B,IACAA,EAAA74B,GAAAq1C,EAAA3zC,QAAA1B,IAIAq1C,EAAAl6C,KAAA,CACAuG,QAAAm3B,EACA/yC,KAAAA,GACA,CACAkC,UAAAA,EACA2V,UAAA,IAEA,MAEA,IAAA,kBACA,IAAAy3C,EAAAL,EAAAM,cAAA/zD,GACA,KAAA8zD,KAAA1zD,KAAAhC,aACA,MAAA,IAAAK,MAAA,oBAAAq1D,EAAA,iCAEA,IAAAC,EAAA3zD,KAAAhC,YAAA01D,GACA,KAAAC,aAAArI,EAAAsI,kBACA,MAAA,IAAAv1D,MAAA,yCAEA,IAAA+F,EAAAivD,EAAAjvD,KACAyvD,EAAAR,EAAAQ,SACAF,EAAAG,OAAA1vD,EAAAyvD,EAAAvtD,GACA,MAEA,IAAA,iBACA,IAAAotD,EAAAL,EAAAM,cAAA/zD,GACA,KAAA8zD,KAAA1zD,KAAAhC,aACA,MAAA,IAAAK,MAAA,gBAAAq1D,EAAA,iCAEA,IAAAC,EAAA3zD,KAAAhC,YAAA01D,GACA,KAAAC,aAAArI,EAAAsI,kBACA,MAAA,IAAAv1D,MAAA,qCAEA,IAAA01D,EAAAV,EAAAU,QACAJ,EAAAlwD,MAAAswD,EAAAztD,GACA,MAEA,IAAA,YACA,IAAA0tD,EAAAX,EAAAj1D,MAAAwB,GACAq0D,EAAAp1C,EAAAm1C,GACAh0D,KAAAytD,SAAAwG,EAAA3tD,GACA,MAEA,IAAA,cACA,IAAA0tD,EAAAX,EAAAj1D,MAAAwB,GACAq0D,EAAAp1C,EAAAm1C,GACAh0D,KAAA8sD,YAAAmH,EAAA3tD,GACA,MAEA,IAAA,eACAtG,KAAA0tD,UAAA2F,EAAA7E,MAAAloD,GACA,MAEA,QACA,MAAA,IAAAjI,MAAA,uBAAA2H,KAAAC,UAAAotD,OAIA9vD,EA9pBA,GAgqBA3F,EAAA2F,SAAAA,GC/sBA,SAAA7F,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAo6B,EAAAp6B,EAAA,GACAw2D,EACA,SAAApwD,GACA9D,KAAA8D,SAAAA,GAIAlG,EAAAs2D,qBAAAA,EACA,IAAA3tD,EAAA,SAAAe,GAEA,SAAAf,EAAAzC,EAAA1F,EAAAoI,EAAAmW,EAAAsC,EAAA3Y,EAAAsoD,GACA,IAAA9tD,EAAAwG,EAAAO,KAAA7H,KAAA8D,IAAA9D,KAOA,OANAc,EAAA1C,MAAAA,EACA0C,EAAA0F,KAAAA,EACA1F,EAAA6b,IAAAA,EACA7b,EAAAme,KAAAA,EACAne,EAAAwF,UAAAA,EACAxF,EAAA8tD,KAAAA,EACA9tD,EA2BA,OApCA+F,EAAAY,UAAAlB,EAAAe,GAWAf,EAAA3F,UAAAixD,KAAA,SAAAhzC,GACA,GAAA,OAAA7e,KAAAwG,KACA,MAAA,IAAAnI,MAAA,sEAEA,GAAA,MAAA2B,KAAA4uD,KACA,OAAA5uD,KAAA4uD,KAAAiD,KAAAhzC,GACA,IAAAhT,EAAA7L,KAAAif,KACAk1C,EAAAr8B,EAAApf,SAAAyE,eAAAnd,KAAAwG,KAAAqF,EAAA7L,KAAA5B,OACAyyD,EAAA,GAOA,IAAA,IAAAjxD,KANAk4B,EAAApf,SAAAyF,yBAAAtS,EAAAglD,GAAA,GACA7wD,KAAA5B,MAAAwB,MAAAixD,GAAA7wD,KAAA5B,QAAAyN,UAGAglD,EAAA7wD,KAAA5B,MAAAwB,IAEAixD,EACAhyC,EAAAjf,GAAAixD,EAAAjxD,GAEA,MAAA,CACAg4B,KAAA,eACAx5B,MAAA4B,KAAA5B,MAAAye,MACArW,KAAAxG,KAAAwG,KACAwqD,IAAAmD,IAGA5tD,EArCA,CAsCA2tD,GACAt2D,EAAA2I,kBAAAA,EACA,IAAA6tD,EAAA,SAAA9sD,GAEA,SAAA8sD,EAAAtwD,EAAA6vD,EAAAI,GACA,IAAAjzD,EAAAwG,EAAAO,KAAA7H,KAAA8D,IAAA9D,KAGA,OAFAc,EAAA6yD,cAAAA,EACA7yD,EAAAizD,QAAAA,EACAjzD,EASA,OAdA+F,EAAAY,UAAA2sD,EAAA9sD,GAOA8sD,EAAAxzD,UAAAixD,KAAA,SAAAwC,GACA,MAAA,CACAz8B,KAAA,iBACA+7B,cAAA3zD,KAAA2zD,cACAI,QAAA/zD,KAAA+zD,UAGAK,EAfA,CAgBAF,GACAt2D,EAAAw2D,oBAAAA,EACA,IAAAE,EAAA,SAAAhtD,GAEA,SAAAgtD,EAAAxwD,EAAA6vD,EAAAvvD,EAAAyvD,GACA,IAAA/yD,EAAAwG,EAAAO,KAAA7H,KAAA8D,IAAA9D,KAIA,OAHAc,EAAA6yD,cAAAA,EACA7yD,EAAAsD,KAAAA,EACAtD,EAAA+yD,SAAAA,EACA/yD,EAUA,OAhBA+F,EAAAY,UAAA6sD,EAAAhtD,GAQAgtD,EAAA1zD,UAAAixD,KAAA,SAAAwC,GACA,MAAA,CACAz8B,KAAA,kBACA+7B,cAAA3zD,KAAA2zD,cACAvvD,KAAApE,KAAAoE,KACAyvD,SAAA7zD,KAAA6zD,WAGAS,EAjBA,CAkBAJ,GACAt2D,EAAA02D,qBAAAA,EACA,IAAA7F,EAAA,SAAAnnD,GAEA,SAAAmnD,EAAA3qD,EAAA0qD,EAAAloD,GACA,IAAAxF,EAAAwG,EAAAO,KAAA7H,KAAA8D,IAAA9D,KAGA,OAFAc,EAAA0tD,MAAAA,EACA1tD,EAAAwF,UAAAA,EACAxF,EAQA,OAbA+F,EAAAY,UAAAgnD,EAAAnnD,GAOAmnD,EAAA7tD,UAAAixD,KAAA,SAAAwC,GACA,MAAA,CACAz8B,KAAA,eACA42B,MAAAxuD,KAAAwuD,QAGAC,EAdA,CAeAyF,GACAt2D,EAAA6wD,kBAAAA,EACA,IAAAH,EAAA,SAAAhnD,GAEA,SAAAgnD,EAAAxqD,EAAA1F,EAAAkI,GACA,IAAAxF,EAAAwG,EAAAO,KAAA7H,KAAA8D,IAAA9D,KAGA,OAFAc,EAAA1C,MAAAA,EACA0C,EAAAwF,UAAAA,EACAxF,EASA,OAdA+F,EAAAY,UAAA6mD,EAAAhnD,GAOAgnD,EAAA1tD,UAAAixD,KAAA,SAAAhzC,GAEA,OADAiZ,EAAApf,SAAAyF,yBAAAne,KAAA5B,MAAAygB,GAAA,GACA,CACA+Y,KAAA,YACAx5B,MAAA4B,KAAA5B,MAAAye,QAGAyxC,EAfA,CAgBA4F,GACAt2D,EAAA0wD,eAAAA,EACA,IAAAC,EAAA,SAAAjnD,GAEA,SAAAinD,EAAAzqD,EAAA1F,EAAAkI,GACA,IAAAxF,EAAAwG,EAAAO,KAAA7H,KAAA8D,IAAA9D,KAGA,OAFAc,EAAA1C,MAAAA,EACA0C,EAAAwF,UAAAA,EACAxF,EAQA,OAbA+F,EAAAY,UAAA8mD,EAAAjnD,GAOAinD,EAAA3tD,UAAAixD,KAAA,SAAAwC,GACA,MAAA,CACAz8B,KAAA,cACAx5B,MAAA4B,KAAA5B,MAAAye,QAGA0xC,EAdA,CAeA2F,GACAt2D,EAAA2wD,iBAAAA,GC3IA,SAAA7wD,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmJ,EAAA0tD,aAAA72D,EAAA,IAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,IAAAE,ICHA,SAAAF,EAAAC,EAAAC,GACA,IAAA2sB,EAAA7sB,EAAA,GAIA,SAAA82D,EAAAC,GACA,IAAAhpD,EAAA3H,SAAA4wD,eAAAD,GACA,GAAA,MAAAhpD,EACA,MAAA,IAAApN,MAAA,gDAAAo2D,EAAA,aACA,IAAA3wD,SAAAmR,KAAAzB,SAAA/H,GACA,MAAA,IAAApN,MAAA,yCAAAo2D,EAAA,yBAEA,GAAA,UAAAhpD,EAAAyJ,QAAA,CACA,IAAAy/C,EAAApqC,EAAA3a,IAAA,CAAAuF,MAAAvX,EAAAg3D,aACArqC,EAAAxZ,YAAAtF,EAAAkpD,GACAlpD,EAAAkpD,EAEA,OAAAlpD,EAbA7N,EAAAg3D,WAAA,UAsBAh3D,EAAAi3D,iBAPA,SAAAjtD,GACA,IAAA6sD,EAAA7sD,EAAA6sD,UACA,OAAA,MAAAA,EACAD,EAAAC,GAEA3wD,SAAAmR,MAWArX,EAAAk3D,uBARA,SAAAltD,GACA,IAAA0lD,EAAA,GACA,GAAA,MAAA1lD,EAAA0lD,MACA,IAAA,IAAA0G,KAAApsD,EAAA0lD,MACAA,EAAA0G,GAAAQ,EAAA5sD,EAAA0lD,MAAA0G,IAEA,OAAA1G,ICjCA,SAAA5vD,EAAAC,EAAAC,GACA,IAAAuB,EAAAzB,EAAA,IACAwB,EAAAxB,EAAA,IACAo8B,EAAAp8B,EAAA,IACA8a,EAAA9a,EAAA,IACA0N,EAAA1N,EAAA,IACAq3D,EAAAr3D,EAAA,IACAs3D,EAAAt3D,EAAA,IACA6sB,EAAA7sB,EAAA,IACAu3D,EAAAv3D,EAAA,IACAE,EAAAs3D,wBAAAD,EAAAC,wBACAt3D,EAAAmiC,MAAAk1B,EAAAl1B,MACA,IAAAo1B,EAAAz3D,EAAA,IACAE,EAAAw3D,0BAAAD,EAAAC,0BACA,IAAAC,EAAA33D,EAAA,IACAE,EAAA03D,qBAAAD,EAAAC,qBACA13D,EAAA23D,QAAAF,EAAAE,QACA,IAAAC,EAAA93D,EAAA,IAyBA,SAAA+3D,EAAAC,EAAAC,EAAAC,EAAAC,GACAzqD,EAAAW,SAAA2pD,KACAA,EAAA1vD,KAAAsvC,MAAA98B,EAAA6gC,SAAAqc,KACA,IAAAI,EAAA,GACA,IAAA,IAAAC,KAAAL,EAAA,CACA,IAAAryD,EAAAqyD,EAAAK,GACAD,EAAAC,GAAA52D,EAAAoE,SAAAC,UAAAH,GAEA,IAAA,IAAA+G,EAAA,EAAA4rD,EAAAL,EAAAvrD,EAAA4rD,EAAA90D,OAAAkJ,IAAA,CACA,IAAAxC,EAAAouD,EAAA5rD,GACAqB,EAAA8e,EAAAsqC,iBAAAjtD,GACA0lD,EAAA/iC,EAAAuqC,uBAAAltD,GACA,GAAA,MAAAA,EAAAmuD,MACAhB,EAAAG,wBAAAY,EAAAluD,EAAAmuD,OAAAtqD,EAAA6hD,EAAA1lD,EAAAquD,mBAEA,CAAA,GAAA,MAAAruD,EAAAsuD,UAWA,MAAA,IAAA73D,MAAA,4EAVA,IAAA83D,EAAAnB,EAAAoB,YAAAR,EAAAC,GACA32D,EAAAwB,OAAAC,MAAA,2BAAAw1D,GACA,IAAA1zD,EAAAuyD,EAAAI,0BAAAe,EAAAvuD,EAAAsuD,UAAAzqD,EAAA6hD,EAAA1lD,EAAAquD,eACAxzD,EAAAE,KAAA,WACA9D,QAAAmzB,IAAA,2CACA,SAAAjwB,GACAlD,QAAAmzB,IAAA,+BAAAjwB,OA9CAnE,EAAAg3D,WAAAY,EAAAZ,WAeAh3D,EAAAy4D,WAdA,SAAAzuD,EAAA0uD,GACA,IAAA5rD,EACAgrD,EAAA,GACAa,EAAA/9C,EAAAogC,QACA8c,EAAAa,GAAA3uD,EAAAzE,IACA,MAAAmzD,IACAA,EAAA1uD,EAAA0uD,WACA,IAAA7qD,EAAA3H,SAAA4wD,eAAA4B,GACA,MAAA7qD,GACAA,EAAAE,UAAAC,IAAA2e,EAAAqqC,YACA,IACA4B,EAAA,CAAAlJ,QADA5iD,EAAA,IAAA9C,EAAAosD,SAAAsC,EAAA5rD,GACAqrD,MAAAQ,GACAz8B,EAAAiC,MAAA,WAAA,OAAA05B,EAAAC,EAAA,CAAAc,OAUA54D,EAAA64D,YAHA,SAAAf,EAAAC,EAAAC,EAAAC,GACA/7B,EAAAiC,MAAA,WAAA,OAAA05B,EAAAC,EAAAC,EAAAC,EAAAC,OCvCA,SAAAn4D,EAAAC,EAAAC,GACA,IAAAuB,EAAAzB,EAAA,IACA2B,EAAA3B,EAAA,KACAwB,EAAAxB,EAAA,IACAI,EAAAJ,EAAA,IACAq3D,EAAAr3D,EAAA,IACA6sB,EAAA7sB,EAAA,IAKA,SAAAg5D,EAAAr8B,EAAAs8B,GACAA,EAAA/vD,QAAA1F,OAAA,EACAm5B,EAAAl2B,QAAAwyD,EAAA/vD,QAAA,GAAA8X,QAEA2b,EAAAl2B,QAAAwyD,EAAA9zD,QAAAuB,MACA,IAAAI,EAAA61B,EAAA93B,QACA,MAAAiC,GACAxE,KAAA2G,iBAAAnC,EAAA3B,QAAA2B,EAAAoC,SAEA,SAAAgwD,EAAA70B,EAAA5+B,GACA,GAAA,oBAAA0zD,SAAA,MAAAA,QAAAC,SAAAC,OAAA,CACA73D,EAAAwB,OAAA2B,KAAA,wCAAA0/B,GACA,IAAAi1B,EAAAH,QAAAC,SAAAC,OAAAC,aACA,IACAA,EAAAC,gBAAAl1B,EAAA,SAAAm1B,GACAh4D,EAAAwB,OAAA2B,KAAA,wCAAA0/B,GACA,IAAAlc,EAAA,IAAAxmB,EAAAoB,SACAy2D,EAAAC,OAAAT,EAAA3kC,KAAA5uB,EAAA0iB,MAGA,MAAAxhB,GACAnF,EAAAwB,OAAA5B,KAAA,6FAAAuF,EAAA,WAGA,GAAAlB,EAAAmqD,QAAA,GAAA1tD,MAAAhC,EAAA23D,QAAA,CACAr2D,EAAAwB,OAAA2B,KAAA,2CAAA0/B,GACA,IAAAg1B,EAAAn5D,EAAA23D,QAAApyD,EAAAmqD,QAAA,GAAA1tD,IACA,IACAm3D,EAAAK,mBAAAr1B,EAAA,SAAAm1B,GACAh4D,EAAAwB,OAAA2B,KAAA,2CAAA0/B,GACA,IAAAlc,EAAA,IAAAxmB,EAAAoB,SACAy2D,EAAAG,MAAAX,EAAA3kC,KAAA5uB,EAAA0iB,KAGA,MAAAxhB,GACAnF,EAAAwB,OAAA5B,KAAA,6FAAAuF,EAAA,WAIAxF,QAAAC,KAAA,gNAxCAlB,EAAA23D,QAAA,GAwDA33D,EAAA03D,qBAbA,SAAAI,EAAAC,GACA,GAAA,GAAA73D,EAAAoR,KAAAwmD,GACA,MAAA,IAAAr3D,MAAA,kEAEA,IADA,IAAAyF,EAAA3E,EAAAoE,SAAAC,UAAA1F,EAAAqV,OAAAuiD,GAAA,IACAtrD,EAAA,EAAA4rD,EAAAL,EAAAvrD,EAAA4rD,EAAA90D,OAAAkJ,IAAA,CACA,IAAAxC,EAAAouD,EAAA5rD,GACA,MAAAxC,EAAA0vD,uBACAV,EAAAhvD,EAAA0vD,sBAAAxzD,GACA,IAAA2H,EAAA8e,EAAAsqC,iBAAAjtD,GACA0lD,EAAA/iC,EAAAuqC,uBAAAltD,GACAmtD,EAAAG,wBAAApxD,EAAA2H,EAAA6hD,MC/DA,SAAA5vD,EAAAC,EAAAC,GACA,IAAA25D,EAAA75D,EAAA,GACAwB,EAAAxB,EAAA,IACAq3D,EAAAr3D,EAAA,IAqBAE,EAAAw4D,YAnBA,SAAAR,EAAAC,GACA,IAGA2B,EAHAC,EAAA,MAgBA,MAfA,UAAAzlD,OAAA0lD,SAAAD,WACAA,EAAA,QAEA,MAAA5B,GACA2B,EAAA1zD,SAAA4H,cAAA,MACAisD,KAAA9B,EAGA2B,EAAAxlD,OAAA0lD,SACA,MAAA9B,EACA,KAAAA,IACAA,EAAA,IAGAA,EAAA4B,EAAAI,SAAA3pB,QAAA,OAAA,IACAwpB,EAAA,KAAAD,EAAAK,KAAAjC,EAAA,OAIA,IAAAkC,EAAA,GA0BAl6D,EAAAw3D,0BAhBA,SAAAe,EAAA/wD,EAAAqG,EAAA6hD,EAAA2I,QACA,IAAA3I,IACAA,EAAA,SAEA,IAAA2I,IACAA,GAAA,GAEA,IAAAp2D,EAAAmS,OAAA0lD,SAAAhf,OAAAI,OAAA,GAEA,OAlBA,SAAAqd,EAAA/wD,EAAAvF,GACAs2D,KAAA2B,IACAA,EAAA3B,GAAA,IACA,IAAA4B,EAAAD,EAAA3B,GAGA,OAFA/wD,KAAA2yD,IACAA,EAAA3yD,GAAAmyD,EAAApyD,aAAAgxD,EAAA/wD,EAAAvF,IACAk4D,EAAA3yD,GAWA4yD,CAAA7B,EAAA/wD,EAAAvF,GACA8C,KAAA,SAAAxC,GACA,OAAA40D,EAAAG,wBAAA/0D,EAAA2D,SAAA2H,EAAA6hD,EAAA2I,IACA,SAAAl0D,GAEA,MADA7C,EAAAwB,OAAAqB,MAAA,gCAAAqD,EAAA,KAAArD,GACAA,MCjDA,SAAArE,EAAAC,EAAAC,GACA,IAAAuB,EAAAzB,EAAA,IACA6sB,EAAA7sB,EAAA,GACA83D,EAAA93D,EAAA,IAEAE,EAAAmiC,MAAA,GAuDAniC,EAAAs3D,wBAjDA,SAAApxD,EAAA2H,EAAA6hD,EAAA2I,QACA,IAAA3I,IACAA,EAAA,SAEA,IAAA2I,IACAA,GAAA,GAIA,IAAAr1B,EAAA,GACA,SAAAq3B,EAAA75D,GACA,IAAAu2D,EACAv2D,EAAAwB,MAAA0tD,EACAqH,EAAArH,EAAAlvD,EAAAwB,IACA6L,EAAAE,UAAA6H,SAAAgiD,EAAAZ,YACAD,EAAAlpD,GAEAkpD,EAAApqC,EAAA3a,IAAA,CAAAuF,MAAAqgD,EAAAZ,aACAnpD,EAAAkB,YAAAgoD,IAEA,IAAA5pD,EAzBA,SAAA3M,GACA,IAAA2M,EAAA,IAAA3M,EAAA4L,aAAA,CAAA5L,MAAAA,EAAAwS,OAAA,OAEA,OADAhT,EAAAmiC,MAAA3hC,EAAAwB,IAAAmL,EACAA,EAsBAmtD,CAAA95D,GACA2M,EAAAgK,SAAA4/C,GACA/zB,EAAAxiC,EAAAwB,IAAAmL,EAWA,IAAA,IAAAX,EAAA,EAAAM,EAAA5G,EAAAwpD,QAAAljD,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAhM,EAAAsM,EAAAN,GACA6tD,EAAA75D,GAYA,OAVA63D,IACAjkD,OAAAlO,SAAA0qD,MAAA1qD,EAAA0qD,SACA1qD,EAAA4B,UAAA,SAAAjE,GACAA,aAAAtC,EAAAmvD,eACA2J,EAAAx2D,EAAArD,OACAqD,aAAAtC,EAAAovD,iBAlBA,SAAAnwD,GACA,IAAAwB,EAAAxB,EAAAwB,GACA,GAAAA,KAAAghC,EAAA,CACA,IAAA71B,EAAA61B,EAAAhhC,GACAmL,EAAAT,gBACAs2B,EAAAhhC,UACAhC,EAAAmiC,MAAAngC,IAaAu4D,CAAA12D,EAAArD,OACA63D,GAAAx0D,aAAAtC,EAAAsvD,oBACAz8C,OAAAlO,SAAA0qD,MAAA/sD,EAAA+sD,SAEA5tB,IC1DA,SAAAljC,EAAAC,EAAAC,GACAF,EAAA,KACA,IAAAwtD,EAAAxtD,EAAA,KACAE,EAAA40D,QAAAtH,EAAAsH,QACA,IAAA4F,EAAA16D,EAAA,IACAE,EAAAw6D,MAAAA,EACA,IAAAC,EAAA36D,EAAA,IACAE,EAAAmiC,MAAAs4B,EAAAt4B,MACA,IAAA03B,EAAA/5D,EAAA,KACAE,EAAA65D,SAAAA,EACA,IAAAa,EAAA56D,EAAA,KACAE,EAAA06D,SAAAA,EACA,IAAAp5D,EAAAxB,EAAA,IACAE,EAAA8C,OAAAxB,EAAAwB,OACA9C,EAAAq0B,cAAA/yB,EAAA+yB,cACA,IAAA0mB,EAAAj7C,EAAA,IACAE,EAAAg8B,SAAA+e,EAAA/e,SACA,IAAAqxB,EAAAvtD,EAAA,GACAE,EAAAM,OAAA+sD,EAAA/sD,OACA,IAAAiB,EAAAzB,EAAA,IACAE,EAAAiuD,UAAA1sD,EAAA0sD,UACA,IAAA0M,EAAA76D,EAAA,KACAE,EAAA46D,OAAAD,EAAAC,QCtBA,SAAA96D,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmJ,EAAA0tD,aAAA72D,EAAA,IAAAE,ICFA,SAAAF,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAo6B,EAAAp6B,EAAA,GACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACAI,EAAAJ,EAAA,IACAwB,EAAAxB,EAAA,IACAiuD,EAAA,SAAArkD,GAEA,SAAAqkD,EAAApgD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA2FA,OA7FA6G,EAAAY,UAAAkkD,EAAArkD,GAIAqkD,EAAA5xC,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAia,OAAA,CACAw+C,KAAA,CAAAprD,EAAAoC,MAAA,IACAtR,KAAA,CAAAkP,EAAAsmB,QACA+kC,sBAAA,CAAArrD,EAAA6M,IAAA,IACAy+C,mBAAA,CAAAtrD,EAAA6M,IAAA,IACA0+C,kBAAA,CAAAvrD,EAAAoC,MAAA,OAGAk8C,EAAA/qD,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAA64D,6BACA74D,KAAAa,QAAAb,KAAAkZ,WAAAw/C,sBAAA3/C,OAAA,WAAA,OAAAjY,EAAA+3D,+BACA74D,KAAAa,QAAAb,KAAAkZ,WAAAy/C,mBAAA5/C,OAAA,WAAA,OAAAjY,EAAAg4D,4BACA94D,KAAAa,QAAAb,KAAAkZ,WAAA0/C,kBAAA7/C,OAAA,WAAA,OAAAjY,EAAAg4D,6BAEAnN,EAAA/qD,UAAAgrD,eAAA,SAAAnqD,GACA,IAAA,IAAA2I,EAAA,EAAAM,EAAA1K,KAAA24D,mBAAAl3D,EAAAqF,aAAA,GAAAsD,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAg7C,EAAA16C,EAAAN,GACAg7C,EAAA2T,QAAAt3D,GAEA,MAAAzB,KAAA8D,UAAA9D,KAAA44D,kBAAA7xC,KAAA,SAAAknC,GAAA,OAAAA,GAAAxsD,EAAAqF,cACA9G,KAAA8D,SAAA6B,cAAAI,WAAAtE,IAEAkqD,EAAA/qD,UAAAkiC,cAAA,SAAArhC,GACA,MAAAzB,KAAA8D,WACArC,EAAA0F,OAAAnH,KACAA,KAAA8D,SAAA6B,cAAA+7B,QAAAjgC,KAGAkqD,EAAA/qD,UAAAk4D,wBAAA,WACA,MAAA94D,KAAA8D,SAKA9D,KAAA8D,SAAA6B,cAAA+lD,kBAAA9/C,IAAA5L,KAAAJ,IAHAV,EAAAwB,OAAA5B,KAAA,+DAKA6sD,EAAA/qD,UAAAi4D,2BAAA,WACA,IAAA/3D,EAAAd,KACAg5D,EAAA,SAAAv3D,GACA,IAAAiJ,EAAAjJ,EAAAuK,MAAA,KAAAitD,EAAAvuD,EAAA,GAAAO,EAAAP,EAAA,GAAAlE,OAAA,IAAAyE,EAAA,KAAAA,EACA,OAAA,MAAAzE,EAAA1F,EAAAoY,WAAA1S,GAAAyyD,GAAAn4D,EAAAm4D,IAEA,IAAA,IAAAlI,KAAA/wD,KAAAk5D,cAGA,IAFA,IAAAC,EAAAn5D,KAAAk5D,cAAAnI,GACAv2B,EAAAw+B,EAAAjI,GACA3mD,EAAA,EAAAgvD,EAAAD,EAAA/uD,EAAAgvD,EAAAl4D,OAAAkJ,IAAA,CACA,IAAAukD,EAAAyK,EAAAhvD,GACApK,KAAAy6B,WAAAD,EAAAm0B,GAIA,IAAA,IAAAuE,KADAlzD,KAAAk5D,cAAA,GACAl5D,KAAA04D,sBAAA,CACA,IAAAS,EAAAn5D,KAAA04D,sBAAAxF,GACAmG,EAAAF,EAAAhvD,IAAA,SAAAwkD,GAAA,OAAA,WAAA,OAAAA,EAAAoK,QAAAj4D,MACAd,KAAAk5D,cAAAhG,GAAAmG,EAEA,IADA,IAAA7+B,EAAAw+B,EAAA9F,GACAxoD,EAAA,EAAA4uD,EAAAD,EAAA3uD,EAAA4uD,EAAAp4D,OAAAwJ,IAAA,CACA,IAAAikD,EAAA2K,EAAA5uD,GACA1K,KAAAa,QAAA25B,EAAAm0B,MAIAhD,EAAA/qD,UAAAke,cAAA,WACAhhB,EAAA4e,QAAA1c,KAAA24D,qBAAA76D,EAAA4e,QAAA1c,KAAA44D,oBACA54D,KAAA84D,2BAEAnN,EAAA/qD,UAAA0P,OAAA,SAAAlD,GACA,GAAAhC,EAAAW,SAAAqB,GACA,OAAApN,KAAA6e,aAAApU,OAAA,SAAAoS,GAAA,OAAAA,aAAA8uC,GAAA9uC,EAAA1e,OAAAiP,IACA,GAAAA,EAAAxM,qBAAAk3B,EAAApf,SACA,OAAA1Y,KAAA6e,aAAApU,OAAA,SAAAoS,GAAA,OAAAA,aAAAzP,IAEA,MAAA,IAAA/O,MAAA,qBAEAstD,EAAA/qD,UAAA24D,WAAA,SAAAnsD,GACA,IAAA2Q,EAAA/d,KAAAsQ,OAAAlD,GACA,OAAA2Q,EAAA7c,QACA,KAAA,EACA,OAAA,KACA,KAAA,EACA,OAAA6c,EAAA,GACA,QACA,MAAA,IAAA1f,MAAA,wDAGAstD,EA9FA,CA+FA7zB,EAAApf,UACA9a,EAAA+tD,MAAAA,EACAA,EAAA5xC,aCxGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA87D,EAAA97D,EAAA,IACAI,EAAAJ,EAAA,IACA+7D,EAAA/7D,EAAA,KACAg8D,EAAA,SAAApyD,GAEA,SAAAoyD,IACA,OAAA,OAAApyD,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAwDA,OA1DA6G,EAAAY,UAAAiyD,EAAApyD,GAIAtI,OAAAiU,eAAAymD,EAAA94D,UAAA,QAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA2kB,QAEAtR,YAAA,EACAC,cAAA,IAEAomD,EAAA94D,UAAAyuB,SAAA,WACA,GAAArvB,KAAA5B,MAAAkpB,QAAA,CACA,IAAA5c,EAAA1K,KAAA25D,YAAAtqD,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,MAAA,CAAAH,MAAAC,KAAA2V,MAAA5V,GAAAG,OAAAF,KAAA2V,MAAAzV,IAGA,MAAA,CAAAH,MAAA,EAAAG,OAAA,IAEAkqD,EAAA94D,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACA,IAAAqN,EAAArN,KAAA5B,MAAA8a,WACAlZ,KAAA0F,UAAA2H,EAAAia,QAAA,WAAA,OAAAxmB,EAAAy7B,UAAAq9B,oBAEAF,EAAA94D,UAAA+4D,UAAA,WACA,MAAA,IAAAt7D,MAAA,oBAEAW,OAAAiU,eAAAymD,EAAA94D,UAAA,MAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAu8B,UAAAs9B,YAAApqC,KAEApc,YAAA,EACAC,cAAA,IAEAomD,EAAA94D,UAAAk5D,SAAA,SAAAp6C,GACA,IAAAhV,EAAAO,EACA7G,EAAApE,KAAA5B,MAAAqhB,sBAAAC,GACA5hB,EAAA+5B,OAAA73B,KAAAoE,GACApE,KAAA+5D,WAAAC,UAEA,MADAh6D,KACAqoD,KACA39C,EAAA8uD,EAAA7lB,WAFA3zC,KAEAqoD,GAFAroD,KAEAi6D,IAFAj6D,KAEAqoD,GAAA39C,EAAA,GAFA1K,KAEAi6D,GAAAvvD,EAAA,IACA,MAHA1K,KAGAk6D,MACAjvD,EAAAuuD,EAAAplB,aAJAp0C,KAIAk6D,IAJAl6D,KAIAm6D,KAJAn6D,KAIAk6D,IAAAjvD,EAAA,GAJAjL,KAIAm6D,IAAAlvD,EAAA,MAGAjM,OAAAiU,eAAAymD,EAAA94D,UAAA,aAAA,CACAsS,IAAA,WACA,OAAA,MAAAlT,KAAA2kB,QAEAtR,YAAA,EACAC,cAAA,IAEAomD,EAAA94D,UAAAgnD,mBAAA,WACA,IAAAwS,EAAA9yD,EAAA1G,UAAAgnD,mBAAA//C,KAAA7H,MACA,OAAA,MAAAA,KAAA2kB,OAAAy1C,EAAAvzD,EAAAiB,SAAA,GAAAsyD,EAAA,CAAAr1C,KAAA/kB,KAAA2kB,OAAAI,KAAA5V,QAEAuqD,EA3DA,CA4DAD,EAAAY,cACAz8D,EAAA87D,eAAAA,EACA,IAAAY,EAAA,SAAAhzD,GAEA,SAAAgzD,EAAA/uD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAA6yD,EAAAhzD,GAIAgzD,EAAAvgD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAob,SAAA,CACAmV,MAAA,gBAGA+pC,EAXA,CAYAb,EAAAc,UACA38D,EAAA08D,WAAAA,EACAA,EAAAvgD,aCjFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA+8D,EAAA/8D,EAAA,IACA4tD,EAAA5tD,EAAA,KACA2P,EAAA3P,EAAA,IACAomC,EAAApmC,EAAA,IACAg9D,EAAA,SAAApzD,GAEA,SAAAozD,IACA,OAAA,OAAApzD,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA8FA,OAhGA6G,EAAAY,UAAAizD,EAAApzD,GAIAozD,EAAA95D,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACA,MAAAA,KAAA5B,MAAAshB,SACA1f,KAAA5B,MAAAshB,OAAA,IAAA4rC,EAAAsI,kBACA5zD,KAAA85D,SAAA95D,KAAA5B,MAAAshB,SAEAg7C,EAAA95D,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,UACA1f,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAi7C,UAAA,WAAA,OAAA75D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,UACA1f,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAk7C,SAAA,WAAA,OAAA95D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,WAEAg7C,EAAA95D,UAAAk5D,SAAA,SAAAp6C,GACApY,EAAA1G,UAAAk5D,SAAAjyD,KAAA7H,KAAA0f,GACA1f,KAAA66D,QAAA5R,WAAAvpC,GACA1f,KAAAu8B,UAAAu+B,kBAEAJ,EAAA95D,UAAAm6D,UAAA,WACA,IACAC,EAAAC,EASAC,EAAAC,EAVAl6B,EAAAjhC,KAAAu8B,UAAA0E,MAmBA,MAjBA,QAAAjhC,KAAA5B,MAAAg9D,aACAJ,EAAA/5B,EAAAsB,QAAAviC,KAAA5B,MAAAi9D,cAAA/mC,UAAAt0B,KAAAs7D,UACAL,EAAAh6B,EAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cAAAjnC,UAAAt0B,KAAAw7D,YAGAR,EAAA/5B,EAAAvT,MAAA4G,UAAAt0B,KAAAs7D,UACAL,EAAAh6B,EAAAtT,MAAA2G,UAAAt0B,KAAAw7D,WAGA,QAAAx7D,KAAA5B,MAAAq9D,WACAP,EAAAj6B,EAAAsB,QAAAviC,KAAA5B,MAAAi9D,cAAA/mC,UAAAt0B,KAAA07D,QACAP,EAAAl6B,EAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cAAAjnC,UAAAt0B,KAAA27D,UAGAT,EAAAj6B,EAAAvT,MAAA4G,UAAAt0B,KAAA07D,QACAP,EAAAl6B,EAAAtT,MAAA2G,UAAAt0B,KAAA27D,SAEA,CAAA,CAAAX,EAAAC,GAAA,CAAAC,EAAAC,KAEAT,EAAA95D,UAAAkU,OAAA,WACA,GAAA9U,KAAA5B,MAAAkpB,QAAA,CAEA,IAAAmI,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAA,EAAAmsC,OAEA,IAAAlxD,EAAA1K,KAAA+6D,YAAAhxC,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,GACA,MAAA1K,KAAA5B,MAAA4rB,KACAhqB,KAAA67D,YAAApsC,EAAA,SAAAzvB,KAAA5B,MAAA4rB,IAAAD,EAAAC,GACA,MAAAhqB,KAAA5B,MAAA2rB,OACA/pB,KAAA67D,YAAApsC,EAAA,SAAAzvB,KAAA5B,MAAA2rB,MAAAC,EAAAD,GAGA0F,EAAAqsC,YACA,IAAA7wD,EAAAjL,KAAAu8B,UAAA5X,OAAAI,KAAA5V,KAAA1G,EAAAwC,EAAAmD,KAAA1F,EAAAuC,EAAA+C,IAAAqB,EAAApE,EAAAoE,MAAAG,EAAAvE,EAAAuE,OACAigB,EAAAtgB,KAAA1G,EAAAC,EAAA2G,EAAAG,GACA,MAAAxP,KAAA5B,MAAA4rB,KACAhqB,KAAA67D,YAAApsC,EAAA,OAAAzvB,KAAA5B,MAAA4rB,IAAAD,EAAAC,GACA,MAAAhqB,KAAA5B,MAAA2rB,OACA/pB,KAAA67D,YAAApsC,EAAA,OAAAzvB,KAAA5B,MAAA2rB,MAAAC,EAAAD,GACA0F,EAAAssC,YACAtsC,EAAAoZ,OAGA7oC,KAAAg8D,YAAAvsC,EAAA1F,EAAAC,GACAyF,EAAAwsC,YAEAvB,EAAA95D,UAAAi7D,YAAA,SAAApsC,EAAAysC,EAAAj3B,EAAAlb,EAAAC,GACA,IAAA,IAAA/Z,EAAA,EAAAksD,EAAAn8D,KAAAs7D,SAAAp6D,OAAA+O,EAAAksD,EAAAlsD,IAAA,CAEA,IAAAqR,EAAAhS,KAAA0e,GAAA,EAAA8V,EAAAmO,MAAA,CAAAloB,EAAA,GAAA9Z,GAAA8Z,EAAA,GAAA9Z,IAAA,CAAA+Z,EAAA,GAAA/Z,GAAA+Z,EAAA,GAAA/Z,KACAwf,EAAAmsC,OACAnsC,EAAA+c,UAAAxiB,EAAA,GAAA/Z,GAAA+Z,EAAA,GAAA/Z,IACAwf,EAAAH,OAAAhO,GACA,UAAA46C,EACAj3B,EAAAnwB,OAAA2a,EAAAxf,GACA,QAAAisD,GACAj3B,EAAA4D,KAAApZ,EAAAxf,GACAwf,EAAAwsC,YAGAvB,EAAA95D,UAAAo7D,YAAA,SAAAvsC,EAAA1F,EAAAC,GACA,GAAAhqB,KAAA66D,QAAA1kC,KAAAu0B,KAEA,IAAA,IAAAz6C,EAAA,EAAAq1B,EAAAtlC,KAAAs7D,SAAAp6D,OAAA+O,EAAAq1B,EAAAr1B,IACAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAAqsC,YACArsC,EAAAkd,OAAA5iB,EAAA,GAAA9Z,GAAA8Z,EAAA,GAAA9Z,IACAwf,EAAAy4B,OAAAl+B,EAAA,GAAA/Z,GAAA+Z,EAAA,GAAA/Z,IACAwf,EAAA04B,UAGAuS,EAjGA,CAkGAF,EAAAd,gBACA97D,EAAA88D,UAAAA,EACA,IAAA0B,EAAA,SAAA90D,GAEA,SAAA80D,EAAA7wD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAoBA,OAtBA6G,EAAAY,UAAA20D,EAAA90D,GAIA80D,EAAAriD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAoJ,aAAA0wD,EACA16D,KAAAga,OAAA,CAAA,SACAha,KAAAia,OAAA,CACAoiD,QAAA,CAAAhvD,EAAAioB,YACAgnC,QAAA,CAAAjvD,EAAAioB,YACA8lC,YAAA,CAAA/tD,EAAAqK,aAAA,QACAqS,MAAA,CAAA1c,EAAAimB,SAAA,MACAipC,MAAA,CAAAlvD,EAAAioB,YACAknC,MAAA,CAAAnvD,EAAAioB,YACAmmC,UAAA,CAAApuD,EAAAqK,aAAA,QACAsS,IAAA,CAAA3c,EAAAimB,SAAA,WAAA,OAAA,IAAAmnC,EAAAgC,SAAA,MACA/8C,OAAA,CAAArS,EAAAimB,UACA+nC,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,cAGAyoC,EAvBA,CAwBA5B,EAAAF,YACA18D,EAAAw+D,MAAAA,EACAA,EAAAriD,aCrIA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACAg/D,EAAAh/D,EAAA,IACA2P,EAAA3P,EAAA,IACAi/D,EAAA,SAAAr1D,GAEA,SAAAq1D,EAAApxD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAYA,OAdA6G,EAAAY,UAAAk1D,EAAAr1D,GAIAq1D,EAAA5iD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAia,OAAA,CACA/K,KAAA,CAAA7B,EAAAkmB,OAAA,OAGAopC,EAAA/7D,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA66D,QAAA,IAAA6B,EAAA3R,QAAA/qD,OAEA28D,EAfA,CAgBAnC,EAAAF,YACA18D,EAAA++D,UAAAA,EACAA,EAAA5iD,YACA,IAAA0iD,EAAA,SAAAn1D,GAEA,SAAAm1D,EAAAlxD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA0BA,OA5BA6G,EAAAY,UAAAg1D,EAAAn1D,GAIAm1D,EAAA1iD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAga,OAAA,CAAA,UAEAyiD,EAAA77D,UAAAioC,KAAA,SAAApZ,EAAAxf,GAEAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAAkd,OAAA,GAAA3sC,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,GAAAloD,KAAAkP,MAAA,GACAugB,EAAAy4B,QAAA,GAAAloD,KAAAkP,MAAA,GACAugB,EAAAy4B,QAAA,GAAAloD,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,EAAA,GACAz4B,EAAAy4B,OAAA,GAAAloD,KAAAkP,KAAAlP,KAAAkP,OAEAutD,EAAA77D,UAAAkU,OAAA,SAAA2a,EAAAxf,GACAjQ,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAAqsC,YACArsC,EAAAkd,OAAA,GAAA3sC,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,EAAA,GACAz4B,EAAAy4B,QAAA,GAAAloD,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAA04B,WAGAsU,EA7BA,CA8BAE,GACA/+D,EAAA6+D,SAAAA,EACAA,EAAA1iD,YACA,IAAA6iD,EAAA,SAAAt1D,GAEA,SAAAs1D,EAAArxD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAqCA,OAvCA6G,EAAAY,UAAAm1D,EAAAt1D,GAIAs1D,EAAA7iD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAob,SAAA,CACAib,WAAA,WAGAumC,EAAAh8D,UAAAioC,KAAA,SAAApZ,EAAAxf,GAEAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAAkd,OAAA,GAAA3sC,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,GAAAloD,KAAAkP,MAAA,GACAugB,EAAAy4B,QAAA,GAAAloD,KAAAkP,MAAA,GACAugB,EAAAy4B,QAAA,GAAAloD,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,GAAAloD,KAAAkP,KAAAlP,KAAAkP,OAEA0tD,EAAAh8D,UAAAkU,OAAA,SAAA2a,EAAAxf,GACAjQ,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACAjQ,KAAA68D,QAAAptC,EAAAxf,GACAwf,EAAA8G,QAEAv2B,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAjQ,KAAA68D,QAAAptC,EAAAxf,GACAwf,EAAA04B,WAGAyU,EAAAh8D,UAAAi8D,QAAA,SAAAptC,EAAArlB,GACAqlB,EAAAqsC,YACArsC,EAAAkd,OAAA,GAAA3sC,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,EAAA,GACAz4B,EAAAy4B,QAAA,GAAAloD,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAssC,aAEAa,EAxCA,CAyCAD,GACA/+D,EAAAg/D,WAAAA,EACAA,EAAA7iD,YACA,IAAA+iD,EAAA,SAAAx1D,GAEA,SAAAw1D,EAAAvxD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAuCA,OAzCA6G,EAAAY,UAAAq1D,EAAAx1D,GAIAw1D,EAAA/iD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAob,SAAA,CACAib,WAAA,WAGAymC,EAAAl8D,UAAAioC,KAAA,SAAApZ,EAAAxf,GAEAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAAkd,OAAA,GAAA3sC,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,GAAAloD,KAAAkP,MAAA,GACAugB,EAAAy4B,QAAA,GAAAloD,KAAAkP,MAAA,GACAugB,EAAAy4B,QAAA,GAAAloD,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,EAAA,GAAAloD,KAAAkP,MACAugB,EAAAy4B,OAAA,GAAAloD,KAAAkP,KAAAlP,KAAAkP,OAEA4tD,EAAAl8D,UAAAkU,OAAA,SAAA2a,EAAAxf,GACAjQ,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACAjQ,KAAA+8D,KAAAttC,EAAAxf,GACAwf,EAAA8G,QAEAv2B,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAjQ,KAAA+8D,KAAAttC,EAAAxf,GACAwf,EAAA04B,WAGA2U,EAAAl8D,UAAAm8D,KAAA,SAAAttC,EAAArlB,GACAqlB,EAAAqsC,YACArsC,EAAAkd,OAAA,GAAA3sC,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,EAAA,GACAz4B,EAAAy4B,QAAA,GAAAloD,KAAAkP,KAAAlP,KAAAkP,MACAugB,EAAAy4B,OAAA,EAAA,GAAAloD,KAAAkP,MACAugB,EAAAssC,aAEAe,EA1CA,CA2CAH,GACA/+D,EAAAk/D,QAAAA,EACAA,EAAA/iD,YACA,IAAAijD,EAAA,SAAA11D,GAEA,SAAA01D,EAAAzxD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgBA,OAlBA6G,EAAAY,UAAAu1D,EAAA11D,GAIA01D,EAAAjjD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAga,OAAA,CAAA,UAEAgjD,EAAAp8D,UAAAkU,OAAA,SAAA2a,EAAAxf,GACAjQ,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAAqsC,YACArsC,EAAAkd,OAAA,GAAA3sC,KAAAkP,KAAA,GACAugB,EAAAy4B,QAAA,GAAAloD,KAAAkP,KAAA,GACAugB,EAAA04B,WAGA6U,EAAAp8D,UAAAioC,KAAA,SAAAo0B,EAAA7yD,KACA4yD,EAnBA,CAoBAL,GACA/+D,EAAAo/D,QAAAA,EACAA,EAAAjjD,aCzKA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA4tD,EAAA5tD,EAAA,KACA2P,EAAA3P,EAAA,IACAw/D,EAAA,SAAA51D,GAEA,SAAA41D,IACA,OAAA,OAAA51D,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA2FA,OA7FA6G,EAAAY,UAAAy1D,EAAA51D,GAIA41D,EAAAt8D,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA85D,SAAA95D,KAAA5B,MAAAshB,SAEAw9C,EAAAt8D,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAi7C,UAAA,WAAA,OAAA75D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,UACA1f,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAk7C,SAAA,WAAA,OAAA95D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,UACA1f,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAA3G,OAAA,WAAA,OAAAjY,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,WAEAw9C,EAAAt8D,UAAAk5D,SAAA,SAAAp6C,GACApY,EAAA1G,UAAAk5D,SAAAjyD,KAAA7H,KAAA0f,GACA1f,KAAA66D,QAAA5R,WAAAvpC,GACA1f,KAAAu8B,UAAAu+B,kBAEAoC,EAAAt8D,UAAAm6D,UAAA,WACA,IAQAoC,EAKAC,EAKAC,EAlBAp8B,EAAAjhC,KAAAu8B,UAAA0E,MACAq8B,EAAAt9D,KAAA5B,MAAA81C,UACA5R,EAAArB,EAAAsB,QAAAviC,KAAA5B,MAAAi9D,cACA54B,EAAAxB,EAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cACAgC,EAAA,UAAAD,EAAA76B,EAAAH,EACAk7B,EAAA,UAAAF,EAAAh7B,EAAAG,EACAg7B,EAAA,UAAAH,EAAAr8B,EAAAtT,MAAAsT,EAAAvT,MACAgwC,EAAA,UAAAJ,EAAAr8B,EAAAvT,MAAAuT,EAAAtT,MAGAwvC,EADA,QAAAn9D,KAAA5B,MAAA8a,WAAAykD,MAAA/oC,MACA2oC,EAAAjpC,UAAAt0B,KAAA49D,QAEAH,EAAAnpC,UAAAt0B,KAAA49D,QAGAR,EADA,QAAAp9D,KAAA5B,MAAA8a,WAAA2kD,MAAAjpC,MACA2oC,EAAAjpC,UAAAt0B,KAAA89D,QAEAL,EAAAnpC,UAAAt0B,KAAA89D,QAGAT,EADA,QAAAr9D,KAAA5B,MAAA8a,WAAA+oB,KAAArN,MACA4oC,EAAAlpC,UAAAt0B,KAAA+9D,OAEAL,EAAAppC,UAAAt0B,KAAA+9D,OACA,IAAArzD,EAAA,UAAA4yD,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAArtD,EAAAvF,EAAA,GAAA66B,EAAA76B,EAAA,GACAkzD,EAAA,CAAAT,EAAAE,GACAS,EAAA,CAAAV,EAAAC,GACAr9D,KAAAm9D,UAAAS,EAAA3tD,GACAjQ,KAAAg+D,UAAAJ,EAAAr4B,GACAvlC,KAAAo9D,UAAAU,EAAA7tD,GACAjQ,KAAAi+D,UAAAH,EAAAv4B,IAEA23B,EAAAt8D,UAAAkU,OAAA,WACA,GAAA9U,KAAA5B,MAAAkpB,QAAA,CAEAtnB,KAAA+6D,YACA,IAAAtrC,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IAEAA,EAAAqsC,YACArsC,EAAAkd,OAAA3sC,KAAAm9D,UAAA,GAAAn9D,KAAAg+D,UAAA,IACA,IAAA,IAAA/tD,EAAA,EAAA+Z,EAAAhqB,KAAAm9D,UAAAj8D,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAAy4B,OAAAloD,KAAAm9D,UAAAltD,GAAAjQ,KAAAg+D,UAAA/tD,IAGA,IAAA,IAAA8Z,EAAA/pB,KAAAo9D,UAAAl8D,OAAA,EAAA+O,EAAA8Z,EAAA9Z,GAAA,EAAAA,IACAwf,EAAAy4B,OAAAloD,KAAAo9D,UAAAntD,GAAAjQ,KAAAi+D,UAAAhuD,IAEAwf,EAAAssC,YACA/7D,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAAgzB,UAAA95B,GACAA,EAAA8G,QAGA9G,EAAAqsC,YACArsC,EAAAkd,OAAA3sC,KAAAm9D,UAAA,GAAAn9D,KAAAg+D,UAAA,IACA,IAAA,IAAA/tD,EAAA,EAAA+Z,EAAAhqB,KAAAm9D,UAAAj8D,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAAy4B,OAAAloD,KAAAm9D,UAAAltD,GAAAjQ,KAAAg+D,UAAA/tD,IAEAjQ,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAozB,UAAA95B,GACAA,EAAA04B,UAGA14B,EAAAqsC,YACArsC,EAAAkd,OAAA3sC,KAAAo9D,UAAA,GAAAp9D,KAAAi+D,UAAA,IACA,IAAA,IAAAhuD,EAAA,EAAA+Z,EAAAhqB,KAAAo9D,UAAAl8D,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAAy4B,OAAAloD,KAAAo9D,UAAAntD,GAAAjQ,KAAAi+D,UAAAhuD,IAEAjQ,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAozB,UAAA95B,GACAA,EAAA04B,YAGA+U,EA9FA,CA+FA1C,EAAAd,gBACA97D,EAAAs/D,SAAAA,EACA,IAAAgB,EAAA,SAAA52D,GAEA,SAAA42D,EAAA3yD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAsBA,OAxBA6G,EAAAY,UAAAy2D,EAAA52D,GAIA42D,EAAAnkD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAkzD,EACAl9D,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACA0jD,MAAA,CAAAtwD,EAAA4S,cACA49C,MAAA,CAAAxwD,EAAA4S,cACAgiB,KAAA,CAAA50B,EAAA4S,cACAi0B,UAAA,CAAA7mC,EAAAqI,UAAA,UACAgK,OAAA,CAAArS,EAAAimB,SAAA,WAAA,OAAA,IAAAg4B,EAAAsI,mBACAyH,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,aAEA3zB,KAAAob,SAAA,CACAib,WAAA,UACAC,WAAA,GACAV,WAAA,UACAE,WAAA,MAGAooC,EAzBA,CA0BA1D,EAAAF,YACA18D,EAAAsgE,KAAAA,EACAA,EAAAnkD,aClIA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA2a,EAAA3a,EAAA,IACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACAimB,EAAAjmB,EAAA,IACAE,EAAAugE,eAAA,IACA,IAAAC,EAAA,SAAA92D,GAEA,SAAA82D,IACA,OAAA,OAAA92D,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAkHA,OApHA6G,EAAAY,UAAA22D,EAAA92D,GAIA82D,EAAAx9D,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAu8B,UAAA8hC,gBAAA1xD,YAAA3M,KAAAmN,IACAnN,KAAAmN,GAAAxB,UAAAC,IAAA,cACA2e,EAAA5Y,UAAA3R,KAAAmN,KAEAixD,EAAAx9D,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MAGA,OAAAA,KAAA5B,MAAAkgE,aAEAt+D,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAgU,WACA9U,KAAAa,QAAAb,KAAA5B,MAAAmgE,YAAA,WAAA,OAAAz9D,EAAAgU,aAGA9U,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAAmgE,YAAA,WAAA,OAAAz9D,EAAAy7B,UAAAu+B,qBAGAsD,EAAAx9D,UAAAkU,OAAA,WACA,IAAAhU,EAAAd,KAGA,GAFAA,KAAA5B,MAAAkpB,SAAA,OAAAtnB,KAAA5B,MAAAkgE,aACA/zC,EAAA5Y,UAAA3R,KAAAmN,IACAnN,KAAA5B,MAAAkpB,QAGA,GAAA,MAAAtnB,KAAA5B,MAAAgQ,MAAA,MAAApO,KAAA5B,MAAAkQ,OAAA,MAAAtO,KAAA5B,MAAA4P,KAAA,MAAAhO,KAAA5B,MAAA8P,OAAA,CAIA,IAAA+yB,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAAviC,KAAA5B,MAAAi9D,cACA54B,EAAAxB,EAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cACAiD,EAAA,SAAAlB,EAAAmB,EAAA11D,EAAAgC,EAAA2zD,GAcA,OAZA,MAAApB,EACAx8D,EAAA1C,MAAAugE,OACArB,EAEA,QAAAmB,EACA11D,EAAA0kB,QAAA6vC,GAEAvyD,EAAA0iB,QAAA6vC,GAIAoB,GAGA1+D,KAAA4+D,MAAAJ,EAAAx+D,KAAA5B,MAAAgQ,KAAApO,KAAA5B,MAAAygE,WAAAv8B,EAAArB,EAAAvT,MAAAuT,EAAA3V,MAAAzf,OACA7L,KAAA8+D,OAAAN,EAAAx+D,KAAA5B,MAAAkQ,MAAAtO,KAAA5B,MAAA2gE,YAAAz8B,EAAArB,EAAAvT,MAAAuT,EAAAxV,OAAA5f,OACA7L,KAAA6kC,KAAA25B,EAAAx+D,KAAA5B,MAAA4P,IAAAhO,KAAA5B,MAAA4gE,UAAAv8B,EAAAxB,EAAAtT,MAAAsT,EAAA5V,KAAAxf,OACA7L,KAAAi/D,QAAAT,EAAAx+D,KAAA5B,MAAA8P,OAAAlO,KAAA5B,MAAA8gE,aAAAz8B,EAAAxB,EAAAtT,MAAAsT,EAAAvV,QAAA7f,OACA,IAAAszD,EAAA,OAAAn/D,KAAA5B,MAAAkgE,YAAAt+D,KAAAo/D,SAAArtC,KAAA/xB,MAAAA,KAAAq/D,YAAAttC,KAAA/xB,MACAm/D,EAAAn/D,KAAA4+D,MAAA5+D,KAAA8+D,OAAA9+D,KAAAi/D,QAAAj/D,KAAA6kC,WA3BAta,EAAA5Y,UAAA3R,KAAAmN,KA6BAixD,EAAAx9D,UAAAw+D,SAAA,SAAAR,EAAAE,EAAAG,EAAAp6B,GACA,IAAAhP,EAAA71B,KAAA5B,MAAA8a,WAAA2c,WAAAhqB,QACAyzD,EAAAhwD,KAAA64B,MAAA22B,EAAAF,GAAA/oC,EACA0pC,EAAAjwD,KAAA64B,MAAA82B,EAAAp6B,GAAAhP,EACA71B,KAAAmN,GAAAf,MAAAgC,KAAAwwD,EAAA,KACA5+D,KAAAmN,GAAAf,MAAAiD,MAAAiwD,EAAA,KACAt/D,KAAAmN,GAAAf,MAAA4B,IAAA62B,EAAA,KACA7kC,KAAAmN,GAAAf,MAAAoD,OAAA+vD,EAAA,KACAv/D,KAAAmN,GAAAf,MAAAozD,YAAA3pC,EAAA,KACA71B,KAAAmN,GAAAf,MAAAqzD,YAAAz/D,KAAA5B,MAAA8a,WAAA0c,WAAA/pB,QACA7L,KAAAmN,GAAAf,MAAAszD,gBAAA1/D,KAAA5B,MAAA8a,WAAAmd,WAAAxqB,QACA7L,KAAAmN,GAAAf,MAAAuzD,QAAA3/D,KAAA5B,MAAA8a,WAAAod,WAAAzqB,QAEA,IAAA+zD,EAAA5/D,KAAA5B,MAAA8a,WAAA+c,UAAApqB,QAAA3K,OAAA,EAAA,QAAA,SACAlB,KAAAmN,GAAAf,MAAAyzD,YAAAD,EACAr1C,EAAA7Y,QAAA1R,KAAAmN,KAEAixD,EAAAx9D,UAAAy+D,YAAA,SAAAT,EAAAE,EAAAG,EAAAp6B,GACA,IAAApV,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAA,EAAAmsC,OACAnsC,EAAAqsC,YACArsC,EAAAtgB,KAAAyvD,EAAA/5B,EAAAi6B,EAAAF,EAAAK,EAAAp6B,GACA7kC,KAAA66D,QAAAtkC,KAAAgzB,UAAA95B,GACAA,EAAA8G,OACAv2B,KAAA66D,QAAA1kC,KAAAozB,UAAA95B,GACAA,EAAA04B,SACA14B,EAAAwsC,WAEAmC,EAAAx9D,UAAAk/D,iBAAA,WACA,IAAAC,EAAA//D,KAAA5B,MAAA8a,WAAA2c,WAAAhqB,QAAAjO,EAAAugE,eACA,OAAA,IAAAx6C,EAAAY,KAAA,CACA/C,GAAAxhB,KAAA4+D,MAAAmB,EACAt+C,GAAAzhB,KAAA6kC,KAAAk7B,EACA9+C,GAAAjhB,KAAA8+D,OAAAiB,EACA7+C,GAAAlhB,KAAAi/D,QAAAc,KAGA3B,EAAAx9D,UAAAmgC,gBAAA,SAAAx4B,EAAAC,GACA,GAAA,MAAAxI,KAAA5B,MAAA4hE,UACA,OAAA,EACA,IAAAj7C,EAAA/kB,KAAA8/D,mBACA,OAAA/6C,EAAAvR,SAAAjL,EAAAC,IAEA41D,EAAAx9D,UAAA+T,OAAA,SAAApM,EAAAC,GAEA,OAAA8G,KAAAsd,IAAArkB,EAAAvI,KAAA4+D,OADA,GACAtvD,KAAAsd,IAAArkB,EAAAvI,KAAA8+D,QADA,EAEA9+D,KAAA5B,MAAA6hE,UACA3wD,KAAAsd,IAAApkB,EAAAxI,KAAAi/D,SAHA,GAGA3vD,KAAAsd,IAAApkB,EAAAxI,KAAA6kC,MAHA,EAIA7kC,KAAA5B,MAAA8hE,UACA33D,EAAAvI,KAAA4+D,OAAAr2D,EAAAvI,KAAA8+D,QAAAt2D,EAAAxI,KAAA6kC,MAAAr8B,EAAAxI,KAAAi/D,QACAj/D,KAAA5B,MAAA4hE,UAEA,MAEA5B,EArHA,CAsHA5D,EAAAd,gBACA97D,EAAAwgE,kBAAAA,EACA,IAAA+B,EAAA,SAAA74D,GAEA,SAAA64D,EAAA50D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAyCA,OA3CA6G,EAAAY,UAAA04D,EAAA74D,GAIA64D,EAAApmD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAY,UAAAoJ,aAAAo0D,EACAp+D,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACAqkD,YAAA,CAAAjxD,EAAA8J,WAAA,UACAkkD,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,WACA3lB,IAAA,CAAAX,EAAAkmB,OAAA,MACAyrC,UAAA,CAAA3xD,EAAAqK,aAAA,QACAxJ,OAAA,CAAAb,EAAAkmB,OAAA,MACA2rC,aAAA,CAAA7xD,EAAAqK,aAAA,QACAtJ,KAAA,CAAAf,EAAAkmB,OAAA,MACAsrC,WAAA,CAAAxxD,EAAAqK,aAAA,QACApJ,MAAA,CAAAjB,EAAAkmB,OAAA,MACAwrC,YAAA,CAAA1xD,EAAAqK,aAAA,UAEA1X,KAAA8a,SAAA,CACA6jD,OAAA,CAAAtxD,EAAA8lB,SAAA,GACA8sC,UAAA,CAAA5yD,EAAAsmB,OAAA,MACAusC,UAAA,CAAA7yD,EAAAsmB,OAAA,MACAqsC,UAAA,CAAA3yD,EAAAsmB,OAAA,QAEA3zB,KAAAob,SAAA,CACAib,WAAA,UACAC,WAAA,GACAV,WAAA,UACAE,WAAA,MAGAqqC,EAAAv/D,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAu+D,YAAA,IAAAlmD,EAAAS,QAAA9Y,KAAA,gBAEAmgE,EAAAv/D,UAAA2a,OAAA,SAAA7Q,GACA,IAAA0D,EAAA1D,EAAA0D,KAAAE,EAAA5D,EAAA4D,MAAAN,EAAAtD,EAAAsD,IAAAE,EAAAxD,EAAAwD,OACAlO,KAAAyZ,KAAA,CAAArL,KAAAA,EAAAE,MAAAA,EAAAN,IAAAA,EAAAE,OAAAA,EAAAywD,QAAA,GAAA,CAAAhlD,QAAA,IACA3Z,KAAAu+D,YAAA7iD,QAEAykD,EA5CA,CA6CA3F,EAAAF,YACA18D,EAAAuiE,cAAAA,EACAA,EAAApmD,aC/KA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA0iE,EAAA1iE,EAAA,KACA2iE,EAAA3iE,EAAA,KACA4iE,EAAA5iE,EAAA,KACA6iE,EAAA7iE,EAAA,KACA8iE,EAAA9iE,EAAA,KACA+iE,EAAA/iE,EAAA,KACA2P,EAAA3P,EAAA,IACAgjE,EAAAhjE,EAAA,IACAkM,EAAAlM,EAAA,IACA20B,EAAA30B,EAAA,IACAI,EAAAJ,EAAA,IACA0N,EAAA1N,EAAA,IAIAijE,EAAA,SAAAr5D,GAEA,SAAAq5D,IACA,OAAA,OAAAr5D,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAmcA,OArcA6G,EAAAY,UAAAk5D,EAAAr5D,GAIAq5D,EAAA//D,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA4gE,qBAEAD,EAAA//D,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAoO,QAAAvO,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAAyiE,OAAA9nD,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAAimD,UAAAtrC,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,mBACA,MAAA96D,KAAA5B,MAAA0iE,cACA9gE,KAAAa,QAAAb,KAAA5B,MAAA0iE,aAAA/nD,OAAA,WACAjY,EAAA8/D,oBACA9/D,EAAAy7B,UAAAu+B,oBAIA6F,EAAA//D,UAAA+4D,UAAA,WACA,GAAA,MAAA35D,KAAA5B,MAAA0iE,aACA,MAAA,CAAAzxD,MAAA,EAAAG,OAAA,GAEA,IAAA9E,EAAA1K,KAAA+gE,4BAAA1xD,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,MAAA,CAAAH,MAAAA,EAAAG,OAAAA,IAGAmxD,EAAA//D,UAAAggE,kBAAA,WACA,IAAAl2D,EAAAO,EACA,GAAA,MAAAjL,KAAA5B,MAAA0iE,aAAA,CAEA,IAGArgD,EAAAktB,EAHAqzB,EAAAhhE,KAAA5B,MAAA0iE,aAAAE,QAIA,OAHA,YAAAhhE,KAAA5B,MAAA6iE,cACAD,EAAAp3D,EAAAk3B,SAAAkgC,IAEAhhE,KAAA5B,MAAA6iE,aACA,IAAA,WACAv2D,EAAA,CAAA,EAAAs2D,EAAA9/D,QAAAuf,EAAA/V,EAAA,GAAAijC,EAAAjjC,EAAA,GACA,MAEA,IAAA,aACAO,EAAA,CAAA+1D,EAAA9/D,OAAA,GAAAuf,EAAAxV,EAAA,GAAA0iC,EAAA1iC,EAAA,GACA,MAEA,QACA,MAAA,IAAA5M,MAAA,oBAEA,IAAAyR,EAAAhM,SAAA4H,cAAA,UACAoE,EAAAT,MAAAoR,EACA3Q,EAAAN,OAAAm+B,EACA,IAAAuzB,EAAApxD,EAAA24C,WAAA,MACA0Y,EAAAD,EAAAE,aAAA,EAAA,EAAA3gD,EAAAktB,GAIA0zB,EAAA,IAAAf,EAAAgB,kBAAA,CAAAN,QAAAA,IAAAO,YACA7xB,EAAA2xB,EAAA/sC,UAAA1qB,EAAAg7B,MAAA,EAAAo8B,EAAA9/D,SACAigE,EAAA/8D,KAAAyW,IAAA60B,GACAwxB,EAAAM,aAAAL,EAAA,EAAA,GACAnhE,KAAAyhE,MAAA3xD,IAEA6wD,EAAA//D,UAAAmgE,0BAAA,WACA,IAMAW,EAAAC,EANAC,EAAA5hE,KAAA6hE,6BACAn3D,EAAA,CAAAk3D,EAAApyD,OAAAoyD,EAAAvyD,OAAAyyD,EAAAp3D,EAAA,GAAAq3D,EAAAr3D,EAAA,GACAs3D,EAAAhiE,KAAAiiE,oBACAC,EAAAliE,KAAAmiE,gBACAC,EAAApiE,KAAAqiE,eACAxzD,EAAA7O,KAAA5B,MAAAyQ,QAEA,OAAA7O,KAAA5B,MAAA6iE,aACA,IAAA,WACAS,EAAAI,EAAAI,EAAA,EAAArzD,EACA8yD,EAAAI,EAAAK,EAAAJ,EAAA,EAAAnzD,EACA,MACA,IAAA,aACA6yD,EAAAI,EAAAI,EAAAE,EAAAJ,EAAA,EAAAnzD,EACA8yD,EAAAI,EAAA,EAAAlzD,EACA,MACA,QACA,MAAA,IAAAxQ,MAAA,oBAEA,MAAA,CAAAgR,MAAAsyD,EAAAnyD,OAAAkyD,IAEAf,EAAA//D,UAAA0hE,wBAAA,WACA,IAMA/5D,EAAAC,EANA+5D,EAAAviE,KAAA+gE,4BACAr2D,EAAA,CAAA63D,EAAA/yD,OAAA+yD,EAAAlzD,OAAAqyD,EAAAh3D,EAAA,GAAAi3D,EAAAj3D,EAAA,GACA83D,EAAAxiE,KAAA5B,MAAAoQ,OACAi0D,EAAA,MAAAziE,KAAAyiE,MAAAziE,KAAAyiE,MAAAziE,KAAAu8B,UAAA0E,MACAh2B,EAAAw3D,EAAA19C,KAAA29C,OAAAC,EAAA13D,EAAA,GAAA23D,EAAA33D,EAAA,GACAysD,EAAA13D,KAAA5B,MAAAs5D,SAEA,GAAAtsD,EAAAW,SAAA2rD,GACA,OAAAA,GACA,IAAA,WACAnvD,EAAAo6D,EAAA54C,MAAAy4C,EACAh6D,EAAAo6D,EAAA74C,MAAAy4C,EACA,MACA,IAAA,aACAj6D,GAAAo6D,EAAA34C,IAAA24C,EAAA54C,OAAA,EAAA43C,EAAA,EACAn5D,EAAAo6D,EAAA74C,MAAAy4C,EACA,MACA,IAAA,YACAj6D,EAAAo6D,EAAA34C,IAAAw4C,EAAAb,EACAn5D,EAAAo6D,EAAA74C,MAAAy4C,EACA,MACA,IAAA,eACAj6D,EAAAo6D,EAAA34C,IAAAw4C,EAAAb,EACAn5D,EAAAo6D,EAAA54C,IAAAw4C,EAAAd,EACA,MACA,IAAA,gBACAn5D,GAAAo6D,EAAA34C,IAAA24C,EAAA54C,OAAA,EAAA43C,EAAA,EACAn5D,EAAAo6D,EAAA54C,IAAAw4C,EAAAd,EACA,MACA,IAAA,cACAn5D,EAAAo6D,EAAA54C,MAAAy4C,EACAh6D,EAAAo6D,EAAA54C,IAAAw4C,EAAAd,EACA,MACA,IAAA,cACAn5D,EAAAo6D,EAAA54C,MAAAy4C,EACAh6D,GAAAo6D,EAAA54C,IAAA44C,EAAA74C,OAAA,EAAA23C,EAAA,EACA,MACA,IAAA,SACAn5D,GAAAo6D,EAAA34C,IAAA24C,EAAA54C,OAAA,EAAA43C,EAAA,EACAn5D,GAAAo6D,EAAA54C,IAAA44C,EAAA74C,OAAA,EAAA23C,EAAA,EACA,MACA,IAAA,eACAn5D,EAAAo6D,EAAA34C,IAAAw4C,EAAAb,EACAn5D,GAAAo6D,EAAA54C,IAAA44C,EAAA74C,OAAA,EAAA23C,EAAA,EACA,MACA,QACA,MAAA,IAAArjE,MAAA,wBAGA,CAAA,IAAA+M,EAAAa,QAAAyrD,IAAA,GAAAA,EAAAx2D,OAMA,MAAA,IAAA7C,MAAA,oBALA,IAAAwkE,EAAAnL,EAAA,GAAAoL,EAAApL,EAAA,GACAnvD,EAAAk6D,EAAA/0C,MAAAD,QAAAo1C,GACAr6D,EAAAi6D,EAAA90C,MAAAF,QAAAq1C,GAAApB,EAIA,MAAA,CAAAn5D,GAAAA,EAAAC,GAAAA,IAEAm4D,EAAA//D,UAAAkU,OAAA,WACA,GAAA9U,KAAA5B,MAAAkpB,SAAA,MAAAtnB,KAAA5B,MAAA0iE,aAAA,CAEA,IAAArxC,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAA,EAAAmsC,OACA,IAAAlxD,EAAA1K,KAAAsiE,0BAAA/5D,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GACAinB,EAAA+c,UAAAjkC,EAAAC,GACAxI,KAAA+iE,WAAAtzC,GACA,IAAAuzC,EAAAhjE,KAAAijE,oBAGA,GAFAxzC,EAAA+c,UAAAw2B,EAAAv6D,EAAAu6D,EAAAt6D,GACA1I,KAAAkjE,YAAAzzC,GACA,MAAAzvB,KAAA5B,MAAA0iE,aAAA94B,KAAA,MAAAhoC,KAAA5B,MAAA0iE,aAAA74B,KAAA,CACA,IAAAk7B,EAAAnjE,KAAAmjE,YACAnjE,KAAAojE,kBAAA3zC,EAAA0zC,GACAnjE,KAAAqjE,kBAAA5zC,EAAA0zC,GACAnjE,KAAAsjE,mBAAA7zC,EAAA0zC,GAEAnjE,KAAA5B,MAAAowD,OACAxuD,KAAAujE,YAAA9zC,GACAA,EAAAwsC,YAEA0E,EAAA//D,UAAAmiE,WAAA,SAAAtzC,GACA,IAAA1K,EAAA/kB,KAAA+gE,4BACAtxC,EAAAmsC,OACA57D,KAAA66D,QAAA2I,gBAAA9Y,OACA1qD,KAAA66D,QAAA2I,gBAAAja,UAAA95B,GACAA,EAAAg0C,SAAA,EAAA,EAAA1+C,EAAA1V,MAAA0V,EAAAvV,SAEAxP,KAAA66D,QAAA6I,YAAAhZ,OACA1qD,KAAA66D,QAAA6I,YAAAna,UAAA95B,GACAA,EAAAk0C,WAAA,EAAA,EAAA5+C,EAAA1V,MAAA0V,EAAAvV,SAEAigB,EAAAwsC,WAEA0E,EAAA//D,UAAAsiE,YAAA,SAAAzzC,GACA,IAAAgyC,EAAAzhE,KAAA6hE,6BACApyC,EAAAmsC,OACAnsC,EAAA2b,0BAAA,GACA3b,EAAA+5B,YAAAxpD,KAAA5B,MAAAwlE,YACAn0C,EAAAo0C,UAAA7jE,KAAAyhE,MAAA,EAAA,EAAAA,EAAApyD,MAAAoyD,EAAAjyD,QACAxP,KAAA66D,QAAAiJ,SAAApZ,OACA1qD,KAAA66D,QAAAiJ,SAAAva,UAAA95B,GACAA,EAAAk0C,WAAA,EAAA,EAAAlC,EAAApyD,MAAAoyD,EAAAjyD,SAEAigB,EAAAwsC,WAEA0E,EAAA//D,UAAAwiE,kBAAA,SAAA3zC,EAAA0zC,GACA,GAAAnjE,KAAA66D,QAAAkJ,gBAAArZ,KAAA,CAEA,IAAAhgD,EAAA1K,KAAAkvB,WAAA80C,EAAAt5D,EAAA,GAAAu5D,EAAAv5D,EAAA,GACA+2D,EAAAzhE,KAAA6hE,6BACA52D,EAAA,CAAAw2D,EAAApyD,MAAA20D,EAAAvC,EAAAjyD,OAAAy0D,GAAAC,EAAAj5D,EAAA,GAAAk5D,EAAAl5D,EAAA,GACA4B,EAAAs2D,EAAAiB,OAAAC,MAAA97D,EAAAsE,EAAA,GAAArE,EAAAqE,EAAA,GACAy3D,EAAAtkE,KAAA5B,MAAAmmE,cACAC,EAAAxkE,KAAA5B,MAAAqmE,eACAh1C,EAAAmsC,OACAnsC,EAAA+c,UAAA03B,EAAAC,GACAnkE,KAAA66D,QAAAkJ,gBAAAxa,UAAA95B,GACA,IAAA,IAAAxf,EAAA,EAAA+Z,EAAAzhB,EAAArH,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAAqsC,YACArsC,EAAAkd,OAAAr9B,KAAA2V,MAAA1c,EAAA0H,GAAA+zD,EAAAQ,GAAAl1D,KAAA2V,MAAAzc,EAAAyH,GAAAg0D,EAAAO,IACA/0C,EAAAy4B,OAAA54C,KAAA2V,MAAA1c,EAAA0H,GAAA+zD,EAAAM,GAAAh1D,KAAA2V,MAAAzc,EAAAyH,GAAAg0D,EAAAK,IACA70C,EAAA04B,SAEA14B,EAAAwsC,YAEA0E,EAAA//D,UAAAyiE,kBAAA,SAAA5zC,EAAA0zC,GACA,GAAAnjE,KAAA66D,QAAA6J,gBAAAha,KAAA,CAEA,IAAAhgD,EAAA1K,KAAAkvB,WAAA80C,EAAAt5D,EAAA,GAAAu5D,EAAAv5D,EAAA,GACA+2D,EAAAzhE,KAAA6hE,6BACA52D,EAAA,CAAAw2D,EAAApyD,MAAA20D,EAAAvC,EAAAjyD,OAAAy0D,GAAAC,EAAAj5D,EAAA,GAAAk5D,EAAAl5D,EAAA,GACA4B,EAAAs2D,EAAAiB,OAAAO,MAAAp8D,EAAAsE,EAAA,GAAArE,EAAAqE,EAAA,GACAy3D,EAAAtkE,KAAA5B,MAAAwmE,cACAJ,EAAAxkE,KAAA5B,MAAAymE,eACAp1C,EAAAmsC,OACAnsC,EAAA+c,UAAA03B,EAAAC,GACAnkE,KAAA66D,QAAA6J,gBAAAnb,UAAA95B,GACA,IAAA,IAAAxf,EAAA,EAAA+Z,EAAAzhB,EAAArH,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAAqsC,YACArsC,EAAAkd,OAAAr9B,KAAA2V,MAAA1c,EAAA0H,GAAA+zD,EAAAQ,GAAAl1D,KAAA2V,MAAAzc,EAAAyH,GAAAg0D,EAAAO,IACA/0C,EAAAy4B,OAAA54C,KAAA2V,MAAA1c,EAAA0H,GAAA+zD,EAAAM,GAAAh1D,KAAA2V,MAAAzc,EAAAyH,GAAAg0D,EAAAK,IACA70C,EAAA04B,SAEA14B,EAAAwsC,YAEA0E,EAAA//D,UAAA0iE,mBAAA,SAAA7zC,EAAA0zC,GACA,GAAAnjE,KAAA66D,QAAAiK,iBAAApa,KAAA,CAEA,IAAAhgD,EAAA1K,KAAAkvB,WAAA80C,EAAAt5D,EAAA,GAAAu5D,EAAAv5D,EAAA,GACA+2D,EAAAzhE,KAAA6hE,6BACA52D,EAAA,CAAAw2D,EAAApyD,MAAA20D,EAAAvC,EAAAjyD,OAAAy0D,GAAAC,EAAAj5D,EAAA,GAAAk5D,EAAAl5D,EAAA,GACA85D,EAAA/kE,KAAA5B,MAAA4mE,eAAAhlE,KAAAqiE,eACAx1D,EAAA,CAAAk4D,EAAAf,EAAAe,EAAAd,GAAAgB,EAAAp4D,EAAA,GAAAq4D,EAAAr4D,EAAA,GACAE,EAAAo2D,EAAAiB,OAAAC,MAAA97D,EAAAwE,EAAA,GAAAvE,EAAAuE,EAAA,GACAo4D,EAAAhC,EAAAiC,OAAAf,MACArkE,KAAA66D,QAAAiK,iBAAAvb,UAAA95B,GACAA,EAAAmsC,OACAnsC,EAAA+c,UAAA03B,EAAAe,EAAAd,EAAAe,GACA,IAAA,IAAAj1D,EAAA,EAAA+Z,EAAAzhB,EAAArH,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAA41C,SAAAF,EAAAl1D,GAAAX,KAAA2V,MAAA1c,EAAA0H,GAAA+zD,EAAAhkE,KAAA5B,MAAA4mE,gBAAA11D,KAAA2V,MAAAzc,EAAAyH,GAAAg0D,EAAAjkE,KAAA5B,MAAA4mE,iBAEAv1C,EAAAwsC,YAEA0E,EAAA//D,UAAA2iE,YAAA,SAAA9zC,GACAzvB,KAAA66D,QAAAyK,WAAA5a,OAEAj7B,EAAAmsC,OACA57D,KAAA66D,QAAAyK,WAAA/b,UAAA95B,GACAA,EAAA41C,SAAArlE,KAAA5B,MAAAowD,MAAA,GAAAxuD,KAAA5B,MAAAmnE,gBACA91C,EAAAwsC,YAEA0E,EAAA//D,UAAAqhE,kBAAA,WACA,IACAD,EADAwD,EAAAxlE,KAAAmjE,YAAAiC,OAAAf,MAEA,GAAA,MAAArkE,KAAA5B,MAAA0iE,aAAA94B,KAAA,MAAAhoC,KAAA5B,MAAA0iE,aAAA74B,MAAAnqC,EAAA4e,QAAA8oD,GAkBAxD,EAAA,MAlBA,CACA,IAAAyD,EAAAzlE,KAAAu8B,UAAAs9B,YAAApqC,IAGA,OAFAg2C,EAAA7J,OACA57D,KAAA66D,QAAAiK,iBAAAvb,UAAAkc,GACAzlE,KAAA5B,MAAA6iE,aACA,IAAA,WACAe,EAAAp4D,EAAAgJ,IAAA4yD,EAAAr7D,IAAA,SAAAiG,GAAA,OAAAq1D,EAAA75B,YAAAx7B,EAAA7L,YAAA8K,SACA,MACA,IAAA,aACA2yD,EAAAtB,EAAAnc,aAAAvkD,KAAA66D,QAAAiK,iBAAAla,cAAAp7C,OACA,MACA,QACA,MAAA,IAAAnR,MAAA,oBAEA2jE,GAAAhiE,KAAA5B,MAAA4mE,eACAS,EAAAxJ,UAIA,OAAA+F,GAEArB,EAAA//D,UAAAqiE,kBAAA,WAEA,IAAAx6D,EAAAzI,KAAA5B,MAAAyQ,QACAnG,EAAA1I,KAAA5B,MAAAyQ,QAAA7O,KAAAmiE,gBACA,MAAA,CAAA15D,EAAAA,EAAAC,EAAAA,IAGAi4D,EAAA//D,UAAAsuB,SAAA,WACA,MAAA,YAAAlvB,KAAA5B,MAAA6iE,YAAA,CAAA,EAAA,GAAA,CAAA,EAAA,IAEAN,EAAA//D,UAAAuhE,cAAA,WACA,IAAAvX,EAAA5qD,KAAA5B,MAAAsnE,gBAAA,IAAA1lE,KAAA5B,MAAAunE,qBAAA,IAAA3lE,KAAA5B,MAAAwnE,sBACA1D,EAAAliE,KAAA5B,MAAAowD,MAAAkS,EAAAnc,aAAAqG,GAAAp7C,OAAAxP,KAAA5B,MAAAmnE,eAAA,EACA,OAAArD,GAEAvB,EAAA//D,UAAAyhE,aAAA,WACA,OAAA,MAAAriE,KAAA5B,MAAA0iE,aAAA94B,KAAA,MAAAhoC,KAAA5B,MAAA0iE,aAAA74B,KACAr+B,EAAAgJ,IAAA,CAAA5S,KAAA5B,MAAAqmE,eAAAzkE,KAAA5B,MAAAymE,iBAEA,GAEAlE,EAAA//D,UAAAihE,2BAAA,WAwBA,IAGAryD,EAAAH,EAHAw2D,EAAA7lE,KAAAu8B,UAAA0E,MAAAzV,QAAA3f,MACAi6D,EAAA9lE,KAAAu8B,UAAA0E,MAAA1V,OAAA1f,MACAq2D,EAAAliE,KAAAmiE,gBAEA,OAAAniE,KAAA5B,MAAA6iE,aACA,IAAA,WACA,QAAAjhE,KAAA5B,MAAAoR,OACA,MAAAxP,KAAAyiE,MACAjzD,EAAAq2D,EAAA,EAAA7lE,KAAA5B,MAAAyQ,QAAAqzD,GAEA1yD,EAAA5F,EAAAgJ,IAAA,CAnVA,GAmVA5S,KAAA5B,MAAA0iE,aAAAE,QAAA9/D,OAlVA,GAkVA2kE,IACAr2D,EAAA5F,EAAAshB,IAAA,CAAA1b,EAlVA,GAkVAq2D,EAAA,EAAA7lE,KAAA5B,MAAAyQ,QAAAqzD,KAIA1yD,EAAAxP,KAAA5B,MAAAoR,OACAH,EAAA,QAAArP,KAAA5B,MAAAiR,MAzVA,GAyVArP,KAAA5B,MAAAiR,MACA,MAEA,IAAA,aACAG,EAAA,QAAAxP,KAAA5B,MAAAoR,OA7VA,GA6VAxP,KAAA5B,MAAAoR,OACA,QAAAxP,KAAA5B,MAAAiR,MACA,MAAArP,KAAAyiE,MACApzD,EAAAy2D,EAAA,EAAA9lE,KAAA5B,MAAAyQ,SAEAQ,EAAAzF,EAAAgJ,IAAA,CAlWA,GAkWA5S,KAAA5B,MAAA0iE,aAAAE,QAAA9/D,OAjWA,GAiWA4kE,IACAz2D,EAAAzF,EAAAshB,IAAA,CAAA7b,EAjWA,GAiWAy2D,EAAA,EAAA9lE,KAAA5B,MAAAyQ,WAIAQ,EAAArP,KAAA5B,MAAAiR,MACA,MAEA,QACA,MAAA,IAAAhR,MAAA,oBAEA,MAAA,CAAAgR,MAAAA,EAAAG,OAAAA,IAEAmxD,EAAA//D,UAAAmlE,uBAAA,SAAAC,GAUA,IAAAtD,EAAA,CACAuD,aAAA,IAAAxF,EAAAyF,QAAA,CACAn8C,MAAA/pB,KAAA5B,MAAA0iE,aAAA94B,IACAhe,IAAAhqB,KAAA5B,MAAA0iE,aAAA74B,OAEAk+B,aAAA,IAAA1F,EAAAyF,QAAA,CACAn8C,MAAA,EACAC,IAAAg8C,KAGA,OAAAhmE,KAAA5B,MAAA0iE,aAAAvnD,MACA,IAAA,oBAAA,OAAA,IAAAgnD,EAAA6F,YAAA1D,GACA,IAAA,iBAAA,OAAA,IAAAlC,EAAA6F,SAAA3D,GACA,QACA,MAAA,IAAArkE,MAAA,sBAGAsiE,EAAA//D,UAAA0lE,qBAAA,SAAAC,EAAAC,GAIA,IADA,IAAArB,EAAAnlE,KAAA5B,MAAAimD,UAAAoiB,SAAAF,EAAA,MACAt2D,EAAA,EAAA+Z,EAAAw8C,EAAAtlE,OAAA+O,EAAA+Z,EAAA/Z,IACAu2D,EAAAv2D,KAAAjQ,KAAA5B,MAAAsoE,wBACAvB,EAAAl1D,GAAAjQ,KAAA5B,MAAAsoE,sBAAAF,EAAAv2D,KAEA,OAAAk1D,GAEAxE,EAAA//D,UAAAuiE,UAAA,WACA,IACA6C,EADApE,EAAA5hE,KAAA6hE,6BAEA,OAAA7hE,KAAA5B,MAAA6iE,aACA,IAAA,WACA+E,EAAApE,EAAApyD,OACA,MAEA,IAAA,aACAw2D,EAAApE,EAAAvyD,MACA,MAEA,QACA,MAAA,IAAAhR,MAAA,oBAYA,IAVA,IAAA0K,EAAA/I,KAAA+lE,uBAAAC,GACAt7D,EAAA1K,KAAAkvB,WAAAjf,EAAAvF,EAAA,GAAA66B,EAAA76B,EAAA,GACAO,EAAA,CAAAjL,KAAA5B,MAAA0iE,aAAA94B,IAAAhoC,KAAA5B,MAAA0iE,aAAA74B,MAAAle,EAAA9e,EAAA,GAAA+e,EAAA/e,EAAA,GAGA07D,EAAA3mE,KAAA5B,MAAAyiE,OAAA+F,UAAA78C,EAAAC,EAAA,KAAA,KAAAhqB,KAAA5B,MAAAyiE,OAAAgG,mBACAC,EAAAH,EAAAtC,MACA0C,EAAAJ,EAAAhC,MACAqC,EAAA,CAAA,GAAA,IACAC,EAAA,CAAA,GAAA,IACAC,EAAA,EAAA/K,EAAA2K,EAAA5lE,OAAAgmE,EAAA/K,EAAA+K,IACAJ,EAAAI,GAAAn9C,GAAA+8C,EAAAI,GAAAl9C,IAEAg9C,EAAA/2D,GAAAjF,KAAA87D,EAAAI,IACAF,EAAAzhC,GAAAv6B,KAAA,IAEA,IAAA,IAAAk8D,EAAA,EAAA/K,EAAA4K,EAAA7lE,OAAAgmE,EAAA/K,EAAA+K,IACAH,EAAAG,GAAAn9C,GAAAg9C,EAAAG,GAAAl9C,IAEAi9C,EAAAh3D,GAAAjF,KAAA+7D,EAAAG,IACAD,EAAA1hC,GAAAv6B,KAAA,IAEA,IAAAo6D,EAAA,CAAAf,MAAArkE,KAAAsmE,qBAAAU,EAAA/2D,GAAA62D,IACA1C,EAAA,CACAC,MAAA,CAAA,GAAA,IACAM,MAAA,CAAA,GAAA,KAWA,OATAP,EAAAC,MAAAp0D,GAAAlH,EAAAurB,UAAA0yC,EAAA/2D,IACAm0D,EAAAO,MAAA10D,GAAAlH,EAAAurB,UAAA2yC,EAAAh3D,IACAm0D,EAAAC,MAAA9+B,GAAAyhC,EAAAzhC,GACA6+B,EAAAO,MAAAp/B,GAAA0hC,EAAA1hC,GAEA,YAAAvlC,KAAA5B,MAAA6iE,cACAmD,EAAAC,MAAAp0D,GAAAoiB,EAAAloB,IAAAi6D,EAAAC,MAAAp0D,GAAA,SAAAk3D,GAAA,OAAAnB,EAAAmB,IACA/C,EAAAO,MAAA10D,GAAAoiB,EAAAloB,IAAAi6D,EAAAO,MAAA10D,GAAA,SAAAk3D,GAAA,OAAAnB,EAAAmB,KAEA,CAAA/C,OAAAA,EAAAgB,OAAAA,IAEAzE,EAtcA,CAucAnG,EAAAd,gBACA97D,EAAA+iE,aAAAA,EACA,IAAAyG,EAAA,SAAA9/D,GAEA,SAAA8/D,EAAA77D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgDA,OAlDA6G,EAAAY,UAAA2/D,EAAA9/D,GAIA8/D,EAAArtD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAAoJ,aAAA22D,EACA3gE,KAAAga,OAAA,CACA,oBACA,cACA,mBACA,mBACA,eACA,YACA,qBAEAha,KAAAia,OAAA,CACAy9C,SAAA,CAAArqD,EAAA6M,IAAA,aACA+mD,YAAA,CAAA5zD,EAAAuJ,YAAA,YACA43C,MAAA,CAAAnhD,EAAAsmB,QACA4xC,eAAA,CAAAl4D,EAAAkmB,OAAA,GACAlkB,MAAA,CAAAhC,EAAA6M,IAAA,QACA1K,OAAA,CAAAnC,EAAA6M,IAAA,QACA0pD,YAAA,CAAAv2D,EAAAkmB,OAAA,GACAstC,OAAA,CAAAxzD,EAAAimB,SAAA,WAAA,OAAA,IAAA8sC,EAAAiH,cACAhjB,UAAA,CAAAh3C,EAAAimB,SAAA,WAAA,OAAA,IAAA+sC,EAAAiH,qBACAZ,sBAAA,CAAAr5D,EAAA6M,IAAA,IACA4mD,aAAA,CAAAzzD,EAAAimB,UACA0xC,eAAA,CAAA33D,EAAAkmB,OAAA,GACA/kB,OAAA,CAAAnB,EAAAkmB,OAAA,IACA1kB,QAAA,CAAAxB,EAAAkmB,OAAA,IACAgxC,cAAA,CAAAl3D,EAAAkmB,OAAA,GACAkxC,eAAA,CAAAp3D,EAAAkmB,OAAA,GACAqxC,cAAA,CAAAv3D,EAAAkmB,OAAA,GACAsxC,eAAA,CAAAx3D,EAAAkmB,OAAA,KAEAvzB,KAAAob,SAAA,CACAmsD,sBAAA,UACAC,sBAAA,IACAC,eAAA,KACAC,kBAAA,KACAC,uBAAA,SACAC,0BAAA,SACAC,2BAAA,MACAC,sBAAA,UACAC,sBAAA,KACApC,qBAAA,OACAC,sBAAA,YAGAwB,EAnDA,CAoDA5M,EAAAF,YACA18D,EAAAwpE,SAAAA,EACAA,EAAArtD,aCjhBA,SAAArc,EAAAC,EAAAC,GACA,IAAA48D,EAAA98D,EAAA,IACAE,EAAA08D,WAAAE,EAAAF,WACA,IAAA0N,EAAAtqE,EAAA,IACAE,EAAAw+D,MAAA4L,EAAA5L,MACA,IAAA3B,EAAA/8D,EAAA,IACAE,EAAA++D,UAAAlC,EAAAkC,UACA,IAAAsL,EAAAvqE,EAAA,IACAE,EAAA6+D,SAAAwL,EAAAxL,SACA,IAAAyL,EAAAxqE,EAAA,IACAE,EAAAg/D,WAAAsL,EAAAtL,WACA,IAAAuL,EAAAzqE,EAAA,IACAE,EAAAo/D,QAAAmL,EAAAnL,QACA,IAAAoL,EAAA1qE,EAAA,IACAE,EAAAk/D,QAAAsL,EAAAtL,QACA,IAAAuL,EAAA3qE,EAAA,IACAE,EAAAsgE,KAAAmK,EAAAnK,KACA,IAAAoK,EAAA5qE,EAAA,IACAE,EAAAuiE,cAAAmI,EAAAnI,cACA,IAAAoI,EAAA7qE,EAAA,IACAE,EAAAwpE,SAAAmB,EAAAnB,SACA,IAAAoB,EAAA9qE,EAAA,IACAE,EAAA6qE,MAAAD,EAAAC,MACA,IAAAC,EAAAhrE,EAAA,IACAE,EAAA+qE,SAAAD,EAAAC,SACA,IAAAC,EAAAlrE,EAAA,IACAE,EAAAirE,OAAAD,EAAAC,OACA,IAAAC,EAAAprE,EAAA,IACAE,EAAAmrE,WAAAD,EAAAC,WACA,IAAAC,EAAAtrE,EAAA,IACAE,EAAAqrE,eAAAD,EAAAC,eACA,IAAAC,EAAAxrE,EAAA,IACAE,EAAAurE,MAAAD,EAAAC,MACA,IAAAC,EAAA1rE,EAAA,IACAE,EAAAyrE,KAAAD,EAAAC,KACA,IAAAC,EAAA5rE,EAAA,IACAE,EAAA2rE,eAAAD,EAAAC,eACA,IAAAC,EAAA9rE,EAAA,IACAE,EAAA6rE,MAAAD,EAAAC,MACA,IAAAC,EAAAhsE,EAAA,IACAE,EAAA+rE,aAAAD,EAAAC,aACA,IAAAC,EAAAlsE,EAAA,IACAE,EAAAisE,QAAAD,EAAAC,QACA,IAAAC,EAAApsE,EAAA,IACAE,EAAAmsE,QAAAD,EAAAC,SC5CA,SAAArsE,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4rE,EAAA5rE,EAAA,IACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACAssE,EAAA,SAAA1iE,GAEA,SAAA0iE,IACA,OAAA,OAAA1iE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAyCA,OA3CA6G,EAAAY,UAAAuiE,EAAA1iE,GAIA0iE,EAAAppE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA66D,QAAA5R,cAEA+gB,EAAAppE,UAAA+4D,UAAA,WACA,IAAAlqC,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAzvB,KAAA66D,QAAA/3D,KAAAymD,UAAA95B,GACA,IAAA/kB,EAAA+kB,EAAAmc,YAAA5rC,KAAA5B,MAAA0E,MAAAuM,EAAA3E,EAAA2E,MAAA08B,EAAArhC,EAAAqhC,OACA,MAAA,CAAA18B,MAAAA,EAAAG,OAAAu8B,IAEAi+B,EAAAppE,UAAAkU,OAAA,WAGA,GAFA9U,KAAA5B,MAAAkpB,SAAA,OAAAtnB,KAAA5B,MAAAkgE,aACA/zC,EAAA5Y,UAAA3R,KAAAmN,IACAnN,KAAA5B,MAAAkpB,QAAA,CAGA,IAAAhG,EACA,OAAAthB,KAAA5B,MAAA6rE,aACA,IAAA,MACA3oD,GAAAthB,KAAA5B,MAAAkjB,MACA,MAEA,IAAA,MACAA,GAAAthB,KAAA5B,MAAAkjB,MAAAhS,KAAA0e,GAAA,IACA,MAEA,QACA,MAAA,IAAA3vB,MAAA,oBAEA,IAAAokE,EAAA,MAAAziE,KAAAyiE,MAAAziE,KAAAyiE,MAAAziE,KAAAu8B,UAAA0E,MACAqB,EAAAtiC,KAAAu8B,UAAA0E,MAAAsB,QAAAviC,KAAA5B,MAAAi9D,cACA54B,EAAAziC,KAAAu8B,UAAA0E,MAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cACAhzD,EAAA,QAAAvI,KAAA5B,MAAA8rE,QAAA5nC,EAAA7U,QAAAztB,KAAA5B,MAAAqK,GAAAg6D,EAAA/0C,MAAAD,QAAAztB,KAAA5B,MAAAqK,GACAD,EAAA,QAAAxI,KAAA5B,MAAA+rE,QAAA1nC,EAAAhV,QAAAztB,KAAA5B,MAAAsK,GAAA+5D,EAAA90C,MAAAF,QAAAztB,KAAA5B,MAAAsK,GACAH,GAAAvI,KAAA5B,MAAA8lE,SACA17D,GAAAxI,KAAA5B,MAAA+lE,SACA,IAAAhF,EAAA,UAAAn/D,KAAA5B,MAAAkgE,YAAAt+D,KAAAoqE,aAAAr4C,KAAA/xB,MAAAA,KAAAqqE,UAAAt4C,KAAA/xB,MACAm/D,EAAAn/D,KAAAu8B,UAAAs9B,YAAApqC,IAAAzvB,KAAA5B,MAAA0E,KAAAyF,EAAAC,EAAA8Y,KAEA0oD,EA5CA,CA6CAV,EAAAgB,oBACA1sE,EAAAosE,UAAAA,EACA,IAAAvB,EAAA,SAAAnhE,GAEA,SAAAmhE,EAAAl9D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAwBA,OA1BA6G,EAAAY,UAAAghE,EAAAnhE,GAIAmhE,EAAA1uD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAoJ,aAAAggE,EACAhqE,KAAAga,OAAA,CAAA,OAAA,eAAA,qBACAha,KAAAia,OAAA,CACAxR,EAAA,CAAA4E,EAAAkmB,QACA22C,QAAA,CAAA78D,EAAAqK,aAAA,QACAhP,EAAA,CAAA2E,EAAAkmB,QACA42C,QAAA,CAAA98D,EAAAqK,aAAA,QACA5U,KAAA,CAAAuK,EAAAsmB,QACArS,MAAA,CAAAjU,EAAAomB,MAAA,GACAw2C,YAAA,CAAA58D,EAAAkI,WAAA,OACA2uD,SAAA,CAAA72D,EAAAkmB,OAAA,GACA4wC,SAAA,CAAA92D,EAAAkmB,OAAA,GACA8nC,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,aAEA3zB,KAAAob,SAAA,CACAmsD,sBAAA,KACAG,kBAAA,QAGAe,EA3BA,CA4BAa,EAAAC,gBACA3rE,EAAA6qE,MAAAA,EACAA,EAAA1uD,aClFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4rE,EAAA5rE,EAAA,IACA4tD,EAAA5tD,EAAA,KACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACA6sE,EAAA,SAAAjjE,GAEA,SAAAijE,IACA,OAAA,OAAAjjE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAuIA,OAzIA6G,EAAAY,UAAA8iE,EAAAjjE,GAIAijE,EAAA3pE,UAAA4T,WAAA,WAGA,GAFAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA85D,SAAA95D,KAAA5B,MAAAshB,QACA,OAAA1f,KAAA5B,MAAAkgE,YACA,IAAA,IAAAruD,EAAA,EAAA+Z,EAAAhqB,KAAAwqE,MAAAtpE,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAA9C,EAAAod,EAAA3a,IAAA,CAAAuF,MAAA,sBAAA/I,MAAA,CAAAsF,QAAA,UACA1R,KAAAmN,GAAAR,YAAAQ,KAIAo9D,EAAA3pE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACA,OAAAA,KAAA5B,MAAAkgE,aAEAt+D,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WACAjY,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,QACA5e,EAAAgU,WAEA9U,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAi7C,UAAA,WACA75D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,QACA5e,EAAAgU,WAEA9U,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAk7C,SAAA,WACA95D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,QACA5e,EAAAgU,WAEA9U,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAA3G,OAAA,WACAjY,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,QACA5e,EAAAgU,aAIA9U,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WACAjY,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,QACA5e,EAAAy7B,UAAAu+B,mBAEA96D,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAi7C,UAAA,WACA75D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,QACA5e,EAAAy7B,UAAAu+B,mBAEA96D,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAk7C,SAAA,WACA95D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,QACA5e,EAAAy7B,UAAAu+B,mBAEA96D,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAA3G,OAAA,WACAjY,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,QACA5e,EAAAy7B,UAAAu+B,qBAIAyP,EAAA3pE,UAAAk5D,SAAA,SAAAp6C,GACApY,EAAA1G,UAAAk5D,SAAAjyD,KAAA7H,KAAA0f,GACA1f,KAAA66D,QAAA5R,WAAAvpC,IAEA6qD,EAAA3pE,UAAAm6D,UAAA,WACA,IAAAz4B,EAAAtiC,KAAAu8B,UAAA0E,MAAAsB,QAAAviC,KAAA5B,MAAAi9D,cACA54B,EAAAziC,KAAAu8B,UAAA0E,MAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cACAkH,EAAA,MAAAziE,KAAAyiE,MAAAziE,KAAAyiE,MAAAziE,KAAAu8B,UAAA0E,MACA14B,EAAA,QAAAvI,KAAA5B,MAAA8rE,QAAA5nC,EAAAhO,UAAAt0B,KAAAqoD,IAAAoa,EAAA/0C,MAAA4G,UAAAt0B,KAAAqoD,IACA7/C,EAAA,QAAAxI,KAAA5B,MAAA+rE,QAAA1nC,EAAAnO,UAAAt0B,KAAAi6D,IAAAwI,EAAA90C,MAAA2G,UAAAt0B,KAAAi6D,IACA,MAAA,CAAA1xD,EAAAC,IAEA+hE,EAAA3pE,UAAAkU,OAAA,WAGA,GAFA9U,KAAA5B,MAAAkpB,SAAA,OAAAtnB,KAAA5B,MAAAkgE,aACA/zC,EAAA5Y,UAAA3R,KAAAmN,IACAnN,KAAA5B,MAAAkpB,QAKA,IAHA,IAAA63C,EAAA,UAAAn/D,KAAA5B,MAAAkgE,YAAAt+D,KAAAyqE,eAAA14C,KAAA/xB,MAAAA,KAAA0qE,YAAA34C,KAAA/xB,MACAyvB,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACA/kB,EAAA1K,KAAA+6D,YAAAxyD,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,GACAuF,EAAA,EAAA+Z,EAAAhqB,KAAAwqE,MAAAtpE,OAAA+O,EAAA+Z,EAAA/Z,IACAkvD,EAAA1vC,EAAAxf,EAAAjQ,KAAAwqE,MAAAv6D,GAAA1H,EAAA0H,GAAAjQ,KAAA2qE,UAAA16D,GAAAzH,EAAAyH,GAAAjQ,KAAA4qE,UAAA36D,GAAAjQ,KAAA6qE,OAAA56D,KAGAs6D,EAAA3pE,UAAA+4D,UAAA,WACA,IAAAlqC,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAzvB,KAAA66D,QAAA/3D,KAAAymD,UAAA95B,GACA,IAAA/kB,EAAA+kB,EAAAmc,YAAA5rC,KAAAwqE,MAAA,IAAAn7D,EAAA3E,EAAA2E,MAAA08B,EAAArhC,EAAAqhC,OACA,MAAA,CAAA18B,MAAAA,EAAAG,OAAAu8B,IAEAw+B,EAAA3pE,UAAA6pE,eAAA,SAAAh7C,EAAAxf,EAAAnN,EAAAyF,EAAAC,EAAA8Y,GACAthB,KAAA66D,QAAA/3D,KAAAqmD,cAAA15B,EAAAxf,GACA,IAAA66D,EAAA9qE,KAAA+qE,mCAAAt7C,EAAA3sB,GACA2sB,EAAAmsC,OACAnsC,EAAAqsC,YACArsC,EAAA+c,UAAAjkC,EAAAC,GACAinB,EAAAH,OAAAhO,GACAmO,EAAAtgB,KAAA27D,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA9qE,KAAA66D,QAAA2I,gBAAA9Y,OACA1qD,KAAA66D,QAAA2I,gBAAAra,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAv2B,KAAA66D,QAAA6I,YAAAhZ,OACA1qD,KAAA66D,QAAA6I,YAAAva,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAEAnoD,KAAA66D,QAAA/3D,KAAA4nD,OACA1qD,KAAA66D,QAAA/3D,KAAAqmD,cAAA15B,EAAAxf,GACAwf,EAAA41C,SAAAviE,EAAA,EAAA,IAEA2sB,EAAAwsC,WAEAsO,EAAA3pE,UAAA8pE,YAAA,SAAAj7C,EAAAxf,EAAAnN,EAAAyF,EAAAC,EAAA8Y,GACA,IAAAnU,EAAAnN,KAAAmN,GAAA3B,SAAAyE,GACA9C,EAAA69D,YAAAloE,EACA9C,KAAA66D,QAAA/3D,KAAAqmD,cAAA15B,EAAAxf,GACA,IAAA66D,EAAA9qE,KAAA+qE,mCAAAt7C,EAAA3sB,GAEA88D,EAAA5/D,KAAA66D,QAAA6I,YAAAztC,UAAApqB,QACAoqB,EAAA2pC,EAAA1+D,OAAA,EAAA,QAAA,SACAlB,KAAA66D,QAAA6I,YAAAva,cAAA15B,EAAAxf,GACAjQ,KAAA66D,QAAA2I,gBAAAra,cAAA15B,EAAAxf,GACA9C,EAAAf,MAAAyG,SAAA,WACA1F,EAAAf,MAAAgC,KAAA7F,EAAAuiE,EAAA,GAAA,KACA39D,EAAAf,MAAA4B,IAAAxF,EAAAsiE,EAAA,GAAA,KACA39D,EAAAf,MAAAyhC,MAAA,GAAA7tC,KAAA66D,QAAA/3D,KAAAs0B,WAAAvrB,QACAsB,EAAAf,MAAAuzD,QAAA,GAAA3/D,KAAA66D,QAAA/3D,KAAAu0B,WAAAxrB,QACAsB,EAAAf,MAAAo4C,KAAA,GAAAxkD,KAAA66D,QAAA/3D,KAAA8nD,aACAz9C,EAAAf,MAAA6+D,WAAA,SACA3pD,IACAnU,EAAAf,MAAAqP,UAAA,UAAA6F,EAAA,QAEAthB,KAAA66D,QAAA2I,gBAAA9Y,OACAv9C,EAAAf,MAAAszD,gBAAA,GAAA1/D,KAAA66D,QAAA2I,gBAAA9Z,eAEA1pD,KAAA66D,QAAA6I,YAAAhZ,OACAv9C,EAAAf,MAAAyzD,YAAA,GAAA5pC,EACA9oB,EAAAf,MAAAozD,YAAAx/D,KAAA66D,QAAA6I,YAAA7tC,WAAAhqB,QAAA,KACAsB,EAAAf,MAAAqzD,YAAA,GAAAz/D,KAAA66D,QAAA6I,YAAAha,eAEAn/B,EAAA7Y,QAAAvE,IAEAo9D,EA1IA,CA2IAjB,EAAAgB,oBACA1sE,EAAA2sE,aAAAA,EACA,IAAA5B,EAAA,SAAArhE,GAEA,SAAAqhE,EAAAp9D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAwBA,OA1BA6G,EAAAY,UAAAkhE,EAAArhE,GAIAqhE,EAAA5uD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAAoJ,aAAAugE,EACAvqE,KAAAga,OAAA,CAAA,OAAA,eAAA,qBACAha,KAAAia,OAAA,CACAxR,EAAA,CAAA4E,EAAAioB,YACA5sB,EAAA,CAAA2E,EAAAioB,YACA40C,QAAA,CAAA78D,EAAAqK,aAAA,QACAyyD,QAAA,CAAA98D,EAAAqK,aAAA,QACA5U,KAAA,CAAAuK,EAAAkoB,WAAA,CAAAxV,MAAA,SACAuB,MAAA,CAAAjU,EAAA0nB,UAAA,GACAmvC,SAAA,CAAA72D,EAAAioB,WAAA,CAAAzpB,MAAA,IACAs4D,SAAA,CAAA92D,EAAAioB,WAAA,CAAAzpB,MAAA,IACA6T,OAAA,CAAArS,EAAAimB,SAAA,WAAA,OAAA,IAAAg4B,EAAAsI,mBACAyH,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,aAEA3zB,KAAAob,SAAA,CACAmsD,sBAAA,KACAG,kBAAA,QAGAiB,EA3BA,CA4BAW,EAAAC,gBACA3rE,EAAA+qE,SAAAA,EACAA,EAAA5uD,aCjLA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA2P,EAAA3P,EAAA,IACA2a,EAAA3a,EAAA,IACAwtE,EAAAxtE,EAAA,IACAimB,EAAAjmB,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACA0N,EAAA1N,EAAA,IACAytE,EAAA,SAAA7jE,GAEA,SAAA6jE,IACA,OAAA,OAAA7jE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA+QA,OAjRA6G,EAAAY,UAAA0jE,EAAA7jE,GAIA6jE,EAAAvqE,UAAA+T,OAAA,SAAAC,EAAAC,GACA,MAAA,QAAA7U,KAAA5B,MAAAgtE,aAAA,KAAA,WAEApsE,OAAAiU,eAAAk4D,EAAAvqE,UAAA,iBAAA,CACAsS,IAAA,WACA,OAAA,MAAAlT,KAAA66D,QAAA6I,YAAA9tC,WAAA/pB,QAAA7L,KAAA5B,MAAAyQ,QAAA,GAEAwE,YAAA,EACAC,cAAA,IAEA63D,EAAAvqE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAAitE,YAAA,WAAA,OAAAvqE,EAAAy7B,UAAAu+B,oBAEAqQ,EAAAvqE,UAAA0qE,oBAAA,WACA,IAAAC,EAAAvrE,KAAA5B,MAAAotE,mBACA9gE,EAAA1K,KAAA5B,MAAAqtE,EAAA/gE,EAAA+gE,aAAAC,EAAAhhE,EAAAghE,YACAzgE,EAAAjL,KAAA5B,MAAAutE,EAAA1gE,EAAA0gE,aAAAC,EAAA3gE,EAAA2gE,YACA5rE,KAAA6rE,iBAAAjiE,EAAAgJ,IAAA,CAAAs4D,EAAA3mB,aAAAvkD,KAAA66D,QAAAiR,WAAAlhB,cAAAp7C,OAAAm8D,EAAAF,IAEA,IAAAh8C,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAA,EAAAmsC,OACA57D,KAAA66D,QAAAiR,WAAAviB,UAAA95B,GACAzvB,KAAA+rE,YAAA,GACA,IAAA,IAAA3hE,EAAA,EAAA4hE,EAAAT,EAAAnhE,EAAA4hE,EAAA9qE,OAAAkJ,IAAA,CACA,IAAAzL,EAAAqtE,EAAA5hE,GACApK,KAAA+rE,YAAAptE,GAAAiL,EAAAgJ,IAAA,CAAA6c,EAAAmc,YAAAjtC,GAAA0Q,MAAAu8D,IAEA5rE,KAAA66D,QAAAyK,WAAA/b,UAAA95B,GACAzvB,KAAAisE,aAAAjsE,KAAA5B,MAAAowD,MAAA0c,EAAA3mB,aAAAvkD,KAAA66D,QAAAyK,WAAA1a,cAAAp7C,OAAAxP,KAAA5B,MAAAmnE,eAAA,EACAvlE,KAAAksE,YAAAlsE,KAAA5B,MAAAowD,MAAA/+B,EAAAmc,YAAA5rC,KAAA5B,MAAAowD,OAAAn/C,MAAA,EACAogB,EAAAwsC,UACA,IAKAyF,EAAAC,EALAwK,EAAA78D,KAAAsD,IAAAhJ,EAAAgJ,IAAA9U,EAAAqV,OAAAnT,KAAA+rE,cAAA,GACAvJ,EAAAxiE,KAAA5B,MAAAoQ,OACA49D,EAAApsE,KAAAosE,eACAC,EAAArsE,KAAA5B,MAAAqoB,QACAu+C,EAAAhlE,KAAA5B,MAAA4mE,eAEA,GAAA,YAAAhlE,KAAA5B,MAAA6iE,YACAS,EAAA6J,EAAArqE,OAAAlB,KAAA6rE,iBAAAv8D,KAAAsD,IAAA24D,EAAArqE,OAAA,EAAA,GAAAmrE,EAAA,EAAAD,EAAApsE,KAAAisE,aACAtK,EAAA/3D,EAAAgJ,IAAA,CAAAu5D,EAAAT,EAAA1G,EAAA,EAAAoH,EAAApsE,KAAAksE,YAAA,EAAAE,QAEA,CACA,IAAAE,EAAA,EAAAF,EAAA98D,KAAAsD,IAAA24D,EAAArqE,OAAA,EAAA,GAAAmrE,EACA,IAAA,IAAA3xD,KAAA1a,KAAA+rE,YAAA,CACA,IAAA18D,EAAArP,KAAA+rE,YAAArxD,GACA4xD,GAAA1iE,EAAAgJ,IAAA,CAAAvD,EAAAu8D,IAAAF,EAAA1G,EAEArD,EAAA/3D,EAAAgJ,IAAA,CAAA5S,KAAAksE,YAAA,EAAAE,EAAAE,IACA5K,EAAA1hE,KAAA6rE,iBAAA7rE,KAAAisE,aAAA,EAAAG,EAEA,IAGA7jE,EAAAC,EAHAi6D,EAAA,MAAAziE,KAAAyiE,MAAAziE,KAAAyiE,MAAAziE,KAAAu8B,UAAA0E,MACAp0B,EAAA41D,EAAA19C,KAAA29C,OAAAC,EAAA91D,EAAA,GAAA+1D,EAAA/1D,EAAA,GACA6qD,EAAA13D,KAAA5B,MAAAs5D,SAEA,GAAAtsD,EAAAW,SAAA2rD,GACA,OAAAA,GACA,IAAA,WACAnvD,EAAAo6D,EAAA54C,MAAAy4C,EACAh6D,EAAAo6D,EAAA74C,MAAAy4C,EACA,MACA,IAAA,aACAj6D,GAAAo6D,EAAA34C,IAAA24C,EAAA54C,OAAA,EAAA43C,EAAA,EACAn5D,EAAAo6D,EAAA74C,MAAAy4C,EACA,MACA,IAAA,YACAj6D,EAAAo6D,EAAA34C,IAAAw4C,EAAAb,EACAn5D,EAAAo6D,EAAA74C,MAAAy4C,EACA,MACA,IAAA,eACAj6D,EAAAo6D,EAAA34C,IAAAw4C,EAAAb,EACAn5D,EAAAo6D,EAAA54C,IAAAw4C,EAAAd,EACA,MACA,IAAA,gBACAn5D,GAAAo6D,EAAA34C,IAAA24C,EAAA54C,OAAA,EAAA43C,EAAA,EACAn5D,EAAAo6D,EAAA54C,IAAAw4C,EAAAd,EACA,MACA,IAAA,cACAn5D,EAAAo6D,EAAA54C,MAAAy4C,EACAh6D,EAAAo6D,EAAA54C,IAAAw4C,EAAAd,EACA,MACA,IAAA,cACAn5D,EAAAo6D,EAAA54C,MAAAy4C,EACAh6D,GAAAo6D,EAAA54C,IAAA44C,EAAA74C,OAAA,EAAA23C,EAAA,EACA,MACA,IAAA,SACAn5D,GAAAo6D,EAAA34C,IAAA24C,EAAA54C,OAAA,EAAA43C,EAAA,EACAn5D,GAAAo6D,EAAA54C,IAAA44C,EAAA74C,OAAA,EAAA23C,EAAA,EACA,MACA,IAAA,eACAn5D,EAAAo6D,EAAA34C,IAAAw4C,EAAAb,EACAn5D,GAAAo6D,EAAA54C,IAAA44C,EAAA74C,OAAA,EAAA23C,EAAA,EACA,MACA,QACA,MAAA,IAAArjE,MAAA,wBAGA,CAAA,IAAA+M,EAAAa,QAAAyrD,IAAA,GAAAA,EAAAx2D,OAMA,MAAA,IAAA7C,MAAA,oBALA,IAAAwkE,EAAAnL,EAAA,GAAAoL,EAAApL,EAAA,GACAnvD,EAAAk6D,EAAA/0C,MAAAD,QAAAo1C,GACAr6D,EAAAi6D,EAAA90C,MAAAF,QAAAq1C,GAAApB,EAIA,OAAA,IAAA/9C,EAAAY,KAAA,CAAAnW,KAAA7F,EAAAyF,IAAAxF,EAAA6G,MAAAsyD,EAAAnyD,OAAAkyD,KAEAyJ,EAAAvqE,UAAAk/D,iBAAA,WACA,OAAA9/D,KAAAsrE,uBAEAH,EAAAvqE,UAAAmgC,gBAAA,SAAAx4B,EAAAC,GACA,IAAAuc,EAAA/kB,KAAA8/D,mBACA,OAAA/6C,EAAAvR,SAAAjL,EAAAC,IAEA2iE,EAAAvqE,UAAAohC,OAAA,SAAAz5B,EAAAC,GAUA,IATA,IAAAkC,EAAAO,EACAshE,EACAb,EAAA1rE,KAAA5B,MAAAstE,YACAU,EAAApsE,KAAAosE,eACAC,EAAArsE,KAAA5B,MAAAqoB,QACAu+C,EAAAhlE,KAAA5B,MAAA4mE,eACAwH,EAAAD,EAAAH,EACAK,EAAAzsE,KAAAsrE,sBACA98C,EAAA,YAAAxuB,KAAA5B,MAAA6iE,YACA72D,EAAA,EAAAyC,EAAA7M,KAAA5B,MAAAkoB,MAAAlc,EAAAyC,EAAA3L,OAAAkJ,IAGA,IAFA,IAAAxC,EAAAiF,EAAAzC,GACAg7D,EAAAx9D,EAAA8kE,kCACA3/D,EAAA,EAAA4/D,EAAAvH,EAAAr4D,EAAA4/D,EAAAzrE,OAAA6L,IAAA,CACA,IAAAqD,EAAAu8D,EAAA5/D,GACAkU,EAAAwrD,EAAAhkE,EAAA+jE,EACAtrD,EAAAurD,EAAA/jE,EAAA6jE,EAAAvsE,KAAAisE,aACAxrD,OAAA,EAAAktB,OAAA,EACAnf,GACA9jB,EAAA,CAAA+hE,EAAAp9D,MAAA,EAAA+8D,EAAApsE,KAAA6rE,kBAAAprD,EAAA/V,EAAA,GAAAijC,EAAAjjC,EAAA,KAEAO,EAAA,CAAAjL,KAAA+rE,YAAA37D,GAAAs7D,EAAA1G,EAAAhlE,KAAA6rE,kBAAAprD,EAAAxV,EAAA,GAAA0iC,EAAA1iC,EAAA,IACA,IAAA8Z,EAAA,IAAApB,EAAAY,KAAA,CAAAnW,KAAA6S,EAAAjT,IAAAkT,EAAA7R,MAAAoR,EAAAjR,OAAAm+B,IACA,GAAA5oB,EAAAvR,SAAAjL,EAAAC,GAAA,CACA,OAAAxI,KAAA5B,MAAAgtE,cACA,IAAA,OACA,IAAA,IAAAld,EAAA,EAAAC,EAAAvmD,EAAAglE,UAAA1e,EAAAC,EAAAjtD,OAAAgtD,IAAA,CACA,IAAAroC,EAAAsoC,EAAAD,GACAroC,EAAAyB,SAAAzB,EAAAyB,QAEA,MAEA,IAAA,OACA,IAAA,IAAA8mC,EAAA,EAAAye,EAAAjlE,EAAAglE,UAAAxe,EAAAye,EAAA3rE,OAAAktD,IAAA,CACA,IAAAvoC,EAAAgnD,EAAAze,GACAvoC,EAAAinD,OAAAjnD,EAAAinD,OAKA,OAAA,EAEAt+C,EACA+9C,GAAAvsE,KAAA6rE,iBAAAQ,EAEAG,GAAAxsE,KAAA+rE,YAAA37D,GAAAs7D,EAAA1G,EAAAqH,EAGA,OAAA,GAEAlB,EAAAvqE,UAAAkU,OAAA,WACA,GAAA9U,KAAA5B,MAAAkpB,SAEA,GAAAtnB,KAAA5B,MAAAkoB,MAAAplB,OAAA,CAIA,IAAA,IAAAkJ,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAkoB,MAAAlc,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAxC,EAAA8C,EAAAN,GACAxC,EAAAmlE,OAAA/sE,KAAA5B,MAEA,IAAAqxB,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACA1K,EAAA/kB,KAAAsrE,sBACA77C,EAAAmsC,OACA57D,KAAAgtE,iBAAAv9C,EAAA1K,GACA/kB,KAAAitE,mBAAAx9C,EAAA1K,GACA/kB,KAAA5B,MAAAowD,OACAxuD,KAAAujE,YAAA9zC,EAAA1K,GACA0K,EAAAwsC,YAEAkP,EAAAvqE,UAAAosE,iBAAA,SAAAv9C,EAAA1K,GACA0K,EAAAqsC,YACArsC,EAAAtgB,KAAA4V,EAAAtc,EAAAsc,EAAArc,EAAAqc,EAAA1V,MAAA0V,EAAAvV,QACAxP,KAAA66D,QAAA2I,gBAAAja,UAAA95B,GACAA,EAAA8G,OACAv2B,KAAA66D,QAAA6I,YAAAhZ,OACA1qD,KAAA66D,QAAA6I,YAAAna,UAAA95B,GACAA,EAAA04B,WAGAgjB,EAAAvqE,UAAAqsE,mBAAA,SAAAx9C,EAAA1K,GAqDA,IApDA,IAAAjkB,EAAAd,KACA0K,EAAA1K,KAAA5B,MAAAstE,EAAAhhE,EAAAghE,YAAAD,EAAA/gE,EAAA+gE,aACAW,EAAApsE,KAAAosE,eACAC,EAAArsE,KAAA5B,MAAAqoB,QACAu+C,EAAAhlE,KAAA5B,MAAA4mE,eACAwH,EAAAJ,EACAG,EAAAH,EACA59C,EAAA,YAAAxuB,KAAA5B,MAAA6iE,YACAxmD,EAAA,SAAA7S,GACA,IAAA8C,EAAAO,EACAm6D,EAAAx9D,EAAA8kE,kCACA3sD,EAAAnY,EAAAslE,4BACA,GAAA,GAAA9H,EAAAlkE,OACA,MAAA,WAQA,IAPA,IAAAugC,EAAA,WACA,OAAA3gC,EAAA1C,MAAAgtE,cACA,IAAA,OAAA,OAAA,EACA,IAAA,OAAA,OAAAxhE,EAAAw6B,MAAAx8B,EAAAglE,UAAA,SAAA/mD,GAAA,OAAAA,EAAAyB,UACA,IAAA,OAAA,OAAA1d,EAAAw6B,MAAAx8B,EAAAglE,UAAA,SAAA/mD,GAAA,OAAAA,EAAAinD,SAJA,GAOA1iE,EAAA,EAAA+iE,EAAA/H,EAAAh7D,EAAA+iE,EAAAjsE,OAAAkJ,IAAA,CACA,IAAAgG,EAAA+8D,EAAA/iE,GACA6W,EAAA8D,EAAAtc,EAAA+jE,EACAtrD,EAAA6D,EAAArc,EAAA6jE,EAAA5xD,EAAAsxD,aACA9qD,EAAAF,EAAAyqD,EACAtqD,EAAAF,EAAAuqD,EACAj9C,EACA+9C,GAAA5xD,EAAAkxD,iBAAAQ,EAEAG,GAAA7xD,EAAAoxD,YAAA37D,GAAAs7D,EAAA1G,EAAAqH,EACA1xD,EAAAkgD,QAAAiR,WAAAviB,UAAA95B,GACAA,EAAA41C,SAAAj1D,EAAA+Q,EAAA6jD,EAAA9jD,EAAAvG,EAAAkxD,iBAAA,GACA,IAAA,IAAAh/D,EAAA,EAAAE,EAAAnF,EAAAglE,UAAA//D,EAAAE,EAAA7L,OAAA2L,IAAA,CACA,IAAAgZ,EAAA9Y,EAAAF,GACA9B,EAAA4P,EAAA4hB,UAAApE,eAAAtS,EAAAjmB,IACAmL,EAAAqiE,YAAA39C,EAAAxO,EAAAE,EAAAD,EAAAE,EAAArB,EAAA3P,EAAAxI,EAAAm4B,OAEA,IAAA0B,EAAA,CACA,IAAAhhB,OAAA,EAAAktB,OAAA,EACAnf,GACA9jB,EAAA,CAAAqa,EAAA1V,MAAA,EAAA+8D,EAAAzxD,EAAAkxD,kBAAAprD,EAAA/V,EAAA,GAAAijC,EAAAjjC,EAAA,KAEAO,EAAA,CAAA0P,EAAAoxD,YAAA37D,GAAAs7D,EAAA1G,EAAArqD,EAAAkxD,kBAAAprD,EAAAxV,EAAA,GAAA0iC,EAAA1iC,EAAA,IACAwkB,EAAAqsC,YACArsC,EAAAtgB,KAAA8R,EAAAC,EAAAT,EAAAktB,GACAhzB,EAAAkgD,QAAAwS,cAAA9jB,UAAA95B,GACAA,EAAA8G,UAIA5b,EAAA3a,KACAoK,EAAA,EAAAa,EAAAjL,KAAA5B,MAAAkoB,MAAAlc,EAAAa,EAAA/J,OAAAkJ,IAAA,CACA,IAAAxC,EAAAqD,EAAAb,GACAqQ,EAAA7S,KAGAujE,EAAAvqE,UAAA2iE,YAAA,SAAA9zC,EAAA1K,GACA/kB,KAAA66D,QAAAyK,WAAA5a,OAEAj7B,EAAAmsC,OACAnsC,EAAA+c,UAAAznB,EAAAvD,GAAAuD,EAAAtD,GAAAzhB,KAAAisE,cACAjsE,KAAA66D,QAAAyK,WAAA/b,UAAA95B,GACAA,EAAA41C,SAAArlE,KAAA5B,MAAAowD,MAAAxuD,KAAAosE,eAAApsE,KAAAosE,eAAApsE,KAAA5B,MAAAmnE,gBACA91C,EAAAwsC,YAEAkP,EAAAvqE,UAAA+4D,UAAA,WACA,IAAAjvD,EAAA1K,KAAAsrE,sBAAAj8D,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,MAAA,CACAH,MAAAA,EAAA,EAAArP,KAAA5B,MAAAoQ,OACAgB,OAAAA,EAAA,EAAAxP,KAAA5B,MAAAoQ,SAGA28D,EAlRA,CAmRA3Q,EAAAd,gBACA97D,EAAAutE,WAAAA,EACA,IAAAtC,EAAA,SAAAvhE,GAEA,SAAAuhE,EAAAt9D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAuDA,OAzDA6G,EAAAY,UAAAohE,EAAAvhE,GAIAuhE,EAAAjoE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAqrE,YAAA,IAAAhzD,EAAAS,QAAA9Y,KAAA,gBAEA6oE,EAAA9uD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,SACAvZ,KAAAY,UAAAoJ,aAAAmhE,EACAnrE,KAAAga,OAAA,CACA,cACA,cACA,iBACA,eACA,qBAEAha,KAAAia,OAAA,CACAgnD,YAAA,CAAA5zD,EAAAuJ,YAAA,YACA8gD,SAAA,CAAArqD,EAAA6M,IAAA,aACAs0C,MAAA,CAAAnhD,EAAAsmB,QACA4xC,eAAA,CAAAl4D,EAAAkmB,OAAA,GACAyxC,eAAA,CAAA33D,EAAAkmB,OAAA,GACAk4C,aAAA,CAAAp+D,EAAAkmB,OAAA,IACAm4C,YAAA,CAAAr+D,EAAAkmB,OAAA,IACAo4C,aAAA,CAAAt+D,EAAAkmB,OAAA,IACAq4C,YAAA,CAAAv+D,EAAAkmB,OAAA,IACA/kB,OAAA,CAAAnB,EAAAkmB,OAAA,IACA1kB,QAAA,CAAAxB,EAAAkmB,OAAA,IACA9M,QAAA,CAAApZ,EAAAkmB,OAAA,GACAjN,MAAA,CAAAjZ,EAAAoC,MAAA,IACA27D,aAAA,CAAA/9D,EAAA6M,IAAA,UAEAla,KAAAob,SAAA,CACAssD,kBAAA,UACA4F,kBAAA,GACAC,kBAAA,EACAhG,sBAAA,UACAC,sBAAA,IACAgG,oBAAA,QACAC,oBAAA,GACAC,qBAAA,OACAC,oBAAA,SACAhI,qBAAA,OACAC,sBAAA,YAGAiD,EAAAjoE,UAAA4qE,iBAAA,WAEA,IADA,IAAAD,EAAA,GACAnhE,EAAA,EAAAM,EAAA1K,KAAAsmB,MAAAlc,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAxC,EAAA8C,EAAAN,GACAg7D,EAAAx9D,EAAA8kE,kCACAnB,EAAAvgE,KAAAzD,MAAAgkE,EAAAnG,GAEA,OAAAmG,GAEA1C,EA1DA,CA2DArO,EAAAF,YACA18D,EAAAirE,OAAAA,EACAA,EAAA9uD,aC5VA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAkwE,EAAAlwE,EAAA,KACAmwE,EAAAnwE,EAAA,IACA2P,EAAA3P,EAAA,IACAwB,EAAAxB,EAAA,IACAkM,EAAAlM,EAAA,IACAqrE,EAAA,SAAAzhE,GAEA,SAAAyhE,EAAAx9D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAqFA,OAvFA6G,EAAAY,UAAAshE,EAAAzhE,GAIAyhE,EAAAhvD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAia,OAAA,CACA7J,MAAA,CAAA/C,EAAAkoB,WAAA,MACAq3C,UAAA,CAAAv/D,EAAAoC,MAAA,IACAswB,MAAA,CAAA1yB,EAAAkmB,OAAA,SAGAw1C,EAAAnoE,UAAAktE,iCAAA,WACA,IAAA/tD,EAAA/f,KAAAktE,4BACA,GAAA,MAAAntD,EAAA,CACA,GAAA/f,KAAA4sE,UAAA1rE,OAAA,EACA,OAAA,EAEA,IAAAwe,EAAA1f,KAAA4sE,UAAA,GAAAjpB,YACA,GAAA,MAAAjkC,EACA,IAAA,IAAAtV,EAAA,EAAAM,EAAA1K,KAAA4sE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACA,GAAAyb,EAAA89B,aAAAjkC,EACA,OAAA,GAKA,OAAA,GAEAqpD,EAAAnoE,UAAAmtE,kCAAA,WACA,IAAAhuD,EAAA/f,KAAAktE,4BACA,GAAA,MAAAntD,EAAA,CACA,GAAA/f,KAAA4sE,UAAA1rE,OAAA,EACA,OAAA,EAEA,IAAAwe,EAAA1f,KAAA4sE,UAAA,GAAAjpB,YACA,GAAA,MAAAjkC,IAAA9V,EAAAmqB,SAAArU,EAAAsuD,UAAAjuD,GACA,OAAA,EAGA,OAAA,GAEAgpD,EAAAnoE,UAAA4T,WAAA,WACA,IAAA1T,EAAAd,KACAsH,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA+sE,OAAA,KACA/sE,KAAAa,QAAAb,KAAA+Y,OAAA,WACA,MAAAjY,EAAAisE,QACAjsE,EAAAisE,OAAA1B,YAAA3vD,SAGA,IAAAuyD,EAAAjuE,KAAA8tE,mCACAG,GACA/uE,EAAAwB,OAAAqB,MAAA,sDAEA,IAAAmsE,EAAAluE,KAAA+tE,oCACAG,GACAhvE,EAAAwB,OAAAqB,MAAA,6BAAA/B,KAAAoQ,QAEA24D,EAAAnoE,UAAAssE,0BAAA,WACA,IAAA98D,EAAApQ,KAAAoQ,MACA,OAAAy9D,EAAApmB,QAAAr3C,GAAAA,EAAA2P,MAAA,MAEAgpD,EAAAnoE,UAAA8rE,gCAAA,WAEA,GAAAmB,EAAArmB,QAAAxnD,KAAAoQ,OAAA,CACA,IAAAvE,EAAA7L,KAAAoQ,MAAAvE,MACA,OAAA,MAAAA,EAAA,CAAAA,GAAA,GAEA,IAAAkU,EAAA/f,KAAAktE,4BACA,GAAA,MAAAntD,EAAA,CACA,IAAAL,OAAA,EACA,IAAA1f,KAAA4sE,UAAA,IAAA,MAAA5sE,KAAA4sE,UAAA,GAAAjpB,YAGA,MAAA,CAAA,mBACA,IAHAjkC,EAAA1f,KAAA4sE,UAAA,GAAAjpB,uBAGAiqB,EAAAO,mBAAA,CACA,IAAA/pE,EAAAsb,EAAA2U,WAAAtU,GACA,OAAA,MAAA3b,EACAwF,EAAAo7B,KAAAv1B,MAAAC,KAAAtL,IAEA,CAAA,kBAGA,MAAA,IAEA2kE,EAxFA,CAyFAxd,EAAAI,OACA/tD,EAAAmrE,WAAAA,EACAA,EAAAhvD,aCnGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA2a,EAAA3a,EAAA,IACA2P,EAAA3P,EAAA,IACA0wE,EAAA,SAAA9mE,GAEA,SAAA8mE,IACA,OAAA,OAAA9mE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAiDA,OAnDA6G,EAAAY,UAAA2mE,EAAA9mE,GAIA8mE,EAAAxtE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MAGAA,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAAmgE,YAAA,WAAA,OAAAz9D,EAAAy7B,UAAAu+B,oBAEAsT,EAAAxtE,UAAAkU,OAAA,WACA,GAAA9U,KAAA5B,MAAAkpB,QAAA,CAEA,IAAA5c,EAAA1K,KAAA5B,MAAAi2C,EAAA3pC,EAAA2pC,GAAAC,EAAA5pC,EAAA4pC,GACA,GAAAD,EAAAnzC,QAAAozC,EAAApzC,UAEAmzC,EAAAnzC,OAAA,GAAAozC,EAAApzC,OAAA,GAAA,CAIA,IAFA,IAAA+/B,EAAAjhC,KAAAu8B,UAAA0E,MACAxR,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAxf,EAAA,EAAA+Z,EAAAqqB,EAAAnzC,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAA1H,OAAA,EACA,GAAA,UAAAvI,KAAA5B,MAAAiwE,SAGA,MAAA,IAAAhwE,MAAA,mBAFAkK,EAAAvI,KAAA5B,MAAAugE,OAAAtqB,EAAApkC,GAAAgxB,EAAAvT,MAAAD,QAAA4mB,EAAApkC,IAGA,IAAAzH,OAAA,EACA,GAAA,UAAAxI,KAAA5B,MAAAkwE,SAGA,MAAA,IAAAjwE,MAAA,mBAFAmK,EAAAxI,KAAA5B,MAAAugE,OAAArqB,EAAArkC,GAAAgxB,EAAAtT,MAAAF,QAAA6mB,EAAArkC,IAGA,GAAAA,GACAwf,EAAAqsC,YACArsC,EAAAkd,OAAApkC,EAAAC,IAGAinB,EAAAy4B,OAAA3/C,EAAAC,GAGAinB,EAAAssC,YACA/7D,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAozB,UAAA95B,GACAA,EAAA04B,UAEAnoD,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAAgzB,UAAA95B,GACAA,EAAA8G,WAGA63C,EApDA,CAqDA5T,EAAAd,gBACA97D,EAAAwwE,mBAAAA,EACA,IAAAnF,EAAA,SAAA3hE,GAEA,SAAA2hE,EAAA19D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiCA,OAnCA6G,EAAAY,UAAAwhE,EAAA3hE,GAIA2hE,EAAAlvD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBACAvZ,KAAAY,UAAAoJ,aAAAokE,EACApuE,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACAo6B,GAAA,CAAAhnC,EAAAoC,MAAA,IACA4+D,SAAA,CAAAhhE,EAAAqK,aAAA,QACA48B,GAAA,CAAAjnC,EAAAoC,MAAA,IACA6+D,SAAA,CAAAjhE,EAAAqK,aAAA,QACA2jD,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,aAEA3zB,KAAA8a,SAAA,CACA6jD,OAAA,CAAAtxD,EAAA8lB,SAAA,KAEAnzB,KAAAob,SAAA,CACAib,WAAA,UACAC,WAAA,GACAV,WAAA,UACAE,WAAA,MAGAmzC,EAAAroE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAu+D,YAAA,IAAAlmD,EAAAS,QAAA9Y,KAAA,gBAEAipE,EAAAroE,UAAA2a,OAAA,SAAA7Q,GACA,IAAA2pC,EAAA3pC,EAAA2pC,GAAAC,EAAA5pC,EAAA4pC,GACAt0C,KAAAyZ,KAAA,CAAA46B,GAAAA,EAAAC,GAAAA,EAAAqqB,QAAA,GAAA,CAAAhlD,QAAA,IACA3Z,KAAAu+D,YAAA7iD,QAEAutD,EApCA,CAqCAzO,EAAAF,YACA18D,EAAAqrE,eAAAA,EACAA,EAAAlvD,aCnGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA2P,EAAA3P,EAAA,IACA6wE,EAAA,SAAAjnE,GAEA,SAAAinE,IACA,OAAA,OAAAjnE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAyCA,OA3CA6G,EAAAY,UAAA8mE,EAAAjnE,GAIAinE,EAAA3tE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,OAEAuuE,EAAA3tE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,oBAEAyT,EAAA3tE,UAAAkU,OAAA,WACA9U,KAAA5B,MAAAkpB,SAEAtnB,KAAAwuE,eAEAD,EAAA3tE,UAAA4tE,YAAA,WACA,IAAAC,EAAAzuE,KAAA5B,MAAAqwE,SACAC,EAAA1uE,KAAA5B,MAAAswE,YACA,GAAA,MAAAD,GAAA,MAAAC,EAAA,CAGA,IAAAztC,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAAviC,KAAA5B,MAAAi9D,cACA54B,EAAAxB,EAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cACAN,EAAAh6B,EAAA5V,KAAAxf,MACAsvD,EAAAF,EAAAh6B,EAAAzV,QAAA3f,MACAywD,EAAA75B,EAAAE,OAAAs4B,GACAuB,EAAA/5B,EAAAE,OAAAw4B,GACAkB,GAAAC,EAAAoS,GAAAD,EACAlS,GAAAC,EAAAkS,GAAAD,EACAzT,EAAA14B,EAAA7U,QAAA4uC,GACAnB,EAAA54B,EAAA7U,QAAA8uC,GACA9sC,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAA,EAAAmsC,OACAnsC,EAAAqsC,YACA97D,KAAA66D,QAAA1kC,KAAAozB,UAAA95B,GACAA,EAAAkd,OAAAquB,EAAAC,GACAxrC,EAAAy4B,OAAAgT,EAAAC,GACA1rC,EAAA04B,SACA14B,EAAAwsC,YAEAsS,EA5CA,CA6CA/T,EAAAd,gBACA97D,EAAA2wE,UAAAA,EACA,IAAApF,EAAA,SAAA7hE,GAEA,SAAA6hE,EAAA59D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgBA,OAlBA6G,EAAAY,UAAA0hE,EAAA7hE,GAIA6hE,EAAApvD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAoJ,aAAAukE,EACAvuE,KAAAga,OAAA,CAAA,SACAha,KAAAia,OAAA,CACAw0D,SAAA,CAAAphE,EAAAkmB,OAAA,MACAm7C,YAAA,CAAArhE,EAAAkmB,OAAA,MACA8nC,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,aAEA3zB,KAAAob,SAAA,CACAwa,WAAA,WAGAuzC,EAnBA,CAoBA3O,EAAAF,YACA18D,EAAAurE,MAAAA,EACAA,EAAApvD,aCzEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACAixE,EAAA,SAAArnE,GAEA,SAAAqnE,IACA,OAAA,OAAArnE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAyFA,OA3FA6G,EAAAY,UAAAknE,EAAArnE,GAIAqnE,EAAA/tE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAu8B,UAAA8hC,gBAAA1xD,YAAA3M,KAAAmN,IACAnN,KAAAmN,GAAAf,MAAAyG,SAAA,WACA0X,EAAA5Y,UAAA3R,KAAAmN,KAEAwhE,EAAA/tE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAA5B,MAAAwwE,UACA5uE,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAA21D,kBAAA91D,OAAA,WAAA,OAAAjY,EAAAguE,eAEA,UAAA9uE,KAAA5B,MAAAkgE,aACAt+D,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAw+C,SAAA3+C,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,qBAGA96D,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAgU,WACA9U,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAw+C,SAAA3+C,OAAA,WAAA,OAAAjY,EAAAguE,iBAIAH,EAAA/tE,UAAAkU,OAAA,WACA9U,KAAA5B,MAAAkpB,SAAA,OAAAtnB,KAAA5B,MAAAkgE,aACA/zC,EAAA5Y,UAAA3R,KAAAmN,IACAnN,KAAA5B,MAAAkpB,SAEAtnB,KAAA8uE,cAEAH,EAAA/tE,UAAAkuE,WAAA,WACA,IAAAhuE,EAAAd,KACAw3D,EAAAx3D,KAAA5B,MAAAwwE,UAAA5uE,KAAA5B,MAAAywE,kBAAA7uE,KAAA5B,MAAAs5D,SACA,GAAA,MAAAF,EAAA,CAIA,IAaAhoD,EAAAovD,EAAA/5B,EAAAx1B,EAbA4xB,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAAviC,KAAA5B,MAAAi9D,cACA54B,EAAAxB,EAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cACAiD,EAAA,SAAAz1D,EAAAgC,GACA,OAAAjK,EAAA1C,MAAAwwE,UACA9tE,EAAA1C,MAAAywE,kBAEA,QAAA/tE,EAAA1C,MAAA2wE,eACAhmE,EAAA0kB,QAAA+pC,GAEAzsD,EAAA0iB,QAAA+pC,IAgBA,GAZA,SAAAx3D,KAAA5B,MAAA81C,WACArP,EAAA25B,EAAA/7B,EAAAxB,EAAAtT,OACAixC,EAAA39B,EAAA3V,MAAAzf,MACAwD,EAAA4xB,EAAA1V,OAAA1f,MACA2D,EAAAxP,KAAA5B,MAAA8a,WAAA2c,WAAAhqB,UAGAg5B,EAAA5D,EAAA5V,KAAAxf,MACA+yD,EAAAJ,EAAAl8B,EAAArB,EAAAvT,OACAre,EAAArP,KAAA5B,MAAA8a,WAAA2c,WAAAhqB,QACA2D,EAAAyxB,EAAAzV,QAAA3f,OAEA,OAAA7L,KAAA5B,MAAAkgE,YACAt+D,KAAAmN,GAAAf,MAAA4B,IAAA62B,EAAA,KACA7kC,KAAAmN,GAAAf,MAAAgC,KAAAwwD,EAAA,KACA5+D,KAAAmN,GAAAf,MAAAiD,MAAAA,EAAA,KACArP,KAAAmN,GAAAf,MAAAoD,OAAAA,EAAA,KACAxP,KAAAmN,GAAAf,MAAAszD,gBAAA1/D,KAAA5B,MAAA8a,WAAA0c,WAAA/pB,QACA7L,KAAAmN,GAAAf,MAAAuzD,QAAA3/D,KAAA5B,MAAA8a,WAAA4c,WAAAjqB,QACA0e,EAAA7Y,QAAA1R,KAAAmN,SAEA,GAAA,UAAAnN,KAAA5B,MAAAkgE,YAAA,CACA,IAAA7uC,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAA,EAAAmsC,OACAnsC,EAAAqsC,YACA97D,KAAA66D,QAAA1kC,KAAAozB,UAAA95B,GACAA,EAAAkd,OAAAiyB,EAAA/5B,GACA,SAAA7kC,KAAA5B,MAAA81C,UACAzkB,EAAAy4B,OAAA0W,EAAAvvD,EAAAw1B,GAGApV,EAAAy4B,OAAA0W,EAAA/5B,EAAAr1B,GAEAigB,EAAA04B,SACA14B,EAAAwsC,gBAnDA1xC,EAAA5Y,UAAA3R,KAAAmN,KAsDAwhE,EA5FA,CA6FAnU,EAAAd,gBACA97D,EAAA+wE,SAAAA,EACA,IAAAtF,EAAA,SAAA/hE,GAEA,SAAA+hE,EAAA99D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAsBA,OAxBA6G,EAAAY,UAAA4hE,EAAA/hE,GAIA+hE,EAAAtvD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAA2kE,EACA3uE,KAAAga,OAAA,CAAA,SACAha,KAAAia,OAAA,CACAqkD,YAAA,CAAAjxD,EAAA8J,WAAA,UACAkkD,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,WACA+jC,SAAA,CAAArqD,EAAAkmB,OAAA,MACAw7C,eAAA,CAAA1hE,EAAAqK,aAAA,QACAw8B,UAAA,CAAA7mC,EAAAqI,UAAA,WAEA1V,KAAAob,SAAA,CACAwa,WAAA,UAEA51B,KAAA8a,SAAA,CACA8zD,UAAA,CAAAvhE,EAAA8lB,SAAA,GACA07C,kBAAA,CAAAxhE,EAAAkmB,OAAA,SAGA81C,EAzBA,CA0BA7O,EAAAF,YACA18D,EAAAyrE,KAAAA,EACAA,EAAAtvD,aChIA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACAwtE,EAAAxtE,EAAA,IACA4sE,EAAA,SAAAhjE,GAEA,SAAAgjE,IACA,IAAAxpE,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAAwuB,QAAA,EACAxuB,EAwHA,OA5HA+F,EAAAY,UAAA6iE,EAAAhjE,GAMAgjE,EAAA1pE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACA,OAAAA,KAAA5B,MAAAkgE,cACAt+D,KAAAmN,GAAAxB,UAAAC,IAAA,iBACA5L,KAAAu8B,UAAA8hC,gBAAA1xD,YAAA3M,KAAAmN,MAGAm9D,EAAA1pE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACA,OAAAA,KAAA5B,MAAAkgE,YAEAt+D,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAgU,WAGA9U,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAu+B,oBAGAwP,EAAA1pE,UAAAouE,2BAAA,SAAAv/C,EAAA3sB,GACA,IAAAuM,EAAAogB,EAAAmc,YAAA9oC,GAAAuM,MACAG,EAAA07D,EAAA3mB,aAAAvkD,KAAA66D,QAAA/3D,KAAA8nD,cAAAp7C,OACA,MAAA,CAAAH,EAAAG,IAEA86D,EAAA1pE,UAAAmqE,mCAAA,SAAAt7C,EAAA3sB,GACA,IACAohE,EAeAC,EAhBAz5D,EAAA1K,KAAAgvE,2BAAAv/C,EAAA3sB,GAAAuM,EAAA3E,EAAA,GAAA8E,EAAA9E,EAAA,GAEA,OAAA+kB,EAAAI,WACA,IAAA,OACAq0C,EAAA,EACA,MACA,IAAA,SACAA,GAAA70D,EAAA,EACA,MACA,IAAA,QACA60D,GAAA70D,EACA,MACA,QACA,MAAA,IAAAhR,MAAA,oBAIA,OAAAoxB,EAAAG,cACA,IAAA,MACAu0C,EAAA,EACA,MACA,IAAA,SACAA,GAAA,GAAA30D,EACA,MACA,IAAA,SACA20D,GAAA,EAAA30D,EACA,MACA,IAAA,aACA20D,GAAA,GAAA30D,EACA,MACA,IAAA,UACA20D,GAAA,IAAA30D,EACA,MACA,IAAA,cACA20D,GAAA,IAAA30D,EACA,MACA,QACA,MAAA,IAAAnR,MAAA,oBAEA,MAAA,CAAA6lE,EAAAC,EAAA90D,EAAAG,IAEA86D,EAAA1pE,UAAAwpE,aAAA,SAAA36C,EAAA3sB,EAAAyF,EAAAC,EAAA8Y,GACAthB,KAAA66D,QAAA/3D,KAAAymD,UAAA95B,GACA,IAAAq7C,EAAA9qE,KAAA+qE,mCAAAt7C,EAAA3sB,GACA2sB,EAAAmsC,OACAnsC,EAAAqsC,YACArsC,EAAA+c,UAAAjkC,EAAAC,GACA8Y,GACAmO,EAAAH,OAAAhO,GACAmO,EAAAtgB,KAAA27D,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA9qE,KAAA66D,QAAA2I,gBAAA9Y,OACA1qD,KAAA66D,QAAA2I,gBAAAja,UAAA95B,GACAA,EAAA8G,QAEAv2B,KAAA66D,QAAA6I,YAAAhZ,OACA1qD,KAAA66D,QAAA6I,YAAAna,UAAA95B,GACAA,EAAA04B,UAEAnoD,KAAA66D,QAAA/3D,KAAA4nD,OACA1qD,KAAA66D,QAAA/3D,KAAAymD,UAAA95B,GACAA,EAAA41C,SAAAviE,EAAA,EAAA,IAEA2sB,EAAAwsC,WAEAqO,EAAA1pE,UAAAypE,UAAA,SAAA56C,EAAA3sB,EAAAyF,EAAAC,EAAA8Y,GACAiJ,EAAA5Y,UAAA3R,KAAAmN,IACAnN,KAAA66D,QAAA/3D,KAAAymD,UAAA95B,GACA,IAAAq7C,EAAA9qE,KAAA+qE,mCAAAt7C,EAAA3sB,GAEA88D,EAAA5/D,KAAA66D,QAAA6I,YAAAztC,UAAApqB,QACAoqB,EAAA2pC,EAAA1+D,OAAA,EAAA,QAAA,SACAlB,KAAA66D,QAAA6I,YAAAna,UAAA95B,GACAzvB,KAAA66D,QAAA2I,gBAAAja,UAAA95B,GACAzvB,KAAAmN,GAAAf,MAAAyG,SAAA,WACA7S,KAAAmN,GAAAf,MAAAgC,KAAA7F,EAAAuiE,EAAA,GAAA,KACA9qE,KAAAmN,GAAAf,MAAA4B,IAAAxF,EAAAsiE,EAAA,GAAA,KACA9qE,KAAAmN,GAAAf,MAAAyhC,MAAA,GAAA7tC,KAAA66D,QAAA/3D,KAAAs0B,WAAAvrB,QACA7L,KAAAmN,GAAAf,MAAAuzD,QAAA,GAAA3/D,KAAA66D,QAAA/3D,KAAAu0B,WAAAxrB,QACA7L,KAAAmN,GAAAf,MAAAo4C,KAAA,GAAAxkD,KAAA66D,QAAA/3D,KAAA8nD,aACA5qD,KAAAmN,GAAAf,MAAA6+D,WAAA,SACA3pD,IACAthB,KAAAmN,GAAAf,MAAAqP,UAAA,UAAA6F,EAAA,QAEAthB,KAAA66D,QAAA2I,gBAAA9Y,OACA1qD,KAAAmN,GAAAf,MAAAszD,gBAAA,GAAA1/D,KAAA66D,QAAA2I,gBAAA9Z,eAEA1pD,KAAA66D,QAAA6I,YAAAhZ,OACA1qD,KAAAmN,GAAAf,MAAAyzD,YAAA,GAAA5pC,EACAj2B,KAAAmN,GAAAf,MAAAozD,YAAAx/D,KAAA66D,QAAA6I,YAAA7tC,WAAAhqB,QAAA,KACA7L,KAAAmN,GAAAf,MAAAqzD,YAAA,GAAAz/D,KAAA66D,QAAA6I,YAAAha,eAEA1pD,KAAAmN,GAAA69D,YAAAloE,EACAynB,EAAA7Y,QAAA1R,KAAAmN,KAEAm9D,EA7HA,CA8HA9P,EAAAd,gBACA97D,EAAA0sE,mBAAAA,EACA,IAAAf,EAAA,SAAAjiE,GAEA,SAAAiiE,EAAAh+D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAA8hE,EAAAjiE,GAIAiiE,EAAAxvD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBACAvZ,KAAAia,OAAA,CACAqkD,YAAA,CAAAjxD,EAAA8J,WAAA,aAGAoyD,EAXA,CAYA/O,EAAAF,YACA18D,EAAA2rE,eAAAA,EACAA,EAAAxvD,aCpJA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4rE,EAAA5rE,EAAA,IACA6sB,EAAA7sB,EAAA,GACAg/D,EAAAh/D,EAAA,IACA2P,EAAA3P,EAAA,IACAuxE,EAAA,SAAA3nE,GAEA,SAAA2nE,IACA,OAAA,OAAA3nE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA4HA,OA9HA6G,EAAAY,UAAAwnE,EAAA3nE,GAIA2nE,EAAAruE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA66D,QAAA/3D,KAAA,IAAA45D,EAAA/R,KAAA3qD,KAAA5B,QAEA6wE,EAAAruE,UAAAsuE,cAAA,WACA,IAGA3mE,EAAAC,EAHAi6D,EAAAziE,KAAAyiE,MACA0M,EAAAnvE,KAAA5B,MAAA2T,OAGA,OAAA0wD,EAAAzzC,MACA,IAAA,QACA,IAAA,QACA,OAAAhvB,KAAA5B,MAAAgxE,gBACA,IAAA,MACA5mE,EAAAi6D,EAAAp3C,KAAAxf,MAPA,EAQA,MACA,IAAA,SACArD,EAAAi6D,EAAA72C,SAAA/f,MACA,MACA,IAAA,SACArD,EAAAi6D,EAAA/2C,QAAA7f,MAbA,EAcA,MACA,QAAA,MAAA,IAAAxN,MAAA,oBAEA,OAAA2B,KAAA5B,MAAAspB,OACA,IAAA,OACAnf,EAAAk6D,EAAAn3C,MAAAzf,MAAAsjE,EACA,MACA,IAAA,SACA5mE,EAAAk6D,EAAA92C,SAAA9f,MACA,MACA,IAAA,QACAtD,EAAAk6D,EAAAh3C,OAAA5f,MAAAsjE,EACA,MACA,QAAA,MAAA,IAAA9wE,MAAA,oBAEA,MAEA,IAAA,OACA,OAAA2B,KAAA5B,MAAAgxE,gBACA,IAAA,MACA7mE,EAAAk6D,EAAAn3C,MAAAzf,MAlCA,EAmCA,MACA,IAAA,SACAtD,EAAAk6D,EAAA92C,SAAA9f,MACA,MACA,IAAA,SACAtD,EAAAk6D,EAAAh3C,OAAA5f,MAxCA,EAyCA,MACA,QAAA,MAAA,IAAAxN,MAAA,oBAEA,OAAA2B,KAAA5B,MAAAspB,OACA,IAAA,OACAlf,EAAAi6D,EAAA/2C,QAAA7f,MAAAsjE,EACA,MACA,IAAA,SACA3mE,EAAAi6D,EAAA72C,SAAA/f,MACA,MACA,IAAA,QACArD,EAAAi6D,EAAAp3C,KAAAxf,MAAAsjE,EACA,MACA,QAAA,MAAA,IAAA9wE,MAAA,oBAEA,MAEA,IAAA,QACA,OAAA2B,KAAA5B,MAAAgxE,gBACA,IAAA,MACA7mE,EAAAk6D,EAAAh3C,OAAA5f,MA7DA,EA8DA,MACA,IAAA,SACAtD,EAAAk6D,EAAA92C,SAAA9f,MACA,MACA,IAAA,SACAtD,EAAAk6D,EAAAn3C,MAAAzf,MAnEA,EAoEA,MACA,QAAA,MAAA,IAAAxN,MAAA,oBAEA,OAAA2B,KAAA5B,MAAAspB,OACA,IAAA,OACAlf,EAAAi6D,EAAAp3C,KAAAxf,MAAAsjE,EACA,MACA,IAAA,SACA3mE,EAAAi6D,EAAA72C,SAAA/f,MACA,MACA,IAAA,QACArD,EAAAi6D,EAAA/2C,QAAA7f,MAAAsjE,EACA,MACA,QAAA,MAAA,IAAA9wE,MAAA,oBAEA,MAEA,QAAA,MAAA,IAAAA,MAAA,oBAEA,MAAA,CAAAkK,EAAAC,IAEAymE,EAAAruE,UAAAkU,OAAA,WACA,GAAA9U,KAAA5B,MAAAkpB,QAAA,CAKA,IAAAxkB,EAAA9C,KAAA5B,MAAA0E,KACA,GAAA,MAAAA,GAAA,GAAAA,EAAA5B,OAAA,CAEAlB,KAAA5B,MAAAm5B,cAAAv3B,KAAA5B,MAAAgxE,eACApvE,KAAA5B,MAAAk5B,WAAAt3B,KAAA5B,MAAAspB,MACA,IAAAhd,EAAA1K,KAAAkvE,gBAAA3mE,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,GACA4W,EAAAthB,KAAAyiE,MAAA3yC,0BAAA,YACAqvC,EAAA,UAAAn/D,KAAA5B,MAAAkgE,YAAAt+D,KAAAoqE,aAAAr4C,KAAA/xB,MAAAA,KAAAqqE,UAAAt4C,KAAA/xB,MACAm/D,EAAAn/D,KAAAu8B,UAAAs9B,YAAApqC,IAAA3sB,EAAAyF,EAAAC,EAAA8Y,QAZA,OAAAthB,KAAA5B,MAAAkgE,aACA/zC,EAAA5Y,UAAA3R,KAAAmN,KAaA8hE,EAAAruE,UAAA+4D,UAAA,WACA,IAAA72D,EAAA9C,KAAA5B,MAAA0E,KACA,GAAA,MAAAA,GAAA,GAAAA,EAAA5B,OACA,MAAA,CAAAmO,MAAA,EAAAG,OAAA,GAEAxP,KAAA66D,QAAA/3D,KAAAymD,UAAAvpD,KAAAyvB,KACA,IAAA/kB,EAAA1K,KAAAyvB,IAAAmc,YAAA9oC,GAAAuM,EAAA3E,EAAA2E,MAAA08B,EAAArhC,EAAAqhC,OACA,MAAA,CAAA18B,MAAAA,EAAAG,OAAAu8B,EAAA,KAGAkjC,EA/HA,CAgIA3F,EAAAgB,oBACA1sE,EAAAqxE,UAAAA,EACA,IAAAxF,EAAA,SAAAniE,GAEA,SAAAmiE,EAAAl+D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA0BA,OA5BA6G,EAAAY,UAAAgiE,EAAAniE,GAIAmiE,EAAA1vD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAoJ,aAAAilE,EACAjvE,KAAAga,OAAA,CAAA,eAAA,qBACAha,KAAAia,OAAA,CACAnX,KAAA,CAAAuK,EAAAsmB,QACAsD,UAAA,CAAA5pB,EAAAwmB,KAAA,aACAqD,eAAA,CAAA7pB,EAAA+nB,aAAA,QACA+B,gBAAA,CAAA9pB,EAAAyI,UAAA,QACAshB,WAAA,CAAA/pB,EAAA4nB,UAAA,WACAoC,WAAA,CAAAhqB,EAAAioB,WAAA,GACA85C,eAAA,CAAA/hE,EAAA+K,cAAA,UACAsP,MAAA,CAAAra,EAAAyK,UAAA,QACA/F,OAAA,CAAA1E,EAAAkmB,OAAA,KAEAvzB,KAAAob,SAAA,CACAmsD,sBAAA,KACAG,kBAAA,OAEA1nE,KAAA8a,SAAA,CACAwc,WAAA,CAAAjqB,EAAAyK,UAAA,QACAyf,cAAA,CAAAlqB,EAAA0K,aAAA,aAGA0xD,EA7BA,CA8BAH,EAAAC,gBACA3rE,EAAA6rE,MAAAA,EACAA,EAAA1vD,aCxKA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA2xE,EAAA3xE,EAAA,GACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACA4xE,EAAA,SAAAhoE,GAEA,SAAAgoE,IACA,IAAAxuE,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAAwuB,QAAA,EACAxuB,EAoCA,OAxCA+F,EAAAY,UAAA6nE,EAAAhoE,GAMAgoE,EAAA1uE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAu8B,UAAAgzC,cAAA5iE,YAAA3M,KAAAmN,IACAnN,KAAAwvE,eAAA,GACAH,EAAAxlE,YAAA7J,KAAAwvE,eAAA,CAAAxvE,KAAA5B,MAAAo+B,SAAA,CAAA5rB,OAAA5Q,OACA,IAAAyvE,EAAAzvE,KAAAwvE,eAAAxvE,KAAA5B,MAAAo+B,QAAA58B,IACAI,KAAAu8B,UAAAmzC,qBAAA1kE,KAAA,SAAAsc,GAAA,OAAAmoD,EAAAE,eAAAroD,MAEAgoD,EAAA1uE,UAAA0J,OAAA,WACA+kE,EAAAlkE,aAAAnL,KAAAwvE,gBACAloE,EAAA1G,UAAA0J,OAAAzC,KAAA7H,OAEAsvE,EAAA1uE,UAAAkU,OAAA,WAEA,GADAxN,EAAA1G,UAAAkU,OAAAjN,KAAA7H,MACAA,KAAA5B,MAAAkpB,QAAA,CAIAtnB,KAAAmN,GAAAf,MAAAyG,SAAA,WACA7S,KAAAmN,GAAAf,MAAAwjE,SAAA,SACArlD,EAAA1X,SAAA7S,KAAAmN,GAAAnN,KAAAyiE,MAAA19C,MACA,IAAA0qD,EAAAzvE,KAAAwvE,eAAAxvE,KAAA5B,MAAAo+B,QAAA58B,IACA6vE,EAAA36D,SACAyV,EAAA9Y,MAAAzR,KAAAmN,IACAnN,KAAAmN,GAAAR,YAAA8iE,EAAAtiE,IACAod,EAAA7Y,QAAA1R,KAAAmN,SAVAod,EAAA5Y,UAAA3R,KAAAmN,KAYAmiE,EAAA1uE,UAAA+4D,UAAA,WACA,IAAAjvD,EAAA1K,KAAA5B,MAAAo+B,QAAAqzC,EAAAnlE,EAAAmlE,MAAAC,EAAAplE,EAAAolE,KACA,MAAA,CACAzgE,MAAA,GAAAwgE,EAAA3uE,QAAA,MAAA4uE,EAAA,GAAA,GACAtgE,OAAA,KAGA8/D,EAzCA,CA0CA9U,EAAAd,gBACA97D,EAAA0xE,iBAAAA,EACA,IAAA3F,EAAA,SAAAriE,GAEA,SAAAqiE,EAAAp+D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAAkiE,EAAAriE,GAIAqiE,EAAA5vD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAY,UAAAoJ,aAAAslE,EACAtvE,KAAAia,OAAA,CACAuiB,QAAA,CAAAnvB,EAAAimB,aAGAq2C,EAZA,CAaAnP,EAAAF,YACA18D,EAAA+rE,aAAAA,EACAA,EAAA5vD,aCjEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACA,SAAAqyE,EAAAC,EAAAznE,EAAAC,EAAAqc,EAAAC,GACA,IAAAkK,EACA,OAAAghD,GACA,IAAA,aACAhhD,EAAAzmB,EAAAsc,EAAA,QAAA,OACA,MACA,IAAA,WACAmK,EAAAxmB,EAAAsc,EAAA,QAAA,QACA,MACA,QACAkK,EAAAghD,EAEA,OAAAhhD,EAEApxB,EAAAmyE,aAAAA,EACA,IAAAE,EAAA,SAAA3oE,GAEA,SAAA2oE,IACA,OAAA,OAAA3oE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAsFA,OAxFA6G,EAAAY,UAAAwoE,EAAA3oE,GAIA2oE,EAAArvE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MAEAA,KAAAu8B,UAAA8hC,gBAAA1xD,YAAA3M,KAAAmN,IACAod,EAAA5Y,UAAA3R,KAAAmN,KAEA8iE,EAAArvE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAA9U,KAAA2U,OAAA,WAAA,OAAAjY,EAAAovE,gBAEAD,EAAArvE,UAAA8T,YAAA,WACA,OAAApN,EAAA1G,UAAA8T,YAAA7M,KAAA7H,MAAA2P,OAAA,eAEAsgE,EAAArvE,UAAAkU,OAAA,WACA9U,KAAA5B,MAAAkpB,SAEAtnB,KAAAkwE,cAEAD,EAAArvE,UAAAsvE,WAAA,WACA,IAAA9rE,EAAApE,KAAA5B,MAAAgG,KAOA,GANAmmB,EAAA9Y,MAAAzR,KAAAmN,IACAod,EAAA5Y,UAAA3R,KAAAmN,IACAnN,KAAA5B,MAAA6rD,OACAjqD,KAAAmN,GAAAxB,UAAAC,IAAA,qBAEA5L,KAAAmN,GAAAxB,UAAArB,OAAA,qBACA,GAAAlG,EAAAlD,OAAA,CAGA,IADA,IAAA+/B,EAAAjhC,KAAAu8B,UAAA0E,MACA72B,EAAA,EAAA+lE,EAAA/rE,EAAAgG,EAAA+lE,EAAAjvE,OAAAkJ,IAAA,CACA,IAAAM,EAAAylE,EAAA/lE,GAAAgmE,EAAA1lE,EAAA,GAAA2lE,EAAA3lE,EAAA,GAAA7H,EAAA6H,EAAA,GACA,IAAA1K,KAAA5B,MAAAkyE,YAAArvC,EAAAlc,KAAAvR,SAAA48D,EAAAC,GAAA,CAEA,IAAAE,EAAAhmD,EAAA3a,IAAA,GAAA/M,GACA7C,KAAAmN,GAAAR,YAAA4jE,IAEA,IAUAniE,EAAAJ,EAVA/C,EAAA7G,EAAAA,EAAAlD,OAAA,GAAAqH,EAAA0C,EAAA,GAAAzC,EAAAyC,EAAA,GACA+jB,EAAA+gD,EAAA/vE,KAAA5B,MAAA4xE,WAAAznE,EAAAC,EAAAy4B,EAAAtV,SAAA9f,MAAAo1B,EAAArV,SAAA/f,OAUA,OATA7L,KAAAmN,GAAAxB,UAAArB,OAAA,YACAtK,KAAAmN,GAAAxB,UAAArB,OAAA,WACAtK,KAAAmN,GAAAxB,UAAArB,OAAA,YACAtK,KAAAmN,GAAAxB,UAAArB,OAAA,YAEAigB,EAAA7Y,QAAA1R,KAAAmN,IAIA6hB,GACA,IAAA,QACAhvB,KAAAmN,GAAAxB,UAAAC,IAAA,WACAwC,EAAA7F,GAAAvI,KAAAmN,GAAAqjE,YAAAxwE,KAAAmN,GAAAsjE,aARA,GASAziE,EAAAxF,EAAAxI,KAAAmN,GAAAujE,aAAA,EACA,MACA,IAAA,OACA1wE,KAAAmN,GAAAxB,UAAAC,IAAA,YACAwC,EAAA7F,EAAAvI,KAAAmN,GAAAqjE,YAbA,GAcAxiE,EAAAxF,EAAAxI,KAAAmN,GAAAujE,aAAA,EACA,MACA,IAAA,QACA1wE,KAAAmN,GAAAxB,UAAAC,IAAA,YACAoC,EAAAxF,GAAAxI,KAAAmN,GAAAujE,aAAA1wE,KAAAmN,GAAAg5C,cAlBA,GAmBA/3C,EAAAkB,KAAA2V,MAAA1c,EAAAvI,KAAAmN,GAAAqjE,YAAA,GACA,MACA,IAAA,QACAxwE,KAAAmN,GAAAxB,UAAAC,IAAA,YACAoC,EAAAxF,EAAAxI,KAAAmN,GAAAujE,aAvBA,GAwBAtiE,EAAAkB,KAAA2V,MAAA1c,EAAAvI,KAAAmN,GAAAqjE,YAAA,GACA,MACA,QACA,MAAA,IAAAnyE,MAAA,oBAEA2B,KAAA5B,MAAAuyE,YACA3wE,KAAAmN,GAAAxB,UAAAC,IAAA,oBAIA5L,KAAAmN,GAAAyjE,WAAA1vE,OAAA,GACAlB,KAAAmN,GAAAf,MAAA4B,IAAAA,EAAA,KACAhO,KAAAmN,GAAAf,MAAAgC,KAAAA,EAAA,MAGAmc,EAAA5Y,UAAA3R,KAAAmN,MAEA8iE,EAzFA,CA0FAzV,EAAAd,gBACA97D,EAAAqyE,YAAAA,EACA,IAAApG,EAAA,SAAAviE,GAEA,SAAAuiE,EAAAt+D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAwBA,OA1BA6G,EAAAY,UAAAoiE,EAAAviE,GAIAuiE,EAAA9vD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAAimE,EACAjwE,KAAAia,OAAA,CACA+1D,WAAA,CAAA3iE,EAAA6K,kBAAA,cACAo4D,WAAA,CAAAjjE,EAAA8lB,SAAA,GACAw9C,WAAA,CAAAtjE,EAAA8lB,SAAA,KAEAnzB,KAAAob,SAAA,CACAmV,MAAA,YAEAvwB,KAAA8a,SAAA,CACA1W,KAAA,CAAAiJ,EAAA6M,IAAA,IACA+vC,OAAA,CAAA58C,EAAA6M,QAGA2vD,EAAAjpE,UAAAgT,MAAA,WACA5T,KAAAoE,KAAA,IAEAylE,EAAAjpE,UAAAgL,IAAA,SAAArD,EAAAC,EAAA3F,GACA7C,KAAAoE,KAAApE,KAAAoE,KAAAuL,OAAA,CAAA,CAAApH,EAAAC,EAAA3F,MAEAgnE,EA3BA,CA4BArP,EAAAF,YACA18D,EAAAisE,QAAAA,EACAA,EAAA9vD,aC9IA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA88D,EAAA98D,EAAA,IACA4tD,EAAA5tD,EAAA,KACA+8D,EAAA/8D,EAAA,IACA2P,EAAA3P,EAAA,IACAmzE,EAAA,SAAAvpE,GAEA,SAAAupE,IACA,OAAA,OAAAvpE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAoFA,OAtFA6G,EAAAY,UAAAopE,EAAAvpE,GAIAupE,EAAAjwE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA85D,SAAA95D,KAAA5B,MAAAshB,SAEAmxD,EAAAjwE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAi7C,UAAA,WAAA,OAAA75D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,UACA1f,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAAk7C,SAAA,WAAA,OAAA95D,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,UACA1f,KAAAa,QAAAb,KAAA5B,MAAAshB,OAAA3G,OAAA,WAAA,OAAAjY,EAAAg5D,SAAAh5D,EAAA1C,MAAAshB,WAEAmxD,EAAAjwE,UAAAk5D,SAAA,SAAAp6C,GACApY,EAAA1G,UAAAk5D,SAAAjyD,KAAA7H,KAAA0f,GACA1f,KAAA66D,QAAA5R,WAAAvpC,GACA1f,KAAAu8B,UAAAu+B,kBAEA+V,EAAAjwE,UAAAm6D,UAAA,WACA,IAQAoC,EAKAC,EAKAC,EAlBAp8B,EAAAjhC,KAAAu8B,UAAA0E,MACAq8B,EAAAt9D,KAAA5B,MAAA81C,UACA5R,EAAArB,EAAAsB,QAAAviC,KAAA5B,MAAAi9D,cACA54B,EAAAxB,EAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cACAgC,EAAA,UAAAD,EAAA76B,EAAAH,EACAk7B,EAAA,UAAAF,EAAAh7B,EAAAG,EACAg7B,EAAA,UAAAH,EAAAr8B,EAAAtT,MAAAsT,EAAAvT,MACAgwC,EAAA,UAAAJ,EAAAr8B,EAAAvT,MAAAuT,EAAAtT,MAGAwvC,EADA,QAAAn9D,KAAA5B,MAAA8a,WAAAykD,MAAA/oC,MACA2oC,EAAAjpC,UAAAt0B,KAAA49D,QAEAH,EAAAnpC,UAAAt0B,KAAA49D,QAGAR,EADA,QAAAp9D,KAAA5B,MAAA8a,WAAA2kD,MAAAjpC,MACA2oC,EAAAjpC,UAAAt0B,KAAA89D,QAEAL,EAAAnpC,UAAAt0B,KAAA89D,QAGAT,EADA,QAAAr9D,KAAA5B,MAAA8a,WAAA+oB,KAAArN,MACA4oC,EAAAlpC,UAAAt0B,KAAA+9D,OAEAL,EAAAppC,UAAAt0B,KAAA+9D,OACA,IAAArzD,EAAA,UAAA4yD,EAAA,CAAA,EAAA,GAAA,CAAA,EAAA,GAAArtD,EAAAvF,EAAA,GAAA66B,EAAA76B,EAAA,GACAkzD,EAAA,CAAAT,EAAAE,GACAS,EAAA,CAAAV,EAAAC,GACAr9D,KAAAm9D,UAAAS,EAAA3tD,GACAjQ,KAAAg+D,UAAAJ,EAAAr4B,GACAvlC,KAAAo9D,UAAAU,EAAA7tD,GACAjQ,KAAAi+D,UAAAH,EAAAv4B,IAEAsrC,EAAAjwE,UAAAkU,OAAA,WACA,GAAA9U,KAAA5B,MAAAkpB,QAAA,CAEAtnB,KAAA+6D,YACA,IAAAtrC,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACA,GAAAzvB,KAAA66D,QAAA1kC,KAAAu0B,KACA,IAAA,IAAAz6C,EAAA,EAAA+Z,EAAAhqB,KAAAm9D,UAAAj8D,OAAA+O,EAAA+Z,EAAA/Z,IACAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAAqsC,YACArsC,EAAAkd,OAAA3sC,KAAAm9D,UAAAltD,GAAAjQ,KAAAg+D,UAAA/tD,IACAwf,EAAAy4B,OAAAloD,KAAAo9D,UAAAntD,GAAAjQ,KAAAi+D,UAAAhuD,IACAwf,EAAA04B,SAGA,IAAA7mC,EAAA,UAAAthB,KAAA5B,MAAA81C,UAAA,EAAA5kC,KAAA0e,GAAA,EACA,GAAA,MAAAhuB,KAAA5B,MAAA0yE,WACA,IAAA,IAAA7gE,EAAA,EAAA+Z,EAAAhqB,KAAAm9D,UAAAj8D,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAAmsC,OACAnsC,EAAA+c,UAAAxsC,KAAAm9D,UAAAltD,GAAAjQ,KAAAg+D,UAAA/tD,IACAwf,EAAAH,OAAAhO,EAAAhS,KAAA0e,IACAhuB,KAAA5B,MAAA0yE,WAAAh8D,OAAA2a,EAAAxf,GACAwf,EAAAwsC,UAGA,GAAA,MAAAj8D,KAAA5B,MAAA2yE,WACA,IAAA,IAAA9gE,EAAA,EAAA+Z,EAAAhqB,KAAAo9D,UAAAl8D,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAAmsC,OACAnsC,EAAA+c,UAAAxsC,KAAAo9D,UAAAntD,GAAAjQ,KAAAi+D,UAAAhuD,IACAwf,EAAAH,OAAAhO,GACAthB,KAAA5B,MAAA2yE,WAAAj8D,OAAA2a,EAAAxf,GACAwf,EAAAwsC,YAIA4U,EAvFA,CAwFArW,EAAAd,gBACA97D,EAAAizE,YAAAA,EACA,IAAA9G,EAAA,SAAAziE,GAEA,SAAAyiE,EAAAx+D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAqBA,OAvBA6G,EAAAY,UAAAsiE,EAAAziE,GAIAyiE,EAAAhwD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAA6mE,EACA7wE,KAAAga,OAAA,CAAA,SACAha,KAAAia,OAAA,CACA0jD,MAAA,CAAAtwD,EAAA4S,cACA6wD,WAAA,CAAAzjE,EAAAimB,SAAA,WAAA,OAAA,IAAAmnC,EAAAuC,QAAA,CAAAzsC,MAAA,WAAArhB,KAAA,OACA2uD,MAAA,CAAAxwD,EAAA4S,cACA8wD,WAAA,CAAA1jE,EAAAimB,SAAA,WAAA,OAAA,IAAAmnC,EAAAuC,QAAA,CAAAzsC,MAAA,WAAArhB,KAAA,OACA+yB,KAAA,CAAA50B,EAAA4S,cACAi0B,UAAA,CAAA7mC,EAAAqI,UAAA,UACAgK,OAAA,CAAArS,EAAAimB,SAAA,WAAA,OAAA,IAAAg4B,EAAAsI,mBACAyH,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,aAEA3zB,KAAAob,SAAA,CACAmV,MAAA,cAGAw5C,EAxBA,CAyBAvP,EAAAF,YACA18D,EAAAmsE,QAAAA,EACAA,EAAAhwD,aC3HA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAszE,EAAAtzE,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACA0N,EAAA1N,EAAA,IACAuzE,EAAAvzE,EAAA,KACAkvB,EAAAtd,KAAAsd,IAAA1B,EAAA5b,KAAA4b,IAAAtY,EAAAtD,KAAAsD,IACAs+D,EAAA,SAAA5pE,GAEA,SAAA4pE,IACA,IAAApwE,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAAwuB,QAAA,EACAxuB,EA+ZA,OAnaA+F,EAAAY,UAAAypE,EAAA5pE,GAMAtI,OAAAiU,eAAAi+D,EAAAtwE,UAAA,QAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA2kB,QAEAtR,YAAA,EACAC,cAAA,IAEA49D,EAAAtwE,UAAAkU,OAAA,WACA,GAAA9U,KAAA5B,MAAAkpB,QAAA,CAEA,IAAAzZ,EAAA,CACAsjE,KAAAnxE,KAAAqiE,eACA+O,WAAApxE,KAAAqxE,sBACAC,WAAAtxE,KAAAuxE,sBAEAC,EAAAxxE,KAAAwxE,YACA/hD,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAA,EAAAmsC,OACA57D,KAAAyxE,WAAAhiD,EAAA5hB,GACA7N,KAAAojE,kBAAA3zC,EAAA5hB,EAAA2jE,GACAxxE,KAAAqjE,kBAAA5zC,EAAA5hB,EAAA2jE,GACAxxE,KAAAsjE,mBAAA7zC,EAAA5hB,EAAA2jE,GACAxxE,KAAA0xE,iBAAAjiD,EAAA5hB,EAAA2jE,GACA,MAAAxxE,KAAA2xE,SACA3xE,KAAA2xE,QAAAliD,EAAA5hB,EAAA2jE,GACA/hD,EAAAwsC,YAEAiV,EAAAtwE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAy7B,UAAAq1C,kBACA,IAAAvkE,EAAArN,KAAA5B,MAAA8a,WACAlZ,KAAA0F,UAAA2H,EAAAia,QAAA,WAAA,OAAAxmB,EAAAy7B,UAAAq9B,oBAEAsX,EAAAtwE,UAAAyuB,SAAA,WACA,GAAArvB,KAAA5B,MAAAkpB,SAAA,MAAAtnB,KAAA5B,MAAAyzE,eAAA,CACA,IAAA3iE,EAAAlP,KAAA25D,YACA,MAAA,CAAAtqD,MAAA,EAAAG,OAAAF,KAAA2V,MAAA/V,IAGA,MAAA,CAAAG,MAAA,EAAAG,OAAA,IAEA0hE,EAAAtwE,UAAA+4D,UAAA,WACA,OAAA35D,KAAAqiE,eAAAriE,KAAA8xE,qBAAA9xE,KAAAuxE,sBAEAvyE,OAAAiU,eAAAi+D,EAAAtwE,UAAA,aAAA,CACAsS,IAAA,WACA,OAAA,MAAAlT,KAAA5B,MAAAyzE,gBAEAx+D,YAAA,EACAC,cAAA,IAGA49D,EAAAtwE,UAAA6wE,WAAA,SAAAhiD,EAAAsiD,GACA,GAAA/xE,KAAA66D,QAAAmX,UAAAtnB,KAAA,CAEA,IAAAhgD,EAAA1K,KAAAiyE,YAAA59B,EAAA3pC,EAAA,GAAA4pC,EAAA5pC,EAAA,GACAO,EAAAjL,KAAAu8B,UAAA21C,cAAA79B,EAAAC,EAAAt0C,KAAA5B,MAAAi9D,aAAAr7D,KAAA5B,MAAAm9D,cAAA4W,EAAAlnE,EAAA,GAAAmnE,EAAAnnE,EAAA,GACA4B,EAAA7M,KAAAqyE,QAAArO,EAAAn3D,EAAA,GAAAo3D,EAAAp3D,EAAA,GACAE,EAAA/M,KAAAsyE,QAAAC,EAAAxlE,EAAA,GAAAylE,EAAAzlE,EAAA,GACA/M,KAAA66D,QAAAmX,UAAAzoB,UAAA95B,GACAA,EAAAqsC,YACArsC,EAAAkd,OAAAr9B,KAAA2V,MAAAktD,EAAA,GAAAnO,EAAAuO,GAAAjjE,KAAA2V,MAAAmtD,EAAA,GAAAnO,EAAAuO,IACA,IAAA,IAAAviE,EAAA,EAAAA,EAAAkiE,EAAAjxE,OAAA+O,IAAA,CACA,IAAA1H,EAAA+G,KAAA2V,MAAAktD,EAAAliE,GAAA+zD,EAAAuO,GACA/pE,EAAA8G,KAAA2V,MAAAmtD,EAAAniE,GAAAg0D,EAAAuO,GACA/iD,EAAAy4B,OAAA3/C,EAAAC,GAEAinB,EAAA04B,WAEA+oB,EAAAtwE,UAAAwiE,kBAAA,SAAA3zC,EAAAsiD,EAAAP,GACA,IAAAlN,EAAAtkE,KAAA5B,MAAAmmE,cACAC,EAAAxkE,KAAA5B,MAAAqmE,eACA5J,EAAA76D,KAAA66D,QAAAkJ,gBACA/jE,KAAAyyE,YAAAhjD,EAAA+hD,EAAAnN,MAAAC,EAAAE,EAAA3J,IAEAqW,EAAAtwE,UAAAyiE,kBAAA,SAAA5zC,EAAAsiD,EAAAP,GACA,IAAAlN,EAAAtkE,KAAA5B,MAAAwmE,cACAJ,EAAAxkE,KAAA5B,MAAAymE,eACAhK,EAAA76D,KAAA66D,QAAA6J,gBACA1kE,KAAAyyE,YAAAhjD,EAAA+hD,EAAA7M,MAAAL,EAAAE,EAAA3J,IAEAqW,EAAAtwE,UAAA0iE,mBAAA,SAAA7zC,EAAA5hB,EAAA2jE,GACA,IAAApN,EAAAoN,EAAAnN,MACAe,EAAAplE,KAAA0yE,eAAAtO,EAAApkE,KAAAk0C,YACAxkB,EAAA1vB,KAAA5B,MAAAu0E,wBACA5N,EAAAl3D,EAAAsjE,KAAAnxE,KAAA5B,MAAAw0E,qBACA/X,EAAA76D,KAAA66D,QAAAiK,iBACA9kE,KAAA6yE,sBAAApjD,EAAA21C,EAAAhB,EAAA10C,EAAA1vB,KAAAyiE,MAAAzzC,KAAA+1C,EAAAlK,IAEAqW,EAAAtwE,UAAA8wE,iBAAA,SAAAjiD,EAAA5hB,EAAAilE,GACA,GAAA,MAAA9yE,KAAA5B,MAAAkzE,YAAA,GAAAtxE,KAAA5B,MAAAkzE,WAAApwE,QAAA,MAAAlB,KAAA5B,MAAAyzE,eAAA,CAEA,IAAAtpE,EACAC,EACA,OAAAxI,KAAAyiE,MAAAzzC,MACA,IAAA,QACAzmB,EAAAvI,KAAAyiE,MAAA92C,SAAA9f,MACArD,EAAAxI,KAAAyiE,MAAA/2C,QAAA7f,MACA,MACA,IAAA,QACAtD,EAAAvI,KAAAyiE,MAAA92C,SAAA9f,MACArD,EAAAxI,KAAAyiE,MAAAp3C,KAAAxf,MACA,MACA,IAAA,OACAtD,EAAAvI,KAAAyiE,MAAAh3C,OAAA5f,MACArD,EAAAxI,KAAAyiE,MAAA72C,SAAA/f,MACA,MACA,IAAA,QACAtD,EAAAvI,KAAAyiE,MAAAn3C,MAAAzf,MACArD,EAAAxI,KAAAyiE,MAAA72C,SAAA/f,MACA,MACA,QACA,MAAA,IAAAxN,MAAA,iBAAA2B,KAAAyiE,MAAAzzC,MAEA,IAAAo1C,EAAA,CAAA,CAAA77D,GAAA,CAAAC,IACAu8D,EAAAl3D,EAAAsjE,KAAAvnE,EAAAse,IAAAra,EAAAujE,YAAApxE,KAAA5B,MAAA20E,oBACAlY,EAAA76D,KAAA66D,QAAAmY,gBACAhzE,KAAA6yE,sBAAApjD,EAAA,CAAAzvB,KAAA5B,MAAAkzE,YAAAlN,EAAA,WAAApkE,KAAAyiE,MAAAzzC,KAAA+1C,EAAAlK,EAAA,YAEAqW,EAAAtwE,UAAA6xE,YAAA,SAAAhjD,EAAA20C,EAAAE,EAAAE,EAAA3J,GACA,GAAAA,EAAAnQ,KAAA,CAEA,IAAAjiD,EAAA27D,EAAA,GAAA17D,EAAA07D,EAAA,GACA15D,EAAA1K,KAAAu8B,UAAA21C,cAAAzpE,EAAAC,EAAA1I,KAAA5B,MAAAi9D,aAAAr7D,KAAA5B,MAAAm9D,cAAA4W,EAAAznE,EAAA,GAAA0nE,EAAA1nE,EAAA,GACAO,EAAAjL,KAAAqyE,QAAArO,EAAA/4D,EAAA,GAAAg5D,EAAAh5D,EAAA,GACA4B,EAAA7M,KAAAsyE,QAAAC,EAAA1lE,EAAA,GAAA2lE,EAAA3lE,EAAA,GACAE,EAAA,CAAAi3D,GAAAuO,EAAAjO,GAAAL,GAAAuO,EAAAlO,IAAA2O,EAAAlmE,EAAA,GAAAmmE,EAAAnmE,EAAA,GACAmhD,EAAA,CAAA8V,GAAAuO,EAAA/N,GAAAP,GAAAuO,EAAAhO,IAAA2O,EAAAjlB,EAAA,GAAAklB,EAAAllB,EAAA,GACA2M,EAAAtR,UAAA95B,GACA,IAAA,IAAAxf,EAAA,EAAAA,EAAAkiE,EAAAjxE,OAAA+O,IAAA,CACA,IAAAg3C,EAAA33C,KAAA2V,MAAAktD,EAAAliE,GAAAkjE,GACA9rB,EAAA/3C,KAAA2V,MAAAmtD,EAAAniE,GAAAmjE,GACAlsB,EAAA53C,KAAA2V,MAAAktD,EAAAliE,GAAAgjE,GACA3rB,EAAAh4C,KAAA2V,MAAAmtD,EAAAniE,GAAAijE,GACAzjD,EAAAqsC,YACArsC,EAAAkd,OAAAsa,EAAAI,GACA53B,EAAAy4B,OAAAhB,EAAAI,GACA73B,EAAA04B,YAGA+oB,EAAAtwE,UAAAiyE,sBAAA,SAAApjD,EAAA21C,EAAAhB,EAAA10C,EAAA2jD,EAAAtO,EAAAlK,EAAAjmC,GACA,IAAAlqB,EAAAO,EAAA4B,EAIA,QAHA,IAAA+nB,IACAA,EAAA,QAEAimC,EAAAnQ,MAAA,GAAA0a,EAAAlkE,OAAA,CAEA,IAAAixE,EAAAC,EACAG,EAAAC,EACA,GAAA,UAAA59C,EACAu9C,EAAA/N,EAAA,GAAAgO,EAAAhO,EAAA,GACAmO,GAAA7nE,EAAA,CAAA,EAAA,IAAA,GAAA8nE,EAAA9nE,EAAA,OAEA,CACA,IAAA4oE,EAAAlP,EAAA,GAAAmP,EAAAnP,EAAA,GACAn5D,EAAAjL,KAAAu8B,UAAA21C,cAAAoB,EAAAC,EAAAvzE,KAAA5B,MAAAi9D,aAAAr7D,KAAA5B,MAAAm9D,cAAA4W,EAAAlnE,EAAA,GAAAmnE,EAAAnnE,EAAA,GACA4B,EAAA7M,KAAAsyE,QAAAC,EAAA1lE,EAAA,GAAA2lE,EAAA3lE,EAAA,GAEA,IAKAyU,EALAvU,EAAA/M,KAAAqyE,QAAArO,EAAAj3D,EAAA,GAAAk3D,EAAAl3D,EAAA,GACAymE,EAAAxP,GAAAuO,EAAAxN,GACA0O,EAAAxP,GAAAuO,EAAAzN,GACAlK,EAAAtR,UAAA95B,GACAzvB,KAAAyiE,MAAAjzC,4BAAAC,EAAAC,GAGApO,EADAlW,EAAAW,SAAA2jB,GACA1vB,KAAAyiE,MAAA3yC,0BAAAJ,IAEAA,EACA,IAAA,IAAAzf,EAAA,EAAAA,EAAAkiE,EAAAjxE,OAAA+O,IAAA,CACA,IAAA1H,EAAA+G,KAAA2V,MAAAktD,EAAAliE,GAAAujE,GACAhrE,EAAA8G,KAAA2V,MAAAmtD,EAAAniE,GAAAwjE,GACAhkD,EAAA+c,UAAAjkC,EAAAC,GACAinB,EAAAH,OAAAhO,GACAmO,EAAA41C,SAAAD,EAAAn1D,GAAA,EAAA,GACAwf,EAAAH,QAAAhO,GACAmO,EAAA+c,WAAAjkC,GAAAC,MAIA0oE,EAAAtwE,UAAA2wE,mBAAA,WACA,GAAA,MAAAvxE,KAAA5B,MAAAkzE,YAAA,IAAAtxE,KAAA5B,MAAAkzE,WACA,OAAA,EACA,IAAAvM,EAAA/kE,KAAA5B,MAAA20E,oBACAlY,EAAA76D,KAAA66D,QAAAmY,gBACA,OAAAhzE,KAAA0zE,wBAAA,CAAA1zE,KAAA5B,MAAAkzE,YAAA,WAAAtxE,KAAAyiE,MAAAzzC,KAAA+1C,EAAAlK,IAEAqW,EAAAtwE,UAAAyhE,aAAA,WACA,OAAAriE,KAAA5B,MAAAqmE,gBAEAyM,EAAAtwE,UAAAkxE,mBAAA,WACA,OAAAloE,EAAAse,IAAAloB,KAAAqxE,wBAEAH,EAAAtwE,UAAAywE,oBAAA,WACA,IAAAjN,EAAApkE,KAAAwxE,YAAAnN,MACAe,EAAAplE,KAAA0yE,eAAAtO,EAAApkE,KAAAk0C,YACAxkB,EAAA1vB,KAAA5B,MAAAu0E,wBACA5N,EAAA/kE,KAAA5B,MAAAw0E,qBACA/X,EAAA76D,KAAA66D,QAAAiK,iBACA,MAAA,CAAA9kE,KAAA0zE,wBAAAtO,EAAA11C,EAAA1vB,KAAAyiE,MAAAzzC,KAAA+1C,EAAAlK,KAEAqW,EAAAtwE,UAAA8yE,wBAAA,SAAAtO,EAAA11C,EAAAV,EAAA+1C,EAAAlK,GACA,GAAA,GAAAuK,EAAAlkE,OACA,OAAA,EACA,IAEAyyE,EACAryD,EAHAmO,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAorC,EAAAtR,UAAA95B,GAGArkB,EAAAW,SAAA2jB,IACAikD,EAAA,EACAryD,EAAAthB,KAAAyiE,MAAA3yC,0BAAAJ,KAGAikD,EAAA,EACAryD,GAAAoO,GAEApO,EAAAhS,KAAAsd,IAAAtL,GAIA,IAHA,IAAAwE,EAAAxW,KAAAsS,IAAAN,GACAu3B,EAAAvpC,KAAAuS,IAAAP,GACAsyD,EAAA,EACA3jE,EAAA,EAAAA,EAAAm1D,EAAAlkE,OAAA+O,IAAA,CACA,IAAAwQ,EAAA,IAAAgP,EAAAmc,YAAAw5B,EAAAn1D,IAAAZ,MACAs+B,EAAA,GAAAle,EAAAmc,YAAAw5B,EAAAn1D,IAAA87B,OACA1vB,OAAA,GAEAA,EADA,SAAA2S,GAAA,SAAAA,EACAvO,EAAAo4B,EAAAlL,EAAAgmC,EAAA7tD,EAEArF,EAAAqF,EAAA6nB,EAAAgmC,EAAA96B,GAEA+6B,IACAA,EAAAv3D,GAKA,OAFAu3D,EAAA,IACAA,GAAA7O,GACA6O,GAEA50E,OAAAiU,eAAAi+D,EAAAtwE,UAAA,UAAA,CAEAsS,IAAA,WACA,OAAAlT,KAAAyiE,MAAA4P,SAEAh/D,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAi+D,EAAAtwE,UAAA,YAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAyiE,MAAAvuB,WAEA7gC,YAAA,EACAC,cAAA,IAEA49D,EAAAtwE,UAAA8xE,eAAA,SAAA/L,GAEA,IADA,IAAAvB,EAAAplE,KAAA5B,MAAAimD,UAAAoiB,SAAAE,EAAA3mE,MACAiQ,EAAA,EAAAA,EAAA02D,EAAAzlE,OAAA+O,IACA02D,EAAA12D,KAAAjQ,KAAA5B,MAAAsoE,wBACAtB,EAAAn1D,GAAAjQ,KAAA5B,MAAAsoE,sBAAAC,EAAA12D,KAEA,OAAAm1D,GAEApmE,OAAAiU,eAAAi+D,EAAAtwE,UAAA,UAAA,CACAsS,IAAA,WAGA,GAAA,MAAAlT,KAAA5B,MAAAyzE,eACA,MAAA,CAAA,EAAA,GACA,IAAA5wC,EAAAjhC,KAAAu8B,UAAA0E,MACAv2B,EAAA,CAAA,EAAA,GAAA6nE,EAAA7nE,EAAA,GAAA8nE,EAAA9nE,EAAA,GACA,OAAA1K,KAAAyiE,MAAAzzC,MACA,IAAA,QACAwjD,EAAA5lD,EAAA5sB,KAAAyiE,MAAAp3C,KAAAxf,MAAAo1B,EAAAvV,QAAA7f,OACA,MACA,IAAA,QACA2mE,EAAA5lD,EAAA5sB,KAAAyiE,MAAA/2C,QAAA7f,MAAAo1B,EAAA5V,KAAAxf,OACA,MACA,IAAA,QACA0mE,EAAA3lD,EAAA5sB,KAAAyiE,MAAAn3C,MAAAzf,MAAAo1B,EAAAxV,OAAA5f,OACA,MACA,IAAA,OACA0mE,EAAA3lD,EAAA5sB,KAAAyiE,MAAAh3C,OAAA5f,MAAAo1B,EAAA3V,MAAAzf,OAGA,MAAA,CAAA0mE,EAAAC,IAEAn/D,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAi+D,EAAAtwE,UAAA,SAAA,CACAsS,IAAA,WACA,IAAAjD,EAAAjQ,KAAAk0C,UACA3O,GAAAt1B,EAAA,GAAA,EACAgxB,EAAAjhC,KAAAu8B,UAAA0E,MACAyhC,EAAA,CACAzhC,EAAA4yC,SAAA7zE,KAAA5B,MAAAi9D,cACAp6B,EAAA6yC,SAAA9zE,KAAA5B,MAAAm9D,eAEA,MAAA,CAAAmH,EAAAzyD,GAAAyyD,EAAAn9B,KAEAlyB,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAi+D,EAAAtwE,UAAA,kBAAA,CACAsS,IAAA,WACA,IAAA0xB,EAAA5kC,KAAA0iE,OAAA,GACAqR,EAAA/zE,KAAA5B,MAAA0vB,OACAkmD,EAAA,CAAApvC,EAAA1Z,IAAA0Z,EAAAhyB,KACA,GAAA,QAAAmhE,EACA,MAAA,CAAAnvC,EAAA1Z,IAAA0Z,EAAAhyB,KACA,GAAAxH,EAAAa,QAAA8nE,GAAA,CACA,IAAAhqD,OAAA,EACAC,OAAA,EACAiqD,EAAAF,EAAA,GAAAG,EAAAH,EAAA,GACAI,EAAAH,EAAA,GAAAI,EAAAJ,EAAA,GASA,OARApnD,EAAAqnD,EAAAC,GAAAtnD,EAAAunD,EAAAC,IACArqD,EAAAnX,EAAAsY,EAAA+oD,EAAAC,GAAAC,GACAnqD,EAAAkB,EAAAtY,EAAAqhE,EAAAC,GAAAE,KAGArqD,EAAAmB,EAAA+oD,EAAAC,GACAlqD,EAAApX,EAAAqhE,EAAAC,IAEA,CAAAnqD,EAAAC,GAGA,MAAA,IAAA3rB,MAAA,gBAAA01E,EAAA,qBAEA1gE,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAi+D,EAAAtwE,UAAA,cAAA,CACAsS,IAAA,WACA,IAAAjD,EAAAjQ,KAAAk0C,UACA3O,GAAAt1B,EAAA,GAAA,EACA20B,EAAA5kC,KAAA0iE,OAAA,GACAh4D,EAAA1K,KAAAq0E,gBAAAtqD,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,GACA2pC,EAAA,IAAA5kC,MAAA,GACA6kC,EAAA,IAAA7kC,MAAA,GACA20D,EAAA,CAAA/vB,EAAAC,GAOA,OANA8vB,EAAAn0D,GAAA,GAAAX,KAAAsD,IAAAmX,EAAA6a,EAAA1Z,KACAk5C,EAAAn0D,GAAA,GAAAX,KAAA4b,IAAAlB,EAAA4a,EAAAhyB,KACAwxD,EAAAn0D,GAAA,GAAAm0D,EAAAn0D,GAAA,KACAm0D,EAAAn0D,GAAA,GAAAm0D,EAAAn0D,GAAA,GAAAqkE,KACAlQ,EAAA7+B,GAAA,GAAAvlC,KAAAw3D,IACA4M,EAAA7+B,GAAA,GAAAvlC,KAAAw3D,IACA4M,GAEA/wD,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAi+D,EAAAtwE,UAAA,cAAA,CACAsS,IAAA,WAeA,IAdA,IAAAjD,EAAAjQ,KAAAk0C,UACA3O,GAAAt1B,EAAA,GAAA,EACA20B,EAAA5kC,KAAA0iE,OAAA,GACAh4D,EAAA1K,KAAAq0E,gBAAAtqD,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,GACAi8D,EAAA3mE,KAAA5B,MAAAyiE,OAAA+F,UAAA78C,EAAAC,EAAA4a,EAAA5kC,KAAAw3D,IAAA,IACAsP,EAAAH,EAAAtC,MACA0C,EAAAJ,EAAAhC,MAGAP,EAAA,CAFA,GACA,IAIA6C,EAAA,CAFA,GACA,IAEAh8D,EAAA,CAAA25B,EAAA1Z,IAAA0Z,EAAAhyB,KAAA2hE,EAAAtpE,EAAA,GAAAupE,EAAAvpE,EAAA,GACAi8D,EAAA,EAAAA,EAAAJ,EAAA5lE,OAAAgmE,IACAJ,EAAAI,GAAAqN,GAAAzN,EAAAI,GAAAsN,IAEApQ,EAAAn0D,GAAAjF,KAAA87D,EAAAI,IACA9C,EAAA7+B,GAAAv6B,KAAAhL,KAAAw3D,MAEA,IAAA,IAAA0P,EAAA,EAAAA,EAAAH,EAAA7lE,OAAAgmE,IACAH,EAAAG,GAAAqN,GAAAxN,EAAAG,GAAAsN,IAEAvN,EAAAh3D,GAAAjF,KAAA+7D,EAAAG,IACAD,EAAA1hC,GAAAv6B,KAAAhL,KAAAw3D,MAEA,MAAA,CACA6M,MAAAD,EACAO,MAAAsC,IAGA5zD,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAi+D,EAAAtwE,UAAA,MAAA,CACAsS,IAAA,WACA,IAAA2+D,EAAA7xE,KAAA5B,MAAAyzE,eACA,GAAA,MAAAA,EAAA,CACA,GAAAzmE,EAAAqc,SAAAoqD,GACA,OAAAA,EACA,IAAAnnE,EAAA1K,KAAA0iE,OAAA+R,EAAA/pE,EAAA,GACA,GAAA+pE,aAAAxD,EAAAyD,YACA,OAAAD,EAAAE,UAAA9C,GACA,MAAA,IAAAxzE,MAAA,cAEA,IAAA4M,EAAAjL,KAAA0iE,OAAAkS,EAAA3pE,EAAA,GACA,OAAAjL,KAAAyiE,MAAAzzC,MACA,IAAA,OACA,IAAA,QACA,OAAA4lD,EAAA7qD,MACA,IAAA,QACA,IAAA,QACA,OAAA6qD,EAAA5qD,MAGA3W,YAAA,EACAC,cAAA,IAGA49D,EAAAtwE,UAAAgnD,mBAAA,WACA,OAAA/gD,EAAAiB,SAAA,GAAAR,EAAA1G,UAAAgnD,mBAAA//C,KAAA7H,MAAA,CAAA+kB,KAAA/kB,KAAA2kB,OAAAI,KAAA5V,QAEA+hE,EApaA,CAqaAF,EAAA6D,mBACAj3E,EAAAszE,SAAAA,EACA,IAAA4D,EAAA,SAAAxtE,GAEA,SAAAwtE,EAAAvpE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAwCA,OA1CA6G,EAAAY,UAAAqtE,EAAAxtE,GAIAwtE,EAAA/6D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAknE,EACAlxE,KAAAga,OAAA,CACA,aACA,mBACA,mBACA,oBACA,qBAEAha,KAAAia,OAAA,CACA6T,OAAA,CAAAzgB,EAAA6M,IAAA,QACA2mD,OAAA,CAAAxzD,EAAAimB,UACA+wB,UAAA,CAAAh3C,EAAAimB,UACA+nC,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,WACA29C,WAAA,CAAAjkE,EAAAsmB,OAAA,IACAo/C,oBAAA,CAAA1lE,EAAAmmB,IAAA,GACAo/C,qBAAA,CAAAvlE,EAAAmmB,IAAA,GACAm/C,wBAAA,CAAAtlE,EAAA6M,IAAA,cACAwsD,sBAAA,CAAAr5D,EAAA6M,IAAA,IACAqqD,cAAA,CAAAl3D,EAAAkmB,OAAA,GACAkxC,eAAA,CAAAp3D,EAAAkmB,OAAA,GACAqxC,cAAA,CAAAv3D,EAAAkmB,OAAA,GACAsxC,eAAA,CAAAx3D,EAAAkmB,OAAA,GACAs+C,eAAA,CAAAxkE,EAAA6M,IAAA,QAEAla,KAAAob,SAAA,CACA25D,gBAAA,QACAjN,sBAAA,QACAC,sBAAA,QACAF,2BAAA,MACAF,uBAAA,SACAC,0BAAA,aACAoN,0BAAA,OACAC,2BAAA,YAGAH,EA3CA,CA4CA9D,EAAAkE,eACAt3E,EAAAk3E,KAAAA,EACAA,EAAA/6D,aC7dA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAy3E,EAAAz3E,EAAA,IACA03E,EAAA13E,EAAA,KACA23E,EAAA33E,EAAA,KACA2P,EAAA3P,EAAA,IACA43E,EAAA,SAAAhuE,GAEA,SAAAguE,IACA,OAAA,OAAAhuE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA4GA,OA9GA6G,EAAAY,UAAA6tE,EAAAhuE,GAIAguE,EAAA10E,UAAA+wE,QAAA,SAAAliD,EAAA5hB,EAAA2jE,GACAxxE,KAAAu1E,uBAAA9lD,EAAA5hB,EAAA2jE,IAEA8D,EAAA10E,UAAA20E,uBAAA,SAAA9lD,EAAAsiD,EAAAe,GACA,IAAApoE,EACAk6B,EAAA5kC,KAAA0iE,OAAA,GACAz3D,EAAAjL,KAAAq0E,gBAAAtqD,EAAA9e,EAAA,GAAA+e,EAAA/e,EAAA,GACA,GAAA25B,EAAA4wC,QAAA5wC,EAAA4wC,KAAAt0E,OAAA,IAAAlB,KAAA66D,QAAA4a,eAAA/qB,KAAA,CAMA,IAJA,IAAA4S,EAAAt9D,KAAAk0C,UACAwhC,GAAApY,EAAA,GAAA,EACA8G,EAAA,CAAA,GAAA,IACAuR,EAAA,EACA1lE,EAAA,EAAAA,EAAA20B,EAAA4wC,KAAAt0E,OAAA,EAAA+O,IAAA,CAEA,IADA,IAAAmB,OAAA,EAAA+zB,OAAA,EACAI,EAAAowC,EAAApwC,EAAAX,EAAAgxC,QAAA10E,OAAAqkC,IACA,GAAAX,EAAAgxC,QAAArwC,GAAA,IAAAX,EAAA4wC,KAAAvlE,EAAA,GAAA,CACAvF,EAAA,CAAAk6B,EAAAgxC,QAAArwC,EAAA,GAAAX,EAAAgxC,QAAArwC,IAAAn0B,EAAA1G,EAAA,GAAAy6B,EAAAz6B,EAAA,GACAirE,EAAApwC,EACA,MAGA,IAAAswC,GAAAjxC,EAAA+vC,UAAAvjE,GAAAwzB,EAAA+vC,UAAAxvC,IAAA,EACA0wC,EAAA9rD,GAAA8rD,EAAA7rD,IACAo6C,EAAA9G,GAAAtyD,KAAA6qE,GACAzR,EAAAsR,GAAA1qE,KAAAhL,KAAAw3D,MAGA,IAAAse,EAAA91E,KAAA8xE,qBACA9xE,KAAAyyE,YAAAhjD,EAAA20C,GAAA,EAAA0R,EAAA,EAAA91E,KAAA66D,QAAA4a,kBAEAH,EAAA10E,UAAA0iE,mBAAA,SAAA7zC,EAAA5hB,EAAAilE,GAGA,IAFA,IAAAzwE,EAAArC,KAAA+1E,mBACAhR,EAAAl3D,EAAAsjE,KAAAnxE,KAAA5B,MAAAw0E,qBACA3iE,EAAA,EAAAA,EAAA5N,EAAAnB,OAAA+O,IAAA,CACA,IAAAvF,EAAArI,EAAA4N,GAAAm1D,EAAA16D,EAAA,GAAA05D,EAAA15D,EAAA,GAAAglB,EAAAhlB,EAAA,GAAAgyD,EAAAhyD,EAAA,GACA1K,KAAA6yE,sBAAApjD,EAAA21C,EAAAhB,EAAA10C,EAAA1vB,KAAAyiE,MAAAzzC,KAAA+1C,EAAArI,GACAqI,GAAAl3D,EAAAujE,WAAAnhE,KAGAqlE,EAAA10E,UAAAywE,oBAAA,WAGA,IAFA,IAAAhvE,EAAArC,KAAA+1E,mBACAloE,EAAA,GACAzD,EAAA,EAAA4rE,EAAA3zE,EAAA+H,EAAA4rE,EAAA90E,OAAAkJ,IAAA,CACA,IAAAM,EAAAsrE,EAAA5rE,GAAAg7D,EAAA16D,EAAA,GAAAglB,EAAAhlB,EAAA,GAAAurE,EAAAvrE,EAAA,GACAkpE,EAAA5zE,KAAA0zE,wBAAAtO,EAAA11C,EAAA1vB,KAAAyiE,MAAAzzC,KAAAhvB,KAAA5B,MAAAw0E,qBAAAqD,GACApoE,EAAA7C,KAAA4oE,GAEA,OAAA/lE,GAEAynE,EAAA10E,UAAAm1E,iBAAA,WACA,IAAAnxC,EAAA5kC,KAAA0iE,OAAA,GACAh4D,EAAA1K,KAAAq0E,gBAAAtqD,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,GACA8sD,EAAAx3D,KAAAw3D,IACAmP,EAAA3mE,KAAA5B,MAAAyiE,OAAA+F,UAAA78C,EAAAC,EAAA4a,EAAA4yB,EAAA,IACA4M,EAAApkE,KAAAwxE,YACAnvE,EAAA,GACA,GAAA,GAAAuiC,EAAA1S,OAAA,CACA,IAAAmyC,EAAAsC,EAAAtC,MACAe,EAAAplE,KAAA5B,MAAAimD,UAAAoiB,SAAApC,EAAArkE,MACAqC,EAAA2I,KAAA,CAAAo6D,EAAAhB,EAAAC,MAAArkE,KAAA5B,MAAAu0E,wBAAA3yE,KAAA66D,QAAAiK,wBAEA,GAAA,GAAAlgC,EAAA1S,OAAA,CACA,IAAAmyC,EAAAsC,EAAAtC,MAAAl6D,IAAA,SAAA1B,GAAA,OAAAA,EAAA,KACA28D,EAAAplE,KAAA5B,MAAAimD,UAAAoiB,SAAApC,EAAArkE,MACAqC,EAAA2I,KAAA,CAAAo6D,EAAAhB,EAAAC,MAAArkE,KAAA5B,MAAAu0E,wBAAA3yE,KAAA66D,QAAAiK,mBACAziE,EAAA2I,KAAA,CAAA27D,EAAA6O,KAAApR,EAAAoR,KAAAx1E,KAAA5B,MAAA83E,wBAAAl2E,KAAA66D,QAAAsb,kBAEA,GAAA,GAAAvxC,EAAA1S,OAAA,CACA,IAAAmyC,EAAAsC,EAAAtC,MAAAl6D,IAAA,SAAA1B,GAAA,OAAAA,EAAA,KACA28D,EAAAplE,KAAA5B,MAAAimD,UAAAoiB,SAAApC,EAAArkE,MACAo2E,EAAAzP,EAAA0P,KAAAlsE,IAAA,SAAA1B,GAAA,OAAAA,EAAA,KACApG,EAAA2I,KAAA,CAAAo6D,EAAAhB,EAAAC,MAAArkE,KAAA5B,MAAAu0E,wBAAA3yE,KAAA66D,QAAAiK,mBACAziE,EAAA2I,KAAA,CAAAorE,EAAAhS,EAAAiS,KAAAr2E,KAAA5B,MAAAk4E,2BAAAt2E,KAAA66D,QAAA0b,gBACAl0E,EAAA2I,KAAA,CAAA27D,EAAA6O,KAAApR,EAAAoR,KAAAx1E,KAAA5B,MAAA83E,wBAAAl2E,KAAA66D,QAAAsb,aAEA,OAAA9zE,GAEArD,OAAAiU,eAAAqiE,EAAA10E,UAAA,cAAA,CAEAsS,IAAA,WACA,IAAApS,EAAAd,KACAiQ,EAAAjQ,KAAAk0C,UACA3O,GAAAt1B,EAAA,GAAA,EACA20B,EAAA5kC,KAAA0iE,OAAA,GACAh4D,EAAA1K,KAAAq0E,gBAAAtqD,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,GACAi8D,EAAA3mE,KAAA5B,MAAAyiE,OAAA+F,UAAA78C,EAAAC,EAAA4a,EAAA5kC,KAAAw3D,IAAA,IACA4M,EAAA,CACAC,MAAA,CAAA,GAAA,IACAgS,KAAA,CAAA,GAAA,IACAb,KAAA,CAAA,GAAA,IACA7Q,MAAA,CAAA,GAAA,KAUA,OARAP,EAAAC,MAAAp0D,GAAA02D,EAAAtC,MACAD,EAAAC,MAAA9+B,GAAAohC,EAAAtC,MAAAl6D,IAAA,SAAAk+C,GAAA,OAAAvnD,EAAA02D,MACA,GAAA5yB,EAAA1S,SACAkyC,EAAAiS,KAAApmE,GAAA02D,EAAA0P,MACAjS,EAAAiS,KAAA9wC,GAAAohC,EAAA0P,KAAAlsE,IAAA,SAAAk+C,GAAA,OAAAvnD,EAAA02D,MACA5yB,EAAA1S,OAAA,IACAkyC,EAAAoR,KAAAvlE,GAAA02D,EAAA6O,MACApR,EAAAoR,KAAAjwC,GAAAohC,EAAA6O,KAAArrE,IAAA,SAAAk+C,GAAA,OAAAvnD,EAAA02D,MACA4M,GAEA/wD,YAAA,EACAC,cAAA,IAEAgiE,EA/GA,CAgHAH,EAAAjE,UACAtzE,EAAA03E,oBAAAA,EACA,IAAAkB,EAAA,SAAAlvE,GAEA,SAAAkvE,EAAAjrE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA0BA,OA5BA6G,EAAAY,UAAA+uE,EAAAlvE,GAIAkvE,EAAAz8D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,kBACAvZ,KAAAY,UAAAoJ,aAAAsrE,EACAt1E,KAAAga,OAAA,CACA,kBACA,cACA,mBAEAha,KAAAia,OAAA,CACAi8D,wBAAA,CAAA7oE,EAAA6M,IAAA,YACAo8D,2BAAA,CAAAjpE,EAAA6M,IAAA,cAEAla,KAAAob,SAAA,CACAylD,OAAA,WAAA,OAAA,IAAAuU,EAAAqB,mBACApyB,UAAA,WAAA,OAAA,IAAAgxB,EAAAqB,0BACAC,qBAAA,YACAC,qBAAA,EACAC,sBAAA,OACAC,qBAAA,MACAC,iBAAA,OACAC,yBAAA,OACAC,wBAAA,SAGAT,EA7BA,CA8BArB,EAAAL,MACAl3E,EAAA44E,gBAAAA,EACAA,EAAAz8D,aCxJA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAy3E,EAAAz3E,EAAA,IACAw5E,EAAA,SAAA5vE,GAEA,SAAA4vE,EAAA3rE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAPA6G,EAAAY,UAAAyvE,EAAA5vE,GAIA4vE,EAAAn9D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,kBAEA29D,EARA,CASA/B,EAAAL,MACAl3E,EAAAs5E,eAAAA,EACAA,EAAAn9D,aCdA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAy5E,EAAAz5E,EAAA,IACA05E,EAAA15E,EAAA,KACA25E,EAAA35E,EAAA,KACA45E,EAAA,SAAAhwE,GAEA,SAAAgwE,IACA,OAAA,OAAAhwE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA6vE,EAAAhwE,GAIAgwE,EALA,CAMAH,EAAAI,gBACA35E,EAAA05E,iBAAAA,EACA,IAAAE,EAAA,SAAAlwE,GAEA,SAAAkwE,EAAAjsE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAUA,OAZA6G,EAAAY,UAAA+vE,EAAAlwE,GAIAkwE,EAAAz9D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAY,UAAAoJ,aAAAstE,EACAt3E,KAAAob,SAAA,CACAylD,OAAA,WAAA,OAAA,IAAAwW,EAAAI,gBACApzB,UAAA,WAAA,OAAA,IAAA+yB,EAAAM,0BAGAF,EAbA,CAcAL,EAAAQ,YACA/5E,EAAA45E,aAAAA,EACAA,EAAAz9D,aC7BA,SAAArc,EAAAC,EAAAC,GACA,IAAAu3E,EAAAz3E,EAAA,IACAE,EAAAk3E,KAAAK,EAAAL,KACA,IAAA8C,EAAAl6E,EAAA,IACAE,EAAA44E,gBAAAoB,EAAApB,gBACA,IAAAqB,EAAAn6E,EAAA,IACAE,EAAAs5E,eAAAW,EAAAX,eACA,IAAAY,EAAAp6E,EAAA,IACAE,EAAA45E,aAAAM,EAAAN,aACA,IAAAL,EAAAz5E,EAAA,IACAE,EAAA+5E,WAAAR,EAAAQ,WACA,IAAAI,EAAAr6E,EAAA,IACAE,EAAAo6E,QAAAD,EAAAC,QACA,IAAAC,EAAAv6E,EAAA,IACAE,EAAAs6E,aAAAD,EAAAC,cCdA,SAAAx6E,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAy3E,EAAAz3E,EAAA,IACAm6E,EAAAn6E,EAAA,IACA2iE,EAAA3iE,EAAA,KACA0iE,EAAA1iE,EAAA,KACA65E,EAAA,SAAAjwE,GAEA,SAAAiwE,IACA,OAAA,OAAAjwE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA8vE,EAAAjwE,GAIAiwE,EALA,CAMApC,EAAAjE,UACAtzE,EAAA25E,eAAAA,EACA,IAAAI,EAAA,SAAArwE,GAEA,SAAAqwE,EAAApsE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAUA,OAZA6G,EAAAY,UAAAkwE,EAAArwE,GAIAqwE,EAAA59D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAY,UAAAoJ,aAAAutE,EACAv3E,KAAAob,SAAA,CACAylD,OAAA,WAAA,OAAA,IAAAT,EAAAiH,aACAhjB,UAAA,WAAA,OAAA,IAAAgc,EAAAiH,uBAGAqQ,EAbA,CAcAE,EAAAX,gBACAt5E,EAAA+5E,WAAAA,EACAA,EAAA59D,aC9BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAy3E,EAAAz3E,EAAA,IACAm6E,EAAAn6E,EAAA,IACAy6E,EAAAz6E,EAAA,KACA06E,EAAA16E,EAAA,KACA26E,EAAA,SAAA/wE,GAEA,SAAA+wE,IACA,OAAA,OAAA/wE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA4wE,EAAA/wE,GAIA+wE,EALA,CAMAlD,EAAAjE,UACAtzE,EAAAy6E,YAAAA,EACA,IAAAL,EAAA,SAAA1wE,GAEA,SAAA0wE,EAAAzsE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAUA,OAZA6G,EAAAY,UAAAuwE,EAAA1wE,GAIA0wE,EAAAj+D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAAquE,EACAr4E,KAAAob,SAAA,CACAylD,OAAA,WAAA,OAAA,IAAAuX,EAAAE,WACAj0B,UAAA,WAAA,OAAA,IAAA8zB,EAAAI,qBAGAP,EAbA,CAcAH,EAAAX,gBACAt5E,EAAAo6E,QAAAA,EACAA,EAAAj+D,aC9BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAy3E,EAAAz3E,EAAA,IACAy5E,EAAAz5E,EAAA,IACA86E,EAAA96E,EAAA,KACA+6E,EAAA/6E,EAAA,KACAg7E,EAAA,SAAApxE,GAEA,SAAAoxE,IACA,OAAA,OAAApxE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAixE,EAAApxE,GAIAoxE,EALA,CAMAvD,EAAAjE,UACAtzE,EAAA86E,iBAAAA,EACA,IAAAR,EAAA,SAAA5wE,GAEA,SAAA4wE,EAAA3sE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAUA,OAZA6G,EAAAY,UAAAywE,EAAA5wE,GAIA4wE,EAAAn+D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAY,UAAAoJ,aAAA0uE,EACA14E,KAAAob,SAAA,CACAylD,OAAA,WAAA,OAAA,IAAA4X,EAAAE,eAAA,CAAAzkC,UAAA,SACAmQ,UAAA,WAAA,OAAA,IAAAm0B,EAAAI,sBAAA,CAAA1kC,UAAA,YAGAgkC,EAbA,CAcAf,EAAAQ,YACA/5E,EAAAs6E,aAAAA,EACAA,EAAAn+D,aC9BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAm7E,EAAA,SAAAvxE,GAEA,SAAAuxE,EAAAttE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAPA6G,EAAAY,UAAAoxE,EAAAvxE,GAIAuxE,EAAA9+D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YAEAs/D,EARA,CASAttB,EAAAI,OACA/tD,EAAAi7E,SAAAA,EACAA,EAAA9+D,aCdA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAo8B,EAAAp8B,EAAA,IACA2P,EAAA3P,EAAA,IACAI,EAAAJ,EAAA,IACA8a,EAAA9a,EAAA,IACAo7E,EAAA,SAAAxxE,GAEA,SAAAwxE,EAAAvtE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAsCA,OAxCA6G,EAAAY,UAAAqxE,EAAAxxE,GAIAwxE,EAAA/+D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAia,OAAA,CACA0gB,KAAA,CAAAttB,EAAA6M,IAAA,IACAxV,KAAA,CAAA2I,EAAAsmB,OAAA,IACA4lB,WAAA,CAAAlsC,EAAA8lB,SAAA,MAGAn0B,OAAAiU,eAAA6lE,EAAAl4E,UAAA,QAAA,CACAsS,IAAA,WACA,OAAApV,EAAAmB,KAAAe,KAAA26B,OAEAtnB,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA6lE,EAAAl4E,UAAA,SAAA,CACAsS,IAAA,WACA,OAAApV,EAAAqV,OAAAnT,KAAA26B,OAEAtnB,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA6lE,EAAAl4E,UAAA,OAAA,CACAsS,IAAA,WACA,IAAAxO,EAAA1E,KAAAu5C,WAAA/gC,EAAA+gC,WAAAv5C,KAAA0E,MAAA1E,KAAA0E,KACA,OAAA,IAAAq0E,SAAAhnD,KAAAxqB,MAAAwxE,SAAA,MAAA,GAAAppE,OAAA3P,KAAAmb,MAAA,CAAA,SAAA,UAAA,UAAA,UAAAzW,OAEA2O,YAAA,EACAC,cAAA,IAEAwlE,EAAAl4E,UAAAm4D,QAAA,SAAAigB,EAAAC,GAIA,YAHA,IAAAA,IACAA,EAAA,IAEAj5E,KAAAqpC,KAAA9hC,MAAAyxE,EAAAh5E,KAAAmT,OAAAxD,OAAAqpE,EAAAC,EAAAv7E,EAAA,MAEAo7E,EAzCA,CA0CAh/C,EAAA++C,UACAj7E,EAAAk7E,SAAAA,EACAA,EAAA/+D,aClDA,SAAArc,EAAAC,EAAAC,GACA,IAAAs7E,EAAAx7E,EAAA,IACAE,EAAAk7E,SAAAI,EAAAJ,SACA,IAAAK,EAAAz7E,EAAA,IACAE,EAAAw7E,QAAAD,EAAAC,SCJA,SAAA17E,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAo8B,EAAAp8B,EAAA,IACA27E,EAAA37E,EAAA,IACA2P,EAAA3P,EAAA,IACA07E,EAAA,SAAA9xE,GAEA,SAAA8xE,EAAA7tE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA8BA,OAhCA6G,EAAAY,UAAA2xE,EAAA9xE,GAIA8xE,EAAAr/D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAia,OAAA,CACAta,IAAA,CAAA0N,EAAAsmB,OAAA,WACA2lD,SAAA,CAAAjsE,EAAA8lB,SAAA,MAGAimD,EAAAx4E,UAAAm4D,QAAA,SAAAwgB,EAAA7uE,GAWA,IAVA,IAAA5J,EAAAd,KACA0f,EAAAhV,EAAAgV,OACA85D,EAAA,SAAAvpE,GACA,IAAAtQ,EAAA05E,EAAAn1B,qBAAApjD,EAAAnB,IAAA+f,EAAAzP,GACAnP,EAAAw4E,SACAtnE,OAAA0lD,SAAAC,KAAAh4D,EAEAqS,OAAAynE,KAAA95E,IAEAomB,EAAArG,EAAAqG,SACA3b,EAAA,EAAAa,EAAA8a,EAAA3D,QAAAhY,EAAAa,EAAA/J,OAAAkJ,IAAA,CACA,IAAA6F,EAAAhF,EAAAb,GACAovE,EAAAvpE,GAEA,IAAA,IAAApD,EAAA,EAAAE,EAAAgZ,EAAA2zD,aAAA7sE,EAAAE,EAAA7L,OAAA2L,IAAA,CACA,IAAAoD,EAAAlD,EAAAF,GACA2sE,EAAAvpE,KAIAmpE,EAjCA,CAkCAt/C,EAAA++C,UACAj7E,EAAAw7E,QAAAA,EACAA,EAAAr/D,aCzCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAo6B,EAAAp6B,EAAA,GACAi8E,EAAAj8E,EAAA,GACAwB,EAAAxB,EAAA,IACA2P,EAAA3P,EAAA,IACA6sB,EAAA7sB,EAAA,GACAimB,EAAAjmB,EAAA,IACA2+B,EAAA3+B,EAAA,IACAk8E,EAAAl8E,EAAA,IAGA2+B,EAAA+S,OAAA,oBAAAyqC,mBACAA,iBAAAj5E,UAAAia,IAAA,SAAA26B,GACA,IAAA,IAAAvlC,EAAA,EAAAA,EAAAjQ,KAAAkB,OAAA+O,IACAjQ,KAAAiQ,GAAAulC,EAAAvlC,KAIA,IAAA6pE,EAAAp8E,EAAA,KACAq8E,EAAA,SAAAzyE,GAEA,SAAAyyE,IACA,OAAA,OAAAzyE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA4DA,OA9DA6G,EAAAY,UAAAsyE,EAAAzyE,GAIAtI,OAAAiU,eAAA8mE,EAAAn5E,UAAA,MAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAi9D,MAEA5pD,YAAA,EACAC,cAAA,IAEAymE,EAAAn5E,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAg6E,OAAAh6E,KAAA5B,MAAA+L,IAAAnK,KAAAmN,GAAAR,YAAA4d,EAAA3a,IAAA,CAAAuF,MAAA,mBAAA,KACA,IAAA/I,EAAA,CACAyG,SAAA,WACA7E,IAAA,IACAI,KAAA,IACAiB,MAAA,OACAG,OAAA,QAEA,OAAAxP,KAAA5B,MAAA67E,gBACA,IAAA,SACA,IAAA,QACAj6E,KAAAk6E,UAAAl6E,KAAAmN,GAAAR,YAAA4d,EAAAza,OAAA,CAAAqF,MAAA,YAAA/I,MAAAA,KACA,IAAAqjB,EAAAzvB,KAAAk6E,UAAAzxB,WAAA,MACA,GAAA,MAAAh5B,EACA,MAAA,IAAApxB,MAAA,yCACA2B,KAAAi9D,KAAAxtC,EACA,MAEA,IAAA,MACA,IAAAA,EAAA,IAAAqqD,EACA95E,KAAAi9D,KAAAxtC,EACAzvB,KAAAk6E,UAAAl6E,KAAAmN,GAAAR,YAAA8iB,EAAA0qD,UAIAn6E,KAAAo6E,YAAAp6E,KAAAmN,GAAAR,YAAA4d,EAAA3a,IAAA,CAAAuF,MAAA,qBAAA/I,MAAAA,KACApM,KAAAq6E,UAAAr6E,KAAAmN,GAAAR,YAAA4d,EAAA3a,IAAA,CAAAuF,MAAA,mBAAA/I,MAAAA,KACAwtE,EAAArvC,UAAAvqC,KAAAi9D,MACA/9D,EAAAwB,OAAAC,MAAA,2BAEAo5E,EAAAn5E,UAAA05E,mBAAA,WACA,OAAAt6E,KAAAk6E,WAEAH,EAAAn5E,UAAA25E,eAAA,SAAAlrE,EAAAG,GAEAxP,KAAA+kB,KAAA,IAAApB,EAAAY,KAAA,CAAAnW,KAAA,EAAAJ,IAAA,EAAAqB,MAAAA,EAAAG,OAAAA,IACAxP,KAAAmN,GAAAf,MAAAiD,MAAAA,EAAA,KACArP,KAAAmN,GAAAf,MAAAoD,OAAAA,EAAA,KACA,IAAAgrE,EAAAZ,EAAA9sC,gBAAA9sC,KAAAyvB,IAAAzvB,KAAA5B,MAAAq8E,UAAAz6E,KAAA5B,MAAA67E,gBACAj6E,KAAA5B,MAAAo8E,YAAAA,EACAx6E,KAAAk6E,UAAA9tE,MAAAiD,MAAAA,EAAA,KACArP,KAAAk6E,UAAA9tE,MAAAoD,OAAAA,EAAA,KAIAxP,KAAAk6E,UAAA3tE,aAAA,QAAA,GAAA8C,EAAAmrE,GACAx6E,KAAAk6E,UAAA3tE,aAAA,SAAA,GAAAiD,EAAAgrE,GACAt7E,EAAAwB,OAAAC,MAAA,oCAAA0O,EAAA,aAAAG,EAAA,kBAAAgrE,IAEAT,EA/DA,CAgEAJ,EAAAplE,SACA3W,EAAAm8E,WAAAA,EACA,IAAAW,EAAA,SAAApzE,GAEA,SAAAozE,EAAAnvE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAYA,OAdA6G,EAAAY,UAAAizE,EAAApzE,GAIAozE,EAAA3gE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,SACAvZ,KAAAY,UAAAoJ,aAAA+vE,EACA/5E,KAAA8a,SAAA,CACA3Q,IAAA,CAAAkD,EAAA8lB,SAAA,GACAsnD,UAAA,CAAAptE,EAAA8lB,SAAA,GACAqnD,YAAA,CAAAntE,EAAAkmB,OAAA,GACA0mD,eAAA,CAAA5sE,EAAAwJ,cAAA,aAGA6jE,EAfA,CAgBA5iD,EAAApf,UACA9a,EAAA88E,OAAAA,EACAA,EAAA3gE,aCxGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAi9E,EAAAj9E,EAAA,KACA6iE,EAAA7iE,EAAA,KACA8iE,EAAA9iE,EAAA,KACA+iE,EAAA/iE,EAAA,KACAk9E,EAAAl9E,EAAA,KACAuzE,EAAAvzE,EAAA,KACAm9E,EAAAn9E,EAAA,IACAo9E,EAAA,SAAAxzE,GAEA,SAAAwzE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,QACA,IAAAD,IACAA,EAAA,SAEA,IAAAC,IACAA,EAAA,IAEA,IAAAt6E,EAAAwG,EAAAO,KAAA7H,OAAAA,KAQA,OAPAc,EAAAi6E,QAAAA,EACAj6E,EAAAk6E,QAAAA,EACAl6E,EAAAm6E,QAAAA,EACAn6E,EAAAo6E,QAAAA,EACAp6E,EAAAq6E,eAAAA,EACAr6E,EAAAs6E,eAAAA,EACAt6E,EAAAu6E,oBACAv6E,EAoGA,OApHA+F,EAAAY,UAAAqzE,EAAAxzE,GAkBAwzE,EAAAl6E,UAAAsxE,cAAA,SAAAzpE,EAAAC,EAAA4yE,EAAAC,QACA,IAAAD,IACAA,EAAA,gBAEA,IAAAC,IACAA,EAAA,WAEA,IAAAhzE,EAAAvI,KAAAuiC,QAAA+4C,GAAAhnD,UAAA7rB,GACAD,EAAAxI,KAAA0iC,QAAA64C,GAAAjnD,UAAA5rB,GACA,MAAA,CAAAH,EAAAC,IAEAsyE,EAAAl6E,UAAA46E,YAAA,SAAA52C,EAAA62C,GACA,IAAA/Y,EAAA,GAEA,GADAA,EAAAlgC,QAAAoC,EACA,MAAA62C,EACA,IAAA,IAAA98E,KAAA88E,EACA/Y,EAAA/jE,GAAA88E,EAAA98E,GAEA,OAAA+jE,GAEAoY,EAAAl6E,UAAA86E,YAAA,SAAA3yE,EAAA25D,EAAAiZ,GACA,IAAAl1B,EAAA,GACA,IAAA,IAAA/rC,KAAAgoD,EAAA,CACA,IAAA99B,EAAA89B,EAAAhoD,GACA,GAAAkqB,aAAAg2C,EAAAgB,aAAAh3C,aAAA67B,EAAAyF,QAAA,CACA,KAAAn9D,aAAAy3D,EAAA6F,UAAAt9D,aAAAw3D,EAAA6F,aACA,MAAA,IAAA/nE,MAAA,SAAAumC,EAAArrB,KAAA,6BAAAxQ,EAAAwQ,MAEA,GAAAxQ,aAAA4xE,EAAAkB,iBACA,MAAA,IAAAx9E,MAAA,SAAAumC,EAAArrB,KAAA,6BAAAxQ,EAAAwQ,MAEA,GAAAqrB,aAAAqsC,EAAAyD,eACA3rE,aAAA4xE,EAAAkB,kBACA,MAAA,IAAAx9E,MAAA,SAAAumC,EAAArrB,KAAA,6BAAAxQ,EAAAwQ,MAEAxQ,aAAAy3D,EAAA6F,UAAAzhC,aAAAg2C,EAAAgB,cACAh3C,EAAAk3C,WAAA,OACA,IAAAjjC,EAAA9vC,EAAA9K,QACA46C,EAAAp/B,KAAA,CAAAwsD,aAAArhC,EAAAuhC,aAAAwV,IACAl1B,EAAA/rC,GAAAm+B,EAEA,OAAA4N,GAEAq0B,EAAAl6E,UAAAm7E,wBAAA,WAEA/7E,KAAAg8E,UAAA,IAAAvb,EAAAyF,QAAA,CAAAn8C,MAAA/pB,KAAAsrB,MAAAzf,MAAAme,IAAAhqB,KAAAyrB,OAAA5f,QACA7L,KAAAi8E,UAAA,IAAAxb,EAAAyF,QAAA,CAAAn8C,MAAA/pB,KAAA0rB,QAAA7f,MAAAme,IAAAhqB,KAAAqrB,KAAAxf,SAEAivE,EAAAl6E,UAAAy6E,kBAAA,WACAr7E,KAAA+7E,0BACA/7E,KAAAk8E,UAAAl8E,KAAAw7E,YAAAx7E,KAAAi7E,QAAAj7E,KAAAm7E,gBACAn7E,KAAAm8E,UAAAn8E,KAAAw7E,YAAAx7E,KAAAk7E,QAAAl7E,KAAAo7E,gBACAp7E,KAAAo8E,SAAAp8E,KAAA07E,YAAA17E,KAAA+6E,QAAA/6E,KAAAk8E,UAAAl8E,KAAAg8E,WACAh8E,KAAAq8E,SAAAr8E,KAAA07E,YAAA17E,KAAAg7E,QAAAh7E,KAAAm8E,UAAAn8E,KAAAi8E,YAEAnB,EAAAl6E,UAAA07E,eAAA,WAEA,IAAA,IAAArhE,KADAjb,KAAA+7E,0BACA/7E,KAAAo8E,SAAA,CACA,IAAArzE,EAAA/I,KAAAo8E,SAAAnhE,GACAlS,EAAAo9D,aAAAnmE,KAAAg8E,UAEA,IAAA,IAAA3gE,KAAArb,KAAAq8E,SAAA,CACA,IAAAtzE,EAAA/I,KAAAq8E,SAAAhhE,GACAtS,EAAAo9D,aAAAnmE,KAAAi8E,YAGAnB,EAAAl6E,UAAAujB,cAAA,SAAAC,EAAAC,GACA/c,EAAA1G,UAAAujB,cAAAtc,KAAA7H,KAAAokB,EAAAC,GACArkB,KAAAs8E,kBAEAt9E,OAAAiU,eAAA6nE,EAAAl6E,UAAA,WAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAk8E,WAEA7oE,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA6nE,EAAAl6E,UAAA,WAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAm8E,WAEA9oE,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA6nE,EAAAl6E,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAo8E,UAEA/oE,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA6nE,EAAAl6E,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAq8E,UAEAhpE,YAAA,EACAC,cAAA,IAEAwnE,EArHA,CAsHAD,EAAA/vD,YACAltB,EAAAk9E,eAAAA,GChIA,SAAAp9E,EAAAC,EAAAC,GACA,IAAAg8E,EAAAl8E,EAAA,IACAE,EAAA88E,OAAAd,EAAAc,OACA,IAAA6B,EAAA7+E,EAAA,IACAE,EAAAk9E,eAAAyB,EAAAzB,gBCJA,SAAAp9E,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA8+E,EAAA9+E,EAAA,IACA2P,EAAA3P,EAAA,IACA++E,EAAA,SAAAn1E,GAEA,SAAAm1E,EAAAlxE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAmBA,OArBA6G,EAAAY,UAAAg1E,EAAAn1E,GAIAm1E,EAAA1iE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,SACAvZ,KAAAia,OAAA,CACA8F,MAAA,CAAA1S,EAAAsmB,QACA+oD,aAAA,CAAArvE,EAAA8lB,SAAA,MAGAspD,EAAA77E,UAAA+7E,WAAA,SAAAj9D,GACA,IAAA3B,EAAA,IAAAmV,aAAAxT,EAAA8U,cAAA,GACArO,EAAAzG,EAAAtb,KAAApE,KAAA+f,OACAhO,EAAA/R,KAAA08E,aAAA,EAAA,EACA3+D,EAAA,GAAA/d,KAAA08E,aAAA,EAAAv2D,EAAA,GACA,IAAA,IAAAlW,EAAA,EAAAA,EAAA8N,EAAA7c,OAAA+O,IACA8N,EAAA9N,GAAA8N,EAAA9N,EAAA,GAAAkW,EAAAlW,EAAA8B,GAEA,OAAAgM,GAEA0+D,EAtBA,CAuBAD,EAAAI,YACAh/E,EAAA6+E,OAAAA,EACAA,EAAA1iE,aC7BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAk/E,EAAA,SAAAt1E,GAEA,SAAAs1E,EAAArxE,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAA+7E,WAAA,GACA/7E,EAAAg8E,QAAA,GACAh8E,EAuBA,OA5BA+F,EAAAY,UAAAm1E,EAAAt1E,GAOAs1E,EAAA7iE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cAEAqjE,EAAAh8E,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA68E,WAAA,GACA78E,KAAA88E,QAAA,IAEAF,EAAAh8E,UAAA0zB,UAAA,SAAA5U,GACA,IAAA5e,EAAAd,KACA,MAAAA,KAAA68E,WAAAn9D,EAAA9f,MACAI,KAAAa,QAAA6e,EAAA3G,OAAA,WAAA,cAAAjY,EAAAg8E,QAAAp9D,EAAA9f,MACAI,KAAAa,QAAA6e,EAAAk7C,SAAA,WAAA,cAAA95D,EAAAg8E,QAAAp9D,EAAA9f,MACAI,KAAAa,QAAA6e,EAAAi7C,UAAA,WAAA,cAAA75D,EAAAg8E,QAAAp9D,EAAA9f,MACAI,KAAA68E,WAAAn9D,EAAA9f,KAAA,GAEA,IAAAme,EAAA/d,KAAA88E,QAAAp9D,EAAA9f,IAGA,OAFA,MAAAme,IACA/d,KAAA88E,QAAAp9D,EAAA9f,IAAAme,EAAA/d,KAAA28E,WAAAj9D,IACA3B,GAEA6+D,EA7BA,CA8BArxB,EAAAI,OACA/tD,EAAAg/E,WAAAA,EACAA,EAAA7iE,aCnCA,SAAArc,EAAAC,EAAAC,GACA,IAAA4+E,EAAA9+E,EAAA,IACAE,EAAAg/E,WAAAJ,EAAAI,WACA,IAAAG,EAAAr/E,EAAA,KACAE,EAAAgmB,MAAAm5D,EAAAn5D,MACA,IAAAo5D,EAAAt/E,EAAA,IACAE,EAAA6+E,OAAAO,EAAAP,QCNA,SAAA/+E,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA8+E,EAAA9+E,EAAA,IACA2P,EAAA3P,EAAA,IACAkmB,EAAA,SAAAtc,GAEA,SAAAsc,EAAArY,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAmBA,OArBA6G,EAAAY,UAAAmc,EAAAtc,GAIAsc,EAAA7J,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAia,OAAA,CACAgjE,OAAA,CAAA5vE,EAAAoC,MAAA,OAGAmU,EAAAhjB,UAAA+7E,WAAA,SAAAj9D,GAEA,IADA,IAAA3B,EAAA,IAAAmV,aAAAxT,EAAA8U,cAAA,GACApqB,EAAA,EAAAM,EAAA1K,KAAAi9E,OAAA7yE,EAAAM,EAAAxJ,OAAAkJ,IAEA,IADA,IAAAmD,EAAA7C,EAAAN,GACA6F,EAAA,EAAAA,EAAAyP,EAAAtb,KAAAmJ,GAAArM,OAAA+O,IAAA,CACA,IAAAxH,EAAAiX,EAAAtb,KAAAmJ,GAAA0C,GACA8N,EAAA9N,IAAAxH,EAGA,OAAAsV,GAEA6F,EAtBA,CAuBA44D,EAAAI,YACAh/E,EAAAgmB,MAAAA,EACAA,EAAA7J,aC7BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAw/E,EAAAx/E,EAAA,KACA2P,EAAA3P,EAAA,IACAwB,EAAAxB,EAAA,IACAkM,EAAAlM,EAAA,IACA0N,EAAA1N,EAAA,IACAy/E,EAAA,SAAA71E,GAEA,SAAA61E,EAAA5xE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA8BA,OAhCA6G,EAAAY,UAAA01E,EAAA71E,GAIA61E,EAAApjE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAia,OAAA,CACAmjE,SAAA,CAAA/vE,EAAAoC,MAAA,SAGA0tE,EAAAv8E,UAAAy8E,gBAAA,SAAA39D,GACA,IAAA09D,EAAAp9E,KAAAo9E,SACA,OAAA,MAAAA,GAAAA,EAAAl8E,OAAA,EACA0I,EAAAw6B,MAAAg5C,EAAAhyE,EAAAU,YACAsxE,EAAAl8E,SAAAwe,EAAA8U,cACAt1B,EAAAwB,OAAA5B,KAAA,iBAAAkB,KAAAJ,GAAA,kDAEAgK,EAAAg7B,MAAA,EAAAw4C,EAAAl8E,QAAAuJ,OAAA,SAAAwF,GAAA,OAAA,IAAAmtE,EAAAntE,OAGA/Q,EAAAwB,OAAA5B,KAAA,iBAAAkB,KAAAJ,GAAA,sEACA,OAIA,MAAAw9E,GAAA,GAAAA,EAAAl8E,OACAhC,EAAAwB,OAAA5B,KAAA,iBAAAkB,KAAAJ,GAAA,mDAEAV,EAAAwB,OAAA5B,KAAA,iBAAAkB,KAAAJ,GAAA,sDACA,OAGAu9E,EAjCA,CAkCAD,EAAAI,QACA1/E,EAAAu/E,cAAAA,EACAA,EAAApjE,aC3CA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAw/E,EAAAx/E,EAAA,KACA2P,EAAA3P,EAAA,IACAI,EAAAJ,EAAA,IACA8a,EAAA9a,EAAA,IACA6/E,EAAA,SAAAj2E,GAEA,SAAAi2E,EAAAhyE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAoCA,OAtCA6G,EAAAY,UAAA81E,EAAAj2E,GAIAi2E,EAAAxjE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBACAvZ,KAAAia,OAAA,CACA0gB,KAAA,CAAAttB,EAAA6M,IAAA,IACAxV,KAAA,CAAA2I,EAAAsmB,OAAA,IACA4lB,WAAA,CAAAlsC,EAAA8lB,SAAA,MAGAn0B,OAAAiU,eAAAsqE,EAAA38E,UAAA,QAAA,CACAsS,IAAA,WACA,OAAApV,EAAAmB,KAAAe,KAAA26B,OAEAtnB,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsqE,EAAA38E,UAAA,SAAA,CACAsS,IAAA,WACA,OAAApV,EAAAqV,OAAAnT,KAAA26B,OAEAtnB,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAsqE,EAAA38E,UAAA,OAAA,CACAsS,IAAA,WACA,IAAAxO,EAAA1E,KAAAu5C,WAAA/gC,EAAA+gC,WAAAv5C,KAAA0E,MAAA1E,KAAA0E,KACA,OAAA,IAAAq0E,SAAAhnD,KAAAxqB,MAAAwxE,SAAA,MAAA,GAAAppE,OAAA3P,KAAAmb,MAAA,CAAA,SAAA,UAAA,UAAAzW,OAEA2O,YAAA,EACAC,cAAA,IAEAiqE,EAAA38E,UAAAy8E,gBAAA,SAAA39D,GAEA,OADA1f,KAAAyK,OAAAzK,KAAAqpC,KAAA9hC,MAAAvH,KAAAA,KAAAmT,OAAAxD,OAAA,CAAA+P,EAAAhiB,EAAA,MACA4J,EAAA1G,UAAAy8E,gBAAAx1E,KAAA7H,KAAA0f,IAEA69D,EAvCA,CAwCAL,EAAAI,QACA1/E,EAAA2/E,eAAAA,EACAA,EAAAxjE,aChDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACAkM,EAAAlM,EAAA,IACAwB,EAAAxB,EAAA,IACA4/E,EAAA,SAAAh2E,GAEA,SAAAg2E,EAAA/xE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAyBA,OA3BA6G,EAAAY,UAAA61E,EAAAh2E,GAIAg2E,EAAAvjE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,SACAvZ,KAAAia,OAAA,CACAxP,OAAA,CAAA4C,EAAAoC,MAAA,SAGA6tE,EAAA18E,UAAAy8E,gBAAA,SAAAG,GACA,IAAA/yE,EAAAzK,KAAAyK,OACA,OAAA,MAAAA,GAAAA,EAAAvJ,QAAA,EACAkK,EAAAw6C,UAAAn7C,EAAAW,EAAAU,WACAlC,EAAAg7B,MAAA,EAAAn6B,EAAAvJ,QAAAuJ,OAAA,SAAAwF,GAAA,OAAA,IAAAxF,EAAAwF,KAEA7E,EAAAw6C,UAAAn7C,EAAAW,EAAAq6C,WACAh7C,GAEAvL,EAAAwB,OAAA5B,KAAA,UAAAkB,KAAAJ,GAAA,iGACA,OAGAV,EAAAwB,OAAA5B,KAAA,UAAAkB,KAAAJ,GAAA,mEACA,OAGA09E,EA5BA,CA6BA/xB,EAAAI,OACA/tD,EAAA0/E,OAAAA,EACAA,EAAAvjE,aCtCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAw/E,EAAAx/E,EAAA,KACA2P,EAAA3P,EAAA,IACAwB,EAAAxB,EAAA,IACAkM,EAAAlM,EAAA,IACA+/E,EAAA,SAAAn2E,GAEA,SAAAm2E,EAAAlyE,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAEA,OADAc,EAAAshB,QAAA,KACAthB,EAwBA,OA5BA+F,EAAAY,UAAAg2E,EAAAn2E,GAMAm2E,EAAA1jE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAia,OAAA,CACAyjE,YAAA,CAAArwE,EAAAsmB,QACAgqD,MAAA,CAAAtwE,EAAAsmB,WAGA8pD,EAAA78E,UAAAy8E,gBAAA,SAAA39D,GACA,IAAA5e,EAAAd,KACA4jD,EAAAlkC,EAAA2U,WAAAr0B,KAAA09E,aACA,OAAA,MAAA95B,GACA1kD,EAAAwB,OAAA5B,KAAA,yDACA,OAGAkB,KAAAoiB,QAAAxY,EAAAg7B,MAAA,EAAAllB,EAAA8U,cAAA,GAAA/pB,OAAA,SAAAwF,GAAA,OAAA2zC,EAAA3zC,KAAAnP,EAAA68E,QACA,IAAA39E,KAAAoiB,QAAAlhB,QACAhC,EAAAwB,OAAA5B,KAAA,wBAAAkB,KAAA29E,MAAA,yCAAA39E,KAAA09E,YAAA,KAEA19E,KAAAoiB,UAGAq7D,EA7BA,CA8BAP,EAAAI,QACA1/E,EAAA6/E,YAAAA,EACAA,EAAA1jE,aCtCA,SAAArc,EAAAC,EAAAC,GACA,IAAAggF,EAAAlgF,EAAA,KACAE,EAAAu/E,cAAAS,EAAAT,cACA,IAAAU,EAAAngF,EAAA,KACAE,EAAA2/E,eAAAM,EAAAN,eACA,IAAAL,EAAAx/E,EAAA,KACAE,EAAA0/E,OAAAJ,EAAAI,OACA,IAAAQ,EAAApgF,EAAA,KACAE,EAAA6/E,YAAAK,EAAAL,YACA,IAAAM,EAAArgF,EAAA,KACAE,EAAAogF,YAAAD,EAAAC,aCVA,SAAAtgF,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAw/E,EAAAx/E,EAAA,KACA2P,EAAA3P,EAAA,IACAwB,EAAAxB,EAAA,IACA0N,EAAA1N,EAAA,IACAkM,EAAAlM,EAAA,IACAsgF,EAAA,SAAA12E,GAEA,SAAA02E,EAAAzyE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAsBA,OAxBA6G,EAAAY,UAAAu2E,EAAA12E,GAIA02E,EAAAjkE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAia,OAAA,CACAmI,QAAA,CAAA/U,EAAAoC,MAAA,SAGAuuE,EAAAp9E,UAAAy8E,gBAAA,SAAAG,GACA,OAAA,MAAAx9E,KAAAoiB,SAAApiB,KAAAoiB,QAAAlhB,QAAA,EACA0I,EAAAw6B,MAAApkC,KAAAoiB,QAAAhX,EAAAq6C,WACAzlD,KAAAoiB,SAEAljB,EAAAwB,OAAA5B,KAAA,eAAAkB,KAAAJ,GAAA,qEACA,OAIAV,EAAAwB,OAAA5B,KAAA,eAAAkB,KAAAJ,GAAA,qDACA,OAGAo+E,EAzBA,CA0BAd,EAAAI,QACA1/E,EAAAogF,YAAAA,EACAA,EAAAjkE,aCnCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAugF,EAAAvgF,EAAA,KACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACA4pE,EAAA,SAAAhgE,GAEA,SAAAggE,EAAA/7D,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAEA,OADAc,EAAAo9E,eAAA,EACAp9E,EA+FA,OAnGA+F,EAAAY,UAAA6/D,EAAAhgE,GAMAggE,EAAAvtD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,qBACAvZ,KAAAia,OAAA,CACAkkE,UAAA,CAAA9wE,EAAA6M,IAAA,QACAkkE,eAAA,CAAA/wE,EAAA8lB,SAAA,GACAkrD,iBAAA,CAAAhxE,EAAAkmB,OAAA,GACA+qD,gBAAA,CAAAjxE,EAAAkmB,QAAA,MAGAv0B,OAAAiU,eAAAq0D,EAAA1mE,UAAA,uBAAA,CACAsS,IAAA,WACA,OAAA5D,KAAAqS,IAAA,GAAA3hB,KAAAs+E,kBAEAjrE,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAq0D,EAAA1mE,UAAA,wBAAA,CACAsS,IAAA,WACA,OAAA5D,KAAAqS,IAAA,GAAA3hB,KAAAq+E,mBAEAhrE,YAAA,EACAC,cAAA,IAEAg0D,EAAA1mE,UAAA6lE,SAAA,SAAAE,EAAA4X,GACA,GAAA,GAAA5X,EAAAzlE,OACA,MAAA,GACA,IAAAs9E,EAAA,EACA7X,EAAAzlE,QAAA,IACAs9E,EAAAlvE,KAAAsd,IAAA+5C,EAAA,GAAAA,EAAA,IAAA,KACA,IAAA8X,GAAA,EACA,GAAAz+E,KAAAo+E,eACA,IAAA,IAAAh0E,EAAA,EAAAs0E,EAAA/X,EAAAv8D,EAAAs0E,EAAAx9E,OAAAkJ,IAAA,CACA,IAAA+mE,EAAAuN,EAAAt0E,GACAu0E,EAAArvE,KAAAsd,IAAAukD,GACA,GAAAwN,EAAAH,IAAAG,GAAA3+E,KAAA4+E,uBAAAD,GAAA3+E,KAAA6+E,sBAAA,CACAJ,GAAA,EACA,OAIA,IAAArZ,EAAA,IAAA31D,MAAAk3D,EAAAzlE,QACAi9E,EAAAn+E,KAAAm+E,UACA,GAAA,MAAAA,GAAA/yE,EAAAqc,SAAA02D,GACA,GAAAM,EACA,IAAA,IAAAxuE,EAAA,EAAA+Z,EAAA28C,EAAAzlE,OAAA+O,EAAA+Z,EAAA/Z,IACAm1D,EAAAn1D,GAAA02D,EAAA12D,GAAA6uE,cAAAX,QAAAvlE,QAIA,IAAA,IAAA3I,EAAA,EAAA+Z,EAAA28C,EAAAzlE,OAAA+O,EAAA+Z,EAAA/Z,IACAm1D,EAAAn1D,GAAA02D,EAAA12D,GAAA8uE,QAAAZ,QAAAvlE,GAAAq1B,QAAA,iBAAA,MAAAA,QAAA,MAAA,SAKA,IAAA,IAAAxlC,EAAAzI,KAAAk+E,eAAAc,EAAAh/E,KAAAk+E,gBAAA,GAAAc,EAAAv2E,GAAA,GAAAA,GAAA,GAAAu2E,EAAAv2E,IAAAA,IAAA,CACA,IAAAw2E,GAAA,EACA,GAAAR,EAAA,CACA,IAAA,IAAAxuE,EAAA,EAAA+Z,EAAA28C,EAAAzlE,OAAA+O,EAAA+Z,EAAA/Z,IAEA,GADAm1D,EAAAn1D,GAAA02D,EAAA12D,GAAA6uE,cAAAr2E,GACAwH,EAAA,GACAm1D,EAAAn1D,KAAAm1D,EAAAn1D,EAAA,GAAA,CACAgvE,GAAA,EACA,MAIA,GAAAA,EACA,UAGA,CACA,IAAA,IAAAhvE,EAAA,EAAA+Z,EAAA28C,EAAAzlE,OAAA+O,EAAA+Z,EAAA/Z,IAEA,GADAm1D,EAAAn1D,GAAA02D,EAAA12D,GAAA8uE,QAAAt2E,GAAAwlC,QAAA,iBAAA,MAAAA,QAAA,MAAA,IACAh+B,EAAA,GACAm1D,EAAAn1D,IAAAm1D,EAAAn1D,EAAA,GAAA,CACAgvE,GAAA,EACA,MAIA,GAAAA,EACA,MAGA,GAAAA,EAAA,CACAj/E,KAAAk+E,eAAAz1E,EACA,OAIA,OAAA28D,GAEAkC,EApGA,CAqGA2W,EAAAiB,eACAthF,EAAA0pE,mBAAAA,EACAA,EAAAvtD,aC5GA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAugF,EAAAvgF,EAAA,KACAkM,EAAAlM,EAAA,IACAg5E,EAAA,SAAApvE,GAEA,SAAAovE,EAAAnrE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAAivE,EAAApvE,GAIAovE,EAAA38D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,4BAEAm9D,EAAA91E,UAAA6lE,SAAA,SAAAE,EAAA4X,GACA,OAAA30E,EAAA2Q,KAAAosD,IAEA+P,EAXA,CAYAuH,EAAAiB,eACAthF,EAAA84E,yBAAAA,EACAA,EAAA38D,aClBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmlD,EAAAnlD,EAAA,KACAugF,EAAAvgF,EAAA,KACAwB,EAAAxB,EAAA,IACA2P,EAAA3P,EAAA,IACA27E,EAAA37E,EAAA,IACAkM,EAAAlM,EAAA,IACA0N,EAAA1N,EAAA,IASA,SAAAyhF,EAAAx+D,GACA,OAAAkiC,EAAAliC,EAAA,qBAAA3U,MAAA,OAAA7B,IAAA,SAAA9F,GAAA,OAAA6qC,SAAA7qC,EAAA,MAEA,SAAA+6E,EAAAz+D,EAAAoiC,GACA,GAAA33C,EAAAiP,WAAA0oC,GACA,OAAAA,EAAApiC,GAOA,IAAA0+D,EAAAhG,EAAAv2B,QAAA,SApBA,SAAAniC,GAMA,OAAArR,KAAA2V,MAAAtE,EAAA,IAAA,EAAA,KAcA2+D,CAAA3+D,IAEA,OAAA,IADAoiC,EAAAA,EAAA9U,QAAA,oBAAAoxC,IACA16C,QAAA,KAKAoe,EAEAF,EAAAliC,EAAAoiC,GAIA,IAAAw8B,EAAA,CACA,eAAA,eAAA,UAAA,SAAA,UAAA,UAAA,QAAA,OAAA,SAAA,SAEA7H,EAAA,SAAApwE,GAEA,SAAAowE,EAAAnsE,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OADAc,EAAA0+E,qBAAA,EACA1+E,EA2JA,OAhKA+F,EAAAY,UAAAiwE,EAAApwE,GAOAowE,EAAA39D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,wBACAvZ,KAAAia,OAAA,CACAwlE,aAAA,CAAApyE,EAAAoC,MAAA,CAAA,SACAtN,aAAA,CAAAkL,EAAAoC,MAAA,CAAA,QAAA,YACAiwE,QAAA,CAAAryE,EAAAoC,MAAA,CAAA,QACAkwE,OAAA,CAAAtyE,EAAAoC,MAAA,CAAA,WACAmwE,QAAA,CAAAvyE,EAAAoC,MAAA,CAAA,MAAA,QACAowE,QAAA,CAAAxyE,EAAAoC,MAAA,CAAA,UACAqwE,MAAA,CAAAzyE,EAAAoC,MAAA,CAAA,MAAA,UACAswE,KAAA,CAAA1yE,EAAAoC,MAAA,CAAA,QAAA,SACAuwE,OAAA,CAAA3yE,EAAAoC,MAAA,CAAA,QAAA,UACAwwE,MAAA,CAAA5yE,EAAAoC,MAAA,CAAA,UAGAioE,EAAA92E,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MAEAA,KAAAkgF,yBAEAxI,EAAA92E,UAAAs/E,sBAAA,WACA,IAAAl2C,GAAA6Y,EAAA,IAAA9Y,MACAo2C,EAAA,SAAAC,GACA,IAAAC,EAAAD,EAAAj2E,IAAA,SAAAm2E,GAAA,OAAAlB,EAAAp1C,EAAAs2C,GAAAp/E,SACAq/E,EAAA32E,EAAAyY,QAAAzY,EAAAy7B,IAAAg7C,EAAAD,GAAA,SAAA11E,GACA,IAAAwE,EAAAxE,EAAA,GACA,OAAAwE,IAEA,OAAAtF,EAAA47B,MAAA+6C,IAEAvgF,KAAAwgF,eAAA,CACAf,aAAAU,EAAAngF,KAAAy/E,cACAt9E,aAAAg+E,EAAAngF,KAAAmC,cACAu9E,QAAAS,EAAAngF,KAAA0/E,SACAC,OAAAQ,EAAAngF,KAAA2/E,QACAC,QAAAO,EAAAngF,KAAA4/E,SACAC,QAAAM,EAAAngF,KAAA6/E,SACAC,MAAAK,EAAAngF,KAAA8/E,OACAC,KAAAI,EAAAngF,KAAA+/E,MACAC,OAAAG,EAAAngF,KAAAggF,QACAC,MAAAE,EAAAngF,KAAAigF,SAMAvI,EAAA92E,UAAA6/E,oBAAA,SAAAC,EAAAC,GAMA,IAAAC,EAAA,IAAAF,EACA,QAAA,GACA,MAAAE,EAAA,MAAA,MAAA,eACA,MAAAA,EAAA,GAAA,MAAA,eACA,MAAAA,EAAA,IAAA,OAAAD,GAAA,GAAA,SAAA,UACA,MAAAC,EAAA,MAAA,OAAAD,GAAA,KAAA,UAAA,UACA,MAAAC,EAAA,OAAA,MAAA,QACA,MAAAA,EAAA,SAAA,MAAA,OACA,MAAAA,EAAA,SAAA,MAAA,SACA,QAAA,MAAA,UAGAlJ,EAAA92E,UAAA6lE,SAAA,SAAAE,EAAA4X,GAKA,GAAA,GAAA5X,EAAAzlE,OACA,MAAA,GAcA,IAbA,IAAA2O,EAAAP,KAAAsd,IAAA+5C,EAAAA,EAAAzlE,OAAA,GAAAylE,EAAA,IAAA,IACA9gD,EAAAhW,GAAA82D,EAAAzlE,OAAA,GACA2/E,EAAA7gF,KAAAygF,oBAAA56D,EAAAhW,GACAnF,EAAA1K,KAAAwgF,eAAAK,GAAA99B,EAAAr4C,EAAA,GAAA,GAEA06D,EAAA,GACA0b,EAAAvB,EAAA56C,QAAAk8C,GAMAE,EAAA,GACA32E,EAAA,EAAA42E,EAAAzB,EAAAn1E,EAAA42E,EAAA9/E,OAAAkJ,IAAA,CACA,IAAA62E,EAAAD,EAAA52E,GACA22E,EAAAE,GAAA,EAEAF,EAAArB,QAAA,EACAqB,EAAApB,OAAA,EACAoB,EAAAnB,QAAA,EACAmB,EAAAlB,QAAA,EACAkB,EAAAjB,MAAA,EAMA,IAAA,IAAA70E,EAAA,EAAAyzE,EAAA/X,EAAA17D,EAAAyzE,EAAAx9E,OAAA+J,IAAA,CACA,IAAA0V,EAAA+9D,EAAAzzE,GACA4tC,OAAA,EAAAqoC,OAAA,EACA,IACAA,EAAA/B,EAAAx+D,GACAk4B,EAAAumC,EAAAz+D,EAAAoiC,GAEA,MAAAhhD,GACA7C,EAAAwB,OAAA5B,KAAA,6CAAA6hB,GACAzhB,EAAAwB,OAAA5B,KAAA,MAAAiD,GACAqjE,EAAAp6D,KAAA,OACA,SAQA,IANA,IAAAm2E,GAAA,EACAC,EAAAN,EAKA,GAAAI,EAAAH,EAAAxB,EAAA6B,MAAA,CACA,IAAAC,OAAA,EAEA,IADAD,GAAA,IACA7B,EAAAr+E,OACA,MACA,IAAA,UAAA2/E,GAAA,WAAAA,KAAAM,EAAA,CACA,GAAA,UAAAN,GAAA,GAAAK,EAAA,IAAA,GAAAA,EAAA,IAAA,WAAAL,GAAA,GAAAK,EAAA,IAAA,GAAAA,EAAA,GAAA,CACAG,EAAArhF,KAAAwgF,eAAAjB,EAAAuB,EAAA,IAAA,GAAA,GACAjoC,EAAAumC,EAAAz+D,EAAA0gE,GACA,MAGAF,GAAA,EAGAE,EAAArhF,KAAAwgF,eAAAjB,EAAA6B,IAAA,GAAA,GACAvoC,EAAAumC,EAAAz+D,EAAA0gE,GAIA,GAAArhF,KAAAw/E,oBAAA,CACA,IAAA8B,EAAAzoC,EAAA5K,QAAA,OAAA,IACAqzC,GAAAzoC,GAAA0oC,MAAAryC,SAAAoyC,MAKAA,EAAA,IAAAA,GAEAlc,EAAAp6D,KAAAs2E,QAGAlc,EAAAp6D,KAAA6tC,GAEA,OAAAusB,GAEAsS,EAjKA,CAkKAuG,EAAAiB,eACAthF,EAAA85E,sBAAAA,EACAA,EAAA39D,aCjNA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAugF,EAAAvgF,EAAA,KACA2P,EAAA3P,EAAA,IACAI,EAAAJ,EAAA,IACA8a,EAAA9a,EAAA,IACA8jF,EAAA,SAAAl6E,GAEA,SAAAk6E,EAAAj2E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAkCA,OApCA6G,EAAAY,UAAA+5E,EAAAl6E,GAIAk6E,EAAAznE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,oBACAvZ,KAAAia,OAAA,CACA0gB,KAAA,CAAAttB,EAAA6M,IAAA,IACAxV,KAAA,CAAA2I,EAAAsmB,OAAA,IACA4lB,WAAA,CAAAlsC,EAAA8lB,SAAA,MAGAn0B,OAAAiU,eAAAuuE,EAAA5gF,UAAA,QAAA,CACAsS,IAAA,WACA,OAAApV,EAAAmB,KAAAe,KAAA26B,OAEAtnB,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAuuE,EAAA5gF,UAAA,SAAA,CACAsS,IAAA,WACA,OAAApV,EAAAqV,OAAAnT,KAAA26B,OAEAtnB,YAAA,EACAC,cAAA,IAEAkuE,EAAA5gF,UAAA6gF,WAAA,WACA,IAAA/8E,EAAA1E,KAAAu5C,WAAA/gC,EAAA+gC,WAAAv5C,KAAA0E,MAAA1E,KAAA0E,KACA,OAAA,IAAAq0E,SAAAhnD,KAAAxqB,MAAAwxE,SAAA,MAAA,EAAA,OAAA,QAAA,SAAAppE,OAAA3P,KAAAmb,MAAA,CAAA,UAAA,UAAAzW,OAEA88E,EAAA5gF,UAAA6lE,SAAA,SAAAE,EAAA4X,GACA,IAAAz9E,EAAAd,KAEAqpC,EAAArpC,KAAAyhF,aAAA1vD,KADA,IAEA,OAAA40C,EAAAx8D,IAAA,SAAAgnE,EAAApxC,EAAA4mC,GAAA,OAAAt9B,EAAA9hC,WAAA,EAAA,CAAA4pE,EAAApxC,EAAA4mC,GAAAh3D,OAAA7O,EAAAqS,OAAA,CAAAzV,EAAA,SAEA8jF,EArCA,CAsCAvD,EAAAiB,eACAthF,EAAA4jF,kBAAAA,EACAA,EAAAznE,aC9CA,SAAArc,EAAAC,EAAAC,GACA,IAAAyiE,EAAA3iE,EAAA,KACAE,EAAA0pE,mBAAAjH,EAAAiH,mBACA,IAAA+N,EAAA33E,EAAA,KACAE,EAAA84E,yBAAArB,EAAAqB,yBACA,IAAAU,EAAA15E,EAAA,KACAE,EAAA85E,sBAAAN,EAAAM,sBACA,IAAAgK,EAAAhkF,EAAA,KACAE,EAAA4jF,kBAAAE,EAAAF,kBACA,IAAArJ,EAAAz6E,EAAA,KACAE,EAAA26E,iBAAAJ,EAAAI,iBACA,IAAAC,EAAA96E,EAAA,KACAE,EAAAg7E,sBAAAJ,EAAAI,sBACA,IAAA+I,EAAAjkF,EAAA,KACAE,EAAAgkF,qBAAAD,EAAAC,qBACA,IAAAC,EAAAnkF,EAAA,KACAE,EAAAkkF,oBAAAD,EAAAC,oBACA,IAAA7D,EAAAvgF,EAAA,KACAE,EAAAshF,cAAAjB,EAAAiB,eClBA,SAAAxhF,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAugF,EAAAvgF,EAAA,KACA2iE,EAAA3iE,EAAA,KACAwB,EAAAxB,EAAA,IACA2P,EAAA3P,EAAA,IACA66E,EAAA,SAAAjxE,GAEA,SAAAixE,EAAAhtE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgCA,OAlCA6G,EAAAY,UAAA8wE,EAAAjxE,GAIAixE,EAAAx+D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,mBACAvZ,KAAAia,OAAA,CACA4mD,OAAA,CAAAxzD,EAAAimB,SAAA,SAGAilD,EAAA33E,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAgjD,gBAAA,IAAAqd,EAAAiH,mBACA,MAAAtnE,KAAA6gE,QACA3hE,EAAAwB,OAAA5B,KAAA,gIAEAy5E,EAAA33E,UAAA6lE,SAAA,SAAAE,EAAAob,GACA,GAAA,GAAApb,EAAAzlE,OACA,MAAA,GAIA,IAHA,IAAA+gC,EAAA,MAAAjiC,KAAA6gE,OAAA7gE,KAAA6gE,OAAA5+B,KAAA,GACA+/C,GAAA,EACA5c,EAAA,IAAA31D,MAAAk3D,EAAAzlE,QACA+O,EAAA,EAAA+Z,EAAA28C,EAAAzlE,OAAA+O,EAAA+Z,EAAA/Z,IAEA,GADAm1D,EAAAn1D,GAAAgyB,EAAA,IAAA3yB,KAAA2V,MAAA3V,KAAA0iB,IAAA20C,EAAA12D,IAAAX,KAAA0iB,IAAAiQ,IACAhyB,EAAA,GAAAm1D,EAAAn1D,IAAAm1D,EAAAn1D,EAAA,GAAA,CACA+xE,GAAA,EACA,MAGA,OAAAA,EACAhiF,KAAAgjD,gBAAAyjB,SAAAE,EAAAob,GAEA3c,GAEAmT,EAnCA,CAoCA0F,EAAAiB,eACAthF,EAAA26E,iBAAAA,EACAA,EAAAx+D,aC5CA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2iE,EAAA3iE,EAAA,KACA2P,EAAA3P,EAAA,IACAukF,EAAAvkF,EAAA,IACAk7E,EAAA,SAAAtxE,GAEA,SAAAsxE,EAAArtE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA6BA,OA/BA6G,EAAAY,UAAAmxE,EAAAtxE,GAIAsxE,EAAA7+D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,wBACAvZ,KAAAia,OAAA,CACAi6B,UAAA,CAAA7mC,EAAA8I,WAGAyiE,EAAAh4E,UAAA6lE,SAAA,SAAAE,EAAAob,GACA,GAAA,MAAA/hF,KAAAk0C,UACA,MAAA,IAAA71C,MAAA,kDACA,GAAA,GAAAsoE,EAAAzlE,OACA,MAAA,GACA,IAAAokC,EAAAqhC,EAAAzlE,OACAghF,EAAA,IAAAzyE,MAAA61B,GACA,GAAA,OAAAtlC,KAAAk0C,UACA,IAAA,IAAAjkC,EAAA,EAAAA,EAAAq1B,EAAAr1B,IAAA,CACA,IAAAujC,EAAAyuC,EAAA3uC,eAAA6uC,QAAA,CAAAxb,EAAA12D,GAAA8xE,EAAAvqB,MAAA,GACA0qB,EAAAjyE,GAAAujC,OAIA,IAAA,IAAAvjC,EAAA,EAAAA,EAAAq1B,EAAAr1B,IAAA,CACA,IAAAvF,EAAAu3E,EAAA3uC,eAAA6uC,QAAA,CAAAJ,EAAAvqB,IAAAmP,EAAA12D,KAAAwjC,EAAA/oC,EAAA,GACAw3E,EAAAjyE,GAAAwjC,EAGA,OAAAnsC,EAAA1G,UAAA6lE,SAAA5+D,KAAA7H,KAAAkiF,EAAAH,IAEAnJ,EAhCA,CAiCAvY,EAAAiH,oBACA1pE,EAAAg7E,sBAAAA,EACAA,EAAA7+D,aCxCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAklD,EAAAllD,EAAA,KACAugF,EAAAvgF,EAAA,KACA2P,EAAA3P,EAAA,IACAkkF,EAAA,SAAAt6E,GAEA,SAAAs6E,EAAAr2E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgCA,OAlCA6G,EAAAY,UAAAm6E,EAAAt6E,GAIAs6E,EAAA7nE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,uBACAvZ,KAAAia,OAAA,CAEA8oC,OAAA,CAAA11C,EAAAsmB,OAAA,OACAyuD,SAAA,CAAA/0E,EAAAsmB,OAAA,MACA0uD,SAAA,CAAAh1E,EAAAgK,iBAAA,YAGArY,OAAAiU,eAAA2uE,EAAAhhF,UAAA,eAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAqiF,UACA,IAAA,QACA,IAAA,UACA,OAAA/yE,KAAA2V,MACA,IAAA,QACA,IAAA,YACA,OAAA3V,KAAA64B,MACA,IAAA,OACA,IAAA,UACA,OAAA74B,KAAAC,OAGA8D,YAAA,EACAC,cAAA,IAEAsuE,EAAAhhF,UAAA6lE,SAAA,SAAAE,EAAA4X,GACA,IAAAx7B,EAAA/iD,KAAA+iD,OAAAq/B,EAAApiF,KAAAoiF,SAAAE,EAAAtiF,KAAAsiF,aACA,OAAA3b,EAAAx8D,IAAA,SAAAgnE,GAAA,OAAAvuB,EAAAG,OAAAouB,EAAApuB,EAAAq/B,EAAAE,MAEAV,EAnCA,CAoCA3D,EAAAiB,eACAthF,EAAAgkF,qBAAAA,EACAA,EAAA7nE,aC3CA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAugF,EAAAvgF,EAAA,KACA27E,EAAA37E,EAAA,IACA2P,EAAA3P,EAAA,IACAokF,EAAA,SAAAx6E,GAEA,SAAAw6E,EAAAv2E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAYA,OAdA6G,EAAAY,UAAAq6E,EAAAx6E,GAIAw6E,EAAA/nE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,sBACAvZ,KAAAia,OAAA,CACA8oC,OAAA,CAAA11C,EAAAsmB,OAAA,SAGAmuD,EAAAlhF,UAAA6lE,SAAA,SAAAE,EAAA4X,GACA,IAAAz9E,EAAAd,KACA,OAAA2mE,EAAAx8D,IAAA,SAAAgnE,GAAA,OAAAkI,EAAAv2B,QAAAhiD,EAAAiiD,OAAAouB,MAEA2Q,EAfA,CAgBA7D,EAAAiB,eACAthF,EAAAkkF,oBAAAA,EACAA,EAAA/nE,aCvBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAwhF,EAAA,SAAA53E,GAEA,SAAA43E,EAAA3zE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAPA6G,EAAAY,UAAAy3E,EAAA53E,GAIA43E,EAAAnlE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBAEA2lE,EARA,CASA3zB,EAAAI,OACA/tD,EAAAshF,cAAAA,EACAA,EAAAnlE,aCdA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA+kF,EAAA/kF,EAAA,GACA2P,EAAA3P,EAAA,IACAomC,EAAApmC,EAAA,IACAglF,EAAA,SAAAp7E,GAEA,SAAAo7E,IACA,OAAA,OAAAp7E,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAwGA,OA1GA6G,EAAAY,UAAAi7E,EAAAp7E,GAIAo7E,EAAA9hF,UAAAm6D,UAAA,WACA,QAAA/6D,KAAA5B,MAAA8a,WAAAypE,aAAA/tD,MACA50B,KAAA4iF,cAAA5iF,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAA+iF,eAEA/iF,KAAA4iF,cAAA5iF,KAAA+iF,cACA,QAAA/iF,KAAA5B,MAAA8a,WAAA8pE,aAAApuD,MACA50B,KAAAijF,cAAAjjF,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAAkjF,eAEAljF,KAAAijF,cAAAjjF,KAAAkjF,cACAljF,KAAA6qE,OAAA,IAAA9zB,aAAA/2C,KAAAmjF,aAAAjiF,QACA,IAAA,IAAA+O,EAAA,EAAA+Z,EAAAhqB,KAAAmjF,aAAAjiF,OAAA+O,EAAA+Z,EAAA/Z,IACAjQ,KAAA6qE,OAAA56D,GAAAjQ,KAAAojF,WAAAnzE,GAAAjQ,KAAAmjF,aAAAlzE,IAGAyyE,EAAA9hF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GAGA,IAFA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAA26E,EAAAz4E,EAAAy4E,aAAAtY,EAAAngE,EAAAmgE,OAAA+X,EAAAl4E,EAAAk4E,cAAAK,EAAAv4E,EAAAu4E,cACAnkD,EAAA9+B,KAAA5B,MAAA8a,WAAA4lB,UAAAjzB,QACAzB,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAA2yE,EAAA3yE,GAAAgzE,EAAAhzE,GAAAkzE,EAAAlzE,GAAA46D,EAAA56D,MAEAwf,EAAA+c,UAAAjkC,EAAA0H,GAAAzH,EAAAyH,IACAwf,EAAAH,OAAA6zD,EAAAlzE,IACAwf,EAAAkd,OAAAs2C,EAAAhzE,GAAA,GACAwf,EAAAqsC,YACArsC,EAAAq5B,IAAA,EAAA,EAAAm6B,EAAAhzE,GAAA,EAAA46D,EAAA56D,GAAA6uB,GACArP,EAAAH,OAAAu7C,EAAA56D,IACAwf,EAAAy4B,OAAA06B,EAAA3yE,GAAA,GACAwf,EAAAq5B,IAAA,EAAA,EAAA85B,EAAA3yE,GAAA,GAAA46D,EAAA56D,IAAA6uB,GACArP,EAAAssC,YACAtsC,EAAAH,QAAAu7C,EAAA56D,GAAAkzE,EAAAlzE,IACAwf,EAAA+c,WAAAjkC,EAAA0H,IAAAzH,EAAAyH,IACAjQ,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAv2B,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,aAIAu6B,EAAA9hF,UAAA0iF,WAAA,SAAAn7E,GACA,IAAAuC,EAAAO,EAKAuW,EAAAC,EACAR,EAAAC,EALA3Y,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GAIA,GAAA,QAAAxI,KAAA5B,MAAA8a,WAAA8pE,aAAApuD,MACApT,EAAA/Y,EAAAzI,KAAAujF,iBACAtiE,EAAAxY,EAAAzI,KAAAujF,iBACA9hE,EAAA/Y,EAAA1I,KAAAujF,iBACAriE,EAAAxY,EAAA1I,KAAAujF,qBAEA,CACA,IAAAt8B,EAAA1+C,EAAAvI,KAAAujF,iBACAr8B,EAAA3+C,EAAAvI,KAAAujF,iBACA74E,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACA,IAAA28C,EAAA7+C,EAAAxI,KAAAujF,iBACAj8B,EAAA9+C,EAAAxI,KAAAujF,iBACAt4E,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GAIA,IAFA,IAAAu4E,EAAA,GACAz+D,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACA9W,EAAA,EAAAyC,EAAA7M,KAAA+/B,MAAA3d,QAAA2C,GAAA3a,EAAAyC,EAAA3L,OAAAkJ,IAAA,CACA,IAAA6F,EAAApD,EAAAzC,GACAq5E,EAAAn0E,KAAAqS,IAAA3hB,KAAAijF,cAAAhzE,GAAA,GACAyzE,EAAAp0E,KAAAqS,IAAA3hB,KAAA4iF,cAAA3yE,GAAA,GACAlD,EAAA/M,KAAA8iF,SAAAxgD,OAAAqhD,UAAAl7E,EAAAzI,KAAAqoD,GAAAp4C,IAAAg3C,EAAAl6C,EAAA,GAAAm6C,EAAAn6C,EAAA,GACAmhD,EAAAluD,KAAA8iF,SAAArgD,OAAAkhD,UAAAj7E,EAAA1I,KAAAi6D,GAAAhqD,IAAAo3C,EAAA6G,EAAA,GAAA5G,EAAA4G,EAAA,GACA01B,EAAAt0E,KAAAqS,IAAAslC,EAAAC,EAAA,GAAA53C,KAAAqS,IAAA0lC,EAAAC,EAAA,GACAs8B,GAAAH,GAAAG,GAAAF,GACAF,EAAAx4E,KAAA,CAAAiF,EAAA2zE,IAIA,IAFA,IAAA9kD,EAAA9+B,KAAA5B,MAAA8a,WAAA4lB,UAAAjzB,QACAsW,EAAA,GACAgsC,EAAA,EAAA01B,EAAAL,EAAAr1B,EAAA01B,EAAA3iF,OAAAitD,IAAA,CACA,IAAAC,EAAAy1B,EAAA11B,GAAAl+C,EAAAm+C,EAAA,GAAAw1B,EAAAx1B,EAAA,GAEA9sC,EAAAhS,KAAA2iC,MAAAzpC,EAAAxI,KAAAwI,GAAAyH,GAAA1H,EAAAvI,KAAAuI,GAAA0H,IACA6zB,EAAA+N,eAAAvwB,GAAAthB,KAAAmjF,aAAAlzE,IAAAjQ,KAAAojF,WAAAnzE,GAAA6uB,IACA3c,EAAAnX,KAAA,CAAAiF,EAAA2zE,IAGA,OAAAnB,EAAAvgE,iCAAAC,IAEAugE,EAAA9hF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuB,oBAAA/jF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA2iD,EAAA9hF,UAAAojF,WAAA,SAAA/zE,GACA,IAAA4V,GAAA7lB,KAAA4iF,cAAA3yE,GAAAjQ,KAAAijF,cAAAhzE,IAAA,EACAD,GAAAhQ,KAAAmjF,aAAAlzE,GAAAjQ,KAAAojF,WAAAnzE,IAAA,EACA,MAAA,CAAAxH,EAAAzI,KAAAuI,GAAA0H,GAAA4V,EAAAvW,KAAAsS,IAAA5R,GAAAtH,EAAA1I,KAAAwI,GAAAyH,GAAA4V,EAAAvW,KAAAuS,IAAA7R,KAEA0yE,EAAA9hF,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAAgkF,WAAA/zE,GAAAxH,GAEAi6E,EAAA9hF,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAAgkF,WAAA/zE,GAAAvH,GAEAg6E,EA3GA,CA4GAH,EAAA4B,aACAvmF,EAAA8kF,iBAAAA,EACA,IAAA0B,EAAA,SAAA98E,GAEA,SAAA88E,EAAA74E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAcA,OAhBA6G,EAAAY,UAAA28E,EAAA98E,GAIA88E,EAAArqE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAY,UAAAoJ,aAAA04E,EACA1iF,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACA6kB,UAAA,CAAAzxB,EAAAuI,UAAA,aACA+sE,aAAA,CAAAt1E,EAAA4S,cACA+iE,aAAA,CAAA31E,EAAA4S,cACAokE,YAAA,CAAAh3E,EAAA0nB,WACAuvD,UAAA,CAAAj3E,EAAA0nB,cAGAqvD,EAjBA,CAkBA7B,EAAAgC,SACA3mF,EAAAwmF,aAAAA,EACAA,EAAArqE,aCzIA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA+kF,EAAA/kF,EAAA,GACA2P,EAAA3P,EAAA,IACA2+B,EAAA3+B,EAAA,IACA8mF,EAAA,SAAAl9E,GAEA,SAAAk9E,IACA,OAAA,OAAAl9E,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAqGA,OAvGA6G,EAAAY,UAAA+8E,EAAAl9E,GAIAk9E,EAAA5jF,UAAAm6D,UAAA,WACA,QAAA/6D,KAAA5B,MAAA8a,WAAAypE,aAAA/tD,MACA50B,KAAA4iF,cAAA5iF,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAA+iF,eAEA/iF,KAAA4iF,cAAA5iF,KAAA+iF,cACA,QAAA/iF,KAAA5B,MAAA8a,WAAA8pE,aAAApuD,MACA50B,KAAAijF,cAAAjjF,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAAkjF,eAEAljF,KAAAijF,cAAAjjF,KAAAkjF,eAEAsB,EAAA5jF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GAEA,IADA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAAo6E,EAAAl4E,EAAAk4E,cAAAK,EAAAv4E,EAAAu4E,cACA74E,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,IAAAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAA2yE,EAAA3yE,GAAAgzE,EAAAhzE,IAAA,CAQA,GAAAjQ,KAAA66D,QAAAtkC,KAAAm0B,KAAA,CAGA,GAFA1qD,KAAA66D,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAAqsC,YACAz/B,EAAA+S,MAEA,IAAA,IAAAnkC,EAAA,EAAA4B,EAAA,EAAA,GAAA,GAAA5B,EAAA4B,EAAA3L,OAAA+J,IAAA,CACA,IAAAw5E,EAAA53E,EAAA5B,GACAwkB,EAAAq5B,IAAAvgD,EAAA0H,GAAAzH,EAAAyH,GAAA2yE,EAAA3yE,GAAA,EAAAX,KAAA0e,GAAAy2D,GACAh1D,EAAAq5B,IAAAvgD,EAAA0H,GAAAzH,EAAAyH,GAAAgzE,EAAAhzE,GAAAX,KAAA0e,GAAA,GAAAy2D,QAKAh1D,EAAAq5B,IAAAvgD,EAAA0H,GAAAzH,EAAAyH,GAAA2yE,EAAA3yE,GAAA,EAAA,EAAAX,KAAA0e,IAAA,GACAyB,EAAAq5B,IAAAvgD,EAAA0H,GAAAzH,EAAAyH,GAAAgzE,EAAAhzE,GAAA,EAAAX,KAAA0e,GAAA,GAAA,GAEAyB,EAAA8G,OAEAv2B,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAAqsC,YACArsC,EAAAq5B,IAAAvgD,EAAA0H,GAAAzH,EAAAyH,GAAA2yE,EAAA3yE,GAAA,EAAA,EAAAX,KAAA0e,IACAyB,EAAAkd,OAAApkC,EAAA0H,GAAAgzE,EAAAhzE,GAAAzH,EAAAyH,IACAwf,EAAAq5B,IAAAvgD,EAAA0H,GAAAzH,EAAAyH,GAAAgzE,EAAAhzE,GAAA,EAAA,EAAAX,KAAA0e,IACAyB,EAAA04B,aAIAq8B,EAAA5jF,UAAA0iF,WAAA,SAAAn7E,GACA,IAAAuC,EAAAO,EAIAuW,EAAAC,EACAR,EAAAC,EAJA3Y,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GAGA,GAAA,QAAAxI,KAAA5B,MAAA8a,WAAA8pE,aAAApuD,MACApT,EAAA/Y,EAAAzI,KAAAujF,iBACAtiE,EAAAxY,EAAAzI,KAAAujF,iBACA9hE,EAAA/Y,EAAA1I,KAAAujF,iBACAriE,EAAAxY,EAAA1I,KAAAujF,qBAEA,CACA,IAAAt8B,EAAA1+C,EAAAvI,KAAAujF,iBACAr8B,EAAA3+C,EAAAvI,KAAAujF,iBACA74E,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACA,IAAA28C,EAAA7+C,EAAAxI,KAAAujF,iBACAj8B,EAAA9+C,EAAAxI,KAAAujF,iBACAt4E,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GAIA,IAFA,IAAAkX,EAAA,GACA4C,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACA9W,EAAA,EAAAyC,EAAA7M,KAAA+/B,MAAA3d,QAAA2C,GAAA3a,EAAAyC,EAAA3L,OAAAkJ,IAAA,CACA,IAAA6F,EAAApD,EAAAzC,GACAq5E,EAAAn0E,KAAAqS,IAAA3hB,KAAAijF,cAAAhzE,GAAA,GACAyzE,EAAAp0E,KAAAqS,IAAA3hB,KAAA4iF,cAAA3yE,GAAA,GACAlD,EAAA/M,KAAA8iF,SAAAxgD,OAAAqhD,UAAAl7E,EAAAzI,KAAAqoD,GAAAp4C,IAAAg3C,EAAAl6C,EAAA,GAAAm6C,EAAAn6C,EAAA,GACAmhD,EAAAluD,KAAA8iF,SAAArgD,OAAAkhD,UAAAj7E,EAAA1I,KAAAi6D,GAAAhqD,IAAAo3C,EAAA6G,EAAA,GAAA5G,EAAA4G,EAAA,GACA01B,EAAAt0E,KAAAqS,IAAAslC,EAAAC,EAAA,GAAA53C,KAAAqS,IAAA0lC,EAAAC,EAAA,GACAs8B,GAAAH,GAAAG,GAAAF,GACAvhE,EAAAnX,KAAA,CAAAiF,EAAA2zE,IAEA,OAAAnB,EAAAvgE,iCAAAC,IAEAqiE,EAAA5jF,UAAAkjF,sBAAA,SAAAr0D,EAAA/kB,EAAAq1B,GACA,IAAAve,EAAA9W,EAAA8W,GAAAC,EAAA/W,EAAA+W,GAAAR,EAAAvW,EAAAuW,GAAAC,EAAAxW,EAAAwW,GACA+lB,EAAAlH,EAAA,EACAx3B,EAAA,IAAAkH,MAAAw3B,GACA1+B,EAAAw3B,IAAAve,EAAAP,GAAA,EACA,IAAAzY,EAAA,IAAAiH,MAAAw3B,GACAz+B,EAAAu3B,IAAAte,EAAAP,GAAA,EACA,IAAA2E,EAAA,GAAAvW,KAAA4b,IAAA5b,KAAAsd,IAAA3L,EAAAO,GAAAlS,KAAAsd,IAAA1L,EAAAO,IACAmhE,EAAA,IAAAnzE,MAAAw3B,GACA27C,EAAA7iD,GAAA,GAAAla,EACA,IAAAo9D,EAAA,IAAAxzE,MAAAw3B,GACAg8C,EAAAljD,GAAA,GAAAla,EACA7lB,KAAA2xE,QAAAliD,EAAA,CAAAsQ,GAAA,CAAAx3B,GAAAA,EAAAC,GAAAA,EAAAo6E,cAAAA,EAAAK,cAAAA,KAEAuB,EAxGA,CAyGAjC,EAAA4B,aACAvmF,EAAA4mF,YAAAA,EACA,IAAAE,EAAA,SAAAp9E,GAEA,SAAAo9E,EAAAn5E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAAi9E,EAAAp9E,GAIAo9E,EAAA3qE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAAw6E,EACAxkF,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACA0oE,aAAA,CAAAt1E,EAAA4S,cACA+iE,aAAA,CAAA31E,EAAA4S,iBAGAykE,EAdA,CAeAnC,EAAAgC,SACA3mF,EAAA8mF,QAAAA,EACAA,EAAA3qE,aClIA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA2P,EAAA3P,EAAA,IACAinF,EAAA,SAAAr9E,GAEA,SAAAq9E,IACA,OAAA,OAAAr9E,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA0BA,OA5BA6G,EAAAY,UAAAk9E,EAAAr9E,GAIAq9E,EAAA/jF,UAAAm6D,UAAA,WACA,QAAA/6D,KAAA5B,MAAA8a,WAAA0rE,OAAAhwD,MACA50B,KAAA6kF,QAAA7kF,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAA8kF,SAEA9kF,KAAA6kF,QAAA7kF,KAAA8kF,SAEAH,EAAA/jF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAAq8E,EAAAn6E,EAAAm6E,QAAA1B,EAAAz4E,EAAAy4E,aAAAC,EAAA14E,EAAA04E,WACA,GAAApjF,KAAA66D,QAAA1kC,KAAAu0B,KAEA,IADA,IAAA5rB,EAAA9+B,KAAA5B,MAAA8a,WAAA4lB,UAAAjzB,QACAzB,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAA40E,EAAA50E,GAAAkzE,EAAAlzE,GAAAmzE,EAAAnzE,MAEAwf,EAAAqsC,YACArsC,EAAAq5B,IAAAvgD,EAAA0H,GAAAzH,EAAAyH,GAAA40E,EAAA50E,GAAAkzE,EAAAlzE,GAAAmzE,EAAAnzE,GAAA6uB,GACA9+B,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,YAIAw8B,EAAA/jF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuC,oBAAA/kF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA4kD,EA7BA,CA8BApC,EAAA4B,aACAvmF,EAAA+mF,QAAAA,EACA,IAAAK,EAAA,SAAA19E,GAEA,SAAA09E,EAAAz5E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAaA,OAfA6G,EAAAY,UAAAu9E,EAAA19E,GAIA09E,EAAAjrE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,MACAvZ,KAAAY,UAAAoJ,aAAA26E,EACA3kF,KAAAga,OAAA,CAAA,SACAha,KAAAia,OAAA,CACA6kB,UAAA,CAAAzxB,EAAAuI,UAAA,aACAgvE,OAAA,CAAAv3E,EAAA4S,cACAokE,YAAA,CAAAh3E,EAAA0nB,WACAuvD,UAAA,CAAAj3E,EAAA0nB,cAGAiwD,EAhBA,CAiBAzC,EAAAgC,SACA3mF,EAAAonF,IAAAA,EACAA,EAAAjrE,aCxDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAunF,EAAAvnF,EAAA,KACA8kF,EAAA9kF,EAAA,KACAwnF,EAAA,SAAA59E,GAEA,SAAA49E,IACA,OAAA,OAAA59E,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAy9E,EAAA59E,GAIA49E,EAAAtkF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuB,oBAAA/jF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEAmlD,EARA,CASAD,EAAAE,WACAvnF,EAAAsnF,SAAAA,EACA,IAAAE,EAAA,SAAA99E,GAEA,SAAA89E,EAAA75E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAMA,OARA6G,EAAAY,UAAA29E,EAAA99E,GAIA89E,EAAArrE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAga,OAAA,CAAA,OAAA,WAEAorE,EATA,CAUAH,EAAAI,OACAznF,EAAAwnF,KAAAA,EACAA,EAAArrE,aC3BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4nF,EAAA5nF,EAAA,IACAunF,EAAAvnF,EAAA,KACA8kF,EAAA9kF,EAAA,KAEA,SAAA6nF,EAAA/jE,EAAAC,EAAAR,EAAAC,EAAAC,EAAAC,EAAAokE,EAAAC,GAGA,IAFA,IAAAC,EAAA,GACA53D,EAAA,CAAA,GAAA,IACA7d,EAAA,EAAAA,GAAA,EAAAA,IAAA,CACA,IAAAD,OAAA,EAAAuR,OAAA,EAAAuE,OAAA,EAWA,GAVA,IAAA7V,GACAsR,EAAA,EAAAC,EAAA,GAAAP,EAAA,EAAAE,EACAnR,GAAA,EAAAwR,EAAA,EAAAP,EAAA,EAAAE,EAAA,EAAAqkE,EACA1/D,EAAA,EAAA7E,EAAA,EAAAO,IAGAD,EAAA,EAAAE,EAAA,GAAAP,EAAA,EAAAE,EACApR,GAAA,EAAAyR,EAAA,EAAAP,EAAA,EAAAE,EAAA,EAAAqkE,EACA3/D,EAAA,EAAA5E,EAAA,EAAAO,GAEAnS,KAAAsd,IAAA5c,GAAA,MAAA,CACA,GAAAV,KAAAsd,IAAArL,GAAA,MACA,SACA,IAAAZ,GAAAmF,EAAAvE,EACA,EAAAZ,GAAAA,EAAA,GACA+kE,EAAA16E,KAAA2V,OALA,CAQA,IAAAglE,EAAApkE,EAAAA,EAAA,EAAAuE,EAAA9V,EACA41E,EAAAt2E,KAAAsT,KAAA+iE,GACA,KAAAA,EAAA,GAAA,CAEA,IAAAE,IAAAtkE,EAAAqkE,IAAA,EAAA51E,GACA,EAAA61E,GAAAA,EAAA,GACAH,EAAA16E,KAAA66E,GACA,IAAAC,IAAAvkE,EAAAqkE,IAAA,EAAA51E,GACA,EAAA81E,GAAAA,EAAA,GACAJ,EAAA16E,KAAA86E,KAIA,IAFA,IAAAvgD,EAAAmgD,EAAAxkF,OACA6kF,EAAAxgD,EACAA,KAAA,CACA,IAAA5kB,EAAA+kE,EAAAngD,GACAygD,EAAA,EAAArlE,EACAlY,EAAAu9E,EAAAA,EAAAA,EAAAxkE,EAAA,EAAAwkE,EAAAA,EAAArlE,EAAAM,EAAA,EAAA+kE,EAAArlE,EAAAA,EAAAQ,EAAAR,EAAAA,EAAAA,EAAA6kE,EACA13D,EAAA,GAAAyX,GAAA98B,EACA,IAAAC,EAAAs9E,EAAAA,EAAAA,EAAAvkE,EAAA,EAAAukE,EAAAA,EAAArlE,EAAAO,EAAA,EAAA8kE,EAAArlE,EAAAA,EAAAS,EAAAT,EAAAA,EAAAA,EAAA8kE,EACA33D,EAAA,GAAAyX,GAAA78B,EAMA,OAJAolB,EAAA,GAAAi4D,GAAAvkE,EACAsM,EAAA,GAAAi4D,GAAAtkE,EACAqM,EAAA,GAAAi4D,EAAA,GAAAP,EACA13D,EAAA,GAAAi4D,EAAA,GAAAN,EACA,CACAn2E,KAAA4b,IAAA3jB,MAAA+H,KAAAwe,EAAA,IACAxe,KAAAsD,IAAArL,MAAA+H,KAAAwe,EAAA,IACAxe,KAAAsD,IAAArL,MAAA+H,KAAAwe,EAAA,IACAxe,KAAA4b,IAAA3jB,MAAA+H,KAAAwe,EAAA,KAGA,IAAAm4D,EAAA,SAAA3+E,GAEA,SAAA2+E,IACA,OAAA,OAAA3+E,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAoCA,OAtCA6G,EAAAY,UAAAw+E,EAAA3+E,GAIA2+E,EAAArlF,UAAAslF,YAAA,WAEA,IADA,IAAA5tC,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAmmF,IAAAjlF,OAAA+O,EAAA+Z,EAAA/Z,IACA,IAAAsxE,MAAAvhF,KAAAmmF,IAAAl2E,GAAAjQ,KAAAomF,IAAAn2E,GAAAjQ,KAAAqmF,IAAAp2E,GAAAjQ,KAAAsmF,IAAAr2E,GAAAjQ,KAAAumF,KAAAt2E,GAAAjQ,KAAAwmF,KAAAv2E,GAAAjQ,KAAAymF,KAAAx2E,GAAAjQ,KAAA0mF,KAAAz2E,IAAA,CAEA,IAAAvF,EAAA66E,EAAAvlF,KAAAmmF,IAAAl2E,GAAAjQ,KAAAqmF,IAAAp2E,GAAAjQ,KAAAomF,IAAAn2E,GAAAjQ,KAAAsmF,IAAAr2E,GAAAjQ,KAAAumF,KAAAt2E,GAAAjQ,KAAAwmF,KAAAv2E,GAAAjQ,KAAAymF,KAAAx2E,GAAAjQ,KAAA0mF,KAAAz2E,IAAAuR,EAAA9W,EAAA,GAAA+W,EAAA/W,EAAA,GAAAuW,EAAAvW,EAAA,GAAAwW,EAAAxW,EAAA,GACA4tC,EAAAttC,KAAA,CAAAuX,KAAAf,EAAAgB,KAAAf,EAAAgB,KAAAxB,EAAAyB,KAAAxB,EAAAjR,EAAAA,IAEA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEA2tC,EAAArlF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAu8C,EAAAv8C,EAAAu8C,IAAAI,EAAA38C,EAAA28C,IAAAH,EAAAx8C,EAAAw8C,IAAAI,EAAA58C,EAAA48C,IAAAq/B,EAAAj8E,EAAAi8E,KAAAC,EAAAl8E,EAAAk8E,KAAAC,EAAAn8E,EAAAm8E,KAAAC,EAAAp8E,EAAAo8E,KACA,GAAA9mF,KAAA66D,QAAA1kC,KAAAu0B,KACA,IAAA,IAAAtgD,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAt6B,EAAAh3C,GAAAo3C,EAAAp3C,GAAAi3C,EAAAj3C,GAAAq3C,EAAAr3C,GAAA02E,EAAA12E,GAAA22E,EAAA32E,GAAA42E,EAAA52E,GAAA62E,EAAA72E,MAEAwf,EAAAqsC,YACArsC,EAAAkd,OAAAsa,EAAAh3C,GAAAo3C,EAAAp3C,IACAwf,EAAAmd,cAAA+5C,EAAA12E,GAAA22E,EAAA32E,GAAA42E,EAAA52E,GAAA62E,EAAA72E,GAAAi3C,EAAAj3C,GAAAq3C,EAAAr3C,IACAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,YAIA89B,EAAArlF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuC,oBAAA/kF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEAkmD,EAAArlF,UAAAqjF,SAAA,WACA,MAAA,IAAA5lF,MAAA,oBAEA4nF,EAAArlF,UAAAsjF,SAAA,WACA,MAAA,IAAA7lF,MAAA,oBAEA4nF,EAvCA,CAwCAhB,EAAAE,WACAvnF,EAAAqoF,WAAAA,EACA,IAAAc,EAAA,SAAAz/E,GAEA,SAAAy/E,EAAAx7E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAAs/E,EAAAz/E,GAIAy/E,EAAAhtE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,SACAvZ,KAAAY,UAAAoJ,aAAAi8E,EACAjmF,KAAAokE,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,KAAA,MAAA,CAAA,MAAA,OAAA,CAAA,MAAA,SACApkE,KAAAga,OAAA,CAAA,UAEA+sE,EAXA,CAYA9B,EAAAI,OACAznF,EAAAmpF,OAAAA,EACAA,EAAAhtE,aCrHA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4nF,EAAA5nF,EAAA,IACAunF,EAAAvnF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA+kF,EAAA/kF,EAAA,GACAspF,EAAA,SAAA1/E,GAEA,SAAA0/E,IACA,OAAA,OAAA1/E,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAgGA,OAlGA6G,EAAAY,UAAAu/E,EAAA1/E,GAIA0/E,EAAApmF,UAAAqmF,WAAA,SAAAhgD,GAEA,IADA,IAAAqR,EAAA,GACAroC,EAAA,EAAAA,EAAAg3B,EAAAh3B,IAAA,CACA,IAAAvF,EAAA1K,KAAAknF,MAAAj3E,GAAAk3E,EAAAz8E,EAAA,GAAAmb,EAAAnb,EAAA,GAAAiW,EAAAjW,EAAA,GAAA6W,EAAA7W,EAAA,IACA62E,MAAA4F,EAAAthE,EAAAlF,EAAAY,IAAAmkC,SAAAyhC,EAAAthE,EAAAlF,EAAAY,IAEA+2B,EAAAttC,KAAA,CACAuX,KAAAjT,KAAA4b,IAAAi8D,EAAAthE,GACArD,KAAAlT,KAAA4b,IAAAvK,EAAAY,GACAkB,KAAAnT,KAAAsD,IAAAiT,EAAAshE,GACAzkE,KAAApT,KAAAsD,IAAA+N,EAAAY,GACAtR,EAAAA,IAGA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEA0uC,EAAApmF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GA0BA,IAzBA,IAAA5J,EAAAd,KACA4+D,EAAAl0D,EAAAk0D,MAAAE,EAAAp0D,EAAAo0D,OAAAj6B,EAAAn6B,EAAAm6B,KAAAo6B,EAAAv0D,EAAAu0D,QACAxkD,EAAA,SAAAxK,GACA,GAAAsxE,MAAA3iB,EAAA3uD,GAAA40B,EAAA50B,GAAA6uD,EAAA7uD,GAAAgvD,EAAAhvD,IACA,MAAA,WACAwf,EAAAtgB,KAAAyvD,EAAA3uD,GAAA40B,EAAA50B,GAAA6uD,EAAA7uD,GAAA2uD,EAAA3uD,GAAAgvD,EAAAhvD,GAAA40B,EAAA50B,IACA0K,EAAAkgD,QAAAtkC,KAAAm0B,OACA/vC,EAAAkgD,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAAqsC,YACArsC,EAAAtgB,KAAAyvD,EAAA3uD,GAAA40B,EAAA50B,GAAA6uD,EAAA7uD,GAAA2uD,EAAA3uD,GAAAgvD,EAAAhvD,GAAA40B,EAAA50B,IACAwf,EAAA8G,QAEA5b,EAAAkgD,QAAA9jC,MAAAyzB,MAAA/6B,EAAAxf,EAAA,WACAwf,EAAAqsC,YACArsC,EAAAtgB,KAAAyvD,EAAA3uD,GAAA40B,EAAA50B,GAAA6uD,EAAA7uD,GAAA2uD,EAAA3uD,GAAAgvD,EAAAhvD,GAAA40B,EAAA50B,IACAwf,EAAA8G,QACA,WAAA,OAAAz1B,EAAAgiF,SAAAhoB,mBACAngD,EAAAkgD,QAAA1kC,KAAAu0B,OACA/vC,EAAAkgD,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAAqsC,YACArsC,EAAAtgB,KAAAyvD,EAAA3uD,GAAA40B,EAAA50B,GAAA6uD,EAAA7uD,GAAA2uD,EAAA3uD,GAAAgvD,EAAAhvD,GAAA40B,EAAA50B,IACAwf,EAAA04B,WAGAxtC,EAAA3a,KACAoK,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAqQ,EAAAxK,KAKA+2E,EAAApmF,UAAAwmF,gBAAA,WAIA,IAHA,IAAAzkB,EAAA3iE,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA4jB,QACAi6B,EAAA5iE,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA6jB,QACAtD,EAAAtlC,KAAA6kC,KAAA3jC,OACA+O,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAjQ,KAAA6kC,KAAA50B,GAAAX,KAAAsD,IAAA5S,KAAA6kC,KAAA50B,GAAA2yD,EAAA74C,OACA/pB,KAAAi/D,QAAAhvD,GAAAX,KAAA4b,IAAAlrB,KAAAi/D,QAAAhvD,GAAA2yD,EAAA54C,KACAhqB,KAAA4+D,MAAA3uD,GAAAX,KAAAsD,IAAA5S,KAAA4+D,MAAA3uD,GAAA0yD,EAAA54C,OACA/pB,KAAA8+D,OAAA7uD,GAAAX,KAAA4b,IAAAlrB,KAAA8+D,OAAA7uD,GAAA0yD,EAAA34C,MAGAg9D,EAAApmF,UAAAymF,UAAA,SAAAl/E,GACA,OAAAnI,KAAAsnF,wBAAAn/E,IAEA6+E,EAAApmF,UAAA0iF,WAAA,SAAAn7E,GACA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACA2Z,EAAAniB,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAA9Z,EAAA+Z,KAAA9Z,EAAA+Z,KAAAha,EAAAia,KAAAha,IACAqV,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEAipE,EAAApmF,UAAA2mF,UAAA,SAAAp/E,GACA,IACAga,EADA5Z,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GAEA,GAAA,KAAAL,EAAA22B,UAAA,CACA,IAAAp2B,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACAm6D,EAAA3iE,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA4jB,QACAj+B,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAA+b,EAAA54C,MAAA44C,EAAA34C,KAAAzH,EAAA7X,EAAA,GAAA+X,EAAA/X,EAAA,GACAyX,EAAAniB,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAAA,EAAAC,KAAA9Z,EAAA+Z,KAAAA,EAAAC,KAAAha,QAEA,CACA,IAAAD,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAq6D,EAAA5iE,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA6jB,QACA39B,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAgc,EAAA74C,MAAA64C,EAAA54C,KAAAxH,EAAAvX,EAAA,GAAAyX,EAAAzX,EAAA,GACAkX,EAAAniB,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAA9Z,EAAA+Z,KAAAA,EAAAC,KAAAha,EAAAia,KAAAA,IAEA,IAAA3E,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEAipE,EAAApmF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuB,oBAAA/jF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEAinD,EAnGA,CAoGA/B,EAAAE,WACAvnF,EAAAopF,QAAAA,EACA,IAAAQ,EAAA,SAAAlgF,GAEA,SAAAkgF,EAAAj8E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAMA,OARA6G,EAAAY,UAAA+/E,EAAAlgF,GAIAkgF,EAAAztE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,MACAvZ,KAAAga,OAAA,CAAA,OAAA,OAAA,WAEAwtE,EATA,CAUAvC,EAAAI,OACAznF,EAAA4pF,IAAAA,EACAA,EAAAztE,aCxHA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA2P,EAAA3P,EAAA,IACA+pF,EAAA,SAAAngF,GAEA,SAAAmgF,IACA,OAAA,OAAAngF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAggF,EAAAngF,GAIAmgF,EALA,CAMAlF,EAAA4B,aACAvmF,EAAA6pF,oBAAAA,EACA,IAAAC,EAAA,SAAApgF,GAEA,SAAAogF,EAAAn8E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAAigF,EAAApgF,GAIAogF,EAAA3tE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,kBACAvZ,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACAqH,MAAA,CAAAjU,EAAA0nB,UAAA,GACA1lB,MAAA,CAAAhC,EAAA4S,cACAzQ,OAAA,CAAAnC,EAAA4S,iBAGAynE,EAdA,CAeAnF,EAAAgC,SACA3mF,EAAA8pF,gBAAAA,EACAA,EAAA3tE,aC7BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA+kF,EAAA/kF,EAAA,GACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACA20B,EAAA30B,EAAA,IACAiqF,EAAA,SAAArgF,GAEA,SAAAqgF,IACA,OAAA,OAAArgF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA2NA,OA7NA6G,EAAAY,UAAAkgF,EAAArgF,GAIAqgF,EAAA/mF,UAAAm6D,UAAA,WAGA,GAAA,MAAA/6D,KAAA8kF,QACA,GAAA,QAAA9kF,KAAA5B,MAAA8a,WAAA0rE,OAAAppE,KAAAoZ,MAAA,CACA,IAAAgzD,EAAA5nF,KAAA5B,MAAA8a,WAAA2uE,iBAAArsE,KAAA3P,MACA,OAAA+7E,GACA,IAAA,IACA5nF,KAAA6kF,QAAA7kF,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAA8kF,SACA,MAEA,IAAA,IACA9kF,KAAA6kF,QAAA7kF,KAAA6iF,MAAA7iF,KAAA8iF,SAAArgD,OAAAziC,KAAAi6D,GAAAj6D,KAAA8kF,SACA,MAEA,IAAA,MACA,IAAAgD,EAAA9nF,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAA8kF,SACAiD,EAAA/nF,KAAA6iF,MAAA7iF,KAAA8iF,SAAArgD,OAAAziC,KAAAi6D,GAAAj6D,KAAA8kF,SACA9kF,KAAA6kF,QAAAxyD,EAAAloB,IAAA29E,EAAA,SAAAjvC,EAAA5oC,GAAA,OAAAX,KAAAsD,IAAAimC,EAAAkvC,EAAA93E,MACA,MAEA,IAAA,MACA,IAAA63E,EAAA9nF,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAA8kF,SACAkD,EAAAhoF,KAAA6iF,MAAA7iF,KAAA8iF,SAAArgD,OAAAziC,KAAAi6D,GAAAj6D,KAAA8kF,SACA9kF,KAAA6kF,QAAAxyD,EAAAloB,IAAA29E,EAAA,SAAAjvC,EAAA5oC,GAAA,OAAAX,KAAA4b,IAAA2tB,EAAAmvC,EAAA/3E,YAMAjQ,KAAA6kF,QAAA7kF,KAAA8kF,QACA9kF,KAAAqsB,SAAA,EAAArsB,KAAAioF,gBAIAjoF,KAAA6kF,QAAAxyD,EAAAloB,IAAAnK,KAAAkoF,MAAA,SAAArvC,GAAA,OAAAA,EAAA,KAEA8uC,EAAA/mF,UAAAunF,WAAA,WACA,IAAAz9E,EAAAO,EAAA4B,EAAAE,EAEAyU,EAAAC,EACAR,EAAAC,EAFAgtC,EAAAluD,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA29C,OAAAC,EAAAzU,EAAA,GAAA0U,EAAA1U,EAAA,GAGA,GAAA,MAAAluD,KAAA8kF,SAAA,QAAA9kF,KAAA5B,MAAA8a,WAAA0rE,OAAAhwD,MAAA,CACA,IAAAqyB,EAAA0b,EAAA54C,MACAm9B,EAAAyb,EAAA34C,IACAtf,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACA8W,GAAAxhB,KAAAioF,WACAhnE,GAAAjhB,KAAAioF,WACA,IAAA5gC,EAAAub,EAAA74C,MACAu9B,EAAAsb,EAAA54C,IACA/e,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACAwW,GAAAzhB,KAAAioF,WACA/mE,GAAAlhB,KAAAioF,eAEA,CACA,IAAAhhC,EAAA0b,EAAA54C,MAAA/pB,KAAAqsB,SACA66B,EAAAyb,EAAA34C,IAAAhqB,KAAAqsB,SACAxf,EAAA7M,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA3U,EAAA,GAAAoU,EAAApU,EAAA,GACA,IAAAw6C,EAAAub,EAAA74C,MAAA/pB,KAAAqsB,SACAi7B,EAAAsb,EAAA54C,IAAAhqB,KAAAqsB,SACAtf,EAAA/M,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAA1U,EAAA,GAAAmU,EAAAnU,EAAA,GAEA,IAAAgY,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACA,OAAAlhB,KAAA+/B,MAAA3d,QAAA2C,IAEA4iE,EAAA/mF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GAEA,IADA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAAq8E,EAAAn6E,EAAAm6E,QACAz6E,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAA40E,EAAA50E,MAEAwf,EAAAqsC,YACArsC,EAAAq5B,IAAAvgD,EAAA0H,GAAAzH,EAAAyH,GAAA40E,EAAA50E,GAAA,EAAA,EAAAX,KAAA0e,IAAA,GACAhuB,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAv2B,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,aAIAw/B,EAAA/mF,UAAA0iF,WAAA,SAAAn7E,GACA,IAAAuC,EAAAO,EAAA4B,EAAAE,EAAAmhD,EAAAC,EACAy1B,EAAAvxC,EAAA4U,EAAAC,EAAAG,EAAAC,EAAA9lC,EAAAP,EAAAQ,EAAAP,EACA3Y,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GAEA,MAAAxI,KAAA8kF,SAAA,QAAA9kF,KAAA5B,MAAA8a,WAAA0rE,OAAAhwD,OACApT,EAAA/Y,EAAAzI,KAAAioF,WACAhnE,EAAAxY,EAAAzI,KAAAioF,WACAxmE,EAAA/Y,EAAA1I,KAAAioF,WACA/mE,EAAAxY,EAAA1I,KAAAioF,aAGAhhC,EAAA1+C,EAAAvI,KAAAqsB,SACA66B,EAAA3+C,EAAAvI,KAAAqsB,SACA3hB,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACAO,EAAA,CAAAqE,KAAA4b,IAAA1J,EAAAP,GAAA3R,KAAAsD,IAAA4O,EAAAP,IAAAO,EAAAvW,EAAA,GAAAgW,EAAAhW,EAAA,GACAo8C,EAAA7+C,EAAAxI,KAAAqsB,SACAi7B,EAAA9+C,EAAAxI,KAAAqsB,SACAxf,EAAA7M,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAA5U,EAAA,GAAAqU,EAAArU,EAAA,GACAE,EAAA,CAAAuC,KAAA4b,IAAAzJ,EAAAP,GAAA5R,KAAAsD,IAAA6O,EAAAP,IAAAO,EAAA1U,EAAA,GAAAmU,EAAAnU,EAAA,IAEA,IAAAgY,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAsiE,EAAAxjF,KAAA+/B,MAAA3d,QAAA2C,GACA5C,EAAA,GACA,GAAA,MAAAniB,KAAA8kF,SAAA,QAAA9kF,KAAA5B,MAAA8a,WAAA0rE,OAAAhwD,MACA,IAAA,IAAAxqB,EAAA,EAAAy5E,EAAAL,EAAAp5E,EAAAy5E,EAAA3iF,OAAAkJ,IAAA,CACA,IAAA6F,EAAA4zE,EAAAz5E,GACAioC,EAAA/iC,KAAAqS,IAAA3hB,KAAA6kF,QAAA50E,GAAA,GACAi+C,EAAAluD,KAAA8iF,SAAAxgD,OAAAqhD,UAAAl7E,EAAAzI,KAAAqoD,GAAAp4C,IAAAg3C,EAAAiH,EAAA,GAAAhH,EAAAgH,EAAA,GACAC,EAAAnuD,KAAA8iF,SAAArgD,OAAAkhD,UAAAj7E,EAAA1I,KAAAi6D,GAAAhqD,IAAAo3C,EAAA8G,EAAA,GAAA7G,EAAA6G,EAAA,IACAy1B,EAAAt0E,KAAAqS,IAAAslC,EAAAC,EAAA,GAAA53C,KAAAqS,IAAA0lC,EAAAC,EAAA,KACAjV,GACAlwB,EAAAnX,KAAA,CAAAiF,EAAA2zE,SAKA,IAAA,IAAAx1B,EAAA,EAAAg6B,EAAA5E,EAAAp1B,EAAAg6B,EAAAlnF,OAAAktD,IAAA,CACA,IAAAn+C,EAAAm4E,EAAAh6B,GACA/b,EAAA/iC,KAAAqS,IAAA3hB,KAAA6kF,QAAA50E,GAAA,IACA2zE,EAAAt0E,KAAAqS,IAAA3hB,KAAAuI,GAAA0H,GAAA1H,EAAA,GAAA+G,KAAAqS,IAAA3hB,KAAAwI,GAAAyH,GAAAzH,EAAA,KACA6pC,GACAlwB,EAAAnX,KAAA,CAAAiF,EAAA2zE,IAIA,OAAAnB,EAAAvgE,iCAAAC,IAEAwlE,EAAA/mF,UAAA2mF,UAAA,SAAAp/E,GACA,IAAAuC,EAAAO,EAAA4B,EAAAE,EACAs7E,EAAA7mE,EAAAP,EAAAQ,EAAAP,EACA3Y,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACA0lD,EAAAluD,KAAA8tB,SAAAvL,EAAA2rC,EAAA3rC,KAAAC,EAAA0rC,EAAA1rC,KAAAC,EAAAyrC,EAAAzrC,KAAAC,EAAAwrC,EAAAxrC,KACA3E,EAAA0kE,EAAAzgE,+BACA,GAAA,KAAA7Z,EAAA22B,UAAA,CAEA,IAAAmoB,OAAA,EAAAC,OAAA,EACAzlC,EAAAe,EACAtB,EAAAwB,EACA,MAAA1iB,KAAA8kF,SAAA,QAAA9kF,KAAA5B,MAAA8a,WAAA0rE,OAAAhwD,OACAqyB,EAAA1+C,EAAAvI,KAAAioF,WACA/gC,EAAA3+C,EAAAvI,KAAAioF,WACAv9E,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,KAGA29E,EAAAroF,KAAAqsB,SAAA,EACA46B,EAAA1+C,EAAA8/E,EACAnhC,EAAA3+C,EAAA8/E,EACAp9E,EAAAjL,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAAvW,EAAA,GAAAgW,EAAAhW,EAAA,QAGA,CAEA,IAAAo8C,OAAA,EAAAC,OAAA,EACA9lC,EAAAe,EACAtB,EAAAwB,EACA,MAAAziB,KAAA8kF,SAAA,QAAA9kF,KAAA5B,MAAA8a,WAAA0rE,OAAAhwD,OACAyyB,EAAA7+C,EAAAxI,KAAAioF,WACA3gC,EAAA9+C,EAAAxI,KAAAioF,WACAp7E,EAAA7M,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAA5U,EAAA,GAAAqU,EAAArU,EAAA,KAGAw7E,EAAAroF,KAAAqsB,SAAA,EACAg7B,EAAA7+C,EAAA6/E,EACA/gC,EAAA9+C,EAAA6/E,EACAt7E,EAAA/M,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAA1U,EAAA,GAAAmU,EAAAnU,EAAA,IAGA,IAAAgY,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAiB,EAAAniB,KAAA+/B,MAAA3d,QAAA2C,GAEA,OADAhH,EAAAqE,QAAAD,EACApE,GAEA4pE,EAAA/mF,UAAAymF,UAAA,SAAAl/E,GACA,IAAA8+C,EAAA9+C,EAAA8+C,IAAAC,EAAA/+C,EAAA++C,IAAAG,EAAAl/C,EAAAk/C,IAAAC,EAAAn/C,EAAAm/C,IACA58C,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACAO,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA8Z,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAnD,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAApiB,KAAA+/B,MAAA3d,QAAA2C,GACAhH,GAEA4pE,EAAA/mF,UAAA0nF,UAAA,SAAAngF,GAKA,IAJA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GAEAg7E,EAAA55E,EAAAg7B,MAAA,EAAA5kC,KAAAuI,GAAArH,QACAihB,EAAA,GACAlS,EAAA,EAAA+Z,EAAAw5D,EAAAtiF,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAAs4E,EAAA/E,EAAAvzE,GACAwyE,EAAA5hE,cAAA7gB,KAAAuI,GAAA0H,GAAAjQ,KAAAwI,GAAAyH,GAAA1H,EAAAC,IACA2Z,EAAAnX,KAAAu9E,GAGA,IAAAxqE,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAIA4pE,EAAA/mF,UAAAkjF,sBAAA,SAAAr0D,EAAA/kB,EAAAq1B,GACA,IAAAve,EAAA9W,EAAA8W,GAAAC,EAAA/W,EAAA+W,GAAAR,EAAAvW,EAAAuW,GAAAC,EAAAxW,EAAAwW,GAGA+lB,EAAAlH,EAAA,EACAx3B,EAAA,IAAAkH,MAAAw3B,GACA1+B,EAAAw3B,IAAAve,EAAAP,GAAA,EACA,IAAAzY,EAAA,IAAAiH,MAAAw3B,GACAz+B,EAAAu3B,IAAAte,EAAAP,GAAA,EACA,IAAA2jE,EAAA,IAAAp1E,MAAAw3B,GACA49C,EAAA9kD,GAAA,GAAAzwB,KAAA4b,IAAA5b,KAAAsd,IAAA3L,EAAAO,GAAAlS,KAAAsd,IAAA1L,EAAAO,IACAzhB,KAAA2xE,QAAAliD,EAAA,CAAAsQ,GAAA,CAAAx3B,GAAAA,EAAAC,GAAAA,EAAAq8E,QAAAA,KAEA8C,EA9NA,CA+NApF,EAAA4B,aACAvmF,EAAA+pF,WAAAA,EACA,IAAAa,EAAA,SAAAlhF,GAEA,SAAAkhF,EAAAj9E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiBA,OAnBA6G,EAAAY,UAAA+gF,EAAAlhF,GAIAkhF,EAAAzuE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,SACAvZ,KAAAY,UAAAoJ,aAAA29E,EACA3nF,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACAqH,MAAA,CAAAjU,EAAA0nB,UAAA,GACA7lB,KAAA,CAAA7B,EAAA4S,aAAA,CAAA2U,MAAA,SAAA/oB,MAAA,IACA+4E,OAAA,CAAAv3E,EAAA4S,cACA4nE,iBAAA,CAAAx6E,EAAA4J,gBAAA,QAGAuxE,EAAA5nF,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAkZ,WAAA0rE,OAAA/kE,UAAA,GAEA2oE,EApBA,CAqBAjG,EAAAgC,SACA3mF,EAAA4qF,OAAAA,EACAA,EAAAzuE,aC/PA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA+qF,EAAA/qF,EAAA,KACAgrF,EAAA,SAAAphF,GAEA,SAAAohF,IACA,OAAA,OAAAphF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAihF,EAAAphF,GAIAohF,EALA,CAMAD,EAAAE,iBACA/qF,EAAA8qF,YAAAA,EACA,IAAAE,EAAA,SAAAthF,GAEA,SAAAshF,EAAAr9E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAMA,OARA6G,EAAAY,UAAAmhF,EAAAthF,GAIAshF,EAAA7uE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAA0+E,GAEAE,EATA,CAUAH,EAAAI,aACAjrF,EAAAgrF,QAAAA,EACAA,EAAA7uE,aCvBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAorF,EAAAprF,EAAA,KACA+kF,EAAA/kF,EAAA,GACAirF,EAAA,SAAArhF,GAEA,SAAAqhF,IACA,OAAA,OAAArhF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA2GA,OA7GA6G,EAAAY,UAAAkhF,EAAArhF,GAIAqhF,EAAA/nF,UAAAmoF,UAAA,WACA/oF,KAAAgpF,OAAA,EACA,QAAAhpF,KAAA5B,MAAA8a,WAAA7J,MAAAulB,QACA50B,KAAAgpF,OAAAhpF,KAAAgsB,UAAA,GACAhsB,KAAAipF,OAAA,EACA,QAAAjpF,KAAA5B,MAAA8a,WAAA1J,OAAAolB,QACA50B,KAAAipF,OAAAjpF,KAAAksB,WAAA,IAEAy8D,EAAA/nF,UAAAm6D,UAAA,WACA,QAAA/6D,KAAA5B,MAAA8a,WAAA7J,MAAAulB,MACA50B,KAAAs/D,GAAAt/D,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAAurB,OAAA,UAEAvrB,KAAAs/D,GAAAt/D,KAAAurB,OACA,QAAAvrB,KAAA5B,MAAA8a,WAAA1J,OAAAolB,MACA50B,KAAAu/D,GAAAv/D,KAAA6iF,MAAA7iF,KAAA8iF,SAAArgD,OAAAziC,KAAAi6D,GAAAj6D,KAAAwrB,QAAA,UAEAxrB,KAAAu/D,GAAAv/D,KAAAwrB,SAEAm9D,EAAA/nF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GAEA,IADA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAA82D,EAAA50D,EAAA40D,GAAAC,EAAA70D,EAAA60D,GAAAsL,EAAAngE,EAAAmgE,OACAzgE,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,GAAA46D,EAAA56D,MAEAwf,EAAAqsC,YACArsC,EAAAwc,QAAA1jC,EAAA0H,GAAAzH,EAAAyH,GAAAqvD,EAAArvD,GAAA,EAAAsvD,EAAAtvD,GAAA,EAAA46D,EAAA56D,GAAA,EAAA,EAAAX,KAAA0e,IACAhuB,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAv2B,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,aAIAwgC,EAAA/nF,UAAA0iF,WAAA,SAAAn7E,GACA,IAAAuC,EAAAO,EAAA4B,EAAAE,EACAyU,EAAAP,EAAAQ,EAAAP,EAAA0iE,EAAA38B,EAAAC,EAAAG,EAAAC,EACA/+C,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACA,QAAAxI,KAAA5B,MAAA8a,WAAA7J,MAAAulB,OACApT,EAAA/Y,EAAAzI,KAAAgsB,UACA/K,EAAAxY,EAAAzI,KAAAgsB,YAGAi7B,EAAA1+C,EAAAvI,KAAAgsB,UACAk7B,EAAA3+C,EAAAvI,KAAAgsB,UACAthB,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,IAEA,QAAA1K,KAAA5B,MAAA8a,WAAA1J,OAAAolB,OACAnT,EAAA/Y,EAAA1I,KAAAksB,WACAhL,EAAAxY,EAAA1I,KAAAksB,aAGAm7B,EAAA7+C,EAAAxI,KAAAksB,WACAo7B,EAAA9+C,EAAAxI,KAAAksB,WACAjhB,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,IAKA,IAHA,IAAA8Z,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAsiE,EAAAxjF,KAAA+/B,MAAA3d,QAAA2C,GACA5C,EAAA,GACA/X,EAAA,EAAAy5E,EAAAL,EAAAp5E,EAAAy5E,EAAA3iF,OAAAkJ,IAAA,CACA,IAAA6F,EAAA4zE,EAAAz5E,GACAq4E,EAAAphE,iBAAA9Y,EAAAC,EAAAxI,KAAA6qE,OAAA56D,GAAAjQ,KAAAu/D,GAAAtvD,GAAA,EAAAjQ,KAAAs/D,GAAArvD,GAAA,EAAAjQ,KAAAuI,GAAA0H,GAAAjQ,KAAAwI,GAAAyH,MAEApD,EAAA7M,KAAA8iF,SAAAxgD,OAAAqhD,UAAAl7E,EAAAzI,KAAAqoD,GAAAp4C,IAAAg3C,EAAAp6C,EAAA,GAAAq6C,EAAAr6C,EAAA,GACAE,EAAA/M,KAAA8iF,SAAArgD,OAAAkhD,UAAAj7E,EAAA1I,KAAAi6D,GAAAhqD,IAAAo3C,EAAAt6C,EAAA,GAAAu6C,EAAAv6C,EAAA,GACA62E,EAAAt0E,KAAAqS,IAAAslC,EAAAC,EAAA,GAAA53C,KAAAqS,IAAA0lC,EAAAC,EAAA,GACAnlC,EAAAnX,KAAA,CAAAiF,EAAA2zE,KAGA,OAAAnB,EAAAvgE,iCAAAC,IAEAwmE,EAAA/nF,UAAAkjF,sBAAA,SAAAr0D,EAAA/kB,EAAAq1B,GACA,IAAAve,EAAA9W,EAAA8W,GAAAC,EAAA/W,EAAA+W,GAAAR,EAAAvW,EAAAuW,GAAAC,EAAAxW,EAAAwW,GACA+lB,EAAAlH,EAAA,EACAx3B,EAAA,IAAAkH,MAAAw3B,GACA1+B,EAAAw3B,IAAAve,EAAAP,GAAA,EACA,IAAAzY,EAAA,IAAAiH,MAAAw3B,GACAz+B,EAAAu3B,IAAAte,EAAAP,GAAA,EACA,IAAAnY,EAAA/I,KAAAs/D,GAAAv/B,GAAA//B,KAAAu/D,GAAAx/B,GACA+R,EAAA,GAAAxiC,KAAA4b,IAAA5b,KAAAsd,IAAA3L,EAAAO,GAAAlS,KAAAsd,IAAA1L,EAAAO,IACA69C,EAAA,IAAA7vD,MAAAw3B,GACAs4B,EAAA,IAAA9vD,MAAAw3B,GACAl+B,EAAA,GACAu2D,EAAAv/B,GAAA+R,EACAytB,EAAAx/B,GAAA+R,EAAA/oC,IAGAu2D,EAAAv/B,GAAA+R,EAAA/oC,EACAw2D,EAAAx/B,GAAA+R,GAEA9xC,KAAA2xE,QAAAliD,EAAA,CAAAsQ,GAAA,CAAAx3B,GAAAA,EAAAC,GAAAA,EAAA82D,GAAAA,EAAAC,GAAAA,EAAAsL,OAAA,CAAA,MAEA8d,EAAA/nF,UAAAsoF,QAAA,SAAAx+E,GACA,IAAA6X,EAAA7X,EAAA6X,KAAAE,EAAA/X,EAAA+X,KAAAD,EAAA9X,EAAA8X,KAAAE,EAAAhY,EAAAgY,KACA,MAAA,CACAH,KAAAA,EAAAviB,KAAAgpF,OACAvmE,KAAAA,EAAAziB,KAAAgpF,OACAxmE,KAAAA,EAAAxiB,KAAAipF,OACAvmE,KAAAA,EAAA1iB,KAAAipF,SAGAN,EA9GA,CA+GAG,EAAArB,qBACA7pF,EAAA+qF,gBAAAA,EACA,IAAAE,EAAA,SAAAvhF,GAEA,SAAAuhF,EAAAt9E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAPA6G,EAAAY,UAAAohF,EAAAvhF,GAIAuhF,EAAA9uE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eAEAsvE,EARA,CASAC,EAAApB,iBACA9pF,EAAAirF,YAAAA,EACAA,EAAA9uE,aChIA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA+kF,EAAA/kF,EAAA,GACA2P,EAAA3P,EAAA,IACAqnB,EAAArnB,EAAA,IACA87D,EAAA97D,EAAA,IACAm9D,EAAAn9D,EAAA,IACA2W,EAAA3W,EAAA,IACA6tD,EAAA7tD,EAAA,IACAwB,EAAAxB,EAAA,IACA20B,EAAA30B,EAAA,IACAI,EAAAJ,EAAA,IACA0N,EAAA1N,EAAA,IACAyrF,EAAAzrF,EAAA,KACAuzE,EAAAvzE,EAAA,KACAynF,EAAA,SAAA79E,GAEA,SAAA69E,IACA,IAAArkF,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAAsoF,cAAA,GACAtoF,EA+PA,OAnQA+F,EAAAY,UAAA09E,EAAA79E,GAMAtI,OAAAiU,eAAAkyE,EAAAvkF,UAAA,WAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA4Q,QAEAyC,YAAA,EACAC,cAAA,IAEA6xE,EAAAvkF,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAopF,cAAA,GACAppF,KAAA66D,QAAA,IAAAA,EAAA9P,QAAA/qD,KAAA5B,OAKA,IAAAirF,EAAArpF,KAAA8iF,SAAAvmD,UAAA8sD,GACA,GAAA,MAAAA,EAAA,CACA,IAAAC,EAAA,KACA,IACAA,EAAA5rF,EAAA,KAEA,MAAA2G,GACA,GAAA,qBAAAA,EAAAK,KAIA,MAAAL,EAHAnF,EAAAwB,OAAA5B,KAAA,+GAKA,GAAA,MAAAwqF,EAAA,CACA,IAAAC,EAAAD,EAAAtpF,KAAA5B,MAAAmb,KAAA,WACA,MAAAgwE,IACAvpF,KAAAwpF,QAAA,IAAAD,EAAAF,EAAA55D,IAAAzvB,UAIAmlF,EAAAvkF,UAAA6oF,YAAA,SAAA/pE,GACA1f,KAAA66D,QAAA5R,WAAAvpC,GACA,MAAA1f,KAAAwpF,SACAxpF,KAAAwpF,QAAAE,uBAEAvE,EAAAvkF,UAAAkU,OAAA,SAAA2a,EAAArN,EAAAhe,GACAqrB,EAAAqsC,YACA,MAAA97D,KAAAwpF,SACAxpF,KAAAwpF,QAAA10E,OAAA2a,EAAArN,EAAAhe,IAGApE,KAAA2xE,QAAAliD,EAAArN,EAAAhe,IAEA+gF,EAAAvkF,UAAAoU,aAAA,WACA,OAAA,GAEAmwE,EAAAvkF,UAAA+oF,gBAAA,WACA3pF,KAAA8iF,SAAA6G,mBAEAxE,EAAAvkF,UAAAsoF,QAAA,SAAAp7D,GACA,OAAAA,GAEAq3D,EAAAvkF,UAAAktB,OAAA,WACA,OAAA9tB,KAAAkpF,QAAAlpF,KAAA+/B,MAAAhb,OAEAogE,EAAAvkF,UAAAgpF,WAAA,WAGA,IAFA,IAAAC,EAAA9kE,EAAAtT,QACAq4E,EAAA9pF,KAAA+/B,MAAA2Y,OAAA3zB,EAAAujB,cACAl+B,EAAA,EAAA2/E,EAAAD,EAAA1/E,EAAA2/E,EAAA7oF,OAAAkJ,IAAA,CACA,IAAA3B,EAAAshF,EAAA3/E,GACA3B,EAAA8Z,KAAAsnE,EAAAtnE,OACAsnE,EAAAtnE,KAAA9Z,EAAA8Z,MACA9Z,EAAAga,KAAAonE,EAAApnE,OACAonE,EAAApnE,KAAAha,EAAAga,MAGA,IADA,IAAAunE,EAAAhqF,KAAA+/B,MAAA2Y,OAAA3zB,EAAAyjB,cACA99B,EAAA,EAAAu/E,EAAAD,EAAAt/E,EAAAu/E,EAAA/oF,OAAAwJ,IAAA,CACA,IAAAhC,EAAAuhF,EAAAv/E,GACAhC,EAAA8Z,KAAAqnE,EAAArnE,OACAqnE,EAAArnE,KAAA9Z,EAAA8Z,MACA9Z,EAAAga,KAAAmnE,EAAAnnE,OACAmnE,EAAAnnE,KAAAha,EAAAga,MAEA,OAAA1iB,KAAAkpF,QAAAW,IAEA1E,EAAAvkF,UAAAspF,iBAAA,SAAAtlE,EAAA3U,EAAAvF,GACA,IAAAnC,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,GACA,OAAAka,GACA,IAAA,SAAA,MAAA,CAAAnc,EAAAzI,KAAAikF,SAAAh0E,EAAA1H,EAAAC,GAAAE,EAAA1I,KAAAkkF,SAAAj0E,EAAA1H,EAAAC,IACA,QAAA,OAAA,OAGA28E,EAAAvkF,UAAAiiF,MAAA,SAAA95E,EAAAohF,EAAAC,EAAAC,EAAAC,GAOA,IAAAC,EACAC,OAPA,IAAAH,IACAA,EAAA,aAEA,IAAAC,IACAA,GAAA,GAIA,IAAAhlD,EAAA6kD,EAAAjpF,OACA,GAAA,UAAAmpF,EAAA,CACA,IAAAI,EAAAp4D,EAAAloB,IAAAigF,EAAA,SAAAt4C,GAAA,OAAAA,EAAA,IACAy4C,EAAA,IAAAr3D,aAAAoS,GACA,IAAA,IAAAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAs6E,EAAAt6E,GAAAk6E,EAAAl6E,GAAAw6E,EAAAx6E,GAEAu6E,EAAA,IAAAt3D,aAAAoS,GACA,IAAA,IAAAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAu6E,EAAAv6E,GAAAk6E,EAAAl6E,GAAAw6E,EAAAx6E,OAGA,CACAs6E,EAAAJ,EACAK,EAAA,IAAAt3D,aAAAoS,GACA,IAAA,IAAAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAu6E,EAAAv6E,GAAAs6E,EAAAt6E,GAAAm6E,EAAAn6E,GAGA,IAAAy6E,EAAA3hF,EAAAurB,UAAAi2D,GACAI,EAAA5hF,EAAAurB,UAAAk2D,GACA,OAAAF,EACAj4D,EAAAloB,IAAAugF,EAAA,SAAAplF,EAAA2K,GAAA,OAAAX,KAAAC,KAAAD,KAAAsd,IAAA+9D,EAAA16E,GAAAy6E,EAAAz6E,OAEAoiB,EAAAloB,IAAAugF,EAAA,SAAAplF,EAAA2K,GAAA,OAAAX,KAAAsd,IAAA+9D,EAAA16E,GAAAy6E,EAAAz6E,OAEAk1E,EAAAvkF,UAAAkjF,sBAAA,SAAA7mB,EAAA9xC,EAAAy/D,KACAzF,EAAAvkF,UAAAi4B,SAAA,SAAA1wB,GACA,IAAA4V,EAAA,KACAsrB,EAAA,QAAAlhC,EAAAoR,KAQA,OAPA,MAAAvZ,KAAAqpC,GACAtrB,EAAA/d,KAAAqpC,GAAAlhC,GAEA,MAAAnI,KAAAopF,cAAAjhF,EAAAoR,QACAra,EAAAwB,OAAAC,MAAA,IAAAwH,EAAAoR,KAAA,iCAAAvZ,KAAA5B,MAAAmb,MACAvZ,KAAAopF,cAAAjhF,EAAAoR,OAAA,GAEAwE,GAEAonE,EAAAvkF,UAAA0mF,wBAAA,SAAAn/E,GACA,IAAA8+C,EAAA9+C,EAAA8+C,IAAAC,EAAA/+C,EAAA++C,IAAAG,EAAAl/C,EAAAk/C,IAAAC,EAAAn/C,EAAAm/C,IACA58C,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACAO,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA4+E,EAAApH,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAnD,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAApiB,KAAA+/B,MAAA3d,QAAAynE,GACA9rE,GAEAonE,EAAAvkF,UAAAk5D,SAAA,SAAAp6C,EAAA0C,EAAAyoE,GACA,IAAAngF,EAAAO,EAAA4B,EAAAE,EACA3I,EAAApE,KAAA5B,MAAAqhB,sBAAAC,GAEA,GADA1f,KAAA66D,QAAA7P,gBAAA5oC,GACAA,KAAApiB,gBAAAmpF,EAAA2B,UAAA,CACA,IAAAC,EAAA,GACAtwE,EAAA,SAAA6D,GACA,IAAAf,EAAAnZ,EAAAka,GACA,MAAAA,EAAA0sE,OAAA,GACAD,EAAAzsE,GAAA8D,EAAAjY,IAAA,SAAA8F,GAAA,OAAAsN,EAAAtN,KAEA86E,EAAAzsE,GAAAf,GAEA,IAAA,IAAAe,KAAAla,EACAqW,EAAA6D,GAEAla,EAAA2mF,EAkBA,GAfAjtF,EAAA+5B,OADA73B,KACAoE,GAGApE,KAAA8iF,SAAAvmD,UAAAn+B,MAAA47D,UACA,MALAh6D,KAKAqoD,KACA39C,EAAA8uD,EAAA7lB,WANA3zC,KAMAqoD,GANAroD,KAMAi6D,IANAj6D,KAMAqoD,GAAA39C,EAAA,GANA1K,KAMAi6D,GAAAvvD,EAAA,IACA,MAPA1K,KAOAk6D,MACAjvD,EAAAuuD,EAAAplB,aARAp0C,KAQAk6D,IARAl6D,KAQAm6D,KARAn6D,KAQAk6D,IAAAjvD,EAAA,GARAjL,KAQAm6D,IAAAlvD,EAAA,IACA,MATAjL,KASAmmF,MACAt5E,EAAA2sD,EAAA7lB,WAVA3zC,KAUAmmF,IAVAnmF,KAUAqmF,KAVArmF,KAUAmmF,IAAAt5E,EAAA,GAVA7M,KAUAqmF,IAAAx5E,EAAA,IACA,MAXA7M,KAWAomF,MACAr5E,EAAAysD,EAAA7lB,WAZA3zC,KAYAomF,IAZApmF,KAYAsmF,KAZAtmF,KAYAomF,IAAAr5E,EAAA,GAZA/M,KAYAsmF,IAAAv5E,EAAA,KAIA,MAAA/M,KAAA8iF,SAAAvmD,UAAA0E,MAAA4yC,SAGA,IAFA,IAAAoX,EAAAjrF,KAAA8iF,SAAAvmD,UAAA0E,MAAA4yC,SAAA7zE,KAAA5B,MAAAi9D,cACA6vB,EAAAlrF,KAAA8iF,SAAAvmD,UAAA0E,MAAA6yC,SAAA9zE,KAAA5B,MAAAm9D,cACAnxD,EAAA,EAAA8jD,EAAAluD,KAAA5B,MAAA+sF,QAAA/gF,EAAA8jD,EAAAhtD,OAAAkJ,IAAA,CACA,IAAA+jD,EAAAD,EAAA9jD,GAAAghF,EAAAj9B,EAAA,GAAAk9B,EAAAl9B,EAAA,GACAi9B,EAAA,IAAAA,EACAC,EAAA,IAAAA,EAGA,MAzBArrF,KAyBAk6D,KACA+wB,aAAAha,EAAAyD,cA1BA10E,KA2BAorF,GAAA/4D,EAAAloB,IA3BAnK,KA2BAorF,GAAA,SAAA51C,GAAA,OAAAy1C,EAAAK,YAAA91C,MAEA01C,aAAAja,EAAAyD,cA7BA10E,KA8BAqrF,GAAAh5D,EAAAloB,IA9BAnK,KA8BAqrF,GAAA,SAAA71C,GAAA,OAAA01C,EAAAI,YAAA91C,QAKAy1C,aAAAha,EAAAyD,cAnCA10E,KAoCAorF,GAAAH,EAAAK,YApCAtrF,KAoCAorF,KAEAF,aAAAja,EAAAyD,cAtCA10E,KAuCAqrF,GAAAH,EAAAI,YAvCAtrF,KAuCAqrF,MAKA,MAAArrF,KAAAwpF,SACAxpF,KAAAwpF,QAAA+B,iBA7CAvrF,KA6CAqoD,GAAAnnD,QACAlB,KAAA+oF,UAAA8B,GACA7qF,KAAAwrF,cAEArG,EAAAvkF,UAAAmoF,UAAA,SAAA0C,KACAtG,EAAAvkF,UAAA4qF,WAAA,WACAxrF,KAAA+/B,MAAA//B,KAAAkmF,eAEAf,EAAAvkF,UAAA8qF,UAAA,SAAAtpE,GAEA,OAAA,MAAApiB,KAAAwpF,SAAA,MAAAxpF,KAAAmoF,WACA/lE,EAEApiB,KAAAmoF,cAEAhD,EAAAvkF,UAAA+qF,SAAA,WAKA,IAJA,IAAAjhF,EAIAN,EAAA,EAAAa,EAAAjL,KAAA5B,MAAA+sF,QAAA/gF,EAAAa,EAAA/J,OAAAkJ,IAAA,CACA,IAAAyC,EAAA5B,EAAAb,GAAAghF,EAAAv+E,EAAA,GAAAw+E,EAAAx+E,EAAA,GACA++E,EAAA,IAAAR,EACAS,EAAA,IAAAR,EAGA,GADAA,EAAA,IAAAA,EACA,MAPArrF,KAKAorF,EAAA,IAAAA,KAEAhgF,EAAAa,QAPAjM,KAOAorF,GAAA,KAAAhgF,EAAA0qC,aAPA91C,KAOAorF,GAAA,KAAA,CACA,IAAA9lD,EARAtlC,KAQAorF,GAAAlqF,OARAlB,KASA4rF,GAAA,IAAAn8E,MAAA61B,GATAtlC,KAUA6rF,GAAA,IAAAp8E,MAAA61B,GACA,IAAA,IAAAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IAAA,CACA,IAAAlD,EAAA/M,KAAAkyE,cAZAlyE,KAYAorF,GAAAn7E,GAZAjQ,KAYAqrF,GAAAp7E,IAAA1H,EAAAwE,EAAA,GAAAvE,EAAAuE,EAAA,GAZA/M,KAaA4rF,GAAA37E,GAAA1H,EAbAvI,KAcA6rF,GAAA57E,GAAAzH,QAIAkC,EAAA1K,KAAAkyE,cAlBAlyE,KAkBAorF,GAlBAprF,KAkBAqrF,IAlBArrF,KAkBA4rF,GAAAlhF,EAAA,GAlBA1K,KAkBA6rF,GAAAnhF,EAAA,GAEA1K,KAAA+6D,aAGAoqB,EAAAvkF,UAAAm6D,UAAA,aACAoqB,EAAAvkF,UAAAsxE,cAAA,SAAAzpE,EAAAC,GACA,OAAA1I,KAAA8iF,SAAAvmD,UAAA21C,cAAAzpE,EAAAC,EAAA1I,KAAA5B,MAAAi9D,aAAAr7D,KAAA5B,MAAAm9D,eAEA4pB,EApQA,CAqQA9wE,EAAAe,MACAxX,EAAAunF,UAAAA,EACA,IAAAE,EAAA,SAAA/9E,GAEA,SAAA+9E,EAAA95E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAqBA,OAvBA6G,EAAAY,UAAA49E,EAAA/9E,GAIA+9E,EAAAtrE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAuqF,QAAA,GACAnrF,KAAA8a,SAAA,CACAugD,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,cAGA0xD,EAAAjhB,OAAA,SAAAA,GACA,IAAA+mB,EAAAnrF,KAAAY,UAAAuqF,QAAAx7E,OAAAy0D,GACApkE,KAAAY,UAAAuqF,QAAAA,EAEA,IADA,IAAAptE,EAAA,GACA3T,EAAA,EAAA0hF,EAAA1nB,EAAAh6D,EAAA0hF,EAAA5qF,OAAAkJ,IAAA,CACA,IAAAM,EAAAohF,EAAA1hF,GAAA3B,EAAAiC,EAAA,GAAAhC,EAAAgC,EAAA,GACAqT,EAAAtV,GAAA,CAAA4E,EAAA6nB,gBACAnX,EAAArV,GAAA,CAAA2E,EAAA6nB,gBAEAl1B,KAAAia,OAAA8D,IAEAsnE,EAxBA,CAyBA95B,EAAAI,OACA/tD,EAAAynF,MAAAA,EACAA,EAAAtrE,aCjTA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAquF,EAAAruF,EAAA,KACA4nF,EAAA5nF,EAAA,IACA2P,EAAA3P,EAAA,IACAsuF,EAAA,SAAA1kF,GAEA,SAAA0kF,IACA,OAAA,OAAA1kF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA8CA,OAhDA6G,EAAAY,UAAAukF,EAAA1kF,GAIA0kF,EAAAprF,UAAAslF,YAAA,WAEA,IADA,IAAA5tC,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAomF,IAAAllF,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAAgR,EAAAjhB,KAAAomF,IAAAn2E,GACAkR,EAAAnhB,KAAAisF,IAAAh8E,GACAvH,EAAA1I,KAAAi6D,GAAAhqD,IACAsxE,MAAAtgE,EAAAE,EAAAzY,IAAAg9C,SAAAzkC,EAAAE,EAAAzY,IAEA4vC,EAAAttC,KAAA,CAAAuX,KAAAjT,KAAA4b,IAAAjK,EAAAE,GAAAqB,KAAA9Z,EAAA+Z,KAAAnT,KAAAsD,IAAAqO,EAAAE,GAAAuB,KAAAha,EAAAuH,EAAAA,IAEA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEA0zC,EAAAprF,UAAAsrF,OAAA,SAAAz8D,EAAAy3B,EAAAilC,EAAA3jF,EAAA6gC,GACA5Z,EAAAqsC,YACA,IAAA,IAAA7rD,EAAA,EAAA+Z,EAAAk9B,EAAAhmD,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAAy4B,OAAAhB,EAAAj3C,GAAAzH,EAAAyH,IAGA,IAAA,IAAA8Z,EAAAoiE,EAAAjrF,OAAA,EAAA+O,EAAA8Z,EAAA9Z,GAAA,EAAAA,IACAwf,EAAAy4B,OAAAikC,EAAAl8E,GAAAzH,EAAAyH,IAEAwf,EAAAssC,YACA1yB,EAAAxhC,KAAA4nB,IAEAu8D,EAAAprF,UAAA+wE,QAAA,SAAAliD,EAAAg8D,EAAA/gF,GACA,IAAA5J,EAAAd,KACAknD,EAAAx8C,EAAAw8C,IAAAilC,EAAAzhF,EAAAyhF,IAAA3jF,EAAAkC,EAAAlC,GACAxI,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAAgzB,UAAA95B,GACAzvB,KAAAksF,OAAAz8D,EAAAy3B,EAAAilC,EAAA3jF,EAAAinB,EAAA8G,OAEAv2B,KAAA66D,QAAA9jC,MAAAyzB,MAAA/6B,EAAA,EAAA,WAAA,OAAA3uB,EAAAorF,OAAAz8D,EAAAy3B,EAAAilC,EAAA3jF,EAAAinB,EAAA8G,OAAA,WAAA,OAAAz1B,EAAAgiF,SAAAhoB,oBAEAkxB,EAAAprF,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAAknD,IAAAj3C,GAAAjQ,KAAAmsF,IAAAl8E,IAAA,GAEA+7E,EAAAprF,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAAwI,GAAAyH,IAEA+7E,EAAAprF,UAAAm6D,UAAA,WACA/6D,KAAAknD,IAAAlnD,KAAA8iF,SAAAxgD,OAAAhO,UAAAt0B,KAAAomF,KACApmF,KAAAmsF,IAAAnsF,KAAA8iF,SAAAxgD,OAAAhO,UAAAt0B,KAAAisF,KACAjsF,KAAAwI,GAAAxI,KAAA8iF,SAAArgD,OAAAnO,UAAAt0B,KAAAi6D,KAEA+xB,EAjDA,CAkDAD,EAAA7G,UACAtnF,EAAAouF,UAAAA,EACA,IAAAI,EAAA,SAAA9kF,GAEA,SAAA8kF,EAAA7gF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAA2kF,EAAA9kF,GAIA8kF,EAAAryE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAoJ,aAAAgiF,EACAhsF,KAAAia,OAAA,CACAgH,GAAA,CAAA5T,EAAA6nB,gBACA/T,GAAA,CAAA9T,EAAA6nB,gBACAxsB,EAAA,CAAA2E,EAAA6nB,mBAGAk3D,EAdA,CAeAL,EAAA3G,MACAxnF,EAAAwuF,MAAAA,EACAA,EAAAryE,aC1EA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2uF,EAAA3uF,EAAA,KACA2P,EAAA3P,EAAA,IACA4uF,EAAA,SAAAhlF,GAEA,SAAAglF,IACA,OAAA,OAAAhlF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAgCA,OAlCA6G,EAAAY,UAAA6kF,EAAAhlF,GAIAglF,EAAA1rF,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAA4+D,MAAA3uD,GAAAjQ,KAAA8+D,OAAA7uD,IAAA,GAEAq8E,EAAA1rF,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAAwI,GAAAyH,IAEAq8E,EAAA1rF,UAAAslF,YAAA,WACA,OAAAlmF,KAAAinF,WAAAjnF,KAAAi6D,GAAA/4D,SAEAorF,EAAA1rF,UAAAsmF,MAAA,SAAAj3E,GACA,IAAAk3E,EAAA73E,KAAA4b,IAAAlrB,KAAAsrB,MAAArb,GAAAjQ,KAAAyrB,OAAAxb,IACA4V,EAAAvW,KAAAsD,IAAA5S,KAAAsrB,MAAArb,GAAAjQ,KAAAyrB,OAAAxb,IACA0Q,EAAA3gB,KAAAi6D,GAAAhqD,GAAA,GAAAjQ,KAAAwrB,QAAAvb,GACAsR,EAAAvhB,KAAAi6D,GAAAhqD,GAAA,GAAAjQ,KAAAwrB,QAAAvb,GACA,MAAA,CAAAk3E,EAAAthE,EAAAlF,EAAAY,IAEA+qE,EAAA1rF,UAAAm6D,UAAA,WACA/6D,KAAAwI,GAAAxI,KAAA8iF,SAAArgD,OAAAnO,UAAAt0B,KAAAi6D,IACAj6D,KAAAu/D,GAAAv/D,KAAA6iF,MAAA7iF,KAAA8iF,SAAArgD,OAAAziC,KAAAi6D,GAAAj6D,KAAAwrB,QAAA,UACAxrB,KAAA4+D,MAAA5+D,KAAA8iF,SAAAxgD,OAAAhO,UAAAt0B,KAAAsrB,OACAtrB,KAAA8+D,OAAA9+D,KAAA8iF,SAAAxgD,OAAAhO,UAAAt0B,KAAAyrB,QACA,IAAA6Z,EAAAtlC,KAAAwI,GAAAtH,OACAlB,KAAA6kC,KAAA,IAAA3R,aAAAoS,GACAtlC,KAAAi/D,QAAA,IAAA/rC,aAAAoS,GACA,IAAA,IAAAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAjQ,KAAA6kC,KAAA50B,GAAAjQ,KAAAwI,GAAAyH,GAAAjQ,KAAAu/D,GAAAtvD,GAAA,EACAjQ,KAAAi/D,QAAAhvD,GAAAjQ,KAAAwI,GAAAyH,GAAAjQ,KAAAu/D,GAAAtvD,GAAA,EAEAjQ,KAAAonF,mBAEAkF,EAnCA,CAoCAD,EAAArF,SACAppF,EAAA0uF,SAAAA,EACA,IAAAC,EAAA,SAAAjlF,GAEA,SAAAilF,EAAAhhF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAYA,OAdA6G,EAAAY,UAAA8kF,EAAAjlF,GAIAilF,EAAAxyE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAsiF,EACAtsF,KAAAokE,OAAA,CAAA,CAAA,OAAA,OACApkE,KAAAia,OAAA,CACAzK,OAAA,CAAAnC,EAAA4S,cACA3R,MAAA,CAAAjB,EAAA6nB,kBAEAl1B,KAAAob,SAAA,CAAAhN,KAAA,KAEAm+E,EAfA,CAgBAF,EAAA7E,KACA5pF,EAAA2uF,KAAAA,EACAA,EAAAxyE,aC5DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAunF,EAAAvnF,EAAA,KACA+kF,EAAA/kF,EAAA,GACA2P,EAAA3P,EAAA,IACA4nF,EAAA5nF,EAAA,IACA8kF,EAAA9kF,EAAA,KACA8uF,EAAA,SAAAllF,GAEA,SAAAklF,IACA,OAAA,OAAAllF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAgJA,OAlJA6G,EAAAY,UAAA+kF,EAAAllF,GAIAklF,EAAA5rF,UAAAqjF,SAAA,SAAAh0E,GAAA,OAAAjQ,KAAAuI,GAAA0H,IACAu8E,EAAA5rF,UAAAsjF,SAAA,SAAAj0E,GAAA,OAAAjQ,KAAAwI,GAAAyH,IACAu8E,EAAA5rF,UAAAmoF,UAAA,WACA,IAAAzjD,EAAAtlC,KAAAysF,GAAAvrF,OACAgO,EAAAlP,KAAA5B,MAAA8Q,KACAw9E,EAAA1sF,KAAA5B,MAAAsuF,aAGA,GAFA1sF,KAAAqoD,GAAA,IAAAn1B,aAAAoS,GACAtlC,KAAAi6D,GAAA,IAAA/mC,aAAAoS,GACA,aAAAtlC,KAAA5B,MAAA6iE,YACA,IAAA,IAAAhxD,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAjQ,KAAAqoD,GAAAp4C,GAAAf,EAAAI,KAAAsT,KAAA,IAAA5iB,KAAAysF,GAAAx8E,GAAAjQ,KAAA2sF,GAAA18E,GAAA,GAAAy8E,EACA1sF,KAAAi6D,GAAAhqD,GAAA,GAAAf,EAAA,EAAAlP,KAAA2sF,GAAA18E,QAIA,IAAA,IAAAA,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAjQ,KAAAqoD,GAAAp4C,GAAA,EAAAf,EAAA,EAAAlP,KAAAysF,GAAAx8E,GACAjQ,KAAAi6D,GAAAhqD,IAAAf,EAAAI,KAAAsT,KAAA,IAAA5iB,KAAA2sF,GAAA18E,GAAAjQ,KAAAysF,GAAAx8E,GAAA,GAAAy8E,GAIAF,EAAA5rF,UAAAslF,YAAA,WACA,IAAAx7E,EACAkiF,EAAA5sF,KAAA5B,MAAA8Q,KACA29E,EAAAv9E,KAAAsT,KAAA,GAAAgqE,EAAA,EACA,WAAA5sF,KAAA5B,MAAA6iE,aACA4rB,GAAAniF,EAAA,CAAAkiF,EAAAC,IAAA,GAAAD,EAAAliF,EAAA,GACAkiF,GAAA5sF,KAAA5B,MAAAsuF,cAGAG,GAAA7sF,KAAA5B,MAAAsuF,aAEA,IADA,IAAAp0C,EAAA,GACAroC,EAAA,EAAAA,EAAAjQ,KAAAqoD,GAAAnnD,OAAA+O,IAAA,CACA,IAAAxH,EAAAzI,KAAAqoD,GAAAp4C,GACAvH,EAAA1I,KAAAi6D,GAAAhqD,IACAsxE,MAAA94E,EAAAC,IAAAg9C,SAAAj9C,EAAAC,IAEA4vC,EAAAttC,KAAA,CAAAuX,KAAA9Z,EAAAokF,EAAArqE,KAAA9Z,EAAAkkF,EAAAnqE,KAAAha,EAAAokF,EAAAnqE,KAAAha,EAAAkkF,EAAA38E,EAAAA,IAEA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAIAk0C,EAAA5rF,UAAA+qF,SAAA,WACA,IAAAjhF,EAAAO,EACAP,EAAA1K,KAAAkyE,cAAAlyE,KAAAqoD,GAAAroD,KAAAi6D,IAAAj6D,KAAAuI,GAAAmC,EAAA,GAAA1K,KAAAwI,GAAAkC,EAAA,GACAO,EAAAjL,KAAA8sF,yBAAA9sF,KAAA+sF,IAAA9hF,EAAA,GAAAjL,KAAAgtF,IAAA/hF,EAAA,IAEAuhF,EAAA5rF,UAAAksF,uBAAA,WACA,IAAA59E,EAAAlP,KAAA5B,MAAA8Q,KACAw9E,EAAA1sF,KAAA5B,MAAAsuF,aACA,GAAA,aAAA1sF,KAAA5B,MAAA6iE,YAAA,CACA,IAAAgsB,EAAAjtF,KAAA8iF,SAAArgD,OACAkxC,EAAA3zE,KAAA8iF,SAAAxgD,OACAzc,EAAAvW,KAAAsd,IAAAqgE,EAAAx/D,QAAA,GAAAw/D,EAAAx/D,QAAAve,IACAy+B,EAAAr+B,KAAAsT,KAAA,GAAA,EAAAtT,KAAAsd,IAAA+mD,EAAAlmD,QAAA,GAAAkmD,EAAAlmD,QAAAve,IAAAw9E,EACAr6C,EAAAxsB,EAAA,EACAknE,EAAA,CAAA,GAAAp/C,GAAAA,EAAA,EAAAA,EAAAA,GACAq/C,EAAA,CAAAnnE,EAAAwsB,GAAAA,GAAAxsB,GAAAwsB,EAAAA,GACA,MAAA,CAAA06C,EAAAC,GAGA,IAAAC,EAAAjtF,KAAA8iF,SAAAxgD,OACAqxC,EAAA3zE,KAAA8iF,SAAArgD,OACA5c,EAAAvW,KAAAsd,IAAAqgE,EAAAx/D,QAAA,GAAAw/D,EAAAx/D,QAAAve,IACAy+B,EAAAr+B,KAAAsT,KAAA,GAAA,EAAAtT,KAAAsd,IAAA+mD,EAAAlmD,QAAA,GAAAkmD,EAAAlmD,QAAAve,IAAAw9E,EACAr6C,EAAAxsB,EAAA,EACAknE,EAAA,CAAAlnE,EAAAwsB,GAAAA,GAAAxsB,GAAAwsB,EAAAA,GACA26C,EAAA,CAAA,GAAAr/C,GAAAA,EAAA,EAAAA,EAAAA,GACA,MAAA,CAAAo/C,EAAAC,IAGAR,EAAA5rF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GAEA,IADA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAAukF,EAAAriF,EAAAqiF,IAAAC,EAAAtiF,EAAAsiF,IAAAE,EAAAxiF,EAAAwiF,OACA9iF,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,IAAAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAAi9E,EAAAj9E,IAAA,CAEAwf,EAAA+c,UAAAjkC,EAAA0H,GAAAzH,EAAAyH,IACAwf,EAAAqsC,YACA,IAAA,IAAAv2B,EAAA,EAAAA,EAAA,EAAAA,IACA9V,EAAAy4B,OAAA6kC,EAAAxnD,GAAA2nD,EAAAj9E,GAAA+8E,EAAAznD,GAAA2nD,EAAAj9E,IAEAwf,EAAAssC,YACAtsC,EAAA+c,WAAAjkC,EAAA0H,IAAAzH,EAAAyH,IACAjQ,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAv2B,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,aAIAqkC,EAAA5rF,UAAA0iF,WAAA,SAAAn7E,GAMA,IALA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACAg7E,EAAAxjF,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAA9Z,EAAA+Z,KAAA9Z,EAAA+Z,KAAAha,EAAAia,KAAAha,IACAyZ,EAAA,GACA/X,EAAA,EAAAy5E,EAAAL,EAAAp5E,EAAAy5E,EAAA3iF,OAAAkJ,IAAA,CACA,IAAA6F,EAAA4zE,EAAAz5E,GACAq4E,EAAA5hE,cAAAtY,EAAAvI,KAAAuI,GAAA0H,GAAAzH,EAAAxI,KAAAwI,GAAAyH,GAAAjQ,KAAA+sF,IAAA/sF,KAAAgtF,MACA7qE,EAAAnX,KAAAiF,GAGA,IAAA8N,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEAyuE,EAAA5rF,UAAA2mF,UAAA,SAAAp/E,GACA,IACAga,EADA5Z,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GAEA,GAAA,KAAAL,EAAA22B,UAAA,CACA,IAAAp2B,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACAm6D,EAAA3iE,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA4jB,QACAj+B,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAA+b,EAAA54C,MAAA44C,EAAA34C,KAAAzH,EAAA7X,EAAA,GAAA+X,EAAA/X,EAAA,GACAyX,EAAAniB,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAAA,EAAAC,KAAA9Z,EAAA+Z,KAAAA,EAAAC,KAAAha,QAEA,CACA,IAAAD,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAq6D,EAAA5iE,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA6jB,QACA39B,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAgc,EAAA74C,MAAA64C,EAAA54C,KAAAxH,EAAAvX,EAAA,GAAAyX,EAAAzX,EAAA,GACAkX,EAAAniB,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAA9Z,EAAA+Z,KAAAA,EAAAC,KAAAha,EAAAia,KAAAA,IAEA,IAAA3E,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEAyuE,EAAA5rF,UAAAymF,UAAA,SAAAl/E,GACA,IAAA8+C,EAAA9+C,EAAA8+C,IAAAC,EAAA/+C,EAAA++C,IAAAG,EAAAl/C,EAAAk/C,IAAAC,EAAAn/C,EAAAm/C,IACA58C,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACAO,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA8Z,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAnD,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAApiB,KAAA+/B,MAAA3d,QAAA2C,GACAhH,GAEAyuE,EAAA5rF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuB,oBAAA/jF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEAysD,EAnJA,CAoJAvH,EAAAE,WACAvnF,EAAA4uF,YAAAA,EACA,IAAAW,EAAA,SAAA7lF,GAEA,SAAA6lF,EAAA5hF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAeA,OAjBA6G,EAAAY,UAAA0lF,EAAA7lF,GAIA6lF,EAAApzE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAAwiF,EACAxsF,KAAAokE,OAAA,CAAA,CAAA,IAAA,OACApkE,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACA/K,KAAA,CAAA7B,EAAAkmB,OAAA,GACAm5D,aAAA,CAAAr/E,EAAAkmB,OAAA,GACAxqB,MAAA,CAAAsE,EAAAioB,WAAA,GACA2rC,YAAA,CAAA5zD,EAAA4I,mBAAA,eAEAjW,KAAAob,SAAA,CAAAwa,WAAA,QAEAu3D,EAlBA,CAmBAlI,EAAAI,OACAznF,EAAAuvF,QAAAA,EACAA,EAAApzE,aClLA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA0vF,EAAA1vF,EAAA,KACA4iE,EAAA5iE,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACA2vF,EAAA,SAAA/lF,GAEA,SAAA+lF,IACA,OAAA,OAAA/lF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA0DA,OA5DA6G,EAAAY,UAAA4lF,EAAA/lF,GAIA+lF,EAAAzsF,UAAA4T,WAAA,WACA,IAAA1T,EAAAd,KACAsH,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA0iE,aAAA/nD,OAAA,WAAA,OAAAjY,EAAAwsF,kBACAttF,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAq0E,aAAAx0E,OAAA,WAAA,OAAAjY,EAAAgiF,SAAAhoB,oBAEAuyB,EAAAzsF,UAAA0sF,cAAA,WAEA,MAAAttF,KAAAmhE,aACAnhE,KAAA+oF,YACA/oF,KAAA8iF,SAAAvmD,UAAAu+B,mBAGAuyB,EAAAzsF,UAAAmoF,UAAA,WACA/oF,KAAAwtF,wBAEA,IADA,IAAAnsB,EAAArhE,KAAA5B,MAAA0iE,aAAAS,YACAtxD,EAAA,EAAA+Z,EAAAhqB,KAAAytF,OAAAvsF,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAAy9E,OAAA,EACA,GAAA,MAAA1tF,KAAA2tF,cAAA3tF,KAAA2tF,aAAA19E,GAAA/O,OAAA,EAAA,CACAwsF,EAAA1tF,KAAAytF,OAAAx9E,GACA,IAAAilC,EAAAl1C,KAAA2tF,aAAA19E,GACAjQ,KAAAwrB,QAAAvb,GAAAilC,EAAA,GACAl1C,KAAAurB,OAAAtb,GAAAilC,EAAA,OAEA,CACA,IAAAu4C,EAAAztF,KAAAytF,OAAAx9E,GACAy9E,EAAA9jF,EAAA+F,OAAA89E,GACAztF,KAAAwrB,QAAAvb,GAAAw9E,EAAAvsF,OACAlB,KAAAurB,OAAAtb,GAAAw9E,EAAA,GAAAvsF,OAEA,IAAAwuC,EAAA2xB,EAAA/sC,UAAAo5D,GACA1tF,KAAA4tF,4BAAA39E,EAAAy/B,KAGA29C,EAAAzsF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAy2D,EAAAz2D,EAAAy2D,WAAA54D,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAA82D,EAAA50D,EAAA40D,GAAAC,EAAA70D,EAAA60D,GACAsuB,EAAAp+D,EAAAic,2BACAjc,EAAA2b,0BAAA,GACA3b,EAAA+5B,YAAAxpD,KAAA5B,MAAAmvF,aACA,IAAA,IAAAnjF,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,GAAA,MAAA+2D,EAAAlxD,KAEAsxE,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,IAAA,CAEA,IAAAk0D,EAAA37D,EAAAyH,GACAwf,EAAA+c,UAAA,EAAA23B,GACA10C,EAAA1mB,MAAA,GAAA,GACA0mB,EAAA+c,UAAA,GAAA23B,GACA10C,EAAAo0C,UAAA1C,EAAAlxD,GAAA,EAAA1H,EAAA0H,GAAA,EAAAzH,EAAAyH,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,IACAwf,EAAA+c,UAAA,EAAA23B,GACA10C,EAAA1mB,MAAA,GAAA,GACA0mB,EAAA+c,UAAA,GAAA23B,IAEA10C,EAAA2b,yBAAAyiD,IAEAR,EA7DA,CA8DAD,EAAAU,eACAlwF,EAAAyvF,UAAAA,EAEA,IACAU,EAAA,SAAAzmF,GAEA,SAAAymF,EAAAxiF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAAsmF,EAAAzmF,GAIAymF,EAAAh0E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAoJ,aAAAqjF,EACArtF,KAAAia,OAAA,CACA6mD,aAAA,CAAAzzD,EAAAimB,SAAA,WAAA,OAAA,IAAAgtC,EAAAgB,kBAAA,CAAAN,QAVA,CAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,UAAA,kBAaA+sB,EAZA,CAaAX,EAAAY,WACApwF,EAAAmwF,MAAAA,EACAA,EAAAh0E,aCvFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA2P,EAAA3P,EAAA,IACA+kF,EAAA/kF,EAAA,GACA4nF,EAAA5nF,EAAA,IACAowF,EAAA,SAAAxmF,GAEA,SAAAwmF,IACA,OAAA,OAAAxmF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAqGA,OAvGA6G,EAAAY,UAAAqmF,EAAAxmF,GAIAwmF,EAAAltF,UAAA+wE,QAAA,SAAA1U,EAAAwuB,EAAAwC,KACAH,EAAAltF,UAAAslF,YAAA,WAEA,IADA,IAAA5tC,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAqoD,GAAAnnD,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAAvF,EAAA1K,KAAAknF,MAAAj3E,GAAAk3E,EAAAz8E,EAAA,GAAAmb,EAAAnb,EAAA,GAAAiW,EAAAjW,EAAA,GAAA6W,EAAA7W,EAAA,IACA62E,MAAA4F,EAAAthE,EAAAlF,EAAAY,IAAAmkC,SAAAyhC,EAAAthE,EAAAlF,EAAAY,IAGA+2B,EAAAttC,KAAA,CAAAuX,KAAA4kE,EAAA3kE,KAAAjB,EAAAkB,KAAAoD,EAAAnD,KAAA/B,EAAA1Q,EAAAA,IAEA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEAw1C,EAAAltF,UAAAsmF,MAAA,SAAAj3E,GACA,IAAAi+E,EAAAluF,KAAA8iF,SAAAxgD,OAAA2jC,aACAhlD,EAAAjhB,KAAAqoD,GAAAp4C,GACAkR,EAAA+sE,EAAAC,YAAAltE,EAAAjhB,KAAAouF,IAAAn+E,GAAAgR,EAAAjhB,KAAAouF,IAAAn+E,GACAo+E,EAAAruF,KAAA8iF,SAAArgD,OAAAwjC,aACA/kD,EAAAlhB,KAAAi6D,GAAAhqD,GACAmR,EAAAitE,EAAAF,YAAAjtE,EAAAlhB,KAAAsuF,IAAAr+E,GAAAiR,EAAAlhB,KAAAsuF,IAAAr+E,GACAvF,EAAAuW,EAAAE,EAAA,CAAAF,EAAAE,GAAA,CAAAA,EAAAF,GAAAkmE,EAAAz8E,EAAA,GAAAmb,EAAAnb,EAAA,GACAO,EAAAiW,EAAAE,EAAA,CAAAF,EAAAE,GAAA,CAAAA,EAAAF,GAAAK,EAAAtW,EAAA,GAAA0V,EAAA1V,EAAA,GACA,MAAA,CAAAk8E,EAAAthE,EAAAlF,EAAAY,IAEAusE,EAAAltF,UAAA4sF,sBAAA,WACA,MAAAxtF,KAAAmhE,YAAAnhE,KAAAmhE,WAAAjgE,QAAAlB,KAAAytF,OAAAvsF,SACAlB,KAAAmhE,WAAA,IAAA1xD,MAAAzP,KAAAytF,OAAAvsF,SACA,MAAAlB,KAAAurB,QAAAvrB,KAAAurB,OAAArqB,QAAAlB,KAAAytF,OAAAvsF,SACAlB,KAAAurB,OAAA,IAAA9b,MAAAzP,KAAAytF,OAAAvsF,SACA,MAAAlB,KAAAwrB,SAAAxrB,KAAAwrB,QAAAtqB,QAAAlB,KAAAytF,OAAAvsF,SACAlB,KAAAwrB,QAAA,IAAA/b,MAAAzP,KAAAytF,OAAAvsF,UAEA4sF,EAAAltF,UAAA2tF,sBAAA,SAAAt+E,GACA,IAAAu+E,EAAAxuF,KAAAmhE,WAAAlxD,GACA,GAAA,MAAAu+E,GAAAA,EAAAn/E,OAAArP,KAAAurB,OAAAtb,IACAu+E,EAAAh/E,QAAAxP,KAAAwrB,QAAAvb,GACA,OAAAu+E,EAEA,IAAA1+E,EAAAhM,SAAA4H,cAAA,UAGA,OAFAoE,EAAAT,MAAArP,KAAAurB,OAAAtb,GACAH,EAAAN,OAAAxP,KAAAwrB,QAAAvb,GACAH,GAGAg+E,EAAAltF,UAAAgtF,4BAAA,SAAA39E,EAAAy/B,GACA,IAAA5/B,EAAA9P,KAAAuuF,sBAAAt+E,GACAwf,EAAA3f,EAAA24C,WAAA,MACA0Y,EAAA1xC,EAAA2xC,aAAA,EAAA,EAAAphE,KAAAurB,OAAAtb,GAAAjQ,KAAAwrB,QAAAvb,IACAkxD,EAAA/8D,KAAAyW,IAAA60B,GACAjgB,EAAA+xC,aAAAL,EAAA,EAAA,GACAnhE,KAAAmhE,WAAAlxD,GAAAH,GAEAg+E,EAAAltF,UAAAm6D,UAAA,WACA,OAAA/6D,KAAA5B,MAAA8a,WAAAu1E,GAAA75D,OACA,IAAA,OACA50B,KAAAs/D,GAAAt/D,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAAouF,IAAA,OAAApuF,KAAA5B,MAAAksF,QACA,MAEA,IAAA,SACAtqF,KAAAs/D,GAAAt/D,KAAAouF,IAIA,OAAApuF,KAAA5B,MAAA8a,WAAAw1E,GAAA95D,OACA,IAAA,OACA50B,KAAAu/D,GAAAv/D,KAAA6iF,MAAA7iF,KAAA8iF,SAAArgD,OAAAziC,KAAAi6D,GAAAj6D,KAAAsuF,IAAA,OAAAtuF,KAAA5B,MAAAksF,QACA,MAEA,IAAA,SACAtqF,KAAAu/D,GAAAv/D,KAAAsuF,MAKAR,EAAAltF,UAAA+tF,aAAA,SAAA5uD,EAAAt3B,EAAAC,GACA,IAAAgC,EAAA1K,KAAAknF,MAAAnnD,GAAAonD,EAAAz8E,EAAA,GAAAmb,EAAAnb,EAAA,GAAAiW,EAAAjW,EAAA,GAAA6W,EAAA7W,EAAA,GACA2E,EAAArP,KAAAurB,OAAAwU,GACAvwB,EAAAxP,KAAAwrB,QAAAuU,GACA6uD,GAAA/oE,EAAAshE,GAAA93E,EACAw/E,GAAAluE,EAAAY,GAAA/R,EACAs0C,EAAAx0C,KAAA64B,OAAA1/B,EAAA0+E,GAAAyH,GACA/qC,EAAAv0C,KAAA64B,OAAAz/B,EAAA6Y,GAAAstE,GACA,MAAA,CAAA9uD,MAAAA,EAAA+jB,KAAAA,EAAAD,KAAAA,EAAAE,WAAAF,EAAAx0C,EAAAy0C,IAEAgqC,EAAAltF,UAAA0iF,WAAA,SAAAn7E,GACA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACAuc,EAAA09D,EAAAngE,qBAAA,CAAA7Z,EAAAA,GAAA,CAAAC,EAAAA,IACA86E,EAAAxjF,KAAA+/B,MAAA3d,QAAA2C,GACAhH,EAAA0kE,EAAAzgE,+BACAjE,EAAA+wE,cAAA,GACA,IAAA,IAAA1kF,EAAA,EAAAy5E,EAAAL,EAAAp5E,EAAAy5E,EAAA3iF,OAAAkJ,IAAA,CACA,IAAA21B,EAAA8jD,EAAAz5E,GACA7B,GAAA0L,EAAAA,GAAAzL,GAAAyL,EAAAA,GACA8J,EAAA+wE,cAAA9jF,KAAAhL,KAAA2uF,aAAA5uD,EAAAt3B,EAAAC,IAGA,OAAAqV,GAEA+vE,EAxGA,CAyGAvL,EAAA4B,aACAvmF,EAAAkwF,cAAAA,EACA,IAAAE,EAAA,SAAA1mF,GAEA,SAAA0mF,EAAAziF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAaA,OAfA6G,EAAAY,UAAAumF,EAAA1mF,GAIA0mF,EAAAj0E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAY,UAAAoJ,aAAA8jF,EACA9tF,KAAAia,OAAA,CACAwnD,MAAA,CAAAp0D,EAAAioB,YACAm5D,GAAA,CAAAphF,EAAA4S,cACAyuE,GAAA,CAAArhF,EAAA4S,cACAqqE,OAAA,CAAAj9E,EAAA8lB,SAAA,GACAo6D,aAAA,CAAAlgF,EAAAkmB,OAAA,MAGAy6D,EAhBA,CAiBAzL,EAAAgC,SACA3mF,EAAAowF,UAAAA,EACAA,EAAAj0E,aCpIA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA0vF,EAAA1vF,EAAA,KACAkM,EAAAlM,EAAA,IACAqxF,EAAA,SAAAznF,GAEA,SAAAynF,IACA,OAAA,OAAAznF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAsDA,OAxDA6G,EAAAY,UAAAsnF,EAAAznF,GAIAynF,EAAAnuF,UAAA4T,WAAA,WACA,IAAA1T,EAAAd,KACAsH,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAq0E,aAAAx0E,OAAA,WAAA,OAAAjY,EAAAgiF,SAAAhoB,oBAEAi0B,EAAAnuF,UAAAmoF,UAAA,SAAA3mE,GACApiB,KAAAwtF,wBACA,IAAA,IAAAv9E,EAAA,EAAA+Z,EAAAhqB,KAAAytF,OAAAvsF,OAAA+O,EAAA+Z,EAAA/Z,IACA,KAAA,MAAAmS,GAAAA,EAAAuiB,QAAA10B,GAAA,GAAA,CAEA,IAAAw/B,OAAA,EACA,GAAA,MAAAzvC,KAAA2tF,cAAA3tF,KAAA2tF,aAAA19E,GAAA/O,OAAA,EAAA,CACAuuC,EAAAzvC,KAAAytF,OAAAx9E,GAAAyO,OACA,IAAAw2B,EAAAl1C,KAAA2tF,aAAA19E,GACAjQ,KAAAwrB,QAAAvb,GAAAilC,EAAA,GACAl1C,KAAAurB,OAAAtb,GAAAilC,EAAA,OAEA,CACA,IAAAu4C,EAAAztF,KAAAytF,OAAAx9E,GACA++E,EAAAplF,EAAA+F,OAAA89E,GACAh+C,EAAA,IAAA9wB,YAAA,EAAAqwE,EAAA9tF,QAEA,IADA,IAAA2sC,EAAA,IAAA+B,YAAAH,GACAlK,EAAA,EAAA0pD,EAAAD,EAAA9tF,OAAAqkC,EAAA0pD,EAAA1pD,IACAsI,EAAAtI,GAAAypD,EAAAzpD,GAEAvlC,KAAAwrB,QAAAvb,GAAAw9E,EAAAvsF,OACAlB,KAAAurB,OAAAtb,GAAAw9E,EAAA,GAAAvsF,OAEA,IAAAwuC,EAAA,IAAAvb,WAAAsb,GACAzvC,KAAA4tF,4BAAA39E,EAAAy/B,KAGAq/C,EAAAnuF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAy2D,EAAAz2D,EAAAy2D,WAAA54D,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAA82D,EAAA50D,EAAA40D,GAAAC,EAAA70D,EAAA60D,GACAsuB,EAAAp+D,EAAAic,2BACAjc,EAAA2b,0BAAA,GACA3b,EAAA+5B,YAAAxpD,KAAA5B,MAAAmvF,aACA,IAAA,IAAAnjF,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,IAAAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,IAAA,CAEA,IAAAk0D,EAAA37D,EAAAyH,GACAwf,EAAA+c,UAAA,EAAA23B,GACA10C,EAAA1mB,MAAA,GAAA,GACA0mB,EAAA+c,UAAA,GAAA23B,GACA10C,EAAAo0C,UAAA1C,EAAAlxD,GAAA,EAAA1H,EAAA0H,GAAA,EAAAzH,EAAAyH,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,IACAwf,EAAA+c,UAAA,EAAA23B,GACA10C,EAAA1mB,MAAA,GAAA,GACA0mB,EAAA+c,UAAA,GAAA23B,IAEA10C,EAAA2b,yBAAAyiD,IAEAkB,EAzDA,CA0DA3B,EAAAU,eACAlwF,EAAAmxF,cAAAA,EACA,IAAAG,EAAA,SAAA5nF,GAEA,SAAA4nF,EAAA3jF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAMA,OARA6G,EAAAY,UAAAynF,EAAA5nF,GAIA4nF,EAAAn1E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAY,UAAAoJ,aAAA+kF,GAEAG,EATA,CAUA9B,EAAAY,WACApwF,EAAAsxF,UAAAA,EACAA,EAAAn1E,aC5EA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACAwB,EAAAxB,EAAA,IACA2P,EAAA3P,EAAA,IACA20B,EAAA30B,EAAA,IACA4nF,EAAA5nF,EAAA,IACAyxF,EAAA,SAAA7nF,GAEA,SAAA6nF,IACA,IAAAruF,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAAsuF,kBAAA,EACAtuF,EAwJA,OA5JA+F,EAAAY,UAAA0nF,EAAA7nF,GAMA6nF,EAAAvuF,UAAA4T,WAAA,WACA,IAAA1T,EAAAd,KACAsH,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAq0E,aAAAx0E,OAAA,WAAA,OAAAjY,EAAAgiF,SAAAhoB,oBAEAq0B,EAAAvuF,UAAAslF,YAAA,WACA,OAAA,IAAAZ,EAAAjtC,aAAA,KAEA82C,EAAAvuF,UAAAmoF,UAAA,WACA,IAAAjoF,EAAAd,KACA,MAAAA,KAAAyhE,OAAAzhE,KAAAyhE,MAAAvgE,QAAAlB,KAAAqvF,KAAAnuF,SACAlB,KAAAyhE,MAAApvC,EAAAloB,IAAAnK,KAAAqvF,KAAA,WAAA,OAAA,QACA,IAAA3kF,EAAA1K,KAAA5B,MAAAkxF,EAAA5kF,EAAA4kF,eAAAC,EAAA7kF,EAAA6kF,cACAvvF,KAAAwvF,QAAAn9D,EAAAloB,IAAAnK,KAAAqvF,KAAA,WAAA,OAAAC,IAsBA,IArBA,IAAA70E,EAAA,SAAAxK,EAAA+Z,GACA,IAAArqB,EAAAgb,EAAA00E,KAAAp/E,GACA,GAAA,MAAAtQ,GAAA,IAAAA,EACA,MAAA,WACA,IAAA+tF,EAAA,IAAAK,MACAL,EAAA7rF,QAAA,WACAf,EAAA0uF,QAAAv/E,GAAA,GACA/Q,EAAAwB,OAAAuD,MAAA,2BAAAtE,EAAA,uBAAA4vF,EAAA,OACAntF,WAAA,WAAA,OAAAsrF,EAAAh7C,IAAA/yC,GAAA4vF,IAGArwF,EAAAwB,OAAA5B,KAAA,2BAAAa,EAAA,gBAAA2vF,EAAA,YACAxuF,EAAA0uF,QAAAv/E,IAAA,GAEAy9E,EAAAnjC,OAAA,WACAzpD,EAAA2gE,MAAAxxD,GAAAy9E,EACA5sF,EAAAgiF,SAAAhoB,kBAEA4yB,EAAAh7C,IAAA/yC,GAEAgb,EAAA3a,KACAiQ,EAAA,EAAA+Z,EAAAhqB,KAAAqvF,KAAAnuF,OAAA+O,EAAA+Z,EAAA/Z,IACAwK,EAAAxK,EAAA+Z,GAOA,IALA,IAAAylE,EAAA,QAAAzvF,KAAA5B,MAAA8a,WAAAuH,EAAAmU,MACA86D,EAAA,QAAA1vF,KAAA5B,MAAA8a,WAAAy0B,EAAA/Y,MACA0Q,EAAAtlC,KAAAqoD,GAAAnnD,OACAmzC,EAAA,IAAA5kC,MAAAggF,EAAA,EAAAnqD,EAAAA,GACAgP,EAAA,IAAA7kC,MAAAigF,EAAA,EAAApqD,EAAAA,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAokC,EAAApkC,GAAAjQ,KAAAqoD,GAAAp4C,GACAqkC,EAAArkC,GAAAjQ,KAAAi6D,GAAAhqD,GAGA,GAAAw/E,EACA,IAAA,IAAAx/E,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAokC,EAAA/O,EAAAr1B,GAAAjQ,KAAAqoD,GAAAp4C,GAAAjQ,KAAA2vF,GAAA1/E,GAEA,GAAAy/E,EACA,IAAA,IAAAz/E,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAqkC,EAAAhP,EAAAr1B,GAAAjQ,KAAAi6D,GAAAhqD,GAAAjQ,KAAA6sE,GAAA58D,GAEA,IAAAsS,EAAA8P,EAAAnH,IAAAmpB,GACA5xB,EAAA4P,EAAAzf,IAAAyhC,GACA7xB,EAAA6P,EAAAnH,IAAAopB,GACA5xB,EAAA2P,EAAAzf,IAAA0hC,GACAt0C,KAAA4vF,aAAA,CAAArtE,KAAAA,EAAAE,KAAAA,EAAAD,KAAAA,EAAAE,KAAAA,IAEAysE,EAAAvuF,UAAAoU,aAAA,WACA,OAAA1N,EAAA1G,UAAAoU,aAAAnN,KAAA7H,OAAA,GAAAA,KAAAovF,kBAEAD,EAAAvuF,UAAAm6D,UAAA,WAGA,IAAA80B,EAAA,MAAA7vF,KAAA5B,MAAAqiB,EAAAzgB,KAAA2vF,GAAAt9D,EAAAloB,IAAAnK,KAAAqoD,GAAA,WAAA,OAAAisB,MACAwb,EAAA,MAAA9vF,KAAA5B,MAAAuvC,EAAA3tC,KAAA6sE,GAAAx6C,EAAAloB,IAAAnK,KAAAqoD,GAAA,WAAA,OAAAisB,MACA,OAAAt0E,KAAA5B,MAAA8a,WAAAuH,EAAAmU,OACA,IAAA,OACA50B,KAAAs/D,GAAAt/D,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAwnC,EAAA,OAAA7vF,KAAA5B,MAAAksF,QACA,MAEA,IAAA,SACAtqF,KAAAs/D,GAAAuwB,EAIA,OAAA7vF,KAAA5B,MAAA8a,WAAAy0B,EAAA/Y,OACA,IAAA,OACA50B,KAAAu/D,GAAAv/D,KAAA6iF,MAAA7iF,KAAA8iF,SAAArgD,OAAAziC,KAAAi6D,GAAA61B,EAAA,OAAA9vF,KAAA5B,MAAAksF,QACA,MAEA,IAAA,SACAtqF,KAAAu/D,GAAAuwB,IAKAX,EAAAvuF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAA+2D,EAAA/2D,EAAA+2D,MAAAl5D,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAA82D,EAAA50D,EAAA40D,GAAAC,EAAA70D,EAAA60D,GAAAsL,EAAAngE,EAAAmgE,OAEA5pC,EAAAjhC,KAAA8iF,SAAAvmD,UAAA0E,MACAxR,EAAAtgB,KAAA8xB,EAAA3V,MAAAzf,MAAA,EAAAo1B,EAAA5V,KAAAxf,MAAA,EAAAo1B,EAAA1V,OAAA1f,MAAA,EAAAo1B,EAAAzV,QAAA3f,MAAA,GACA4jB,EAAAoZ,OAEA,IADA,IAAAknD,GAAA,EACA3lF,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,IAAAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAA46D,EAAA56D,IAAA,CAEA,IAAAy9E,EAAAjsB,EAAAxxD,GACA,MAAAy9E,EAIA1tF,KAAAgwF,cAAAvgE,EAAAxf,EAAAy9E,EAAAnlF,EAAAC,EAAA82D,EAAAC,EAAAsL,GAHAklB,GAAA,GAKAA,IAAA/vF,KAAAovF,mBACApvF,KAAAovF,kBAAA,EACApvF,KAAA2pF,oBAGAwF,EAAAvuF,UAAAqvF,aAAA,SAAArrE,EAAArc,EAAAC,EAAA82D,EAAAC,GACA,OAAA36C,GACA,IAAA,WAAA,MAAA,CAAArc,EAAAC,GACA,IAAA,aAAA,MAAA,CAAAD,EAAA+2D,EAAA,EAAA92D,GACA,IAAA,YAAA,MAAA,CAAAD,EAAA+2D,EAAA92D,GACA,IAAA,eAAA,MAAA,CAAAD,EAAA+2D,EAAA92D,EAAA+2D,EAAA,GACA,IAAA,eAAA,MAAA,CAAAh3D,EAAA+2D,EAAA92D,EAAA+2D,GACA,IAAA,gBAAA,MAAA,CAAAh3D,EAAA+2D,EAAA,EAAA92D,EAAA+2D,GACA,IAAA,cAAA,MAAA,CAAAh3D,EAAAC,EAAA+2D,GACA,IAAA,cAAA,MAAA,CAAAh3D,EAAAC,EAAA+2D,EAAA,GACA,IAAA,SAAA,MAAA,CAAAh3D,EAAA+2D,EAAA,EAAA92D,EAAA+2D,EAAA,KAGA4vB,EAAAvuF,UAAAovF,cAAA,SAAAvgE,EAAAxf,EAAAwxD,EAAAl5D,EAAAC,EAAA82D,EAAAC,EAAAj+C,GACAigE,MAAAjiB,EAAArvD,MACAqvD,EAAArvD,GAAAwxD,EAAApyD,OACAkyE,MAAAhiB,EAAAtvD,MACAsvD,EAAAtvD,GAAAwxD,EAAAjyD,QACA,IAAAoV,EAAA5kB,KAAA5B,MAAAwmB,OACAla,EAAA1K,KAAAiwF,aAAArrE,EAAArc,EAAA0H,GAAAzH,EAAAyH,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,IAAAigF,EAAAxlF,EAAA,GAAAylF,EAAAzlF,EAAA,GACA+kB,EAAAmsC,OACAnsC,EAAA+5B,YAAAxpD,KAAA5B,MAAAmvF,aACAjsE,EAAArR,IACAwf,EAAA+c,UAAA0jD,EAAAC,GACA1gE,EAAAH,OAAAhO,EAAArR,IACAwf,EAAAo0C,UAAApC,EAAA,EAAA,EAAAnC,EAAArvD,GAAAsvD,EAAAtvD,IACAwf,EAAAH,QAAAhO,EAAArR,IACAwf,EAAA+c,WAAA0jD,GAAAC,IAGA1gE,EAAAo0C,UAAApC,EAAAyuB,EAAAC,EAAA7wB,EAAArvD,GAAAsvD,EAAAtvD,IACAwf,EAAAwsC,WAEAkzB,EAAAvuF,UAAAktB,OAAA,WACA,OAAA9tB,KAAA4vF,cAEAT,EA7JA,CA8JA5M,EAAA4B,aACAvmF,EAAAuxF,aAAAA,EACA,IAAAiB,EAAA,SAAA9oF,GAEA,SAAA8oF,EAAA7kF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiBA,OAnBA6G,EAAAY,UAAA2oF,EAAA9oF,GAIA8oF,EAAAr2E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAAoJ,aAAAmlF,EACAnvF,KAAAia,OAAA,CACAta,IAAA,CAAA0N,EAAAkoB,YACA3Q,OAAA,CAAAvX,EAAAiI,OAAA,YACAi4E,aAAA,CAAAlgF,EAAAkmB,OAAA,GACAjS,MAAA,CAAAjU,EAAA0nB,UAAA,GACAtU,EAAA,CAAApT,EAAA4S,cACA0tB,EAAA,CAAAtgC,EAAA4S,cACAqqE,OAAA,CAAAj9E,EAAA8lB,SAAA,GACAm8D,eAAA,CAAAjiF,EAAAkmB,OAAA,GACAg8D,cAAA,CAAAliF,EAAAkmB,OAAA,MAGA68D,EApBA,CAqBA7N,EAAAgC,SACA3mF,EAAAwyF,SAAAA,EACAA,EAAAr2E,aC9LA,SAAArc,EAAAC,EAAAC,GACA,IAAAyyF,EAAA3yF,EAAA,KACAE,EAAAwmF,aAAAiM,EAAAjM,aACA,IAAAkM,EAAA5yF,EAAA,KACAE,EAAA8mF,QAAA4L,EAAA5L,QACA,IAAA6L,EAAA7yF,EAAA,KACAE,EAAAonF,IAAAuL,EAAAvL,IACA,IAAAwL,EAAA9yF,EAAA,KACAE,EAAAmpF,OAAAyJ,EAAAzJ,OACA,IAAA0J,EAAA/yF,EAAA,KACAE,EAAA4qF,OAAAiI,EAAAjI,OACA,IAAAM,EAAAprF,EAAA,KACAE,EAAA8pF,gBAAAoB,EAAApB,gBACA,IAAAgJ,EAAAhzF,EAAA,KACAE,EAAAgrF,QAAA8H,EAAA9H,QACA,IAAAH,EAAA/qF,EAAA,KACAE,EAAAirF,YAAAJ,EAAAI,YACA,IAAA5D,EAAAvnF,EAAA,KACAE,EAAAynF,MAAAJ,EAAAI,MACA,IAAAsL,EAAAjzF,EAAA,KACAE,EAAAwuF,MAAAuE,EAAAvE,MACA,IAAAwE,EAAAlzF,EAAA,KACAE,EAAA2uF,KAAAqE,EAAArE,KACA,IAAAsE,EAAAnzF,EAAA,KACAE,EAAAuvF,QAAA0D,EAAA1D,QACA,IAAA2D,EAAApzF,EAAA,KACAE,EAAAmwF,MAAA+C,EAAA/C,MACA,IAAAgD,EAAArzF,EAAA,KACAE,EAAAsxF,UAAA6B,EAAA7B,UACA,IAAA8B,EAAAtzF,EAAA,KACAE,EAAAwyF,SAAAY,EAAAZ,SACA,IAAAjH,EAAAzrF,EAAA,KACAE,EAAA0rD,KAAA6/B,EAAA7/B,KACA,IAAA2nC,EAAAvzF,EAAA,KACAE,EAAAszF,UAAAD,EAAAC,UACA,IAAAC,EAAAzzF,EAAA,KACAE,EAAAwzF,cAAAD,EAAAC,cACA,IAAAC,EAAA3zF,EAAA,KACAE,EAAA0zF,KAAAD,EAAAC,KACA,IAAAC,EAAA7zF,EAAA,KACAE,EAAA4zF,MAAAD,EAAAC,MACA,IAAAC,EAAA/zF,EAAA,KACAE,EAAA8zF,QAAAD,EAAAC,QACA,IAAAC,EAAAj0F,EAAA,KACAE,EAAAg0F,KAAAD,EAAAC,KACA,IAAAC,EAAAn0F,EAAA,KACAE,EAAAk0F,UAAAD,EAAAC,UACA,IAAAC,EAAAr0F,EAAA,KACAE,EAAAo0F,IAAAD,EAAAC,IACA,IAAAC,EAAAv0F,EAAA,KACAE,EAAAs0F,KAAAD,EAAAC,KACA,IAAAC,EAAAz0F,EAAA,KACAE,EAAAw0F,QAAAD,EAAAC,QACA,IAAAC,EAAA30F,EAAA,KACAE,EAAA00F,KAAAD,EAAAC,KACA,IAAApnB,EAAAxtE,EAAA,KACAE,EAAA+sD,KAAAugB,EAAAvgB,KACA,IAAA4nC,EAAA70F,EAAA,KACAE,EAAA40F,MAAAD,EAAAC,MACA,IAAAC,EAAA/0F,EAAA,KACAE,EAAA80F,KAAAD,EAAAC,KACA,IAAAC,EAAAj1F,EAAA,KACAE,EAAAg1F,MAAAD,EAAAC,MACA,IAAArQ,EAAA7kF,EAAA,KACAE,EAAA2mF,QAAAhC,EAAAgC,SChEA,SAAA7mF,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA+kF,EAAA/kF,EAAA,GACAotF,EAAA,SAAAxjF,GAEA,SAAAwjF,IACA,OAAA,OAAAxjF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA+FA,OAjGA6G,EAAAY,UAAAqjF,EAAAxjF,GAIAwjF,EAAAlqF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GACAqqF,GAAA,EACAC,EAAA,KACA9yF,KAAA66D,QAAA1kC,KAAAozB,UAAA95B,GACA,IAAA,IAAArlB,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,GAAAyoF,EAAA,CACA,IAAAntC,SAAAn9C,EAAA0H,GAAAzH,EAAAyH,IAAA,CACAwf,EAAA04B,SACA14B,EAAAqsC,YACA+2B,GAAA,EACAC,EAAA7iF,EACA,SAEA,MAAA6iF,GAAA7iF,EAAA6iF,EAAA,IACArjE,EAAA04B,SACA0qC,GAAA,GAGAA,EACApjE,EAAAy4B,OAAA3/C,EAAA0H,GAAAzH,EAAAyH,KAEAwf,EAAAqsC,YACArsC,EAAAkd,OAAApkC,EAAA0H,GAAAzH,EAAAyH,IACA4iF,GAAA,GAEAC,EAAA7iF,EAEA4iF,GACApjE,EAAA04B,UAEA2iC,EAAAlqF,UAAA0iF,WAAA,SAAAn7E,GAkBA,IAjBA,IAAArH,EAAAd,KAaA+d,EAAA0kE,EAAAzgE,+BACA+wE,EAAA,CAAAtqF,EAAAN,EAAAI,GAAAG,EAAAP,EAAAK,IACAwqF,EAAA,KACAC,EAAA3jF,KAAAsD,IAAA,EAAA5S,KAAA66D,QAAA1kC,KAAAN,WAAAhqB,QAAA,GACAoE,EAAA,EAAA+Z,EAAAhqB,KAAAuI,GAAArH,OAAA,EAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAAqQ,EAAA,CAAA7X,EAAAzI,KAAAuI,GAAA0H,GAAAvH,EAAA1I,KAAAwI,GAAAyH,IACAsQ,EAAA,CAAA9X,EAAAzI,KAAAuI,GAAA0H,EAAA,GAAAvH,EAAA1I,KAAAwI,GAAAyH,EAAA,IACA2zE,EAAAnB,EAAA9/D,gBAAAowE,EAAAzyE,EAAAC,GACAqjE,EAAAqP,GAAArP,EAAAoP,IACAA,EAAApP,EACA7lE,EAAAm1E,uBAAAlzF,KAAA5B,OACA2f,EAAAo1E,SAAA,WAAA,OAAAryF,GACAid,EAAA27D,aAAA,CAAAzpE,IAGA,OAAA8N,GAEA+sE,EAAAlqF,UAAA2mF,UAAA,SAAAp/E,GACA,IAGAkU,EACAlJ,EAJArS,EAAAd,KACAuI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAuV,EAAA0kE,EAAAzgE,+BAGA,KAAA7Z,EAAA22B,WACAziB,EAAArc,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACA2K,EAAAnT,KAAAi6D,KAGA59C,EAAArc,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACA4K,EAAAnT,KAAAqoD,IAEA,IAAA,IAAAp4C,EAAA,EAAA+Z,EAAA7W,EAAAjS,OAAA,EAAA+O,EAAA+Z,EAAA/Z,KACAkD,EAAAlD,IAAAoM,GAAAA,GAAAlJ,EAAAlD,EAAA,IAAAkD,EAAAlD,EAAA,IAAAoM,GAAAA,GAAAlJ,EAAAlD,MACA8N,EAAAm1E,uBAAAlzF,KAAA5B,OACA2f,EAAAo1E,SAAA,WAAA,OAAAryF,GACAid,EAAA27D,aAAA1uE,KAAAiF,IAGA,OAAA8N,GAEA+sE,EAAAlqF,UAAAwyF,sBAAA,SAAAnjF,EAAA9H,GACA,IAAAuC,EAAA,CAAA1K,KAAAqoD,GAAAp4C,GAAAjQ,KAAAi6D,GAAAhqD,GAAAjQ,KAAAqoD,GAAAp4C,EAAA,GAAAjQ,KAAAi6D,GAAAhqD,EAAA,IAAAkR,EAAAzW,EAAA,GAAA0W,EAAA1W,EAAA,GAAA86E,EAAA96E,EAAA,GAAA+6E,EAAA/6E,EAAA,GACA,OAAA83E,EAAA6Q,mBAAArzF,KAAA8iF,SAAA36E,EAAAgZ,EAAAC,EAAAokE,EAAAC,IAEAqF,EAAAlqF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuC,oBAAA/kF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA+qD,EAlGA,CAmGAvI,EAAA4B,aACAvmF,EAAAktF,SAAAA,EACA,IAAAxhC,EAAA,SAAAhiD,GAEA,SAAAgiD,EAAA/9C,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAOA,OATA6G,EAAAY,UAAA6hD,EAAAhiD,GAIAgiD,EAAAvvC,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAA8gF,EACA9qF,KAAAga,OAAA,CAAA,UAEAsvC,EAVA,CAWAi5B,EAAAgC,SACA3mF,EAAA0rD,KAAAA,EACAA,EAAAvvC,aCvHA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4nF,EAAA5nF,EAAA,IACA+kF,EAAA/kF,EAAA,GACAI,EAAAJ,EAAA,IACAkM,EAAAlM,EAAA,IACA0N,EAAA1N,EAAA,IACAunF,EAAAvnF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA41F,EAAA,SAAAhsF,GAEA,SAAAgsF,IACA,OAAA,OAAAhsF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAkHA,OApHA6G,EAAAY,UAAA6rF,EAAAhsF,GAIAgsF,EAAA1yF,UAAAslF,YAAA,WAEA,IADA,IAAA5tC,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAk6D,IAAAh5D,OAAA+O,EAAA+Z,EAAA/Z,IACA,GAAA,MAAAjQ,KAAAk6D,IAAAjqD,IAAA,IAAAjQ,KAAAk6D,IAAAjqD,GAAA/O,OAAA,CAIA,IAFA,IAAAqyF,EAAAvzF,KAAAk6D,IAAAjqD,GACAokC,EAAA,GACA9O,EAAA,EAAAD,EAAAiuD,EAAAryF,OAAAqkC,EAAAD,EAAAC,IAAA,CACA,IAAA98B,EAAA8qF,EAAAhuD,GACAn6B,EAAAu6C,YAAAl9C,IACA4rC,EAAArpC,KAAAvC,GAIA,IAFA,IAAA+qF,EAAAxzF,KAAAm6D,IAAAlqD,GACAqkC,EAAA,GACA/O,EAAA,EAAAD,EAAAkuD,EAAAtyF,OAAAqkC,EAAAD,EAAAC,IAAA,CACA,IAAA78B,EAAA8qF,EAAAjuD,GACAn6B,EAAAu6C,YAAAj9C,IACA4rC,EAAAtpC,KAAAtC,GAEA,IAAAgC,EAAA,CAAAd,EAAAshB,IAAAmpB,GAAAzqC,EAAAgJ,IAAAyhC,IAAA9xB,EAAA7X,EAAA,GAAA+X,EAAA/X,EAAA,GACAO,EAAA,CAAArB,EAAAshB,IAAAopB,GAAA1qC,EAAAgJ,IAAA0hC,IAAA9xB,EAAAvX,EAAA,GAAAyX,EAAAzX,EAAA,GACAqtC,EAAAttC,KAAA,CAAAuX,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,EAAAzS,EAAAA,IAEA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEAg7C,EAAA1yF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GAEA,IADA,IAAAynE,EAAAznE,EAAAynE,IAAAC,EAAA1nE,EAAA0nE,IACAhoE,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAa,EAAA,CAAAknE,EAAAliE,GAAAmiE,EAAAniE,IAAA1H,EAAA0C,EAAA,GAAAzC,EAAAyC,EAAA,GACAjL,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACA,IAAA,IAAAs1B,EAAA,EAAAvb,EAAAzhB,EAAArH,OAAAqkC,EAAAvb,EAAAub,IACA,GAAAA,EAKAg8C,MAAAh5E,EAAAg9B,KAAAg8C,MAAA/4E,EAAA+8B,KACA9V,EAAA04B,SACA14B,EAAAqsC,aAIArsC,EAAAy4B,OAAA3/C,EAAAg9B,GAAA/8B,EAAA+8B,KAVA9V,EAAAqsC,YACArsC,EAAAkd,OAAApkC,EAAAg9B,GAAA/8B,EAAA+8B,KAWA9V,EAAA04B,WAGAmrC,EAAA1yF,UAAA0iF,WAAA,SAAAn7E,GAKA,IAJA,IAAA4V,EAAA0kE,EAAAzgE,+BACA+wE,EAAA,CAAAtqF,EAAAN,EAAAI,GAAAG,EAAAP,EAAAK,IACAwqF,EAAA,KACA7wE,EAAA,GACAlS,EAAA,EAAA+Z,EAAAhqB,KAAAmyE,IAAAjxE,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CAGA,IAFA,IAAAgjF,EAAA3jF,KAAAsD,IAAA,EAAA5S,KAAA66D,QAAA1kC,KAAA+yB,aAAA,aAAAj5C,GAAA,GACAqoC,EAAA,KACA/S,EAAA,EAAA0pD,EAAAjvF,KAAAmyE,IAAAliE,GAAA/O,OAAA,EAAAqkC,EAAA0pD,EAAA1pD,IAAA,CACA,IAAAjlB,EAAA,CAAA7X,EAAAzI,KAAAmyE,IAAAliE,GAAAs1B,GAAA78B,EAAA1I,KAAAoyE,IAAAniE,GAAAs1B,IACAhlB,EAAA,CAAA9X,EAAAzI,KAAAmyE,IAAAliE,GAAAs1B,EAAA,GAAA78B,EAAA1I,KAAAoyE,IAAAniE,GAAAs1B,EAAA,IACAq+C,EAAAnB,EAAA9/D,gBAAAowE,EAAAzyE,EAAAC,GACAqjE,EAAAqP,GAAArP,EAAAoP,IACAA,EAAApP,EACAtrC,EAAA,CAAA/S,IAGA+S,IACAn2B,EAAAlS,GAAAqoC,GAIA,OAFAv6B,EAAAqE,QAAAtkB,EAAAmB,KAAAkjB,GAAAhY,IAAA,SAAA1B,GAAA,OAAAymC,SAAAzmC,EAAA,MACAsV,EAAA01E,kBAAAtxE,EACApE,GAEAu1E,EAAA1yF,UAAA2mF,UAAA,SAAAp/E,GACA,IAEAkU,EACAlJ,EAHA5K,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAuV,EAAA0kE,EAAAzgE,+BAGA,MAAA7Z,EAAA22B,WACAziB,EAAArc,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACA2K,EAAAnT,KAAAm6D,MAGA99C,EAAArc,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACA4K,EAAAnT,KAAAk6D,KAGA,IADA,IAAA/3C,EAAA,GACAlS,EAAA,EAAA+Z,EAAA7W,EAAAjS,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CAEA,IADA,IAAAqoC,EAAA,GACA/S,EAAA,EAAA0pD,EAAA97E,EAAAlD,GAAA/O,OAAA,EAAAqkC,EAAA0pD,EAAA1pD,IACApyB,EAAAlD,GAAAs1B,IAAAlpB,GAAAA,GAAAlJ,EAAAlD,GAAAs1B,EAAA,IACA+S,EAAAttC,KAAAu6B,GAEA+S,EAAAp3C,OAAA,IACAihB,EAAAlS,GAAAqoC,GAIA,OAFAv6B,EAAAqE,QAAAtkB,EAAAmB,KAAAkjB,GAAAhY,IAAA,SAAA1B,GAAA,OAAAymC,SAAAzmC,EAAA,MACAsV,EAAA01E,kBAAAtxE,EACApE,GAEAu1E,EAAA1yF,UAAAwyF,sBAAA,SAAAnjF,EAAAyjF,EAAAvrF,GACA,IAAAuC,EAAA,CAAA1K,KAAAk6D,IAAAjqD,GAAAyjF,GAAA1zF,KAAAm6D,IAAAlqD,GAAAyjF,GAAA1zF,KAAAk6D,IAAAjqD,GAAAyjF,EAAA,GAAA1zF,KAAAm6D,IAAAlqD,GAAAyjF,EAAA,IAAAvyE,EAAAzW,EAAA,GAAA0W,EAAA1W,EAAA,GAAA86E,EAAA96E,EAAA,GAAA+6E,EAAA/6E,EAAA,GACA,OAAA83E,EAAA6Q,mBAAArzF,KAAA8iF,SAAA36E,EAAAgZ,EAAAC,EAAAokE,EAAAC,IAEA6N,EAAA1yF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuC,oBAAA/kF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEAuzD,EAAA1yF,UAAAqjF,SAAA,WACA,MAAA,IAAA5lF,MAAA,oBAEAi1F,EAAA1yF,UAAAsjF,SAAA,WACA,MAAA,IAAA7lF,MAAA,oBAEAi1F,EArHA,CAsHArO,EAAAE,WACAvnF,EAAA01F,cAAAA,EACA,IAAApC,EAAA,SAAA5pF,GAEA,SAAA4pF,EAAA3lF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAAypF,EAAA5pF,GAIA4pF,EAAAn3E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAY,UAAAoJ,aAAAspF,EACAtzF,KAAAokE,OAAA,CAAA,CAAA,KAAA,QACApkE,KAAAga,OAAA,CAAA,UAEAk3E,EAXA,CAYAjM,EAAAI,OACAznF,EAAAszF,UAAAA,EACAA,EAAAn3E,aC/IA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4nF,EAAA5nF,EAAA,IACAunF,EAAAvnF,EAAA,KACA8kF,EAAA9kF,EAAA,KACAkM,EAAAlM,EAAA,IACA20B,EAAA30B,EAAA,IACA+kF,EAAA/kF,EAAA,GACA0N,EAAA1N,EAAA,IACAi2F,EAAA,SAAArsF,GAEA,SAAAqsF,IACA,OAAA,OAAArsF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA0NA,OA5NA6G,EAAAY,UAAAksF,EAAArsF,GAIAqsF,EAAA/yF,UAAAslF,YAAA,WAEA,IADA,IAAA5tC,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAk6D,IAAAh5D,OAAA+O,EAAA+Z,EAAA/Z,IACA,IAAA,IAAAs1B,EAAA,EAAA0pD,EAAAjvF,KAAAk6D,IAAAjqD,GAAA/O,OAAAqkC,EAAA0pD,EAAA1pD,IAAA,CACA,IAAA8O,EAAAr0C,KAAAk6D,IAAAjqD,GAAAs1B,GAAA,GACA+O,EAAAt0C,KAAAm6D,IAAAlqD,GAAAs1B,GAAA,GACA,GAAA8O,EAAAnzC,QAEAo3C,EAAAttC,KAAA,CACAuX,KAAA3Y,EAAAshB,IAAAmpB,GACA7xB,KAAA5Y,EAAAshB,IAAAopB,GACA7xB,KAAA7Y,EAAAgJ,IAAAyhC,GACA3xB,KAAA9Y,EAAAgJ,IAAA0hC,GACArkC,EAAAA,IAKA,OADAjQ,KAAA4zF,WAAA5zF,KAAA6zF,mBACA,IAAAvO,EAAAjtC,aAAAC,IAEAq7C,EAAA/yF,UAAAizF,iBAAA,WAGA,IADA,IAAAv7C,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAk6D,IAAAh5D,OAAA+O,EAAA+Z,EAAA/Z,IACA,IAAA,IAAAs1B,EAAA,EAAA0pD,EAAAjvF,KAAAk6D,IAAAjqD,GAAA/O,OAAAqkC,EAAA0pD,EAAA1pD,IACA,GAAAvlC,KAAAk6D,IAAAjqD,GAAAs1B,GAAArkC,OAAA,EACA,IAAA,IAAAod,EAAA,EAAAw1E,EAAA9zF,KAAAk6D,IAAAjqD,GAAAs1B,GAAArkC,OAAAod,EAAAw1E,EAAAx1E,IAAA,CACA,IAAA+1B,EAAAr0C,KAAAk6D,IAAAjqD,GAAAs1B,GAAAjnB,GACAg2B,EAAAt0C,KAAAm6D,IAAAlqD,GAAAs1B,GAAAjnB,GACA,GAAA+1B,EAAAnzC,QAEAo3C,EAAAttC,KAAA,CACAuX,KAAA3Y,EAAAshB,IAAAmpB,GACA7xB,KAAA5Y,EAAAshB,IAAAopB,GACA7xB,KAAA7Y,EAAAgJ,IAAAyhC,GACA3xB,KAAA9Y,EAAAgJ,IAAA0hC,GACArkC,EAAAA,IAMA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEAq7C,EAAA/yF,UAAAunF,WAAA,WACA,IAAA+F,EAAAluF,KAAA8iF,SAAAvmD,UAAA0E,MAAA4yC,SAAArxC,QACA93B,EAAA,CAAAwjF,EAAAhjE,IAAAgjE,EAAAt7E,KAAA4O,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACA2jF,EAAAruF,KAAA8iF,SAAAvmD,UAAA0E,MAAA6yC,SAAAtxC,QACAv3B,EAAA,CAAAojF,EAAAnjE,IAAAmjE,EAAAz7E,KAAA6O,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA8Z,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAkB,EAAApiB,KAAA+/B,MAAA3d,QAAA2C,GAEA,OAAA3C,EAAA4jB,KAAA,SAAAh2B,EAAAuR,GAAA,OAAAvR,EAAAuR,IAAA9W,OAAA,SAAAoB,EAAAk0B,EAAAjgB,GACA,OAAA,IAAAigB,GAAAl0B,IAAAiU,EAAAigB,EAAA,MAGA4zD,EAAA/yF,UAAAmzF,YAAA,SAAAtkE,EAAAlnB,EAAAC,GACAinB,EAAAqsC,YACA,IAAA,IAAAv2B,EAAA,EAAA0pD,EAAA1mF,EAAArH,OAAAqkC,EAAA0pD,EAAA1pD,IACA,IAAA,IAAAjnB,EAAA,EAAAw1E,EAAAvrF,EAAAg9B,GAAArkC,OAAAod,EAAAw1E,EAAAx1E,IAAA,CAGA,IAFA,IAAA1J,EAAArM,EAAAg9B,GAAAjnB,GACAzJ,EAAArM,EAAA+8B,GAAAjnB,GACA6oE,EAAA,EAAA6M,EAAAp/E,EAAA1T,OAAAimF,EAAA6M,EAAA7M,IACA,GAAAA,EAKA13D,EAAAy4B,OAAAtzC,EAAAuyE,GAAAtyE,EAAAsyE,IAJA13D,EAAAkd,OAAA/3B,EAAAuyE,GAAAtyE,EAAAsyE,IAMA13D,EAAAssC,cAIA43B,EAAA/yF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAA5J,EAAAd,KACAmyE,EAAAznE,EAAAynE,IAAAC,EAAA1nE,EAAA0nE,IACA,GAAApyE,KAAA66D,QAAAtkC,KAAAm0B,MAAA1qD,KAAA66D,QAAA1kC,KAAAu0B,KAmBA,IAlBA,IAAAjwC,EAAA,SAAAxK,GACA,IAAAvF,EAAA,CAAAynE,EAAAliE,GAAAmiE,EAAAniE,IAAA1H,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,GACAiQ,EAAAkgD,QAAAtkC,KAAAm0B,OACA/vC,EAAAkgD,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACA0K,EAAAo5E,YAAAtkE,EAAAlnB,EAAAC,GACAinB,EAAA8G,KAAA,YAEA5b,EAAAkgD,QAAA9jC,MAAAyzB,MAAA/6B,EAAAxf,EAAA,WACAnP,EAAAizF,YAAAtkE,EAAAlnB,EAAAC,GACAinB,EAAA8G,KAAA,YACA,WAAA,OAAAz1B,EAAAgiF,SAAAhoB,mBACAngD,EAAAkgD,QAAA1kC,KAAAu0B,OACA/vC,EAAAkgD,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACA0K,EAAAo5E,YAAAtkE,EAAAlnB,EAAAC,GACAinB,EAAA04B,WAGAxtC,EAAA3a,KACAoK,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAqQ,EAAAxK,KAIA0jF,EAAA/yF,UAAA0iF,WAAA,SAAAn7E,GAOA,IANA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACAg7E,EAAAxjF,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAA9Z,EAAA+Z,KAAA9Z,EAAA+Z,KAAAha,EAAAia,KAAAha,IACAurF,EAAAj0F,KAAA4zF,WAAAxxE,QAAA,CAAAG,KAAA9Z,EAAA+Z,KAAA9Z,EAAA+Z,KAAAha,EAAAia,KAAAha,IACAyZ,EAAA,GACAlS,EAAA,EAAA+Z,EAAAw5D,EAAAtiF,OAAA+O,EAAA+Z,EAAA/Z,IAIA,IAHA,IAAAs4E,EAAA/E,EAAAvzE,GACAkiE,EAAAnyE,KAAAmyE,IAAAoW,GACAnW,EAAApyE,KAAAoyE,IAAAmW,GACAhjD,EAAA,EAAA0pD,EAAA9c,EAAAjxE,OAAAqkC,EAAA0pD,EAAA1pD,IAAA,CACA,IAAA2uD,EAAA/hB,EAAA5sC,GAAArkC,OACA,GAAAuhF,EAAA5hE,cAAAtY,EAAAC,EAAA2pE,EAAA5sC,GAAA,GAAA6sC,EAAA7sC,GAAA,IACA,GAAA,GAAA2uD,EACA/xE,EAAAnX,KAAAu9E,QAEA,IAAA,GAAA0L,EAAAtvD,QAAA4jD,GACApmE,EAAAnX,KAAAu9E,QAEA,GAAA2L,EAAA,EAAA,CAEA,IADA,IAAAC,GAAA,EACA71E,EAAA,EAAAA,EAAA41E,EAAA51E,IAAA,CACA,IAAA81E,EAAAjiB,EAAA5sC,GAAAjnB,GACA+1E,EAAAjiB,EAAA7sC,GAAAjnB,GACA,GAAAmkE,EAAA5hE,cAAAtY,EAAAC,EAAA4rF,EAAAC,GAAA,CACAF,GAAA,EACA,OAMAA,GACAhyE,EAAAnX,KAAAu9E,IAMA,IAAAxqE,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEA41E,EAAA/yF,UAAA0zF,gBAAA,SAAAx0E,GACA,OAAAuS,EAAAnK,IAAApI,GAAAA,EAAA5e,QAEAyyF,EAAA/yF,UAAAqjF,SAAA,SAAAh0E,EAAA1H,EAAAC,GACA,GAAA,GAAAxI,KAAAmyE,IAAAliE,GAAA/O,OAEA,OAAAlB,KAAAs0F,gBAAAt0F,KAAAmyE,IAAAliE,GAAA,GAAA,IAOA,IAFA,IAAAkiE,EAAAnyE,KAAAmyE,IAAAliE,GACAmiE,EAAApyE,KAAAoyE,IAAAniE,GACAs1B,EAAA,EAAAvb,EAAAmoD,EAAAjxE,OAAAqkC,EAAAvb,EAAAub,IACA,GAAAk9C,EAAA5hE,cAAAtY,EAAAC,EAAA2pE,EAAA5sC,GAAA,GAAA6sC,EAAA7sC,GAAA,IACA,OAAAvlC,KAAAs0F,gBAAAniB,EAAA5sC,GAAA,IAGA,MAAA,IAAAlnC,MAAA,qBAEAs1F,EAAA/yF,UAAAsjF,SAAA,SAAAj0E,EAAA1H,EAAAC,GACA,GAAA,GAAAxI,KAAAoyE,IAAAniE,GAAA/O,OAEA,OAAAlB,KAAAs0F,gBAAAt0F,KAAAoyE,IAAAniE,GAAA,GAAA,IAOA,IAFA,IAAAkiE,EAAAnyE,KAAAmyE,IAAAliE,GACAmiE,EAAApyE,KAAAoyE,IAAAniE,GACAs1B,EAAA,EAAAvb,EAAAmoD,EAAAjxE,OAAAqkC,EAAAvb,EAAAub,IACA,GAAAk9C,EAAA5hE,cAAAtY,EAAAC,EAAA2pE,EAAA5sC,GAAA,GAAA6sC,EAAA7sC,GAAA,IACA,OAAAvlC,KAAAs0F,gBAAAliB,EAAA7sC,GAAA,IAGA,MAAA,IAAAlnC,MAAA,qBAEAs1F,EAAA/yF,UAAA+qF,SAAA,WAEA,IADA,IACAvhF,EAAA,EAAAM,EAAA1K,KAAA5B,MAAA+sF,QAAA/gF,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAa,EAAAP,EAAAN,GAAAghF,EAAAngF,EAAA,GAAAogF,EAAApgF,EAAA,GACA2gF,EAAA,IAAAR,EACAS,EAAA,IAAAR,EAGA,GADAA,EAAA,IAAAA,EACA,MAPArrF,KAKAorF,EAAA,IAAAA,KAEAhgF,EAAAa,QAPAjM,KAOAorF,GAAA,KAAAhgF,EAAA0qC,aAPA91C,KAOAorF,GAAA,KAAA,CACA,IAAAmJ,EARAv0F,KAQAorF,GAAAlqF,OARAlB,KASA4rF,GAAA,IAAAn8E,MAAA8kF,GATAv0F,KAUA6rF,GAAA,IAAAp8E,MAAA8kF,GACA,IAAA,IAAAtkF,EAAA,EAAAA,EAAAskF,EAAAtkF,IAAA,CACA,IAAAukF,EAZAx0F,KAYAorF,GAAAn7E,GAAA/O,OAZAlB,KAaA4rF,GAAA37E,GAAA,IAAAR,MAAA+kF,GAbAx0F,KAcA6rF,GAAA57E,GAAA,IAAAR,MAAA+kF,GACA,IAAA,IAAAjvD,EAAA,EAAAA,EAAAivD,EAAAjvD,IAAA,CACA,IAAA2uD,EAhBAl0F,KAgBAorF,GAAAn7E,GAAAs1B,GAAArkC,OAhBAlB,KAiBA4rF,GAAA37E,GAAAs1B,GAAA,IAAA91B,MAAAykF,GAjBAl0F,KAkBA6rF,GAAA57E,GAAAs1B,GAAA,IAAA91B,MAAAykF,GACA,IAAA,IAAA51E,EAAA,EAAAA,EAAA41E,EAAA51E,IAAA,CACA,IAAAzR,EAAA7M,KAAAkyE,cApBAlyE,KAoBAorF,GAAAn7E,GAAAs1B,GAAAjnB,GApBAte,KAoBAqrF,GAAAp7E,GAAAs1B,GAAAjnB,IAAA/V,EAAAsE,EAAA,GAAArE,EAAAqE,EAAA,GApBA7M,KAqBA4rF,GAAA37E,GAAAs1B,GAAAjnB,GAAA/V,EArBAvI,KAsBA6rF,GAAA57E,GAAAs1B,GAAAjnB,GAAA9V,QAOAmrF,EAAA/yF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuB,oBAAA/jF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA4zD,EA7NA,CA8NA1O,EAAAE,WACAvnF,EAAA+1F,kBAAAA,EACA,IAAAvC,EAAA,SAAA9pF,GAEA,SAAA8pF,EAAA7lF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAA2pF,EAAA9pF,GAIA8pF,EAAAr3E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAY,UAAAoJ,aAAA2pF,EACA3zF,KAAAokE,OAAA,CAAA,CAAA,KAAA,QACApkE,KAAAga,OAAA,CAAA,OAAA,OAAA,WAEAo3E,EAXA,CAYAnM,EAAAI,OACAznF,EAAAwzF,cAAAA,EACAA,EAAAr3E,aCvPA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA+qF,EAAA/qF,EAAA,KACA+2F,EAAA,SAAAntF,GAEA,SAAAmtF,IACA,OAAA,OAAAntF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAkBA,OApBA6G,EAAAY,UAAAgtF,EAAAntF,GAIAmtF,EAAA7zF,UAAAm6D,UAAA,WACA,IAAAuE,EACAh6B,EAAAtlC,KAAAqoD,GAAAnnD,OACAlB,KAAAs/D,GAAA,IAAApsC,aAAAoS,GAEAg6B,EADA,QAAAt/D,KAAA5B,MAAA8a,WAAA7J,MAAAulB,MACA50B,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAAurB,OAAA,UAEAvrB,KAAAurB,OAEA,IAAA,IAAAtb,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAjQ,KAAAs/D,GAAArvD,GAAA,IAAAqvD,EAAArvD,GACA,QAAAjQ,KAAA5B,MAAA8a,WAAA1J,OAAAolB,MACA50B,KAAAu/D,GAAAv/D,KAAA6iF,MAAA7iF,KAAA8iF,SAAArgD,OAAAziC,KAAAi6D,GAAAj6D,KAAAwrB,QAAA,UAEAxrB,KAAAu/D,GAAAv/D,KAAAwrB,SAEAipE,EArBA,CAsBAhM,EAAAE,iBACA/qF,EAAA62F,SAAAA,EACA,IAAAnD,EAAA,SAAAhqF,GAEA,SAAAgqF,EAAA/lF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAMA,OARA6G,EAAAY,UAAA6pF,EAAAhqF,GAIAgqF,EAAAv3E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAyqF,GAEAnD,EATA,CAUA7I,EAAAI,aACAjrF,EAAA0zF,KAAAA,EACAA,EAAAv3E,aCvCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA8kF,EAAA9kF,EAAA,KACAg3F,EAAA,SAAAptF,GAEA,SAAAotF,IACA,OAAA,OAAAptF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAsCA,OAxCA6G,EAAAY,UAAAitF,EAAAptF,GAIAotF,EAAA9zF,UAAAmzF,YAAA,SAAAtkE,EAAArN,EAAA7Z,EAAAC,EAAA6gC,GACA,IAAA,IAAAj/B,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,GAAA6F,EAKAsxE,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,KACAwf,EAAAssC,YACA1yB,EAAA9hC,MAAAkoB,GACAA,EAAAqsC,aAIArsC,EAAAy4B,OAAA3/C,EAAA0H,GAAAzH,EAAAyH,KAXAwf,EAAAqsC,YACArsC,EAAAkd,OAAApkC,EAAA0H,GAAAzH,EAAAyH,KAYAwf,EAAAssC,YACA1yB,EAAAxhC,KAAA4nB,IAEAilE,EAAA9zF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAA5J,EAAAd,KACAuI,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GACAxI,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAAgzB,UAAA95B,GACAzvB,KAAA+zF,YAAAtkE,EAAArN,EAAA7Z,EAAAC,EAAAinB,EAAA8G,OAEAv2B,KAAA66D,QAAA9jC,MAAAyzB,MAAA/6B,EAAA,EAAA,WAAA,OAAA3uB,EAAAizF,YAAAtkE,EAAArN,EAAA7Z,EAAAC,EAAAinB,EAAA8G,OAAA,WAAA,OAAAz1B,EAAAgiF,SAAAhoB,mBACA96D,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAozB,UAAA95B,GACAzvB,KAAA+zF,YAAAtkE,EAAArN,EAAA7Z,EAAAC,EAAAinB,EAAA04B,UAGAusC,EAAA9zF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuB,oBAAA/jF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA20D,EAzCA,CA0CAnS,EAAA4B,aACAvmF,EAAA82F,UAAAA,EACA,IAAAlD,EAAA,SAAAlqF,GAEA,SAAAkqF,EAAAjmF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAOA,OATA6G,EAAAY,UAAA+pF,EAAAlqF,GAIAkqF,EAAAz3E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAoJ,aAAA0qF,EACA10F,KAAAga,OAAA,CAAA,OAAA,OAAA,WAEAw3E,EAVA,CAWAjP,EAAAgC,SACA3mF,EAAA4zF,MAAAA,EACAA,EAAAz3E,aC7DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4nF,EAAA5nF,EAAA,IACAunF,EAAAvnF,EAAA,KACA8kF,EAAA9kF,EAAA,KACAkM,EAAAlM,EAAA,IACA20B,EAAA30B,EAAA,IACA0N,EAAA1N,EAAA,IACA+kF,EAAA/kF,EAAA,GACAi3F,EAAA,SAAArtF,GAEA,SAAAqtF,IACA,OAAA,OAAArtF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA6KA,OA/KA6G,EAAAY,UAAAktF,EAAArtF,GAIAqtF,EAAA/zF,UAAAg0F,4BAAA,SAAAC,GAkBA,IADA,IAAAC,EAAA,GACA7kF,EAAA,EAAA+Z,EAAA6qE,EAAA3zF,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA6kF,EAAA7kF,GAAA,GAEA,IADA,IAAA8kF,EAAAnrF,EAAA2Q,KAAAs6E,EAAA5kF,IACA8kF,EAAA7zF,OAAA,GAAA,CACA,IAAA8zF,EAAAprF,EAAA26B,gBAAAwwD,EAAA,SAAAn0E,GAAA,OAAAxV,EAAAu6C,YAAA/kC,KACAq0E,OAAA,EACAD,GAAA,EACAC,EAAAF,EAAApuD,OAAAquD,IAEAC,EAAAF,EACAA,EAAA,IAEA,IAAAG,EAAAD,EAAAxqF,OAAA,SAAAmW,GAAA,OAAAxV,EAAAu6C,YAAA/kC,KACAk0E,EAAA7kF,GAAAjF,KAAAkqF,IAGA,OAAAJ,GAEAH,EAAA/zF,UAAAslF,YAAA,WAIA,IAHA,IAAAiP,EAAAn1F,KAAA40F,4BAAA50F,KAAAk6D,KACAk7B,EAAAp1F,KAAA40F,4BAAA50F,KAAAm6D,KACA7hB,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAk6D,IAAAh5D,OAAA+O,EAAA+Z,EAAA/Z,IACA,IAAA,IAAAs1B,EAAA,EAAA0pD,EAAAkG,EAAAllF,GAAA/O,OAAAqkC,EAAA0pD,EAAA1pD,IAAA,CACA,IAAA8O,EAAA8gD,EAAAllF,GAAAs1B,GACA+O,EAAA8gD,EAAAnlF,GAAAs1B,GACA,GAAA8O,EAAAnzC,QAEAo3C,EAAAttC,KAAA,CACAuX,KAAA3Y,EAAAshB,IAAAmpB,GACA7xB,KAAA5Y,EAAAshB,IAAAopB,GACA7xB,KAAA7Y,EAAAgJ,IAAAyhC,GACA3xB,KAAA9Y,EAAAgJ,IAAA0hC,GACArkC,EAAAA,IAIA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEAq8C,EAAA/zF,UAAAunF,WAAA,WACA,IAAA+F,EAAAluF,KAAA8iF,SAAAvmD,UAAA0E,MAAA4yC,SAAArxC,QACA93B,EAAA,CAAAwjF,EAAAhjE,IAAAgjE,EAAAt7E,KAAA4O,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACA2jF,EAAAruF,KAAA8iF,SAAAvmD,UAAA0E,MAAA6yC,SAAAtxC,QACAv3B,EAAA,CAAAojF,EAAAnjE,IAAAmjE,EAAAz7E,KAAA6O,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA8Z,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAkB,EAAApiB,KAAA+/B,MAAA3d,QAAA2C,GAEA,OAAA3C,EAAA4jB,KAAA,SAAAh2B,EAAAuR,GAAA,OAAAvR,EAAAuR,KAEAozE,EAAA/zF,UAAAmzF,YAAA,SAAAtkE,EAAAlnB,EAAAC,EAAA6gC,GACA,IAAA,IAAA9D,EAAA,EAAAvb,EAAAzhB,EAAArH,OAAAqkC,EAAAvb,EAAAub,IACA,GAAAA,EAKAg8C,MAAAh5E,EAAAg9B,GAAA/8B,EAAA+8B,KACA9V,EAAAssC,YACA1yB,EAAA9hC,MAAAkoB,GACAA,EAAAqsC,aAIArsC,EAAAy4B,OAAA3/C,EAAAg9B,GAAA/8B,EAAA+8B,KAXA9V,EAAAqsC,YACArsC,EAAAkd,OAAApkC,EAAAg9B,GAAA/8B,EAAA+8B,KAYA9V,EAAAssC,YACA1yB,EAAAxhC,KAAA4nB,IAEAklE,EAAA/zF,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAA5J,EAAAd,KACAmyE,EAAAznE,EAAAynE,IAAAC,EAAA1nE,EAAA0nE,IAGApyE,KAAAq1F,KAAAr1F,KAAA40F,4BAAAziB,GACAnyE,KAAAs1F,KAAAt1F,KAAA40F,4BAAAxiB,GAcA,IAbA,IAAA33D,EAAA,SAAAxK,GACA,IAAAvF,EAAA,CAAAynE,EAAAliE,GAAAmiE,EAAAniE,IAAA1H,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,GACAiQ,EAAAkgD,QAAAtkC,KAAAm0B,OACA/vC,EAAAkgD,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACA0K,EAAAo5E,YAAAtkE,EAAAlnB,EAAAC,EAAAinB,EAAA8G,OAEA5b,EAAAkgD,QAAA9jC,MAAAyzB,MAAA/6B,EAAAxf,EAAA,WAAA,OAAAnP,EAAAizF,YAAAtkE,EAAAlnB,EAAAC,EAAAinB,EAAA8G,OAAA,WAAA,OAAAz1B,EAAAgiF,SAAAhoB,mBACAngD,EAAAkgD,QAAA1kC,KAAAu0B,OACA/vC,EAAAkgD,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACA0K,EAAAo5E,YAAAtkE,EAAAlnB,EAAAC,EAAAinB,EAAA04B,UAGAxtC,EAAA3a,KACAoK,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAqQ,EAAAxK,KAGA0kF,EAAA/zF,UAAA0iF,WAAA,SAAAn7E,GAMA,IALA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACAg7E,EAAAxjF,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAA9Z,EAAA+Z,KAAA9Z,EAAA+Z,KAAAha,EAAAia,KAAAha,IACAyZ,EAAA,GACAlS,EAAA,EAAA+Z,EAAAw5D,EAAAtiF,OAAA+O,EAAA+Z,EAAA/Z,IAIA,IAHA,IAAAs4E,EAAA/E,EAAAvzE,GACAkiE,EAAAnyE,KAAAq1F,KAAA9M,GACAnW,EAAApyE,KAAAs1F,KAAA/M,GACAhjD,EAAA,EAAA0pD,EAAA9c,EAAAjxE,OAAAqkC,EAAA0pD,EAAA1pD,IACAk9C,EAAA5hE,cAAAtY,EAAAC,EAAA2pE,EAAA5sC,GAAA6sC,EAAA7sC,KACApjB,EAAAnX,KAAAu9E,GAIA,IAAAxqE,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEA42E,EAAA/zF,UAAA0zF,gBAAA,SAAAx0E,GACA,OAAAuS,EAAAnK,IAAApI,GAAAA,EAAA5e,QAEAyzF,EAAA/zF,UAAAqjF,SAAA,SAAAh0E,EAAA1H,EAAAC,GACA,GAAA,GAAAxI,KAAAq1F,KAAAplF,GAAA/O,OAEA,OAAAlB,KAAAs0F,gBAAAt0F,KAAAmyE,IAAAliE,IAOA,IAFA,IAAAkiE,EAAAnyE,KAAAq1F,KAAAplF,GACAmiE,EAAApyE,KAAAs1F,KAAArlF,GACAs1B,EAAA,EAAAvb,EAAAmoD,EAAAjxE,OAAAqkC,EAAAvb,EAAAub,IACA,GAAAk9C,EAAA5hE,cAAAtY,EAAAC,EAAA2pE,EAAA5sC,GAAA6sC,EAAA7sC,IACA,OAAAvlC,KAAAs0F,gBAAAniB,EAAA5sC,IAGA,MAAA,IAAAlnC,MAAA,qBAEAs2F,EAAA/zF,UAAAsjF,SAAA,SAAAj0E,EAAA1H,EAAAC,GACA,GAAA,GAAAxI,KAAAs1F,KAAArlF,GAAA/O,OAEA,OAAAlB,KAAAs0F,gBAAAt0F,KAAAoyE,IAAAniE,IAOA,IAFA,IAAAkiE,EAAAnyE,KAAAq1F,KAAAplF,GACAmiE,EAAApyE,KAAAs1F,KAAArlF,GACAs1B,EAAA,EAAAvb,EAAAmoD,EAAAjxE,OAAAqkC,EAAAvb,EAAAub,IACA,GAAAk9C,EAAA5hE,cAAAtY,EAAAC,EAAA2pE,EAAA5sC,GAAA6sC,EAAA7sC,IACA,OAAAvlC,KAAAs0F,gBAAAliB,EAAA7sC,IAGA,MAAA,IAAAlnC,MAAA,qBAEAs2F,EAAA/zF,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuB,oBAAA/jF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA40D,EAhLA,CAiLA1P,EAAAE,WACAvnF,EAAA+2F,YAAAA,EACA,IAAAjD,EAAA,SAAApqF,GAEA,SAAAoqF,EAAAnmF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAAiqF,EAAApqF,GAIAoqF,EAAA33E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAA2qF,EACA30F,KAAAokE,OAAA,CAAA,CAAA,KAAA,QACApkE,KAAAga,OAAA,CAAA,OAAA,OAAA,WAEA03E,EAXA,CAYAzM,EAAAI,OACAznF,EAAA8zF,QAAAA,EACAA,EAAA33E,aC1MA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2uF,EAAA3uF,EAAA,KACA63F,EAAA,SAAAjuF,GAEA,SAAAiuF,IACA,OAAA,OAAAjuF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAoCA,OAtCA6G,EAAAY,UAAA8tF,EAAAjuF,GAIAiuF,EAAA30F,UAAAspF,iBAAA,SAAAtlE,EAAA3U,EAAAulF,GACA,IAAApnF,EAAAkB,KAAA4b,IAAAlrB,KAAA4+D,MAAA3uD,GAAAjQ,KAAA8+D,OAAA7uD,IACA3B,EAAAgB,KAAAsD,IAAA5S,KAAA8+D,OAAA7uD,GAAAjQ,KAAA4+D,MAAA3uD,IACAjC,EAAAsB,KAAA4b,IAAAlrB,KAAA6kC,KAAA50B,GAAAjQ,KAAAi/D,QAAAhvD,IACA/B,EAAAoB,KAAAsD,IAAA5S,KAAAi/D,QAAAhvD,GAAAjQ,KAAA6kC,KAAA50B,IACA,OAAA2U,GACA,IAAA,WAAA,MAAA,CAAAnc,EAAA2F,EAAA1F,EAAAsF,GACA,IAAA,aAAA,MAAA,CAAAvF,GAAA2F,EAAAE,GAAA,EAAA5F,EAAAsF,GACA,IAAA,YAAA,MAAA,CAAAvF,EAAA6F,EAAA5F,EAAAsF,GACA,IAAA,eAAA,MAAA,CAAAvF,EAAA6F,EAAA5F,GAAAsF,EAAAE,GAAA,GACA,IAAA,eAAA,MAAA,CAAAzF,EAAA6F,EAAA5F,EAAAwF,GACA,IAAA,gBAAA,MAAA,CAAAzF,GAAA2F,EAAAE,GAAA,EAAA5F,EAAAwF,GACA,IAAA,cAAA,MAAA,CAAAzF,EAAA2F,EAAA1F,EAAAwF,GACA,IAAA,cAAA,MAAA,CAAAzF,EAAA2F,EAAA1F,GAAAsF,EAAAE,GAAA,GACA,IAAA,SAAA,MAAA,CAAAzF,GAAA2F,EAAAE,GAAA,EAAA5F,GAAAsF,EAAAE,GAAA,GACA,QAAA,OAAA,OAGAqnF,EAAA30F,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAA4+D,MAAA3uD,GAAAjQ,KAAA8+D,OAAA7uD,IAAA,GAEAslF,EAAA30F,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAA6kC,KAAA50B,GAAAjQ,KAAAi/D,QAAAhvD,IAAA,GAEAslF,EAAA30F,UAAAslF,YAAA,WACA,OAAAlmF,KAAAinF,WAAAjnF,KAAAyrB,OAAAvqB,SAEAq0F,EAAA30F,UAAAsmF,MAAA,SAAAj3E,GACA,IAAAk3E,EAAAnnF,KAAAsrB,MAAArb,GACA4V,EAAA7lB,KAAAyrB,OAAAxb,GACA0Q,EAAA3gB,KAAAqrB,KAAApb,GACAsR,EAAAvhB,KAAA0rB,QAAAzb,GACA,MAAA,CAAAk3E,EAAAthE,EAAAlF,EAAAY,IAEAg0E,EAvCA,CAwCAlJ,EAAArF,SACAppF,EAAA23F,SAAAA,EACA,IAAA3D,EAAA,SAAAtqF,GAEA,SAAAsqF,EAAArmF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAOA,OATA6G,EAAAY,UAAAmqF,EAAAtqF,GAIAsqF,EAAA73E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAurF,EACAv1F,KAAAokE,OAAA,CAAA,CAAA,QAAA,UAAA,CAAA,OAAA,UAEAwtB,EAVA,CAWAvF,EAAA7E,KACA5pF,EAAAg0F,KAAAA,EACAA,EAAA73E,aC1DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4nF,EAAA5nF,EAAA,IACAunF,EAAAvnF,EAAA,KACA8kF,EAAA9kF,EAAA,KAUA,SAAA+3F,EAAAC,EAAAn4E,EAAAkD,GACA,GAAAlD,IAAAm4E,EAAAj1E,GAAA,EACA,MAAA,CAAAi1E,EAAAj1E,GAEA,IAAAE,GAAA+0E,EAAAn4E,IAAAm4E,EAAA,EAAAn4E,EAAAkD,GACAk1E,EAAAD,EAAApmF,KAAAqS,IAAA,EAAAhB,EAAA,GAAA,EAAApD,GAAA,EAAAoD,GAAAA,EAAAF,EAAAnR,KAAAqS,IAAAhB,EAAA,GACA,MAAA,CAAArR,KAAA4b,IAAAwqE,EAAAj1E,EAAAk1E,GAAArmF,KAAAsD,IAAA8iF,EAAAj1E,EAAAk1E,IAGA,IAAAC,EAAA,SAAAtuF,GAEA,SAAAsuF,IACA,OAAA,OAAAtuF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAqCA,OAvCA6G,EAAAY,UAAAmuF,EAAAtuF,GAIAsuF,EAAAh1F,UAAAslF,YAAA,WAEA,IADA,IAAA5tC,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAmmF,IAAAjlF,OAAA+O,EAAA+Z,EAAA/Z,IACA,IAAAsxE,MAAAvhF,KAAAmmF,IAAAl2E,GAAAjQ,KAAAomF,IAAAn2E,GAAAjQ,KAAAqmF,IAAAp2E,GAAAjQ,KAAAsmF,IAAAr2E,GAAAjQ,KAAA61F,IAAA5lF,GAAAjQ,KAAA81F,IAAA7lF,IAAA,CAEA,IAAAvF,EAAA+qF,EAAAz1F,KAAAmmF,IAAAl2E,GAAAjQ,KAAA61F,IAAA5lF,GAAAjQ,KAAAomF,IAAAn2E,IAAAuR,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACAO,EAAAwqF,EAAAz1F,KAAAqmF,IAAAp2E,GAAAjQ,KAAA81F,IAAA7lF,GAAAjQ,KAAAsmF,IAAAr2E,IAAAwR,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACAqtC,EAAAttC,KAAA,CAAAuX,KAAAf,EAAAgB,KAAAf,EAAAgB,KAAAxB,EAAAyB,KAAAxB,EAAAjR,EAAAA,IAEA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEAs9C,EAAAh1F,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAu8C,EAAAv8C,EAAAu8C,IAAAI,EAAA38C,EAAA28C,IAAAH,EAAAx8C,EAAAw8C,IAAAI,EAAA58C,EAAA48C,IAAAyuC,EAAArrF,EAAAqrF,IAAAC,EAAAtrF,EAAAsrF,IACA,GAAAh2F,KAAA66D,QAAA1kC,KAAAu0B,KACA,IAAA,IAAAtgD,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAt6B,EAAAh3C,GAAAo3C,EAAAp3C,GAAAi3C,EAAAj3C,GAAAq3C,EAAAr3C,GAAA8lF,EAAA9lF,GAAA+lF,EAAA/lF,MAEAwf,EAAAqsC,YACArsC,EAAAkd,OAAAsa,EAAAh3C,GAAAo3C,EAAAp3C,IACAwf,EAAAwmE,iBAAAF,EAAA9lF,GAAA+lF,EAAA/lF,GAAAi3C,EAAAj3C,GAAAq3C,EAAAr3C,IACAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,YAIAytC,EAAAh1F,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuC,oBAAA/kF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA61D,EAAAh1F,UAAAqjF,SAAA,WACA,MAAA,IAAA5lF,MAAA,oBAEAu3F,EAAAh1F,UAAAsjF,SAAA,WACA,MAAA,IAAA7lF,MAAA,oBAEAu3F,EAxCA,CAyCA3Q,EAAAE,WACAvnF,EAAAg4F,cAAAA,EACA,IAAA9D,EAAA,SAAAxqF,GAEA,SAAAwqF,EAAAvmF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAAqqF,EAAAxqF,GAIAwqF,EAAA/3E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAY,UAAAoJ,aAAA4rF,EACA51F,KAAAokE,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,KAAA,MAAA,CAAA,KAAA,QACApkE,KAAAga,OAAA,CAAA,UAEA83E,EAXA,CAYA7M,EAAAI,OACAznF,EAAAk0F,UAAAA,EACAA,EAAA/3E,aChFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA2P,EAAA3P,EAAA,IACAw4F,EAAA,SAAA5uF,GAEA,SAAA4uF,IACA,OAAA,OAAA5uF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAqCA,OAvCA6G,EAAAY,UAAAyuF,EAAA5uF,GAIA4uF,EAAAt1F,UAAAm6D,UAAA,WACA,QAAA/6D,KAAA5B,MAAA8a,WAAAhY,OAAA0zB,MACA50B,KAAAm2F,QAAAn2F,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAAo2F,SAEAp2F,KAAAm2F,QAAAn2F,KAAAo2F,SAEAF,EAAAt1F,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAA2tF,EAAAzrF,EAAAyrF,QAAAtrB,EAAAngE,EAAAmgE,OACA,GAAA7qE,KAAA66D,QAAA1kC,KAAAu0B,KAAA,CAIA,IAHA,IAAAr7C,EAAArP,KAAA8iF,SAAAvmD,UAAA0E,MAAA1V,OAAA1f,MACA2D,EAAAxP,KAAA8iF,SAAAvmD,UAAA0E,MAAAzV,QAAA3f,MACAwqF,EAAA,GAAAhnF,EAAAG,GACAS,EAAA,EAAA+Z,EAAAmsE,EAAAj1F,OAAA+O,EAAA+Z,EAAA/Z,IACA,GAAAkmF,EAAAlmF,KACAkmF,EAAAlmF,GAAAomF,GAEA,IAAA,IAAAjsF,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAA46D,EAAA56D,GAAAkmF,EAAAlmF,MAEAwf,EAAA+c,UAAAjkC,EAAA0H,GAAAzH,EAAAyH,IACAwf,EAAAH,OAAAu7C,EAAA56D,IACAwf,EAAAqsC,YACArsC,EAAAkd,OAAA,EAAA,GACAld,EAAAy4B,OAAAiuC,EAAAlmF,GAAA,GACAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,SACA14B,EAAAH,QAAAu7C,EAAA56D,IACAwf,EAAA+c,WAAAjkC,EAAA0H,IAAAzH,EAAAyH,QAIAimF,EAAAt1F,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuC,oBAAA/kF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEAm2D,EAxCA,CAyCA3T,EAAA4B,aACAvmF,EAAAs4F,QAAAA,EACA,IAAAlE,EAAA,SAAA1qF,GAEA,SAAA0qF,EAAAzmF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAAuqF,EAAA1qF,GAIA0qF,EAAAj4E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,MACAvZ,KAAAY,UAAAoJ,aAAAksF,EACAl2F,KAAAga,OAAA,CAAA,SACAha,KAAAia,OAAA,CACA/Y,OAAA,CAAAmM,EAAA4S,cACAqB,MAAA,CAAAjU,EAAA0nB,cAGAi9D,EAdA,CAeAzP,EAAAgC,SACA3mF,EAAAo0F,IAAAA,EACAA,EAAAj4E,aCjEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAorF,EAAAprF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA+kF,EAAA/kF,EAAA,GACA2P,EAAA3P,EAAA,IACA20B,EAAA30B,EAAA,IACA44F,EAAA,SAAAhvF,GAEA,SAAAgvF,IACA,OAAA,OAAAhvF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAgLA,OAlLA6G,EAAAY,UAAA6uF,EAAAhvF,GAIAgvF,EAAA11F,UAAAmoF,UAAA,WACA/oF,KAAAgpF,OAAA,EACA,QAAAhpF,KAAA5B,MAAA8a,WAAA7J,MAAAulB,QACA50B,KAAAgpF,OAAAhpF,KAAAgsB,UAAA,GACAhsB,KAAAipF,OAAA,EACA,QAAAjpF,KAAA5B,MAAA8a,WAAA1J,OAAAolB,QACA50B,KAAAipF,OAAAjpF,KAAAksB,WAAA,IAEAoqE,EAAA11F,UAAAm6D,UAAA,WACA,IAAArwD,EAAAO,EACA,GAAA,QAAAjL,KAAA5B,MAAA8a,WAAA7J,MAAAulB,MACAlqB,EAAA1K,KAAAu2F,sCAAAv2F,KAAAqoD,GAAAroD,KAAAurB,OAAAvrB,KAAA8iF,SAAAxgD,QAAAtiC,KAAAs/D,GAAA50D,EAAA,GAAA1K,KAAAinD,IAAAv8C,EAAA,OACA,CACA1K,KAAAs/D,GAAAt/D,KAAAurB,OACA,IAAAirE,EAAAx2F,KAAAuI,GAAArH,OACAlB,KAAAinD,IAAA,IAAA/zB,aAAAsjE,GACA,IAAA,IAAAvmF,EAAA,EAAAA,EAAAumF,EAAAvmF,IACAjQ,KAAAinD,IAAAh3C,GAAAjQ,KAAAuI,GAAA0H,GAAAjQ,KAAAs/D,GAAArvD,GAAA,EAEA,GAAA,QAAAjQ,KAAA5B,MAAA8a,WAAA1J,OAAAolB,MACA3pB,EAAAjL,KAAAu2F,sCAAAv2F,KAAAi6D,GAAAj6D,KAAAwrB,QAAAxrB,KAAA8iF,SAAArgD,QAAAziC,KAAAu/D,GAAAt0D,EAAA,GAAAjL,KAAAsnD,IAAAr8C,EAAA,OACA,CACAjL,KAAAu/D,GAAAv/D,KAAAwrB,QACA,IAAAirE,EAAAz2F,KAAAwI,GAAAtH,OACAlB,KAAAsnD,IAAA,IAAAp0B,aAAAujE,GACA,IAAA,IAAAxmF,EAAA,EAAAA,EAAAwmF,EAAAxmF,IACAjQ,KAAAsnD,IAAAr3C,GAAAjQ,KAAAwI,GAAAyH,GAAAjQ,KAAAu/D,GAAAtvD,GAAA,EAEA,IAAAq1B,EAAAtlC,KAAAs/D,GAAAp+D,OACAlB,KAAA02F,WAAA,IAAAxjE,aAAAoS,GACA,IAAA,IAAAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAjQ,KAAA02F,WAAAzmF,GAAAX,KAAAsT,KAAA5iB,KAAAs/D,GAAArvD,GAAA,EAAAjQ,KAAAs/D,GAAArvD,GAAA,EAAAjQ,KAAAu/D,GAAAtvD,GAAA,EAAAjQ,KAAAu/D,GAAAtvD,GAAA,IAEAqmF,EAAA11F,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAAy+C,EAAAv8C,EAAAu8C,IAAAK,EAAA58C,EAAA48C,IAAAgY,EAAA50D,EAAA40D,GAAAC,EAAA70D,EAAA60D,GAAAsL,EAAAngE,EAAAmgE,OACA,GAAA7qE,KAAA66D,QAAAtkC,KAAAm0B,KACA,IAAA,IAAAtgD,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAAg3C,EAAAh3C,GAAAq3C,EAAAr3C,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,GAAA46D,EAAA56D,MAGAjQ,KAAA66D,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACA46D,EAAA56D,IACAwf,EAAA+c,UAAAjkC,EAAA0H,GAAAzH,EAAAyH,IACAwf,EAAAH,OAAAu7C,EAAA56D,IACAwf,EAAAg0C,UAAAnE,EAAArvD,GAAA,GAAAsvD,EAAAtvD,GAAA,EAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,IACAwf,EAAAH,QAAAu7C,EAAA56D,IACAwf,EAAA+c,WAAAjkC,EAAA0H,IAAAzH,EAAAyH,KAGAwf,EAAAg0C,SAAAxc,EAAAh3C,GAAAq3C,EAAAr3C,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,KAGA,GAAAjQ,KAAA66D,QAAA1kC,KAAAu0B,KAAA,CACAj7B,EAAAqsC,YACA,IAAA,IAAA7wD,EAAA,EAAA0rF,EAAAv0E,EAAAnX,EAAA0rF,EAAAz1F,OAAA+J,IAAA,CACA,IAAAgF,EAAA0mF,EAAA1rF,GACAs2E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAAg3C,EAAAh3C,GAAAq3C,EAAAr3C,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,GAAA46D,EAAA56D,KAKA,GAAAqvD,EAAArvD,IAAA,GAAAsvD,EAAAtvD,KAEA46D,EAAA56D,IACAwf,EAAA+c,UAAAjkC,EAAA0H,GAAAzH,EAAAyH,IACAwf,EAAAH,OAAAu7C,EAAA56D,IACAwf,EAAAtgB,MAAAmwD,EAAArvD,GAAA,GAAAsvD,EAAAtvD,GAAA,EAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,IACAwf,EAAAH,QAAAu7C,EAAA56D,IACAwf,EAAA+c,WAAAjkC,EAAA0H,IAAAzH,EAAAyH,KAGAwf,EAAAtgB,KAAA83C,EAAAh3C,GAAAq3C,EAAAr3C,GAAAqvD,EAAArvD,GAAAsvD,EAAAtvD,IACAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,SACA14B,EAAAqsC,aAEArsC,EAAA04B,WAGAmuC,EAAA11F,UAAAymF,UAAA,SAAAl/E,GACA,OAAAnI,KAAAsnF,wBAAAn/E,IAEAmuF,EAAA11F,UAAA0iF,WAAA,SAAAn7E,GAKA,IAJA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACAouF,EAAA,GACA3mF,EAAA,EAAA+Z,EAAAhqB,KAAAinD,IAAA/lD,OAAA+O,EAAA+Z,EAAA/Z,IACA2mF,EAAA5rF,KAAAhL,KAAAinD,IAAAh3C,GAAAjQ,KAAAs/D,GAAArvD,GAAA,GAGA,IADA,IAAA4mF,EAAA,GACA5mF,EAAA,EAAA+Z,EAAAhqB,KAAAsnD,IAAApmD,OAAA+O,EAAA+Z,EAAA/Z,IACA4mF,EAAA7rF,KAAAhL,KAAAsnD,IAAAr3C,GAAAjQ,KAAAu/D,GAAAtvD,GAAA,GAUA,IARA,IAAA6mF,EAAAzkE,EAAAzf,IAAA5S,KAAA+2F,OAAA,EAAAH,EAAA52F,KAAA02F,aACAM,EAAA3kE,EAAAzf,IAAA5S,KAAA+2F,OAAA,EAAAF,EAAA72F,KAAA02F,aACAl1E,EAAA/Y,EAAAquF,EACA71E,EAAAxY,EAAAquF,EACAr1E,EAAA/Y,EAAAsuF,EACA91E,EAAAxY,EAAAsuF,EACA70E,EAAA,GACA4C,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACA9W,EAAA,EAAAM,EAAA1K,KAAA+/B,MAAA3d,QAAA2C,GAAA3a,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA6F,EAAAvF,EAAAN,GACA6sF,OAAA,EAAAC,OAAA,EACA,GAAAl3F,KAAA6qE,OAAA56D,GAAA,CACA,IAAA4oC,EAAAvpC,KAAAuS,KAAA7hB,KAAA6qE,OAAA56D,IACA6V,EAAAxW,KAAAsS,KAAA5hB,KAAA6qE,OAAA56D,IACA6Q,EAAAgF,GAAAvd,EAAAvI,KAAAuI,GAAA0H,IAAA4oC,GAAArwC,EAAAxI,KAAAwI,GAAAyH,IAAAjQ,KAAAuI,GAAA0H,GACA8Q,EAAA83B,GAAAtwC,EAAAvI,KAAAuI,GAAA0H,IAAA6V,GAAAtd,EAAAxI,KAAAwI,GAAAyH,IAAAjQ,KAAAwI,GAAAyH,GACA1H,EAAAuY,EACAtY,EAAAuY,EACAm2E,EAAA5nF,KAAAsd,IAAA5sB,KAAAuI,GAAA0H,GAAA1H,IAAAvI,KAAAs/D,GAAArvD,GAAA,EACAgnF,EAAA3nF,KAAAsd,IAAA5sB,KAAAwI,GAAAyH,GAAAzH,IAAAxI,KAAAu/D,GAAAtvD,GAAA,OAGAinF,EAAA3uF,EAAAvI,KAAAinD,IAAAh3C,IAAAjQ,KAAAs/D,GAAArvD,IAAA1H,EAAAvI,KAAAinD,IAAAh3C,IAAA,EACAgnF,EAAAzuF,EAAAxI,KAAAsnD,IAAAr3C,IAAAjQ,KAAAu/D,GAAAtvD,IAAAzH,EAAAxI,KAAAsnD,IAAAr3C,IAAA,EAEAgnF,GAAAC,GACA/0E,EAAAnX,KAAAiF,GAEA,IAAA8N,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEAu4E,EAAA11F,UAAA21F,sCAAA,SAAApvB,EAAAgwB,EAAApuF,GAIA,IAHA,IAAAu8B,EAAA6hC,EAAAjmE,OACAqpF,EAAA,IAAAr3D,aAAAoS,GACAklD,EAAA,IAAAt3D,aAAAoS,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAs6E,EAAAt6E,GAAAsjB,OAAA4zC,EAAAl3D,IAAAknF,EAAAlnF,GAAA,EACAu6E,EAAAv6E,GAAAsjB,OAAA4zC,EAAAl3D,IAAAknF,EAAAlnF,GAAA,EAMA,IAJA,IAAAy6E,EAAA3hF,EAAAurB,UAAAi2D,GACAI,EAAA5hF,EAAAurB,UAAAk2D,GACA4M,EAAAp3F,KAAA6iF,MAAA95E,EAAAwhF,EAAA4M,EAAA,OAAAn3F,KAAA5B,MAAAksF,QACA+M,EAAA3M,EACAz6E,EAAA,EAAA+Z,EAAA0gE,EAAAxpF,OAAA+O,EAAA+Z,EAAA/Z,IACA,GAAAy6E,EAAAz6E,IAAA06E,EAAA16E,GAAA,CACAonF,EAAA3M,EAAAz6E,GAAA06E,EAAA16E,GAAAy6E,EAAAC,EACA,MAGA,MAAA,CAAAyM,EAAAC,IAEAf,EAAA11F,UAAAm2F,OAAA,SAAAz5B,EAAAg6B,EAAAlN,GAKA,IAJA,IAAArhF,EAAA,GAAAu0D,EAAAt9D,KAAA8iF,SAAAxgD,OAAAtiC,KAAA8iF,SAAArgD,OACAioD,EAAA4M,EACArpC,EAAAy8B,EAAAxpF,OACAypF,EAAA,IAAAz3D,aAAA+6B,GACAh+C,EAAA,EAAAA,EAAAg+C,EAAAh+C,IACA06E,EAAA16E,GAAAy6E,EAAAz6E,GAAAm6E,EAAAn6E,GAKA,IAJA,IAAAs6E,EAAAxhF,EAAAwuF,SAAA7M,GACAF,EAAAzhF,EAAAwuF,SAAA5M,GACArlD,EAAAilD,EAAArpF,OACAs2F,EAAA,IAAAtkE,aAAAoS,GACAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAunF,EAAAvnF,GAAAX,KAAAsd,IAAA49D,EAAAv6E,GAAAs6E,EAAAt6E,IACA,OAAAunF,GAEAlB,EAAA11F,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuB,oBAAA/jF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEAu2D,EAAA11F,UAAAsoF,QAAA,SAAAx+E,GACA,IAAA6X,EAAA7X,EAAA6X,KAAAE,EAAA/X,EAAA+X,KAAAD,EAAA9X,EAAA8X,KAAAE,EAAAhY,EAAAgY,KACA,MAAA,CACAH,KAAAA,EAAAviB,KAAAgpF,OACAvmE,KAAAA,EAAAziB,KAAAgpF,OACAxmE,KAAAA,EAAAxiB,KAAAipF,OACAvmE,KAAAA,EAAA1iB,KAAAipF,SAGAqN,EAnLA,CAoLAxN,EAAArB,qBACA7pF,EAAA04F,SAAAA,EACA,IAAApE,EAAA,SAAA5qF,GAEA,SAAA4qF,EAAA3mF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAAyqF,EAAA5qF,GAIA4qF,EAAAn4E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAssF,EACAt2F,KAAAia,OAAA,CACAqwE,OAAA,CAAAj9E,EAAA8lB,SAAA,MAGA++D,EAZA,CAaApJ,EAAApB,iBACA9pF,EAAAs0F,KAAAA,EACAA,EAAAn4E,aC5MA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA+kF,EAAA/kF,EAAA,GACA4nF,EAAA5nF,EAAA,IACAunF,EAAAvnF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA+5F,EAAA,SAAAnwF,GAEA,SAAAmwF,IACA,OAAA,OAAAnwF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA8FA,OAhGA6G,EAAAY,UAAAgwF,EAAAnwF,GAIAmwF,EAAA72F,UAAAslF,YAAA,WAEA,IADA,IAAA5tC,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAmmF,IAAAjlF,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAAuR,EAAAxhB,KAAAmmF,IAAAl2E,GACAgR,EAAAjhB,KAAAomF,IAAAn2E,GACAwR,EAAAzhB,KAAAqmF,IAAAp2E,GACAiR,EAAAlhB,KAAAsmF,IAAAr2E,GACAsxE,MAAA//D,EAAAP,EAAAQ,EAAAP,IACAo3B,EAAAttC,KAAA,CACAuX,KAAAjT,KAAA4b,IAAA1J,EAAAP,GACAuB,KAAAlT,KAAA4b,IAAAzJ,EAAAP,GACAuB,KAAAnT,KAAAsD,IAAA4O,EAAAP,GACAyB,KAAApT,KAAAsD,IAAA6O,EAAAP,GACAjR,EAAAA,IAIA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEAm/C,EAAA72F,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAu8C,EAAAv8C,EAAAu8C,IAAAI,EAAA38C,EAAA28C,IAAAH,EAAAx8C,EAAAw8C,IAAAI,EAAA58C,EAAA48C,IACA,GAAAtnD,KAAA66D,QAAA1kC,KAAAu0B,KACA,IAAA,IAAAtgD,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAt6B,EAAAh3C,GAAAo3C,EAAAp3C,GAAAi3C,EAAAj3C,GAAAq3C,EAAAr3C,MAEAwf,EAAAqsC,YACArsC,EAAAkd,OAAAsa,EAAAh3C,GAAAo3C,EAAAp3C,IACAwf,EAAAy4B,OAAAhB,EAAAj3C,GAAAq3C,EAAAr3C,IACAjQ,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,YAIAsvC,EAAA72F,UAAA0iF,WAAA,SAAAn7E,GAQA,IAPA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAuqF,EAAA,CAAAtqF,EAAAF,EAAAG,EAAAF,GACA2Z,EAAA,GAEAzX,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAr+C,EADA,EACAA,EADA,GACAga,EAAA7X,EAAA,GAAA+X,EAAA/X,EAAA,GACAO,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAp+C,EAFA,EAEAA,EAFA,GAEAga,EAAAvX,EAAA,GAAAyX,EAAAzX,EAAA,GACAu4E,EAAAxjF,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,IACAtY,EAAA,EAAAy5E,EAAAL,EAAAp5E,EAAAy5E,EAAA3iF,OAAAkJ,IAAA,CACA,IAAA6F,EAAA4zE,EAAAz5E,GACAstF,EAAApoF,KAAAqS,IAAArS,KAAAsD,IAAA,EAAA5S,KAAA66D,QAAA1kC,KAAA+yB,aAAA,aAAAj5C,GAAA,GAAA,GACAqQ,EAAA,CAAA7X,EAAAzI,KAAAinD,IAAAh3C,GAAAvH,EAAA1I,KAAAqnD,IAAAp3C,IACAsQ,EAAA,CAAA9X,EAAAzI,KAAAknD,IAAAj3C,GAAAvH,EAAA1I,KAAAsnD,IAAAr3C,IACA0nF,EAAAlV,EAAAjiE,wBAAAuyE,EAAAzyE,EAAAC,GACAo3E,EAAAD,GACAv1E,EAAAnX,KAAAiF,GAEA,IAAA8N,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEA05E,EAAA72F,UAAA2mF,UAAA,SAAAp/E,GACA,IAAAuC,EAAAO,EAGA2sF,EACAC,EACAx7E,EAJAxP,EAAA7M,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA29C,OAAAC,EAAA91D,EAAA,GAAA+1D,EAAA/1D,EAAA,GACAtE,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GAIA,KAAAL,EAAA22B,WACAziB,EAAArc,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GACAkC,EAAA,CAAA1K,KAAAqmF,IAAArmF,KAAAsmF,KAAAsR,EAAAltF,EAAA,GAAAmtF,EAAAntF,EAAA,KAGA2R,EAAArc,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACA0C,EAAA,CAAAjL,KAAAmmF,IAAAnmF,KAAAomF,KAAAwR,EAAA3sF,EAAA,GAAA4sF,EAAA5sF,EAAA,IAMA,IAJA,IAAAkX,EAAA,GACApV,EAAA/M,KAAA8iF,SAAAxgD,OAAAskB,SAAA+b,EAAA54C,MAAA44C,EAAA34C,KAAAzH,EAAAxV,EAAA,GAAA0V,EAAA1V,EAAA,GACAmhD,EAAAluD,KAAA8iF,SAAArgD,OAAAmkB,SAAAgc,EAAA74C,MAAA64C,EAAA54C,KAAAxH,EAAA0rC,EAAA,GAAAxrC,EAAAwrC,EAAA,GACAs1B,EAAAxjF,KAAA+/B,MAAA3d,QAAA,CAAAG,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,IACAtY,EAAA,EAAAg+E,EAAA5E,EAAAp5E,EAAAg+E,EAAAlnF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAm4E,EAAAh+E,IACAwtF,EAAA3nF,IAAAoM,GAAAA,GAAAw7E,EAAA5nF,IAAA4nF,EAAA5nF,IAAAoM,GAAAA,GAAAu7E,EAAA3nF,KACAkS,EAAAnX,KAAAiF,GAEA,IAAA8N,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEA05E,EAAA72F,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAAinD,IAAAh3C,GAAAjQ,KAAAknD,IAAAj3C,IAAA,GAEAwnF,EAAA72F,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAAqnD,IAAAp3C,GAAAjQ,KAAAsnD,IAAAr3C,IAAA,GAEAwnF,EAAA72F,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuC,oBAAA/kF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA03D,EAjGA,CAkGAxS,EAAAE,WACAvnF,EAAA65F,YAAAA,EACA,IAAArF,EAAA,SAAA9qF,GAEA,SAAA8qF,EAAA7mF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAA2qF,EAAA9qF,GAIA8qF,EAAAr4E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAAytF,EACAz3F,KAAAokE,OAAA,CAAA,CAAA,KAAA,MAAA,CAAA,KAAA,QACApkE,KAAAga,OAAA,CAAA,UAEAo4E,EAXA,CAYAnN,EAAAI,OACAznF,EAAAw0F,QAAAA,EACAA,EAAAr4E,aCxHA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA2P,EAAA3P,EAAA,IACAo6F,EAAA,SAAAxwF,GAEA,SAAAwwF,IACA,OAAA,OAAAxwF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAmEA,OArEA6G,EAAAY,UAAAqwF,EAAAxwF,GAIAwwF,EAAAl3F,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAO,EAAA4B,EAAAE,EAAAmhD,EAAAC,EAAAC,EACA7lD,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GACAqqF,GAAA,EACAC,EAAA,KACA9yF,KAAA66D,QAAA1kC,KAAAozB,UAAA95B,GACA,IAAAsoE,EAAA31E,EAAAlhB,OACA,KAAA62F,EAAA,GAAA,CAEAtoE,EAAAqsC,YACArsC,EAAAkd,OAAApkC,EAAA,GAAAC,EAAA,IACA,IAAA,IAAA4B,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA6W,OAAA,EAAAE,OAAA,EACAD,OAAA,EAAAE,OAAA,EACA,OAAAphB,KAAA5B,MAAA45F,MACA,IAAA,SACA/sF,EAAA,CAAA1C,EAAA0H,EAAA,GAAAzH,EAAAyH,IAAAgR,EAAAhW,EAAA,GAAAiW,EAAAjW,EAAA,GACA4B,EAAA,CAAAtE,EAAA0H,GAAAzH,EAAAyH,IAAAkR,EAAAtU,EAAA,GAAAuU,EAAAvU,EAAA,GACA,MAEA,IAAA,QACAE,EAAA,CAAAxE,EAAA0H,GAAAzH,EAAAyH,EAAA,IAAAgR,EAAAlU,EAAA,GAAAmU,EAAAnU,EAAA,GACAmhD,EAAA,CAAA3lD,EAAA0H,GAAAzH,EAAAyH,IAAAkR,EAAA+sC,EAAA,GAAA9sC,EAAA8sC,EAAA,GACA,MAEA,IAAA,SACA,IAAA+pC,GAAA1vF,EAAA0H,EAAA,GAAA1H,EAAA0H,IAAA,EACAk+C,EAAA,CAAA8pC,EAAAzvF,EAAAyH,EAAA,IAAAgR,EAAAktC,EAAA,GAAAjtC,EAAAitC,EAAA,GACAC,EAAA,CAAA6pC,EAAAzvF,EAAAyH,IAAAkR,EAAAitC,EAAA,GAAAhtC,EAAAgtC,EAAA,GACA,MAEA,QACA,MAAA,IAAA/vD,MAAA,cAEA,GAAAw0F,EAAA,CACA,IAAAntC,SAAAn9C,EAAA0H,GAAAzH,EAAAyH,IAAA,CACAwf,EAAA04B,SACA14B,EAAAqsC,YACA+2B,GAAA,EACAC,EAAA7iF,EACA,SAEA,MAAA6iF,GAAA7iF,EAAA6iF,EAAA,IACArjE,EAAA04B,SACA0qC,GAAA,GAGAA,GACApjE,EAAAy4B,OAAAjnC,EAAAC,GACAuO,EAAAy4B,OAAA/mC,EAAAC,KAGAqO,EAAAqsC,YACArsC,EAAAkd,OAAApkC,EAAA0H,GAAAzH,EAAAyH,IACA4iF,GAAA,GAEAC,EAAA7iF,EAEAwf,EAAAy4B,OAAA3/C,EAAAwvF,EAAA,GAAAvvF,EAAAuvF,EAAA,IACAtoE,EAAA04B,WAEA2vC,EAAAl3F,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuC,oBAAA/kF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA+3D,EAtEA,CAuEAvV,EAAA4B,aACAvmF,EAAAk6F,SAAAA,EACA,IAAAxF,EAAA,SAAAhrF,GAEA,SAAAgrF,EAAA/mF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAUA,OAZA6G,EAAAY,UAAA6qF,EAAAhrF,GAIAgrF,EAAAv4E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAA8tF,EACA93F,KAAAga,OAAA,CAAA,SACAha,KAAAia,OAAA,CACA+9E,KAAA,CAAA3qF,EAAAuK,SAAA,aAGA06E,EAbA,CAcA/P,EAAAgC,SACA3mF,EAAA00F,KAAAA,EACAA,EAAAv4E,aC9FA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA+kF,EAAA/kF,EAAA,GACA2P,EAAA3P,EAAA,IACAwtE,EAAAxtE,EAAA,IACAw6F,EAAA,SAAA5wF,GAEA,SAAA4wF,IACA,OAAA,OAAA5wF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA+GA,OAjHA6G,EAAAY,UAAAywF,EAAA5wF,GAIA4wF,EAAAt3F,UAAAu3F,cAAA,SAAA1vF,EAAAC,EAAA6pE,EAAAC,EAAAlxD,GACA,IAAA82E,GAAA3vF,EAAA8pE,GAAAjjE,KAAAsS,IAAAN,IAAA5Y,EAAA8pE,GAAAljE,KAAAuS,IAAAP,GAAAixD,EACA8lB,GAAA5vF,EAAA8pE,GAAAjjE,KAAAuS,IAAAP,IAAA5Y,EAAA8pE,GAAAljE,KAAAsS,IAAAN,GAAAkxD,EACA,MAAA,CAAA4lB,EAAAC,IAEAH,EAAAt3F,UAAA03F,aAAA,SAAA92E,EAAAC,EAAApS,EAAAG,GACA,IAAA+oF,EAAA,CAAA/2E,EAAAA,EAAAnS,EAAAmS,EAAAnS,EAAAmS,EAAAA,GACAg3E,EAAA,CAAA/2E,EAAAA,EAAAA,EAAAjS,EAAAiS,EAAAjS,EAAAiS,GACA,MAAA,CAAA82E,EAAAC,IAEAN,EAAAt3F,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GACA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAAmiE,EAAAjgE,EAAAigE,UAAAC,EAAAlgE,EAAAkgE,UAAAC,EAAAngE,EAAAmgE,OAAAL,EAAA9/D,EAAA8/D,MACAxqE,KAAAy4F,KAAA,GACAz4F,KAAA04F,KAAA,GACA,IAAA,IAAAtuF,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,IAAAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAA06D,EAAA16D,GAAA26D,EAAA36D,GAAA46D,EAAA56D,KAAA,MAAAu6D,EAAAv6D,KAEAjQ,KAAA04F,KAAAzoF,GAAA,GACAjQ,KAAAy4F,KAAAxoF,GAAA,GACAjQ,KAAA66D,QAAA/3D,KAAA4nD,MAAA,CACA,IAAA5nD,EAAA,GAAA0nE,EAAAv6D,GACAwf,EAAAmsC,OACAnsC,EAAA+c,UAAAjkC,EAAA0H,GAAA06D,EAAA16D,GAAAzH,EAAAyH,GAAA26D,EAAA36D,IACAwf,EAAAH,OAAAu7C,EAAA56D,IACAjQ,KAAA66D,QAAA/3D,KAAAqmD,cAAA15B,EAAAxf,GACA,IAAAu0C,EAAAxkD,KAAA66D,QAAA/3D,KAAAomD,aAAA,OAAAj5C,GACAT,EAAA07D,EAAA3mB,aAAAC,GAAAh1C,OACAmpF,EAAA34F,KAAA66D,QAAA/3D,KAAA00B,iBAAA3rB,QAAA2D,EACA,IAAA,GAAA1M,EAAA6hC,QAAA,MAAA,CACAlV,EAAA41C,SAAAviE,EAAA,EAAA,GACA,IAAA0e,EAAAjZ,EAAA0H,GAAA06D,EAAA16D,GACAwR,EAAAjZ,EAAAyH,GAAA26D,EAAA36D,GACAZ,EAAAogB,EAAAmc,YAAA9oC,GAAAuM,MACApE,EAAAjL,KAAAs4F,aAAA92E,EAAAC,EAAApS,EAAAspF,GAAAC,EAAA3tF,EAAA,GAAA4tF,EAAA5tF,EAAA,GACAjL,KAAA04F,KAAAzoF,GAAAjF,KAAA4tF,GACA54F,KAAAy4F,KAAAxoF,GAAAjF,KAAA6tF,OAEA,CACA,IAAAC,EAAAh2F,EAAAkJ,MAAA,MACA+sF,EAAAJ,EAAAG,EAAA53F,OACAyuB,EAAA3vB,KAAA66D,QAAA/3D,KAAAomD,aAAA,gBAAAj5C,GACAvH,OAAA,EACA,OAAAinB,GACA,IAAA,MACAjnB,EAAA,EACA,MAEA,IAAA,SACAA,GAAAqwF,EAAA,EAAAJ,EAAA,EACA,MAEA,IAAA,SACAjwF,GAAAqwF,EAAAJ,EACA,MAEA,QACAjwF,EAAA,EACA7J,QAAAC,KAAA,IAAA6wB,EAAA,iDAGA,IAAA,IAAA9iB,EAAA,EAAAmsF,EAAAF,EAAAjsF,EAAAmsF,EAAA93F,OAAA2L,IAAA,CACA,IAAAspB,EAAA6iE,EAAAnsF,GACA4iB,EAAA41C,SAAAlvC,EAAA,EAAAztB,GACA,IAAA8Y,EAAAjZ,EAAA0H,GAAA06D,EAAA16D,GACAwR,EAAA/Y,EAAAF,EAAAyH,GAAA26D,EAAA36D,GACAZ,EAAAogB,EAAAmc,YAAAzV,GAAA9mB,MACAtC,EAAA/M,KAAAs4F,aAAA92E,EAAAC,EAAApS,EAAAspF,GAAAC,EAAA7rF,EAAA,GAAA8rF,EAAA9rF,EAAA,GACA/M,KAAA04F,KAAAzoF,GAAAjF,KAAA4tF,GACA54F,KAAAy4F,KAAAxoF,GAAAjF,KAAA6tF,GACAnwF,GAAAiwF,GAGAlpE,EAAAwsC,aAIAi8B,EAAAt3F,UAAA0iF,WAAA,SAAAn7E,GAGA,IAFA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACA2Z,EAAA,GACAlS,EAAA,EAAAA,EAAAjQ,KAAA04F,KAAAx3F,OAAA+O,IAIA,IAHA,IAAAkiE,EAAAnyE,KAAA04F,KAAAzoF,GACAmiE,EAAApyE,KAAAy4F,KAAAxoF,GACAq1B,EAAA6sC,EAAAjxE,OACAqkC,EAAA,EAAA0pD,EAAA3pD,EAAAC,EAAA0pD,EAAA1pD,IAAA,CACA,IAAA76B,EAAA1K,KAAAm4F,cAAA5vF,EAAAC,EAAA2pE,EAAA7sC,EAAA,GAAA,GAAA8sC,EAAA9sC,EAAA,GAAA,IAAAtlC,KAAA6qE,OAAA56D,IAAAmoF,EAAA1tF,EAAA,GAAA2tF,EAAA3tF,EAAA,GACA+3E,EAAA5hE,cAAAu3E,EAAAC,EAAAlmB,EAAA5sC,GAAA6sC,EAAA7sC,KACApjB,EAAAnX,KAAAiF,GAIA,IAAA8N,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEAm6E,EAAAt3F,UAAAojF,WAAA,SAAA/zE,GACA,IAAAg3C,EAAAjnD,KAAA04F,KAAAzoF,GAAA,GAAA,GACAo3C,EAAArnD,KAAAy4F,KAAAxoF,GAAA,GAAA,GACAgpF,GAAAj5F,KAAA04F,KAAAzoF,GAAA,GAAA,GAAAg3C,GAAA,EACAiyC,GAAAl5F,KAAAy4F,KAAAxoF,GAAA,GAAA,GAAAo3C,GAAA,EACA38C,EAAA1K,KAAAm4F,cAAAc,EAAAC,EAAAjyC,EAAAI,EAAArnD,KAAA6qE,OAAA56D,IAAAkpF,EAAAzuF,EAAA,GAAA0uF,EAAA1uF,EAAA,GACA,MAAA,CAAAjC,EAAA0wF,EAAAzwF,EAAA0wF,IAEAlB,EAAAt3F,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAAgkF,WAAA/zE,GAAAxH,GAEAyvF,EAAAt3F,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAAgkF,WAAA/zE,GAAAvH,GAEAwvF,EAlHA,CAmHA3V,EAAA4B,aACAvmF,EAAAs6F,SAAAA,EACA,IAAAvtC,EAAA,SAAArjD,GAEA,SAAAqjD,EAAAp/C,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAaA,OAfA6G,EAAAY,UAAAkjD,EAAArjD,GAIAqjD,EAAA5wC,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAkuF,EACAl4F,KAAAga,OAAA,CAAA,SACAha,KAAAia,OAAA,CACAnX,KAAA,CAAAuK,EAAAmoB,eAAA,CAAAzV,MAAA,SACAuB,MAAA,CAAAjU,EAAA0nB,UAAA,GACAmvC,SAAA,CAAA72D,EAAAioB,WAAA,GACA6uC,SAAA,CAAA92D,EAAAioB,WAAA,MAGAq1B,EAhBA,CAiBA43B,EAAAgC,SACA3mF,EAAA+sD,KAAAA,EACAA,EAAA5wC,aC9IA,SAAArc,EAAAC,EAAAC,GACA,IAAA6kF,EAAA/kF,EAAA,GAaAE,EAAAmnF,oBAZA,SAAAlqB,EAAAprC,EAAA/kB,EAAAq1B,GACA,IAAAve,EAAA9W,EAAA8W,GAAAP,EAAAvW,EAAAuW,GAAAQ,EAAA/W,EAAA+W,GAAAP,EAAAxW,EAAAwW,GACAuO,EAAAmsC,OACAnsC,EAAAqsC,YACArsC,EAAAkd,OAAAnrB,GAAAC,EAAAP,GAAA,GACAuO,EAAAy4B,OAAAjnC,GAAAQ,EAAAP,GAAA,GACA25C,EAAA1kC,KAAAu0B,OACAmQ,EAAA1kC,KAAAgzB,cAAA15B,EAAAsQ,GACAtQ,EAAA04B,UAEA14B,EAAAwsC,WA4BAr+D,EAAAmmF,oBAzBA,SAAAlpB,EAAAprC,EAAA/kB,EAAAq1B,GACA,IAAAve,EAAA9W,EAAA8W,GAAAP,EAAAvW,EAAAuW,GAAAQ,EAAA/W,EAAA+W,GAAAP,EAAAxW,EAAAwW,GAEAutE,EAAA,GADAn/E,KAAAsd,IAAA3L,EAAAO,GAGAktE,EAAA,GADAp/E,KAAAsd,IAAA1L,EAAAO,GAEAwlC,EAAAzlC,EAAAitE,EACAvnC,EAAAjmC,EAAAwtE,EACApnC,EAAA5lC,EAAAitE,EACApnC,EAAApmC,EAAAwtE,EACA7zB,EAAAtkC,KAAAm0B,OACAmQ,EAAAtkC,KAAA4yB,cAAA15B,EAAAsQ,GACAtQ,EAAAg0C,SAAAxc,EAAAI,EAAAH,EAAAD,EAAAK,EAAAD,IAEA,MAAAwT,EAAA9jC,OAAA8jC,EAAA9jC,MAAA2zB,OACAmQ,EAAA9jC,MAAAoyB,cAAA15B,EAAAsQ,GACAtQ,EAAAg0C,SAAAxc,EAAAI,EAAAH,EAAAD,EAAAK,EAAAD,IAEAwT,EAAA1kC,MAAA0kC,EAAA1kC,KAAAu0B,OACAj7B,EAAAqsC,YACArsC,EAAAtgB,KAAA83C,EAAAI,EAAAH,EAAAD,EAAAK,EAAAD,GACAwT,EAAA1kC,KAAAgzB,cAAA15B,EAAAsQ,GACAtQ,EAAA04B,WA4BAvqD,EAAAy1F,mBAxBA,SAAAvQ,EAAA36E,EAAAgZ,EAAAC,EAAAokE,EAAAC,GACA,IAAA/6E,EAAAO,EAAA4B,EAAAE,EAAAmhD,EAAAC,EAEA3sC,EAAAP,EACAQ,EAAAP,EAFA3Y,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GAGA,SAAAL,EAAAoR,MAEA7O,EAAAo4E,EAAArgD,OAAAmkB,SAAAp+C,EAAA,EAAAA,EAAA,GAAAiZ,EAAA/W,EAAA,GAAAwW,EAAAxW,EAAA,GACAO,EAAA63E,EAAAxgD,OAAAskB,SAAAr+C,EAAA,EAAAA,EAAA,GAAAiZ,EAAAvW,EAAA,GAAAgW,EAAAhW,EAAA,IAIA,KAAA9C,EAAA22B,WACAjyB,EAAAi2E,EAAArgD,OAAAmkB,SAAAp+C,EAAAA,GAAAiZ,EAAA5U,EAAA,GAAAqU,EAAArU,EAAA,GACAE,EAAA,CAAAuC,KAAA4b,IAAA/J,EAAA,EAAAqkE,EAAA,GAAAl2E,KAAAsD,IAAAuO,EAAA,EAAAqkE,EAAA,IAAAhkE,EAAAzU,EAAA,GAAAkU,EAAAlU,EAAA,KAGAmhD,EAAA40B,EAAAxgD,OAAAskB,SAAAr+C,EAAAA,GAAAiZ,EAAA0sC,EAAA,GAAAjtC,EAAAitC,EAAA,GACAC,EAAA,CAAA7+C,KAAA4b,IAAA9J,EAAA,EAAAqkE,EAAA,GAAAn2E,KAAAsD,IAAAwO,EAAA,EAAAqkE,EAAA,IAAAhkE,EAAA0sC,EAAA,GAAAjtC,EAAAitC,EAAA,IAGA,IAAAC,EAAAq0B,EAAA5/D,2BAAArB,EAAAC,EAAAR,EAAAC,EAAAC,EAAAC,EAAAokE,EAAAC,GAAAh9E,EAAA2lD,EAAA3lD,EAAAC,EAAA0lD,EAAA1lD,EACA,MAAA,CAAAD,EAAAC,KC/DA,SAAAhL,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAquF,EAAAruF,EAAA,KACA4nF,EAAA5nF,EAAA,IACA2P,EAAA3P,EAAA,IACA27F,EAAA,SAAA/xF,GAEA,SAAA+xF,IACA,OAAA,OAAA/xF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA8CA,OAhDA6G,EAAAY,UAAA4xF,EAAA/xF,GAIA+xF,EAAAz4F,UAAAslF,YAAA,WAEA,IADA,IAAA5tC,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAqoD,GAAAnnD,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAAxH,EAAAzI,KAAAqoD,GAAAp4C,GACAiR,EAAAlhB,KAAAsmF,IAAAr2E,GACAmR,EAAAphB,KAAAs5F,IAAArpF,IACAsxE,MAAA94E,EAAAyY,EAAAE,IAAAskC,SAAAj9C,EAAAyY,EAAAE,IAEAk3B,EAAAttC,KAAA,CAAAuX,KAAA9Z,EAAA+Z,KAAAlT,KAAA4b,IAAAhK,EAAAE,GAAAqB,KAAAha,EAAAia,KAAApT,KAAAsD,IAAAsO,EAAAE,GAAAnR,EAAAA,IAEA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEA+gD,EAAAz4F,UAAAsrF,OAAA,SAAAz8D,EAAAlnB,EAAA++C,EAAAiyC,EAAAlwD,GACA5Z,EAAAqsC,YACA,IAAA,IAAA7rD,EAAA,EAAA+Z,EAAAs9B,EAAApmD,OAAA+O,EAAA+Z,EAAA/Z,IACAwf,EAAAy4B,OAAA3/C,EAAA0H,GAAAq3C,EAAAr3C,IAGA,IAAA,IAAA8Z,EAAAwvE,EAAAr4F,OAAA,EAAA+O,EAAA8Z,EAAA9Z,GAAA,EAAAA,IACAwf,EAAAy4B,OAAA3/C,EAAA0H,GAAAspF,EAAAtpF,IAEAwf,EAAAssC,YACA1yB,EAAAxhC,KAAA4nB,IAEA4pE,EAAAz4F,UAAA+wE,QAAA,SAAAliD,EAAAg8D,EAAA/gF,GACA,IAAA5J,EAAAd,KACAuI,EAAAmC,EAAAnC,GAAA++C,EAAA58C,EAAA48C,IAAAiyC,EAAA7uF,EAAA6uF,IACAv5F,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAAgzB,UAAA95B,GACAzvB,KAAAksF,OAAAz8D,EAAAlnB,EAAA++C,EAAAiyC,EAAA9pE,EAAA8G,OAEAv2B,KAAA66D,QAAA9jC,MAAAyzB,MAAA/6B,EAAA,EAAA,WAAA,OAAA3uB,EAAAorF,OAAAz8D,EAAAlnB,EAAA++C,EAAAiyC,EAAA9pE,EAAA8G,OAAA,WAAA,OAAAz1B,EAAAgiF,SAAAhoB,oBAEAu+B,EAAAz4F,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAAuI,GAAA0H,IAEAopF,EAAAz4F,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAAsnD,IAAAr3C,GAAAjQ,KAAAu5F,IAAAtpF,IAAA,GAEAopF,EAAAz4F,UAAAm6D,UAAA,WACA/6D,KAAAuI,GAAAvI,KAAA8iF,SAAAxgD,OAAAhO,UAAAt0B,KAAAqoD,IACAroD,KAAAsnD,IAAAtnD,KAAA8iF,SAAArgD,OAAAnO,UAAAt0B,KAAAsmF,KACAtmF,KAAAu5F,IAAAv5F,KAAA8iF,SAAArgD,OAAAnO,UAAAt0B,KAAAs5F,MAEAD,EAjDA,CAkDAtN,EAAA7G,UACAtnF,EAAAy7F,UAAAA,EACA,IAAA7G,EAAA,SAAAlrF,GAEA,SAAAkrF,EAAAjnF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAA+qF,EAAAlrF,GAIAkrF,EAAAz4E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAoJ,aAAAqvF,EACAr5F,KAAAia,OAAA,CACAxR,EAAA,CAAA4E,EAAA6nB,gBACAhU,GAAA,CAAA7T,EAAA6nB,gBACA9T,GAAA,CAAA/T,EAAA6nB,mBAGAs9D,EAdA,CAeAzG,EAAA3G,MACAxnF,EAAA40F,MAAAA,EACAA,EAAAz4E,aC1EA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2uF,EAAA3uF,EAAA,KACA2P,EAAA3P,EAAA,IACA87F,EAAA,SAAAlyF,GAEA,SAAAkyF,IACA,OAAA,OAAAlyF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAgCA,OAlCA6G,EAAAY,UAAA+xF,EAAAlyF,GAIAkyF,EAAA54F,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAAuI,GAAA0H,IAEAupF,EAAA54F,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAA6kC,KAAA50B,GAAAjQ,KAAAi/D,QAAAhvD,IAAA,GAEAupF,EAAA54F,UAAAslF,YAAA,WACA,OAAAlmF,KAAAinF,WAAAjnF,KAAAqoD,GAAAnnD,SAEAs4F,EAAA54F,UAAAsmF,MAAA,SAAAj3E,GACA,IAAAk3E,EAAAnnF,KAAAqoD,GAAAp4C,GAAAjQ,KAAAurB,OAAAtb,GAAA,EACA4V,EAAA7lB,KAAAqoD,GAAAp4C,GAAAjQ,KAAAurB,OAAAtb,GAAA,EACA0Q,EAAArR,KAAAsD,IAAA5S,KAAAqrB,KAAApb,GAAAjQ,KAAA0rB,QAAAzb,IACAsR,EAAAjS,KAAA4b,IAAAlrB,KAAAqrB,KAAApb,GAAAjQ,KAAA0rB,QAAAzb,IACA,MAAA,CAAAk3E,EAAAthE,EAAAlF,EAAAY,IAEAi4E,EAAA54F,UAAAm6D,UAAA,WACA/6D,KAAAuI,GAAAvI,KAAA8iF,SAAAxgD,OAAAhO,UAAAt0B,KAAAqoD,IACAroD,KAAAs/D,GAAAt/D,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAAurB,OAAA,UACAvrB,KAAA6kC,KAAA7kC,KAAA8iF,SAAArgD,OAAAnO,UAAAt0B,KAAAqrB,MACArrB,KAAAi/D,QAAAj/D,KAAA8iF,SAAArgD,OAAAnO,UAAAt0B,KAAA0rB,SACA,IAAA4Z,EAAAtlC,KAAAuI,GAAArH,OACAlB,KAAA4+D,MAAA,IAAA1rC,aAAAoS,GACAtlC,KAAA8+D,OAAA,IAAA5rC,aAAAoS,GACA,IAAA,IAAAr1B,EAAA,EAAAA,EAAAq1B,EAAAr1B,IACAjQ,KAAA4+D,MAAA3uD,GAAAjQ,KAAAuI,GAAA0H,GAAAjQ,KAAAs/D,GAAArvD,GAAA,EACAjQ,KAAA8+D,OAAA7uD,GAAAjQ,KAAAuI,GAAA0H,GAAAjQ,KAAAs/D,GAAArvD,GAAA,EAEAjQ,KAAAonF,mBAEAoS,EAnCA,CAoCAnN,EAAArF,SACAppF,EAAA47F,SAAAA,EACA,IAAA9G,EAAA,SAAAprF,GAEA,SAAAorF,EAAAnnF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAcA,OAhBA6G,EAAAY,UAAAirF,EAAAprF,GAIAorF,EAAA34E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAwvF,EACAx5F,KAAAokE,OAAA,CAAA,CAAA,IAAA,YACApkE,KAAAia,OAAA,CACA5K,MAAA,CAAAhC,EAAA4S,cACAjS,IAAA,CAAAX,EAAA6nB,kBAEAl1B,KAAAob,SAAA,CACAlN,OAAA,KAGAwkF,EAjBA,CAkBArG,EAAA7E,KACA5pF,EAAA80F,KAAAA,EACAA,EAAA34E,aC9DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA8kF,EAAA9kF,EAAA,KACA+kF,EAAA/kF,EAAA,GACA2P,EAAA3P,EAAA,IACAomC,EAAApmC,EAAA,IACA+7F,EAAA,SAAAnyF,GAEA,SAAAmyF,IACA,OAAA,OAAAnyF,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAyFA,OA3FA6G,EAAAY,UAAAgyF,EAAAnyF,GAIAmyF,EAAA74F,UAAAm6D,UAAA,WACA,QAAA/6D,KAAA5B,MAAA8a,WAAA0rE,OAAAhwD,MACA50B,KAAA6kF,QAAA7kF,KAAA6iF,MAAA7iF,KAAA8iF,SAAAxgD,OAAAtiC,KAAAqoD,GAAAroD,KAAA8kF,SAEA9kF,KAAA6kF,QAAA7kF,KAAA8kF,SAEA2U,EAAA74F,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GAGA,IAFA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAAq8E,EAAAn6E,EAAAm6E,QAAA1B,EAAAz4E,EAAAy4E,aAAAC,EAAA14E,EAAA04E,WACAtkD,EAAA9+B,KAAA5B,MAAA8a,WAAA4lB,UAAAjzB,QACAzB,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAA40E,EAAA50E,GAAAkzE,EAAAlzE,GAAAmzE,EAAAnzE,MAEAwf,EAAAqsC,YACArsC,EAAAq5B,IAAAvgD,EAAA0H,GAAAzH,EAAAyH,GAAA40E,EAAA50E,GAAAkzE,EAAAlzE,GAAAmzE,EAAAnzE,GAAA6uB,GACArP,EAAAy4B,OAAA3/C,EAAA0H,GAAAzH,EAAAyH,IACAwf,EAAAssC,YACA/7D,KAAA66D,QAAAtkC,KAAAm0B,OACA1qD,KAAA66D,QAAAtkC,KAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAv2B,KAAA66D,QAAA1kC,KAAAu0B,OACA1qD,KAAA66D,QAAA1kC,KAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,aAIAsxC,EAAA74F,UAAA0iF,WAAA,SAAAn7E,GACA,IAAAuC,EAAAO,EAAA4B,EAAAE,EACA62E,EAAA38B,EAAAC,EAAAG,EAAAC,EAAA9lC,EAAAP,EAAAQ,EAAAP,EACA3Y,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAzI,KAAA8iF,SAAAxgD,OAAAK,OAAAp6B,GACAG,EAAA1I,KAAA8iF,SAAArgD,OAAAE,OAAAn6B,GAEAkxF,EAAA,EAAA15F,KAAAioF,WACA,SAAAjoF,KAAA5B,MAAA8a,WAAA0rE,OAAAhwD,OACApT,EAAA/Y,EAAAixF,EACAz4E,EAAAxY,EAAAixF,EACAj4E,EAAA/Y,EAAAgxF,EACAx4E,EAAAxY,EAAAgxF,IAGAzyC,EAAA1+C,EAAAmxF,EACAxyC,EAAA3+C,EAAAmxF,EACAhvF,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACA28C,EAAA7+C,EAAAkxF,EACApyC,EAAA9+C,EAAAkxF,EACAzuF,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,IAIA,IAFA,IAAAu4E,EAAA,GACAz+D,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACA9W,EAAA,EAAA8jD,EAAAluD,KAAA+/B,MAAA3d,QAAA2C,GAAA3a,EAAA8jD,EAAAhtD,OAAAkJ,IAAA,CACA,IAAA6F,EAAAi+C,EAAA9jD,GACAioC,EAAA/iC,KAAAqS,IAAA3hB,KAAA6kF,QAAA50E,GAAA,GACApD,EAAA7M,KAAA8iF,SAAAxgD,OAAAqhD,UAAAl7E,EAAAzI,KAAAqoD,GAAAp4C,IAAAg3C,EAAAp6C,EAAA,GAAAq6C,EAAAr6C,EAAA,GACAE,EAAA/M,KAAA8iF,SAAArgD,OAAAkhD,UAAAj7E,EAAA1I,KAAAi6D,GAAAhqD,IAAAo3C,EAAAt6C,EAAA,GAAAu6C,EAAAv6C,EAAA,IACA62E,EAAAt0E,KAAAqS,IAAAslC,EAAAC,EAAA,GAAA53C,KAAAqS,IAAA0lC,EAAAC,EAAA,KACAjV,GACAmxC,EAAAx4E,KAAA,CAAAiF,EAAA2zE,IAKA,IAFA,IAAA9kD,EAAA9+B,KAAA5B,MAAA8a,WAAA4lB,UAAAjzB,QACAsW,EAAA,GACAgsC,EAAA,EAAA01B,EAAAL,EAAAr1B,EAAA01B,EAAA3iF,OAAAitD,IAAA,CACA,IAAAC,EAAAy1B,EAAA11B,GAAAl+C,EAAAm+C,EAAA,GAAAurC,EAAAvrC,EAAA,GAEA9sC,EAAAhS,KAAA2iC,MAAAzpC,EAAAxI,KAAAwI,GAAAyH,GAAA1H,EAAAvI,KAAAuI,GAAA0H,IACA6zB,EAAA+N,eAAAvwB,GAAAthB,KAAAmjF,aAAAlzE,IAAAjQ,KAAAojF,WAAAnzE,GAAA6uB,IACA3c,EAAAnX,KAAA,CAAAiF,EAAA0pF,IAGA,OAAAlX,EAAAvgE,iCAAAC,IAEAs3E,EAAA74F,UAAAkjF,sBAAA,SAAAr0D,EAAA1K,EAAAgb,GACAyiD,EAAAuB,oBAAA/jF,KAAA66D,QAAAprC,EAAA1K,EAAAgb,IAEA05D,EAAA74F,UAAAojF,WAAA,SAAA/zE,GACA,IAAA4V,EAAA7lB,KAAA6kF,QAAA50E,GAAA,EACAD,GAAAhQ,KAAAmjF,aAAAlzE,GAAAjQ,KAAAojF,WAAAnzE,IAAA,EACA,MAAA,CAAAxH,EAAAzI,KAAAuI,GAAA0H,GAAA4V,EAAAvW,KAAAsS,IAAA5R,GAAAtH,EAAA1I,KAAAwI,GAAAyH,GAAA4V,EAAAvW,KAAAuS,IAAA7R,KAEAypF,EAAA74F,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAAgkF,WAAA/zE,GAAAxH,GAEAgxF,EAAA74F,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAAgkF,WAAA/zE,GAAAvH,GAEA+wF,EA5FA,CA6FAlX,EAAA4B,aACAvmF,EAAA67F,UAAAA,EACA,IAAA7G,EAAA,SAAAtrF,GAEA,SAAAsrF,EAAArnF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAaA,OAfA6G,EAAAY,UAAAmrF,EAAAtrF,GAIAsrF,EAAA74E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAY,UAAAoJ,aAAAyvF,EACAz5F,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACA6kB,UAAA,CAAAzxB,EAAAuI,UAAA,aACAgvE,OAAA,CAAAv3E,EAAA4S,cACAokE,YAAA,CAAAh3E,EAAA0nB,WACAuvD,UAAA,CAAAj3E,EAAA0nB,cAGA69D,EAhBA,CAiBArQ,EAAAgC,SACA3mF,EAAAg1F,MAAAA,EACAA,EAAA74E,aCzHA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4nF,EAAA5nF,EAAA,IACAunF,EAAAvnF,EAAA,KACAymF,EAAA,SAAA78E,GAEA,SAAA68E,IACA,OAAA,OAAA78E,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAmBA,OArBA6G,EAAAY,UAAA08E,EAAA78E,GAIA68E,EAAAvjF,UAAAslF,YAAA,WAEA,IADA,IAAA5tC,EAAA,GACAroC,EAAA,EAAA+Z,EAAAhqB,KAAAqoD,GAAAnnD,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAAxH,EAAAzI,KAAAqoD,GAAAp4C,GACAvH,EAAA1I,KAAAi6D,GAAAhqD,IACAsxE,MAAA94E,EAAAC,IAAAg9C,SAAAj9C,EAAAC,IAEA4vC,EAAAttC,KAAA,CAAAuX,KAAA9Z,EAAA+Z,KAAA9Z,EAAA+Z,KAAAha,EAAAia,KAAAha,EAAAuH,EAAAA,IAEA,OAAA,IAAAq1E,EAAAjtC,aAAAC,IAEA6rC,EAAAvjF,UAAAqjF,SAAA,SAAAh0E,GACA,OAAAjQ,KAAAuI,GAAA0H,IAEAk0E,EAAAvjF,UAAAsjF,SAAA,SAAAj0E,GACA,OAAAjQ,KAAAwI,GAAAyH,IAEAk0E,EAtBA,CAuBAc,EAAAE,WACAvnF,EAAAumF,YAAAA,EACA,IAAAI,EAAA,SAAAj9E,GAEA,SAAAi9E,EAAAh5E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAMA,OARA6G,EAAAY,UAAA88E,EAAAj9E,GAIAi9E,EAAAxqE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAokE,OAAA,CAAA,CAAA,IAAA,QAEAmgB,EATA,CAUAU,EAAAI,OACAznF,EAAA2mF,QAAAA,EACAA,EAAAxqE,aCzCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACA20B,EAAA30B,EAAA,IACAkM,EAAAlM,EAAA,IACAk8F,EAAAl8F,EAAA,GACAm8F,EAAA,SAAAvyF,GAEA,SAAAuyF,EAAAtuF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAuBA,OAzBA6G,EAAAY,UAAAoyF,EAAAvyF,GAIAuyF,EAAA9/E,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,sBAEAsgF,EAAAj5F,UAAAk5F,gBAAA,SAAA3xF,EAAA4xF,GACA,IAAAA,EAAA37F,MAAAkpB,QACA,OAAA,KACA,IAAAqR,EAAAohE,EAAAC,UAAAC,MAAAphE,SAAA1wB,GACA,OAAA,MAAAwwB,EACA,KAEAohE,EAAAC,UAAA57F,MAAA2M,KAAAmvF,8BAAAvhE,IAEAkhE,EAAAj5F,UAAAu5F,gBAAA,SAAAhyF,EAAA4xF,GACA,IAAAA,EAAA37F,MAAAkpB,QACA,OAAA,KACA,IAAAqR,EAAAohE,EAAAK,UAAAH,MAAAphE,SAAA1wB,GACA,OAAA,MAAAwwB,EACA,KAEAohE,EAAAK,UAAAh8F,MAAA2M,KAAAmvF,8BAAAvhE,IAEAkhE,EA1BA,CA2BAtuC,EAAAI,OACA/tD,EAAAi8F,mBAAAA,EACA,IAAAQ,EAAA,SAAA/yF,GAEA,SAAA+yF,EAAA9uF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA0BA,OA5BA6G,EAAAY,UAAA4yF,EAAA/yF,GAIA+yF,EAAAtgF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aAEA8gF,EAAAz5F,UAAAi4B,SAAA,SAAA1wB,EAAA4xF,GACA,OAAA/5F,KAAA85F,gBAAA3xF,EAAA4xF,IAEAM,EAAAz5F,UAAAk4B,aAAA,SAAAH,EAAA2hE,EAAAlyF,EAAAoE,GACA,GAAA,MAAAmsB,EACA,OAAA,EACA,IAAA4hE,EAAAD,EAAAE,cAAA72C,YAAA59B,SAGA,OAFAw0E,EAAAh/E,OAAAod,EAAAvwB,EAAAoE,GACA8tF,EAAAE,cAAA72C,YAAA82C,QAAA/+E,QACA6+E,EAAAthE,YAEAohE,EAAAz5F,UAAA04B,cAAA,SAAAX,EAAAxwB,EAAA4xF,EAAA3xF,EAAAoE,GACA,GAAA,MAAAmsB,EACA,OAAA,EACA,IAAA+hE,EAAAX,EAAA37F,MAAAu8F,wBAAAxhE,wBAAA4gE,EAAAC,UAAA57F,OAKA,OAJAs8F,EAAAn/E,OAAAod,EAAAvwB,EAAAoE,GAEAutF,EAAAC,UAAA57F,MAAAulD,YAAAlqC,KAAA,CAAA2f,UAAAshE,GAAA,CAAA/gF,QAAA,IACAogF,EAAAC,UAAA57F,MAAAulD,YAAA5qB,QAAArd,KAAA,CAAAq+E,EAAAC,UAAA,CAAA7xF,SAAAA,MACAuyF,EAAAzhE,YAEAohE,EA7BA,CA8BAR,GACAj8F,EAAAy8F,UAAAA,EACAA,EAAAtgF,YACA,IAAA6gF,EAAA,SAAAtzF,GAEA,SAAAszF,EAAArvF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAsDA,OAxDA6G,EAAAY,UAAAmzF,EAAAtzF,GAIAszF,EAAA7gF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,uBAEAqhF,EAAAh6F,UAAAi4B,SAAA,SAAA1wB,EAAA4xF,GACA,OAAA/5F,KAAA85F,gBAAA3xF,EAAA4xF,IAEAa,EAAAh6F,UAAAi6F,iBAAA,SAAAC,EAAAC,EAAA/C,GACA,IAAAgD,EAAA,GACA,aAAAhD,EACAgD,EAAAF,EAAA/0E,SAAA3D,QAAAjY,IAAA,SAAA8F,GAAA,OAAA6qF,EAAA12F,KAAA27B,MAAA9vB,KAEA,cAAA+nF,IACAgD,EAAAF,EAAA1hE,UAAAhX,QAAAjY,IAAA,SAAA8F,GAAA,OAAA6qF,EAAA12F,KAAA27B,MAAA9vB,MAGA,IADA,IAAAgrF,EAAA,GACAhrF,EAAA,EAAAA,EAAA8qF,EAAA32F,KAAA2lB,MAAA7oB,OAAA+O,KACArG,EAAA4J,SAAAwnF,EAAAD,EAAA32F,KAAA2lB,MAAA9Z,KAAArG,EAAA4J,SAAAwnF,EAAAD,EAAA32F,KAAA4lB,IAAA/Z,MACAgrF,EAAAjwF,KAAAiF,GAGA,IADA,IAAAirF,EAAAtB,EAAA53E,+BACA5X,EAAA,EAAA+wF,EAAAF,EAAA7wF,EAAA+wF,EAAAj6F,OAAAkJ,IAAA,CACA,IAAA6F,EAAAkrF,EAAA/wF,GACA8wF,EAAAzH,kBAAAxjF,GAAA,CAAA,GAGA,OADAirF,EAAA94E,QAAA64E,EACAC,GAEAN,EAAAh6F,UAAAk4B,aAAA,SAAAH,EAAA2hE,EAAAlyF,EAAAoE,GACA,GAAA,MAAAmsB,EACA,OAAA,EACA,IAAA4hE,EAAAD,EAAAE,cAAA72C,YAAA59B,SACAw0E,EAAAh/E,OAAAod,EAAAvwB,EAAAoE,GACA,IAAA4uF,EAAAd,EAAAe,cAAA13C,YAAA59B,SACAu1E,EAAAt7F,KAAA66F,iBAAAP,EAAAE,cAAA72C,YAAA22C,EAAAe,cAAA13C,YAAA,aAGA,OAFAy3C,EAAA7/E,OAAA+/E,EAAAlzF,EAAAoE,GACA8tF,EAAAE,cAAA72C,YAAA82C,QAAA/+E,QACA6+E,EAAAthE,YAEA2hE,EAAAh6F,UAAA04B,cAAA,SAAAX,EAAAxwB,EAAA4xF,EAAA3xF,EAAAoE,GACA,GAAA,MAAAmsB,EACA,OAAA,EACA,IAAA+hE,EAAAX,EAAAC,UAAA57F,MAAAulD,YAAA43C,kBAAApiE,wBAAA4gE,EAAAC,UAAA57F,OACAs8F,EAAAn/E,OAAAod,EAAAvwB,EAAAoE,GACAutF,EAAAC,UAAA57F,MAAAulD,YAAAlqC,KAAA,CAAA2f,UAAAshE,GAAA,CAAA/gF,QAAA,IACA,IAAA6hF,EAAAzB,EAAAK,UAAAh8F,MAAAulD,YAAA43C,kBAAApiE,wBAAA4gE,EAAAK,UAAAh8F,OACA88F,EAAAl7F,KAAA66F,iBAAAd,EAAAC,UAAA57F,MAAAulD,YAAAo2C,EAAAK,UAAAh8F,MAAAulD,YAAA,cAKA,OAJA63C,EAAAjgF,OAAA2/E,EAAA9yF,EAAAoE,GAEAutF,EAAAK,UAAAh8F,MAAAulD,YAAAlqC,KAAA,CAAA2f,UAAAoiE,GAAA,CAAA7hF,QAAA,IACAogF,EAAAC,UAAA57F,MAAAulD,YAAA5qB,QAAArd,KAAA,CAAAq+E,EAAAC,UAAA,CAAA7xF,SAAAA,MACAuyF,EAAAzhE,YAEA2hE,EAzDA,CA0DAf,GACAj8F,EAAAg9F,oBAAAA,EACAA,EAAA7gF,YACA,IAAA0hF,EAAA,SAAAn0F,GAEA,SAAAm0F,EAAAlwF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAkDA,OApDA6G,EAAAY,UAAAg0F,EAAAn0F,GAIAm0F,EAAA1hF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,uBAEAkiF,EAAA76F,UAAAi4B,SAAA,SAAA1wB,EAAA4xF,GACA,OAAA/5F,KAAAm6F,gBAAAhyF,EAAA4xF,IAEA0B,EAAA76F,UAAA86F,iBAAA,SAAAZ,EAAAC,EAAA/C,GACA,IAAAiD,EAAA,GACA,aAAAjD,EACAiD,EAAAF,EAAAh1E,SAAA3D,QACA,cAAA41E,IACAiD,EAAAF,EAAA3hE,UAAAhX,SAEA,IADA,IAAAjR,EAAA,GACA/G,EAAA,EAAAuxF,EAAAV,EAAA7wF,EAAAuxF,EAAAz6F,OAAAkJ,IAAA,CACA,IAAA6F,EAAA0rF,EAAAvxF,GACA+G,EAAAnG,KAAA+vF,EAAA32F,KAAA2lB,MAAA9Z,IACAkB,EAAAnG,KAAA+vF,EAAA32F,KAAA4lB,IAAA/Z,IAEA,IAAA+qF,EAAApxF,EAAAo7B,KAAA7zB,GAAAhH,IAAA,SAAA8F,GAAA,OAAAoiB,EAAAsS,QAAAm2D,EAAA12F,KAAA27B,MAAA9vB,KACA2rF,EAAAhC,EAAA53E,+BAEA,OADA45E,EAAAx5E,QAAA44E,EACAY,GAEAH,EAAA76F,UAAAk4B,aAAA,SAAAH,EAAA2hE,EAAAlyF,EAAAoE,GACA,GAAA,MAAAmsB,EACA,OAAA,EACA,IAAAyiE,EAAAd,EAAAe,cAAA13C,YAAA59B,SACAq1E,EAAA7/E,OAAAod,EAAAvwB,EAAAoE,GACA,IAAA+tF,EAAAD,EAAAE,cAAA72C,YAAA59B,SACA61E,EAAA57F,KAAA07F,iBAAApB,EAAAE,cAAA72C,YAAA22C,EAAAe,cAAA13C,YAAA,aAGA,OAFA42C,EAAAh/E,OAAAqgF,EAAAxzF,EAAAoE,GACA8tF,EAAAe,cAAA13C,YAAA82C,QAAA/+E,QACA0/E,EAAAniE,YAEAwiE,EAAA76F,UAAA04B,cAAA,SAAAX,EAAAxwB,EAAA4xF,EAAA3xF,EAAAoE,GACA,GAAA,MAAAmsB,EACA,OAAA,EACA,IAAA6iE,EAAAzB,EAAAK,UAAAh8F,MAAAulD,YAAA43C,kBAAApiE,wBAAA4gE,EAAAK,UAAAh8F,OACAo9F,EAAAjgF,OAAAod,EAAAvwB,EAAAoE,GACAutF,EAAAK,UAAAh8F,MAAAulD,YAAAlqC,KAAA,CAAA2f,UAAAoiE,GAAA,CAAA7hF,QAAA,IACA,IAAA+gF,EAAAX,EAAAC,UAAA57F,MAAAulD,YAAA43C,kBAAApiE,wBAAA4gE,EAAAC,UAAA57F,OACAw9F,EAAA57F,KAAA07F,iBAAA3B,EAAAC,UAAA57F,MAAAulD,YAAAo2C,EAAAK,UAAAh8F,MAAAulD,YAAA,cAKA,OAJA+2C,EAAAn/E,OAAAqgF,EAAAxzF,EAAAoE,GAEAutF,EAAAC,UAAA57F,MAAAulD,YAAAlqC,KAAA,CAAA2f,UAAAshE,GAAA,CAAA/gF,QAAA,IACAogF,EAAAK,UAAAh8F,MAAAulD,YAAA5qB,QAAArd,KAAA,CAAAq+E,EAAAK,UAAA,CAAAjyF,SAAAA,MACAqzF,EAAAviE,YAEAwiE,EArDA,CAsDA5B,GACAj8F,EAAA69F,oBAAAA,EACAA,EAAA1hF,aCzLA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,ICJA,SAAAF,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAm+F,EAAA,SAAAv0F,GAEA,SAAAu0F,EAAAtwF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAPA6G,EAAAY,UAAAo0F,EAAAv0F,GAIAu0F,EAAA9hF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,kBAEAsiF,EARA,CASAtwC,EAAAI,OACA/tD,EAAAi+F,eAAAA,EACAA,EAAA9hF,aCdA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAo+F,EAAAp+F,EAAA,KACA2P,EAAA3P,EAAA,IACAq+F,EAAA,SAAAz0F,GAEA,SAAAy0F,EAAAxwF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA6CA,OA/CA6G,EAAAY,UAAAs0F,EAAAz0F,GAIAy0F,EAAAhiF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,uBACAvZ,KAAAia,OAAA,CACA+hF,aAAA,CAAA3uF,EAAA6M,IAAA,OAGA6hF,EAAAn7F,UAAAq7F,qBAAA,SAAAnB,GAIA,IAHA,IAAAzmD,EAAA,GACAC,EAAA,GACAvU,EAAA+6D,EAAA12F,KAAA27B,MACA9vB,EAAA,EAAA+Z,EAAA+V,EAAA7+B,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAA8iF,EAAA/yF,KAAAg8F,aAAAj8D,EAAA9vB,IACAvF,EAAA,MAAAqoF,EAAAA,EAAA,CAAAze,IAAAA,KAAA7rE,EAAAiC,EAAA,GAAAhC,EAAAgC,EAAA,GACA2pC,EAAArpC,KAAAvC,GACA6rC,EAAAtpC,KAAAtC,GAEA,MAAA,CAAA2rC,EAAAC,IAEAynD,EAAAn7F,UAAAs7F,qBAAA,SAAAnB,GAOA,IANA,IAAArwF,EAAAO,EACAopC,EAAA,GACAC,EAAA,GACA6nD,EAAApB,EAAA32F,KAAA2lB,MACAqyE,EAAArB,EAAA32F,KAAA4lB,IACAqyE,EAAA,MAAAtB,EAAA32F,KAAAiwC,IAAA,MAAA0mD,EAAA32F,KAAAkwC,GACArkC,EAAA,EAAAqsF,EAAAH,EAAAj7F,OAAA+O,EAAAqsF,EAAArsF,IAAA,CACA,IAAAssF,EAAA,MAAAv8F,KAAAg8F,aAAAG,EAAAlsF,KAAA,MAAAjQ,KAAAg8F,aAAAI,EAAAnsF,IACA,GAAAosF,GAAAE,EACAloD,EAAArpC,KAAA+vF,EAAA32F,KAAAiwC,GAAApkC,IACAqkC,EAAAtpC,KAAA+vF,EAAA32F,KAAAkwC,GAAArkC,QAEA,CACA,IAAA+Z,OAAA,EAAAD,OAAA,EACAwyE,GACA7xF,EAAA,CAAA1K,KAAAg8F,aAAAG,EAAAlsF,IAAAjQ,KAAAg8F,aAAAI,EAAAnsF,KAAA8Z,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,KAEAqf,GAAA9e,EAAA,CAAA,CAAAqpE,IAAAA,KAAA,CAAAA,IAAAA,OAAA,GAAAtqD,EAAA/e,EAAA,IACAopC,EAAArpC,KAAA,CAAA+e,EAAA,GAAAC,EAAA,KACAsqB,EAAAtpC,KAAA,CAAA+e,EAAA,GAAAC,EAAA,MAGA,MAAA,CAAAqqB,EAAAC,IAEAynD,EAhDA,CAiDAD,EAAAD,gBACAj+F,EAAAm+F,qBAAAA,EACAA,EAAAhiF,aCvDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAszE,EAAAtzE,EAAA,KACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACA8+F,EAAA,SAAAl1F,GAEA,SAAAk1F,IACA,OAAA,OAAAl1F,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAmKA,OArKA6G,EAAAY,UAAA+0F,EAAAl1F,GAIAtI,OAAAiU,eAAAupF,EAAA57F,UAAA,gBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA5B,MAAAi9D,cAEAhoD,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAupF,EAAA57F,UAAA,gBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA5B,MAAAm9D,cAEAloD,YAAA,EACAC,cAAA,IAEAkpF,EAAA57F,UAAAkU,OAAA,WACA,GAAA9U,KAAA5B,MAAAkpB,QAAA,CAEA,IAAAmI,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAA,EAAAmsC,OACA57D,KAAAy8F,cAAAhtE,GACAzvB,KAAA08F,kBAAAjtE,GACAzvB,KAAA28F,YAAAltE,GACAA,EAAAwsC,YAEAugC,EAAA57F,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAg6D,oBAEA0hC,EAAA57F,UAAA67F,cAAA,SAAAhtE,GACA,IAAA3uB,EAAAd,KACA,GAAAA,KAAA66D,QAAA+hC,UAAAlyC,MAAA1qD,KAAA66D,QAAAgiC,WAAAnyC,KAAA,CAEA1qD,KAAA66D,QAAA+hC,UAAArzC,UAAA95B,GAcA,IAbA,IAAA/kB,EAAA1K,KAAA88F,YAAA,SAAA,GAAAzoD,EAAA3pC,EAAA,GAAA4pC,EAAA5pC,EAAA,GACA+P,EAAA,SAAAxK,GACA,GAAAA,EAAA,GAAA,EACA,MAAA,WACA,IAAAvF,EAAAiQ,EAAA4hB,UAAA21C,cAAA79B,EAAApkC,GAAAqkC,EAAArkC,GAAA0K,EAAAoiF,cAAApiF,EAAAqiF,eAAA/1C,EAAAv8C,EAAA,GAAA28C,EAAA38C,EAAA,GACAO,EAAA0P,EAAA4hB,UAAA21C,cAAA79B,EAAApkC,EAAA,GAAAqkC,EAAArkC,EAAA,GAAA0K,EAAAoiF,cAAApiF,EAAAqiF,eAAA91C,EAAAj8C,EAAA,GAAAq8C,EAAAr8C,EAAA,GACA0P,EAAAkgD,QAAA+hC,UAAAlyC,MACAj7B,EAAAg0C,SAAAxc,EAAA,GAAAI,EAAA,GAAAH,EAAA,GAAAD,EAAA,GAAAK,EAAA,GAAAD,EAAA,IACA1sC,EAAAkgD,QAAAgiC,WAAAryC,MAAA/6B,EAAAxf,EAAA,WACAwf,EAAAg0C,SAAAxc,EAAA,GAAAI,EAAA,GAAAH,EAAA,GAAAD,EAAA,GAAAK,EAAA,GAAAD,EAAA,KACA,WAAA,OAAAvmD,EAAAg6D,oBAEAngD,EAAA3a,KACAiQ,EAAA,EAAAA,EAAAokC,EAAAnzC,OAAA,EAAA+O,IACAwK,EAAAxK,KAGAusF,EAAA57F,UAAA+7F,YAAA,SAAAltE,GACA,GAAAzvB,KAAA66D,QAAAoiC,UAAAvyC,KAAA,CAEA,IAAAhgD,EAAA1K,KAAA88F,YAAA,SAAAzoD,EAAA3pC,EAAA,GAAA4pC,EAAA5pC,EAAA,GACA1K,KAAAk9F,kBAAAztE,EAAAzvB,KAAA66D,QAAAoiC,UAAA5oD,EAAAC,KAEAkoD,EAAA57F,UAAA87F,kBAAA,SAAAjtE,GACA,GAAAzvB,KAAA66D,QAAAsiC,gBAAAzyC,KAAA,CAEA,IAAAhgD,EAAA1K,KAAA88F,YAAA,SAAAzoD,EAAA3pC,EAAA,GAAA4pC,EAAA5pC,EAAA,GACA1K,KAAAk9F,kBAAAztE,EAAAzvB,KAAA66D,QAAAsiC,gBAAA9oD,EAAAC,KAEAkoD,EAAA57F,UAAAs8F,kBAAA,SAAAztE,EAAAorC,EAAAxmB,EAAAC,GACAumB,EAAAtR,UAAA95B,GACA,IAAA,IAAAxf,EAAA,EAAAA,EAAAokC,EAAAnzC,OAAA+O,IAAA,CACA,IAAAvF,EAAA1K,KAAAu8B,UAAA21C,cAAA79B,EAAApkC,GAAAqkC,EAAArkC,GAAAjQ,KAAA+8F,cAAA/8F,KAAAg9F,eAAAz0F,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,GACA+kB,EAAAqsC,YACArsC,EAAAkd,OAAAr9B,KAAA2V,MAAA1c,EAAA,IAAA+G,KAAA2V,MAAAzc,EAAA,KACA,IAAA,IAAA4K,EAAA,EAAAA,EAAA7K,EAAArH,OAAAkS,IACAqc,EAAAy4B,OAAA54C,KAAA2V,MAAA1c,EAAA6K,IAAA9D,KAAA2V,MAAAzc,EAAA4K,KACAqc,EAAA04B,WAIAq0C,EAAA57F,UAAA8hE,OAAA,WACA,IAAAzyD,EAAAjQ,KAAA5B,MAAA81C,UACA3O,GAAAt1B,EAAA,GAAA,EACAgxB,EAAAjhC,KAAAu8B,UAAA0E,MACAyhC,EAAA,CACAzhC,EAAA4yC,SAAA7zE,KAAA5B,MAAAi9D,cACAp6B,EAAA6yC,SAAA9zE,KAAA5B,MAAAm9D,eAEA,MAAA,CAAAmH,EAAAzyD,GAAAyyD,EAAAn9B,KAEAi3D,EAAA57F,UAAAyzE,gBAAA,WACA,IAAA3pE,EAIAqf,EACAC,EAJA4a,EAAA5kC,KAAA0iE,SAAA,GACAqR,EAAA/zE,KAAA5B,MAAA0vB,OACAkmD,EAAA,CAAApvC,EAAA1Z,IAAA0Z,EAAAhyB,KAGA,GAAAxH,EAAAa,QAAA8nE,GACAhqD,EAAAza,KAAA4b,IAAA6oD,EAAA,GAAAA,EAAA,IACA/pD,EAAA1a,KAAAsD,IAAAmhE,EAAA,GAAAA,EAAA,IACAhqD,EAAAiqD,EAAA,KACAjqD,EAAAiqD,EAAA,IAIAhqD,EAAAgqD,EAAA,KACAhqD,EAAAgqD,EAAA,QAKA,CACAjqD,EAAAiqD,EAAA,GAAAhqD,EAAAgqD,EAAA,GACA,IAAA,IAAA5pE,EAAA,EAAAa,EAAAjL,KAAAu8B,UAAA6gE,WAAAhzF,EAAAa,EAAA/J,OAAAkJ,IAAA,CACA,IAAAizF,EAAApyF,EAAAb,GACAizF,EAAAnpD,WAAAl0C,KAAA5B,MAAA81C,WACAmpD,EAAAj/F,MAAAi9D,cAAAr7D,KAAA5B,MAAAi9D,cACAgiC,EAAAj/F,MAAAm9D,cAAAv7D,KAAA5B,MAAAm9D,eACA7wD,EAAA2yF,EAAAhpB,gBAAAtqD,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,KAIA,MAAA,CAAAqf,EAAAC,IAEAwyE,EAAA57F,UAAAk8F,YAAA,SAAAplC,EAAA4lC,GACA,IAAA5yF,OACA,IAAA4yF,IACAA,GAAA,GAEA,IAAArtF,EAAAjQ,KAAA5B,MAAA81C,UACA3O,GAAAt1B,EAAA,GAAA,EACAhF,EAAAjL,KAAA0iE,SAAA99B,EAAA35B,EAAA,GAAA2pE,EAAA3pE,EAAA,GACA4B,EAAA7M,KAAAq0E,kBAAAtqD,EAAAld,EAAA,GAAAmd,EAAAnd,EAAA,GACAnC,EAAA,CAAA4E,KAAA4b,IAAAnB,EAAAC,GAAA1a,KAAAsD,IAAAmX,EAAAC,IAAAD,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,GAKA,IAAAi8D,EAAA3mE,KAAA5B,MAAAyiE,OAAA+F,UAAA78C,EAAAC,EAAA4a,EAAAgwC,EAAA1pD,IAAA,IAAAwsC,GACAxsC,EAAA0Z,EAAA1Z,IACAtY,EAAAgyB,EAAAhyB,IACA2qF,EAAA3oB,EAAA1pD,IACAsyE,EAAA5oB,EAAAhiE,IACAwxD,EAAA,CAAA,GAAA,IACAk5B,IACA32B,EAAA,IAAAz7C,GACAy7C,EAAAhgC,OAAA,EAAA,EAAAzb,GACAy7C,EAAAA,EAAAzlE,OAAA,IAAA0R,GACA+zD,EAAA37D,KAAA4H,IAEA,IAAA,IAAAs0D,EAAA,EAAAA,EAAAP,EAAAzlE,OAAAgmE,IACA,GAAAP,EAAAO,IAAAh8C,GAAAy7C,EAAAO,IAAAt0D,IAAA0qF,EAAA,CAKA,IAHA,IAAAG,EAAA,GACAC,EAAA,GAEAp4D,EAAA,EAAAA,EADA,EACAA,IAAA,CACA,IAAAkyB,EAAA+lC,GAAAC,EAAAD,GAAA,EAAAj4D,EACAm4D,EAAAzyF,KAAA27D,EAAAO,IACAw2B,EAAA1yF,KAAAwsD,GAEA4M,EAAAn0D,GAAAjF,KAAAyyF,GACAr5B,EAAA7+B,GAAAv6B,KAAA0yF,GAEA,OAAAt5B,GAEAo4B,EAtKA,CAuKAxrB,EAAA6D,mBACAj3E,EAAA4+F,SAAAA,EACA,IAAAn2E,EAAA,SAAA/e,GAEA,SAAA+e,EAAA9a,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAqBA,OAvBA6G,EAAAY,UAAA4e,EAAA/e,GAIA+e,EAAAtM,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAwyF,EACAx8F,KAAAga,OAAA,CAAA,aAAA,mBAAA,aAAA,gBACAha,KAAAia,OAAA,CACA6T,OAAA,CAAAzgB,EAAA6M,IAAA,QACAg6B,UAAA,CAAA7mC,EAAA6M,IAAA,GACA2mD,OAAA,CAAAxzD,EAAAimB,UACA+nC,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,aAEA3zB,KAAAob,SAAA,CACAmV,MAAA,WACAotE,gBAAA,KACAC,gBAAA,EACAC,gBAAA,UACAC,sBAAA,QAGAz3E,EAxBA,CAyBA2qD,EAAAkE,eACAt3E,EAAAyoB,KAAAA,EACAA,EAAAtM,aCzMA,SAAArc,EAAAC,EAAAC,GACA,IAAAotB,EAAAttB,EAAA,KACAE,EAAAyoB,KAAA2E,EAAA3E,MCFA,SAAA3oB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmJ,EAAA0tD,aAAA72D,EAAA,IAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,IAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,IAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,IAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,IAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,ICzBA,SAAAF,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2tD,EAAA3tD,EAAA,KACA2P,EAAA3P,EAAA,IACAspF,EAAA,SAAA1/E,GAEA,SAAA0/E,IACA,OAAA,OAAA1/E,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAcA,OAhBA6G,EAAAY,UAAAu/E,EAAA1/E,GAIA0/E,EAAApmF,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAA1N,SAAAuN,OAAA,WAAA,OAAAjY,EAAAi9F,aAEA/+F,OAAAiU,eAAA+zE,EAAApmF,UAAA,eAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA5B,MAAAoN,UAEA6H,YAAA,EACAC,cAAA,IAEA0zE,EAjBA,CAkBA37B,EAAA2yC,eACApgG,EAAAopF,QAAAA,EACA,IAAAQ,EAAA,SAAAlgF,GAEA,SAAAkgF,EAAAj8E,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAA+/E,EAAAlgF,GAIAkgF,EAAAztE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,MACAvZ,KAAAia,OAAA,CACAzO,SAAA,CAAA6B,EAAAoC,MAAA,IACAgX,QAAA,CAAApZ,EAAAkmB,OAAA,MAGAi0D,EAZA,CAaAn8B,EAAAoB,WACA7uD,EAAA4pF,IAAAA,EACAA,EAAAztE,aCvCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2uF,EAAA3uF,EAAA,KACAstB,EAAAttB,EAAA,IACA2P,EAAA3P,EAAA,IACAugG,EAAA,SAAA32F,GAEA,SAAA22F,IACA,OAAA,OAAA32F,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KASA,OAXA6G,EAAAY,UAAAw2F,EAAA32F,GAIA22F,EAAAr9F,UAAAs9F,eAAA,WACA,IAAA53E,EAAAtmB,KAAAm+F,YAAAh0F,IAAA,SAAAsC,GAAA,OAAAA,EAAAkY,SACA3kB,KAAA2kB,OAAA,IAAAqG,EAAAV,OAAAhE,GACAtmB,KAAA2kB,OAAA4B,KAAAvmB,KAAA5B,MAAAmoB,KACAvmB,KAAA2kB,OAAA8B,QAAA,CAAAzmB,KAAA5B,MAAAqoB,QAAA,GACAzmB,KAAA2kB,OAAAmH,WAAA9rB,KAAAo+F,eAEAH,EAZA,CAaA5R,EAAArF,SACAppF,EAAAqgG,WAAAA,EACA,IAAA3zE,EAAA,SAAAhjB,GAEA,SAAAgjB,EAAA/e,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAA6iB,EAAAhjB,GAIAgjB,EAAAvQ,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,SACAvZ,KAAAY,UAAAoJ,aAAAi0F,EACAj+F,KAAAia,OAAA,CACAsM,KAAA,CAAAlZ,EAAA6M,IAAA,WAGAoQ,EAZA,CAaA+hE,EAAA7E,KACA5pF,EAAA0sB,OAAAA,EACAA,EAAAvQ,aCnCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2tD,EAAA3tD,EAAA,KACAstB,EAAAttB,EAAA,IACA2P,EAAA3P,EAAA,IACA2gG,EAAA,SAAA/2F,GAEA,SAAA+2F,IACA,OAAA,OAAA/2F,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA6BA,OA/BA6G,EAAAY,UAAA42F,EAAA/2F,GAIA+2F,EAAAz9F,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAA1N,SAAAuN,OAAA,WAAA,OAAAjY,EAAAi9F,aAEA/+F,OAAAiU,eAAAorF,EAAAz9F,UAAA,eAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA5B,MAAAoN,SAAArB,IAAA,SAAAO,GACA,IAAA+B,EAAA/B,EAAA,GACA,OAAA+B,KAGA4G,YAAA,EACAC,cAAA,IAEA+qF,EAAAz9F,UAAAs9F,eAAA,WACAl+F,KAAA2kB,OAAA,IAAAqG,EAAA3E,KACArmB,KAAA2kB,OAAA4B,KAAAvmB,KAAA5B,MAAAmoB,KACAvmB,KAAA2kB,OAAA6B,KAAAxmB,KAAA5B,MAAAooB,KACAxmB,KAAA2kB,OAAA8B,QAAAzmB,KAAA5B,MAAAqoB,QACA,IAAA,IAAArc,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAoN,SAAApB,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAa,EAAAP,EAAAN,GAAAqC,EAAAxB,EAAA,GAAAib,EAAAjb,EAAA,GAAAkb,EAAAlb,EAAA,GAAAmc,EAAAnc,EAAA,GAAAoc,EAAApc,EAAA,GACAqzF,EAAAt+F,KAAAu+F,aAAA9xF,EAAA7M,IACAI,KAAA2kB,OAAA2B,MAAAtb,KAAA,CAAA2Z,OAAA25E,EAAA35E,OAAAuB,IAAAA,EAAAC,IAAAA,EAAAiB,SAAAA,EAAAC,SAAAA,IAEArnB,KAAA2kB,OAAAmH,WAAA9rB,KAAAo+F,eAEAC,EAhCA,CAiCAhzC,EAAA2yC,eACApgG,EAAAygG,YAAAA,EACA,IAAAG,EAAA,SAAAl3F,GAEA,SAAAk3F,EAAAjzF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAYA,OAdA6G,EAAAY,UAAA+2F,EAAAl3F,GAIAk3F,EAAAzkF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAAq0F,EACAr+F,KAAAia,OAAA,CACAzO,SAAA,CAAA6B,EAAAoC,MAAA,IACA8W,KAAA,CAAAlZ,EAAA6M,IAAA,QACAsM,KAAA,CAAAnZ,EAAA6M,IAAA,QACAuM,QAAA,CAAApZ,EAAA6M,IAAA,MAGAskF,EAfA,CAgBAnzC,EAAAoB,WACA7uD,EAAA4gG,QAAAA,EACAA,EAAAzkF,aC1DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2tD,EAAA3tD,EAAA,KACAm9E,EAAAn9E,EAAA,IACA+gG,EAAA,SAAAn3F,GAEA,SAAAm3F,IACA,OAAA,OAAAn3F,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAaA,OAfA6G,EAAAY,UAAAg3F,EAAAn3F,GAIAtI,OAAAiU,eAAAwrF,EAAA79F,UAAA,eAAA,CACAsS,IAAA,WACA,MAAA,IAEAG,YAAA,EACAC,cAAA,IAEAmrF,EAAA79F,UAAAs9F,eAAA,WACAl+F,KAAA2kB,OAAA,IAAAk2D,EAAArwD,WAAAxqB,KAAAmN,IACAnN,KAAA2kB,OAAAmH,WAAA9rB,KAAAo+F,eAEAK,EAhBA,CAiBApzC,EAAA2yC,eACApgG,EAAA6gG,YAAAA,EACA,IAAAC,EAAA,SAAAp3F,GAEA,SAAAo3F,EAAAnzF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAPA6G,EAAAY,UAAAi3F,EAAAp3F,GAIAo3F,EAAA3kF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WAEAmlF,EARA,CASArzC,EAAAoB,WACA7uD,EAAA8gG,QAAAA,EACAA,EAAA3kF,aClCA,SAAArc,EAAAC,EAAAC,GACA,IAAAyuF,EAAA3uF,EAAA,KACAE,EAAA4pF,IAAA6E,EAAA7E,IACA,IAAAmX,EAAAjhG,EAAA,KACAE,EAAA0sB,OAAAq0E,EAAAr0E,OACA,IAAAs0E,EAAAlhG,EAAA,KACAE,EAAA4gG,QAAAI,EAAAJ,QACA,IAAAK,EAAAnhG,EAAA,KACAE,EAAA8gG,QAAAG,EAAAH,QACA,IAAArzC,EAAA3tD,EAAA,KACAE,EAAA6uD,UAAApB,EAAAoB,UACA,IAAAqyC,EAAAphG,EAAA,KACAE,EAAAysB,IAAAy0E,EAAAz0E,IACA,IAAA00E,EAAArhG,EAAA,KACAE,EAAAohG,OAAAD,EAAAC,OACA,IAAAC,EAAAvhG,EAAA,KACAE,EAAAshG,MAAAD,EAAAC,MACAthG,EAAAuhG,KAAAF,EAAAE,KACA,IAAAC,EAAA1hG,EAAA,KACAE,EAAAyhG,UAAAD,EAAAC,WCnBA,SAAA3hG,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACA6sB,EAAA7sB,EAAA,GACAwB,EAAAxB,EAAA,IACA0N,EAAA1N,EAAA,IACA2P,EAAA3P,EAAA,IACA2xE,EAAA3xE,EAAA,GACAi8E,EAAAj8E,EAAA,GACAsgG,EAAA,SAAA12F,GAEA,SAAA02F,IACA,IAAAl9F,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAIA,OAHAc,EAAAw+F,gBAAA,EACAx+F,EAAAy+F,eAAA,KACAz+F,EAAAkjB,UAAA,GACAljB,EA4RA,OAlSA+F,EAAAY,UAAAu2F,EAAA12F,GAQA02F,EAAAp9F,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAmN,GAAAf,MAAAyG,SAAA7S,KAAA6nD,QAAA,WAAA,WACA7nD,KAAAu+F,aAAA,GACAv+F,KAAAw/F,qBAEAxB,EAAAp9F,UAAA0J,OAAA,WACA,IAAA,IAAAF,EAAA,EAAAM,EAAA1K,KAAAm+F,YAAA/zF,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAk0F,EAAA5zF,EAAAN,GACAk0F,EAAAh0F,SAEAtK,KAAAu+F,aAAA,GACAj3F,EAAA1G,UAAA0J,OAAAzC,KAAA7H,OAEAg+F,EAAAp9F,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAA6nD,UACA7nD,KAAAy/F,WAAA,WAAA,OAAA3+F,EAAA4+F,iBACA1tF,OAAA8rB,iBAAA,SAAA99B,KAAAy/F,YACAz/F,KAAA2/F,iBAAAC,YAAA,WACA,IAAAC,EAAA/+F,EAAAqM,GAAA84C,aACAnlD,EAAAy+F,gBAAAM,IACA/+F,EAAAy+F,eAAAM,EACA,MAAAA,IACA/+F,EAAAg/F,mBACAh/F,EAAAi/F,uBAGA,MAEA,IAAA1yF,EAAArN,KAAA5B,MAAA8a,WACAlZ,KAAA0F,UAAA,CACA2H,EAAAgC,MAAAhC,EAAAmC,OACAnC,EAAA0e,UAAA1e,EAAA4e,WACA5e,EAAA2e,UAAA3e,EAAA6e,WACA7e,EAAAmB,OACAnB,EAAAwZ,aAAAxZ,EAAA6Z,cAAA7Z,EAAA2yF,YACA3yF,EAAA4yF,aACA5yF,EAAAia,QACAja,EAAA6yF,YACA,WAAA,OAAAp/F,EAAAi/F,sBACA//F,KAAA0F,UAAA,CACA2H,EAAAqH,aACA,WAAA,OAAA5T,EAAAq/F,uBAEAnC,EAAAp9F,UAAA+a,mBAAA,WACA,MAAA3b,KAAA2/F,kBACAz1D,aAAAlqC,KAAA2/F,kBACA,MAAA3/F,KAAAy/F,YACAztF,OAAAmsB,oBAAA,SAAAn+B,KAAAy/F,YACAn4F,EAAA1G,UAAA+a,mBAAA9T,KAAA7H,OAEAg+F,EAAAp9F,UAAA8T,YAAA,WACA,OAAApN,EAAA1G,UAAA8T,YAAA7M,KAAA7H,MAAA2P,OAAA3P,KAAA5B,MAAAsW,cAEA1V,OAAAiU,eAAA+qF,EAAAp9F,UAAA,cAAA,CACAsS,IAAA,WACA,IAAApS,EAAAd,KACA,OAAAA,KAAAogG,aAAAj2F,IAAA,SAAAsC,GAAA,OAAA3L,EAAAy9F,aAAA9xF,EAAA7M,OAEAyT,YAAA,EACAC,cAAA,IAEA0qF,EAAAp9F,UAAA4+F,kBAAA,WACAnwB,EAAAxlE,YAAA7J,KAAAu+F,aAAAv+F,KAAAogG,aAAA,CAAAxvF,OAAA5Q,QAEAg+F,EAAAp9F,UAAAkU,OAAA,WACA,IAAApK,EACApD,EAAA1G,UAAAkU,OAAAjN,KAAA7H,MACAuqB,EAAA9Y,MAAAzR,KAAAmN,IACA,IAAA+yF,EAAAlgG,KAAA5B,MAAA8hG,WACAlgG,KAAAmN,GAAAf,MAAAszD,gBAAA,MAAAwgC,EAAAA,EAAA,IACAx1F,EAAA6f,EAAA9W,QAAAzT,KAAAmN,IAAAyG,SAAAhI,IAAArE,MAAAmD,EAAA1K,KAAA0U,eACA,IAAA,IAAAtK,EAAA,EAAAa,EAAAjL,KAAAm+F,YAAA/zF,EAAAa,EAAA/J,OAAAkJ,IAAA,CACA,IAAAk0F,EAAArzF,EAAAb,GACApK,KAAAmN,GAAAR,YAAA2xF,EAAAnxF,IACAmxF,EAAAxpF,WAGAkpF,EAAAp9F,UAAAy/F,cAAA,WACA,IAAA,IAAAj2F,EAAA,EAAAM,EAAA1K,KAAAm+F,YAAA/zF,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAk0F,EAAA5zF,EAAAN,GACAk0F,EAAA+B,gBAEArgG,KAAAk+F,kBAEAF,EAAAp9F,UAAA0/F,gBAAA,WACAtgG,KAAAmN,GAAAf,MAAAsF,QAAA1R,KAAA5B,MAAAkpB,QAAA,QAAA,OACA,IAAA9Y,EAAAxO,KAAA6nD,QAAA7nD,KAAA2kB,OAAAiC,OAAApY,YAAAoK,EACA2R,EAAA1X,SAAA7S,KAAAmN,GAAAnN,KAAA2kB,OAAAI,KAAAvW,GACA,IAAA,IAAApE,EAAA,EAAAM,EAAA1K,KAAAm+F,YAAA/zF,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAk0F,EAAA5zF,EAAAN,GACAk0F,EAAAgC,oBAGAtC,EAAAp9F,UAAA2/F,aAAA,WACA,IAAA,IAAAn2F,EAAA,EAAAM,EAAA1K,KAAAm+F,YAAA/zF,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAk0F,EAAA5zF,EAAAN,GACAk0F,EAAAiC,eAEAvgG,KAAAyU,eAAA,GAEAupF,EAAAp9F,UAAAk/F,iBAAA,WACA9/F,KAAAgkB,UAAAhkB,KAAAwgG,kBAEAxC,EAAAp9F,UAAAmU,SAAA,SAAAtJ,GACAA,EAAAkB,YAAA3M,KAAAmN,IACAnN,KAAAu/F,eAAAv/F,KAAAmN,GAAA84C,aACAjmD,KAAA8/F,mBACA9/F,KAAAygG,SAEAzC,EAAAp9F,UAAA6/F,MAAA,WAKA,OAJAzgG,KAAA+nD,cACA/nD,KAAA8U,SACA9U,KAAAqgG,gBACArgG,KAAA0gG,iBACA1gG,MAEAg+F,EAAAp9F,UAAAm9F,QAAA,WACA/9F,KAAAw/F,oBACAx/F,KAAAmgG,qBAEAnC,EAAAp9F,UAAA8/F,eAAA,WACA,IAAA32E,EAAAggB,KAAAC,MACAhqC,KAAA2kB,OAAA8I,QAAAztB,KAAAgkB,WACAhkB,KAAAsgG,kBACAtgG,KAAAugG,eACArhG,EAAAwB,OAAAC,MAAA,uBAAAopC,KAAAC,MAAAjgB,GAAA,OACA/pB,KAAA2pF,mBAEAqU,EAAAp9F,UAAA8+F,cAAA,WACA1/F,KAAA8nD,KAAAg4C,mBACA9/F,KAAA8nD,KAAA44C,kBAEA1C,EAAAp9F,UAAAm/F,kBAAA,WACA//F,KAAA8nD,KAAAu4C,gBACArgG,KAAA8nD,KAAA44C,kBAEA1C,EAAAp9F,UAAAu/F,kBAAA,WACAngG,KAAA8U,SACA9U,KAAA+/F,qBAEA/B,EAAAp9F,UAAAoU,aAAA,WACA,IAAA1N,EAAA1G,UAAAoU,aAAAnN,KAAA7H,MACA,OAAA,EACA,IAAA,IAAAoK,EAAA,EAAAM,EAAA1K,KAAAm+F,YAAA/zF,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAk0F,EAAA5zF,EAAAN,GACA,IAAAk0F,EAAAtpF,eACA,OAAA,EAEA,OAAA,GAEAgpF,EAAAp9F,UAAA+oF,gBAAA,WACA3pF,KAAA6nD,SAGA7nD,KAAAs/F,gBAAAt/F,KAAAgV,gBACA,MAAAhV,KAAA5B,MAAA0F,WACA9D,KAAAs/F,gBAAA,EACAt/F,KAAA5B,MAAA0F,SAAA6oD,YAAA3sD,KAAA5B,QALA4B,KAAA8nD,KAAA6hC,mBAUAqU,EAAAp9F,UAAA+/F,cAAA,WACA,OAAA,MAAA3gG,KAAA5B,MAAAiR,MAAA,QAAA,OAEA2uF,EAAAp9F,UAAAggG,eAAA,WACA,OAAA,MAAA5gG,KAAA5B,MAAAoR,OAAA,QAAA,OAEAwuF,EAAAp9F,UAAAw9F,WAAA,WACA,IAAA1zF,EAAA1K,KAAA5B,MAAAyoB,EAAAnc,EAAAmc,aAAAK,EAAAxc,EAAAwc,cAAA+4E,EAAAv1F,EAAAu1F,aACA,QAAAp5E,IACAA,EAAA7mB,KAAA2gG,iBACA,QAAAz5E,IACAA,EAAAlnB,KAAA4gG,kBACA,IAAAZ,EAAAhgG,KAAA5B,MAAA4hG,YACA,GAAA,MAAAA,EACA,GAAA,SAAAA,EACAn5E,EAAAK,EAAA,aACA,GAAA,gBAAA84E,EACAn5E,EAAAK,EAAA,WACA,GAAA,iBAAA84E,EACAn5E,EAAA,WACA,GAAA,kBAAAm5E,EACA94E,EAAA,WAIA,OAFA,MAAA+4E,IACAA,EAAA,QACAD,GACA,IAAA,cACAn5E,EAAA,MACAK,EAAA,MACA,MACA,IAAA,eACAL,EAAA,MACAK,EAAA,MACA,MACA,IAAA,aACAL,EAAA,MACAK,EAAA,MACA,MACA,QACA,MAAA,IAAA7oB,MAAA,eAIA,IAAAuoB,EAAA,CAAAC,aAAAA,EAAAK,cAAAA,GACAjc,EAAAjL,KAAA5B,MAAA2tB,EAAA9gB,EAAA8gB,UAAAE,EAAAhhB,EAAAghB,WACA,MAAAF,IACAnF,EAAAmF,UAAAA,GACA,MAAAE,IACArF,EAAAqF,WAAAA,GACA,IAAApf,EAAA7M,KAAA5B,MAAAiR,EAAAxC,EAAAwC,MAAAG,EAAA3C,EAAA2C,OACA,MAAAH,IACAuX,EAAAvX,MAAAA,GACA,MAAAG,IACAoX,EAAApX,OAAAA,GACA,IAAAzC,EAAA/M,KAAA5B,MAAA4tB,EAAAjf,EAAAif,UAAAE,EAAAnf,EAAAmf,WACA,MAAAF,IACApF,EAAAoF,UAAAA,GACA,MAAAE,IACAtF,EAAAsF,WAAAA,GACA,QAAA+zE,GAAA,MAAA5wF,GAAA,MAAAG,EACAoX,EAAAuF,OAAA9c,EAAAG,EACApE,EAAAqc,SAAAw4E,KACAr5E,EAAAuF,OAAA8zE,GACA,IAAAzxF,EAAAxO,KAAA5B,MAAAoQ,OACA,GAAA,MAAAA,EACA,GAAApD,EAAAqc,SAAAjZ,GACAoY,EAAApY,OAAA,CAAAR,IAAAQ,EAAAF,MAAAE,EAAAN,OAAAM,EAAAJ,KAAAI,QACA,GAAA,GAAAA,EAAAtN,OAAA,CACA,IAAAstB,EAAAhgB,EAAA,GAAA+f,EAAA/f,EAAA,GACAoY,EAAApY,OAAA,CAAAR,IAAAwgB,EAAAlgB,MAAAigB,EAAArgB,OAAAsgB,EAAApgB,KAAAmgB,OAEA,CACA,IAAAxb,EAAAvE,EAAA,GAAAF,EAAAE,EAAA,GAAAN,EAAAM,EAAA,GAAAJ,EAAAI,EAAA,GACAoY,EAAApY,OAAA,CAAAR,IAAA+E,EAAAzE,MAAAA,EAAAJ,OAAAA,EAAAE,KAAAA,GAGAwY,EAAAU,QAAAtnB,KAAA5B,MAAAkpB,QACA,IAAAI,EAAA1nB,KAAA5B,MAAAspB,MAKA,OAJAtc,EAAAa,QAAAyb,IACAd,EAAAgD,OAAAlC,EAAA,GAAAd,EAAAiD,OAAAnC,EAAA,IAEAd,EAAAgD,OAAAhD,EAAAiD,OAAAnC,EACAd,GAEAo3E,EAAAp9F,UAAA4/F,eAAA,WACA,IAAA1/F,EAAAd,KACA,OAAAuqB,EAAApW,YAAAnU,KAAAmN,GAAA,WAEA,IADA,IAAA0zF,EAAA//F,EAAAqM,GACA0zF,EAAAA,EAAAvuF,eAEA,IAAAuuF,EAAAl1F,UAAA6H,SAAA,WAAA,CAGA,GAAAqtF,GAAA/8F,SAAAmR,KAAA,CACA,IAAAvK,EAAA6f,EAAA1c,QAAA/J,SAAAmR,MAAAzG,OAAAsyF,EAAAp2F,EAAA0D,KAAA2yF,EAAAr2F,EAAA4D,MAAA8b,EAAA1f,EAAAsD,IAAAgzF,EAAAt2F,EAAAwD,OACA+yF,EAAA3xF,KAAAC,KAAAzL,SAAAoO,gBAAAu+D,YAAAqwB,EAAAC,GACAG,EAAA5xF,KAAAC,KAAAzL,SAAAoO,gBAAAi0C,aAAA/7B,EAAA42E,GACA,MAAA,CAAA3xF,MAAA4xF,EAAAzxF,OAAA0xF,GAGA,IAAAj2F,EAAAsf,EAAA1c,QAAAgzF,GAAAhyF,QAAAT,EAAAnD,EAAAmD,KAAAE,EAAArD,EAAAqD,MAAA6yF,EAAAl2F,EAAA+C,IAAAE,EAAAjD,EAAAiD,OACArB,EAAAg0F,EAAAzxF,wBAAAC,EAAAxC,EAAAwC,MAAAG,EAAA3C,EAAA2C,OACA4xF,EAAA9xF,KAAAC,KAAAF,EAAAjB,EAAAE,GACA+yF,EAAA/xF,KAAAC,KAAAC,EAAA2xF,EAAAjzF,GACA,GAAAkzF,EAAA,GAAAC,EAAA,EACA,MAAA,CACAhyF,MAAA+xF,EAAA,EAAAA,OAAAxoF,EACApJ,OAAA6xF,EAAA,EAAAA,OAAAzoF,GAIA,MAAA,MAGAolF,EAAAp9F,UAAAgnD,mBAAA,WACA,OAAA/gD,EAAAiB,SAAA,GAAAR,EAAA1G,UAAAgnD,mBAAA//C,KAAA7H,MAAA,CAAA+kB,KAAA/kB,KAAA2kB,OAAAI,KAAA5V,KAAA3D,SAAAxL,KAAAm+F,YAAAh0F,IAAA,SAAAsC,GAAA,OAAAA,EAAAm7C,0BAEAo2C,EAnSA,CAoSArkB,EAAAplE,SACA3W,EAAAogG,cAAAA,EACA,IAAAvxC,EAAA,SAAAnlD,GAEA,SAAAmlD,EAAAlhD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAuBA,OAzBA6G,EAAAY,UAAAglD,EAAAnlD,GAIAmlD,EAAA1yC,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAia,OAAA,CACA5K,MAAA,CAAAhC,EAAAkmB,OAAA,MACA/jB,OAAA,CAAAnC,EAAAkmB,OAAA,MACAxH,UAAA,CAAA1e,EAAAkmB,OAAA,MACAtH,WAAA,CAAA5e,EAAAkmB,OAAA,MACAvH,UAAA,CAAA3e,EAAAkmB,OAAA,MACArH,WAAA,CAAA7e,EAAAkmB,OAAA,MACA/kB,OAAA,CAAAnB,EAAA6M,IAAA,CAAA,EAAA,EAAA,EAAA,IACA2M,aAAA,CAAAxZ,EAAA6M,IAAA,QACAgN,cAAA,CAAA7Z,EAAA6M,IAAA,QACA+lF,aAAA,CAAA5yF,EAAA6M,IAAA,MACA8lF,YAAA,CAAA3yF,EAAAkK,WAAA,MACA+P,QAAA,CAAAja,EAAA8lB,SAAA,GACAmuE,SAAA,CAAAj0F,EAAA8lB,SAAA,GACAzL,MAAA,CAAAra,EAAA6M,IAAA,SACAgmF,WAAA,CAAA7yF,EAAA+lB,MAAA,MACA1e,YAAA,CAAArH,EAAAoC,MAAA,OAGAg9C,EA1BA,CA2BAlB,EAAAI,OACA/tD,EAAA6uD,UAAAA,EACAA,EAAA1yC,aC5UA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2uF,EAAA3uF,EAAA,KACAstB,EAAAttB,EAAA,IACA2P,EAAA3P,EAAA,IACA6jG,EAAA,SAAAj6F,GAEA,SAAAi6F,IACA,OAAA,OAAAj6F,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KASA,OAXA6G,EAAAY,UAAA85F,EAAAj6F,GAIAi6F,EAAA3gG,UAAAs9F,eAAA,WACA,IAAA53E,EAAAtmB,KAAAm+F,YAAAh0F,IAAA,SAAAsC,GAAA,OAAAA,EAAAkY,SACA3kB,KAAA2kB,OAAA,IAAAqG,EAAAX,IAAA/D,GACAtmB,KAAA2kB,OAAA6B,KAAAxmB,KAAA5B,MAAAooB,KACAxmB,KAAA2kB,OAAA8B,QAAA,CAAA,EAAAzmB,KAAA5B,MAAAqoB,SACAzmB,KAAA2kB,OAAAmH,WAAA9rB,KAAAo+F,eAEAmD,EAZA,CAaAlV,EAAArF,SACAppF,EAAA2jG,QAAAA,EACA,IAAAl3E,EAAA,SAAA/iB,GAEA,SAAA+iB,EAAA9e,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAA4iB,EAAA/iB,GAIA+iB,EAAAtQ,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,MACAvZ,KAAAY,UAAAoJ,aAAAu3F,EACAvhG,KAAAia,OAAA,CACAuM,KAAA,CAAAnZ,EAAA6M,IAAA,WAGAmQ,EAZA,CAaAgiE,EAAA7E,KACA5pF,EAAAysB,IAAAA,EACAA,EAAAtQ,aCnCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2tD,EAAA3tD,EAAA,KACAm9E,EAAAn9E,EAAA,IACA8jG,EAAA,SAAAl6F,GAEA,SAAAk6F,IACA,OAAA,OAAAl6F,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAaA,OAfA6G,EAAAY,UAAA+5F,EAAAl6F,GAIAtI,OAAAiU,eAAAuuF,EAAA5gG,UAAA,eAAA,CACAsS,IAAA,WACA,MAAA,IAEAG,YAAA,EACAC,cAAA,IAEAkuF,EAAA5gG,UAAAs9F,eAAA,WACAl+F,KAAA2kB,OAAA,IAAAk2D,EAAA/vD,WACA9qB,KAAA2kB,OAAAmH,WAAA9rB,KAAAo+F,eAEAoD,EAhBA,CAiBAn2C,EAAA2yC,eACApgG,EAAA4jG,WAAAA,EACA,IAAAxC,EAAA,SAAA13F,GAEA,SAAA03F,EAAAzzF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAMA,OARA6G,EAAAY,UAAAu3F,EAAA13F,GAIA03F,EAAAjlF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,SACAvZ,KAAAY,UAAAoJ,aAAAw3F,GAEAxC,EATA,CAUA3zC,EAAAoB,WACA7uD,EAAAohG,OAAAA,EACAA,EAAAjlF,aCnCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAm9E,EAAAn9E,EAAA,IACA6sB,EAAA7sB,EAAA,GACAkM,EAAAlM,EAAA,IACA2P,EAAA3P,EAAA,IACA2tD,EAAA3tD,EAAA,KACA6tD,EAAA7tD,EAAA,IACA+jG,EAAA,SAAAn6F,GAEA,SAAAm6F,IACA,OAAA,OAAAn6F,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAmMA,OArMA6G,EAAAY,UAAAg6F,EAAAn6F,GAIAm6F,EAAA7gG,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAwoF,KAAA3oF,OAAA,WAAA,OAAAjY,EAAAi9F,YACA/9F,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAuoB,OAAA1oB,OAAA,WAAA,OAAAjY,EAAA6gG,sBAEA3iG,OAAAiU,eAAAwuF,EAAA7gG,UAAA,eAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA5B,MAAAsjG,KAAAv3F,IAAA,SAAAy3F,GAAA,OAAAA,EAAAn1F,SAEA4G,YAAA,EACAC,cAAA,IAEAmuF,EAAA7gG,UAAAs9F,eAAA,WACA,IAAA1mC,EAAAx3D,KAAA5B,MAAAyjG,cACArzE,EAAA,SAAAgpC,GAAA,SAAAA,EAEAsqC,EAAA9hG,KAAA8hG,UAAAC,EAAA/hG,KAAA+hG,WACA/hG,KAAAq1C,OAAA,IAAA,SAAA/tC,GAEA,SAAA4sB,IACA,OAAA,OAAA5sB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAgBA,OAlBA6G,EAAAY,UAAAysB,EAAA5sB,GAIA4sB,EAAAtzB,UAAAmjB,SAAA,SAAAW,GACA,IACA8Y,EAAAjT,EAAArb,KAAA4yF,GACAE,EAAAz3E,EAAA/e,SAAAu2F,GAAAt9D,MAAA,EAFA,GAEAt6B,IAAA,SAAAgD,GAAA,OAAAod,EAAArb,KAAA/B,KACAzC,EAAApD,EAAA1G,UAAAmjB,SAAAlc,KAAA7H,KAAA0kB,GAAArV,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACA,GAAAgf,EAAA,CACA,IAAAzC,EAAAyR,EAAAnuB,MAAAzF,EAAAse,IAAA85E,EAAA73F,IAAA,SAAA+E,GAAA,OAAAA,EAAAG,SACA,MAAA,CAAAA,MAAAqV,EAAArV,OAAA4E,EAAAA,EAAAyQ,EAAArV,MAAA0c,EAAAvc,OAAAA,GAGA,IAAAyc,EAAAuR,EAAAhuB,OAAA5F,EAAAse,IAAA85E,EAAA73F,IAAA,SAAA+E,GAAA,OAAAA,EAAAM,UACA,MAAA,CAAAH,MAAAA,EAAAG,OAAAkV,EAAAlV,QAAAyE,EAAAA,EAAAyQ,EAAAlV,OAAAyc,IAGAiI,EAnBA,CAoBA2mD,EAAArwD,YApBA,CAoBAxqB,KAAAiiG,WACAzzE,EACAxuB,KAAAq1C,OAAAvpB,WAAA,CAAAjF,aAAA,MAAAK,cAAA,UAEAlnB,KAAAq1C,OAAAvpB,WAAA,CAAAjF,aAAA,QAAAK,cAAA,QACA,IAAAhB,EAAA,EACAC,EAAA,EACA,OAAAqxC,GACA,IAAA,QACAtxC,GAAA,EACA,MACA,IAAA,QACAA,GAAA,EACA,MACA,IAAA,OACAC,GAAA,EACA,MACA,IAAA,QACAA,GAAA,EAGA,IAAAkvB,EAAA,CAAA1wB,OAAA3kB,KAAAq1C,OAAAnvB,IAAAA,EAAAC,IAAAA,GACA+7E,EAAAliG,KAAAm+F,YAAAh0F,IAAA,SAAAm0F,GACA,MAAA,CAAA35E,OAAA25E,EAAA35E,OAAAuB,IAAA,EAAAC,IAAA,KAEAnmB,KAAA2kB,OAAA,IAAAk2D,EAAAx0D,KAAA,CAAAgvB,GAAA1lC,OAAAuyF,IACAliG,KAAA2kB,OAAAmH,WAAA9rB,KAAAo+F,eAEAqD,EAAA7gG,UAAA0/F,gBAAA,WACAh5F,EAAA1G,UAAA0/F,gBAAAz4F,KAAA7H,MACAA,KAAAiiG,UAAA71F,MAAAyG,SAAA,WACA0X,EAAA1X,SAAA7S,KAAAiiG,UAAAjiG,KAAAq1C,OAAAtwB,MACA,IAAAyyC,EAAAx3D,KAAA5B,MAAAyjG,cACArzE,EAAA,SAAAgpC,GAAA,SAAAA,EACA2qC,EAAA53E,EAAArb,KAAAlP,KAAA8hG,WACAM,EAAA73E,EAAAhY,YAAAvS,KAAA+hG,YACA,GAAAvzE,EAAA,CACA,IAAAnf,EAAArP,KAAAq1C,OAAAtwB,KAAA1V,MACA+yF,EAAA/yF,MAAAA,GACArP,KAAAqiG,WAAAj2F,MAAAk2F,SAAAjzF,EAAA8yF,EAAA9yF,MAAA,KACAkb,EAAA7Y,QAAA1R,KAAA8hG,aAGA9hG,KAAAqiG,WAAAj2F,MAAAk2F,SAAA,GACA/3E,EAAA5Y,UAAA3R,KAAA8hG,gBAGA,CACA,IAAAtyF,EAAAxP,KAAAq1C,OAAAtwB,KAAAvV,OACA4yF,EAAA5yF,OAAAA,GACAxP,KAAAqiG,WAAAj2F,MAAAm2F,UAAA/yF,EAAA2yF,EAAA3yF,OAAA,KACA+a,EAAA7Y,QAAA1R,KAAA8hG,aAGA9hG,KAAAqiG,WAAAj2F,MAAAm2F,UAAA,GACAh4E,EAAA5Y,UAAA3R,KAAA8hG,YAIA,IADA,IAAA3D,EAAAn+F,KAAAm+F,YACA/zF,EAAA,EAAAo4F,EAAArE,EAAA/zF,EAAAo4F,EAAAthG,OAAAkJ,IAAA,CACA,IAAAk0F,EAAAkE,EAAAp4F,GACAmgB,EAAAzY,KAAAwsF,EAAAnxF,IAEA,IAAAy0F,EAAAzD,EAAAn+F,KAAA5B,MAAAqjC,QACA,MAAAmgE,GACAr3E,EAAA3Y,KAAAgwF,EAAAz0F,KAEAs0F,EAAA7gG,UAAAkU,OAAA,WACA,IAAAhU,EAAAd,KACAsH,EAAA1G,UAAAkU,OAAAjN,KAAA7H,MACA,IAAAyhC,EAAAzhC,KAAA5B,MAAAqjC,OACA+1B,EAAAx3D,KAAA5B,MAAAyjG,cACArzE,EAAA,SAAAgpC,GAAA,SAAAA,EACAE,EAAA,MAAAF,EACAwqC,EAAAhiG,KAAA5B,MAAAsjG,KAAAv3F,IAAA,SAAAy3F,EAAA3xF,GACA,IAAA9C,EAAAod,EAAA3a,IAAA,CAAAuF,MAAA,CAAA,SAAAlF,GAAAwxB,EAAA,YAAA,OAAAmgE,EAAApzC,OAKA,GAJArhD,EAAA2wB,iBAAA,QAAA,SAAAr8B,GACAA,EAAAsgC,QAAAtgC,EAAAghG,eACA3hG,EAAA4hG,cAAAzyF,KAEA2xF,EAAAe,SAAA,CACA,IAAAC,EAAAr4E,EAAA3a,IAAA,CAAAuF,MAAA,aACAytF,EAAA9kE,iBAAA,QAAA,SAAAr8B,GACA,GAAAA,EAAAsgC,QAAAtgC,EAAAghG,cAAA,CACA3hG,EAAA1C,MAAAsjG,KAAA93F,EAAA88B,UAAA5lC,EAAA1C,MAAAsjG,KAAAzxF,GACA,IAAA4yF,EAAA/hG,EAAA1C,MAAAsjG,KAAAxgG,OACAJ,EAAA1C,MAAAqjC,OAAAohE,EAAA,IACA/hG,EAAA1C,MAAAqjC,OAAAohE,EAAA,MAGA11F,EAAAR,YAAAi2F,GAEA,OAAAz1F,IAEAnN,KAAA+hG,WAAAx3E,EAAA3a,IAAA,CAAAuF,MAAA,CAAA,eAAA6sF,GACAhiG,KAAAqiG,WAAA93E,EAAA3a,IAAA,CAAAuF,MAAA,sBAAAnV,KAAA+hG,YACA,IAAAe,EAAAv4E,EAAA3a,IAAA,CAAAuF,MAAA,CAAA,SAAA,kBAAAmsF,SAAA,IAAA/2E,EAAA3a,IAAA,CAAAuF,MAAA,CAAA,WAAA,cACA4tF,EAAAx4E,EAAA3a,IAAA,CAAAuF,MAAA,CAAA,SAAA,mBAAAoV,EAAA3a,IAAA,CAAAuF,MAAA,CAAA,WAAA,eACA6tF,EAAA,EACAC,EAAA,SAAA57D,GACA,OAAA,WACA,IAAAw7D,EAAA/hG,EAAA1C,MAAAsjG,KAAAxgG,OAKA,IAHA8hG,EADA,QAAA37D,EACA/3B,KAAAsD,IAAAowF,EAAA,EAAA,GAEA1zF,KAAA4b,IAAA83E,EAAA,EAAAH,EAAA,IAEAC,EAAAv2F,aAAA,WAAA,IAEAu2F,EAAAI,gBAAA,YACAF,GAAAH,EAAA,EACAE,EAAAx2F,aAAA,WAAA,IAEAw2F,EAAAG,gBAAA,YACA,IAAA7iB,EAAA91D,EAAA/e,SAAA1K,EAAAihG,YACAt9D,MAAA,EAAAu+D,GACA74F,IAAA,SAAAgD,GAAA,OAAAA,EAAAiC,0BACA,GAAAof,EAAA,CACA,IAAApgB,GAAAxE,EAAAse,IAAAm4D,EAAAl2E,IAAA,SAAA+E,GAAA,OAAAA,EAAAG,SACAvO,EAAAihG,WAAA31F,MAAAgC,KAAAA,EAAA,SAEA,CACA,IAAA2E,GAAAnJ,EAAAse,IAAAm4D,EAAAl2E,IAAA,SAAA+E,GAAA,OAAAA,EAAAM,UACA1O,EAAAihG,WAAA31F,MAAA4B,IAAA+E,EAAA,QAIA+vF,EAAAhlE,iBAAA,QAAAmlE,EAAA,SACAF,EAAAjlE,iBAAA,QAAAmlE,EAAA,UACAjjG,KAAA8hG,UAAAv3E,EAAA3a,IAAA,CAAAuF,MAAA,gBAAA2tF,EAAAC,GACA/iG,KAAAiiG,UAAA13E,EAAA3a,IAAA,CAAAuF,MAAA,CAAA,iBAAAuiD,IAAA13D,KAAA8hG,UAAA9hG,KAAAqiG,YACAriG,KAAAmN,GAAAR,YAAA3M,KAAAiiG,YAEAR,EAAA7gG,UAAA8hG,cAAA,SAAAzyF,GACAA,GAAAjQ,KAAA5B,MAAAqjC,SACAzhC,KAAA5B,MAAAqjC,OAAAxxB,EACA,MAAAjQ,KAAA5B,MAAAgnD,UACAplD,KAAA5B,MAAAgnD,SAAA2T,QAAA/4D,KAAA5B,SAGAqjG,EAAA7gG,UAAA+gG,iBAAA,WAGA,IAFA,IAAA1xF,EAAAjQ,KAAA5B,MAAAqjC,OACAugE,EAAAz3E,EAAA/e,SAAAxL,KAAA+hG,YACA33F,EAAA,EAAA+4F,EAAAnB,EAAA53F,EAAA+4F,EAAAjiG,OAAAkJ,IAAA,CACA,IAAA+C,EAAAg2F,EAAA/4F,GACA+C,EAAAxB,UAAArB,OAAA,aAEA03F,EAAA/xF,GAAAtE,UAAAC,IAAA,aAEA,IADA,IAAAuyF,EAAAn+F,KAAAm+F,YACAzzF,EAAA,EAAA04F,EAAAjF,EAAAzzF,EAAA04F,EAAAliG,OAAAwJ,IAAA,CACA,IAAA4zF,EAAA8E,EAAA14F,GACA6f,EAAAzY,KAAAwsF,EAAAnxF,IAEAod,EAAA3Y,KAAAusF,EAAAluF,GAAA9C,KAEAs0F,EAtMA,CAuMAp2C,EAAA2yC,eACApgG,EAAA6jG,SAAAA,EACA,IAAAtC,EAAA,SAAA73F,GAEA,SAAA63F,EAAA5zF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAYA,OAdA6G,EAAAY,UAAA03F,EAAA73F,GAIA63F,EAAAplF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAAy3F,EACAzhG,KAAAia,OAAA,CACAynF,KAAA,CAAAr0F,EAAAoC,MAAA,IACAoyF,cAAA,CAAAx0F,EAAAoJ,SAAA,SACAgrB,OAAA,CAAAp0B,EAAAkmB,OAAA,GACA6xB,SAAA,CAAA/3C,EAAA6M,QAGAilF,EAfA,CAgBA9zC,EAAAoB,WACA7uD,EAAAuhG,KAAAA,EACAA,EAAAplF,YACA,IAAAmlF,EAAA,SAAA53F,GAEA,SAAA43F,EAAA3zF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAUA,OAZA6G,EAAAY,UAAAy3F,EAAA53F,GAIA43F,EAAAnlF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAia,OAAA,CACAu0C,MAAA,CAAAnhD,EAAAsmB,OAAA,IACAlnB,MAAA,CAAAY,EAAAimB,UACAqvE,SAAA,CAAAt1F,EAAA8lB,SAAA,MAGA+rE,EAbA,CAcA3zC,EAAAI,OACA/tD,EAAAshG,MAAAA,EACAA,EAAAnlF,aCpPA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAihG,EAAAjhG,EAAA,KACA2lG,EAAA,SAAA/7F,GAEA,SAAA+7F,IACA,OAAA,OAAA/7F,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAA47F,EAAA/7F,GAIA+7F,EALA,CAMA1E,EAAAV,YACArgG,EAAAylG,cAAAA,EACA,IAAAhE,EAAA,SAAA/3F,GAEA,SAAA+3F,EAAA9zF,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAMA,OARA6G,EAAAY,UAAA43F,EAAA/3F,GAIA+3F,EAAAtlF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAY,UAAAoJ,aAAAq5F,GAEAhE,EATA,CAUAV,EAAAr0E,QACA1sB,EAAAyhG,UAAAA,EACAA,EAAAtlF,aCvBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4lG,EAAA5lG,EAAA,KACA6lG,EAAA7lG,EAAA,KACA2P,EAAA3P,EAAA,IACA8lG,EAAA,SAAAl8F,GAEA,SAAAk8F,EAAAj4F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAcA,OAhBA6G,EAAAY,UAAA+7F,EAAAl8F,GAIAk8F,EAAAzpF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,yBACAvZ,KAAAia,OAAA,CACA27D,QAAA,CAAAvoE,EAAAoC,OACAsa,MAAA,CAAA1c,EAAAkmB,OAAA,GACAvJ,IAAA,CAAA3c,EAAAkmB,WAGAiwE,EAAA5iG,UAAA+7E,WAAA,SAAAv4E,EAAA+O,EAAA6tD,EAAAt2D,GACA,IAAA+4F,EAAA/4F,EAAA+4F,UACAH,EAAAI,cAAAt/F,EAAApE,KAAA41E,QAAA5U,EAAA7tD,EAAAnT,KAAA+pB,MAAA/pB,KAAAgqB,IAAAy5E,IAEAD,EAjBA,CAkBAD,EAAAI,aACA/lG,EAAA4lG,uBAAAA,EACAA,EAAAzpF,aCzBA,SAAArc,EAAAC,EAAAC,GACA,IAAAy0B,EAAA30B,EAAA,IACA0N,EAAA1N,EAAA,IACA,SAAAkmG,EAAA5zF,EAAAuR,GACA,GAAAvR,EAAA9O,QAAAqgB,EAAArgB,OACA,OAAA,EACA,IAAA,IAAA+O,EAAA,EAAA+Z,EAAAha,EAAA9O,OAAA+O,EAAA+Z,EAAA/Z,IACA,GAAAD,EAAAC,KAAAsR,EAAAtR,GACA,OAAA,EAEA,OAAA,EAEArS,EAAAgmG,YAAAA,EAgCAhmG,EAAA8lG,cA/BA,SAAAt/F,EAAAwxE,EAAAiuB,EAAA1wF,EAAA4W,EAAAC,EAAA85E,GA2BA,IA1BA,IAAArpF,EAAA,SAAAxK,EAAA8zF,GACA,IAAAjyD,EAAA1tC,EAAA6L,GACA5D,OAAA,EACAjB,EAAAW,SAAA+lC,GACAzlC,EAAAgmB,EAAAyV,SAAA8tC,EAAA9jC,IAEA,MAAA/nB,EAEA+nB,EADA,MAAA9nB,EACA8nB,EAAArN,MAAA1a,EAAAC,GAEA8nB,EAAArN,MAAA1a,GAEA,MAAAC,IACA8nB,EAAAA,EAAArN,MAAA,EAAAza,IAEA3d,EADA,GAAAylC,EAAA5wC,OACAmxB,EAAAyV,SAAA8tC,EAAA9jC,EAAA,IAEAzf,EAAAiS,WAAAsxC,EAAA,SAAAntE,GAAA,OAAAm7F,EAAAn7F,EAAAqpC,MAEA,IAAAjmC,OAAA,EAEAA,EADAQ,EAAA,GAAAA,GAAAw3F,EAAA3iG,OACA4iG,EAEAD,EAAAx3F,GACA8G,EAAAlD,GAAApE,GAEAoE,EAAA,EAAA8zF,EAAA3/F,EAAAlD,OAAA+O,EAAA8zF,EAAA9zF,IACAwK,EAAAxK,EAAA8zF,KCzCA,SAAArmG,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4lG,EAAA5lG,EAAA,KACAsmG,EAAAtmG,EAAA,KACA2P,EAAA3P,EAAA,IACAumG,EAAA,SAAA38F,GAEA,SAAA28F,EAAA14F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiBA,OAnBA6G,EAAAY,UAAAw8F,EAAA38F,GAIA28F,EAAAlqF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,0BACAvZ,KAAAia,OAAA,CACA27D,QAAA,CAAAvoE,EAAAoC,OACAy0F,QAAA,CAAA72F,EAAAoC,OACAsa,MAAA,CAAA1c,EAAAkmB,OAAA,GACAvJ,IAAA,CAAA3c,EAAAkmB,QACA/Z,cAAA,CAAAnM,EAAAsJ,WAAA,aAGAstF,EAAArjG,UAAA0zB,UAAA,SAAA+f,GACA,IAAAlhC,EAAA,IAAA1D,MAAA4kC,EAAAnzC,QAEA,OADAoiG,EAAAI,cAAArvD,EAAAr0C,KAAA41E,QAAA51E,KAAAkkG,QAAA/wF,EAAAnT,KAAA+pB,MAAA/pB,KAAAgqB,IAAAhqB,KAAAwZ,eACArG,GAEA8wF,EApBA,CAqBAD,EAAAG,QACAvmG,EAAAqmG,wBAAAA,EACAA,EAAAlqF,aC5BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4lG,EAAA5lG,EAAA,KACAsmG,EAAAtmG,EAAA,KACA2P,EAAA3P,EAAA,IACA0mG,EAAA,SAAA98F,GAEA,SAAA88F,EAAA74F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiBA,OAnBA6G,EAAAY,UAAA28F,EAAA98F,GAIA88F,EAAArqF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,2BACAvZ,KAAAia,OAAA,CACA27D,QAAA,CAAAvoE,EAAAoC,OACA40F,SAAA,CAAAh3F,EAAAoC,OACAsa,MAAA,CAAA1c,EAAAkmB,OAAA,GACAvJ,IAAA,CAAA3c,EAAAkmB,QACA/Z,cAAA,CAAAnM,EAAA0I,iBAAA,QAGAquF,EAAAxjG,UAAA0zB,UAAA,SAAA+f,GACA,IAAAlhC,EAAA,IAAA1D,MAAA4kC,EAAAnzC,QAEA,OADAoiG,EAAAI,cAAArvD,EAAAr0C,KAAA41E,QAAA51E,KAAAqkG,SAAAlxF,EAAAnT,KAAA+pB,MAAA/pB,KAAAgqB,IAAAhqB,KAAAwZ,eACArG,GAEAixF,EApBA,CAqBAJ,EAAAG,QACAvmG,EAAAwmG,yBAAAA,EACAA,EAAArqF,aC5BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAsmG,EAAAtmG,EAAA,KACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACA40B,EAAA50B,EAAA,IACA2+B,EAAA3+B,EAAA,IACA,SAAA4mG,EAAAz2D,GACA,OAAAziC,EAAAqc,SAAAomB,GACAA,GACA,KAAAA,EAAA,KACAA,EAAAvb,EAAAsb,UAAAC,IACA,GAAAA,EAAA3sC,SACA2sC,GAAA,MACAqB,SAAArB,EAAApJ,MAAA,GAAA,KAGA,SAAA8/D,EAAAvjC,GAEA,IADA,IAAAwjC,EAAA,IAAA50D,YAAAoxB,EAAA9/D,QACA+O,EAAA,EAAA+Z,EAAAg3C,EAAA9/D,OAAA+O,EAAA+Z,EAAA/Z,IACAu0F,EAAAv0F,GAAAq0F,EAAAtjC,EAAA/wD,IACA,OAAAu0F,EAGA,SAAAC,EAAAtxF,GACA,GAAAkpB,EAAAmT,iBAEA,IADA,IAAAzkC,EAAA,IAAA25F,SAAAvxF,EAAAuL,QACAzO,EAAA,EAAA+Z,EAAA7W,EAAAjS,OAAA+O,EAAA+Z,EAAA/Z,IACAlF,EAAA45F,UAAA,EAAA10F,EAAAkD,EAAAlD,IAEA,OAAA,IAAAkkB,WAAAhhB,EAAAuL,QAdA9gB,EAAA0mG,eAAAA,EAOA1mG,EAAA2mG,iBAAAA,EASA3mG,EAAA6mG,gBAAAA,EACA,IAAAd,EAAA,SAAAr8F,GAEA,SAAAq8F,EAAAp4F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiCA,OAnCA6G,EAAAY,UAAAk8F,EAAAr8F,GAIAq8F,EAAA5pF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAia,OAAA,CACA+mD,QAAA,CAAA3zD,EAAA6M,KACAupF,UAAA,CAAAp2F,EAAA+lB,MAAA,WAGAuwE,EAAA/iG,UAAA0zB,UAAA,SAAA+f,GACA,IAAAlhC,EAAA,IAAA1D,MAAA4kC,EAAAnzC,QAEA,OADAlB,KAAA28E,WAAAtoC,EAAAlhC,EAAAnT,KAAAghE,QAAAhhE,KAAA4kG,QAAA,SAAA9+E,GAAA,OAAAA,KACA3S,GAEAnU,OAAAiU,eAAA0wF,EAAA/iG,UAAA,cAAA,CACAsS,IAAA,WACA,IAAA2xF,EAAA7kG,KACAghE,EAAAujC,EAAAvkG,KAAAghE,SACA8jC,EAAA9kG,KAAA4kG,QAAAN,GACA,MAAA,CACAhwE,UAAA,SAAA+f,GACA,IAAAlhC,EAAA,IAAAy8B,YAAAyE,EAAAnzC,QAEA,OADA2jG,EAAAloB,WAAAtoC,EAAAlhC,EAAA6tD,EAAA8jC,GACAL,EAAAtxF,MAIAE,YAAA,EACAC,cAAA,IAEAqwF,EAAA/iG,UAAAgkG,QAAA,SAAAG,GACA,MAAA,CAAAtB,UAAAsB,EAAA/kG,KAAAyjG,aAEAE,EApCA,CAqCAK,EAAAG,QACAvmG,EAAA+lG,YAAAA,EACAA,EAAA5pF,aCxEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6lG,EAAA7lG,EAAA,KACA2P,EAAA3P,EAAA,IACAsnG,EAAA,SAAA19F,GAEA,SAAA09F,EAAAz5F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAcA,OAhBA6G,EAAAY,UAAAu9F,EAAA19F,GAIA09F,EAAAjrF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,wBACAvZ,KAAAia,OAAA,CACAguB,KAAA,CAAA56B,EAAAkmB,QACAyU,IAAA,CAAA36B,EAAAkmB,QACA0xE,WAAA,CAAA53F,EAAA+lB,OACA8xE,UAAA,CAAA73F,EAAA+lB,UAGA4xE,EAAApkG,UAAAgkG,QAAA,SAAAG,GACA,OAAAl+F,EAAAiB,SAAA,GAAAR,EAAA1G,UAAAgkG,QAAA/8F,KAAA7H,KAAA+kG,GAAA,CAAAG,UAAA,MAAAllG,KAAAklG,UAAAH,EAAA/kG,KAAAklG,gBAAAtsF,EAAAqsF,WAAA,MAAAjlG,KAAAilG,WAAAF,EAAA/kG,KAAAilG,iBAAArsF,KAEAosF,EAjBA,CAkBAzB,EAAAI,aACA/lG,EAAAonG,sBAAAA,EACAA,EAAAjrF,aCxBA,SAAArc,EAAAC,EAAAC,GACA,IAAAunG,EAAAznG,EAAA,KACAE,EAAA4lG,uBAAA2B,EAAA3B,uBACA,IAAA4B,EAAA1nG,EAAA,KACAE,EAAAqmG,wBAAAmB,EAAAnB,wBACA,IAAAoB,EAAA3nG,EAAA,KACAE,EAAAwmG,yBAAAiB,EAAAjB,yBACA,IAAAkB,EAAA5nG,EAAA,KACAE,EAAAonG,sBAAAM,EAAAN,sBACA,IAAAzB,EAAA7lG,EAAA,KACAE,EAAA+lG,YAAAJ,EAAAI,YACA,IAAArjC,EAAA5iE,EAAA,KACAE,EAAA0jE,kBAAAhB,EAAAgB,kBACA,IAAAikC,EAAA7nG,EAAA,KACAE,EAAA4nG,eAAAD,EAAAC,gBCdA,SAAA9nG,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4nG,EAAA5nG,EAAA,KACA20B,EAAA30B,EAAA,IACA4jE,EAAA,SAAAh6D,GAEA,SAAAg6D,EAAA/1D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAmCA,OArCA6G,EAAAY,UAAA65D,EAAAh6D,GAIAg6D,EAAAvnD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,qBAEA+nD,EAAA1gE,UAAA+7E,WAAA,SAAAv4E,EAAA+O,EAAA6tD,EAAA8jC,GAOA,IANA,IAAArB,EAAAqB,EAAArB,UAAAyB,EAAAJ,EAAAI,UAAAD,EAAAH,EAAAG,WACAj9D,EAAA,MAAAhoC,KAAAgoC,IAAAhoC,KAAAgoC,IAAA3V,EAAAnH,IAAA9mB,GACA6jC,EAAA,MAAAjoC,KAAAioC,KAAAjoC,KAAAioC,KAAA5V,EAAAzf,IAAAxO,GACAqhG,EAAAzkC,EAAA9/D,OAAA,EACAwkG,EAAA,GAAAz9D,EAAAD,GACA29D,EAAA,EAAA3kC,EAAA9/D,OACA+O,EAAA,EAAA+Z,EAAA5lB,EAAAlD,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAA6hC,EAAA1tC,EAAA6L,GACA,GAAAsxE,MAAAzvC,GACA3+B,EAAAlD,GAAAwzF,OAMA,GAAA3xD,GAAA7J,EAAA,CAIA,IAAA29D,GAAA9zD,EAAA9J,GAAA09D,EACAr5F,EAAAiD,KAAA64B,MAAAy9D,EAAAD,GAEAxyF,EAAAlD,GADA5D,EAAA,EACA,MAAA64F,EAAAA,EAAAlkC,EAAA,GACA30D,EAAAo5F,EACA,MAAAR,EAAAA,EAAAjkC,EAAAykC,GAEAzkC,EAAA30D,QAVA8G,EAAAlD,GAAA+wD,EAAAykC,KAaAnkC,EAtCA,CAuCAgkC,EAAAN,uBACApnG,EAAA0jE,kBAAAA,EACAA,EAAAvnD,aC7CA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4nG,EAAA5nG,EAAA,KACA20B,EAAA30B,EAAA,IAGAmoG,EAAA,MAAAv2F,KAAAu2F,MAAAv2F,KAAAu2F,MAAA,SAAAp9F,GAAA,OAAA6G,KAAA0iB,IAAA,EAAAvpB,IACA+8F,EAAA,SAAAl+F,GAEA,SAAAk+F,EAAAj6F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA2CA,OA7CA6G,EAAAY,UAAA+9F,EAAAl+F,GAIAk+F,EAAAzrF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,kBAEAisF,EAAA5kG,UAAA+7E,WAAA,SAAAv4E,EAAA+O,EAAA6tD,EAAA8jC,GAOA,IANA,IAAArB,EAAAqB,EAAArB,UAAAyB,EAAAJ,EAAAI,UAAAD,EAAAH,EAAAG,WACA3/D,EAAA07B,EAAA9/D,OACA8mC,EAAA,MAAAhoC,KAAAgoC,IAAAhoC,KAAAgoC,IAAA3V,EAAAnH,IAAA9mB,GACA6jC,EAAA,MAAAjoC,KAAAioC,KAAAjoC,KAAAioC,KAAA5V,EAAAzf,IAAAxO,GACA2E,EAAAu8B,GAAAugE,EAAA59D,GAAA49D,EAAA79D,IACAy9D,EAAAzkC,EAAA9/D,OAAA,EACA+O,EAAA,EAAA+Z,EAAA5lB,EAAAlD,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAA6hC,EAAA1tC,EAAA6L,GAEA,GAAAsxE,MAAAzvC,GACA3+B,EAAAlD,GAAAwzF,OAGA,GAAA3xD,EAAA7J,EACA90B,EAAAlD,GAAA,MAAAg1F,EAAAA,EAAAjkC,EAAAykC,QAMA,GAAA3zD,GAAA7J,EAIA,GAAA6J,EAAA9J,EACA70B,EAAAlD,GAAA,MAAAi1F,EAAAA,EAAAlkC,EAAA,OADA,CAKA,IAAAhvC,EAAA6zE,EAAA/zD,GAAA+zD,EAAA79D,GACA37B,EAAAiD,KAAA64B,MAAAnW,EAAAjpB,GAEAsD,EAAAo5F,IACAp5F,EAAAo5F,GACAtyF,EAAAlD,GAAA+wD,EAAA30D,QAbA8G,EAAAlD,GAAA+wD,EAAAykC,KAgBAD,EA9CA,CA+CAF,EAAAN,uBACApnG,EAAA4nG,eAAAA,EACAA,EAAAzrF,aCxDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAooG,EAAApoG,EAAA,KACAymG,EAAA,SAAA78F,GAEA,SAAA68F,EAAA54F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAA08F,EAAA78F,GAIA68F,EAAApqF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UAEA4qF,EAAAvjG,UAAA6sB,QAAA,SAAA46B,GAEA,MAAA,IAAAhqD,MAAA,2CAEA8lG,EAZA,CAaA2B,EAAAC,WACAnoG,EAAAumG,OAAAA,EACAA,EAAApqF,aClBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAsoG,EAAAtoG,EAAA,KACAuoG,EAAA32F,KAAAsT,KAAA,GAKA,SAAAsjF,EAAAz2E,EAAA5J,GACA4J,EAAAkd,QAAA9mB,EAAAA,GACA4J,EAAAy4B,OAAAriC,GAAAA,GACA4J,EAAAkd,QAAA9mB,GAAAA,GACA4J,EAAAy4B,OAAAriC,EAAAA,GAEA,SAAAsgF,EAAA12E,EAAA5J,GACA4J,EAAAkd,OAAA,EAAA9mB,GACA4J,EAAAy4B,OAAA,GAAAriC,GACA4J,EAAAkd,QAAA9mB,EAAA,GACA4J,EAAAy4B,OAAAriC,EAAA,GAEA,SAAAugF,EAAA32E,EAAA5J,GACA4J,EAAAkd,OAAA,EAAA9mB,GACA4J,EAAAy4B,OAAAriC,EAAA,IAAA,GACA4J,EAAAy4B,OAAA,GAAAriC,GACA4J,EAAAy4B,QAAAriC,EAAA,IAAA,GACA4J,EAAAssC,YAaA,SAAAsqC,EAAA52E,EAAA5J,GACA,IAAA8nB,EAAA9nB,EAAAogF,EACAj2F,EAAA29B,EAAA,EACAle,EAAAkd,QAAA9mB,EAAA7V,GACAyf,EAAAy4B,OAAAriC,EAAA7V,GACAyf,EAAAy4B,OAAA,EAAAl4C,EAAA29B,GACAle,EAAAssC,YAEA,SAAAuqC,EAAA72E,EAAAxf,EAAA4V,EAAAsQ,EAAAowE,GACA,IAAAl0D,EAAA,IAAAxsB,EACAsgF,EAAA12E,EAAA5J,GACAqgF,EAAAz2E,EAAA4iB,GACAlc,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAcA,SAAAq+C,EAAA/2E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA9G,EAAAq5B,IAAA,EAAA,EAAAjjC,EAAA,EAAA,EAAAvW,KAAA0e,IAAA,GACAuI,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAk2F,EAAA12E,EAAA5J,GACA4J,EAAA04B,UAGA,SAAAs+C,EAAAh3E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA9G,EAAAq5B,IAAA,EAAA,EAAAjjC,EAAA,EAAA,EAAAvW,KAAA0e,IAAA,GACAuI,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAi2F,EAAAz2E,EAAA5J,GACA4J,EAAA04B,UAGA,SAAAu+C,EAAAj3E,EAAAxf,EAAA4V,EAAAsQ,EAAAowE,GACAJ,EAAA12E,EAAA5J,GACAsQ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAGA,SAAAw+C,EAAAl3E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA6vE,EAAA32E,EAAA5J,GACA0Q,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAGA,SAAAy+C,EAAAn3E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA6vE,EAAA32E,EAAA5J,GACA0Q,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAk2F,EAAA12E,EAAA5J,GACA4J,EAAA04B,UAGA,SAAAja,EAAAze,EAAAxf,EAAA4V,EAAAsQ,EAAAI,IA7FA,SAAA9G,EAAA5J,GACA,IAAAwsB,EAAAxsB,EAAA,EACA8nB,EAAAs4D,EAAA5zD,EACA5iB,EAAAkd,OAAA9mB,EAAA,GACA4J,EAAAy4B,OAAA7V,GAAA1E,GACAle,EAAAy4B,QAAA7V,GAAA1E,GACAle,EAAAy4B,QAAAriC,EAAA,GACA4J,EAAAy4B,QAAA7V,EAAA1E,GACAle,EAAAy4B,OAAA7V,EAAA1E,GACAle,EAAAssC,YAqFA8qC,CAAAp3E,EAAA5J,GACA0Q,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAGA,SAAA2+C,EAAAr3E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA9G,EAAAH,OAAAhgB,KAAA0e,IACAq4E,EAAA52E,EAAA5J,GACA4J,EAAAH,QAAAhgB,KAAA0e,IACAuI,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAGA,SAAA4+C,EAAAt3E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA,IAAArnB,EAAA,EAAA2W,EACA4J,EAAAtgB,MAAA0W,GAAAA,EAAA3W,EAAAA,GACAqnB,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAGA,SAAA6+C,EAAAv3E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA,IAAArnB,EAAA,EAAA2W,EACA4J,EAAAtgB,MAAA0W,GAAAA,EAAA3W,EAAAA,GACAqnB,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAk2F,EAAA12E,EAAA5J,GACA4J,EAAA04B,UAGA,SAAA8+C,EAAAx3E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA,IAAArnB,EAAA,EAAA2W,EACA4J,EAAAtgB,MAAA0W,GAAAA,EAAA3W,EAAAA,GACAqnB,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAi2F,EAAAz2E,EAAA5J,GACA4J,EAAA04B,UAGA,SAAA++C,EAAAz3E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA8vE,EAAA52E,EAAA5J,GACA0Q,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAGA,SAAA1d,EAAAhb,EAAAxf,EAAA4V,EAAAsQ,EAAAowE,IA7LA,SAAA92E,EAAA5J,GACA4J,EAAAkd,QAAA9mB,EAAA,GACA4J,EAAAy4B,OAAAriC,EAAA,GA4LAshF,CAAA13E,EAAA5J,GACAsQ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAGA,SAAA1/C,EAAAgnB,EAAAxf,EAAA4V,EAAAsQ,EAAAowE,GACAL,EAAAz2E,EAAA5J,GACAsQ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,UAGA,SAAAi/C,EAAA7tF,EAAAhM,GACA,IAAAxC,EAAA,SAAAzD,GAEA,SAAA4sB,IACA,OAAA,OAAA5sB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAysB,EAAA5sB,GAIA4sB,EAAAna,UAAA,WACA/Z,KAAAY,UAAAymG,YAAA95F,GAEA2mB,EARA,CASA8xE,EAAAsB,YACAv8F,EAAAgP,YACA,IAAA3b,EAAA,SAAAkJ,GAEA,SAAAg0B,IACA,OAAA,OAAAh0B,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAMA,OARA6G,EAAAY,UAAA6zB,EAAAh0B,GAIAg0B,EAAAvhB,UAAA,WACA/Z,KAAAY,UAAAoJ,aAAAe,EACA/K,KAAAY,UAAA2Y,KAAAA,GAEA+hB,EATA,CAUA0qE,EAAAuB,QAEA,OADAnpG,EAAA2b,YACA3b,EAGAR,EAAA4pG,SAAAJ,EAAA,WAAAd,GACA1oG,EAAA6pG,YAAAL,EAAA,cAAAZ,GACA5oG,EAAA8pG,QAAAN,EAAA,UAAAX,GACA7oG,EAAA+pG,MAAAP,EAAA,QAAAV,GACA9oG,EAAAgqG,KAAAR,EAAA,OAAA38D,GACA7sC,EAAAiqG,QAAAT,EAAA,UAAAT,GACA/oG,EAAAkqG,aAAAV,EAAA,eAAAR,GACAhpG,EAAAmqG,IAAAX,EAAA,MAAAl5D,GACAtwC,EAAAoqG,iBAAAZ,EAAA,mBAAAN,GACAlpG,EAAAqqG,OAAAb,EAAA,SAAAL,GACAnpG,EAAAsqG,YAAAd,EAAA,cAAAJ,GACAppG,EAAAuqG,QAAAf,EAAA,UAAAH,GACArpG,EAAAwqG,SAAAhB,EAAA,WAAAF,GACAtpG,EAAAyqG,EAAAjB,EAAA,IAAA3+F,GACA7K,EAAA0qG,aAAA,CACAhC,SAAAA,EACAiC,OAnMA,SAAA94E,EAAAxf,EAAA4V,EAAAsQ,EAAAI,GACA9G,EAAAq5B,IAAA,EAAA,EAAAjjC,EAAA,EAAA,EAAAvW,KAAA0e,IAAA,GACAuI,EAAAm0B,OACAn0B,EAAA4yB,cAAA15B,EAAAxf,GACAwf,EAAA8G,QAEAJ,EAAAu0B,OACAv0B,EAAAgzB,cAAA15B,EAAAxf,GACAwf,EAAA04B,WA4LAq+C,aAAAA,EACAC,SAAAA,EACAC,MAAAA,EACAC,QAAAA,EACAC,cAAAA,EACA14D,IAAAA,EACA44D,kBAAAA,EACAC,OAAAA,EACAC,aAAAA,EACAC,SAAAA,EACAC,SAAAA,EACAz8D,KAAAA,EACAhiC,EAAAA,ICvQA,SAAA/K,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACA,IAAAooG,EAAAtoG,EAAA,KACAE,EAAA2pG,OAAAvB,EAAAuB,OACA,IAAAiB,EAAA9qG,EAAA,KACAE,EAAA6qG,QAAAD,EAAAC,SCNA,SAAA/qG,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6kF,EAAA7kF,EAAA,KACA+kF,EAAA/kF,EAAA,GACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACA4pG,EAAA,SAAAhgG,GAEA,SAAAggG,IACA,OAAA,OAAAhgG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAwHA,OA1HA6G,EAAAY,UAAA6/F,EAAAhgG,GAIAggG,EAAA1mG,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GAEA,IADA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAA0/E,EAAAx9E,EAAAw9E,MAAArd,EAAAngE,EAAAmgE,OACAzgE,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,IAAAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAAi4E,EAAAj4E,GAAA46D,EAAA56D,IAAA,CAEA,IAAA4V,EAAAqiE,EAAAj4E,GAAA,EACAwf,EAAAqsC,YACArsC,EAAA+c,UAAAjkC,EAAA0H,GAAAzH,EAAAyH,IACA46D,EAAA56D,IACAwf,EAAAH,OAAAu7C,EAAA56D,IACAjQ,KAAAqnG,YAAA53E,EAAAxf,EAAA4V,EAAA7lB,KAAA66D,QAAA1kC,KAAAn2B,KAAA66D,QAAAtkC,MACAs0C,EAAA56D,IACAwf,EAAAH,QAAAu7C,EAAA56D,IACAwf,EAAA+c,WAAAjkC,EAAA0H,IAAAzH,EAAAyH,OAGAq3F,EAAA1mG,UAAAunF,WAAA,WAGA,IAAAxlB,EAAA3iE,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA4jB,QACAse,EAAA0b,EAAA54C,MAAA/pB,KAAAqsB,SACA66B,EAAAyb,EAAA34C,IAAAhqB,KAAAqsB,SACA3hB,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACAk4D,EAAA5iE,KAAA8iF,SAAAvmD,UAAA0E,MAAAlc,KAAA6jB,QACAye,EAAAub,EAAA74C,MAAA/pB,KAAAqsB,SACAi7B,EAAAsb,EAAA54C,IAAAhqB,KAAAqsB,SACAphB,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA8Z,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACA,OAAAlhB,KAAA+/B,MAAA3d,QAAA2C,IAEAuiF,EAAA1mG,UAAA0iF,WAAA,SAAAn7E,GAWA,IAVA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAy+C,EAAA1+C,EAAAvI,KAAAqsB,SACA66B,EAAA3+C,EAAAvI,KAAAqsB,SACA3hB,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACA28C,EAAA7+C,EAAAxI,KAAAqsB,SACAi7B,EAAA9+C,EAAAxI,KAAAqsB,SACAphB,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA8Z,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAsiE,EAAAxjF,KAAA+/B,MAAA3d,QAAA2C,GACA5C,EAAA,GACA/X,EAAA,EAAAy5E,EAAAL,EAAAp5E,EAAAy5E,EAAA3iF,OAAAkJ,IAAA,CACA,IAAA6F,EAAA4zE,EAAAz5E,GACAs+F,EAAA1oG,KAAAkoF,MAAAj4E,GAAA,EACA2zE,EAAAt0E,KAAAsd,IAAA5sB,KAAAuI,GAAA0H,GAAA1H,GAAA+G,KAAAsd,IAAA5sB,KAAAwI,GAAAyH,GAAAzH,GACA8G,KAAAsd,IAAA5sB,KAAAuI,GAAA0H,GAAA1H,IAAAmgG,GAAAp5F,KAAAsd,IAAA5sB,KAAAwI,GAAAyH,GAAAzH,IAAAkgG,GACAvmF,EAAAnX,KAAA,CAAAiF,EAAA2zE,IAGA,OAAAnB,EAAAvgE,iCAAAC,IAEAmlF,EAAA1mG,UAAA2mF,UAAA,SAAAp/E,GACA,IAAAuC,EAAAO,EAIAuW,EAAAP,EACAQ,EAAAP,EAJA3Y,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAqE,EAAA7M,KAAA8tB,SAAAvL,EAAA1V,EAAA0V,KAAAC,EAAA3V,EAAA2V,KAAAC,EAAA5V,EAAA4V,KAAAC,EAAA7V,EAAA6V,KACA3E,EAAA0kE,EAAAzgE,+BAGA,GAAA,KAAA7Z,EAAA22B,UAAA,CACArd,EAAAe,EACAtB,EAAAwB,EACA,IAAA2lE,EAAAroF,KAAAqsB,SAAA,EACA46B,EAAA1+C,EAAA8/E,EACAnhC,EAAA3+C,EAAA8/E,EACA39E,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,OAEA,CACA8W,EAAAe,EACAtB,EAAAwB,EACA,IAAA4lE,EAAAroF,KAAAqsB,SAAA,EACAg7B,EAAA7+C,EAAA6/E,EACA/gC,EAAA9+C,EAAA6/E,EACAp9E,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GAEA,IAAA8Z,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAiB,EAAAniB,KAAA+/B,MAAA3d,QAAA2C,GAEA,OADAhH,EAAAqE,QAAAD,EACApE,GAEAupF,EAAA1mG,UAAAymF,UAAA,SAAAl/E,GACA,IAAA8+C,EAAA9+C,EAAA8+C,IAAAC,EAAA/+C,EAAA++C,IAAAG,EAAAl/C,EAAAk/C,IAAAC,EAAAn/C,EAAAm/C,IACA58C,EAAA1K,KAAA8iF,SAAAxgD,OAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACAO,EAAAjL,KAAA8iF,SAAArgD,OAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA8Z,EAAA09D,EAAAngE,qBAAA,CAAAd,EAAAP,GAAA,CAAAQ,EAAAP,IACAnD,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAApiB,KAAA+/B,MAAA3d,QAAA2C,GACAhH,GAEAupF,EAAA1mG,UAAA0nF,UAAA,SAAAngF,GAKA,IAJA,IAAAI,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GAEAg7E,EAAA55E,EAAAg7B,MAAA,EAAA5kC,KAAAuI,GAAArH,QACAihB,EAAA,GACAlS,EAAA,EAAA+Z,EAAAw5D,EAAAtiF,OAAA+O,EAAA+Z,EAAA/Z,IAAA,CACA,IAAAs4E,EAAA/E,EAAAvzE,GACAwyE,EAAA5hE,cAAA7gB,KAAAuI,GAAA0H,GAAAjQ,KAAAwI,GAAAyH,GAAA1H,EAAAC,IACA2Z,EAAAnX,KAAAu9E,GAEA,IAAAxqE,EAAA0kE,EAAAzgE,+BAEA,OADAjE,EAAAqE,QAAAD,EACApE,GAEAupF,EAAA1mG,UAAAkjF,sBAAA,SAAAr0D,EAAA/kB,EAAAq1B,GACA,IAAAve,EAAA9W,EAAA8W,GAAAP,EAAAvW,EAAAuW,GAAAQ,EAAA/W,EAAA+W,GAAAP,EAAAxW,EAAAwW,GAGA+lB,EAAAlH,EAAA,EACAx3B,EAAA,IAAAkH,MAAAw3B,GACA1+B,EAAAw3B,IAAAve,EAAAP,GAAA,EACA,IAAAzY,EAAA,IAAAiH,MAAAw3B,GACAz+B,EAAAu3B,IAAAte,EAAAP,GAAA,EACA,IAAAhS,EAAA,IAAAO,MAAAw3B,GACA/3B,EAAA6wB,GAAA,GAAAzwB,KAAA4b,IAAA5b,KAAAsd,IAAA3L,EAAAO,GAAAlS,KAAAsd,IAAA1L,EAAAO,IACA,IAAAH,EAAA,IAAA7R,MAAAw3B,GACA3lB,EAAAye,GAAA,EACA//B,KAAA2xE,QAAAliD,EAAA,CAAAsQ,GAAA,CAAAx3B,GAAAA,EAAAC,GAAAA,EAAA0/E,MAAAh5E,EAAA27D,OAAAvpD,KAEAgmF,EA3HA,CA4HA/kB,EAAA4B,aACAvmF,EAAA0pG,WAAAA,EACA,IAAAC,EAAA,SAAAjgG,GAEA,SAAAigG,EAAAh8F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAA8/F,EAAAjgG,GAIAigG,EAAAxtF,UAAA,WACA/Z,KAAAga,OAAA,CAAA,OAAA,SACAha,KAAAia,OAAA,CACA/K,KAAA,CAAA7B,EAAA4S,aAAA,CAAA2U,MAAA,SAAA/oB,MAAA,IACAyV,MAAA,CAAAjU,EAAA0nB,UAAA,MAGAwyE,EAZA,CAaAhlB,EAAAgC,SACA3mF,EAAA2pG,OAAAA,EACAA,EAAAxtF,aCnJA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAsoG,EAAAtoG,EAAA,KACAirG,EAAAjrG,EAAA,KACA2P,EAAA3P,EAAA,IACAkrG,EAAA,SAAAthG,GAEA,SAAAshG,IACA,OAAA,OAAAthG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAoCA,OAtCA6G,EAAAY,UAAAmhG,EAAAthG,GAIAshG,EAAAhoG,UAAA+wE,QAAA,SAAAliD,EAAArN,EAAA1X,GAEA,IADA,IAAAnC,EAAAmC,EAAAnC,GAAAC,EAAAkC,EAAAlC,GAAA0/E,EAAAx9E,EAAAw9E,MAAArd,EAAAngE,EAAAmgE,OAAAg+B,EAAAn+F,EAAAm+F,QACAz+F,EAAA,EAAAi5E,EAAAjhE,EAAAhY,EAAAi5E,EAAAniF,OAAAkJ,IAAA,CACA,IAAA6F,EAAAozE,EAAAj5E,GACA,IAAAm3E,MAAAh5E,EAAA0H,GAAAzH,EAAAyH,GAAAi4E,EAAAj4E,GAAA46D,EAAA56D,KAAA,MAAA44F,EAAA54F,GAAA,CAEA,IAAA4V,EAAAqiE,EAAAj4E,GAAA,EACAwf,EAAAqsC,YACArsC,EAAA+c,UAAAjkC,EAAA0H,GAAAzH,EAAAyH,IACA46D,EAAA56D,IACAwf,EAAAH,OAAAu7C,EAAA56D,IACA04F,EAAAL,aAAAO,EAAA54F,IAAAwf,EAAAxf,EAAA4V,EAAA7lB,KAAA66D,QAAA1kC,KAAAn2B,KAAA66D,QAAAtkC,MACAs0C,EAAA56D,IACAwf,EAAAH,QAAAu7C,EAAA56D,IACAwf,EAAA+c,WAAAjkC,EAAA0H,IAAAzH,EAAAyH,OAGA24F,EAAAhoG,UAAAkjF,sBAAA,SAAAr0D,EAAA/kB,EAAAq1B,GACA,IAAAve,EAAA9W,EAAA8W,GAAAP,EAAAvW,EAAAuW,GAAAQ,EAAA/W,EAAA+W,GAAAP,EAAAxW,EAAAwW,GAGA+lB,EAAAlH,EAAA,EACAx3B,EAAA,IAAAkH,MAAAw3B,GACA1+B,EAAAw3B,IAAAve,EAAAP,GAAA,EACA,IAAAzY,EAAA,IAAAiH,MAAAw3B,GACAz+B,EAAAu3B,IAAAte,EAAAP,GAAA,EACA,IAAAhS,EAAA,IAAAO,MAAAw3B,GACA/3B,EAAA6wB,GAAA,GAAAzwB,KAAA4b,IAAA5b,KAAAsd,IAAA3L,EAAAO,GAAAlS,KAAAsd,IAAA1L,EAAAO,IACA,IAAAH,EAAA,IAAA7R,MAAAw3B,GACA3lB,EAAAye,GAAA,EACA,IAAA+oE,EAAA,IAAAr5F,MAAAw3B,GACA6hE,EAAA/oE,GAAA//B,KAAA6oG,QAAA9oE,GACA//B,KAAA2xE,QAAAliD,EAAA,CAAAsQ,GAAA,CAAAx3B,GAAAA,EAAAC,GAAAA,EAAA0/E,MAAAh5E,EAAA27D,OAAAvpD,EAAAunF,QAAAC,KAEAF,EAvCA,CAwCA5C,EAAAsB,YACA1pG,EAAAgrG,YAAAA,EACA,IAAAH,EAAA,SAAAnhG,GAEA,SAAAmhG,EAAAl9F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAAghG,EAAAnhG,GAIAmhG,EAAA1uF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAA4+F,EACA5oG,KAAAia,OAAA,CACA6uF,OAAA,CAAAz7F,EAAAgoB,WAAA,CAAAxpB,MAAA,cAGA48F,EAZA,CAaAzC,EAAAuB,QACA3pG,EAAA6qG,QAAAA,EACAA,EAAA1uF,aC9DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAwB,EAAAxB,EAAA,IACAqrG,EAAArrG,EAAA,KACA2P,EAAA3P,EAAA,IACA6tD,EAAA7tD,EAAA,IACA+iE,EAAA/iE,EAAA,KACAsrG,EAAAtrG,EAAA,KACAE,EAAAqrG,aAAAD,EAAAC,aACA,IAAAC,EAAA,SAAA5hG,GAEA,SAAA4hG,EAAA39F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAUA,OAZA6G,EAAAY,UAAAyhG,EAAA5hG,GAIA4hG,EAAAnvF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAia,OAAA,CACAw5B,IAAA,CAAApmC,EAAAkmB,QACA41E,IAAA,CAAA97F,EAAAkmB,QACA61E,KAAA,CAAA/7F,EAAAkmB,OAAA,OAGA21E,EAbA,CAcA39C,EAAAI,OACA/tD,EAAAsrG,WAAAA,EACAA,EAAAnvF,YACA,IAAAsvF,EAAA,SAAA/hG,GAEA,SAAA+hG,EAAA99F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAA4hG,EAAA/hG,GAIA+hG,EAAAtvF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAia,OAAA,CACAqvF,SAAA,CAAAj8F,EAAAsmB,OAAA,WACA41E,cAAA,CAAAl8F,EAAA8lB,SAAA,GACAq2E,OAAA,CAAAn8F,EAAAsmB,QACA81E,KAAA,CAAAp8F,EAAAmmB,IAAA,OAGA61E,EAdA,CAeAH,GACAtrG,EAAAyrG,YAAAA,EACAA,EAAAtvF,YACA,IAAA2vF,EAAA,SAAApiG,GAEA,SAAAoiG,EAAAn+F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAuBA,OAzBA6G,EAAAY,UAAAiiG,EAAApiG,GAIAoiG,EAAA3vF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAAoJ,aAAAg/F,EAAAC,aAIAjpG,KAAAia,OAAA,CACA0vF,YAAA,CAAAt8F,EAAAimB,UACAs2E,QAAA,CAAAv8F,EAAAsmB,UAEA3zB,KAAAob,SAAA,CACA6/D,QAAA,WAAA,OAAA,IAAAxa,EAAAyF,SACAgV,QAAA,WAAA,OAAA,IAAAza,EAAAyF,YAGAwjC,EAAA9oG,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAg6D,SAAA,EACAh6D,KAAA4pG,SACA1qG,EAAAwB,OAAAqB,MAAA,qJAEA2nG,EA1BA,CA2BAX,EAAAc,MACAjsG,EAAA8rG,SAAAA,EACAA,EAAA3vF,aCzEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2a,EAAA3a,EAAA,IACAukF,EAAAvkF,EAAA,IACAosG,EAAApsG,EAAA,KACAqsG,EAAA,IAAA1xF,EAAAS,QAAA,GAAA,eAQAmwF,EAAA,SAAA3hG,GAEA,SAAA2hG,IACA,OAAA,OAAA3hG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA+LA,OAjMA6G,EAAAY,UAAAwhG,EAAA3hG,GAIA2hG,EAAAroG,UAAA4T,WAAA,WACA,IAAA1T,EAAAd,KACAA,KAAAgqG,QACA1iG,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAiqG,eAAA,EACAjqG,KAAAkqG,WAAA,EACA,IAAAx/F,EAAA1K,KAAA5B,MAAAurG,YAAAP,EAAA1+F,EAAA0+F,KAAA31D,EAAA/oC,EAAA+oC,IAAA01D,EAAAz+F,EAAAy+F,IACAnpG,KAAAmqG,aAAAf,EACAppG,KAAAoqG,YAAA32D,EACAzzC,KAAAqqG,YAAAlB,EACAnpG,KAAA65D,YAAAmgB,OAAA5tE,MAAAyG,SAAA,WACA,oBAAAy3F,QAAA,MAAAA,OAAAC,YACA,IAAAv4F,OAAAw4F,uBAxBA,SAAAZ,GACA53F,OAAAw4F,sBAAA,WAAA,OAAAT,EAAAruF,QACA,IAAA+uF,EAAA3mG,SAAA4H,cAAA,UACA++F,EAAAlxF,KAAA,kBACAkxF,EAAA/3D,IAAA,+CAAAk3D,EAAA,kCACA9lG,SAAAmR,KAAAtI,YAAA89F,GAoBAC,CAAA1qG,KAAA5B,MAAAwrG,SAEAG,EAAAlpG,QAAA,WAAA,OAAAC,EAAAg6D,oBAEA96D,KAAA2qG,WAEA1B,EAAAroG,UAAAgqG,aAAA,SAAAC,GAEA,GAAA,MAAAA,EACA7qG,KAAAmK,IAAA2gG,UAAA,CAAAr3D,IAAAzzC,KAAAoqG,YAAAjB,IAAAnpG,KAAAqqG,cACArqG,KAAAmK,IAAA4gG,WAAA,CAAA3B,KAAAppG,KAAAmqG,eACA7iG,EAAA1G,UAAAgqG,aAAA/iG,KAAA7H,KAAA,WAGA,GAAA,MAAA6qG,EAAAG,KAAA,MAAAH,EAAAI,IACAjrG,KAAAmK,IAAA+gG,MAAAL,EAAAG,KAAA,EAAAH,EAAAI,KAAA,GACA3jG,EAAA1G,UAAAgqG,aAAA/iG,KAAA7H,KAAA6qG,QAGA,GAAA,MAAAA,EAAAvkD,OAAA,CAEA,IAAA6kD,OAAA,EACA,GAAA,KAAAnrG,KAAAkqG,WAEA,YADAlqG,KAAAkqG,YAAA,GAGAlqG,KAAAkqG,WAAA,EACAlqG,KAAAgqG,QACA1iG,EAAA1G,UAAAgqG,aAAA/iG,KAAA7H,KAAA6qG,GAEAM,EADAN,EAAAvkD,OAAA,GACA,EAEA,EACA,IAAA8kD,EAAAprG,KAAAmK,IAAAkhG,UACAC,EAAAF,EAAAD,EAEA,GAAAG,GAAA,EAAA,CACAtrG,KAAAmK,IAAAohG,QAAAD,GAEA,IAAA5gG,EAAA1K,KAAAwrG,wBAAAC,EAAA/gG,EAAA,GAAAghG,EAAAhhG,EAAA,GACAghG,EAAAD,EAAA,GACAzrG,KAAAmK,IAAAohG,QAAAH,GAGAprG,KAAA2qG,UAGA3qG,KAAA2rG,qBAEA1C,EAAAroG,UAAAgrG,WAAA,WACA,IAAA9qG,EAAAd,KACAuqG,EAAAD,OAAAC,KACAvqG,KAAA6rG,UAAA,CACAC,UAAAvB,EAAAwB,UAAAC,UACAC,QAAA1B,EAAAwB,UAAAG,QACAC,QAAA5B,EAAAwB,UAAAK,QACAC,OAAA9B,EAAAwB,UAAAO,QAEA,IAAAC,EAAAvsG,KAAA5B,MAAAurG,YACAA,EAAA,CACApjD,OAAA,IAAAgkD,EAAAiC,OAAAD,EAAA94D,IAAA84D,EAAApD,KACAC,KAAAmD,EAAAnD,KACAqD,kBAAA,EACAC,UAAA1sG,KAAA6rG,UAAAU,EAAAjD,UACAqD,aAAAJ,EAAAhD,cACAE,KAAA8C,EAAA9C,MAEA,MAAA8C,EAAA/C,SACAG,EAAAH,OAAAxjG,KAAAsvC,MAAAi3D,EAAA/C,SAEAxpG,KAAAmK,IAAA,IAAAogG,EAAAllF,IAAArlB,KAAA65D,YAAAmgB,OAAA2vB,GAEAY,EAAA9oG,MAAAmrG,YAAA5sG,KAAAmK,IAAA,OAAA,WAAA,OAAArJ,EAAA6qG,sBAEApB,EAAA9oG,MAAAmrG,YAAA5sG,KAAAmK,IAAA,iBAAA,WAAA,OAAArJ,EAAA6qG,sBACApB,EAAA9oG,MAAAorG,gBAAA7sG,KAAAmK,IAAA,cAAA,WAAA,OAAArJ,EAAAgsG,qBAEA9sG,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAywF,YAAA5wF,OAAA,WAAA,OAAAjY,EAAAisG,oBACA/sG,KAAAa,QAAAb,KAAA5B,MAAAurG,YAAAzwF,WAAAswF,OAAAzwF,OAAA,WAAA,OAAAjY,EAAAksG,mBACAhtG,KAAAa,QAAAb,KAAA5B,MAAAurG,YAAAzwF,WAAAu6B,IAAA16B,OAAA,WAAA,OAAAjY,EAAAmsG,eAAA,SACAjtG,KAAAa,QAAAb,KAAA5B,MAAAurG,YAAAzwF,WAAAiwF,IAAApwF,OAAA,WAAA,OAAAjY,EAAAmsG,eAAA,SACAjtG,KAAAa,QAAAb,KAAA5B,MAAAurG,YAAAzwF,WAAAkwF,KAAArwF,OAAA,WAAA,OAAAjY,EAAAosG,iBACAltG,KAAAa,QAAAb,KAAA5B,MAAAurG,YAAAzwF,WAAAowF,SAAAvwF,OAAA,WAAA,OAAAjY,EAAAqsG,qBACAntG,KAAAa,QAAAb,KAAA5B,MAAAurG,YAAAzwF,WAAAqwF,cAAAxwF,OAAA,WAAA,OAAAjY,EAAAssG,0BACAptG,KAAAa,QAAAb,KAAA5B,MAAAurG,YAAAzwF,WAAAuwF,KAAA1wF,OAAA,WAAA,OAAAjY,EAAAusG,kBAEApE,EAAAroG,UAAAksG,iBAAA,WACA9sG,KAAAiqG,eAAA,EACAjqG,KAAA2pF,mBAEAsf,EAAAroG,UAAAoU,aAAA,WACA,OAAA1N,EAAA1G,UAAAoU,aAAAnN,KAAA7H,QAAA,IAAAA,KAAAiqG,eAEAhB,EAAAroG,UAAA0sG,mBAAA,WACA,IAAAx/E,EAAA9tB,KAAAmK,IAAAojG,YACAC,EAAA1/E,EAAA2/E,eACAC,EAAA5/E,EAAA6/E,eACAC,EAAAF,EAAAvE,MACA0E,EAAAL,EAAArE,MACA2E,EAAAJ,EAAAj6D,MACAs6D,EAAAP,EAAA/5D,MACA,MAAA,CAAAm6D,EAAAC,EAAAC,EAAAC,IAEA9E,EAAAroG,UAAA4qG,sBAAA,WACA,IAAA9gG,EAAA1K,KAAAstG,qBAAAM,EAAAljG,EAAA,GAAAmjG,EAAAnjG,EAAA,GAAAojG,EAAApjG,EAAA,GAAAqjG,EAAArjG,EAAA,GACAO,EAAAg3E,EAAA3uC,eAAAQ,QAAA,CAAA85D,EAAAE,IAAArC,EAAAxgG,EAAA,GAAA+iG,EAAA/iG,EAAA,GACA4B,EAAAo1E,EAAA3uC,eAAAQ,QAAA,CAAA+5D,EAAAE,IAAArC,EAAA7+F,EAAA,GAAAohG,EAAAphG,EAAA,GACA,MAAA,CAAA4+F,EAAAC,EAAAsC,EAAAC,IAEAhF,EAAAroG,UAAA+qG,kBAAA,WACA,IAAAjhG,EAAA1K,KAAAwrG,wBAAAC,EAAA/gG,EAAA,GAAAghG,EAAAhhG,EAAA,GAAAsjG,EAAAtjG,EAAA,GAAAujG,EAAAvjG,EAAA,GACA1K,KAAAihC,MAAAg6C,QAAAxhE,KAAA,CAAAsQ,MAAA0hF,EAAAzhF,IAAA0hF,IACA1rG,KAAAihC,MAAAi6C,QAAAzhE,KAAA,CAAAsQ,MAAAikF,EAAAhkF,IAAAikF,KAEAhF,EAAAroG,UAAAqsG,eAAA,SAAAiB,GACA,IAAApoF,EAAA9lB,KAAAmK,IAAAgkG,YAAAC,SACAtoF,EAAAooF,GAAAluG,KAAA5B,MAAAurG,YAAAuE,GACAluG,KAAAmK,IAAA2gG,UAAAhlF,GACA9lB,KAAA2rG,qBAEA1C,EAAAroG,UAAAusG,iBAAA,WACAntG,KAAAmK,IAAA4gG,WAAA,CAAA2B,UAAA1sG,KAAA6rG,UAAA7rG,KAAA5B,MAAAurG,YAAAL,aAEAL,EAAAroG,UAAAwsG,sBAAA,WACAptG,KAAAmK,IAAA4gG,WAAA,CAAA4B,aAAA3sG,KAAA5B,MAAAurG,YAAAJ,iBAEAN,EAAAroG,UAAAysG,aAAA,WACArtG,KAAAmK,IAAA4gG,WAAA,CAAAtB,KAAAzpG,KAAA5B,MAAAurG,YAAAF,QAEAR,EAAAroG,UAAAmsG,gBAAA,WACA/sG,KAAAgtG,iBACAhtG,KAAAitG,eAAA,OACAjtG,KAAAitG,eAAA,OACAjtG,KAAAktG,eACAltG,KAAAmtG,oBAEAlE,EAAAroG,UAAAosG,eAAA,WACAhtG,KAAAmK,IAAA4gG,WAAA,CAAAvB,OAAAxjG,KAAAsvC,MAAAt1C,KAAA5B,MAAAurG,YAAAH,WAEAP,EAAAroG,UAAAssG,aAAA,WACAltG,KAAAmK,IAAA4gG,WAAA,CAAA3B,KAAAppG,KAAA5B,MAAAurG,YAAAP,OACAppG,KAAA2rG,qBAGA1C,EAAAroG,UAAAytG,UAAA,SAAApxC,EAAAqxC,GACA,IAAAlgG,EAAAkgG,EAAA,GAAAtgG,EAAAsgG,EAAA,GAAAj/F,EAAAi/F,EAAA,GAAA9+F,EAAA8+F,EAAA,GACAtuG,KAAA65D,YAAAmgB,OAAA5tE,MAAA4B,IAAAA,EAAA,KACAhO,KAAA65D,YAAAmgB,OAAA5tE,MAAAgC,KAAAA,EAAA,KACApO,KAAA65D,YAAAmgB,OAAA5tE,MAAAiD,MAAAA,EAAA,KACArP,KAAA65D,YAAAmgB,OAAA5tE,MAAAoD,OAAAA,EAAA,KACA,MAAAxP,KAAAmK,KAAA,oBAAAmgG,QAAA,MAAAA,OAAAC,MACAvqG,KAAA4rG,cAGA3C,EAAAroG,UAAA2tG,aAAA,SAAA9+E,EAAA6+E,GACA,IAAAE,EAAAxuG,KAAA2kB,OAAA4G,OAAA1f,MACA4iG,EAAAzuG,KAAA2kB,OAAA6G,QAAA3f,MACAuC,EAAAkgG,EAAA,GAAAtgG,EAAAsgG,EAAA,GAAAI,EAAAJ,EAAA,GAAAK,EAAAL,EAAA,GACA7+E,EAAAm/E,UAAA,EAAA,EAAAJ,EAAAC,GACAh/E,EAAAqsC,YACArsC,EAAAkd,OAAA,EAAA,GACAld,EAAAy4B,OAAA,EAAAumD,GACAh/E,EAAAy4B,OAAAsmD,EAAAC,GACAh/E,EAAAy4B,OAAAsmD,EAAA,GACA/+E,EAAAy4B,OAAA,EAAA,GACAz4B,EAAAkd,OAAAv+B,EAAAJ,GACAyhB,EAAAy4B,OAAA95C,EAAAsgG,EAAA1gG,GACAyhB,EAAAy4B,OAAA95C,EAAAsgG,EAAA1gG,EAAA2gG,GACAl/E,EAAAy4B,OAAA95C,EAAAJ,EAAA2gG,GACAl/E,EAAAy4B,OAAA95C,EAAAJ,GACAyhB,EAAAssC,YACA,MAAA/7D,KAAA5B,MAAAywG,oBACAp/E,EAAAm5B,UAAA5oD,KAAA5B,MAAAywG,kBACAp/E,EAAA8G,SAGA0yE,EAlMA,CAmMAa,EAAAgF,UACAlxG,EAAAqrG,aAAAA,GCjNA,SAAAvrG,EAAAC,EAAAC,GACA,IAAAmxG,EAAArxG,EAAA,KACAE,EAAAsrG,WAAA6F,EAAA7F,WACA,IAAA8F,EAAAtxG,EAAA,KACAE,EAAAyrG,YAAA2F,EAAA3F,YACA,IAAA4F,EAAAvxG,EAAA,KACAE,EAAA8rG,SAAAuF,EAAAvF,SACA,IAAAX,EAAArrG,EAAA,KACAE,EAAAisG,KAAAd,EAAAc,MCRA,SAAAnsG,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2P,EAAA3P,EAAA,IACA2a,EAAA3a,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACA0N,EAAA1N,EAAA,IACA2tD,EAAA3tD,EAAA,KACA8rE,EAAA9rE,EAAA,IACA6iE,EAAA7iE,EAAA,KACAwxG,EAAAxxG,EAAA,KACA4tD,EAAA5tD,EAAA,KACAq6B,EAAAr6B,EAAA,KACAk9E,EAAAl9E,EAAA,KACAosG,EAAApsG,EAAA,KACAE,EAAAkxG,SAAAhF,EAAAgF,SACA,IAAAjF,EAAA,SAAAviG,GAEA,SAAAuiG,EAAAt+F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAmJA,OArJA6G,EAAAY,UAAAoiG,EAAAviG,GAIAuiG,EAAA9vF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAAY,UAAAoJ,aAAA8/F,EAAAgF,SACA9uG,KAAAga,OAAA,CAAA,gBAAA,mBAAA,iBACAha,KAAAia,OAAA,CACAuiB,QAAA,CAAAnvB,EAAAimB,SAAA,WAAA,OAAA,IAAA47E,EAAAC,UACAC,iBAAA,CAAA/hG,EAAAoJ,SAAA,SACA44F,eAAA,CAAAhiG,EAAA8lB,SAAA,GACAm8E,WAAA,CAAAjiG,EAAAkmB,OAAA,KACAg8E,YAAA,CAAAliG,EAAAkmB,OAAA,KACAuyC,YAAA,CAAAz4D,EAAAkmB,OAAA,MACAsyC,aAAA,CAAAx4D,EAAAkmB,OAAA,MACAi7B,MAAA,CAAAnhD,EAAA6M,IAAA,WAAA,OAAA,IAAAsvD,EAAAC,MAAA,CAAA3mE,KAAA,OACA0sG,eAAA,CAAAniG,EAAAoJ,SAAA,SACA2X,MAAA,CAAA/gB,EAAAoC,MAAA,IACAgf,MAAA,CAAAphB,EAAAoC,MAAA,IACArB,KAAA,CAAAf,EAAAoC,MAAA,IACAnB,MAAA,CAAAjB,EAAAoC,MAAA,IACA82C,OAAA,CAAAl5C,EAAAoC,MAAA,IACAm9D,UAAA,CAAAv/D,EAAAoC,MAAA,IACAwrE,QAAA,CAAA5tE,EAAAimB,SAAA,WAAA,OAAA,IAAAsnD,EAAAgB,cACAT,eAAA,CAAA9tE,EAAA6M,IAAA,IACAghE,QAAA,CAAA7tE,EAAAimB,SAAA,WAAA,OAAA,IAAAsnD,EAAAgB,cACAR,eAAA,CAAA/tE,EAAA6M,IAAA,IACA6gE,QAAA,CAAA1tE,EAAAimB,SAAA,WAAA,OAAA,IAAAitC,EAAA6F,cACA4U,QAAA,CAAA3tE,EAAAimB,SAAA,WAAA,OAAA,IAAAitC,EAAA6F,cACAqpC,WAAA,CAAApiG,EAAAkmB,OAAA,IACAm8E,aAAA,CAAAriG,EAAAkmB,OAAA,KACAo8E,cAAA,CAAAtiG,EAAAkmB,OAAA,KACAq8E,YAAA,CAAAviG,EAAAkmB,OAAA,KACAwZ,MAAA,CAAA1/B,EAAA8lB,SAAA,GACA8mD,eAAA,CAAA5sE,EAAAwJ,cAAA,UACAg5F,WAAA,CAAAxiG,EAAAkmB,OAAA,GACAu8E,eAAA,CAAAziG,EAAAkmB,OAAA,MACAw8E,gBAAA,CAAA1iG,EAAAkmB,OAAA,MACAy8E,kBAAA,CAAA3iG,EAAAkmB,OAAA,MACA08E,iBAAA,CAAA5iG,EAAAkmB,OAAA,MACA6tE,YAAA,CAAA/zF,EAAAkmB,QACA8tE,aAAA,CAAAh0F,EAAAkmB,QACA28E,YAAA,CAAA7iG,EAAAkmB,QACA48E,aAAA,CAAA9iG,EAAAkmB,QACA68E,aAAA,CAAA/iG,EAAA8lB,SAAA,GACAu5D,aAAA,CAAAr/E,EAAAkmB,OAAA,GACA88E,aAAA,CAAAhjG,EAAA+J,YAAA,cAEApX,KAAAob,SAAA,CACAk1F,mBAAA,UACAzB,kBAAA,UACAtnC,sBAAA,aAGAvoE,OAAAiU,eAAA42F,EAAAjpG,UAAA,QAAA,CACAsS,IAAA,WACA,IAAA7D,EAAArP,KAAA4a,KAAA,SACA,OAAA,MAAAvL,EAAAA,EAAArP,KAAAsvG,YAEAj8F,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA42F,EAAAjpG,UAAA,SAAA,CACAsS,IAAA,WACA,IAAA1D,EAAAxP,KAAA4a,KAAA,UACA,OAAA,MAAApL,EAAAA,EAAAxP,KAAAuvG,aAEAl8F,YAAA,EACAC,cAAA,IAEAu2F,EAAAjpG,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAuwG,MAAA,IAAAl4F,EAAAS,QAAA9Y,KAAA,SACA,IAAA,IAAAoK,EAAA,EAAAM,EAAA5M,EAAAqV,OAAAnT,KAAAm7E,gBAAAxrE,OAAA3P,KAAAi7E,SAAA7wE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA8jF,EAAAxjF,EAAAN,GACAomG,EAAAtiB,EAAAsiB,MACAplG,EAAAa,QAAAukG,KACAA,EAAAA,EAAA7gG,OAAA3P,MACAkuF,EAAAz0E,KAAA,CAAA+2F,MAAAA,GAAA,CAAA72F,QAAA,KAGA,IAAA,IAAA1O,EAAA,EAAA4B,EAAA/O,EAAAqV,OAAAnT,KAAAo7E,gBAAAzrE,OAAA3P,KAAAk7E,SAAAjwE,EAAA4B,EAAA3L,OAAA+J,IAAA,CACA,IAAAojF,EAAAxhF,EAAA5B,GACAulG,EAAAniB,EAAAmiB,MACAplG,EAAAa,QAAAukG,KACAA,EAAAA,EAAA7gG,OAAA3P,MACAquF,EAAA50E,KAAA,CAAA+2F,MAAAA,GAAA,CAAA72F,QAAA,OAIAkwF,EAAAjpG,UAAA6vG,WAAA,SAAA3tB,EAAA9zD,QACA,IAAAA,IACAA,EAAA,UAEA,IAAA0hF,EAAA1wG,KAAA4a,KAAAoU,GACA0hF,EAAA1lG,KAAA83E,IAEA+mB,EAAAjpG,UAAA+vG,cAAA,SAAA7tB,GACA,IAAA8tB,EAAA,SAAAtqF,GACA1c,EAAAsyB,UAAA5V,EAAA,SAAA1e,GAAA,OAAAA,GAAAk7E,KAEA8tB,EAAA5wG,KAAAoO,MACAwiG,EAAA5wG,KAAAsO,OACAsiG,EAAA5wG,KAAAouB,OACAwiF,EAAA5wG,KAAAyuB,OACAmiF,EAAA5wG,KAAAumD,SAEAsjD,EAAAjpG,UAAAiwG,cAAA,WAEA,IADA,IAAAjkC,EAAA,GACAxiE,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAwiE,EAAAxiE,GAAA5C,UAAA4C,GAEApK,KAAA4sE,UAAA5sE,KAAA4sE,UAAAj9D,OAAAi9D,IAEAi9B,EAAAjpG,UAAAkwG,UAAA,SAAA7W,EAAAv6E,EAAAqxF,QACA,IAAArxF,IACAA,EAAA,IAAA4rC,EAAAsI,uBAEA,IAAAm9C,IACAA,EAAA,IAEA,IAAAxlG,EAAA1E,EAAAiB,SAAA,GAAAipG,EAAA,CAAAptD,YAAAjkC,EAAAu6E,MAAAA,IACAnX,EAAA,IAAA/qD,EAAAi5E,cAAAzlG,GAEA,OADAvL,KAAA6wG,cAAA/tB,GACAA,GAEA+mB,EAAAjpG,UAAAqwG,UAAA,WAEA,IADA,IAAAphC,EAAA,GACAzlE,EAAA,EAAAA,EAAA5C,UAAAtG,OAAAkJ,IACAylE,EAAAzlE,GAAA5C,UAAA4C,GAEApK,KAAAw8B,QAAAqzC,MAAA7vE,KAAAw8B,QAAAqzC,MAAAlgE,OAAAkgE,IAEA7wE,OAAAiU,eAAA42F,EAAAjpG,UAAA,SAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAkxG,YAAAvhG,OAAA3P,KAAAumD,SAEAlzC,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA42F,EAAAjpG,UAAA,cAAA,CACAsS,IAAA,WACA,IAAAkb,EAAApuB,KAAAouB,MAAAK,EAAAzuB,KAAAyuB,MAAArgB,EAAApO,KAAAoO,KAAAE,EAAAtO,KAAAsO,MACA,OAAA1E,EAAA+F,OAAA,CAAAye,EAAAK,EAAArgB,EAAAE,KAEA+E,YAAA,EACAC,cAAA,IAEAu2F,EAtJA,CAuJAx+C,EAAAoB,WACA7uD,EAAAisG,KAAAA,EACAA,EAAA9vF,aCzKA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6+E,EAAA7+E,EAAA,IACAk8E,EAAAl8E,EAAA,IACAk9E,EAAAl9E,EAAA,KACAq6B,EAAAr6B,EAAA,KACA2tD,EAAA3tD,EAAA,KACA8rE,EAAA9rE,EAAA,IACAy3E,EAAAz3E,EAAA,IACAgsE,EAAAhsE,EAAA,IACAytD,EAAAztD,EAAA,GACA2a,EAAA3a,EAAA,IACA2xE,EAAA3xE,EAAA,GACAg/D,EAAAh/D,EAAA,IACAwB,EAAAxB,EAAA,IACAyzG,EAAAzzG,EAAA,IACA0N,EAAA1N,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACAm9E,EAAAn9E,EAAA,IACAqtB,EAAArtB,EAAA,IACA0zG,EAAA1zG,EAAA,IACAstB,EAAAttB,EAAA,IACAimB,EAAAjmB,EAAA,IACA2zG,EAAA,KACAC,EAAA,SAAAhqG,GAEA,SAAAgqG,IACA,IAAAxwG,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAA+uG,WAAA,CAAAzhG,KAAA,EAAAJ,IAAA,EAAAM,MAAA,EAAAJ,OAAA,GACApN,EAoCA,OAxCA+F,EAAAY,UAAA6pG,EAAAhqG,GAMAgqG,EAAA1wG,UAAAmjB,SAAA,SAAAW,GACA,IAAA5jB,EAAAd,KACA0kB,EAAA,IAAAm2D,EAAAryD,SAAA9D,GAAAmG,WAAA7qB,KAAA4mB,OAAA1X,MACA,IAaAxE,EAAAmc,EAAAK,EAbAqqF,EAAAvxG,KAAAwxG,WAAAttF,QAAA,CAAA7U,MAAA,EAAAG,OAAAkV,EAAAlV,SACApB,EAAAkB,KAAAsD,IAAA2+F,EAAAliG,MAAArP,KAAA6vG,WAAAzhG,MACAqjG,EAAAzxG,KAAA0xG,YAAAxtF,QAAA,CAAA7U,MAAA,EAAAG,OAAAkV,EAAAlV,SACAlB,EAAAgB,KAAAsD,IAAA6+F,EAAApiG,MAAArP,KAAA6vG,WAAAvhG,OACAqjG,EAAA3xG,KAAA4xG,UAAA1tF,QAAA,CAAA7U,MAAAqV,EAAArV,MAAAG,OAAA,IACAxB,EAAAsB,KAAAsD,IAAA++F,EAAAniG,OAAAxP,KAAA6vG,WAAA7hG,KACA6jG,EAAA7xG,KAAA8xG,aAAA5tF,QAAA,CAAA7U,MAAAqV,EAAArV,MAAAG,OAAA,IACAtB,EAAAoB,KAAAsD,IAAAi/F,EAAAriG,OAAAxP,KAAA6vG,WAAA3hG,QACA6jG,EAAA,IAAAl3B,EAAAryD,SAAA9D,GAAA2I,UAAA,CAAAjf,KAAAA,EAAAE,MAAAA,EAAAN,IAAAA,EAAAE,OAAAA,IACAq4C,EAAAvmD,KAAAgyG,aAAA9tF,QAAA6tF,GACA1iG,EAAAjB,EAAAm4C,EAAAl3C,MAAAf,EACAkB,EAAAxB,EAAAu4C,EAAA/2C,OAAAtB,EACAwZ,GACAhd,EAAA5J,EAAAkxG,aAAAprF,OAAAC,EAAAnc,EAAAmc,aAAAK,EAAAxc,EAAAwc,cACA,SAAAL,GAAA,SAAAK,GAEA,MAAA,CAAA7X,MAAAA,EAAAG,OAAAA,EAAA6U,MAAA,CAAAjW,KAAAA,EAAAE,MAAAA,EAAAN,IAAAA,EAAAE,OAAAA,GAAAwZ,MAAAA,IAEA4pF,EAAA1wG,UAAAujB,cAAA,SAAAC,EAAAC,GACA/c,EAAA1G,UAAAujB,cAAAtc,KAAA7H,KAAAokB,EAAAC,GACArkB,KAAAgyG,aAAA1tF,aAAAD,GACA,IAAAktF,EAAAvxG,KAAAwxG,WAAAttF,QAAA,CAAA7U,MAAA,EAAAG,OAAA4U,EAAA5U,SACAiiG,EAAAzxG,KAAA0xG,YAAAxtF,QAAA,CAAA7U,MAAA,EAAAG,OAAA4U,EAAA5U,SACAmiG,EAAA3xG,KAAA4xG,UAAA1tF,QAAA,CAAA7U,MAAA+U,EAAA/U,MAAAG,OAAA,IACAqiG,EAAA7xG,KAAA8xG,aAAA5tF,QAAA,CAAA7U,MAAA+U,EAAA/U,MAAAG,OAAA,IACApB,EAAAiW,EAAAjW,KAAAJ,EAAAqW,EAAArW,IAAAM,EAAA+V,EAAA/V,MAAAJ,EAAAmW,EAAAnW,OACAlO,KAAA4xG,UAAAttF,aAAA,IAAAX,EAAAY,KAAA,CAAAnW,KAAAA,EAAAE,MAAAA,EAAAJ,OAAAF,EAAAwB,OAAAmiG,EAAAniG,UACAxP,KAAA8xG,aAAAxtF,aAAA,IAAAX,EAAAY,KAAA,CAAAnW,KAAAA,EAAAE,MAAAA,EAAAN,IAAAE,EAAAsB,OAAAqiG,EAAAriG,UACAxP,KAAAwxG,WAAAltF,aAAA,IAAAX,EAAAY,KAAA,CAAAvW,IAAAA,EAAAE,OAAAA,EAAAI,MAAAF,EAAAiB,MAAAkiG,EAAAliG,SACArP,KAAA0xG,YAAAptF,aAAA,IAAAX,EAAAY,KAAA,CAAAvW,IAAAA,EAAAE,OAAAA,EAAAE,KAAAE,EAAAe,MAAAoiG,EAAApiG,UAEAiiG,EAzCA,CA0CAz2B,EAAAh3D,YACAjmB,EAAA0zG,WAAAA,EACA,IAAAxC,EAAA,SAAAxnG,GAEA,SAAAwnG,IACA,IAAAhuG,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAJAc,EAAAmxG,YAAA,IAAAtuF,EAAAY,KACAzjB,EAAAsqB,YAAA,IAAAzH,EAAAY,KACAzjB,EAAAoxG,cAAA,EACApxG,EAAAqxG,eAAA,EACArxG,EA+4BA,OAt5BA+F,EAAAY,UAAAqnG,EAAAxnG,GASAtI,OAAAiU,eAAA67F,EAAAluG,UAAA,kBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA65D,YAAAugB,aAEA/mE,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA67F,EAAAluG,UAAA,gBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA65D,YAAAwgB,WAEAhnE,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA67F,EAAAluG,UAAA,YAAA,CACAsS,IAAA,WACA,OAAA,MAAAlT,KAAAoyG,YAAA,IAAApyG,KAAAoyG,YAEA/+F,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA67F,EAAAluG,UAAA,eAAA,CACAsS,IAAA,WACA,MAAA,IAEAG,YAAA,EACAC,cAAA,IAEAw7F,EAAAluG,UAAAopG,MAAA,WACA,MAAAhqG,KAAAoyG,WACApyG,KAAAoyG,WAAA,EAEApyG,KAAAoyG,YAAA,GAEAtD,EAAAluG,UAAA+pG,QAAA,SAAA0H,GAIA,QAHA,IAAAA,IACAA,GAAA,GAEA,MAAAryG,KAAAoyG,WACA,MAAA,IAAA/zG,MAAA,iBACA2B,KAAAoyG,YAAA,EACA,GAAApyG,KAAAoyG,YAAAC,GACAryG,KAAA4xE,iBAGAk9B,EAAAluG,UAAAk6D,eAAA,WACA96D,KAAA4xE,iBAEAk9B,EAAAluG,UAAAgxE,cAAA,WACA5xE,KAAAsyG,WACAtyG,KAAAuyG,mBAEAzD,EAAAluG,UAAAg5D,eAAA,WACA55D,KAAAmyG,eAAA,EACAnyG,KAAA4xE,iBAEAk9B,EAAAluG,UAAA2vG,MAAA,WACA,YAAAvwG,KAAA5B,MAAAiyG,eACArwG,KAAAwyG,cACAxyG,KAAAyyG,cACAzyG,KAAA0yG,mBAEA1yG,KAAA5B,MAAA0kC,cAAA,IAAAqoB,EAAA9iD,QAEAymG,EAAAluG,UAAA0J,OAAA,WACAtK,KAAA2yG,aAAA72F,UACAuzD,EAAAlkE,aAAAnL,KAAAm4B,gBACAk3C,EAAAlkE,aAAAnL,KAAA4yG,YACA5yG,KAAA65D,YAAAvvD,SACAhD,EAAA1G,UAAA0J,OAAAzC,KAAA7H,OAEA8uG,EAAAluG,UAAAkU,OAAA,WACAxN,EAAA1G,UAAAkU,OAAAjN,KAAA7H,MACAA,KAAAmN,GAAAR,YAAA3M,KAAA65D,YAAA1sD,IACAnN,KAAA65D,YAAA/kD,UAEAg6F,EAAAluG,UAAA4T,WAAA,WACA,IAAA1T,EAAAd,KACAA,KAAAgqG,QACA1iG,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA6yG,YAAA,IAAAx6F,EAAAS,QAAA9Y,KAAA,eACAA,KAAA8yG,cAAA,IAAAz6F,EAAAS,QAAA9Y,KAAA,iBACAA,KAAA+yG,aAAA,EACA/yG,KAAA66D,QAAA,IAAA6B,EAAA3R,QAAA/qD,KAAA5B,OACA4B,KAAAgzG,oBAAA,CACAC,UAAA,GACAC,WAAA,CAAA7jG,MAAA,EAAAG,OAAA,IAEAxP,KAAA0vE,qBAAA,GACA1vE,KAAAo6D,MAAA,CAAA+4C,QAAA,GAAApzE,OAAA,GACA//B,KAAA8P,OAAA,IAAA8pE,EAAAc,OAAA,CACAvwE,IAAAnK,KAAA5B,MAAA47D,UAAA,EACAygB,UAAAz6E,KAAA5B,MAAA2uC,MACAktC,eAAAj6E,KAAA5B,MAAA67E,iBAEAj6E,KAAAihC,MAAA,IAAAs7C,EAAAzB,eAAA96E,KAAA5B,MAAA28E,QAAA/6E,KAAA5B,MAAA48E,QAAAh7E,KAAA5B,MAAA68E,QAAAj7E,KAAA5B,MAAA88E,QAAAl7E,KAAA5B,MAAA+8E,eAAAn7E,KAAA5B,MAAAg9E,gBACAp7E,KAAA65D,YAAA,IAAA75D,KAAA8P,OAAA9F,aAAA,CAAA5L,MAAA4B,KAAA8P,OAAAc,OAAA5Q,OAEA,SAAAA,KAAA5B,MAAA67E,gBACAj6E,KAAAozG,aACApzG,KAAAuyG,gBAAApB,EAAAznE,SAAA,WAAA,OAAA5oC,EAAA+xG,YAAAn3F,QAAA,IAEA,IAAA4gB,EAAA5+B,EAAA,IAAA4+B,SACAt8B,KAAA2yG,aAAA,IAAAr2E,EAAAt8B,KAAAA,KAAA5B,MAAAo+B,QAAAx8B,KAAA65D,YAAAwgB,WACA,IAAA3vE,EAAA1K,KAAA5B,MAAAoxG,EAAA9kG,EAAA8kG,eAAAhhD,EAAA9jD,EAAA8jD,MACA,MAAAghD,GAAA,MAAAhhD,IACAxuD,KAAAgsD,OAAAwC,aAAAgb,EAAAC,MAAAjb,EAAA,IAAAgb,EAAAC,MAAA,CAAA3mE,KAAA0rD,KAEA,IAAAvjD,EAAAjL,KAAA5B,MAAAgxG,EAAAnkG,EAAAmkG,iBAAA5yE,EAAAvxB,EAAAuxB,QACA,MAAA4yE,GAAA,MAAA5yE,IACAx8B,KAAAqzG,SAAA,IAAA3pC,EAAAC,aAAA,CAAAntC,QAAAA,IACAA,EAAA4yE,iBAAAA,GAEApvG,KAAAm4B,eAAA,GACAn4B,KAAA4yG,WAAA,GACA5yG,KAAAszG,uBACAtzG,KAAAuzG,mBACAvzG,KAAAwzG,oBACAxzG,KAAA2qG,SAAA,GACAzrG,EAAAwB,OAAAC,MAAA,yBAEAmuG,EAAAluG,UAAA+/F,cAAA,WACA,OAAA,MAAA3gG,KAAA5B,MAAA0nE,YAAAx+D,EAAA1G,UAAA+/F,cAAA94F,KAAA7H,MAAA,OAEA8uG,EAAAluG,UAAAggG,eAAA,WACA,OAAA,MAAA5gG,KAAA5B,MAAAynE,aAAAv+D,EAAA1G,UAAAggG,eAAA/4F,KAAA7H,MAAA,OAEA8uG,EAAAluG,UAAAs9F,eAAA,WACA,IAAAp9F,EAAAd,KACAA,KAAA2kB,OAAA,IAAA2sF,EACAtxG,KAAA2kB,OAAAmH,WAAA9rB,KAAAo+F,cACA,IAAA1zF,EAAA1K,KAAA5B,MAAA0nE,EAAAp7D,EAAAo7D,YAAAD,EAAAn7D,EAAAm7D,aACA7lE,KAAA2kB,OAAAqtF,aAAAhyG,KAAAihC,MACAjhC,KAAA2kB,OAAAqtF,aAAAlmF,WAAAjlB,EAAAiB,SAAA,GAAA,MAAAg+D,EAAA,CAAAj/C,aAAA,QAAAxX,MAAAy2D,GAAA,CAAAj/C,aAAA,OAAA,MAAAg/C,EAAA,CAAA3+C,cAAA,QAAA1X,OAAAq2D,GAAA,CAAA3+C,cAAA,SACA,IAAAkH,EAAAxkB,EAAA2Q,KAAAva,KAAA5B,MAAAgwB,OACAK,EAAA7kB,EAAA2Q,KAAAva,KAAA5B,MAAAqwB,OACArgB,EAAAxE,EAAA2Q,KAAAva,KAAA5B,MAAAgQ,MACAE,EAAA1E,EAAA2Q,KAAAva,KAAA5B,MAAAkQ,OACAmlG,EAAA,SAAAzkF,GACA,OAAAA,GACA,IAAA,QAAA,OAAAZ,EACA,IAAA,QAAA,OAAAK,EACA,IAAA,OAAA,OAAArgB,EACA,IAAA,QAAA,OAAAE,IAGArD,EAAAjL,KAAA5B,MAAAoxG,EAAAvkG,EAAAukG,eAAAhhD,EAAAvjD,EAAAujD,MACA,MAAAghD,GAAA,MAAAhhD,GACAilD,EAAAjE,GAAAxkG,KAAAhL,KAAAgsD,QAEA,IAAAn/C,EAAA7M,KAAA5B,MAAAgxG,EAAAviG,EAAAuiG,iBAAA5yE,EAAA3vB,EAAA2vB,QACA,GAAA,MAAA4yE,GAAA,MAAA5yE,EAAA,CACA,IAAA0lE,EAAAuR,EAAArE,GACAsE,GAAA,EACA,GAAA1zG,KAAA5B,MAAAixG,eACA,IAAA,IAAAp/F,EAAA,EAAAA,EAAAiyF,EAAAhhG,OAAA+O,IAAA,CACA,IAAAwyD,EAAAy/B,EAAAjyF,GACA,GAAAwyD,aAAA+G,EAAAC,MAAA,CAEAy4B,EAAAjyF,GADA,SAAAm/F,GAAA,SAAAA,EACA,CAAA3sC,EAAAziE,KAAAqzG,UAEA,CAAArzG,KAAAqzG,SAAA5wC,GACAixC,GAAA,EACA,OAIAA,GACAxR,EAAAl3F,KAAAhL,KAAAqzG,UAEA,IAAAM,EAAA,SAAA3kF,EAAA5wB,GACA,IAAA2M,EAAAjK,EAAAq3B,eAAA/5B,EAAAwB,IACA,OAAAmL,EAAA4Z,OAAA,IAAAysF,EAAAriF,UAAAC,EAAAjkB,IAEA6oG,EAAA,SAAA5kF,EAAAkzE,GAGA,IAFA,IAAA3zE,EAAA,SAAAS,GAAA,SAAAA,EACA6kF,EAAA,GACAzpG,EAAA,EAAA0pG,EAAA5R,EAAA93F,EAAA0pG,EAAA5yG,OAAAkJ,IAAA,CACA,IAAAq4D,EAAAqxC,EAAA1pG,GACA,GAAAgB,EAAAa,QAAAw2D,GAAA,CACA,IAAAn8C,EAAAm8C,EAAAt4D,IAAA,SAAA4pG,GACA,IAAArpG,EACA9C,EAAA+rG,EAAA3kF,EAAA+kF,GACA,GAAAA,aAAArqC,EAAAC,aAAA,CACA,IAAArM,EAAA/uC,EAAA,eAAA,gBACA3mB,EAAAkkB,WAAAjlB,EAAAiB,SAAA,GAAAF,EAAAgf,SAAAlc,EAAA,IAAA4yD,GAAA,MAAA5yD,KAEA,OAAA9C,IAEA+c,OAAA,EACA4J,GACA5J,EAAA,IAAAqG,EAAAX,IAAA/D,IACAwF,WAAA,CAAAjF,aAAA,MAAAK,cAAA,SAGAvC,EAAA,IAAAqG,EAAAV,OAAAhE,IACAwF,WAAA,CAAAjF,aAAA,MAAAK,cAAA,QAEAvC,EAAA+B,UAAA,EACAmtF,EAAA7oG,KAAA2Z,QAGAkvF,EAAA7oG,KAAA2oG,EAAA3kF,EAAAyzC,IAEA,OAAAoxC,GAEAhE,EAAA,MAAA7vG,KAAA5B,MAAAyxG,WAAA7vG,KAAA5B,MAAAyxG,WAAA,EACA7vG,KAAA2kB,OAAAkrF,WAAA,CACAzhG,KAAA,MAAApO,KAAA5B,MAAA2xG,gBAAA/vG,KAAA5B,MAAA2xG,gBAAAF,EACA7hG,IAAA,MAAAhO,KAAA5B,MAAA0xG,eAAA9vG,KAAA5B,MAAA0xG,eAAAD,EACAvhG,MAAA,MAAAtO,KAAA5B,MAAA6xG,iBAAAjwG,KAAA5B,MAAA6xG,iBAAAJ,EACA3hG,OAAA,MAAAlO,KAAA5B,MAAA4xG,kBAAAhwG,KAAA5B,MAAA4xG,kBAAAH,GAEA,IAAA+B,EAAA,IAAA7mF,EAAAvG,OACAstF,EAAA,IAAA/mF,EAAAvG,OACAgtF,EAAA,IAAAzmF,EAAAjH,OACA4tF,EAAA,IAAA3mF,EAAAjH,OACA8tF,EAAApmG,SAAA5B,EAAAk3B,SAAA8yE,EAAA,QAAAxlF,IACA0jF,EAAAtmG,SAAAooG,EAAA,QAAAnlF,GACA+iF,EAAAhmG,SAAA5B,EAAAk3B,SAAA8yE,EAAA,OAAAxlG,IACAsjG,EAAAlmG,SAAAooG,EAAA,QAAAtlG,GACAsjG,EAAA9lF,WAAA,CAAAjF,aAAA,MAAAK,cAAA,QACA4qF,EAAAhmF,WAAA,CAAAjF,aAAA,MAAAK,cAAA,QACAsqF,EAAA1lF,WAAA,CAAAjF,aAAA,MAAAK,cAAA,QACAwqF,EAAA5lF,WAAA,CAAAjF,aAAA,MAAAK,cAAA,QACAlnB,KAAA2kB,OAAAitF,UAAAA,EACA5xG,KAAA2kB,OAAAmtF,aAAAA,EACA9xG,KAAA2kB,OAAA6sF,WAAAA,EACAxxG,KAAA2kB,OAAA+sF,YAAAA,GAEA1yG,OAAAiU,eAAA67F,EAAAluG,UAAA,aAAA,CACAsS,IAAA,WACA,IAAA0tB,EAAA,GACA,IAAA,IAAAhhC,KAAAI,KAAAm4B,eAAA,CACA,IAAAmmE,EAAAt+F,KAAAm4B,eAAAv4B,GACA0+F,aAAAnpB,EAAAjE,UACAtwC,EAAA51B,KAAAszF,GAEA,OAAA19D,GAEAvtB,YAAA,EACAC,cAAA,IAEAw7F,EAAAluG,UAAAghC,WAAA,SAAAjtB,QACA,IAAAA,IACAA,EAAA,WAEA3U,KAAA65D,YAAA1sD,GAAAf,MAAAuI,OAAAA,GAEAm6F,EAAAluG,UAAAihC,uBAAA,SAAAva,GACA,IAAA,IAAAld,EAAA,EAAAM,EAAA1K,KAAA0vE,qBAAAtlE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAg7C,EAAA16C,EAAAN,GACAg7C,EAAA99B,KAGAwnF,EAAAluG,UAAAwyG,WAAA,WAGA,GAAA,MAAA/B,EAAA,CACA,IAAAvhG,EAAAhM,SAAA4H,cAAA,UACAq2E,EAAA,CAAAiyB,oBAAA,GACAvkF,EAAA3f,EAAA24C,WAAA,QAAAs5B,IAAAjyE,EAAA24C,WAAA,qBAAAs5B,GAGA,MAAAtyD,IACA4hF,EAAA,CAAAvhG,OAAAA,EAAA2f,IAAAA,IAEA,MAAA4hF,EACArxG,KAAAqpF,GAAAgoB,EAEAnyG,EAAAwB,OAAA5B,KAAA,uDAEAgwG,EAAAluG,UAAAqzG,cAAA,SAAAC,EAAA5F,GAEA,GAAA,MAAAtuG,KAAAqpF,GAAA,CACA,IAAAv5E,EAAA9P,KAAA65D,YAAAygB,qBAEAt6E,KAAAqpF,GAAAv5E,OAAAT,MAAAS,EAAAT,MACArP,KAAAqpF,GAAAv5E,OAAAN,OAAAM,EAAAN,OACA,IAAA65E,EAAArpF,KAAAqpF,GAAA55D,IAEA45D,EAAAlqD,OAAAkqD,EAAA8qB,cACA,IAAA5rG,EAAA+lG,EAAA,GAAA9lG,EAAA8lG,EAAA,GAAA7tF,EAAA6tF,EAAA,GAAA3gE,EAAA2gE,EAAA,GACA5jG,EAAA1K,KAAA65D,YAAA90C,KAAA2I,EAAAhjB,EAAAgjB,MAAAC,EAAAjjB,EAAAijB,MACAk1C,EAAAn1C,EAAAD,QAAAllB,GACAu6D,EAAAn1C,EAAAF,QAAAjlB,EAAAmlC,GACA07C,EAAA+qB,QAAAF,EAAArxC,EAAAqxC,EAAApxC,EAAAoxC,EAAAzzF,EAAAyzF,EAAAvmE,GAEA07C,EAAAlqD,OAAAkqD,EAAAgrB,OACAhrB,EAAAirB,kBAAAjrB,EAAAkrB,UAAAlrB,EAAAmrB,oBAAAnrB,EAAAorB,oBAAAprB,EAAAqrB,OAGA5F,EAAAluG,UAAA+zG,YAAA,WACA,GAAA,MAAA30G,KAAAqpF,GAAA,CAEA,IAAAA,EAAArpF,KAAAqpF,GAAA55D,IACA45D,EAAA3kE,SAAA,EAAA,EAAA1kB,KAAAqpF,GAAAv5E,OAAAT,MAAArP,KAAAqpF,GAAAv5E,OAAAN,QACA65E,EAAAurB,WAAA,EAAA,EAAA,EAAA,GACAvrB,EAAAz1E,MAAAy1E,EAAAwrB,kBAAAxrB,EAAAyrB,oBAGAhG,EAAAluG,UAAAm0G,WAAA,WAEA,IAAAtlF,EAAAzvB,KAAA65D,YAAApqC,IACA,GAAA,MAAAzvB,KAAAqpF,GAAA,CAIAnqF,EAAAwB,OAAAC,MAAA,sBACA8uB,EAAAwsC,UACAxsC,EAAAo0C,UAAA7jE,KAAAqpF,GAAAv5E,OAAA,EAAA,GAEA2f,EAAAmsC,OACA,IAAAs4C,EAAAl0G,KAAA8P,OAAA0qE,YACA/qD,EAAA1mB,MAAAmrG,EAAAA,GACAzkF,EAAA+c,UAAA,GAAA,MAGAsiE,EAAAluG,UAAA4yG,kBAAA,WAKA,IAHA,IAAA1lF,EAAA,GACA87D,EAAA,GACAorB,GAAA,EACA5qG,EAAA,EAAAM,EAAA5M,EAAAqV,OAAAnT,KAAAihC,MAAA4yC,UAAAlkE,OAAA7R,EAAAqV,OAAAnT,KAAAihC,MAAA6yC,WAAA1pE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA6qG,EAAAvqG,EAAAN,GACA6qG,aAAAr6B,EAAAgB,aACA,OAAAq5B,EAAAn5B,aACAk5B,GAAA,GAGA,IAAA,IAAAp1G,KAAAI,KAAAm4B,eAAA,CACA,IAAAptB,EAAA/K,KAAAm4B,eAAAv4B,GACA,GAAAmL,aAAAgtB,EAAAQ,kBAAA,CACA,IAAA28E,EAAAnqG,EAAAkvF,MAAAnsE,SAGA,GAFA,MAAAonF,IACApnF,EAAAluB,GAAAs1G,GACAF,EAAA,CACA,IAAAG,EAAApqG,EAAAkvF,MAAArQ,aACA,MAAAurB,IACAvrB,EAAAhqF,GAAAu1G,KAIA,IAGAtvF,EAHAuvF,GAAA,EACAC,GAAA,EACApqG,EAAAjL,KAAAihC,MAAAlc,KAAA1V,EAAApE,EAAAoE,MAAAG,EAAAvE,EAAAuE,QAEA,IAAAxP,KAAA5B,MAAAgyG,cAAA,GAAA/gG,GAAA,GAAAG,IACAqW,EAAA,EAAA7lB,KAAA5B,MAAAsuF,cAAAr9E,EAAAG,IACA,IAAA,IAAA3C,EAAA,EAAAE,EAAAjP,EAAAqV,OAAAnT,KAAAihC,MAAA4yC,UAAAhnE,EAAAE,EAAA7L,OAAA2L,IAAA,CACA,IAAAqhF,EAAAnhF,EAAAF,GACA,GAAAqhF,aAAAtT,EAAAgB,YAAA,CACA,IAAA05B,EAAA,OAAApnB,EAAApS,WAAA8N,EAAA97D,EACAogE,EAAA3yE,OAAA+5F,EAAA,EAAAt1G,KAAA5B,MAAAwB,GAAAimB,GACAqoE,EAAAqnB,SACAH,GAAA,GAGA,MAAAlnB,EAAApgE,SACAunF,GAAA,GAEA,IAAA,IAAAnnD,EAAA,EAAAC,EAAArwD,EAAAqV,OAAAnT,KAAAihC,MAAA6yC,UAAA5lB,EAAAC,EAAAjtD,OAAAgtD,IAAA,CACA,IAAAmgC,EAAAlgC,EAAAD,GACA,GAAAmgC,aAAAzT,EAAAgB,YAAA,CACA,IAAA05B,EAAA,OAAAjnB,EAAAvS,WAAA8N,EAAA97D,EACAugE,EAAA9yE,OAAA+5F,EAAA,EAAAt1G,KAAA5B,MAAAwB,GAAAimB,GACAwoE,EAAAknB,SACAH,GAAA,GAGA,MAAA/mB,EAAAvgE,SACAunF,GAAA,GAEA,GAAAD,GAAAC,EAAA,CACAn2G,EAAAwB,OAAA5B,KAAA,uCACA,IAAA,IAAAsvD,EAAA,EAAAye,EAAA/uE,EAAAqV,OAAAnT,KAAAihC,MAAA4yC,UAAAzlB,EAAAye,EAAA3rE,OAAAktD,IAAA,CACA,IAAA8/B,EAAArhB,EAAAze,GACA8/B,EAAApgE,OAAA,KAEA,IAAA,IAAA0nF,EAAA,EAAAC,EAAA33G,EAAAqV,OAAAnT,KAAAihC,MAAA6yC,UAAA0hC,EAAAC,EAAAv0G,OAAAs0G,IAAA,CACA,IAAAnnB,EAAAonB,EAAAD,GACAnnB,EAAAvgE,OAAA,MAGA9tB,KAAA01G,uBAAA3rE,KAAAC,OAEA8kE,EAAAluG,UAAAsxE,cAAA,SAAAzpE,EAAAC,EAAA4yE,EAAAC,GAOA,YANA,IAAAD,IACAA,EAAA,gBAEA,IAAAC,IACAA,EAAA,WAEAv7E,KAAAihC,MAAAixC,cAAAzpE,EAAAC,EAAA4yE,EAAAC,IAEAuzB,EAAAluG,UAAA+0G,WAAA,SAAAp8F,EAAAq8F,GACA,IAAAlrG,EAAA1K,KAAAo6D,MAAA+4C,EAAAzoG,EAAAyoG,QAAApzE,EAAAr1B,EAAAq1B,MACA81E,EAAA,MAAA1C,EAAApzE,GAAAozE,EAAApzE,GAAA19B,KAAA,GACAA,EAAAwE,EAAAiB,SAAA,GAAA9H,KAAAgzG,oBAAA6C,EAAAD,GACA51G,KAAAo6D,MAAA+4C,QAAAnzG,KAAAo6D,MAAA+4C,QAAA1uE,MAAA,EAAAzkC,KAAAo6D,MAAAr6B,MAAA,GACA//B,KAAAo6D,MAAA+4C,QAAAnoG,KAAA,CAAAuO,KAAAA,EAAAlX,KAAAA,IACArC,KAAAo6D,MAAAr6B,MAAA//B,KAAAo6D,MAAA+4C,QAAAjyG,OAAA,EACAlB,KAAA8yG,cAAAp3F,QAEAozF,EAAAluG,UAAA4xG,YAAA,WACAxyG,KAAAo6D,MAAA,CAAA+4C,QAAA,GAAApzE,OAAA,GACA//B,KAAA8yG,cAAAp3F,QAEAozF,EAAAluG,UAAAk1G,SAAA,WACA,OAAA91G,KAAAo6D,MAAAr6B,OAAA,GAEA+uE,EAAAluG,UAAAm1G,SAAA,WACA,OAAA/1G,KAAAo6D,MAAAr6B,MAAA//B,KAAAo6D,MAAA+4C,QAAAjyG,OAAA,GAEA4tG,EAAAluG,UAAAo1G,KAAA,WACAh2G,KAAA81G,aACA91G,KAAAo6D,MAAAr6B,OAAA,EACA//B,KAAAi2G,iBAAAj2G,KAAAo6D,MAAAr6B,OACA//B,KAAA8yG,cAAAp3F,SAGAozF,EAAAluG,UAAAs1G,KAAA,WACAl2G,KAAA+1G,aACA/1G,KAAAo6D,MAAAr6B,OAAA,EACA//B,KAAAi2G,iBAAAj2G,KAAAo6D,MAAAr6B,OACA//B,KAAA8yG,cAAAp3F,SAGAozF,EAAAluG,UAAAq1G,iBAAA,SAAAl2E,GACA,IAAA19B,EAAA,MAAArC,KAAAo6D,MAAA+4C,QAAApzE,GAAA//B,KAAAo6D,MAAA+4C,QAAApzE,GAAA19B,KAAArC,KAAAgzG,oBACA,MAAA3wG,EAAAuiC,OACA5kC,KAAA4qG,aAAAvoG,EAAAuiC,OACA,MAAAviC,EAAA4wG,WACAjzG,KAAAm2G,iBAAA9zG,EAAA4wG,YAEAnE,EAAAluG,UAAAw1G,cAAA,WAEA,IADA,IAAAnD,EAAA,GACA7oG,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACA,GAAA04E,aAAA/qD,EAAAi5E,cAAA,CACA,IAAAjrF,EAAA+8D,EAAAn/B,YAAA59B,SACAktF,EAAAnwB,EAAAljF,IAAAmmB,GAGA,OAAAktF,GAEAnE,EAAAluG,UAAAu1G,iBAAA,SAAAlD,GACA,IAAA,IAAA7oG,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACA,GAAA04E,aAAA/qD,EAAAi5E,cAAA,CAEA,IAAAlc,EAAAhS,EAAAn/B,YACA,MAAAsvD,EACA,MAAAA,EAAAnwB,EAAAljF,KACAk1F,EAAA/uE,SAAAxK,OAAA03F,EAAAnwB,EAAAljF,KAAA,GAAA,GAGAk1F,EAAAyG,kBAAA3nF,WAGAk7F,EAAAluG,UAAA8xG,gBAAA,WACA1yG,KAAAm2G,iBAAA,OAEArH,EAAAluG,UAAAy1G,wBAAA,SAAAC,GAGA,IADA,IAAAC,EAAA,EACAnsG,EAAA,EAAAosG,EAAAF,EAAAlsG,EAAAosG,EAAAt1G,OAAAkJ,IAAA,CACA,IAAAM,EAAA8rG,EAAApsG,GAAAqsG,EAAA/rG,EAAA,GAAAmgG,EAAAngG,EAAA,GACA6rG,EAAAjnG,KAAA4b,IAAAqrF,EAAAv2G,KAAA02G,kCAAAD,EAAA5L,IAGA,GAAA0L,EAAA,EACA,IAAA,IAAAtrG,EAAA,EAAA0rG,EAAAL,EAAArrG,EAAA0rG,EAAAz1G,OAAA+J,IAAA,CACA,IAAA4B,EAAA8pG,EAAA1rG,GAAAwrG,EAAA5pG,EAAA,GAAAg+F,EAAAh+F,EAAA,GACAg+F,EAAA9gF,MAAAwsF,EAAA1L,EAAA9gF,OAAA,EAAAwsF,GAAAE,EAAA1sF,MACA8gF,EAAA7gF,IAAAusF,EAAA1L,EAAA7gF,KAAA,EAAAusF,GAAAE,EAAAzsF,MAIA8kF,EAAAluG,UAAAg2G,4BAAA,SAAAN,EAAAO,EAAAC,EAAAC,GAEA,IADA,IAAAC,GAAA,EACA5sG,EAAA,EAAA6sG,EAAAX,EAAAlsG,EAAA6sG,EAAA/1G,OAAAkJ,IAAA,CACA,IAAAM,EAAAusG,EAAA7sG,GAAAqsG,EAAA/rG,EAAA,GAAAmgG,EAAAngG,EAAA,GAGA,IAAAosG,EAAA,CACA,IAAAP,EAAAv2G,KAAA02G,kCAAAD,EAAA5L,GACA0L,EAAA,IACA1L,EAAA9gF,MAAAwsF,EAAA1L,EAAA9gF,OAAA,EAAAwsF,GAAAE,EAAA1sF,MACA8gF,EAAA7gF,IAAAusF,EAAA1L,EAAA7gF,KAAA,EAAAusF,GAAAE,EAAAzsF,KAKA,GAAA,MAAAysF,EAAA3oF,QAAA,QAAA2oF,EAAA3oF,OAAA,CACA,IAAA7iB,EAAAwrG,EAAA3oF,OAAA5C,EAAAjgB,EAAA,GAAA2H,EAAA3H,EAAA,GACAisG,EAAA5nG,KAAAsd,IAAAi+E,EAAA7gF,IAAA6gF,EAAA9gF,OACA0sF,EAAAtoB,aACA,MAAAjjE,GACAA,GAAA2/E,EAAA7gF,MACAgtF,GAAA,EACAnM,EAAA7gF,IAAAkB,GACA2rF,GAAAC,KACAjM,EAAA9gF,MAAAmB,EAAAgsF,IAIA,MAAAtkG,GACAA,GAAAi4F,EAAA9gF,QACAitF,GAAA,EACAnM,EAAA9gF,MAAAnX,GACAikG,GAAAC,KACAjM,EAAA7gF,IAAApX,EAAAskG,MAMA,MAAAhsF,GACAA,GAAA2/E,EAAA9gF,QACAitF,GAAA,EACAnM,EAAA9gF,MAAAmB,GACA2rF,GAAAC,KACAjM,EAAA7gF,IAAAkB,EAAAgsF,IAIA,MAAAtkG,GACAA,GAAAi4F,EAAA7gF,MACAgtF,GAAA,EACAnM,EAAA7gF,IAAApX,GACAikG,GAAAC,KACAjM,EAAA9gF,MAAAnX,EAAAskG,MAWA,KAAAJ,GAAAE,GAAAD,GAEA,IAAA,IAAAlqG,EAAA,EAAAsqG,EAAAb,EAAAzpG,EAAAsqG,EAAAj2G,OAAA2L,IAAA,CACA,IAAAE,EAAAoqG,EAAAtqG,GAAA4pG,EAAA1pG,EAAA,GAAA89F,EAAA99F,EAAA,GACA0pG,EAAAW,4BAAA,EACAX,EAAA1sF,OAAA8gF,EAAA9gF,OAAA0sF,EAAAzsF,KAAA6gF,EAAA7gF,KACAysF,EAAAh9F,KAAAoxF,KAGAiE,EAAAluG,UAAA81G,kCAAA,SAAAD,EAAA5L,GAIA,IAAAwM,EAAAZ,EAAAY,aACAC,EAAAb,EAAAa,aAGA,GAAA,MAAAb,EAAA3oF,QAAA,QAAA2oF,EAAA3oF,OAAA,CACA,IAAApjB,EAAA+rG,EAAA3oF,OAAA5C,EAAAxgB,EAAA,GAAAkI,EAAAlI,EAAA,GACA,GAAA,MAAAwgB,GAAA,MAAAtY,EAAA,CACA,IAAA2kG,EAAAjoG,KAAAsd,IAAAha,EAAAsY,GACAosF,EAAA,MAAAA,EAAAhoG,KAAA4b,IAAAosF,EAAAC,GAAAA,GAGA,IAAAhB,EAAA,EACA,GAAA,MAAAc,GAAA,MAAAC,EAAA,CACA,IAAAE,EAAAloG,KAAAsd,IAAA6pF,EAAAzsF,IAAAysF,EAAA1sF,OACAmtF,EAAA5nG,KAAAsd,IAAAi+E,EAAA7gF,IAAA6gF,EAAA9gF,OACAstF,EAAA,GAAAH,EAAAG,IACAd,GAAAiB,EAAAH,IAAAG,EAAAN,IAEAI,EAAA,GAAAJ,EAAAI,IACAf,GAAAe,EAAAE,IAAAN,EAAAM,IAEAjB,EAAAjnG,KAAAsD,IAAA,EAAAtD,KAAA4b,IAAA,EAAAqrF,IAEA,OAAAA,GAEAzH,EAAAluG,UAAAgqG,aAAA,SAAAC,EAAAgM,EAAAC,EAAAC,QACA,IAAAF,IACAA,GAAA,QAEA,IAAAC,IACAA,GAAA,QAEA,IAAAC,IACAA,GAAA,GAEA/2G,KAAAgqG,QACA,IAAAt/F,EAAA1K,KAAAihC,MAAA4yC,EAAAnpE,EAAAmpE,SAAAC,EAAAppE,EAAAopE,SACA,GAAA,MAAA+2B,EAAA,CACA,IAAA,IAAAlsG,KAAAk1E,EAAA,CACA,IAAA4iC,EAAA5iC,EAAAl1E,GACA83G,EAAAlG,QAEA,IAAA,IAAA71F,KAAAo5D,EAAA,CACA,IAAA2iC,EAAA3iC,EAAAp5D,GACA+7F,EAAAlG,QAEAvwG,KAAAwzG,wBAEA,CACA,IAAA8C,EAAA,GACA,IAAA,IAAAr7F,KAAA44D,EAAA,CACA,IAAA4iC,EAAA5iC,EAAA54D,GACAq7F,EAAAtrG,KAAA,CAAAyrG,EAAA5L,EAAA1jD,IAAAlsC,KAEA,IAAA,IAAAI,KAAAy4D,EAAA,CACA,IAAA2iC,EAAA3iC,EAAAz4D,GACAi7F,EAAAtrG,KAAA,CAAAyrG,EAAA5L,EAAAtjD,IAAAlsC,KAEAy7F,GACA92G,KAAAq2G,wBAAAC,GAEAt2G,KAAA42G,4BAAAN,EAAAO,EAAAC,EAAAC,GAEA/2G,KAAA2qG,WAEAmE,EAAAluG,UAAA6xG,YAAA,WACAzyG,KAAA4qG,aAAA,OAEAkE,EAAAluG,UAAA62G,mBAAA,WACA,IAAA32G,EAAAd,MACA,WACA,IAAA,IAAAoK,EAAA,EAAAM,EAAA5J,EAAA1C,MAAA8yG,YAAA9mG,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAq4D,EAAA/3D,EAAAN,GACAW,EAAAjK,EAAAq3B,eAAAsqC,EAAA7iE,IACA,GAAAmL,EAAA4Z,OAAA4K,mBACA,OAAA,EAEA,OAAA,GAEAmoF,IACA13G,KAAA8nD,KAAA44C,kBAEAoO,EAAAluG,UAAA0yG,qBAAA,WACA,IAAA5oG,EAAAO,EAAA4B,EAAAE,EAAAmhD,EAAAC,EAAAC,EACApuD,KAAA23G,mBAAA,IACAjtG,EAAA1K,KAAA23G,oBAAA3sG,KAAAzD,MAAAmD,EAAA1K,KAAA5B,MAAAgwB,QACAnjB,EAAAjL,KAAA23G,oBAAA3sG,KAAAzD,MAAA0D,EAAAjL,KAAA5B,MAAAqwB,QACA5hB,EAAA7M,KAAA23G,oBAAA3sG,KAAAzD,MAAAsF,EAAA7M,KAAA5B,MAAAgQ,OACArB,EAAA/M,KAAA23G,oBAAA3sG,KAAAzD,MAAAwF,EAAA/M,KAAA5B,MAAAkQ,QACA4/C,EAAAluD,KAAA23G,oBAAA3sG,KAAAzD,MAAA2mD,EAAAluD,KAAA5B,MAAAmoD,SACA4H,EAAAnuD,KAAA23G,oBAAA3sG,KAAAzD,MAAA4mD,EAAAnuD,KAAA5B,MAAAwuE,WACA,MAAA5sE,KAAAgsD,QACAhsD,KAAA23G,mBAAA3sG,KAAAhL,KAAAgsD,QACA,MAAAhsD,KAAAqzG,UACArzG,KAAA23G,mBAAA3sG,KAAAhL,KAAAqzG,UACA,IAAA,IAAAjpG,EAAA,EAAAyiE,EAAA7sE,KAAA5B,MAAAo+B,QAAAqzC,MAAAzlE,EAAAyiE,EAAA3rE,OAAAkJ,IAAA,CACA,IAAAwtG,EAAA/qC,EAAAziE,GACA,MAAAwtG,EAAAC,SACA73G,KAAA23G,mBAAA3sG,KAAA4sG,EAAAC,UACAzpD,EAAApuD,KAAA23G,oBAAA3sG,KAAAzD,MAAA6mD,EAAAwpD,EAAAE,qBAEAzoC,EAAAxlE,YAAA7J,KAAAm4B,eAAAn4B,KAAA23G,mBAAA,CAAA/mG,OAAA5Q,QAEA8uG,EAAAluG,UAAAigC,mBAAA,WACA,IAAA//B,EAAAd,KACA,OAAAA,KAAA23G,mBAAAxtG,IAAA,SAAA0b,GAAA,OAAA/kB,EAAAq3B,eAAAtS,EAAAjmB,OAEAkvG,EAAAluG,UAAA2yG,iBAAA,WACA,IAAAzyG,EAAAd,KACA+3G,EAAA/3G,KAAA5B,MAAAo+B,QAAAqzC,MACAmoC,EAAA3oC,EAAAxlE,YAAA7J,KAAA4yG,WAAAmF,EAAA,CAAAnnG,OAAA5Q,OACAg4G,EAAA7tG,IAAA,SAAAw1B,GAAA,OAAA7+B,EAAA6xG,aAAAjzE,cAAAC,MAEAmvE,EAAAluG,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA6yG,YAAA,WAAA,OAAA/xG,EAAAm3G,YACA,IAAAvtG,EAAA1K,KAAAihC,MAAA4yC,EAAAnpE,EAAAmpE,SAAAC,EAAAppE,EAAAopE,SACA,IAAA,IAAAx4D,KAAAu4D,EAAA,CACA,IAAA4iC,EAAA5iC,EAAAv4D,GACAtb,KAAAa,QAAA41G,EAAA19F,OAAA,WAAAjY,EAAAqxG,eAAA,EAAArxG,EAAA8wE,kBAEA,IAAA,IAAA10D,KAAA42D,EAAA,CACA,IAAA2iC,EAAA3iC,EAAA52D,GACAld,KAAAa,QAAA41G,EAAA19F,OAAA,WAAAjY,EAAAqxG,eAAA,EAAArxG,EAAA8wE,kBAEA5xE,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAA0zD,UAAA7zD,OAAA,WAAA,OAAAjY,EAAAwyG,yBACAtzG,KAAAa,QAAAb,KAAA5B,MAAAo+B,QAAAtjB,WAAA22D,MAAA92D,OAAA,WAAAjY,EAAAwyG,uBAAAxyG,EAAAyyG,qBACAvzG,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAA8wE,kBACA5xE,KAAAa,QAAAb,KAAA5B,MAAAmyG,MAAA,WAAA,OAAAzvG,EAAAyvG,WAEAzB,EAAAluG,UAAAs3G,kBAAA,WAEA,IAAAC,GAAA,EACAztG,EAAA1K,KAAAihC,MAAA4yC,EAAAnpE,EAAAmpE,SAAAC,EAAAppE,EAAAopE,SACA3sB,EAAA,GACAI,EAAA,GACA,IAAA,IAAA5nC,KAAAk0D,EAAA,CACA,IAAA5oE,EAAA4oE,EAAAl0D,GAAAoK,EAAA9e,EAAA8e,MAAAC,EAAA/e,EAAA+e,IACA,GAAA,MAAAD,GAAA,MAAAC,GAAA5e,EAAAu6C,YAAA57B,EAAAC,GAAA,CACAmuF,GAAA,EACA,MAEAhxD,EAAAxnC,GAAA,CAAAoK,MAAAA,EAAAC,IAAAA,GAEA,GAAAmuF,EACA,IAAA,IAAAC,KAAAtkC,EAAA,CACA,IAAAjnE,EAAAinE,EAAAskC,GAAAruF,EAAAld,EAAAkd,MAAAC,EAAAnd,EAAAmd,IACA,GAAA,MAAAD,GAAA,MAAAC,GAAA5e,EAAAu6C,YAAA57B,EAAAC,GAAA,CACAmuF,GAAA,EACA,MAEA5wD,EAAA6wD,GAAA,CAAAruF,MAAAA,EAAAC,IAAAA,GAGAmuF,GACAn4G,KAAAgzG,oBAAApuE,MAAA,CAAAuiB,IAAAA,EAAAI,IAAAA,GACAroD,EAAAwB,OAAAC,MAAA,uBAGAzB,EAAAwB,OAAA5B,KAAA,iCAEAgwG,EAAAluG,UAAAoU,aAAA,WACA,IAAA1N,EAAA1G,UAAAoU,aAAAnN,KAAA7H,MACA,OAAA,EACA,IAAA,IAAAJ,KAAAI,KAAAm4B,eAAA,CACA,IAAAptB,EAAA/K,KAAAm4B,eAAAv4B,GACA,IAAAmL,EAAAiK,eACA,OAAA,EAEA,OAAA,GAEA85F,EAAAluG,UAAA2/F,aAAA,WAcA,GAbAj5F,EAAA1G,UAAA2/F,aAAA14F,KAAA7H,MACAA,KAAAmyG,eAAA,EACAnyG,KAAA5B,MAAAqb,KAAA,CACA2nF,YAAA9xF,KAAA2V,MAAAjlB,KAAAihC,MAAA1V,OAAA1f,OACAw1F,aAAA/xF,KAAA2V,MAAAjlB,KAAAihC,MAAAzV,QAAA3f,OACAqkG,YAAA5gG,KAAA2V,MAAAjlB,KAAA2kB,OAAA4G,OAAA1f,OACAskG,aAAA7gG,KAAA2V,MAAAjlB,KAAA2kB,OAAA6G,QAAA3f,QACA,CAAA0Q,WAAA,KACA,IAAAvc,KAAA5B,MAAAgyG,eACApwG,KAAAgqG,QACAhqG,KAAAwzG,oBACAxzG,KAAA2qG,SAAA,KAEA3qG,KAAAiyG,YAAAlpE,OAAA/oC,KAAA2kB,OAAAI,MAAA,CACA,IAAAra,EAAA1K,KAAA2kB,OAAAI,KAAA1V,EAAA3E,EAAA2E,MAAAG,EAAA9E,EAAA8E,OACAxP,KAAA65D,YAAA0gB,eAAAlrE,EAAAG,GACAxP,KAAAiyG,YAAAjyG,KAAA2kB,OAAAI,KACA/kB,KAAAkyG,cAAA,EAEAlyG,KAAAorB,YAAA2d,OAAA/oC,KAAAihC,MAAA/W,cACAlqB,KAAAorB,YAAAprB,KAAA2kB,OAAAuF,WACAlqB,KAAAkyG,cAAA,GAEAlyG,KAAAkyG,eAIAlyG,KAAAkyG,cAAA,EACAlyG,KAAAq4G,UAGAvJ,EAAAluG,UAAAq3G,QAAA,WACAj4G,KAAAmyG,eACAnyG,KAAAy3G,qBACAz3G,KAAAq4G,SAEAvJ,EAAAluG,UAAAy3G,MAAA,WACA,IAAAv3G,EAAAd,KACA,IAAAA,KAAAsyG,UAAA,CAEApzG,EAAAwB,OAAAuD,MAAA,wBAAAjE,KAAA5B,MAAAwB,IACA,IAAAkE,EAAA9D,KAAA5B,MAAA0F,SACA,GAAA,MAAAA,EAAA,CACA,IAAAqpD,EAAArpD,EAAAqpD,uBACAA,GAAA,GAAAA,EAAAntD,KAAA5B,MAAAsxG,aACAttG,WAAA,WACA0B,EAAAqpD,uBAAArsD,EAAA1C,MAAAwxG,aACA9rG,EAAAopD,iBAAApsD,EAAA1C,OAEA0C,EAAA8wE,iBACA5xE,KAAA5B,MAAAwxG,aAGA9rG,EAAAopD,iBAAAltD,KAAA5B,OAEA,IAAA,IAAAwB,KAAAI,KAAAm4B,eAAA,CACA,IAAA5a,EAAAvd,KAAAm4B,eAAAv4B,GACA,GAAA,MAAAI,KAAA01G,wBACAn4F,aAAAwa,EAAAQ,mBAAAhb,EAAA+6F,mBAAAt4G,KAAA01G,uBAAA,CACA11G,KAAAwzG,oBACA,OAGA,IAAA/jF,EAAAzvB,KAAA65D,YAAApqC,IACAykF,EAAAl0G,KAAA8P,OAAA0qE,YAEA/qD,EAAAmsC,OACAnsC,EAAA1mB,MAAAmrG,EAAAA,GACAzkF,EAAA+c,UAAA,GAAA,IACA,IAAA8hE,EAAA,CACAtuG,KAAAihC,MAAA3V,MAAAzf,MACA7L,KAAAihC,MAAA5V,KAAAxf,MACA7L,KAAAihC,MAAA1V,OAAA1f,MACA7L,KAAAihC,MAAAzV,QAAA3f,OAMA,GAJA7L,KAAAquG,UAAA5+E,EAAA6+E,GACAtuG,KAAAuuG,aAAA9+E,EAAA6+E,GACAtuG,KAAAi0G,cAAAC,EAAA5F,GACAtuG,KAAA20G,cACA30G,KAAA66D,QAAA09C,aAAA7tD,KAAA,CACAj7B,EAAAmsC,OACA57D,KAAA66D,QAAA09C,aAAAhvD,UAAA95B,GACA,IAAAjO,EAAA8sF,EAAA,GAAA7sF,EAAA6sF,EAAA,GAAA7tF,EAAA6tF,EAAA,GAAA3gE,EAAA2gE,EAAA,GAGA9sF,EAAAf,GAAAzgB,KAAA2kB,OAAA4G,OAAA1f,QACA4U,GAAA,GAEAgB,EAAAksB,GAAA3tC,KAAA2kB,OAAA6G,QAAA3f,QACA8hC,GAAA,GAEAle,EAAAk0C,WAAAniD,EAAAC,EAAAhB,EAAAktB,GACAle,EAAAwsC,UAEAj8D,KAAAw4G,cAAA/oF,EAAA,CAAA,QAAA,WAAA,SAAA6+E,GAAA,GACAtuG,KAAAw4G,cAAA/oF,EAAA,CAAA,cAAA6+E,GAAA,GACAtuG,KAAAw4G,cAAA/oF,EAAA,CAAA,WAAA6+E,GAAA,GACA,MAAAtuG,KAAAgzG,oBAAApuE,OACA5kC,KAAAk4G,oBACAzoF,EAAAwsC,YAEA6yC,EAAAluG,UAAA43G,cAAA,SAAA/oF,EAAAyC,EAAAumF,EAAAC,GACA,IAAA,IAAAtuG,EAAA,EAAAuuG,EAAAzmF,EAAA9nB,EAAAuuG,EAAAz3G,OAAAkJ,IAEA,IADA,IAAAmmB,EAAAooF,EAAAvuG,GACAM,EAAA,EAAAO,EAAAjL,KAAA23G,mBAAAjtG,EAAAO,EAAA/J,OAAAwJ,IAAA,CACA,IAAAo4E,EAAA73E,EAAAP,GACA,GAAAo4E,EAAAvyD,OAAAA,EAAA,CAEA,IAAAyI,EAAAh5B,KAAAm4B,eAAA2qD,EAAAljF,IACA6vB,EAAAmsC,QACA88C,GAAA1/E,EAAA4/E,cACAnpF,EAAAqsC,YACArsC,EAAAtgB,KAAA5H,MAAAkoB,EAAAgpF,GACAhpF,EAAAoZ,QAEA7P,EAAAlkB,SACA2a,EAAAwsC,UACAjjC,EAAA6/E,YACA74G,KAAA+0G,aACA/0G,KAAA20G,kBAKA7F,EAAAluG,UAAAytG,UAAA,SAAApxC,EAAA67C,KACAhK,EAAAluG,UAAA2tG,aAAA,SAAA9+E,EAAA6+E,GACA,IAAA5jG,EAAA,CAAA,EAAA,EAAA1K,KAAA2kB,OAAA4G,OAAA1f,MAAA7L,KAAA2kB,OAAA6G,QAAA3f,OAAAktG,EAAAruG,EAAA,GAAAsuG,EAAAtuG,EAAA,GAAAuuG,EAAAvuG,EAAA,GAAA0uC,EAAA1uC,EAAA,GACAwuG,EAAA5K,EAAA,GAAA6K,EAAA7K,EAAA,GAAA8K,EAAA9K,EAAA,GAAA+K,EAAA/K,EAAA,GACA7+E,EAAAm/E,UAAAmK,EAAAC,EAAAC,EAAA7/D,GACAp5C,KAAA66D,QAAAy+C,YAAA5uD,OACA1qD,KAAA66D,QAAAy+C,YAAA/vD,UAAA95B,GACAA,EAAAg0C,SAAAs1C,EAAAC,EAAAC,EAAA7/D,GACA3pB,EAAAm/E,UAAAsK,EAAAC,EAAAC,EAAAC,IAEAr5G,KAAA66D,QAAA2I,gBAAA9Y,OACA1qD,KAAA66D,QAAA2I,gBAAAja,UAAA95B,GACAA,EAAAg0C,SAAAy1C,EAAAC,EAAAC,EAAAC,KAGAvK,EAAAluG,UAAAg7D,KAAA,SAAAz9D,GACA,OAAA6B,KAAA5B,MAAA67E,gBACA,IAAA,SACA,IAAA,QACA,IAAAnqE,EAAA9P,KAAA65D,YAAAygB,qBACA,GAAA,MAAAxqE,EAAAypG,SAAA,CACA,IAAAC,EAAA1pG,EAAAypG,WACAvnG,OAAAq9B,UAAAoqE,WAAAD,EAAAr7G,OAEA,CACA,IAAA4R,EAAAjM,SAAA4H,cAAA,KACAqE,EAAA4nD,KAAA7nD,EAAA4pG,UAAA,aACA3pG,EAAA4pG,SAAAx7G,EAAA,OACA4R,EAAAgyB,OAAA,SACAhyB,EAAA6pG,cAAA,IAAAC,WAAA,UAEA,MAEA,IAAA,MACA,IAAApqF,EAAAzvB,KAAA65D,YAAAoD,KACA68C,EAAArqF,EAAAsqF,kBAAA,GACAC,EAAA,IAAAC,KAAA,CAAAH,GAAA,CAAAvgG,KAAA,eACA2gG,EAAAp2G,SAAA4H,cAAA,KACAwuG,EAAAP,SAAAx7G,EAAA,OACA+7G,EAAAC,UAAA,eACAD,EAAAviD,KAAA3lD,OAAAooG,IAAAC,gBAAAL,GACAE,EAAAI,QAAA,SAAA74G,GAAA,OAAAqC,SAAAmR,KAAAnE,YAAArP,EAAAsgC,SACAm4E,EAAA9tG,MAAAsF,QAAA,OACA5N,SAAAmR,KAAAtI,YAAAutG,GACAA,EAAAK,UAKAzL,EAAAluG,UAAAgnD,mBAAA,WACA,IAAAl9C,EAAApD,EAAA1G,UAAAgnD,mBAAA//C,KAAA7H,MAAAwL,EAAAd,EAAAc,SAAA4uD,EAAAvzD,EAAA2zG,OAAA9vG,EAAA,CAAA,aACAkiE,EAAA5sE,KAAA6gC,qBACA12B,IAAA,SAAAY,GAAA,OAAAA,EAAA68C,uBACAn9C,OAAA,SAAA7C,GAAA,MAAA,SAAAA,IACA,OAAAf,EAAAiB,SAAA,GAAAsyD,EAAA,CAAA5uD,SAAAA,EAAAmE,OAAAi9D,MAEAkiC,EAv5BA,CAw5BAzjD,EAAA2yC,eACApgG,EAAAkxG,SAAAA,GC99BA,SAAApxG,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA+8G,EAAA/8G,EAAA,KACA2P,EAAA3P,EAAA,IACAg9G,EAAA,SAAApzG,GAEA,SAAAozG,EAAAnvG,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAAizG,EAAApzG,GAIAozG,EAAA3gG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAia,OAAA,CACAkB,MAAA,CAAA9N,EAAAoC,MAAA,IACAm9D,UAAA,CAAAv/D,EAAAoC,MAAA,OAGAirG,EAZA,CAaAD,EAAAE,OACA/8G,EAAA88G,UAAAA,EACAA,EAAA3gG,aCnBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAk9G,EAAAl9G,EAAA,KACAq6B,EAAAr6B,EAAA,KACAwB,EAAAxB,EAAA,IACA2P,EAAA3P,EAAA,IACAqnB,EAAArnB,EAAA,IACAkM,EAAAlM,EAAA,IACAk+E,EAAA,SAAAt0E,GAEA,SAAAs0E,EAAArwE,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAA+5G,aAAA,GACA/5G,EAAAs2G,4BAAA,EACAt2G,EAyOA,OA9OA+F,EAAAY,UAAAm0E,EAAAt0E,GAOAs0E,EAAA7hE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAia,OAAA,CACA8P,MAAA,CAAA1c,EAAAkmB,QACAvJ,IAAA,CAAA3c,EAAAkmB,QACAunF,cAAA,CAAAztG,EAAAkmB,OAAA,IACAwnF,oBAAA,CAAA1tG,EAAAyJ,aAAA,WACAkkG,QAAA,CAAA3tG,EAAA8lB,SAAA,GACAoiF,OAAA,CAAAloG,EAAAsK,UACAsjG,gBAAA,CAAA5tG,EAAAkmB,QACA2nF,aAAA,CAAA7tG,EAAAkmB,OAAA,KAEAvzB,KAAA8a,SAAA,CACAghE,WAAA,CAAAzuE,EAAAsmB,OAAA,WAGAioD,EAAAh7E,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAm7G,eAAAn7G,KAAA+pB,MACA/pB,KAAAo7G,aAAAp7G,KAAAgqB,IACAhqB,KAAAq7G,uBAAAr7G,KAAA86G,cACA96G,KAAAs7G,6BAAAt7G,KAAA+6G,oBACA/6G,KAAAu7G,gBAAAv7G,KAAAu1G,OACAv1G,KAAAw7G,yBAAAx7G,KAAAi7G,gBACAj7G,KAAAy7G,sBAAAz7G,KAAAk7G,cAEAl8G,OAAAiU,eAAA2oE,EAAAh7E,UAAA,MAAA,CACAsS,IAAA,WACA,OAAA5D,KAAA4b,IAAAlrB,KAAA+pB,MAAA/pB,KAAAgqB,MAEA3W,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA2oE,EAAAh7E,UAAA,MAAA,CACAsS,IAAA,WACA,OAAA5D,KAAAsD,IAAA5S,KAAA+pB,MAAA/pB,KAAAgqB,MAEA3W,YAAA,EACAC,cAAA,IAEAsoE,EAAAh7E,UAAA+2G,mBAAA,WAEA,IAAAx8F,EAAAnb,KAAAmb,MACAyxD,EAAA5sE,KAAA4sE,UACA,GAAA,GAAAA,EAAA1rE,OACA,IAAA,IAAAkJ,EAAA,EAAAM,EAAA1K,KAAAwwG,MAAApmG,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA6iD,EAAAviD,EAAAN,GACAsxG,EAAAzuD,EAAA2f,UAAAniE,OAAA,SAAAob,GAAA,OAAAA,aAAAkS,EAAAi5E,gBACApkC,EAAAA,EAAAj9D,OAAA+rG,GAGAvgG,EAAAja,OAAA,IACA0rE,EAAAA,EAAAniE,OAAA,SAAAob,GAAA,OAAAjc,EAAAmqB,SAAA5Y,EAAA0K,EAAA1nB,SACAe,EAAAwB,OAAAC,MAAA,YAAAisE,EAAA1rE,OAAA,8BAAAlB,KAAAJ,IACA,IAAA,IAAAqL,EAAA,EAAA0wG,EAAA/uC,EAAA3hE,EAAA0wG,EAAAz6G,OAAA+J,IAAA,CACA,IAAA4a,EAAA81F,EAAA1wG,GACA/L,EAAAwB,OAAAuD,MAAA,MAAA4hB,EAAAtM,KAAA,IAAAsM,EAAAjmB,IAEA,OAAAgtE,GAEAgP,EAAAh7E,UAAAg7G,qBAAA,SAAAhvC,EAAA9+C,GAEA,IADA,IAAA/P,EAAAgH,EAAAtT,QACArH,EAAA,EAAAyxG,EAAAjvC,EAAAxiE,EAAAyxG,EAAA36G,OAAAkJ,IAAA,CACA,IAAAyb,EAAAg2F,EAAAzxG,GACA,MAAA0jB,EAAAjI,EAAAjmB,MACAme,EAAAgH,EAAAqhB,MAAAroB,EAAA+P,EAAAjI,EAAAjmB,MAEA,OAAAme,GAEA69D,EAAAh7E,UAAAk7G,yBAAA,SAAAhuF,EAAAomF,GACA,IAAAn2F,EAAAgH,EAAAtT,QACApC,EAAAye,EAAArL,KAAAqL,EAAAvL,KACAlT,GAAA,IACAA,EAAA,GAEA,IAAAG,EAAAse,EAAApL,KAAAoL,EAAAtL,KACAhT,GAAA,IACAA,EAAA,GAEA,IAAAusG,EAAA,IAAAjuF,EAAArL,KAAAqL,EAAAvL,MACAy5F,EAAA,IAAAluF,EAAApL,KAAAoL,EAAAtL,MAWA,OAVAnT,EAAA6kG,EAAA1kG,EACAH,EAAA6kG,EAAA1kG,EAGAA,EAAAH,EAAA6kG,EAEAn2F,EAAA0E,KAAAs5F,EAAA,GAAA1sG,EACA0O,EAAAwE,KAAAw5F,EAAA,GAAA1sG,EACA0O,EAAA2E,KAAAs5F,EAAA,GAAAxsG,EACAuO,EAAAyE,KAAAw5F,EAAA,GAAAxsG,EACAuO,GAEA69D,EAAAh7E,UAAAq7G,iBAAA,SAAAC,EAAAhoE,GACA,IAAAxpC,EAAAO,EAMAigB,EAAAtY,EALAupG,EAAAp3F,EAAAtT,QACA,IAAA,IAAA6M,KAAA49F,EAAA,CACA,IAAA3+F,EAAA2+F,EAAA59F,GACA69F,EAAAp3F,EAAAqhB,MAAA+1E,EAAA5+F,GAOA,OAJA,GAAA22B,GACAxpC,EAAA,CAAAyxG,EAAA55F,KAAA45F,EAAA15F,MAAAyI,EAAAxgB,EAAA,GAAAkI,EAAAlI,EAAA,KAEAO,EAAA,CAAAkxG,EAAA35F,KAAA25F,EAAAz5F,MAAAwI,EAAAjgB,EAAA,GAAA2H,EAAA3H,EAAA,IACA,CAAAigB,EAAAtY,IAEAgpE,EAAAh7E,UAAAw7G,eAAA,SAAAlxF,EAAAtY,GACA,IAAAlI,EAEAqf,EAAAC,EADA8wF,EAAA96G,KAAA86G,cAEA,GAAA,OAAA96G,KAAA87E,WAAA,EACAyF,MAAAr2D,KAAAw6B,SAAAx6B,IAAAA,GAAA,KAEAA,EADAq2D,MAAA3uE,KAAA8yC,SAAA9yC,IAAAA,GAAA,EACA,GAEAA,EAAA,IACA1T,EAAAwB,OAAA5B,KAAA,gFAAAosB,KAEAq2D,MAAA3uE,KAAA8yC,SAAA9yC,IAAAA,GAAA,KAEAA,EADA2uE,MAAAr2D,KAAAw6B,SAAAx6B,IAAAA,GAAA,EACA,GAEA,IAAAA,EACAhsB,EAAAwB,OAAA5B,KAAA,gFAAA8T,IAEA,IAAA2zC,OAAA,EAAA12C,OAAA,EACA,GAAA+C,GAAAsY,EACArb,EAAA7P,KAAAk7G,aAAA,KACA30D,EAAAj3C,KAAA0iB,IAAA9G,GAAA5b,KAAA0iB,IAAA,QAEA,CACA,IAAAqqF,OAAA,EAAAC,OAAA,EACA,WAAAt8G,KAAA+6G,qBACAsB,EAAA/sG,KAAA0iB,IAAA9G,GAAA5b,KAAA0iB,IAAA,IACAsqF,EAAAhtG,KAAA0iB,IAAApf,GAAAtD,KAAA0iB,IAAA,IACAniB,GAAAysG,EAAAD,IAAA,EAAAvB,KAGAuB,EAAA/sG,KAAA0iB,IAAA9G,EAAA4vF,GAAAxrG,KAAA0iB,IAAA,IACAsqF,EAAAhtG,KAAA0iB,IAAApf,EAAAkoG,GAAAxrG,KAAA0iB,IAAA,IACAniB,EAAAysG,EAAAD,GAEA91D,GAAA81D,EAAAC,GAAA,EAEAvyF,EAAAza,KAAAqS,IAAA,GAAA4kC,EAAA12C,EAAA,GACAma,EAAA1a,KAAAqS,IAAA,GAAA4kC,EAAA12C,EAAA,OAEA,CACA,IAAAA,OAAA,EAEAA,EADA+C,GAAAsY,EACAlrB,KAAAk7G,aAEA,WAAAl7G,KAAA+6G,qBACAnoG,EAAAsY,IAAA,EAAA4vF,GAEAloG,EAAAsY,EAAA,EAAA4vF,EAEA,IAAAv0D,GAAA3zC,EAAAsY,GAAA,EACAnB,EAAAw8B,EAAA12C,EAAA,EACAma,EAAAu8B,EAAA12C,EAAA,EAEA,IAAA0sG,EAAA,EACAv8G,KAAAg7G,UACAjxF,GAAArf,EAAA,CAAAsf,EAAAD,IAAA,GAAAC,EAAAtf,EAAA,GACA6xG,GAAA,GAEA,IAAAtB,EAAAj7G,KAAAi7G,gBAOA,OANA,MAAAA,GAAA3rG,KAAAsd,IAAA7C,EAAAC,GAAAixF,IACA,SAAAj7G,KAAAu1G,OACAvrF,EAAAD,EAAAwyF,EAAAtB,EACA,OAAAj7G,KAAAu1G,SACAxrF,EAAAC,EAAAuyF,EAAAtB,IAEA,CAAAlxF,EAAAC,IAEA4xD,EAAAh7E,UAAA2a,OAAA,SAAAuS,EAAAomB,EAAAsoE,EAAAtI,GACA,IAAAl0G,KAAAo3G,2BAAA,CAEA,IAAAxqC,EAAA5sE,KAAA23G,qBAEA8E,EAAAz8G,KAAA47G,qBAAAhvC,EAAA9+C,GACA,MAAAomF,IACAuI,EAAAz8G,KAAA87G,yBAAAW,EAAAvI,IACAl0G,KAAA66G,aAAA2B,GAAAC,EAEA,IAAA/xG,EAAA1K,KAAAi8G,iBAAAj8G,KAAA66G,aAAA3mE,GAAAhpB,EAAAxgB,EAAA,GAAAkI,EAAAlI,EAAA,GAEAO,EAAAjL,KAAAo8G,eAAAlxF,EAAAtY,GAAAmX,EAAA9e,EAAA,GAAA+e,EAAA/e,EAAA,GACA,MAAAjL,KAAAm7G,iBACA,OAAAn7G,KAAA87E,WACA97E,KAAAm7G,eAAA,IACApxF,EAAA/pB,KAAAm7G,gBAGApxF,EAAA/pB,KAAAm7G,gBAEA,MAAAn7G,KAAAo7G,eACA,OAAAp7G,KAAA87E,WACA97E,KAAAo7G,aAAA,IACApxF,EAAAhqB,KAAAo7G,cAGApxF,EAAAhqB,KAAAo7G,cAGA,IAAAvuG,EAAA,CAAA7M,KAAA+pB,MAAA/pB,KAAAgqB,KAAA0yF,EAAA7vG,EAAA,GAAAsvD,EAAAtvD,EAAA,GACA,GAAAkd,GAAA2yF,GAAA1yF,GAAAmyC,EAAA,CACA,IAAAwgD,EAAA,GACA5yF,GAAA2yF,IACAC,EAAA5yF,MAAAA,GACAC,GAAAmyC,IACAwgD,EAAA3yF,IAAAA,GACAhqB,KAAAyZ,KAAAkjG,GAEA,QAAA38G,KAAA8tB,QACA9tB,KAAAyZ,KAAA,CAAAqU,OAAA,CAAA/D,EAAAC,IAAA,CAAArQ,QAAA,IACA3Z,KAAA+Y,OAAA2C,SAEAkgE,EAAAh7E,UAAA2vG,MAAA,WACAvwG,KAAAo3G,4BAAA,EAEAp3G,KAAAyZ,KAAA,CACAqhG,cAAA96G,KAAAq7G,uBACAN,oBAAA/6G,KAAAs7G,6BACA/F,OAAAv1G,KAAAu7G,gBACAN,gBAAAj7G,KAAAw7G,yBACAN,aAAAl7G,KAAAy7G,uBACA,CAAA9hG,QAAA,IACA3Z,KAAA+Y,OAAA2C,QAEAkgE,EA/OA,CAgPAg/B,EAAAF,WACA98G,EAAAg+E,YAAAA,EACAA,EAAA7hE,aC1PA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA+8G,EAAA/8G,EAAA,KACA2P,EAAA3P,EAAA,IACA20B,EAAA30B,EAAA,IACAkM,EAAAlM,EAAA,IACA0N,EAAA1N,EAAA,IACA,SAAAk/G,EAAAhnC,EAAA/mE,EAAAkD,QACA,IAAAA,IACAA,EAAA,GAGA,IADA,IAAA8qG,EAAA,GACA5sG,EAAA,EAAAA,EAAA2lE,EAAA10E,OAAA+O,IAAA,CACA,IAAAq2C,EAAAsvB,EAAA3lE,GACA,GAAAq2C,KAAAu2D,EACA,MAAA,IAAAx+G,MAAA,kCAAAioD,GAEAu2D,EAAAv2D,GAAA,CAAAz6C,MAAA,GAAAoE,GAAA,EAAApB,GAAAkD,GAEA,MAAA,CAAA8qG,GAAAjnC,EAAA10E,OAAA,GAAA2N,GAGA,SAAAiuG,EAAAlnC,EAAAmnC,EAAAC,EAAAjrG,QACA,IAAAA,IACAA,EAAA,GAKA,IAHA,IAAA8qG,EAAA,GACArnC,EAAA,GACAynC,EAAA,GACA7yG,EAAA,EAAA8yG,EAAAtnC,EAAAxrE,EAAA8yG,EAAAh8G,OAAAkJ,IAAA,CACA,IAAAM,EAAAwyG,EAAA9yG,GAAA+yG,EAAAzyG,EAAA,GAAA0yG,EAAA1yG,EAAA,GACAyyG,KAAA3nC,IACAA,EAAA2nC,GAAA,GACAF,EAAAjyG,KAAAmyG,IAEA3nC,EAAA2nC,GAAAnyG,KAAAoyG,GAYA,IAVA,IAAAC,EAAAtrG,EACAurG,EAAA,EACA7iG,EAAA,SAAA0iG,GACA,IAAA73E,EAAAkwC,EAAA2nC,GAAAj8G,OACAwJ,EAAAkyG,EAAApnC,EAAA2nC,GAAAH,EAAAK,GAAAE,EAAA7yG,EAAA,GAAA8yG,EAAA9yG,EAAA,GACA4yG,GAAAE,EACA,IAAAC,EAAA7zG,EAAAse,IAAAstD,EAAA2nC,GAAAhzG,IAAA,SAAAizG,GAAA,OAAAG,EAAAH,GAAAvxG,SACAgxG,EAAAM,GAAA,CAAAtxG,MAAA4xG,EAAAn4E,EAAAu3E,QAAAU,GACAF,GAAA/3E,EAAAy3E,EAAAS,GAEAvyG,EAAA,EAAAyyG,EAAAT,EAAAhyG,EAAAyyG,EAAAx8G,OAAA+J,IAAA,CACA,IAAAkyG,EAAAO,EAAAzyG,GACAwP,EAAA0iG,GAEA,MAAA,CAAAN,EAAAI,GAAAA,EAAA/7G,OAAA,GAAA67G,EAAAO,GAGA,SAAAK,EAAA/nC,EAAAmnC,EAAAa,EAAAZ,EAAAjrG,QACA,IAAAA,IACAA,EAAA,GAKA,IAHA,IAAA8qG,EAAA,GACArnC,EAAA,GACAynC,EAAA,GACA7yG,EAAA,EAAAyzG,EAAAjoC,EAAAxrE,EAAAyzG,EAAA38G,OAAAkJ,IAAA,CACA,IAAAM,EAAAmzG,EAAAzzG,GAAA+yG,EAAAzyG,EAAA,GAAA0yG,EAAA1yG,EAAA,GAAAozG,EAAApzG,EAAA,GACAyyG,KAAA3nC,IACAA,EAAA2nC,GAAA,GACAF,EAAAjyG,KAAAmyG,IAEA3nC,EAAA2nC,GAAAnyG,KAAA,CAAAoyG,EAAAU,IAoBA,IAlBA,IAAAC,EAAA,GACAV,EAAAtrG,EACAurG,EAAA,EACA11F,EAAA,SAAAu1F,GAGA,IAFA,IAAA73E,EAAAkwC,EAAA2nC,GAAAj8G,OACAwJ,EAAAoyG,EAAAtnC,EAAA2nC,GAAAS,EAAAZ,EAAAK,GAAAE,EAAA7yG,EAAA,GAAAszG,EAAAtzG,EAAA,GAAA8yG,EAAA9yG,EAAA,GACAN,EAAA,EAAA6zG,EAAAD,EAAA5zG,EAAA6zG,EAAA/8G,OAAAkJ,IAAA,CACA,IAAAgzG,EAAAa,EAAA7zG,GACA2zG,EAAA/yG,KAAA,CAAAmyG,EAAAC,IAEAE,GAAAE,EACA,IAAAC,EAAA7zG,EAAAse,IAAAstD,EAAA2nC,GAAAhzG,IAAA,SAAAO,GACA,IAAA0yG,EAAA1yG,EAAA,GACA,OAAA6yG,EAAAH,GAAAvxG,SAEAgxG,EAAAM,GAAA,CAAAtxG,MAAA4xG,EAAAn4E,EAAAu3E,QAAAU,GACAF,GAAA/3E,EAAAy3E,EAAAS,GAEAvyG,EAAA,EAAAizG,EAAAjB,EAAAhyG,EAAAizG,EAAAh9G,OAAA+J,IAAA,CACA,IAAAkyG,EAAAe,EAAAjzG,GACA2c,EAAAu1F,GAEA,MAAA,CAAAN,EAAAI,EAAAc,GAAAd,EAAA/7G,OAAA,GAAA67G,EAAAO,GAtEA1/G,EAAAg/G,cAAAA,EAgCAh/G,EAAAk/G,eAAAA,EAwCAl/G,EAAA+/G,iBAAAA,EACA,IAAAjpC,EAAA,SAAAptE,GAEA,SAAAotE,EAAAnpE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAkIA,OApIA6G,EAAAY,UAAAitE,EAAAptE,GAIAotE,EAAA36D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAia,OAAA,CACA27D,QAAA,CAAAvoE,EAAAoC,MAAA,IACA0uG,eAAA,CAAA9wG,EAAAkmB,OAAA,GACA6qF,iBAAA,CAAA/wG,EAAAkmB,OAAA,IACA8qF,cAAA,CAAAhxG,EAAAkmB,OAAA,KACAunF,cAAA,CAAAztG,EAAAkmB,OAAA,GACAwnF,oBAAA,CAAA1tG,EAAAyJ,aAAA,WACAiT,MAAA,CAAA1c,EAAAkmB,QACAvJ,IAAA,CAAA3c,EAAAkmB,UAEAvzB,KAAA8a,SAAA,CACAoX,OAAA,CAAA7kB,EAAAkmB,QACA8iD,KAAA,CAAAhpE,EAAAoC,OACA+lE,KAAA,CAAAnoE,EAAAoC,OACA6uG,YAAA,CAAAjxG,EAAAoC,UAGAzQ,OAAAiU,eAAAyhE,EAAA9zE,UAAA,MAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA+pB,OAEA1W,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAyhE,EAAA9zE,UAAA,MAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAgqB,KAEA3W,YAAA,EACAC,cAAA,IAEAohE,EAAA9zE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAmnB,OAAA,IAEAutD,EAAA9zE,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAAkZ,WAAA08D,QAAA78D,OAAA,WAAA,OAAAjY,EAAAyvG,UACAvwG,KAAAa,QAAAb,KAAAkZ,WAAAilG,eAAAplG,OAAA,WAAA,OAAAjY,EAAAyvG,UACAvwG,KAAAa,QAAAb,KAAAkZ,WAAAmlG,cAAAtlG,OAAA,WAAA,OAAAjY,EAAAyvG,UACAvwG,KAAAa,QAAAb,KAAAkZ,WAAAklG,iBAAArlG,OAAA,WAAA,OAAAjY,EAAAyvG,UACAvwG,KAAAa,QAAAb,KAAAkZ,WAAA4hG,cAAA/hG,OAAA,WAAA,OAAAjY,EAAAyvG,UACAvwG,KAAAa,QAAAb,KAAAkZ,WAAA6hG,oBAAAhiG,OAAA,WAAA,OAAAjY,EAAAyvG,WAEA77B,EAAA9zE,UAAA2vG,MAAA,WACAvwG,KAAAmnB,OAAA,GACAnnB,KAAA+Y,OAAA2C,QAEAg5D,EAAA9zE,UAAA29G,QAAA,SAAA91G,GACA,GAAA,GAAAA,EAAAvH,OAAA,CACA,IAAA+sD,EAAAjuD,KAAAw+G,SACA,OAAAvwD,EAAArvD,eAAA6J,EAAA,IAGAwlD,EAAAxlD,EAAA,IAAAoD,MAFAyoE,IAIA,GAAA,GAAA7rE,EAAAvH,OAAA,CACA,IAAA+sD,EAAAjuD,KAAAw+G,SACA,OAAAvwD,EAAArvD,eAAA6J,EAAA,KAAAwlD,EAAAxlD,EAAA,IAAAo0G,QAAAj+G,eAAA6J,EAAA,IAGAwlD,EAAAxlD,EAAA,IAAAo0G,QAAAp0G,EAAA,IAAAoD,MAFAyoE,IAIA,GAAA,GAAA7rE,EAAAvH,OAAA,CACA,IAAA+sD,EAAAjuD,KAAAw+G,SACA,OAAAvwD,EAAArvD,eAAA6J,EAAA,KAAAwlD,EAAAxlD,EAAA,IAAAo0G,QAAAj+G,eAAA6J,EAAA,KAAAwlD,EAAAxlD,EAAA,IAAAo0G,QAAAp0G,EAAA,IAAAo0G,QAAAj+G,eAAA6J,EAAA,IAGAwlD,EAAAxlD,EAAA,IAAAo0G,QAAAp0G,EAAA,IAAAo0G,QAAAp0G,EAAA,IAAAoD,MAFAyoE,IAKA,MAAA,IAAAj2E,MAAA,qBAGAq2E,EAAA9zE,UAAA+zE,UAAA,SAAAlsE,GACA,GAAA2C,EAAAqc,SAAAhf,GACA,OAAAA,EACA,GAAA2C,EAAAW,SAAAtD,GACA,OAAAzI,KAAAu+G,QAAA,CAAA91G,IACA,IAAAsJ,EAAA,EACA8f,EAAAppB,EAAAA,EAAAvH,OAAA,GAKA,OAJAkK,EAAAqc,SAAAoK,KACA9f,EAAA8f,EACAppB,EAAAA,EAAAg8B,MAAA,GAAA,IAEAzkC,KAAAu+G,QAAA91G,GAAAsJ,GAGA2iE,EAAA9zE,UAAA0qF,YAAA,SAAAj3C,GACA,IAAAvzC,EAAAd,KACA,OAAAqyB,EAAAloB,IAAAkqC,EAAA,SAAA5rC,GAAA,OAAA3H,EAAA6zE,UAAAlsE,MAEAisE,EAAA9zE,UAAAumB,MAAA,SAAAxN,GACA,IAAAjP,EAAAO,EAAA4B,EACAqlB,EACAusF,EACA,GAAA70G,EAAAw6B,MAAApkC,KAAA41E,QAAAxqE,EAAAW,UACAmmB,EAAA,EACAxnB,EAAAkyG,EAAA58G,KAAA41E,QAAA51E,KAAAm+G,gBAAAn+G,KAAAw+G,SAAA9zG,EAAA,GAAA+zG,EAAA/zG,EAAA,QAEA,GAAAd,EAAAw6B,MAAApkC,KAAA41E,QAAA,SAAAntE,GAAA,OAAA2C,EAAAa,QAAAxD,IAAA,GAAAA,EAAAvH,QAAAkK,EAAAW,SAAAtD,EAAA,KAAA2C,EAAAW,SAAAtD,EAAA,MACAypB,EAAA,EACAjnB,EAAA6xG,EAAA98G,KAAA41E,QAAA51E,KAAAq+G,cAAAr+G,KAAAm+G,gBAAAn+G,KAAAw+G,SAAAvzG,EAAA,GAAAjL,KAAAw1E,KAAAvqE,EAAA,GAAAwzG,EAAAxzG,EAAA,OAEA,CAAA,IAAArB,EAAAw6B,MAAApkC,KAAA41E,QAAA,SAAAntE,GAAA,OAAA2C,EAAAa,QAAAxD,IAAA,GAAAA,EAAAvH,QAAAkK,EAAAW,SAAAtD,EAAA,KAAA2C,EAAAW,SAAAtD,EAAA,KAAA2C,EAAAW,SAAAtD,EAAA,MAKA,MAAA,IAAApK,MAAA,OAJA6zB,EAAA,EACArlB,EAAA8wG,EAAA39G,KAAA41E,QAAA51E,KAAAq+G,cAAAr+G,KAAAo+G,iBAAAp+G,KAAAm+G,gBAAAn+G,KAAAw+G,SAAA3xG,EAAA,GAAA7M,KAAAw1E,KAAA3oE,EAAA,GAAA7M,KAAAq2E,KAAAxpE,EAAA,GAAA4xG,EAAA5xG,EAAA,GAIA,IAAAkd,EAAA,EACAC,EAAAhqB,KAAA41E,QAAA10E,OAAAu9G,EACA,GAAA,WAAAz+G,KAAA+6G,oBAAA,CACA,IAAA2D,GAAA10F,EAAAD,GAAA/pB,KAAA86G,cAAA,EACA/wF,GAAA20F,EACA10F,GAAA00F,OAGA30F,GAAA/pB,KAAA86G,cACA9wF,GAAAhqB,KAAA86G,cAEA96G,KAAAyZ,KAAA,CAAAsQ,MAAAA,EAAAC,IAAAA,EAAAkI,OAAAA,GAAA,CAAAvY,OAAAA,IACA,QAAA3Z,KAAA8tB,QACA9tB,KAAAyZ,KAAA,CAAAqU,OAAA,CAAA/D,EAAAC,IAAA,CAAArQ,QAAA,KAEA+6D,EArIA,CAsIA+lC,EAAAE,OACA/8G,EAAA82E,YAAAA,EACAA,EAAA36D,aCtOA,SAAArc,EAAAC,EAAAC,GACA,IAAAg9G,EAAAl9G,EAAA,KACAE,EAAA88G,UAAAE,EAAAF,UACA,IAAA9/B,EAAAl9E,EAAA,KACAE,EAAAg+E,YAAAhB,EAAAgB,YACA,IAAA3K,EAAAvzE,EAAA,KACAE,EAAA82E,YAAAzD,EAAAyD,YACA,IAAA+lC,EAAA/8G,EAAA,KACAE,EAAA+8G,MAAAF,EAAAE,MACA,IAAAl6C,EAAA/iE,EAAA,KACAE,EAAAsoE,QAAAzF,EAAAyF,SCVA,SAAAxoE,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACAi9G,EAAA,SAAArzG,GAEA,SAAAqzG,EAAApvG,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAEA,OADAc,EAAAs2G,4BAAA,EACAt2G,EAkCA,OAtCA+F,EAAAY,UAAAkzG,EAAArzG,GAMAqzG,EAAA5gG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAia,OAAA,CACAmrC,SAAA,CAAA/3C,EAAA6M,KACA4T,OAAA,CAAAzgB,EAAA6M,KACAm9F,aAAA,CAAAhqG,EAAA6M,KACAo9F,aAAA,CAAAjqG,EAAA6M,OAEAla,KAAA8a,SAAA,CACA01F,MAAA,CAAAnjG,EAAAoC,MAAA,OAGAkrG,EAAA/5G,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA+Y,OAAA,WAAA,OAAAjY,EAAA69G,oBAEAhE,EAAA/5G,UAAA+9G,eAAA,WACA,MAAA3+G,KAAAolD,WACAh6C,EAAAiP,WAAAra,KAAAolD,UACAplD,KAAAolD,SAAAplD,MAEAA,KAAAolD,SAAA2T,QAAA/4D,KAAA,MAGAhB,OAAAiU,eAAA0nG,EAAA/5G,UAAA,cAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA+pB,MAAA/pB,KAAAgqB,KAEA3W,YAAA,EACAC,cAAA,IAEAqnG,EAvCA,CAwCApvD,EAAAI,OACA/tD,EAAA+8G,MAAAA,EACAA,EAAA5gG,aC/CA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA+8G,EAAA/8G,EAAA,KACA2P,EAAA3P,EAAA,IACAwoE,EAAA,SAAA5+D,GAEA,SAAA4+D,EAAA36D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiDA,OAnDA6G,EAAAY,UAAAy+D,EAAA5+D,GAIA4+D,EAAAnsD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAia,OAAA,CACA8P,MAAA,CAAA1c,EAAAkmB,OAAA,GACAvJ,IAAA,CAAA3c,EAAAkmB,OAAA,GACAqrF,YAAA,CAAAvxG,EAAAkmB,QACAsrF,UAAA,CAAAxxG,EAAAkmB,WAGA2yC,EAAAtlE,UAAAk+G,iBAAA,WACA,GAAA,QAAA9+G,KAAA8tB,OAAA,CACA,IAAA5C,EAAA5b,KAAA4b,IAAAlrB,KAAA4+G,YAAA5+G,KAAA6+G,WACAjsG,EAAAtD,KAAAsD,IAAA5S,KAAA4+G,YAAA5+G,KAAA6+G,WACA7+G,KAAAyZ,KAAA,CAAAqU,OAAA,CAAA5C,EAAAtY,IAAA,CAAA+G,QAAA,MAGAusD,EAAAtlE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACA,MAAAA,KAAA4+G,cACA5+G,KAAA4+G,YAAA5+G,KAAA+pB,OAEA,MAAA/pB,KAAA6+G,YACA7+G,KAAA6+G,UAAA7+G,KAAAgqB,KAEAhqB,KAAA8+G,oBAEA9/G,OAAAiU,eAAAizD,EAAAtlE,UAAA,MAAA,CACAsS,IAAA,WACA,OAAA5D,KAAA4b,IAAAlrB,KAAA+pB,MAAA/pB,KAAAgqB,MAEA3W,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAizD,EAAAtlE,UAAA,MAAA,CACAsS,IAAA,WACA,OAAA5D,KAAAsD,IAAA5S,KAAA+pB,MAAA/pB,KAAAgqB,MAEA3W,YAAA,EACAC,cAAA,IAEA4yD,EAAAtlE,UAAA2vG,MAAA,WACAvwG,KAAA8+G,mBACA9+G,KAAA+pB,OAAA/pB,KAAA4+G,aAAA5+G,KAAAgqB,KAAAhqB,KAAA6+G,UACA7+G,KAAAyZ,KAAA,CAAAsQ,MAAA/pB,KAAA4+G,YAAA50F,IAAAhqB,KAAA6+G,YAEA7+G,KAAA+Y,OAAA2C,QAEAwqD,EApDA,CAqDAu0C,EAAAE,OACA/8G,EAAAsoE,QAAAA,EACAA,EAAAnsD,aC3DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA+7D,EAAA/7D,EAAA,KACA2P,EAAA3P,EAAA,IACAqhH,EAAA,SAAAz3G,GAEA,SAAAy3G,IACA,OAAA,OAAAz3G,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAs3G,EAAAz3G,GAIAy3G,EALA,CAMAtlD,EAAAY,cACAz8D,EAAAmhH,iBAAAA,EACA,IAAAC,EAAA,SAAA13G,GAEA,SAAA03G,EAAAzzG,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAYA,OAdA6G,EAAAY,UAAAu3G,EAAA13G,GAIA03G,EAAAjlG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAia,OAAA,CACAohD,aAAA,CAAAhuD,EAAAsmB,OAAA,WACA4nC,aAAA,CAAAluD,EAAAsmB,OAAA,aAEA3zB,KAAAob,SAAA,CACAmV,MAAA,WAGAyuF,EAfA,CAgBAvlD,EAAAc,UACA38D,EAAAohH,aAAAA,EACAA,EAAAjlG,aC9BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuhH,EAAAvhH,EAAA,KACAyrF,EAAAzrF,EAAA,KACAwhH,EAAAxhH,EAAA,KACAwB,EAAAxB,EAAA,IACA2P,EAAA3P,EAAA,IACA20B,EAAA30B,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACAuzE,EAAAvzE,EAAA,KACAyhH,EAAA,CACA5oF,KAAA,GACAJ,KAAA,IAEAipF,EAAA,CACA7oF,KAAA,CAAAD,WAAA,GAAAD,WAAA,QACAF,KAAA,CAAAL,WAAA,GAAAF,WAAA,SAEAypF,EAAA,CACA9oF,KAAA,CAAAD,WAAA,IACAH,KAAA,IAEAoC,EAAA,SAAAjxB,GAEA,SAAAixB,IACA,OAAA,OAAAjxB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAkSA,OApSA6G,EAAAY,UAAA8wB,EAAAjxB,GAIAixB,EAAA33B,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACA,IAAAs/G,EAAAt/G,KAAA5B,MAAA67F,MACAslB,EAAA31G,EAAAmqB,SAAAurF,EAAAtlG,OAAA,QACAwlG,EAAA51G,EAAAmqB,SAAAurF,EAAAtlG,OAAA,QACAylG,EAAA3hH,EAAAG,MAAAqhH,EAAArmG,YAEA,SAAAymG,EAAAjjG,GACA,IAAAlR,EAAAzN,EAAAG,MAAAwhH,GAKA,OAJAF,GACAzhH,EAAA+5B,OAAAtsB,EAAAkR,EAAA8Z,MACAipF,GACA1hH,EAAA+5B,OAAAtsB,EAAAkR,EAAA0Z,MACA,IAAAmpF,EAAAvjG,YAAAxQ,UAPAk0G,EAAA7/G,GASAI,KAAAi6F,MAAAj6F,KAAA2/G,iBAAAL,GACA,IAAAM,EAAA5/G,KAAA5B,MAAAwhH,gBACA,MAAAA,EACAA,EAAAF,EAAA,CAAAnpF,KAAA,GAAAJ,KAAA,KACA,SAAAypF,IACAA,EAAAF,EAAAP,IACAn/G,KAAA4/G,gBAAA5/G,KAAA2/G,iBAAAC,GACA,IAAAC,EAAA7/G,KAAA5B,MAAAyhH,mBACA,MAAAA,EACAA,EAAAH,EAAA,CAAAnpF,KAAA,GAAAJ,KAAA,KACA,SAAA0pF,IACAA,EAAAH,EAAAL,IACAr/G,KAAA6/G,mBAAA7/G,KAAA2/G,iBAAAE,GACA,IAAAC,EAAA9/G,KAAA5B,MAAA0hH,YACA,MAAAA,IACA9/G,KAAA8/G,YAAA9/G,KAAA2/G,iBAAAG,IACA,IAAAC,EAAA//G,KAAA5B,MAAA2hH,YACA,MAAAA,IACA//G,KAAA+/G,YAAA//G,KAAA2/G,iBAAAI,IACA,IAAAC,EAAAN,EAAAN,GACAp/G,KAAAggH,gBAAAhgH,KAAA2/G,iBAAAK,GACAhgH,KAAAsiC,OAAAtiC,KAAAu8B,UAAA0E,MAAAsB,QAAAviC,KAAA5B,MAAAi9D,cACAr7D,KAAAyiC,OAAAziC,KAAAu8B,UAAA0E,MAAAyB,QAAA1iC,KAAA5B,MAAAm9D,cACAv7D,KAAA85D,UAAA,IAEAvhC,EAAA33B,UAAA++G,iBAAA,SAAAvhH,GACA,OAAA,IAAAA,EAAA4L,aAAA,CAAA5L,MAAAA,EAAAwS,OAAA5Q,QAEAu4B,EAAA33B,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAg6D,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAA67F,MAAAlhF,OAAA,WAAA,OAAAjY,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAAulD,YAAA5qC,OAAA,WAAA,OAAAjY,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAAulD,YAAAgX,UAAA,WAAA,OAAA75D,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAAulD,YAAAiX,SAAA,SAAAx4C,GAAA,OAAAthB,EAAAg5D,UAAA,EAAA13C,KACApiB,KAAAa,QAAAb,KAAA5B,MAAAulD,YAAA59B,SAAAhN,OAAA,WAAA,OAAAjY,EAAAg6D,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAAulD,YAAA82C,QAAA,WAAA,OAAA35F,EAAAg6D,mBACA,MAAA96D,KAAA8/G,aACA9/G,KAAAa,QAAAb,KAAA5B,MAAAulD,YAAA5qB,QAAA,WAAA,OAAAj4B,EAAAg6D,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAnO,KAAAgO,OAAA,WAAA,OAAAjY,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAA2M,KAAAgO,OAAA,WAAA,OAAAjY,EAAAg5D,aACA,IAAApvD,EAAA1K,KAAAu8B,UAAA0E,MAAA4yC,EAAAnpE,EAAAmpE,SAAAC,EAAAppE,EAAAopE,SACA,IAAA,IAAAn1E,KAAAk1E,EAAA,CACA,IAAA4iC,EAAA5iC,EAAAl1E,GACA83G,aAAAxlC,EAAAyD,aACA10E,KAAAa,QAAA41G,EAAA19F,OAAA,WAAA,OAAAjY,EAAAg5D,aAEA,IAAA,IAAAp/C,KAAAo5D,EAAA,CACA,IAAA2iC,EAAA3iC,EAAAp5D,GACA+7F,aAAAxlC,EAAAyD,aACA10E,KAAAa,QAAA41G,EAAA19F,OAAA,WAAA,OAAAjY,EAAAg5D,aAEA95D,KAAAa,QAAAb,KAAA5B,MAAA67F,MAAAjhF,gBAAA,WAAA,OAAAlY,EAAAg5D,cAEAvhC,EAAA33B,UAAAq/G,sBAAA,WACA,OAAA,MAAAjgH,KAAA4/G,iBAAA,MAAA5/G,KAAA6/G,oBAIAtnF,EAAA33B,UAAAk5D,SAAA,SAAAgB,EAAA14C,QACA,IAAA04C,IACAA,GAAA,QAEA,IAAA14C,IACAA,EAAA,MAEA,IAAA89F,EAAAn2E,KAAAC,MACAtqB,EAAA1f,KAAA5B,MAAAulD,YACA3jD,KAAAopD,YAAAppD,KAAA5B,MAAA2M,KAAAqX,QAGApiB,KAAAi6F,MAAA77F,MAAAqb,KAAA,CAAA4hD,aAAAr7D,KAAA5B,MAAAi9D,aACAE,aAAAv7D,KAAA5B,MAAAm9D,cAAA,CAAA5hD,QAAA,IACA3Z,KAAAi6F,MAAAngC,SAAAp6C,EAAA1f,KAAAopD,YAAAhnC,GACApiB,KAAAi6F,MAAAxQ,YAAA/pE,GACA1f,KAAAggH,gBAAAv2B,YAAA/pE,GACA1f,KAAAigH,0BACAjgH,KAAA4/G,gBAAAn2B,YAAA/pE,GACA1f,KAAA6/G,mBAAAp2B,YAAA/pE,IAEA,MAAA1f,KAAA8/G,aACA9/G,KAAA8/G,YAAAr2B,YAAA/pE,GACA,MAAA1f,KAAA+/G,aACA//G,KAAA+/G,YAAAt2B,YAAA/pE,GACA,IAAA+vF,EAAAzvG,KAAA+5D,WAAA01C,WACAzvG,KAAAmgH,UAAA,GACA,IAAA,IAAAlwG,EAAA,EAAA+Z,EAAA1a,KAAA64B,MAAAnoC,KAAAopD,YAAAloD,OAAAuuG,GAAAx/F,EAAA+Z,EAAA/Z,IACAjQ,KAAAmgH,UAAAn1G,KAAAiF,EAAAw/F,GAEA,IAAA2Q,EAAAr2E,KAAAC,MAAAk2E,EACAhhH,EAAAwB,OAAAC,MAAAX,KAAAi6F,MAAA77F,MAAAmb,KAAA,mBAAAvZ,KAAA5B,MAAAwB,GAAA,2BAAAwgH,EAAA,MACApgH,KAAAs4G,mBAAAvuE,KAAAC,MACA8wB,GACA96D,KAAA86D,kBAEA97D,OAAAiU,eAAAslB,EAAA33B,UAAA,YAAA,CACAsS,IAAA,WACA,OAAA,MAAAlT,KAAAi6F,MAAAzQ,SAEAn2E,YAAA,EACAC,cAAA,IAEAilB,EAAA33B,UAAAkU,OAAA,WACA,IAAAhU,EAAAd,KACA,GAAAA,KAAA5B,MAAAkpB,QAAA,CAEA,IAAA44F,EAAAn2E,KAAAC,MACAq2E,EAAArgH,KAAA64G,UACA74G,KAAAi6F,MAAAtO,WACA,IAAA20B,EAAAv2E,KAAAC,MAAAk2E,EACAK,EAAAx2E,KAAAC,MAGA5nB,EAAApiB,KAAAi6F,MAAAvO,UAAA1rF,KAAAopD,aACAhnC,EAAAlhB,SAAAlB,KAAAopD,YAAAloD,SACAkhB,EAAAxY,EAAAg7B,MAAA,EAAA5kC,KAAAopD,YAAAloD,SAEA,IAAAs/G,EAAAz2E,KAAAC,MAAAu2E,EACA9wF,EAAAzvB,KAAAu8B,UAAAs9B,YAAApqC,IACAA,EAAAmsC,OAEA,IACA6kD,EADA16F,EAAA/lB,KAAA5B,MAAAulD,YAAA59B,SAGA06F,GADA16F,GAAAA,EAAAkT,WACA,GAGAj5B,KAAAi6F,iBAAA9Q,EAAA2B,UAAA/kE,EAAA26F,iBAAA1gH,KAAAi6F,MAAA77F,MACA4B,KAAA5B,MAAA2M,KAAA41G,4BAAAv+F,GAGA2D,EAAA3D,QAIA,IACAw+F,EADAxnF,EAAAp5B,KAAA5B,MAAAulD,YAAAvqB,UAOAwnF,EALAxnF,GAAA,IAAAA,EAAAl4B,OAIAk4B,EAAA,MAAA6gE,MACAj6F,KAAA5B,MAAA2M,KAAA41G,4BAAAv+F,GAEAgX,EAAA,MAAAhX,QAAAlhB,OAAA,EACAk4B,EAAA,MAAAhX,QAGA,WAEA,IADA,IAAArE,EAAA,GACA3T,EAAA,EAAAM,EAAA1L,OAAAC,KAAAm6B,EAAA,MAAAhX,SAAAhY,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA6F,EAAAvF,EAAAN,GACA2T,EAAA/S,KAAAkkC,SAAAj/B,IAEA,OAAA8N,EANA,GAVA,GAqBA,IAUAk8E,EACA4lB,EACAD,EAZAiB,EAAA,WAEA,IADA,IAAA9iG,EAAA,GACA3T,EAAA,EAAAusF,EAAAv0E,EAAAhY,EAAAusF,EAAAz1F,OAAAkJ,IAAA,CACA,IAAA6F,EAAA0mF,EAAAvsF,GACAR,EAAAmqB,SAAA6sF,EAAA9/G,EAAAsoD,YAAAn5C,KACA8N,EAAA/S,KAAAiF,GAEA,OAAA8N,EAPA,GASA4xF,EAAA3vG,KAAA+5D,WAAA41C,cAIA,MAAA3vG,KAAA5B,MAAA0F,UAAA9D,KAAA5B,MAAA0F,SAAAqpD,uBAAA,IACAkzD,GAAA,MAAA1Q,GAAA3vG,KAAAopD,YAAAloD,OAAAyuG,GAEAvtF,EAAApiB,KAAAmgH,UACAlmB,EAAAj6F,KAAAggH,gBACAH,EAAA7/G,KAAAggH,gBACAJ,EAAA5/G,KAAA4/G,kBAGA3lB,EAAAj6F,KAAA5B,MAAA0uE,OAAA,MAAA9sE,KAAA+/G,YAAA//G,KAAA+/G,YAAA//G,KAAAi6F,MACA4lB,EAAA7/G,KAAA6/G,mBACAD,EAAA5/G,KAAA4/G,iBAEA,MAAA5/G,KAAA8/G,aAAAe,EAAA3/G,SACAkhB,EAAAxY,EAAAM,WAAAkY,EAAAy+F,IAEA,IACAC,EADAC,EAAA,KAEA,GAAAN,EAAAv/G,QAAAlB,KAAAigH,wBAeA,CAIA,IAFA,IAAAe,EAAAj3E,KAAAC,MACAi3E,EAAA,GACA72G,EAAA,EAAA82G,EAAAT,EAAAr2G,EAAA82G,EAAAhgH,OAAAkJ,IAAA,CACA,IAAA6F,EAAAixG,EAAA92G,GACA62G,EAAAhxG,IAAA,EAGA,IAAAkxG,EAAA,IAAA1xG,MACA2xG,EAAA,IAAA3xG,MAEA,GAAAzP,KAAAi6F,iBAAA9Q,EAAA2B,SACA,IAAA,IAAApgF,EAAA,EAAAO,EAAAjL,KAAAopD,YAAA1+C,EAAAO,EAAA/J,OAAAwJ,IAAA,CACA,IAAAuF,EAAAhF,EAAAP,GACA,MAAAu2G,EAAAhxG,GACAkxG,EAAAn2G,KAAAiF,GAEAmxG,EAAAp2G,KAAAiF,QAIA,IAAA,IAAApD,EAAA,EAAAw2E,EAAAjhE,EAAAvV,EAAAw2E,EAAAniF,OAAA2L,IAAA,CACA,IAAAoD,EAAAozE,EAAAx2E,GACA,MAAAo0G,EAAAjhH,KAAAopD,YAAAn5C,IACAkxG,EAAAn2G,KAAAiF,GAEAmxG,EAAAp2G,KAAAiF,GAGA8wG,EAAAh3E,KAAAC,MAAAg3E,EACAF,EAAA/2E,KAAAC,MACA61E,EAAA/qG,OAAA2a,EAAA2xF,EAAAphH,KAAAi6F,OACA2lB,EAAA9qG,OAAA2a,EAAA0xF,EAAAnhH,KAAAi6F,OACA,MAAAj6F,KAAA8/G,cACA9/G,KAAAi6F,iBAAA9Q,EAAA2B,SACA9qF,KAAA8/G,YAAAhrG,OAAA2a,EAAAzvB,KAAA5B,MAAA2M,KAAA41G,4BAAAE,GAAA7gH,KAAAi6F,OAEAj6F,KAAA8/G,YAAAhrG,OAAA2a,EAAAoxF,EAAA7gH,KAAAi6F,aApDA6mB,EAAA/2E,KAAAC,MACAhqC,KAAAi6F,iBAAA9Q,EAAA2B,SACA9qF,KAAA8/G,aAAAe,EAAA3/G,OACAlB,KAAA8/G,YAAAhrG,OAAA2a,EAAAzvB,KAAA5B,MAAA2M,KAAA41G,4BAAAE,GAAA7gH,KAAAi6F,OAEAA,EAAAnlF,OAAA2a,EAAAzvB,KAAAopD,YAAAppD,KAAAi6F,QAGAA,EAAAnlF,OAAA2a,EAAArN,EAAApiB,KAAAi6F,OACAj6F,KAAA8/G,aAAAe,EAAA3/G,QACAlB,KAAA8/G,YAAAhrG,OAAA2a,EAAAoxF,EAAA7gH,KAAAi6F,QA6CA,IAAAonB,EAAAt3E,KAAAC,MAAA82E,EACA9gH,KAAAshH,cAAAD,EACA,IAAAE,EAAAx3E,KAAAC,MAAAk2E,EACAhhH,EAAAwB,OAAAC,MAAAX,KAAAi6F,MAAA77F,MAAAmb,KAAA,mBAAAvZ,KAAA5B,MAAAwB,GAAA,yBAAA2hH,EAAA,MACAriH,EAAAwB,OAAAuD,MAAA,mCAAAq8G,EAAA,MACAphH,EAAAwB,OAAAuD,MAAA,mCAAAu8G,EAAA,MACA,MAAAO,GACA7hH,EAAAwB,OAAAuD,MAAA,mCAAA88G,EAAA,MAEA7hH,EAAAwB,OAAAuD,MAAA,mCAAAo9G,EAAA,MACA5xF,EAAAwsC,YAEA1jC,EAAA33B,UAAAwsE,YAAA,SAAA39C,EAAAjO,EAAAP,EAAAQ,EAAAP,EAAAnB,EAAA3P,EAAA2vB,GACA,MAAAA,IACAA,EAAA//B,KAAA5B,MAAAojH,oBAAAzhG,EAAA3P,IACApQ,KAAAi6F,MAAAnW,sBAAAr0D,EAAA,CAAAjO,GAAAA,EAAAP,GAAAA,EAAAQ,GAAAA,EAAAP,GAAAA,GAAA6e,IAEAxH,EAAA33B,UAAAi4B,SAAA,SAAA1wB,GACA,IAAAnI,KAAA5B,MAAAkpB,QACA,OAAA,KACA,IAAAqR,EAAA34B,KAAAi6F,MAAAphE,SAAA1wB,GAEA,OAAA,MAAAwwB,EACA,KACA34B,KAAA5B,MAAA2M,KAAAmvF,8BAAAvhE,IAEAJ,EArSA,CAsSA0mF,EAAAF,kBACAnhH,EAAA26B,kBAAAA,EACA,IAAAy4E,EAAA,SAAA1pG,GAEA,SAAA0pG,EAAAzlG,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAsCA,OAxCA6G,EAAAY,UAAAupG,EAAA1pG,GAIA0pG,EAAAj3F,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAY,UAAAoJ,aAAAuuB,EACAv4B,KAAAia,OAAA,CACA0pC,YAAA,CAAAt2C,EAAAimB,UACAvoB,KAAA,CAAAsC,EAAAimB,SAAA,WAAA,OAAA,IAAA4rF,EAAAuC,UACAxnB,MAAA,CAAA5sF,EAAAimB,UACAwsF,YAAA,CAAAzyG,EAAAimB,UACAusF,mBAAA,CAAAxyG,EAAA6M,IAAA,QACA0lG,gBAAA,CAAAvyG,EAAA6M,IAAA,QACA6lG,YAAA,CAAA1yG,EAAAimB,UACAw5C,MAAA,CAAAz/D,EAAA8lB,SAAA,MAGA69E,EAAApwG,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACA,MAAAA,KAAA+K,KAAA2U,SACA1f,KAAA+K,KAAA2U,OAAA1f,KAAA2jD,YACA3jD,KAAA+K,KAAAsyE,oBAGA2zB,EAAApwG,UAAA4gH,oBAAA,SAAAzhG,EAAAlU,GACA,IAAAk0B,EAAA,EACA,GAAA,MAAAhgB,EAAA,CACA,IAAA3b,EAAApE,KAAA2jD,YAAAtvB,WAAAtU,GACA,GAAA,MAAA3b,EAAA,CACA,IAAA6L,EAAAoiB,EAAAsS,QAAAvgC,EAAAyH,IACA,GAAAoE,IACA8vB,EAAA9vB,IAGA,OAAA8vB,GAEAixE,EAAApwG,UAAA+5F,sBAAA,WACA,OAAA36F,KAAA2jD,YAAA43C,mBAEAyV,EAzCA,CA0CAiO,EAAAD,cACAphH,EAAAozG,cAAAA,EACAA,EAAAj3F,aC3WA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuhH,EAAAvhH,EAAA,KACAgkH,EAAAhkH,EAAA,KACA2P,EAAA3P,EAAA,IACA2xE,EAAA3xE,EAAA,GACA86B,EAAA,SAAAlxB,GAEA,SAAAkxB,IACA,OAAA,OAAAlxB,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAsDA,OAxDA6G,EAAAY,UAAA+wB,EAAAlxB,GAIAkxB,EAAA53B,UAAA4T,WAAA,WACA,IAAA9J,EACApD,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAsiC,OAAAtiC,KAAAu8B,UAAA0E,MAAAsB,QAAAC,QACAxiC,KAAAyiC,OAAAziC,KAAAu8B,UAAA0E,MAAAyB,QAAAF,QACAxiC,KAAA2hH,gBAAA,GACAj3G,EAAA2kE,EAAAxlE,YAAA7J,KAAA2hH,gBAAA,CAAA3hH,KAAA5B,MAAAo8F,cAAAx6F,KAAA5B,MAAAi9F,eAAA,CAAAzqF,OAAA5Q,KAAA4Q,SAAA5Q,KAAAg6F,UAAAtvF,EAAA,GAAA1K,KAAAo6F,UAAA1vF,EAAA,GACA1K,KAAA85D,YAEAthC,EAAA53B,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAAwjH,gBAAA7oG,OAAA,WAAA,OAAAjY,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAAo8F,cAAA72C,YAAA82C,QAAA,WAAA,OAAA35F,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAAo8F,cAAA72C,YAAA5qB,QAAA,WAAA,OAAAj4B,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAAo8F,cAAA72C,YAAA5qC,OAAA,WAAA,OAAAjY,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAAi9F,cAAA13C,YAAA82C,QAAA,WAAA,OAAA35F,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAAi9F,cAAA13C,YAAA5qB,QAAA,WAAA,OAAAj4B,EAAAg5D,aACA95D,KAAAa,QAAAb,KAAA5B,MAAAi9F,cAAA13C,YAAA5qC,OAAA,WAAA,OAAAjY,EAAAg5D,aACA,IAAApvD,EAAA1K,KAAAu8B,UAAA0E,MAAA4yC,EAAAnpE,EAAAmpE,SAAAC,EAAAppE,EAAAopE,SACA,IAAA,IAAAn1E,KAAAk1E,EAAA,CACA,IAAA4iC,EAAA5iC,EAAAl1E,GACAqB,KAAAa,QAAA41G,EAAA19F,OAAA,WAAA,OAAAjY,EAAAg5D,aAEA,IAAA,IAAAp/C,KAAAo5D,EAAA,CACA,IAAA2iC,EAAA3iC,EAAAp5D,GACA1a,KAAAa,QAAA41G,EAAA19F,OAAA,WAAA,OAAAjY,EAAAg5D,eAGAthC,EAAA53B,UAAAk5D,SAAA,SAAAgB,GACA,IAAApwD,EAAAO,OACA,IAAA6vD,IACAA,GAAA,GAIA96D,KAAAg6F,UAAAC,MAAA77F,MAAAqb,KAAA,CAAA4hD,aAAAr7D,KAAA5B,MAAAi9D,aAAAE,aAAAv7D,KAAA5B,MAAAm9D,cAAA,CAAA5hD,QAAA,IACA3Z,KAAAo6F,UAAAH,MAAA77F,MAAAqb,KAAA,CAAA4hD,aAAAr7D,KAAA5B,MAAAi9D,aAAAE,aAAAv7D,KAAA5B,MAAAm9D,cAAA,CAAA5hD,QAAA,IAEA,IAAAkoG,EAAA7hH,KAAAg6F,UAAAC,MACAvvF,EAAA1K,KAAA5B,MAAAwjH,gBAAA3lB,qBAAAj8F,KAAA5B,MAAAo8F,cAAA72C,aAAAk+D,EAAAx5D,GAAA39C,EAAA,GAAAm3G,EAAA5nD,GAAAvvD,EAAA,GACA,IAAAo3G,EAAA9hH,KAAAo6F,UAAAH,MACAhvF,EAAAjL,KAAA5B,MAAAwjH,gBAAA1lB,qBAAAl8F,KAAA5B,MAAAi9F,cAAA13C,aAAAm+D,EAAA5nD,IAAAjvD,EAAA,GAAA62G,EAAA3nD,IAAAlvD,EAAA,GACA42G,EAAAr2B,aACAs2B,EAAAt2B,aACA1wB,GACA96D,KAAA86D,kBAEAtiC,EAAA53B,UAAAkU,OAAA,WACA9U,KAAAo6F,UAAAtlF,SACA9U,KAAAg6F,UAAAllF,UAEA0jB,EAzDA,CA0DAymF,EAAAF,kBACAnhH,EAAA46B,kBAAAA,EACA,IAAAupF,EAAA,SAAAz6G,GAEA,SAAAy6G,EAAAx2G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgBA,OAlBA6G,EAAAY,UAAAs6G,EAAAz6G,GAIAy6G,EAAAhoG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAY,UAAAoJ,aAAAwuB,EACAx4B,KAAAia,OAAA,CACA2nG,gBAAA,CAAAv0G,EAAAimB,UACAknE,cAAA,CAAAntF,EAAAimB,UACA+nE,cAAA,CAAAhuF,EAAAimB,UACAsF,iBAAA,CAAAvrB,EAAAimB,SAAA,WAAA,OAAA,IAAAouF,EAAArnB,YACAhhE,kBAAA,CAAAhsB,EAAAimB,SAAA,WAAA,OAAA,IAAAouF,EAAArnB,eAGA0nB,EAAAnhH,UAAA+5F,sBAAA,WACA,OAAA36F,KAAAw6F,cAAA72C,YAAA43C,mBAEAwmB,EAnBA,CAoBA9C,EAAAD,cACAphH,EAAAmkH,cAAAA,EACAA,EAAAhoG,aCxFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA+7D,EAAA/7D,EAAA,KACAm3E,EAAA,SAAAvtE,GAEA,SAAAutE,IACA,OAAA,OAAAvtE,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAotE,EAAAvtE,GAIAutE,EALA,CAMApb,EAAAY,cACAz8D,EAAAi3E,kBAAAA,EACA,IAAAK,EAAA,SAAA5tE,GAEA,SAAA4tE,EAAA3pE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAQA,OAVA6G,EAAAY,UAAAytE,EAAA5tE,GAIA4tE,EAAAn7D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAob,SAAA,CACAmV,MAAA,aAGA2kD,EAXA,CAYAzb,EAAAc,UACA38D,EAAAs3E,cAAAA,EACAA,EAAAn7D,aCzBA,SAAArc,EAAAC,EAAAC,GACA,IAAAm6B,EAAAr6B,EAAA,KACAE,EAAAozG,cAAAj5E,EAAAi5E,cACA,IAAAh5E,EAAAt6B,EAAA,KACAE,EAAAmkH,cAAA/pF,EAAA+pF,cACA,IAAA/wC,EAAAtzE,EAAA,KACAE,EAAAs3E,cAAAlE,EAAAkE,cACA,IAAAzb,EAAA/7D,EAAA,KACAE,EAAA28D,SAAAd,EAAAc,UCRA,SAAA78D,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAi8E,EAAAj8E,EAAA,GACAm9D,EAAAn9D,EAAA,IACA2P,EAAA3P,EAAA,IACA6tD,EAAA7tD,EAAA,IAEA28D,EAAA,SAAA/yD,GAEA,SAAA+yD,IACA,OAAA,OAAA/yD,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA4CA,OA9CA6G,EAAAY,UAAA4yD,EAAA/yD,GAIA+yD,EAAAz5D,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA66D,QAAA,IAAAA,EAAA9P,QAAA/qD,KAAA5B,OACA4B,KAAAyU,eAAA,GAEAzV,OAAAiU,eAAAonD,EAAAz5D,UAAA,YAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA4Q,QAEAyC,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAonD,EAAAz5D,UAAA,aAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA4Q,OAAAxS,OAEAiV,YAAA,EACAC,cAAA,IAEA+mD,EAAAz5D,UAAAk6D,eAAA,WACA96D,KAAAu8B,UAAAu+B,kBAEAT,EAAAz5D,UAAAsxE,cAAA,SAAAzpE,EAAAC,GACA,OAAA1I,KAAAu8B,UAAA21C,cAAAzpE,EAAAC,EAAA1I,KAAA5B,MAAAi9D,aAAAr7D,KAAA5B,MAAAm9D,eAEAv8D,OAAAiU,eAAAonD,EAAAz5D,UAAA,aAAA,CACAsS,IAAA,WACA,OAAA,GAEAG,YAAA,EACAC,cAAA,IAEA+mD,EAAAz5D,UAAA+oF,gBAAA,WACA3pF,KAAAu8B,UAAAotD,mBAEA3qF,OAAAiU,eAAAonD,EAAAz5D,UAAA,YAAA,CACAsS,IAAA,WACA,OAAA,GAEAG,YAAA,EACAC,cAAA,IAEA+mD,EA/CA,CAgDAsf,EAAAplE,SACA3W,EAAAy8D,aAAAA,EACA,IAAAE,EAAA,SAAAjzD,GAEA,SAAAizD,EAAAhvD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAA8yD,EAAAjzD,GAIAizD,EAAAxgD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAia,OAAA,CACAsW,MAAA,CAAAljB,EAAA6J,aACAoQ,QAAA,CAAAja,EAAA8lB,SAAA,MAGAonC,EAZA,CAaAhP,EAAAI,OACA/tD,EAAA28D,SAAAA,EACAA,EAAAxgD,aCxEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6iE,EAAA7iE,EAAA,KACAm+E,EAAA,SAAAv0E,GAEA,SAAAu0E,EAAAtwE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAAo0E,EAAAv0E,GAIAu0E,EAAA9hE,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,oBAEAsiE,EAAAj7E,UAAA6sB,QAAA,SAAAhlB,GACA,OAAAnB,EAAA1G,UAAA6sB,QAAA5lB,KAAA7H,KAAAA,KAAAimE,aAAA0O,UAAAlsE,KAEAozE,EAAAj7E,UAAA0zB,UAAA,SAAA+f,GACA,OAAA/sC,EAAA1G,UAAA0zB,UAAAzsB,KAAA7H,KAAAA,KAAAimE,aAAAqlB,YAAAj3C,KAEAwnC,EAdA,CAeAtb,EAAA6F,aACAxoE,EAAAi+E,iBAAAA,EACAA,EAAA9hE,aCpBA,SAAArc,EAAAC,EAAAC,GACA,IAAA+8E,EAAAj9E,EAAA,KACAE,EAAAi+E,iBAAAlB,EAAAkB,iBACA,IAAAtb,EAAA7iE,EAAA,KACAE,EAAAwoE,YAAA7F,EAAA6F,YACA,IAAA5F,EAAA9iE,EAAA,KACAE,EAAAyoE,SAAA7F,EAAA6F,SACA,IAAA27C,EAAAtkH,EAAA,KACAE,EAAAqkH,MAAAD,EAAAC,OCRA,SAAAvkH,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAskH,EAAAtkH,EAAA,KACA0oE,EAAA,SAAA9+D,GAEA,SAAA8+D,EAAA76D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA2CA,OA7CA6G,EAAAY,UAAA2+D,EAAA9+D,GAIA8+D,EAAArsD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eAEA6sD,EAAAxlE,UAAA6sB,QAAA,SAAAhlB,GACA,IAAAiC,EAAA1K,KAAAkiH,iBAAA57D,EAAA57C,EAAA,GAAAqH,EAAArH,EAAA,GACA,OAAA47C,EAAA79C,EAAAsJ,GAEAq0D,EAAAxlE,UAAA0zB,UAAA,SAAA+f,GAGA,IAFA,IAAA3pC,EAAA1K,KAAAkiH,iBAAA57D,EAAA57C,EAAA,GAAAqH,EAAArH,EAAA,GACAqT,EAAA,IAAAmV,aAAAmhB,EAAAnzC,QACA+O,EAAA,EAAAA,EAAAokC,EAAAnzC,OAAA+O,IACA8N,EAAA9N,GAAAq2C,EAAAjS,EAAApkC,GAAA8B,EACA,OAAAgM,GAEAqoD,EAAAxlE,UAAA+hC,OAAA,SAAAw/E,GACA,IAAAz3G,EAAA1K,KAAAkiH,iBAAA57D,EAAA57C,EAAA,GAAAqH,EAAArH,EAAA,GACA,OAAAy3G,EAAApwG,GAAAu0C,GAEA8f,EAAAxlE,UAAA22F,SAAA,SAAA6qB,GAGA,IAFA,IAAA13G,EAAA1K,KAAAkiH,iBAAA57D,EAAA57C,EAAA,GAAAqH,EAAArH,EAAA,GACAqT,EAAA,IAAAmV,aAAAkvF,EAAAlhH,QACA+O,EAAA,EAAAA,EAAAmyG,EAAAlhH,OAAA+O,IACA8N,EAAA9N,IAAAmyG,EAAAnyG,GAAA8B,GAAAu0C,EACA,OAAAvoC,GAEAqoD,EAAAxlE,UAAAshH,eAAA,WAQA,IAAAG,EAAAriH,KAAAimE,aAAAl8C,MACAu4F,EAAAtiH,KAAAimE,aAAAj8C,IACAu4F,EAAAviH,KAAAmmE,aAAAp8C,MACAy4F,EAAAxiH,KAAAmmE,aAAAn8C,IACAs8B,GAAAk8D,EAAAD,IAAAD,EAAAD,GACAtwG,GAAAu0C,EAAA+7D,EAAAE,EACA,MAAA,CAAAj8D,EAAAv0C,IAEAq0D,EA9CA,CA+CA47C,EAAAC,OACArkH,EAAAwoE,YAAAA,EACAA,EAAArsD,aCpDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAskH,EAAAtkH,EAAA,KACA2oE,EAAA,SAAA/+D,GAEA,SAAA++D,EAAA96D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA4FA,OA9FA6G,EAAAY,UAAA4+D,EAAA/+D,GAIA++D,EAAAtsD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YAEA8sD,EAAAzlE,UAAA6sB,QAAA,SAAAhlB,GACA,IACAoD,EADAnB,EAAA1K,KAAAkiH,iBAAA57D,EAAA57C,EAAA,GAAAqH,EAAArH,EAAA,GAAA+3G,EAAA/3G,EAAA,GAAAg4G,EAAAh4G,EAAA,GAEA,GAAA,GAAA+3G,EACA52G,EAAA,MACA,CACA,IAAAw8C,GAAA/4C,KAAA0iB,IAAAvpB,GAAAi6G,GAAAD,EAEA52G,EADA65C,SAAA2C,GACAA,EAAA/B,EAAAv0C,EAEAuiE,IAEA,OAAAzoE,GAEAw6D,EAAAzlE,UAAA0zB,UAAA,SAAA+f,GACA,IAAA3pC,EAAA1K,KAAAkiH,iBAAA57D,EAAA57C,EAAA,GAAAqH,EAAArH,EAAA,GAAA+3G,EAAA/3G,EAAA,GAAAg4G,EAAAh4G,EAAA,GACAqT,EAAA,IAAAmV,aAAAmhB,EAAAnzC,QACA,GAAA,GAAAuhH,EACA,IAAA,IAAAxyG,EAAA,EAAAA,EAAAokC,EAAAnzC,OAAA+O,IACA8N,EAAA9N,GAAA,OAGA,IAAA,IAAAA,EAAA,EAAAA,EAAAokC,EAAAnzC,OAAA+O,IAAA,CACA,IAAAo4C,GAAA/4C,KAAA0iB,IAAAqiB,EAAApkC,IAAAyyG,GAAAD,EACA52G,OAAA,EAEAA,EADA65C,SAAA2C,GACAA,EAAA/B,EAAAv0C,EAEAuiE,IACAv2D,EAAA9N,GAAApE,EAGA,OAAAkS,GAEAsoD,EAAAzlE,UAAA+hC,OAAA,SAAAw/E,GACA,IAAAz3G,EAAA1K,KAAAkiH,iBAAA57D,EAAA57C,EAAA,GAAAqH,EAAArH,EAAA,GAAA+3G,EAAA/3G,EAAA,GAAAg4G,EAAAh4G,EAAA,GACAmB,GAAAs2G,EAAApwG,GAAAu0C,EACA,OAAAh3C,KAAAqzG,IAAAF,EAAA52G,EAAA62G,IAEAr8C,EAAAzlE,UAAA22F,SAAA,SAAA6qB,GAGA,IAFA,IAAA13G,EAAA1K,KAAAkiH,iBAAA57D,EAAA57C,EAAA,GAAAqH,EAAArH,EAAA,GAAA+3G,EAAA/3G,EAAA,GAAAg4G,EAAAh4G,EAAA,GACAqT,EAAA,IAAAmV,aAAAkvF,EAAAlhH,QACA+O,EAAA,EAAAA,EAAAmyG,EAAAlhH,OAAA+O,IAAA,CACA,IAAApE,GAAAu2G,EAAAnyG,GAAA8B,GAAAu0C,EACAvoC,EAAA9N,GAAAX,KAAAqzG,IAAAF,EAAA52G,EAAA62G,GAEA,OAAA3kG,GAEAsoD,EAAAzlE,UAAAgiH,iBAAA,SAAAC,EAAAC,GACA,IAAAp4G,EACAqf,EAAA84F,EAAA,EAAA,EAAAA,EACA74F,EAAA84F,EAAA,EAAA,EAAAA,EACA,GAAA/4F,GAAAC,EACA,GAAA,GAAAD,EACAA,GAAArf,EAAA,CAAA,EAAA,KAAA,GAAAsf,EAAAtf,EAAA,OACA,CACA,IAAAq4G,EAAAzzG,KAAA0iB,IAAAjI,GAAAza,KAAA0iB,IAAA,IACAjI,EAAAza,KAAAqS,IAAA,GAAArS,KAAA64B,MAAA46E,IAEA/4F,EADA1a,KAAAC,KAAAwzG,IAAAzzG,KAAA64B,MAAA46E,GACAzzG,KAAAqS,IAAA,GAAArS,KAAAC,KAAAwzG,IAEAzzG,KAAAqS,IAAA,GAAArS,KAAAC,KAAAwzG,GAAA,GAGA,MAAA,CAAAh5F,EAAAC,IAEAq8C,EAAAzlE,UAAAshH,eAAA,WACA,IAMAO,EACAC,EAPAL,EAAAriH,KAAAimE,aAAAl8C,MACAu4F,EAAAtiH,KAAAimE,aAAAj8C,IACAu4F,EAAAviH,KAAAmmE,aAAAp8C,MACAy4F,EAAAxiH,KAAAmmE,aAAAn8C,IACAg5F,EAAAR,EAAAD,EACA73G,EAAA1K,KAAA4iH,iBAAAP,EAAAC,GAAAv4F,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,GAGA,GAAAqf,GACA04F,EAAAnzG,KAAA0iB,IAAAhI,GACA04F,EAAA,IAGAD,EAAAnzG,KAAA0iB,IAAAhI,GAAA1a,KAAA0iB,IAAAjI,GACA24F,EAAApzG,KAAA0iB,IAAAjI,IAEA,IAAAu8B,EAAA08D,EACAjxG,EAAAwwG,EACA,MAAA,CAAAj8D,EAAAv0C,EAAA0wG,EAAAC,IAEAr8C,EA/FA,CAgGA27C,EAAAC,OACArkH,EAAAyoE,SAAAA,EACAA,EAAAtsD,aCrGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAulH,EAAAvlH,EAAA,KACA2P,EAAA3P,EAAA,IACAukH,EAAA,SAAA36G,GAEA,SAAA26G,EAAA12G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAqBA,OAvBA6G,EAAAY,UAAAw6G,EAAA36G,GAIA26G,EAAAloG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAA8a,SAAA,CACAmrD,aAAA,CAAA54D,EAAA6M,KACAisD,aAAA,CAAA94D,EAAA6M,QAGA+nG,EAAArhH,UAAA+iF,UAAA,SAAAniE,EAAAP,GACA,OAAAjhB,KAAAmmE,aAAAgoB,YACA,CAAAnuF,KAAAytB,QAAAxM,GAAAjhB,KAAAytB,QAAAjM,IAEA,CAAAxhB,KAAAytB,QAAAjM,GAAAxhB,KAAAytB,QAAAxM,KAEAghG,EAAArhH,UAAAgmD,SAAA,SAAAK,EAAAC,GACA,OAAAlnD,KAAAmmE,aAAAgoB,YACA,CAAAnuF,KAAA2iC,OAAAukB,GAAAlnD,KAAA2iC,OAAAskB,IAEA,CAAAjnD,KAAA2iC,OAAAskB,GAAAjnD,KAAA2iC,OAAAukB,KAEA+6D,EAxBA,CAyBAgB,EAAAld,WACAnoG,EAAAqkH,MAAAA,EACAA,EAAAloG,aC/BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACA,IAAAuiB,EAAAziB,EAAA,KACAE,EAAAqkB,UAAA9B,EAAA8B,WCJA,SAAAvkB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAwlH,EAAA,SAAA57G,GAEA,SAAA47G,IACA,OAAA,OAAA57G,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAYA,OAdA6G,EAAAY,UAAAy7G,EAAA57G,GAIA47G,EAAAtiH,UAAAk4B,aAAA,SAAAH,EAAAjZ,EAAAtX,EAAAoE,GACA,OAAA,OAAAmsB,IAIAjZ,EAAAqG,SAAAxK,OAAAod,EAAAvwB,EAAAoE,GACAkT,EAAA+6E,QAAA/+E,QACAgE,EAAAqG,SAAAkT,aAGAiqF,EAfA,CAgBA33D,EAAAI,OACA/tD,EAAAslH,gBAAAA,EACAA,EAAAtiH,UAAA2Y,KAAA,kBACA,IAAA4pG,EAAA,SAAA77G,GAEA,SAAA67G,IACA,OAAA,OAAA77G,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAsBA,OAxBA6G,EAAAY,UAAA07G,EAAA77G,GAIA67G,EAAAviH,UAAAi4B,SAAA,SAAA1wB,EAAAgwB,GAEA,IADA,IAAAirF,EAAA,GACAh5G,EAAA,EAAAkuB,EAAAH,EAAA/tB,EAAAkuB,EAAAp3B,OAAAkJ,IAAA,CACA,IAAAyb,EAAAyS,EAAAluB,GACA2T,EAAA8H,EAAAgT,SAAA1wB,GACA,OAAA4V,GACAqlG,EAAAp4G,KAAA+S,GAEA,GAAAqlG,EAAAliH,OAAA,EAAA,CAEA,IADA,IAAAy3B,EAAAyqF,EAAA,GACA14G,EAAA,EAAA24G,EAAAD,EAAA14G,EAAA24G,EAAAniH,OAAAwJ,IAAA,CACA,IAAA44G,EAAAD,EAAA34G,GACAiuB,EAAA4qF,4BAAAD,GAEA,OAAA3qF,EAGA,OAAA,MAGAwqF,EAzBA,CA0BAD,GACAtlH,EAAAulH,mBAAAA,EACAA,EAAAviH,UAAA2Y,KAAA,qBACA,IAAAiqG,EAAA,SAAAl8G,GAEA,SAAAk8G,IACA,OAAA,OAAAl8G,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAsBA,OAxBA6G,EAAAY,UAAA+7G,EAAAl8G,GAIAk8G,EAAA5iH,UAAAi4B,SAAA,SAAA1wB,EAAAgwB,GAEA,IADA,IAAAirF,EAAA,GACAh5G,EAAA,EAAAq5G,EAAAtrF,EAAA/tB,EAAAq5G,EAAAviH,OAAAkJ,IAAA,CACA,IAAAyb,EAAA49F,EAAAr5G,GACA2T,EAAA8H,EAAAgT,SAAA1wB,GACA,OAAA4V,GACAqlG,EAAAp4G,KAAA+S,GAEA,GAAAqlG,EAAAliH,OAAA,EAAA,CAEA,IADA,IAAAy3B,EAAAyqF,EAAA,GACA14G,EAAA,EAAAg5G,EAAAN,EAAA14G,EAAAg5G,EAAAxiH,OAAAwJ,IAAA,CACA,IAAA44G,EAAAI,EAAAh5G,GACAiuB,EAAAgrF,qBAAAL,GAEA,OAAA3qF,EAGA,OAAA,MAGA6qF,EAzBA,CA0BAN,GACAtlH,EAAA4lH,eAAAA,EACAA,EAAA5iH,UAAA2Y,KAAA,kBC/EA,SAAA7b,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACAukB,EAAA,SAAA3a,GAEA,SAAA2a,EAAA1W,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiGA,OAnGA6G,EAAAY,UAAAwa,EAAA3a,GAIA2a,EAAAlI,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAia,OAAA,CACAmI,QAAA,CAAA/U,EAAAoC,MAAA,IACAiqE,aAAA,CAAArsE,EAAAoC,MAAA,IACAgkF,kBAAA,CAAApmF,EAAA6M,IAAA,MAEAla,KAAA8a,SAAA,CACA1S,MAAA,CAAAiF,EAAA8lB,SACAywF,gBAAA,CAAAv2G,EAAAoC,MAAA,IACA0jF,SAAA,CAAA9lF,EAAA6M,KACA40E,cAAA,CAAAzhF,EAAAoC,MAAA,OAGAwS,EAAArhB,UAAA4T,WAAA,WACA,IAAA1T,EAAAd,KACAsH,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA,MAAA,CAAAi6F,MAAA,KAAA73E,QAAA,GAAAyhG,MAAA,EAAA1wB,SAAA,WAAA,OAAA,OACAnzF,KAAA,MAAA,CAAAoiB,QAAA,IACApiB,KAAA,MAAA,CAAAoiB,QAAApiB,KAAAoiB,SACApiB,KAAAmzF,SAAA,WAAA,OAAA,MACAnzF,KAAAa,QAAAb,KAAAkZ,WAAAkJ,QAAArJ,OAAA,WACA,OAAAjY,EAAA,MAAAshB,QAAAthB,EAAAshB,UAEApiB,KAAAa,QAAAb,KAAAkZ,WAAAwgE,aAAA3gE,OAAA,WACAjY,EAAA,MAAAshB,QAAAthB,EAAA44E,aACA,GAAA54E,EAAA44E,aAAAx4E,OACAJ,EAAA,MAAA+iH,MAAA,EAEA/iH,EAAA,MAAA+iH,MAAA,IAEA7jH,KAAAa,QAAAb,KAAAkZ,WAAA0qG,gBAAA7qG,OAAA,WACA,OAAAjY,EAAA,MAAAm5F,MAAAn5F,EAAA4/G,iBAEA1gH,KAAAa,QAAAb,KAAAkZ,WAAAi6E,SAAAp6E,OAAA,WACA,OAAAjY,EAAA,MAAAqyF,SAAAryF,EAAAqyF,WAEAnzF,KAAAa,QAAAb,KAAAkZ,WAAAu6E,kBAAA16E,OAAA,WACA,OAAAjY,EAAA,MAAAshB,QAAAthB,EAAA2yF,qBAGAz0F,OAAAiU,eAAAgP,EAAArhB,UAAA,iBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA4jH,gBAAA1iH,OAAA,EACAlB,KAAA4jH,gBAAA,GAEA,MAEAvwG,YAAA,EACAC,cAAA,IAEA2O,EAAArhB,UAAAsyF,uBAAA,SAAA+G,GACAj6F,KAAA4jH,gBAAA54G,KAAAivF,IAEAh4E,EAAArhB,UAAA2a,OAAA,SAAA03F,EAAA7qG,EAAAoE,GACAxM,KAAAoI,MAAAA,EACAoE,EACAxM,KAAA2jH,qBAAA1Q,IAEAjzG,KAAAoiB,QAAA6wF,EAAA7wF,QACApiB,KAAA05E,aAAAu5B,EAAAv5B,aACA15E,KAAA4jH,gBAAA3Q,EAAA2Q,gBACA5jH,KAAAmzF,SAAA8f,EAAA9f,SACAnzF,KAAAyzF,kBAAAwf,EAAAxf,kBACAzzF,KAAA8uF,cAAAmkB,EAAAnkB,gBAGA7sE,EAAArhB,UAAAgT,MAAA,WACA5T,KAAAoI,OAAA,EACApI,KAAAoiB,QAAA,GACApiB,KAAA05E,aAAA,GACA15E,KAAAyzF,kBAAA,GACAzzF,KAAAmzF,SAAA,WAAA,OAAA,MACAnzF,KAAA4jH,gBAAA,IAEA3hG,EAAArhB,UAAAq4B,SAAA,WACA,OAAA,GAAAj5B,KAAAoiB,QAAAlhB,QAAA,GAAAlB,KAAA05E,aAAAx4E,QAAA,GAAAlB,KAAA8uF,cAAA5tF,QAEA+gB,EAAArhB,UAAA+iH,qBAAA,SAAAn9E,GACAxmC,KAAAoiB,QAAAxY,EAAAw8B,MAAAI,EAAApkB,QAAApiB,KAAAoiB,SACApiB,KAAA4jH,gBAAAh6G,EAAAw8B,MAAAI,EAAAo9E,gBAAA5jH,KAAA4jH,iBACA5jH,KAAA05E,aAAA9vE,EAAAw8B,MAAAI,EAAAkzC,aAAA15E,KAAA05E,cACA15E,KAAAmzF,aACAnzF,KAAAmzF,SAAA3sD,EAAA2sD,UACAnzF,KAAAyzF,kBAAA31F,EAAA80C,MAAApM,EAAAitD,kBAAAzzF,KAAAyzF,oBAEAxxE,EAAArhB,UAAA2iH,4BAAA,SAAA/8E,GACAxmC,KAAAoiB,QAAAxY,EAAAy8B,aAAAG,EAAApkB,QAAApiB,KAAAoiB,SAEApiB,KAAA4jH,gBAAAh6G,EAAAw8B,MAAAI,EAAAo9E,gBAAA5jH,KAAA4jH,iBACA5jH,KAAA05E,aAAA9vE,EAAAw8B,MAAAI,EAAAkzC,aAAA15E,KAAA05E,cACA15E,KAAAmzF,aACAnzF,KAAAmzF,SAAA3sD,EAAA2sD,UACAnzF,KAAAyzF,kBAAA31F,EAAA80C,MAAApM,EAAAitD,kBAAAzzF,KAAAyzF,oBAEAxxE,EApGA,CAqGAspC,EAAAI,OACA/tD,EAAAqkB,UAAAA,EACAA,EAAAlI,aC7GA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAomH,EAAApmH,EAAA,KACAwB,EAAAxB,EAAA,IACA2P,EAAA3P,EAAA,IACAqmH,EAAA,SAAAz8G,GAEA,SAAAy8G,EAAAx4G,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAEA,OADAc,EAAAkjH,aAAA,EACAljH,EA8DA,OAlEA+F,EAAAY,UAAAs8G,EAAAz8G,GAMAy8G,EAAAhqG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBACAvZ,KAAAia,OAAA,CACAgqG,aAAA,CAAA52G,EAAAsmB,OAAA,oBACAuwF,aAAA,CAAA72G,EAAA6M,IAAA,IACAiqG,OAAA,CAAA92G,EAAA2I,WAAA,QACAouG,YAAA,CAAA/2G,EAAA8lB,SAAA,MAGA4wF,EAAAnjH,UAAAkb,QAAA,WACA,MAAA9b,KAAAqkH,UACAC,cAAAtkH,KAAAqkH,UACA/8G,EAAA1G,UAAAkb,QAAAjU,KAAA7H,OAEA+jH,EAAAnjH,UAAA2jH,MAAA,WACA,IAAAzjH,EAAAd,MACAA,KAAAgkH,cACAhkH,KAAAgkH,aAAA,EACAhkH,KAAAwkH,SAAAxkH,KAAAg4F,MACAh4F,KAAAykH,oBAEAzkH,KAAAqkH,SAAAzkB,YADA,WAAA,OAAA9+F,EAAA0jH,SAAA1jH,EAAAk3F,KAAAl3F,EAAAurB,SAAAvrB,EAAAsjH,cACApkH,KAAAykH,oBAIAV,EAAAnjH,UAAA4jH,SAAA,SAAAxsB,EAAA3rE,EAAAq4F,GACA,IAAA5jH,EAAAd,UACA,IAAAqsB,IACAA,EAAA,QAEA,IAAAq4F,IACAA,GAAA,GAEA,IAAAC,EAAA3kH,KAAA4kH,kBAEAD,EAAA7mF,iBAAA,OAAA,WAAA,OAAAh9B,EAAA+jH,QAAAF,EAAA3sB,EAAA3rE,KACAs4F,EAAA7mF,iBAAA,QAAA,WAAA,OAAAh9B,EAAAgkH,SAAAH,KACAA,EAAAriH,QAEAyhH,EAAAnjH,UAAAgkH,gBAAA,WACA,IAAAD,EAAA,IAAAI,eACAJ,EAAAlrC,KAAAz5E,KAAAmkH,OAAAnkH,KAAAglH,UAAA,GACAL,EAAAM,iBAAA,EACAN,EAAAO,iBAAA,eAAAllH,KAAAikH,cACA,IAAAC,EAAAlkH,KAAAkkH,aACA,IAAA,IAAAvlH,KAAAulH,EAAA,CACA,IAAAr4G,EAAAq4G,EAAAvlH,GACAgmH,EAAAO,iBAAAvmH,EAAAkN,GAEA,OAAA84G,GAEAZ,EAAAnjH,UAAAikH,QAAA,SAAAF,EAAA3sB,EAAA3rE,GACA,GAAA,MAAAs4F,EAAAQ,OAAA,CACA,IAAAC,EAAAp/G,KAAAsvC,MAAAqvE,EAAAU,cACArlH,KAAAslH,UAAAF,EAAAptB,EAAA3rE,KAGA03F,EAAAnjH,UAAAkkH,SAAA,SAAAH,GACAzlH,EAAAwB,OAAAqB,MAAA,6BAAA/B,KAAAglH,SAAA,cAAAL,EAAAQ,SAEApB,EAnEA,CAoEAD,EAAAyB,kBACA3nH,EAAAmmH,eAAAA,EACAA,EAAAhqG,aC3EA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACA2P,EAAA3P,EAAA,IACAyiB,EAAAziB,EAAA,KACAkM,EAAAlM,EAAA,IACAkwE,EAAAlwE,EAAA,KACA+jH,EAAA,SAAAn6G,GAEA,SAAAm6G,EAAAl2G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAoFA,OAtFA6G,EAAAY,UAAAg6G,EAAAn6G,GAIAm6G,EAAA1nG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAia,OAAA,CACAurG,QAAA,CAAAn4G,EAAAoC,MAAA,IACAiQ,OAAA,CAAArS,EAAAimB,YAEAtzB,KAAA8a,SAAA,CACAsH,QAAA,CAAA/U,EAAAoC,MAAA,IACAg2G,YAAA,CAAAp4G,EAAA6M,IAAA,OAGAunG,EAAA7gH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAq9E,mBAEAokC,EAAA7gH,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAAkZ,WAAAssG,QAAAzsG,OAAA,WACAjY,EAAAu8E,kBACAv8E,EAAAiY,OAAA2C,SAEA,IAAAgqG,EAAA,WACA,IAAA1xG,EAAA,WAAA,OAAAlT,EAAAu8E,mBACA,MAAAv8E,EAAA4e,SACA5e,EAAAD,QAAAC,EAAA4e,OAAA3G,OAAA/E,GACAlT,EAAA4e,kBAAAkuD,EAAAO,qBACArtE,EAAAD,QAAAC,EAAA4e,OAAAi7C,UAAA3mD,GACAlT,EAAAD,QAAAC,EAAA4e,OAAAk7C,SAAA5mD,MAIAgwG,EAAA,MAAAhkH,KAAA0f,OACAskG,EACA0B,IAEA1lH,KAAAa,QAAAb,KAAAkZ,WAAAwG,OAAA3G,OAAA,WACAirG,IACA0B,IACA1B,GAAA,MAKAvC,EAAA7gH,UAAAy8E,gBAAA,WACA,IAAAv8E,EAAAd,KACAoiB,EAAApiB,KAAAwlH,QAAAr7G,IAAA,SAAAM,GAAA,OAAAA,EAAA4yE,gBAAAv8E,EAAA4e,UACAjV,OAAA,SAAA2X,GAAA,OAAA,MAAAA,IACAA,EAAAlhB,OAAA,EACAlB,KAAAoiB,QAAAxY,EAAAy8B,aAAA9+B,MAAAvH,KAAAoiB,GACApiB,KAAA0f,kBAAAkuD,EAAAO,qBACAnuE,KAAAoiB,QAAApiB,KAAA0f,OAAAimG,eACA3lH,KAAA4lH,yBAEAnE,EAAA7gH,UAAAglH,sBAAA,WACA5lH,KAAAylH,YAAA,GACA,IAAA,IAAAx1G,EAAA,EAAAA,EAAAjQ,KAAAoiB,QAAAlhB,OAAA+O,IACAjQ,KAAAylH,YAAAzlH,KAAAoiB,QAAAnS,IAAAA,GAGAwxG,EAAA7gH,UAAAs5F,8BAAA,SAAA2rB,GACA,IAAA/kH,EAAAd,KACA8lH,EAAA,IAAA3lG,EAAA8B,UACA6jG,EAAAnC,qBAAAkC,GACA,IAAAE,EAAAF,EAAAzjG,QAAAjY,IAAA,SAAA8F,GAAA,OAAAnP,EAAAshB,QAAAnS,KAGA,OAFA61G,EAAA1jG,QAAA2jG,EACAD,EAAAh3B,cAAA+2B,EAAA/2B,cACAg3B,GAEArE,EAAA7gH,UAAAolH,4BAAA,SAAAF,GACA,IAAAhlH,EAAAd,KACA6lH,EAAA,IAAA1lG,EAAA8B,UACA4jG,EAAAlC,qBAAAmC,GACA,IAAAC,EAAAD,EAAA1jG,QAAAjY,IAAA,SAAA8F,GAAA,OAAAnP,EAAA2kH,YAAAx1G,KAGA,OAFA41G,EAAAzjG,QAAA2jG,EACAF,EAAA/2B,cAAAg3B,EAAAh3B,cACA+2B,GAEApE,EAAA7gH,UAAA+/G,4BAAA,SAAAv+F,GACA,IAAAthB,EAAAd,KACA,OAAAoiB,EAAAjY,IAAA,SAAA8F,GAAA,OAAAnP,EAAAshB,QAAAnS,MAEAwxG,EAvFA,CAwFAl2D,EAAAI,OACA/tD,EAAA6jH,QAAAA,EACAA,EAAA1nG,aCjGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAkwE,EAAAlwE,EAAA,KACAo6B,EAAAp6B,EAAA,GACA2P,EAAA3P,EAAA,IACAm8B,EAAAn8B,EAAA,IACA0tD,EAAA1tD,EAAA,IACA0N,EAAA1N,EAAA,IACAuoH,EAAAvoH,EAAA,IACAI,EAAAJ,EAAA,IACA8tD,EAAA9tD,EAAA,IAEA,SAAAwoH,EAAA//F,EAAAggG,EAAAtyD,GACA,GAAAzoD,EAAAa,QAAAka,GAAA,CACA,IAAApI,EAAAoI,EAAAxW,OAAAw2G,GACA,OAAA,MAAAtyD,GAAA91C,EAAA7c,OAAA2yD,EACA91C,EAAA0mB,OAAAovB,GAEA91C,EAEA,GAAA3S,EAAA0qC,aAAA3vB,GAAA,CACA,IAAAigG,EAAAjgG,EAAAjlB,OAAAilH,EAAAjlH,OAEA,GAAA,MAAA2yD,GAAAuyD,EAAAvyD,EAAA,CACA,IAAA9pC,EAAAq8F,EAAAvyD,EACA7pC,EAAA7D,EAAAjlB,OAEA6c,OAAA,EACAoI,EAAAjlB,OAAA2yD,GACA91C,EAAA,IAAAoI,EAAApK,YAAA83C,IACAh5C,IAAAsL,EAAA,GAGApI,EAAAoI,EAEA,IAAA,IAAAlW,EAAA8Z,EAAAuyE,EAAAtyE,EAAA/Z,EAAAqsF,EAAArsF,IACA8N,EAAA9N,EAAA8Z,GAAAhM,EAAA9N,GAGA,IAAA,IAAAA,EAAA,EAAAqsF,EAAA6pB,EAAAjlH,OAAA+O,EAAAqsF,EAAArsF,IACA8N,EAAA9N,GAAA+Z,EAAAD,IAAAo8F,EAAAl2G,GAEA,OAAA8N,EAGA,IAAAgoB,EAAA,IAAA5f,EAAApK,YAAAoqG,GACA,OAAAF,EAAAt2G,OAAAwW,EAAA4f,GAIA,MAAA,IAAA1nC,MAAA,2BAIA,SAAAomC,EAAAkxC,EAAAz0E,GACA,IAAA6oB,EAAA+a,EAAAD,EAWA,OAVAz5B,EAAAqc,SAAAkuD,IACA5rD,EAAA4rD,EACA9wC,EAAA8wC,EAAA,EACA7wC,EAAA,IAGA/a,EAAA,MAAA4rD,EAAA5rD,MAAA4rD,EAAA5rD,MAAA,EACA8a,EAAA,MAAA8wC,EAAA9wC,KAAA8wC,EAAA9wC,KAAA3jC,EACA4jC,EAAA,MAAA6wC,EAAA7wC,KAAA6wC,EAAA7wC,KAAA,GAEA,CAAA/a,EAAA8a,EAAAC,GAIA,SAAAuhF,EAAAlgG,EAAA1iB,EAAA0zC,GAGA,IAFA,IAAAmvE,EAAA,IAAAzsF,EAAAgC,IACA0qF,GAAA,EACAn8G,EAAA,EAAAmnF,EAAA9tF,EAAA2G,EAAAmnF,EAAArwF,OAAAkJ,IAAA,CACA,IAAAM,EAAA6mF,EAAAnnF,GAAAurE,EAAAjrE,EAAA,GAAA2R,EAAA3R,EAAA,GAEA9C,OAAA,EAAAstC,OAAA,EACAnV,OAAA,EACAl0B,OAAA,EACA,GAAAT,EAAAa,QAAA0pE,GAAA,CACA,IAAA1lE,EAAA0lE,EAAA,GACA2wC,EAAA16G,IAAAqE,GACAilC,EAAAiC,EAAAlnC,GACArI,EAAAue,EAAAlW,GACApE,EAAAwQ,EAIA,IAAAs5D,EAAAz0E,QACAg0C,EAAA,CAAA,EAAAA,EAAA,IACAnV,EAAA,CAAA41C,EAAA,GAAA,EAAAA,EAAA,KAGA51C,EAAA41C,OAGAvqE,EAAAqc,SAAAkuD,IACA9pE,EAAA,CAAAwQ,GACAiqG,EAAA16G,IAAA+pE,KAGA9pE,EAAAwQ,EACAkqG,GAAA,GAEAxmF,EAAA,CAAA,EAAA,EAAA41C,GACAzgC,EAAA,CAAA,EAAA/uB,EAAAjlB,QACA0G,EAAAue,EAMA,IAHA,IAAA49B,EAAA,EACA94C,EAAAw5B,EAAA1E,EAAA,GAAAmV,EAAA,IAAAsxE,EAAAv7G,EAAA,GAAAw7G,EAAAx7G,EAAA,GAAAy7G,EAAAz7G,EAAA,GACA4B,EAAA43B,EAAA1E,EAAA,GAAAmV,EAAA,IAAAyxE,EAAA95G,EAAA,GAAA+5G,EAAA/5G,EAAA,GAAAg6G,EAAAh6G,EAAA,GACAoD,EAAAu2G,EAAAv2G,EAAAw2G,EAAAx2G,GAAAy2G,EACA,IAAA,IAAAnhF,EAAAohF,EAAAphF,EAAAqhF,EAAArhF,GAAAshF,EACAN,GACAD,EAAA16G,IAAA25B,GAEA39B,EAAAqI,EAAAilC,EAAA,GAAA3P,GAAA15B,EAAAk4C,GACAA,IAIA,OAAAuiE,EAtEA1oH,EAAAsoH,iBAAAA,EAgBAtoH,EAAA6mC,MAAAA,EAwDA7mC,EAAAyoH,gBAAAA,EACA,IAAAzyD,EAAA,SAAAtsD,GAEA,SAAAssD,EAAAroD,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAkEA,OApEA6G,EAAAY,UAAAmsD,EAAAtsD,GAIAssD,EAAA75C,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,mBACAvZ,KAAAia,OAAA,CACA7V,KAAA,CAAAiJ,EAAA6M,IAAA,OAGA05C,EAAAhzD,UAAA4T,WAAA,WACA,IAAA9J,EACApD,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACA0K,EAAA0gD,EAAAtT,mBAAA93C,KAAAoE,MAAApE,KAAAoE,KAAAsG,EAAA,GAAA1K,KAAAggB,QAAAtV,EAAA,IAEAkpD,EAAAhzD,UAAA8c,mBAAA,SAAAC,EAAAC,QACA,IAAAD,IACAA,GAAA,QAEA,IAAAC,IACAA,EAAAg2C,EAAAz2C,gBAIA,IAFA,IAAA5R,EAAA,GACAiP,EAAAxa,KAAAyG,0BACA2D,EAAA,EAAAM,EAAA5M,EAAAmB,KAAAub,GAAApQ,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAiC,EAAA3B,EAAAN,GACAyB,EAAA2O,EAAAnO,GACA,SAAAA,IACAR,EAAAu/C,EAAAnT,mBAAApsC,EAAA7L,KAAAggB,UACArC,EACApS,EAAAc,GAAAR,EACAQ,KAAArM,KAAAmZ,sBACA5N,EAAAc,GAAAR,GAEA,OAAA+R,EAAA,aAAArS,EAAAvL,OAEA4zD,EAAAz2C,eAAA,SAAA9Q,EAAAR,EAAAi7G,GACA,OAAA17G,EAAAc,cAAAL,IAAA,SAAAQ,EACA++C,EAAAnT,mBAAApsC,EAAAi7G,EAAA9mG,SAEA8X,EAAApf,SAAAyE,eAAA9Q,EAAAR,EAAAi7G,IAEAlzD,EAAAhzD,UAAAkzD,OAAA,SAAA/b,EAAA8b,EAAAvtD,GACA,IAAAlC,EAAApE,KAAAoE,KACA,IAAA,IAAAka,KAAAy5B,EACA3zC,EAAAka,GAAA4nG,EAAA9hH,EAAAka,GAAAy5B,EAAAz5B,GAAAu1C,GAIA,GAFA7zD,KAAAyZ,KAAA,CAAArV,KAAAA,GAAA,CAAAuV,QAAA,IACA3Z,KAAA26D,UAAAj/C,OACA,MAAA1b,KAAA8D,SAAA,CACA,IAAA8qD,EAAA,IAAApD,EAAA8I,qBAAAt0D,KAAA8D,SAAA9D,KAAA6c,MAAAk7B,EAAA8b,GACA7zD,KAAA8D,SAAA0b,eAAAxf,KAAA,OAAA,KAAA,KAAA,CAAAsG,UAAAA,EAAAsoD,KAAAA,MAGAgF,EAAAhzD,UAAA6C,MAAA,SAAAswD,EAAAztD,GACA,IAAAlC,EAAApE,KAAAoE,KACAkiH,EAAA,IAAAzsF,EAAAgC,IACA,IAAA,IAAAvd,KAAAy1C,EAAA,CACA,IAAAtwD,EAAAswD,EAAAz1C,GACAgoG,EAAAA,EAAAlgF,MAAAigF,EAAAjiH,EAAAka,GAAA7a,EAAAzD,KAAAggB,QAAA1B,KAIA,GAFAte,KAAAyZ,KAAA,CAAArV,KAAAA,GAAA,CAAAuV,QAAA,IACA3Z,KAAA46D,SAAAl/C,KAAA4qG,EAAAnzG,QACA,MAAAnT,KAAA8D,SAAA,CACA,IAAA8qD,EAAA,IAAApD,EAAA4I,oBAAAp0D,KAAA8D,SAAA9D,KAAA6c,MAAAk3C,GACA/zD,KAAA8D,SAAA0b,eAAAxf,KAAA,OAAA,KAAA,KAAA,CAAAsG,UAAAA,EAAAsoD,KAAAA,MAGAgF,EArEA,CAsEAga,EAAAO,oBACAvwE,EAAAg2D,iBAAAA,EACAA,EAAA75C,aCrMA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAqpH,EAAArpH,EAAA,KACA2a,EAAA3a,EAAA,IACAwB,EAAAxB,EAAA,IACAspH,EAAAtpH,EAAA,IACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACAyiB,EAAAziB,EAAA,KACAupH,EAAAvpH,EAAA,KACAywE,EAAA,SAAA7mE,GAEA,SAAA6mE,EAAA5iE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAwEA,OA1EA6G,EAAAY,UAAA0mE,EAAA7mE,GAIA6mE,EAAAvtE,UAAAsmH,UAAA,SAAA76G,GACA,IAAAu3C,EAAA5jD,KAAAoE,KAAAiI,GAKA,OAJA,MAAAu3C,EACA5jD,KAAAoE,KAAAiI,GAAAu3C,EAAA,GACAx4C,EAAAa,QAAA23C,KACA5jD,KAAAoE,KAAAiI,GAAAu3C,EAAAn0C,MAAAC,KAAAk0C,IACAA,GAEAuqB,EAAAp0D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,qBACAvZ,KAAAia,OAAA,CACA2e,iBAAA,CAAAvrB,EAAAimB,SAAA,WAAA,OAAA,IAAA2zF,EAAAzD,mBAEAxjH,KAAA8a,SAAA,CACAygF,kBAAA,CAAAluF,EAAAimB,SAAA,SAAAuxE,GAAA,OAAA,IAAAmiB,EAAA/uF,iBAAA,CAAAvY,OAAAmlF,MACAzrE,UAAA,CAAA/rB,EAAAimB,SAAA,WAAA,OAAA,IAAAnT,EAAA8B,YACAjC,QAAA,CAAA3S,EAAA6M,IAAA,OAGAi0D,EAAAvtE,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAy6F,QAAA,IAAApiF,EAAAS,QAAA9Y,KAAA,UACAA,KAAA+4B,QAAA,IAAA1gB,EAAAuD,OAAA5b,KAAA,WACAA,KAAA26D,UAAA,IAAAtiD,EAAAS,QAAA9Y,KAAA,aACAA,KAAA46D,SAAA,IAAAviD,EAAAuD,OAAA5b,KAAA,aAEAmuE,EAAAvtE,UAAAyzB,WAAA,SAAA8yF,GACA,IAAAvjE,EAAA5jD,KAAAoE,KAAA+iH,GACA,OAAA,MAAAvjE,EAAAA,EAAA,MAEAuqB,EAAAvtE,UAAAotE,QAAA,WAEA,OAAAlwE,EAAAmB,KAAAe,KAAAoE,OAEA+pE,EAAAvtE,UAAA4zB,WAAA,SAAA4yF,QACA,IAAAA,IACAA,GAAA,GAEA,IAAAC,EAAAz9G,EAAAo7B,KAAAlnC,EAAAqV,OAAAnT,KAAAoE,MAAA+F,IAAA,SAAAoT,GAAA,OAAAA,EAAArc,UACA,OAAAmmH,EAAAnmH,QACA,KAAA,EACA,OAAA,KAEA,KAAA,EACA,OAAAmmH,EAAA,GAEA,QACA,IAAA7iH,EAAA,kDACA,GAAA4iH,EAEA,OADAloH,EAAAwB,OAAA5B,KAAA0F,GACA6iH,EAAArhF,OAAA,GAGA,MAAA,IAAA3nC,MAAAmG,KAIA2pE,EAAAvtE,UAAA+kH,YAAA,WACA,IAAAzkH,EAAAlB,KAAAw0B,aACA,OAAA5qB,EAAAg7B,MAAA,EAAA,MAAA1jC,EAAAA,EAAA,IAGAitE,EAAAvtE,UAAAgT,MAAA,WAEA,IADA,IAAAnC,EAAA,GACArH,EAAA,EAAAM,EAAA1K,KAAAguE,UAAA5jE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA+b,EAAAzb,EAAAN,GACAqH,EAAA0U,GAAA,IAAAnmB,KAAAoE,KAAA+hB,GAAApK,YAAA,GAEA/b,KAAAoE,KAAAqN,GAEA08D,EA3EA,CA4EA44C,EAAAO,YACA1pH,EAAAuwE,mBAAAA,EACAA,EAAAp0D,aC1FA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAyiB,EAAAziB,EAAA,KACA2P,EAAA3P,EAAA,IACA4pH,EAAA,SAAAhgH,GAEA,SAAAggH,EAAA/7G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiBA,OAnBA6G,EAAAY,UAAA6/G,EAAAhgH,GAIAggH,EAAAvtG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAia,OAAA,CACA8L,SAAA,CAAA1Y,EAAAimB,SAAA,WAAA,OAAA,IAAAnT,EAAA8B,YACAmjC,SAAA,CAAA/3C,EAAA6M,QAGAotG,EAAA1mH,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA+lB,SAAAhN,OAAA,WACA,MAAAjY,EAAAskD,UACAtkD,EAAAskD,SAAA2T,QAAAj4D,MAGAwmH,EApBA,CAqBA/7D,EAAAI,OACA/tD,EAAA0pH,WAAAA,EACAA,EAAAvtG,aC5BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAkwE,EAAAlwE,EAAA,KACAwB,EAAAxB,EAAA,IACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACA6pH,EAAA,SAAAjgH,GAEA,SAAAigH,EAAAh8G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA2KA,OA7KA6G,EAAAY,UAAA8/G,EAAAjgH,GAIAigH,EAAAxtG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,oBACAvZ,KAAAia,OAAA,CACAutG,QAAA,CAAAn6G,EAAA6M,OAEAla,KAAA8a,SAAA,CACA1W,KAAA,CAAAiJ,EAAA6M,IAAA,OAGAqtG,EAAA3mH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAynH,gBAEAF,EAAA3mH,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAAkZ,WAAAsuG,QAAAzuG,OAAA,WAAA,OAAAjY,EAAA2mH,kBAEAF,EAAA3mH,UAAA6mH,aAAA,WACAznH,KAAAoE,KAAApE,KAAA0nH,0BAEAH,EAAA3mH,UAAA+mH,oBAAA,SAAAzmH,GACA,OAAA0I,EAAAg7B,MAAA,EAAA1jC,GAAAiJ,IAAA,SAAAC,GAAA,MAAA,MAEAm9G,EAAA3mH,UAAAgnH,mBAAA,SAAA1mH,GACA,OAAA0I,EAAAg7B,MAAA,EAAA1jC,GAAAiJ,IAAA,SAAAC,GAAA,OAAAkqE,OAEAizC,EAAA3mH,UAAAinH,gBAAA,SAAAjgH,EAAAxD,EAAA6L,EAAA63G,GACA,IAAA5uG,EAAAtR,EAAAsR,YAAA,GACA,IAAA,IAAA8uC,KAAA9uC,EACA9U,EAAAxF,eAAAopD,KACA5jD,EAAA4jD,GAAAhoD,KAAA4nH,mBAAAE,IACA1jH,EAAA4jD,GAAA/3C,GAAAiJ,EAAA8uC,IAGAu/D,EAAA3mH,UAAAmnH,cAAA,SAAA5/G,EAAA/D,EAAA6L,GACA,SAAA+3G,EAAAzqG,GACA,OAAA,MAAAA,EAAAA,EAAA+2D,IAEA,SAAA2zC,EAAAC,EAAAtgH,GACA,OAAAsgH,EAAAv4G,OAAA,CAAA,CAAA2kE,IAAAA,IAAAA,OAAA3kE,OAAA/H,GAEA,OAAAO,EAAAoR,MACA,IAAA,QACA,IAAA7O,EAAAvC,EAAAggH,YAAA1/G,EAAAiC,EAAA,GAAAhC,EAAAgC,EAAA,GAAA09G,EAAA19G,EAAA,GACAtG,EAAAqE,EAAAwH,GAAAxH,EACArE,EAAAsE,EAAAuH,GAAAvH,EACAtE,EAAAgkH,EAAAn4G,GAAA+3G,EAAAI,GACA,MAEA,IAAA,aAEA,IADA,IAAAD,EAAAhgH,EAAAggH,YACA5iF,EAAA,EAAAA,EAAA4iF,EAAAjnH,OAAAqkC,IAAA,CACA,IAAAt6B,EAAAk9G,EAAA5iF,GAAA98B,EAAAwC,EAAA,GAAAvC,EAAAuC,EAAA,GAAAm9G,EAAAn9G,EAAA,GACA7G,EAAAiwC,GAAApkC,GAAAs1B,GAAA98B,EACArE,EAAAkwC,GAAArkC,GAAAs1B,GAAA78B,EACAtE,EAAAikH,GAAAp4G,GAAAs1B,GAAAyiF,EAAAI,GAEA,MAEA,IAAA,UACAjgH,EAAAggH,YAAAjnH,OAAA,GACAhC,EAAAwB,OAAA5B,KAAA,2EAEA,IADA,IAAAwpH,EAAAngH,EAAAggH,YAAA,GACA5iF,EAAA,EAAAA,EAAA+iF,EAAApnH,OAAAqkC,IAAA,CACA,IAAA14B,EAAAy7G,EAAA/iF,GAAA98B,EAAAoE,EAAA,GAAAnE,EAAAmE,EAAA,GAAAu7G,EAAAv7G,EAAA,GACAzI,EAAAiwC,GAAApkC,GAAAs1B,GAAA98B,EACArE,EAAAkwC,GAAArkC,GAAAs1B,GAAA78B,EACAtE,EAAAikH,GAAAp4G,GAAAs1B,GAAAyiF,EAAAI,GAEA,MAEA,IAAA,aACAlpH,EAAAwB,OAAA5B,KAAA,qCACA,MAEA,IAAA,kBAEA,IADA,IAAAqpH,EAAAhgH,EAAAggH,YAAAnkF,OAAAikF,GACA1iF,EAAA,EAAAA,EAAA4iF,EAAAjnH,OAAAqkC,IAAA,CACA,IAAAx4B,EAAAo7G,EAAA5iF,GAAA98B,EAAAsE,EAAA,GAAArE,EAAAqE,EAAA,GAAAq7G,EAAAr7G,EAAA,GACA3I,EAAAiwC,GAAApkC,GAAAs1B,GAAA98B,EACArE,EAAAkwC,GAAArkC,GAAAs1B,GAAA78B,EACAtE,EAAAikH,GAAAp4G,GAAAs1B,GAAAyiF,EAAAI,GAEA,MAEA,IAAA,eAEA,IADA,IAAAG,EAAA,GACAr6D,EAAA,EAAAC,EAAAhmD,EAAAggH,YAAAj6D,EAAAC,EAAAjtD,OAAAgtD,IAAA,CACA,IAAAs6D,EAAAr6D,EAAAD,GACAs6D,EAAAtnH,OAAA,GACAhC,EAAAwB,OAAA5B,KAAA,2EACAypH,EAAAv9G,KAAAw9G,EAAA,IAGA,IADA,IAAAL,EAAAI,EAAAvkF,OAAAikF,GACA1iF,EAAA,EAAAA,EAAA4iF,EAAAjnH,OAAAqkC,IAAA,CACA,IAAA6oB,EAAA+5D,EAAA5iF,GAAA98B,EAAA2lD,EAAA,GAAA1lD,EAAA0lD,EAAA,GAAAg6D,EAAAh6D,EAAA,GACAhqD,EAAAiwC,GAAApkC,GAAAs1B,GAAA98B,EACArE,EAAAkwC,GAAArkC,GAAAs1B,GAAA78B,EACAtE,EAAAikH,GAAAp4G,GAAAs1B,GAAAyiF,EAAAI,GAEA,MAEA,QACA,MAAA,IAAA/pH,MAAA,kCAAA8J,EAAAoR,QAGAguG,EAAA3mH,UAAA8mH,uBAAA,WACA,IACAphG,EADAkhG,EAAAxhH,KAAAsvC,MAAAt1C,KAAAwnH,SAEA,OAAAA,EAAAjuG,MACA,IAAA,qBACA,GAAA,MAAAiuG,EAAAiB,WACA,MAAA,IAAApqH,MAAA,6CACA,GAAA,IAAAmpH,EAAAiB,WAAAvnH,OACA,MAAA,IAAA7C,MAAA,kDACAioB,EAAAkhG,EAAAiB,WACA,MAEA,IAAA,oBACA,GAAA,MAAAjB,EAAAkB,SACA,MAAA,IAAArqH,MAAA,2CACA,GAAA,GAAAmpH,EAAAkB,SAAAxnH,OACA,MAAA,IAAA7C,MAAA,gDACAioB,EAAAkhG,EAAAkB,SACA,MAEA,QACA,MAAA,IAAArqH,MAAA,kFAGA,IADA,IAAAypH,EAAA,EACAp9G,EAAA,EAAAw8B,EAAA5gB,EAAA5b,EAAAw8B,EAAAhmC,OAAAwJ,IAAA,CACA,IAAA9C,EAAAs/B,EAAAx8B,GACAvC,EAAA,YAAAP,EAAA2R,KAAA3R,EAAAO,SAAAP,EACA,sBAAAO,EAAAoR,KACAuuG,GAAA3/G,EAAAsgH,WAAAvnH,OAEA4mH,GAAA,EAWA,IATA,IAAA1jH,EAAA,CACAqE,EAAAzI,KAAA4nH,mBAAAE,GACAp/G,EAAA1I,KAAA4nH,mBAAAE,GACAM,EAAApoH,KAAA4nH,mBAAAE,GACAzzE,GAAAr0C,KAAA2nH,oBAAAG,GACAxzE,GAAAt0C,KAAA2nH,oBAAAG,GACAO,GAAAroH,KAAA2nH,oBAAAG,IAEAa,EAAA,EACA19G,EAAA,EAAA29G,EAAAtiG,EAAArb,EAAA29G,EAAA1nH,OAAA+J,IAAA,CACA,IAAArD,EAAAghH,EAAA39G,GACA9C,EAAA,WAAAP,EAAA2R,KAAA3R,EAAAO,SAAAP,EACA,GAAA,sBAAAO,EAAAoR,KACA,IAAA,IAAA1M,EAAA,EAAAE,EAAA5E,EAAAsgH,WAAA57G,EAAAE,EAAA7L,OAAA2L,IAAA,CACA,IAAA+hC,EAAA7hC,EAAAF,GACA7M,KAAA+nH,cAAAn5E,EAAAxqC,EAAAukH,GACA,YAAA/gH,EAAA2R,MACAvZ,KAAA6nH,gBAAAjgH,EAAAxD,EAAAukH,EAAAb,GACAa,GAAA,OAIA3oH,KAAA+nH,cAAA5/G,EAAA/D,EAAAukH,GACA,YAAA/gH,EAAA2R,MACAvZ,KAAA6nH,gBAAAjgH,EAAAxD,EAAAukH,EAAAb,GACAa,GAAA,EAGA,OAAAvkH,GAEAmjH,EA9KA,CA+KA35C,EAAAO,oBACAvwE,EAAA2pH,kBAAAA,EACAA,EAAAxtG,aCvLA,SAAArc,EAAAC,EAAAC,GACA,IAAAirH,EAAAnrH,EAAA,KACAE,EAAAkrH,qBAAAD,EAAAC,qBACA,IAAAC,EAAArrH,EAAA,KACAE,EAAAmmH,eAAAgF,EAAAhF,eACA,IAAAz4D,EAAA5tD,EAAA,KACAE,EAAAg2D,iBAAAtI,EAAAsI,iBACA,IAAAga,EAAAlwE,EAAA,KACAE,EAAAuwE,mBAAAP,EAAAO,mBACA,IAAA+wC,EAAAxhH,EAAA,KACAE,EAAA6jH,QAAAvC,EAAAuC,QACA,IAAAsF,EAAArpH,EAAA,KACAE,EAAA0pH,WAAAP,EAAAO,WACA,IAAA0B,EAAAtrH,EAAA,KACAE,EAAA2pH,kBAAAyB,EAAAzB,kBACA,IAAAzD,EAAApmH,EAAA,KACAE,EAAA2nH,iBAAAzB,EAAAyB,kBChBA,SAAA7nH,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAurH,EAAAvrH,EAAA,KACA2P,EAAA3P,EAAA,IACA6nH,EAAA,SAAAj+G,GAEA,SAAAi+G,EAAAh6G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgBA,OAlBA6G,EAAAY,UAAA89G,EAAAj+G,GAIAi+G,EAAA3kH,UAAAyzB,WAAA,SAAA8yF,GACA,IAAAvjE,EAAA5jD,KAAAoE,KAAA+iH,GACA,OAAA,MAAAvjE,EAAAA,EAAA,IAEA2hE,EAAA3kH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAukH,SAEAgB,EAAAxrG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,mBACAvZ,KAAAia,OAAA,CACAwqG,iBAAA,CAAAp3G,EAAAkmB,WAGAgyF,EAnBA,CAoBA0D,EAAAC,eACAtrH,EAAA2nH,iBAAAA,EACAA,EAAAxrG,aC1BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAurH,EAAAvrH,EAAA,KACAorH,EAAA,SAAAxhH,GAEA,SAAAwhH,EAAAv9G,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAEA,OADAc,EAAAkjH,aAAA,EACAljH,EAkBA,OAtBA+F,EAAAY,UAAAqhH,EAAAxhH,GAMAwhH,EAAA/uG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,wBAEAuvG,EAAAloH,UAAAkb,QAAA,WACAxU,EAAA1G,UAAAkb,QAAAjU,KAAA7H,OAEA8oH,EAAAloH,UAAA2jH,MAAA,WACA,IAAAzjH,EAAAd,KACA,IAAAA,KAAAgkH,YAAA,CACAhkH,KAAAgkH,aAAA,EACA,IAAAtkG,EAAA,IAAAypG,YAAAnpH,KAAAglH,UACAtlG,EAAAle,UAAA,SAAAC,GACAX,EAAAwkH,UAAAt/G,KAAAsvC,MAAA7zC,EAAA2C,MAAAtD,EAAAk3F,KAAAl3F,EAAAurB,aAIAy8F,EAvBA,CAwBAG,EAAAC,eACAtrH,EAAAkrH,qBAAAA,EACAA,EAAA/uG,aC7BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4tD,EAAA5tD,EAAA,KACA2P,EAAA3P,EAAA,IACAwrH,EAAA,SAAA5hH,GAEA,SAAA4hH,EAAA39G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA6CA,OA/CA6G,EAAAY,UAAAyhH,EAAA5hH,GAIA4hH,EAAAtoH,UAAAyzB,WAAA,SAAA8yF,GACA,IAAAvjE,EAAA5jD,KAAAoE,KAAA+iH,GACA,OAAA,MAAAvjE,EAAAA,EAAA,IAEAslE,EAAAtoH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAukH,SAEA2E,EAAAtoH,UAAA0kH,UAAA,SAAAF,EAAAptB,EAAA3rE,GACA,IACAjoB,EADAglH,EAAAppH,KAAAopH,QAMA,OAHAhlH,EADA,MAAAglH,EACAA,EAAArwD,QAAA/4D,KAAA,CAAAqpH,SAAAjE,IAEAA,EACAptB,GACA,IAAA,UACAh4F,KAAAoE,KAAAA,EACA,MAEA,IAAA,SAEA,IADA,IAAAklH,EAAAtpH,KAAAoE,KACAgG,EAAA,EAAAM,EAAA1K,KAAAguE,UAAA5jE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAw5C,EAAAl5C,EAAAN,GAEAm/G,EAAA95G,MAAAC,KAAA45G,EAAA1lE,IACAuiE,EAAA12G,MAAAC,KAAAtL,EAAAw/C,IACAx/C,EAAAw/C,GAAA2lE,EAAA55G,OAAAw2G,GAAA1hF,OAAApY,GAEArsB,KAAAoE,KAAAA,IAKA8kH,EAAAnvG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAia,OAAA,CACA+9E,KAAA,CAAA3qF,EAAA8K,WAAA,WACAkU,SAAA,CAAAhf,EAAAkmB,QACA61F,QAAA,CAAA/7G,EAAA6M,IAAA,MACA8qG,SAAA,CAAA33G,EAAAsmB,WAGAu1F,EAhDA,CAiDA59D,EAAAsI,kBACAh2D,EAAAsrH,cAAAA,EACAA,EAAAnvG,aCvDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA8rH,EAAA9rH,EAAA,KACA2P,EAAA3P,EAAA,IACA8a,EAAA9a,EAAA,IACA+rH,EAAA,SAAAniH,GAEA,SAAAmiH,EAAAl+G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA2BA,OA7BA6G,EAAAY,UAAAgiH,EAAAniH,GAIAmiH,EAAA1vG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAia,OAAA,CACAvV,KAAA,CAAA2I,EAAAsmB,WAGA30B,OAAAiU,eAAAw2G,EAAA7oH,UAAA,OAAA,CACAsS,IAAA,WACA,IAAAxO,EAAA8T,EAAA+gC,WAAAv5C,KAAA0E,MACA,OAAA,IAAAq0E,SAAA,MAAA,QAAA,QAAA,SAAA,UAAA,UAAAr0E,IAEA2O,YAAA,EACAC,cAAA,IAEAm2G,EAAA7oH,UAAAupD,YAAA,SAAAtc,EAAA9kC,EAAAwtG,GACA,IAAAz1G,EAAAd,KACA,OAAA,SAAAyvB,GACA,IAAA3f,EAAAhM,SAAA4H,cAAA,UACAoE,EAAAT,MAAAtG,EACA+G,EAAAN,OAAAzG,EACA,IAAA2gH,EAAA55G,EAAA24C,WAAA,MAEA,OADA3nD,EAAAuoC,KAAAxhC,KAAA/G,EAAA4oH,EAAA77E,EAAA9kC,EAAAwtG,EAAA74G,EAAA,IACA+xB,EAAA26B,cAAAt6C,EAAAhP,EAAA6oH,cAGAF,EA9BA,CA+BAD,EAAAI,SACAhsH,EAAA6rH,cAAAA,EACAA,EAAA1vG,aCtCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA8rH,EAAA9rH,EAAA,KACA2P,EAAA3P,EAAA,IACAmsH,EAAA,SAAAviH,GAEA,SAAAuiH,EAAAt+G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgCA,OAlCA6G,EAAAY,UAAAoiH,EAAAviH,GAIAuiH,EAAA9vG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,kBACAvZ,KAAAia,OAAA,CACAta,IAAA,CAAA0N,EAAAsmB,WAGAk2F,EAAAjpH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAyhE,MAAA,IAAAssB,MACA/tF,KAAAyhE,MAAA/uB,IAAA1yC,KAAAL,KAEAkqH,EAAAjpH,UAAAupD,YAAA,SAAA2/D,EAAA58B,EAAA68B,GACA,IAAAjpH,EAAAd,KACA,OAAA,SAAAyvB,GACA,OAAA3uB,EAAA2gE,MAAAuoD,SAGAv6F,EAAA26B,cAAAtpD,EAAA2gE,MAAA3gE,EAAA6oH,YAFA,OAKAE,EAAAjpH,UAAA2pD,OAAA,SAAAD,GACAtqD,KAAAyhE,MAAAuoD,SACA1/D,IAGAtqD,KAAAyhE,MAAAlX,OAAA,WACAD,MAIAu/D,EAnCA,CAoCAL,EAAAI,SACAhsH,EAAAisH,gBAAAA,EACAA,EAAA9vG,aC1CA,SAAArc,EAAAC,EAAAC,GACA,IAAAqsH,EAAAvsH,EAAA,KACAE,EAAA6rH,cAAAQ,EAAAR,cACA,IAAAS,EAAAxsH,EAAA,KACAE,EAAAisH,gBAAAK,EAAAL,gBACA,IAAAL,EAAA9rH,EAAA,KACAE,EAAAgsH,QAAAJ,EAAAI,SCNA,SAAAlsH,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACA2P,EAAA3P,EAAA,IACAksH,EAAA,SAAAtiH,GAEA,SAAAsiH,EAAAr+G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAAmiH,EAAAtiH,GAIAsiH,EAAA7vG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAia,OAAA,CACA0vG,WAAA,CAAAt8G,EAAA2K,kBAAA,aAGA4xG,EAAAhpH,UAAA2pD,OAAA,SAAAD,GACAA,KAEAs/D,EAdA,CAeAr+D,EAAAI,OACA/tD,EAAAgsH,QAAAA,EACAA,EAAA7vG,aCrBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAysH,EAAAzsH,EAAA,KACAkM,EAAAlM,EAAA,IACA2P,EAAA3P,EAAA,IAYA0sH,EAAA,SAAA9iH,GAEA,SAAA8iH,EAAA7+G,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA2CA,OA7CA6G,EAAAY,UAAA2iH,EAAA9iH,GAIA8iH,EAAArwG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBACAvZ,KAAAia,OAAA,CACAgoB,KAAA,CAAA50B,EAAAkmB,OAAA,IACA82F,UAAA,CAAAh9G,EAAAoC,MAAA,CAAA,EAAA,EAAA,IACA4nG,aAAA,CAAAhqG,EAAAkmB,OAAA,GACA+jF,aAAA,CAAAjqG,EAAAkmB,WAWA62F,EAAAxpH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACA,IAAAsqH,EAAA1gH,EAAAw7B,IAAAplC,KAAAqqH,WAAA,GAAArqH,KAAAiiC,KACAsoF,EAAA3gH,EAAAw7B,IAAAplC,KAAAqqH,UAAA,GAAArqH,KAAAiiC,KACAjiC,KAAAwqH,mBAAA,CAAAF,GAAA36G,OAAA3P,KAAAqqH,UAAA,CAAAE,IACAvqH,KAAAyqH,YAAA,IAAAzqH,KAAA0qH,mBAAA,EAAA1qH,KAAA0qH,oBAEAN,EAAAxpH,UAAA+pH,aAAA,SAAAC,EAAAC,EAAAC,GACA,IAxCAriH,EAAAsiH,EAAAC,EAwCAC,EAAAJ,EAAAD,EACAM,EAAAlrH,KAAAmrH,mBAAAP,EAAAC,EAAAC,GACAM,EAAA97G,KAAA64B,MAtCA,SAAA1/B,EAAAw5B,GAIA,YAHA,IAAAA,IACAA,EAAA3yB,KAAAgjC,GAEAhjC,KAAA0iB,IAAAvpB,GAAA6G,KAAA0iB,IAAAiQ,GAkCAjQ,CAAAk5F,EAAAlrH,KAAAyqH,YAAAzqH,KAAAiiC,OACAopF,EAAA/7G,KAAAqS,IAAA3hB,KAAAiiC,KAAAmpF,GAAAprH,KAAAyqH,YAKAa,EAAAtrH,KAAAwqH,mBACAe,EAAAD,EAAAnhH,IAAA,SAAAqhH,GACA,OAAAl8G,KAAAsd,IAAAk+F,EAAAG,GAAAO,EAAAH,MAEAI,EAAAH,EAAA1hH,EAAAi8B,OAAA0lF,IACAlH,EAAAoH,EAAAJ,EACA,OAtDA5iH,EAsDA47G,EAtDA0G,EAsDA/qH,KAAA0qH,mBAtDAM,EAsDAhrH,KAAA0rH,mBArDAp8G,KAAAsD,IAAAm4G,EAAAz7G,KAAA4b,IAAA8/F,EAAAviH,KAuDA2hH,EA9CA,CA+CAD,EAAAwB,kBACA/tH,EAAAwsH,eAAAA,EACAA,EAAArwG,aCjEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAkuH,EAAAluH,EAAA,KACA2pE,EAAA,SAAA//D,GAEA,SAAA+/D,EAAA97D,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAPA6G,EAAAY,UAAA4/D,EAAA//D,GAIA+/D,EAAAttD,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eAEA8tD,EARA,CASAukD,EAAAxB,gBACAxsH,EAAAypE,YAAAA,EACAA,EAAAttD,aCdA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmuH,EAAAnuH,EAAA,KACA+4E,EAAA,SAAAnvE,GAEA,SAAAmvE,EAAAlrE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA0BA,OA5BA6G,EAAAY,UAAAgvE,EAAAnvE,GAIAmvE,EAAA18D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,qBAEAk9D,EAAA71E,UAAAgmE,UAAA,SAAA78C,EAAAC,EAAA4a,EAAAknF,EAAAxmH,GACA,IAAAwhE,EAAA9mE,KAAA+rH,SAAAnnF,EAAAgxC,QAAAhxC,EAAA7a,EAAAC,GACAwrD,EAAAx1E,KAAA+rH,SAAAnnF,EAAA4wC,MAAA,GAAA5wC,EAAA7a,EAAAC,GACAqsD,EAAAr2E,KAAA+rH,SAAAnnF,EAAAyxC,MAAA,GAAAzxC,EAAA7a,EAAAC,GACA,MAAA,CACAq6C,MAAAyC,EACAnC,MAAA,GACA6Q,KAAAA,EACAa,KAAAA,IAGAI,EAAA71E,UAAAmrH,SAAA,SAAAn2C,EAAAhxC,EAAA7a,EAAAC,GAEA,IADA,IAAAjM,EAAA,GACA3T,EAAA,EAAA8yG,EAAAtnC,EAAAxrE,EAAA8yG,EAAAh8G,OAAAkJ,IAAA,CACA,IAAAk8C,EAAA42D,EAAA9yG,GACA+8D,EAAAviC,EAAA+vC,UAAAruB,GACA6gB,EAAAp9C,GAAAo9C,EAAAn9C,GACAjM,EAAA/S,KAAAs7C,GAEA,OAAAvoC,GAEA04D,EA7BA,CA8BAo1C,EAAAG,QACApuH,EAAA64E,kBAAAA,EACAA,EAAA18D,aCnCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAysH,EAAAzsH,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACAI,EAAAJ,EAAA,IACAuuH,EAAA,SAAA3kH,GAEA,SAAA2kH,EAAA1gH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA0EA,OA5EA6G,EAAAY,UAAAwkH,EAAA3kH,GAIA2kH,EAAAlyG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,kBACAvZ,KAAAia,OAAA,CACAiyG,QAAA,CAAA7+G,EAAAoC,MAAA,OAGAzQ,OAAAiU,eAAAg5G,EAAArrH,UAAA,gBAAA,CAKAsS,IAAA,WACA,OAAAlT,KAAAksH,QAAA/hH,IAAA,SAAA02D,GAAA,OAAAA,EAAA6pD,sBAEAr3G,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAg5G,EAAArrH,UAAA,gBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAksH,QAAA/hH,IAAA,SAAA02D,GAAA,OAAAA,EAAA6qD,sBAEAr4G,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAg5G,EAAArrH,UAAA,eAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAmsH,cAAA,IAEA94G,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAg5G,EAAArrH,UAAA,eAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAosH,cAAA,IAEA/4G,YAAA,EACAC,cAAA,IAEA24G,EAAArrH,UAAAyrH,gBAAA,SAAAzB,EAAAC,EAAAC,GACA,IAaAwB,EAbArB,EAAAJ,EAAAD,EACAM,EAAAlrH,KAAAmrH,mBAAAP,EAAAC,EAAAC,GACAyB,EAAA,CACA3iH,EAAA46B,aAAAxkC,KAAAmsH,cAAAjB,GAAA,EACAthH,EAAA46B,aAAAxkC,KAAAosH,cAAAlB,IAEAsB,EAAA,CACAxsH,KAAAmsH,cAAAI,EAAA,IACAvsH,KAAAosH,cAAAG,EAAA,KAEAhB,EAAAiB,EAAAriH,IAAA,SAAAk6G,GACA,OAAA/0G,KAAAsd,IAAAk+F,EAAAG,EAAA5G,KAGA,GAAAvmH,EAAA4e,QAAA6uG,EAAA9gH,OAAA,SAAApG,GAAA,OAAAk9E,MAAAl9E,MAEAioH,EAAAtsH,KAAAksH,QAAA,OAEA,CACA,IAAAO,EAAA7iH,EAAAi8B,OAAA0lF,GACAmB,EAAAH,EAAAE,GACAH,EAAAtsH,KAAAksH,QAAAQ,GAEA,OAAAJ,GAEAL,EAAArrH,UAAA+pH,aAAA,SAAAC,EAAAC,EAAAC,GACA,IAAAwB,EAAAtsH,KAAAqsH,gBAAAzB,EAAAC,EAAAC,GACA,OAAAwB,EAAA3B,aAAAC,EAAAC,EAAAC,IAEAmB,EAAArrH,UAAA+rH,sBAAA,SAAA/B,EAAAC,EAAA+B,EAAA9B,GACA,IAAAwB,EAAAtsH,KAAAqsH,gBAAAzB,EAAAC,EAAAC,GACA,OAAAwB,EAAAK,sBAAA/B,EAAAC,EAAA+B,EAAA9B,IAEAmB,EA7EA,CA8EA9B,EAAAwB,kBACA/tH,EAAAquH,gBAAAA,EACAA,EAAAlyG,aCtFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmuH,EAAAnuH,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACA0N,EAAA1N,EAAA,IACAiuH,EAAA,SAAArkH,GAEA,SAAAqkH,EAAApgH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAoEA,OAtEA6G,EAAAY,UAAAkkH,EAAArkH,GAIAqkH,EAAA5xG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,mBACAvZ,KAAAia,OAAA,CACA4yG,gBAAA,CAAAx/G,EAAAkmB,OAAA,GACAszC,kBAAA,CAAAx5D,EAAAkmB,OAAA,MAGAo4F,EAAA/qH,UAAAgmE,UAAA,SAAAgkD,EAAAC,EAAAiC,EAAAF,EAAAtnH,GACA,OAAAtF,KAAA2sH,sBAAA/B,EAAAC,EAAA+B,EAAA5sH,KAAA6mE,oBAIA8kD,EAAA/qH,UAAA+rH,sBAAA,SAAA/B,EAAAC,EAAAiB,EAAAhB,GACA,IAAAzG,EAAArkH,KAAA2qH,aAAAC,EAAAC,EAAAC,GACAiC,EAAAz9G,KAAA64B,MAAAyiF,EAAAvG,GACA2I,EAAA19G,KAAAC,KAAAs7G,EAAAxG,GAMA19C,GAJAv7D,EAAAu6C,YAAAonE,IAAA3hH,EAAAu6C,YAAAqnE,GACA,GAEApjH,EAAAg7B,MAAAmoF,EAAAC,EAAA,IACA7iH,IAAA,SAAAm8C,GAAA,OAAAA,EAAA+9D,IACA55G,OAAA,SAAA0mE,GAAA,OAAAy5C,GAAAz5C,GAAAA,GAAA05C,IACAgC,EAAA7sH,KAAA6sH,gBACAI,EAAA,GACA,GAAAJ,EAAA,GAAAlmD,EAAAzlE,OAAA,EAAA,CAGA,IAFA,IAAAgsH,EAAA7I,EAAAwI,EACAM,EAAAvjH,EAAAg7B,MAAA,EAAAioF,GAAA1iH,IAAA,SAAA8F,GAAA,OAAAA,EAAAi9G,IACA9iH,EAAA,EAAAM,EAAAyiH,EAAA1oF,MAAA,GAAAr6B,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA3B,EAAAiC,EAAAN,GACA47E,EAAArf,EAAA,GAAAl+D,EACAmiH,GAAA5kC,GAAAA,GAAA6kC,GACAoC,EAAAjiH,KAAAg7E,GAGA,IAAA,IAAA/6E,EAAA,EAAAyzE,EAAA/X,EAAA17D,EAAAyzE,EAAAx9E,OAAA+J,IAEA,IADA,IAAAkmE,EAAAuN,EAAAzzE,GACA4B,EAAA,EAAAugH,EAAAD,EAAAtgH,EAAAugH,EAAAlsH,OAAA2L,IAAA,CACA,IAAApE,EAAA2kH,EAAAvgH,GACAm5E,EAAA7U,EAAA1oE,EACAmiH,GAAA5kC,GAAAA,GAAA6kC,GACAoC,EAAAjiH,KAAAg7E,IAKA,MAAA,CACA3hB,MAAAsC,EACAhC,MAAAsoD,IAIAtB,EAAA/qH,UAAA8pH,iBAAA,WACA,OAAA1qH,KAAAq3G,cAGAsU,EAAA/qH,UAAA8qH,iBAAA,WACA,OAAA,MAAA1rH,KAAAs3G,aAAAt3G,KAAAs3G,aAAArjG,EAAAA,GAKA03G,EAAA/qH,UAAAuqH,mBAAA,SAAAP,EAAAC,EAAAC,GACA,IAAAG,EAAAJ,EAAAD,EACA,OAAAK,EAAAH,GAEAa,EAvEA,CAwEAE,EAAAG,QACApuH,EAAA+tH,iBAAAA,EACAA,EAAA5xG,aChFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAkM,EAAAlM,EAAA,IACAkuH,EAAAluH,EAAA,KACA2vH,EAAA3vH,EAAA,KACA4vH,EAAA5vH,EAAA,KACA6vH,EAAA7vH,EAAA,KACA8vH,EAAA9vH,EAAA,KACA+vH,EAAA/vH,EAAA,KACA+5E,EAAA,SAAAnwE,GAEA,SAAAmwE,EAAAlsE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgDA,OAlDA6G,EAAAY,UAAAgwE,EAAAnwE,GAIAmwE,EAAA19D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBACAvZ,KAAAob,SAAA,CACAyxG,gBAAA,EACAX,QAAA,WACA,MAAA,CAEA,IAAAN,EAAAxB,eAAA,CACAC,UAAA,CAAA,EAAA,EAAA,GACApoF,KAAA,GACAo1E,aAAA,EACAC,aAAA,IAAAmW,EAAAC,UACAb,gBAAA,IAGA,IAAAjB,EAAAxB,eAAA,CACAC,UAAA,CAAA,EAAA,EAAA,EAAA,GAAA,GAAA,GAAA,IACApoF,KAAA,GACAo1E,aAAAoW,EAAAE,WACArW,aAAA,GAAAmW,EAAAG,WACAf,gBAAA,IAGA,IAAAjB,EAAAxB,eAAA,CACAC,UAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,IACApoF,KAAA,GACAo1E,aAAAoW,EAAAI,SACAvW,aAAA,GAAAmW,EAAAI,SACAhB,gBAAA,IAGA,IAAAS,EAAAQ,WAAA,CAAA/tC,KAAAn2E,EAAAg7B,MAAA,EAAA,MACA,IAAA0oF,EAAAQ,WAAA,CAAA/tC,KAAAn2E,EAAAg7B,MAAA,EAAA,GAAA,KACA,IAAA0oF,EAAAQ,WAAA,CAAA/tC,KAAA,CAAA,EAAA,EAAA,GAAA,MACA,IAAAutC,EAAAQ,WAAA,CAAA/tC,KAAA,CAAA,EAAA,MAEA,IAAAwtC,EAAAQ,aAAA,CAAA/tC,OAAAp2E,EAAAg7B,MAAA,EAAA,GAAA,KACA,IAAA2oF,EAAAQ,aAAA,CAAA/tC,OAAAp2E,EAAAg7B,MAAA,EAAA,GAAA,KACA,IAAA2oF,EAAAQ,aAAA,CAAA/tC,OAAAp2E,EAAAg7B,MAAA,EAAA,GAAA,KACA,IAAA2oF,EAAAQ,aAAA,CAAA/tC,OAAAp2E,EAAAg7B,MAAA,EAAA,GAAA,KAEA,IAAA4oF,EAAAQ,YAAA,SAKAv2C,EAnDA,CAoDA41C,EAAApB,iBACAruH,EAAA65E,eAAAA,EACAA,EAAA19D,aC/DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuwH,EAAAvwH,EAAA,KACA+vH,EAAA/vH,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IAoBAowH,EAAA,SAAAxmH,GAEA,SAAAwmH,EAAAviH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAmDA,OArDA6G,EAAAY,UAAAqmH,EAAAxmH,GAIAwmH,EAAA/zG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAia,OAAA,CACA8lE,KAAA,CAAA1yE,EAAAoC,MAAA,MAEAzP,KAAAob,SAAA,CACAyxG,gBAAA,KAGAiB,EAAAltH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACA,IAAA+/E,EAAA//E,KAAA+/E,KACAA,EAAA7+E,OAAA,EACAlB,KAAAqkH,UAAAtkC,EAAA,GAAAA,EAAA,IAAA0tC,EAAAS,QAEAluH,KAAAqkH,SAAA,GAAAoJ,EAAAS,SAEAJ,EAAAltH,UAAA+rH,sBAAA,SAAA/B,EAAAC,EAAAiB,EAAAqC,GACA,IAAAC,EAxCA,SAAAC,EAAAC,GACA,IAAAC,EAAAd,EAAAe,yBAAA,IAAAzkF,KAAAskF,IACAI,EAAAhB,EAAAe,yBAAA,IAAAzkF,KAAAukF,IAIAG,EAAAC,YAAAD,EAAAE,cAAA,GAGA,IAFA,IAAAC,EAAA,GACAC,EAAAN,EAEAK,EAAA5jH,KAAAyiH,EAAAqB,UAAAD,IACAA,EAAAH,YAAAG,EAAAF,cAAA,KACAE,EAAAJ,KAGA,OAAAG,EAyBAG,CAAAnE,EAAAC,GACA9qC,EAAA//E,KAAA+/E,KAqBAskC,EAAArkH,KAAAqkH,SACA2K,EAAAplH,EAAA+F,OAAAy+G,EAAAjkH,IAAA,SAAA0kH,GAAA,OArBA,SAAAI,EAAA5K,GAGA,IAFA,IAAA6K,EAAAD,EAAAN,cACAC,EAAA,GACAxkH,EAAA,EAAA+kH,EAAApvC,EAAA31E,EAAA+kH,EAAAjuH,OAAAkJ,IAAA,CACA,IAAAglH,EAAAD,EAAA/kH,GACAilH,EAAA5B,EAAAqB,UAAAG,GACAI,EAAAC,WAAAF,GAQA,IAAAG,EAAA,IAAAxlF,KAAAslF,EAAAG,UAAAnL,EAAA,GACAkL,EAAAZ,eAAAO,GACAN,EAAA5jH,KAAAqkH,GAEA,OAAAT,EAGAa,CAAAZ,EAAAxK,MACAqL,EAAAV,EAAA7kH,IAAA,SAAAklH,GAAA,OAAAA,EAAAG,YACAG,EAAAD,EAAAjlH,OAAA,SAAA0mE,GAAA,OAAAy5C,GAAAz5C,GAAAA,GAAA05C,IACA,MAAA,CACAxmD,MAAAsrD,EACAhrD,MAAA,KAGAmpD,EAtDA,CAuDAG,EAAA2B,sBACAhyH,EAAAkwH,WAAAA,EACAA,EAAA/zG,aClFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAysH,EAAAzsH,EAAA,KACA2P,EAAA3P,EAAA,IACAmyH,EAAA,SAAAvoH,GAEA,SAAAuoH,EAAAtkH,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu2G,aAAA,EACAv2G,EAAAw2G,aAAA,EACAx2G,EAmBA,OAxBA+F,EAAAY,UAAAooH,EAAAvoH,GAOAuoH,EAAA91G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAia,OAAA,CACA0sD,MAAA,CAAAt5D,EAAAoC,MAAA,IACAw9G,YAAA,CAAA5/G,EAAAoC,MAAA,OAGAogH,EAAAjvH,UAAA+rH,sBAAA,SAAAmD,EAAAC,EAAAjE,EAAAqC,GACA,MAAA,CACA9pD,MAAArkE,KAAA2mE,MACAhC,MAAA3kE,KAAAitH,cAIA4C,EAAAjvH,UAAA+pH,aAAA,SAAAmF,EAAAC,EAAA5B,GACA,OAAA,GAEA0B,EAzBA,CA0BA1F,EAAAwB,kBACA/tH,EAAAiyH,YAAAA,EACAA,EAAA91G,aChCA,SAAArc,EAAAC,EAAAC,GACA,IAAAguH,EAAAluH,EAAA,KACAE,EAAAwsH,eAAAwB,EAAAxB,eACA,IAAAhqD,EAAA1iE,EAAA,KACAE,EAAAypE,YAAAjH,EAAAiH,YACA,IAAA+N,EAAA13E,EAAA,KACAE,EAAA64E,kBAAArB,EAAAqB,kBACA,IAAA42C,EAAA3vH,EAAA,KACAE,EAAAquH,gBAAAoB,EAAApB,gBACA,IAAA9B,EAAAzsH,EAAA,KACAE,EAAA+tH,iBAAAxB,EAAAwB,iBACA,IAAAt0C,EAAA35E,EAAA,KACAE,EAAA65E,eAAAJ,EAAAI,eACA,IAAA61C,EAAA5vH,EAAA,KACAE,EAAAkwH,WAAAR,EAAAQ,WACA,IAAAkC,EAAAtyH,EAAA,KACAE,EAAAiyH,YAAAG,EAAAH,YACA,IAAAz3C,EAAA16E,EAAA,KACAE,EAAA06E,UAAAF,EAAAE,UACA,IAAAG,EAAA/6E,EAAA,KACAE,EAAA+6E,eAAAF,EAAAE,eACA,IAAA40C,EAAA7vH,EAAA,KACAE,EAAAmwH,aAAAR,EAAAQ,aACA,IAAAE,EAAAvwH,EAAA,KACAE,EAAAgyH,qBAAA3B,EAAA2B,qBACA,IAAA/D,EAAAnuH,EAAA,KACAE,EAAAouH,OAAAH,EAAAG,OACA,IAAAwB,EAAA9vH,EAAA,KACAE,EAAAowH,YAAAR,EAAAQ,aC5BA,SAAAtwH,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAkuH,EAAAluH,EAAA,KACAkM,EAAAlM,EAAA,IACA46E,EAAA,SAAAhxE,GAEA,SAAAgxE,EAAA/sE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAuEA,OAzEA6G,EAAAY,UAAA6wE,EAAAhxE,GAIAgxE,EAAAv+D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAob,SAAA,CACAivG,UAAA,CAAA,EAAA,MAGA/xC,EAAA13E,UAAA+rH,sBAAA,SAAA/B,EAAAC,EAAAiB,EAAAhB,GACA,IAMAnkD,EANAkmD,EAAA7sH,KAAA6sH,gBACAI,EAAA,GACAhrF,EAAAjiC,KAAAiiC,KACAguF,EAAA3gH,KAAA0iB,IAAA44F,GAAAt7G,KAAA0iB,IAAAiQ,GACAiuF,EAAA5gH,KAAA0iB,IAAA64F,GAAAv7G,KAAA0iB,IAAAiQ,GACAkuF,EAAAD,EAAAD,EAEA,GAAAvqE,SAAAyqE,GAGA,GAAAA,EAAA,EAAA,CACA,IAAAC,EAAApwH,KAAA2qH,aAAAC,EAAAC,EAAAC,GACAiC,EAAAz9G,KAAA64B,MAAAyiF,EAAAwF,GACApD,EAAA19G,KAAAC,KAAAs7G,EAAAuF,GAKA,GAJAzpD,EAAA/8D,EAAAg7B,MAAAmoF,EAAAC,EAAA,GACAviH,OAAA,SAAA67C,GAAA,OAAA,GAAAA,IACAn8C,IAAA,SAAAm8C,GAAA,OAAAA,EAAA8pE,IACA3lH,OAAA,SAAA0mE,GAAA,OAAAy5C,GAAAz5C,GAAAA,GAAA05C,IACAgC,EAAA,GAAAlmD,EAAAzlE,OAAA,EAAA,CAGA,IAFA,IAAAgsH,EAAAkD,EAAAvD,EACAM,EAAAvjH,EAAAg7B,MAAA,EAAAioF,GAAA1iH,IAAA,SAAA8F,GAAA,OAAAA,EAAAi9G,IACA9iH,EAAA,EAAAM,EAAAyiH,EAAA1oF,MAAA,GAAAr6B,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA3B,EAAAiC,EAAAN,GACA6iH,EAAAjiH,KAAA27D,EAAA,GAAAl+D,GAEA,IAAA,IAAAwC,EAAA,EAAAyzE,EAAA/X,EAAA17D,EAAAyzE,EAAAx9E,OAAA+J,IAEA,IADA,IAAAkmE,EAAAuN,EAAAzzE,GACA4B,EAAA,EAAAugH,EAAAD,EAAAtgH,EAAAugH,EAAAlsH,OAAA2L,IAAA,CACA,IAAApE,EAAA2kH,EAAAvgH,GACAogH,EAAAjiH,KAAAmmE,EAAA1oE,SAKA,CACA,IAAA4nH,EAAA/gH,KAAAC,KAAA,QAAA0gH,GACAK,EAAAhhH,KAAA64B,MAAA,SAAA+nF,GACA7L,EAAA/0G,KAAAC,MAAA+gH,EAAAD,GAAA,GAGA,GAFA1pD,EAAA/8D,EAAAg7B,MAAAyrF,EAAA,EAAAC,EAAA,EAAAjM,GACAl6G,IAAA,SAAA8F,GAAA,OAAAX,KAAAqS,IAAAsgB,EAAAhyB,KACA48G,EAAA,GAAAlmD,EAAAzlE,OAAA,EAAA,CAGA,IAFA,IAAAqvH,EAAAjhH,KAAAqS,IAAAsgB,EAAAoiF,GAAAwI,EACAM,EAAAvjH,EAAAg7B,MAAA,EAAAioF,EAAA,GAAA1iH,IAAA,SAAA8F,GAAA,OAAAA,EAAAsgH,IACAxjH,EAAA,EAAAyjH,EAAArD,EAAApgH,EAAAyjH,EAAAtvH,OAAA6L,IAAA,CACA,IAAAtE,EAAA+nH,EAAAzjH,GACAkgH,EAAAjiH,KAAA27D,EAAA,GAAAl+D,GAEAwkH,EAAAjiH,KAAA27D,EAAA,IACA,IAAA,IAAAzY,EAAA,EAAAuiE,EAAA9pD,EAAAzY,EAAAuiE,EAAAvvH,OAAAgtD,IAEA,IADA,IAAAijB,EAAAs/C,EAAAviE,GACAC,EAAA,EAAAuiE,EAAAvD,EAAAh/D,EAAAuiE,EAAAxvH,OAAAitD,IAAA,CACA,IAAA1lD,EAAAioH,EAAAviE,GACA8+D,EAAAjiH,KAAAmmE,EAAA1oE,UA5CAk+D,EAAA,GAiDA,MAAA,CACAtC,MAAAsC,EAAAl8D,OAAA,SAAA0mE,GAAA,OAAAy5C,GAAAz5C,GAAAA,GAAA05C,IACAlmD,MAAAsoD,EAAAxiH,OAAA,SAAA0mE,GAAA,OAAAy5C,GAAAz5C,GAAAA,GAAA05C,MAGAvyC,EA1EA,CA2EAszC,EAAAxB,gBACAxsH,EAAA06E,UAAAA,EACAA,EAAAv+D,aCjFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA0iE,EAAA1iE,EAAA,KACA2P,EAAA3P,EAAA,IACAukF,EAAAvkF,EAAA,IACAi7E,EAAA,SAAArxE,GAEA,SAAAqxE,EAAAptE,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA4DA,OA9DA6G,EAAAY,UAAAkxE,EAAArxE,GAIAqxE,EAAA5+D,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBACAvZ,KAAAia,OAAA,CACAi6B,UAAA,CAAA7mC,EAAA8I,WAGAwiE,EAAA/3E,UAAA+rH,sBAAA,SAAA/B,EAAAC,EAAA+B,EAAA9B,GACA,IAAApgH,EAAAO,EAAA4B,EAAAE,EAAAmhD,EAKAyiE,EAAAC,EAAAC,EAJA,GAAA,MAAA7wH,KAAAk0C,UACA,MAAA,IAAA71C,MAAA,2CAEAqM,EAAAu3E,EAAAhuC,cAAA22E,EAAAC,EAAA7qH,KAAAk0C,WAAA02E,EAAAlgH,EAAA,GAAAmgH,EAAAngH,EAAA,GAEA,QAAA1K,KAAAk0C,WACAjpC,EAAAg3E,EAAA3uC,eAAA6uC,QAAA,CAAAyoC,EAAAgC,IAAA+D,EAAA1lH,EAAA,GAAA4lH,EAAA5lH,EAAA,GACA4B,EAAAo1E,EAAA3uC,eAAA6uC,QAAA,CAAA0oC,EAAA+B,IAAAgE,EAAA/jH,EAAA,GAAAgkH,EAAAhkH,EAAA,KAGAE,EAAAk1E,EAAA3uC,eAAA6uC,QAAA,CAAAyqC,EAAAhC,IAAAiG,EAAA9jH,EAAA,GAAA4jH,EAAA5jH,EAAA,GACAmhD,EAAA+zB,EAAA3uC,eAAA6uC,QAAA,CAAAyqC,EAAA/B,IAAAgG,EAAA3iE,EAAA,GAAA0iE,EAAA1iE,EAAA,IAEA,IAAAg0B,EAAA56E,EAAA1G,UAAA+rH,sBAAA9kH,KAAA7H,KAAA2wH,EAAAC,EAAAhE,EAAA9B,GACAzmD,EAAA,GACAM,EAAA,GACA,GAAA,QAAA3kE,KAAAk0C,UAAA,CACA,IAAA,IAAA9pC,EAAA,EAAA+jD,EAAA+zB,EAAA7d,MAAAj6D,EAAA+jD,EAAAjtD,OAAAkJ,IAAA,CACA,IAAA+mE,EAAAhjB,EAAA/jD,GACA,GAAA63E,EAAA9tC,UAAAg9B,EAAA,OAAA,CACA,IAAA39B,EAAAyuC,EAAA3uC,eAAAQ,QAAA,CAAAq9B,EAAA0/C,IAAA,GACAxsD,EAAAr5D,KAAAwoC,IAGA,IAAA,IAAA4a,EAAA,EAAAye,EAAAqV,EAAAvd,MAAAvW,EAAAye,EAAA3rE,OAAAktD,IAAA,CACA,IAAA+iB,EAAAtE,EAAAze,GACA,GAAA6zB,EAAA9tC,UAAAg9B,EAAA,OAAA,CACA,IAAA39B,EAAAyuC,EAAA3uC,eAAAQ,QAAA,CAAAq9B,EAAA0/C,IAAA,GACAlsD,EAAA35D,KAAAwoC,SAIA,CACA,IAAA,IAAAgiE,EAAA,EAAAC,EAAAvzB,EAAA7d,MAAAmxC,EAAAC,EAAAv0G,OAAAs0G,IAAA,CACA,IAAArkC,EAAAskC,EAAAD,GACA,GAAAvzB,EAAA9tC,UAAAg9B,EAAA,OAAA,CACA,IAAA2/C,EAAA7uC,EAAA3uC,eAAAQ,QAAA,CAAA+8E,EAAA1/C,IAAA19B,EAAAq9E,EAAA,GACAzsD,EAAAr5D,KAAAyoC,IAGA,IAAA,IAAAs9E,EAAA,EAAAC,EAAA9uC,EAAAvd,MAAAosD,EAAAC,EAAA9vH,OAAA6vH,IAAA,CACA,IAAA5/C,EAAA6/C,EAAAD,GACA,GAAA9uC,EAAA9tC,UAAAg9B,EAAA,OAAA,CACA,IAAA8/C,EAAAhvC,EAAA3uC,eAAAQ,QAAA,CAAA+8E,EAAA1/C,IAAA19B,EAAAw9E,EAAA,GACAtsD,EAAA35D,KAAAyoC,KAIA,MAAA,CAAA4wB,MAAAA,EAAAM,MAAAA,IAEAgU,EA/DA,CAgEAvY,EAAAiH,aACAzpE,EAAA+6E,eAAAA,EACAA,EAAA5+D,aCvEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuwH,EAAAvwH,EAAA,KACA+vH,EAAA/vH,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IAiBAqwH,EAAA,SAAAzmH,GAEA,SAAAymH,EAAAxiH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAkCA,OApCA6G,EAAAY,UAAAsmH,EAAAzmH,GAIAymH,EAAAh0G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAia,OAAA,CACA+lE,OAAA,CAAA3yE,EAAAoC,MAAA,OAGAs+G,EAAAntH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACA,IAAAggF,EAAAhgF,KAAAggF,OACAA,EAAA9+E,OAAA,EACAlB,KAAAqkH,UAAArkC,EAAA,GAAAA,EAAA,IAAAytC,EAAAyD,UAEAlxH,KAAAqkH,SAAA,GAAAoJ,EAAAyD,WAEAnD,EAAAntH,UAAA+rH,sBAAA,SAAA/B,EAAAC,EAAAiB,EAAAqC,GACA,IAAAgD,EAlCA,SAAA9C,EAAAC,GACA,IAAAC,EAAAd,EAAA2D,wBAAA,IAAArnF,KAAAskF,IACAI,EAAAhB,EAAA2D,wBAAA,IAAArnF,KAAAukF,IACAG,EAAA4C,eAAA5C,EAAA6C,iBAAA,GAGA,IAFA,IAAA1C,EAAA,GACAC,EAAAN,EAEAK,EAAA5jH,KAAAyiH,EAAAqB,UAAAD,IACAA,EAAAwC,eAAAxC,EAAAyC,iBAAA,KACAzC,EAAAJ,KAGA,OAAAG,EAsBA2C,CAAA3G,EAAAC,GACA7qC,EAAAhgF,KAAAggF,OAQAouC,EAAAxkH,EAAA+F,OAAAwhH,EAAAhnH,IAPA,SAAAqnH,GACA,OAAAxxC,EAAA71E,IAAA,SAAAsnH,GACA,IAAAxC,EAAAxB,EAAAqB,UAAA0C,GAEA,OADAvC,EAAAP,YAAA+C,GACAxC,OAIAS,EAAAtB,EAAAjkH,IAAA,SAAA8kH,GAAA,OAAAA,EAAAO,YACAG,EAAAD,EAAAjlH,OAAA,SAAA0mE,GAAA,OAAAy5C,GAAAz5C,GAAAA,GAAA05C,IACA,MAAA,CACAxmD,MAAAsrD,EACAhrD,MAAA,KAGAopD,EArCA,CAsCAE,EAAA2B,sBACAhyH,EAAAmwH,aAAAA,EACAA,EAAAh0G,aC9DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAysH,EAAAzsH,EAAA,KACA2P,EAAA3P,EAAA,IACAkyH,EAAA,SAAAtoH,GAEA,SAAAsoH,EAAArkH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAyBA,OA3BA6G,EAAAY,UAAAmoH,EAAAtoH,GAIAsoH,EAAA71G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,uBACAvZ,KAAAia,OAAA,CACAoqG,SAAA,CAAAh3G,EAAAkmB,WAGAq8F,EAAAhvH,UAAA+pH,aAAA,SAAAmF,EAAAC,EAAA2B,GACA,OAAA1xH,KAAAqkH,UAEArlH,OAAAiU,eAAA28G,EAAAhvH,UAAA,eAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAqkH,UAEAhxG,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA28G,EAAAhvH,UAAA,eAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAqkH,UAEAhxG,YAAA,EACAC,cAAA,IAEAs8G,EA5BA,CA6BAzF,EAAAwB,kBACA/tH,EAAAgyH,qBAAAA,EACAA,EAAA71G,aCnCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAsuH,EAAA,SAAA1kH,GAEA,SAAA0kH,EAAAzgH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAPA6G,EAAAY,UAAAukH,EAAA1kH,GAIA0kH,EAAAjyG,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UAEAyyG,EARA,CASAzgE,EAAAI,OACA/tD,EAAAouH,OAAAA,EACAA,EAAAjyG,aCdA,SAAArc,EAAAC,EAAAC,GAaA,SAAAkxH,EAAAD,GACA,OAAA,IAAA9kF,KAAA8kF,EAAAW,WAIA,SAAAhB,EAAAK,GACA,IAAA8C,EAAA7C,EAAAD,GAMA,OALA8C,EAAArC,WAAA,GACAqC,EAAAC,YAAA,GACAD,EAAAE,cAAA,GACAF,EAAAG,cAAA,GACAH,EAAAI,mBAAA,GACAJ,EAvBA/zH,EAAA8vH,UAAA,EACA9vH,EAAA+vH,WAAA,IACA/vH,EAAAgwH,WAAA,GAAAhwH,EAAA+vH,WACA/vH,EAAAiwH,SAAA,GAAAjwH,EAAAgwH,WACAhwH,EAAAswH,QAAA,GAAAtwH,EAAAiwH,SACAjwH,EAAAszH,UAAA,GAAAtzH,EAAAswH,QACAtwH,EAAAo0H,SAAA,IAAAp0H,EAAAswH,QAQAtwH,EAAAkxH,UAAAA,EAWAlxH,EAAA4wH,yBAAAA,EAOA5wH,EAAAwzH,wBALA,SAAAvC,GACA,IAAA8C,EAAAnD,EAAAK,GAEA,OADA8C,EAAAjD,YAAA,GACAiD,IChCA,SAAAj0H,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA0iE,EAAA1iE,EAAA,KACAuwH,EAAAvwH,EAAA,KACA+vH,EAAA/vH,EAAA,KACAswH,EAAA,SAAA1mH,GAEA,SAAA0mH,EAAAziH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAqBA,OAvBA6G,EAAAY,UAAAumH,EAAA1mH,GAIA0mH,EAAAj0G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eAEAy0G,EAAAptH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAqkH,SAAAoJ,EAAAuE,SACAhyH,KAAAiyH,aAAA,IAAA7xD,EAAAiH,YAAA,CAAAwlD,gBAAA,KAEAmB,EAAAptH,UAAA+rH,sBAAA,SAAA/B,EAAAC,EAAA+B,EAAA9B,GACA,IAAAoH,EAAAzE,EAAA2D,wBAAA,IAAArnF,KAAA6gF,IAAA0G,iBACAa,EAAA1E,EAAA2D,wBAAA,IAAArnF,KAAA8gF,IAAAyG,iBACArxC,EAAAjgF,KAAAiyH,aAAAtF,sBAAAuF,EAAAC,EAAAvF,EAAA9B,GAAAzmD,MACAqrD,EAAAzvC,EAAA91E,IAAA,SAAAioH,GAAA,OAAAroF,KAAAsoF,IAAAD,EAAA,EAAA,KACAzC,EAAAD,EAAAjlH,OAAA,SAAA0mE,GAAA,OAAAy5C,GAAAz5C,GAAAA,GAAA05C,IACA,MAAA,CACAxmD,MAAAsrD,EACAhrD,MAAA,KAGAqpD,EAxBA,CAyBAC,EAAA2B,sBACAhyH,EAAAowH,YAAAA,EACAA,EAAAj0G,aChCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA40H,EAAA50H,EAAA,KACA2P,EAAA3P,EAAA,IACA60H,EAAA,SAAAjrH,GAEA,SAAAirH,EAAAhnH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAqBA,OAvBA6G,EAAAY,UAAA8qH,EAAAjrH,GAIAirH,EAAAx4G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBACAvZ,KAAAia,OAAA,CACAu4G,WAAA,CAAAnlH,EAAA8lB,SAAA,MAGAo/F,EAAA3xH,UAAA6xH,cAAA,SAAAhqH,EAAAC,EAAA0/G,GACA,IAAA19G,EAAAO,EAEAynH,EAAAC,EAAAC,EAAAC,EADAC,EAAA9yH,KAAA+yH,sBAAA/yH,KAAAL,IAAAK,KAAAgzH,gBAMA,OAJAhzH,KAAAwyH,YACA9nH,EAAA1K,KAAAizH,2BAAAxqH,EAAAC,EAAA0/G,GAAAuK,EAAAjoH,EAAA,GAAAmoH,EAAAnoH,EAAA,GAAAgoH,EAAAhoH,EAAA,GAAAkoH,EAAAloH,EAAA,KAEAO,EAAAjL,KAAAkzH,sBAAAzqH,EAAAC,EAAA0/G,GAAAuK,EAAA1nH,EAAA,GAAA4nH,EAAA5nH,EAAA,GAAAynH,EAAAznH,EAAA,GAAA2nH,EAAA3nH,EAAA,IACA6nH,EAAA7kF,QAAA,SAAA0kF,EAAApuH,YACA0pC,QAAA,SAAA4kF,EAAAtuH,YACA0pC,QAAA,SAAAykF,EAAAnuH,YACA0pC,QAAA,SAAA2kF,EAAAruH,aAEAguH,EAxBA,CAyBAD,EAAAa,oBACAv1H,EAAA20H,eAAAA,EACAA,EAAAx4G,aC/BA,SAAArc,EAAAC,EAAAC,GACA,IAAAwN,EAAA1N,EAAA,IACA01H,EAAA,WACA,SAAAA,IACApzH,KAAAqzH,OAAA,GAeA,OAbAD,EAAAxyH,UAAA2wC,IAAA,WACA,IAAAm8C,EAAA1tF,KAAAqzH,OAAA9hF,MACA,OAAA,MAAAm8C,EAAAA,EAAA,IAAAK,OAEAqlC,EAAAxyH,UAAAoK,KAAA,SAAA0iF,GACA,IAAAhjF,EACA1K,KAAAqzH,OAAAnyH,OAAA,KAEAkK,EAAAa,QAAAyhF,IACAhjF,EAAA1K,KAAAqzH,QAAAroH,KAAAzD,MAAAmD,EAAAgjF,GAEA1tF,KAAAqzH,OAAAroH,KAAA0iF,KAEA0lC,EAjBA,GAmBAx1H,EAAAw1H,UAAAA,GCrBA,SAAA11H,EAAAC,EAAAC,GACA,IAAA01H,EAAA51H,EAAA,KACAE,EAAA20H,eAAAe,EAAAf,eACA,IAAAD,EAAA50H,EAAA,KACAE,EAAAu1H,mBAAAb,EAAAa,mBACA,IAAAI,EAAA71H,EAAA,KACAE,EAAA41H,kBAAAD,EAAAC,kBACA,IAAAC,EAAA/1H,EAAA,KACAE,EAAA81H,aAAAD,EAAAC,aACA,IAAAC,EAAAj2H,EAAA,KACAE,EAAAg2H,WAAAD,EAAAC,WACA,IAAAC,EAAAn2H,EAAA,KACAE,EAAAk2H,cAAAD,EAAAC,cACA,IAAAC,EAAAr2H,EAAA,KACAE,EAAAo2H,eAAAD,EAAAC,gBCdA,SAAAt2H,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAi2H,EAAAj2H,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACAu2H,EAAAv2H,EAAA,KACAy1H,EAAA,SAAA7rH,GAEA,SAAA6rH,EAAA5nH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAkQA,OApQA6G,EAAAY,UAAA0rH,EAAA7rH,GAIA6rH,EAAAp5G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,qBACAvZ,KAAAia,OAAA,CACAi6G,aAAA,CAAA7mH,EAAA8lB,SAAA,GACAghG,YAAA,CAAA9mH,EAAA8lB,SAAA,KAEAnzB,KAAAob,SAAA,CACAg5G,gBAAA,YACAC,gBAAA,YACAC,mBAAA,sBAGAnB,EAAAvyH,UAAA4T,WAAA,WACA,IAAA1T,EAAAd,KACAsH,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAu0H,aAAA3qH,EAAAg7B,MAAA5kC,KAAAw0H,SAAAx0H,KAAAy0H,SAAA,GAAAtqH,IAAA,SAAAi+G,GAAA,OAAAtnH,EAAA4zH,eAAAtM,MAEA+K,EAAAvyH,UAAA+zH,6BAAA,WACA,OAAA,MAAA30H,KAAAs0H,mBACAt0H,KAAAs0H,mBAIA,EAAAhlH,KAAA0e,GAAA,QAAAhuB,KAAA40H,WAGAzB,EAAAvyH,UAAAi0H,cAAA,SAAApsH,EAAAC,EAAA0/G,GACA,SAAApoH,KAAAm0H,cACA1rH,EAAA,GAAAA,GAAA6G,KAAAqS,IAAA,EAAAymG,KAGA1/G,EAAA,GAAAA,GAAA4G,KAAAqS,IAAA,EAAAymG,KAIA+K,EAAAvyH,UAAAk0H,mBAAA,SAAArsH,EAAAC,EAAA0/G,GACA,IAAA2M,EAAA/0H,KAAAg1H,oBAAAvsH,EAAAC,EAAA0/G,GACA6M,EAAAF,EAAA1mF,UAAA,EAAA0mF,EAAA7zH,OAAA,GACA,OAAAlB,KAAAk1H,oBAAAD,IAEA9B,EAAAvyH,UAAA8zH,eAAA,SAAAnkG,GACA,OAAAvwB,KAAA20H,+BAAArlH,KAAAqS,IAAA,EAAA4O,IAEA4iG,EAAAvyH,UAAAu0H,yBAAA,SAAAvhD,EAAApkE,EAAAH,GACA,IAAA+lH,GAAAxhD,EAAA,GAAAA,EAAA,IAAAvkE,EACAgmH,GAAAzhD,EAAA,GAAAA,EAAA,IAAApkE,EACA,MAAA,CAAA4lH,EAAAC,IAEAlC,EAAAvyH,UAAA00H,oBAAA,SAAA1hD,EAAApkE,EAAAH,GAKA,IAJA,IAAA+lH,GAAAxhD,EAAA,GAAAA,EAAA,IAAAvkE,EACAgmH,GAAAzhD,EAAA,GAAAA,EAAA,IAAApkE,EACA+lH,EAAAjmH,KAAAsD,IAAAwiH,EAAAC,GACAplH,EAAA,EACA7F,EAAA,EAAAM,EAAA1K,KAAAu0H,aAAAnqH,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACA,GAAAmrH,EAAA1vG,EAAA,CACA,GAAA,GAAA5V,EACA,OAAA,EACA,GAAAA,EAAA,EACA,OAAAA,EAAA,EAEAA,GAAA,EAGA,OAAAA,EAAA,GAEAkjH,EAAAvyH,UAAA40H,4BAAA,SAAA5hD,EAAApkE,EAAAH,GACA,IAAA+lH,GAAAxhD,EAAA,GAAAA,EAAA,IAAAvkE,EACAgmH,GAAAzhD,EAAA,GAAAA,EAAA,IAAApkE,EACA+lH,EAAAjmH,KAAAsD,IAAAwiH,EAAAC,GACAI,EAAAz1H,KAAAu0H,aAAAvwF,OAAA,SAAA4F,EAAAxtB,GACA,OAAA9M,KAAAsd,IAAAxQ,EAAAm5G,GAAAjmH,KAAAsd,IAAAgd,EAAA2rF,GACAn5G,EAEAwtB,IAEA,OAAA5pC,KAAAu0H,aAAA5vF,QAAA8wF,IAEAtC,EAAAvyH,UAAA80H,mBAAA,SAAA9hD,EAAApkE,EAAAH,EAAAkhB,GACA,IAAAoiG,EAAA/+C,EAAA,GAAAi/C,EAAAj/C,EAAA,GAAA8+C,EAAA9+C,EAAA,GAAAg/C,EAAAh/C,EAAA,GACA+hD,EAAA31H,KAAAu0H,aAAAhkG,GACAqlG,EAAAvmH,EAAAsmH,EACAE,EAAArmH,EAAAmmH,EACA,IAAA31H,KAAAk0H,aAAA,CACA,IAAA5xF,GAAAowF,EAAAC,GAAAiD,EACAnzF,GAAAmwF,EAAAC,GAAAgD,EACAvzF,EAAAG,GACAmzF,EAAAlD,EAAAC,EACAkD,GAAAvzF,IAGAszF,GAAAnzF,EACAozF,EAAAjD,EAAAC,GAGA,IAAAiD,GAAAF,GAAAlD,EAAAC,IAAA,EACAoD,GAAAF,GAAAjD,EAAAC,IAAA,EACA,MAAA,CAAAF,EAAAmD,EAAAjD,EAAAkD,EAAArD,EAAAoD,EAAAlD,EAAAmD,IAEA5C,EAAAvyH,UAAAo1H,YAAA,SAAAvtH,EAAAC,EAAA0/G,GAEA,MAAA,CAAA3/G,EAAA6G,KAAAqS,IAAA,EAAAymG,GAAA,EAAA1/G,EAAA0/G,IAEA+K,EAAAvyH,UAAAq1H,YAAA,SAAAxtH,EAAAC,EAAA0/G,GAEA,MAAA,CAAA3/G,EAAA6G,KAAAqS,IAAA,EAAAymG,GAAA,EAAA1/G,EAAA0/G,IAEA+K,EAAAvyH,UAAAs1H,iBAAA,SAAAp1G,EAAAC,EAAAwP,GACA,IAAA4lG,EAAAn2H,KAAA00H,eAAAnkG,GACA6lG,EAAAt1G,EAAAq1G,EAAAn2H,KAAAo0H,gBACAiC,EAAAt1G,EAAAo1G,EAAAn2H,KAAAq0H,gBACA,MAAA,CAAA+B,EAAAC,IAEAlD,EAAAvyH,UAAA01H,iBAAA,SAAAF,EAAAC,EAAA9lG,GACA,IAAA4lG,EAAAn2H,KAAA00H,eAAAnkG,GACAzP,GAAAs1G,EAAAp2H,KAAAo0H,iBAAA+B,EACAp1G,GAAAs1G,EAAAr2H,KAAAq0H,iBAAA8B,EACA,MAAA,CAAAr1G,EAAAC,IAEAoyG,EAAAvyH,UAAA21H,eAAA,SAAAz1G,EAAAC,GACA,IAAAy1G,EAAAlnH,KAAAC,KAAAuR,EAAA9gB,KAAA40H,WACA4B,EAAA,IAAAA,EAAAA,EAAAA,EAAA,EACA,IAAAC,EAAAnnH,KAAAsD,IAAAtD,KAAAC,KAAAwR,EAAA/gB,KAAA40H,WAAA,EAAA,GACA,MAAA,CAAA4B,EAAAC,IAEAtD,EAAAvyH,UAAA81H,iBAAA,SAAA51G,EAAAC,EAAAwP,GACA,IAAAomG,EAAA32H,KAAA40H,WAAArkG,EACA,MAAA,CAAAzP,EAAA61G,EAAA51G,IAEAoyG,EAAAvyH,UAAAg2H,eAAA,SAAAR,EAAAC,EAAA9lG,GACA,IAAA7lB,EAAA1K,KAAAs2H,iBAAAF,EAAAC,EAAA9lG,GAAAzP,EAAApW,EAAA,GAAAqW,EAAArW,EAAA,GACA,OAAA1K,KAAAu2H,eAAAz1G,EAAAC,IAEAoyG,EAAAvyH,UAAAsyH,sBAAA,SAAAsD,EAAAC,EAAAlmG,GAEA,IAAA7lB,EAAA1K,KAAAk2H,iBAAAM,EAAAx2H,KAAA40H,UAAA6B,EAAAz2H,KAAA40H,UAAArkG,GAAAoiG,EAAAjoH,EAAA,GAAAmoH,EAAAnoH,EAAA,GACAO,EAAAjL,KAAAk2H,kBAAAM,EAAA,GAAAx2H,KAAA40H,WAAA6B,EAAA,GAAAz2H,KAAA40H,UAAArkG,GAAAmiG,EAAAznH,EAAA,GAAA2nH,EAAA3nH,EAAA,GACA,MAAA,CAAA0nH,EAAAE,EAAAH,EAAAE,IAEAO,EAAAvyH,UAAAqyH,2BAAA,SAAAuD,EAAAC,EAAAlmG,GACA,IAAAzC,EAAA9tB,KAAAkzH,sBAAAsD,EAAAC,EAAAlmG,GACA7lB,EAAAupH,EAAA4C,4BAAA/oG,GAAAgpG,EAAApsH,EAAA,GAAAqsH,EAAArsH,EAAA,GAAAssH,EAAAtsH,EAAA,GAAAusH,EAAAvsH,EAAA,GACA,MAAA,CAAAosH,EAAAC,EAAAC,EAAAC,IAEA9D,EAAAvyH,UAAAs2H,oBAAA,SAAAtjD,EAAArjD,EAAA4mG,QACA,IAAAA,IACAA,EAAA,GAGA,IAAAxE,EAAA/+C,EAAA,GAAAi/C,EAAAj/C,EAAA,GAAA8+C,EAAA9+C,EAAA,GAAAg/C,EAAAh/C,EAAA,GACAlpE,EAAA1K,KAAA42H,eAAAjE,EAAAE,EAAAtiG,GAAA6mG,EAAA1sH,EAAA,GAAA2sH,EAAA3sH,EAAA,GACAO,EAAAjL,KAAA42H,eAAAlE,EAAAE,EAAAriG,GAAA+mG,EAAArsH,EAAA,GAAAssH,EAAAtsH,EAAA,GAEAmsH,GAAAD,EACAE,GAAAF,EACAG,GAAAH,EAGA,IADA,IAAAK,EAAA,GACAf,EAFAc,GAAAJ,EAEAV,GAAAY,EAAAZ,IACA,IAAA,IAAAD,EAAAY,EAAAZ,GAAAc,EAAAd,IACAx2H,KAAA60H,cAAA2B,EAAAC,EAAAlmG,IACAinG,EAAAxsH,KAAA,CAAAwrH,EAAAC,EAAAlmG,EAAAvwB,KAAAkzH,sBAAAsD,EAAAC,EAAAlmG,KAIA,OADAvwB,KAAAy3H,uBAAAD,EAAA,CAAAJ,EAAAC,EAAAC,EAAAC,IACAC,GAEArE,EAAAvyH,UAAAs0H,oBAAA,SAAAwC,GAOA,IAHA,IAAAC,EAAA,EACAC,EAAA,EACAC,EAAAH,EAAAx2H,OACA+O,EAAA4nH,EAAA5nH,EAAA,EAAAA,IAAA,CACA,IAAApE,EAAA6rH,EAAA1sC,OAAA6sC,EAAA5nH,GACA6nH,EAAA,GAAA7nH,EAAA,EACA,OAAApE,GACA,IAAA,IACA,SACA,IAAA,IACA8rH,GAAAG,EACA,MACA,IAAA,IACAF,GAAAE,EACA,MACA,IAAA,IACAH,GAAAG,EACAF,GAAAE,EACA,MACA,QACA,MAAA,IAAAhnG,UAAA,oBAAA4mG,IAGA,MAAA,CAAAC,EAAAC,EAAAC,IAEA1E,EAAAvyH,UAAAo0H,oBAAA,SAAAvsH,EAAAC,EAAA0/G,GAKA,IADA,IAAA2M,EAAA,GACA9kH,EAAAm4G,EAAAn4G,EAAA,EAAAA,IAAA,CACA,IAAA6nH,EAAA,GAAA7nH,EAAA,EACA8nH,EAAA,EACA,IAAAtvH,EAAAqvH,KACAC,GAAA,GAEA,IAAArvH,EAAAovH,KACAC,GAAA,GAEAhD,GAAAgD,EAAAxzH,WAEA,OAAAwwH,GAEA5B,EAAAvyH,UAAAo3H,qBAAA,SAAAvvH,EAAAC,EAAA0/G,GAGA,IAFA,IAAA2M,EAAA/0H,KAAAg1H,oBAAAvsH,EAAAC,EAAA0/G,GACA6P,EAAA,GACAhoH,EAAA,EAAAA,GAAA,EAAAA,IAAA,CACA,IAAAvF,EAAA1K,KAAAk1H,oBAAAH,EAAA9kH,EAAA1L,YAAA2zH,EAAAxtH,EAAA,GAAAytH,EAAAztH,EAAA,GAAA0tH,EAAA1tH,EAAA,GACA6W,EAAAvhB,KAAAkzH,sBAAAgF,EAAAC,EAAAC,GACAH,EAAAjtH,KAAA,CAAAktH,EAAAC,EAAAC,EAAA72G,IAEA,OAAA02G,GAEA9E,EAAAvyH,UAAAy3H,+BAAA,SAAA5vH,EAAAC,EAAA0/G,GACA,IAAA19G,EAAAO,EAAA4B,EACAyrH,EAAAt4H,KAAAu4H,8BAAA9vH,EAAAC,EAAA0/G,GACA19G,EAAA1K,KAAAw4H,cAAA/vH,EAAAC,EAAA0/G,GAAA3/G,EAAAiC,EAAA,GAAAhC,EAAAgC,EAAA,GAAA09G,EAAA19G,EAAA,GAEA,IADA,IAAAqqH,EAAA/0H,KAAAg1H,oBAAAvsH,EAAAC,EAAA0/G,GACA2M,EAAA7zH,OAAA,GAIA,GAHA6zH,EAAAA,EAAA1mF,UAAA,EAAA0mF,EAAA7zH,OAAA,GACA+J,EAAAjL,KAAAk1H,oBAAAH,GAAAtsH,EAAAwC,EAAA,GAAAvC,EAAAuC,EAAA,GAAAm9G,EAAAn9G,EAAA,GACA4B,EAAA7M,KAAAy4H,gBAAAhwH,EAAAC,EAAA0/G,EAAAkQ,GAAA7vH,EAAAoE,EAAA,GAAAnE,EAAAmE,EAAA,GAAAu7G,EAAAv7G,EAAA,GACA7M,KAAA04H,gBAAAjwH,EAAAC,EAAA0/G,KAAApoH,KAAAw3H,MACA,MAAA,CAAA/uH,EAAAC,EAAA0/G,GAEA,MAAA,CAAA,EAAA,EAAA,IAEA+K,EAAAvyH,UAAA43H,cAAA,SAAA/vH,EAAAC,EAAA0/G,GACA,GAAApoH,KAAAm0H,YAAA,CACA,IAAAwE,EAAArpH,KAAAqS,IAAA,EAAAymG,GACA,MAAA,EAAA3/G,EAAAkwH,EAAAA,GAAAA,EAAAjwH,EAAA0/G,GAGA,MAAA,CAAA3/G,EAAAC,EAAA0/G,IAGA+K,EAAAvyH,UAAA63H,gBAAA,SAAAhwH,EAAAC,EAAA0/G,EAAAkQ,GACA,MAAA,CAAA7vH,EAAA6vH,EAAAhpH,KAAAqS,IAAA,EAAAymG,GAAA1/G,EAAA0/G,IAEA+K,EAAAvyH,UAAAg4H,mBAAA,SAAAC,EAAAC,EAAAC,EAAAT,GACA,MAAA,CAAAO,EAAA,EAAAP,EAAAhpH,KAAA0e,GAAA,QAAA8qG,IAEA3F,EAAAvyH,UAAA23H,8BAAA,SAAA9vH,EAAAwxD,EAAAmuD,GACA,OAAA94G,KAAA64B,MAAA1/B,EAAA6G,KAAAqS,IAAA,EAAAymG,KAEA+K,EArQA,CAsQAQ,EAAAC,YACAh2H,EAAAu1H,mBAAAA,EACAA,EAAAp5G,aC9QA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA40H,EAAA50H,EAAA,KACA81H,EAAA,SAAAlsH,GAEA,SAAAksH,EAAAjoH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAA+rH,EAAAlsH,GAIAksH,EAAAz5G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,qBAEAi6G,EAAA5yH,UAAA6xH,cAAA,SAAAhqH,EAAAC,EAAA0/G,GACA,IAAA0K,EAAA9yH,KAAA+yH,sBAAA/yH,KAAAL,IAAAK,KAAAgzH,gBACAtoH,EAAA1K,KAAAg2H,YAAAvtH,EAAAC,EAAA0/G,GAAA4Q,EAAAtuH,EAAA,GAAAuuH,EAAAvuH,EAAA,GAAAwuH,EAAAxuH,EAAA,GACAgtH,EAAA13H,KAAAg1H,oBAAAgE,EAAAC,EAAAC,GACA,OAAApG,EAAA7kF,QAAA,MAAAypF,IAEAlE,EAdA,CAeAlB,EAAAa,oBACAv1H,EAAA41H,kBAAAA,EACAA,EAAAz5G,aCpBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAy7H,EAAAz7H,EAAA,KACAq2H,EAAAr2H,EAAA,KACAuhH,EAAAvhH,EAAA,KACA+iE,EAAA/iE,EAAA,KACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACA0N,EAAA1N,EAAA,IACAspH,EAAAtpH,EAAA,IACA4tD,EAAA5tD,EAAA,KACA07H,EAAA,SAAA9xH,GAEA,SAAA8xH,IACA,OAAA,OAAA9xH,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAqUA,OAvUA6G,EAAAY,UAAA2xH,EAAA9xH,GAIA8xH,EAAAx4H,UAAA4T,WAAA,WACAxU,KAAAq5H,OAAA,GACA/xH,EAAA1G,UAAA4T,WAAA3M,KAAA7H,OAEAo5H,EAAAx4H,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAg6D,mBACA96D,KAAAa,QAAAb,KAAA5B,MAAAk7H,YAAAvgH,OAAA,WAAA,OAAAjY,EAAAg6D,oBAEAs+D,EAAAx4H,UAAA24H,WAAA,WACA,MAAA,CAAAv5H,KAAAi7E,QAAAlxD,MAAA/pB,KAAAk7E,QAAAnxD,MAAA/pB,KAAAi7E,QAAAjxD,IAAAhqB,KAAAk7E,QAAAlxD,MAEAhrB,OAAAiU,eAAAmmH,EAAAx4H,UAAA,WAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA+5D,YAEA1mD,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAmmH,EAAAx4H,UAAA,aAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAu8B,UAAAs9B,YAAApqC,KAEApc,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAmmH,EAAAx4H,UAAA,YAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAu8B,UAAA0E,OAEA5tB,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAmmH,EAAAx4H,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAw5H,SAAAv+C,SAEA5nE,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAmmH,EAAAx4H,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAw5H,SAAAt+C,SAEA7nE,YAAA,EACAC,cAAA,IAEA8lH,EAAAx4H,UAAAmoF,UAAA,WACA/oF,KAAAy5H,KAAA,IAAAN,EAAA/F,UACApzH,KAAA4zE,OAAA5zE,KAAAu5H,aACAv5H,KAAA05H,kBAAA9gH,EACA5Y,KAAA25H,iBAAA/gH,GAEAwgH,EAAAx4H,UAAAg5H,oBAAA,WACA,MAAA55H,KAAA65H,gBACAtvG,EAAA5Z,cAAA3Q,KAAA65H,gBACA,IAAAC,EAAA95H,KAAA5B,MAAAk7H,YAAAQ,YACA,GAAA1uH,EAAAW,SAAA+tH,IAAAA,EAAA54H,OAAA,EAAA,CACA,IAAAwJ,EAAA1K,KAAAu8B,UAAA5X,EAAAja,EAAAia,OAAAsc,EAAAv2B,EAAAu2B,MACA84F,EAAAp1G,EAAA4G,OAAA1f,MAAAo1B,EAAAxV,OAAA5f,MACAmuH,EAAAr1G,EAAA6G,QAAA3f,MAAAo1B,EAAAvV,QAAA7f,MACAmgB,EAAAiV,EAAA1V,OAAA1f,MACA7L,KAAA65H,eAAAtvG,EAAA3a,IAAA,CACAuF,MAAA,sBACA/I,MAAA,CACAyG,SAAA,WACAvE,MAAAyrH,EAAA,KACA7rH,OAAA8rH,EAAA,KACAC,YAAAjuG,EAAA,EAAA,KACAnd,QAAA,MACAqrH,mBAAA,wBACAC,YAAA,MACAC,cAAA,OACAr1E,cAAA,SACA6qB,SAAA,SACAyqD,gBAAA,cAGA,IAAAC,EAAAt6H,KAAAu8B,UAAAs9B,YAAAwgB,UACAigD,EAAA3tH,YAAA3M,KAAA65H,gBACA75H,KAAA65H,eAAA1f,UAAA2f,EACA95H,KAAA65H,eAAArrE,MAAAxuD,KAAA65H,eAAA7uD,YAAA/8B,QAAA,YAAA,OAGAmrF,EAAAx4H,UAAAm6D,UAAA,WACA/6D,KAAAu6H,eAAAv6H,KAAAu5H,aACA,IAAAiB,EAAAx6H,KAAA5B,MAAAk7H,YAAAhE,oBAAAt1H,KAAAu6H,eAAAv6H,KAAAy6H,UAAAjvG,QAAA3f,MAAA7L,KAAAy6H,UAAAlvG,OAAA1f,OACA6uH,EAAA16H,KAAA5B,MAAAk7H,YAAA5D,mBAAA11H,KAAAu6H,eAAAv6H,KAAAy6H,UAAAjvG,QAAA3f,MAAA7L,KAAAy6H,UAAAlvG,OAAA1f,MAAA2uH,GACAx6H,KAAAi7E,QAAAlxD,MAAA2wG,EAAA,GACA16H,KAAAk7E,QAAAnxD,MAAA2wG,EAAA,GACA16H,KAAAi7E,QAAAjxD,IAAA0wG,EAAA,GACA16H,KAAAk7E,QAAAlxD,IAAA0wG,EAAA,GACA16H,KAAAi7E,mBAAAxa,EAAAyF,UACAlmE,KAAAi7E,QAAA2jC,YAAA8b,EAAA,GACA16H,KAAAi7E,QAAA4jC,UAAA6b,EAAA,IAEA16H,KAAAk7E,mBAAAza,EAAAyF,UACAlmE,KAAAk7E,QAAA0jC,YAAA8b,EAAA,GACA16H,KAAAk7E,QAAA2jC,UAAA6b,EAAA,IAEA16H,KAAA45H,uBAEAR,EAAAx4H,UAAA+5H,cAAA,SAAAC,EAAAv2H,GACAu2H,EAAAltC,IAAArpF,EAAA09B,OACA64F,EAAAC,QAAA,EACA76H,KAAA86D,kBAEAs+D,EAAAx4H,UAAAk6H,oBAAA,SAAAF,EAAAv2H,GACAu2H,EAAAltC,IAAArpF,EAAA09B,OACA64F,EAAAC,QAAA,EACAD,EAAA7qC,UAAA,EACA/vF,KAAA2pF,mBAEAyvC,EAAAx4H,UAAAm6H,eAAA,SAAAH,GACAA,EAAA7qC,UAAA,GAEAqpC,EAAAx4H,UAAAo6H,aAAA,SAAAvyH,EAAAC,EAAA0/G,EAAAt6F,EAAAmtG,QACA,IAAAA,IACAA,GAAA,GAEA,IAAAvwH,EAAA1K,KAAA5B,MAAAk7H,YAAAd,cAAA/vH,EAAAC,EAAA0/G,GAAApkD,EAAAt5D,EAAA,GAAAu5D,EAAAv5D,EAAA,GAAAwwH,EAAAxwH,EAAA,GACAgjF,EAAA1tF,KAAAy5H,KAAAloF,MACA4pF,EAAA,CACAztC,IAAAA,EACA0tC,YAAA,CAAA3yH,EAAAC,EAAA0/G,GACAiT,kBAAA,CAAAr3D,EAAAC,EAAAi3D,GACAnG,QAAA/0H,KAAA5B,MAAAk7H,YAAAtE,oBAAAvsH,EAAAC,EAAA0/G,GACAkT,UAAAt7H,KAAA5B,MAAAk7H,YAAAZ,gBAAAjwH,EAAAC,EAAA0/G,GACAt6F,OAAAA,EACA+sG,QAAA,EACA9qC,UAAA,EACAwrC,QAAAztG,EAAA,GACA0tG,QAAA1tG,EAAA,IAEA4/D,EAAAnjC,OAAA0wE,EAAAj7H,KAAA86H,oBAAA/oG,KAAA/xB,KAAAm7H,GAAAn7H,KAAA26H,cAAA5oG,KAAA/xB,KAAAm7H,GACAztC,EAAA7rF,QAAA7B,KAAA+6H,eAAAhpG,KAAA/xB,KAAAm7H,GACAztC,EAAAhY,IAAA,GACAgY,EAAAh7C,IAAA1yC,KAAA5B,MAAAk7H,YAAA7G,cAAAzuD,EAAAC,EAAAi3D,GACAl7H,KAAA5B,MAAAk7H,YAAA9B,MAAA2D,EAAAG,WAAAH,EACAn7H,KAAAq5H,OAAAruH,KAAAmwH,IAEA/B,EAAAx4H,UAAA66H,sBAAA,WAEA,GAAAz7H,KAAA05H,eAAA15H,KAAAy6H,UAAAjvG,QAAA3f,OAAA7L,KAAA25H,cAAA35H,KAAAy6H,UAAAlvG,OAAA1f,MAAA,CACA,IAAA+nE,EAAA5zE,KAAAu5H,aACAiB,EAAAx6H,KAAA5B,MAAAk7H,YAAAhE,oBAAA1hD,EAAA5zE,KAAAy6H,UAAAjvG,QAAA3f,MAAA7L,KAAAy6H,UAAAlvG,OAAA1f,OACA6uH,EAAA16H,KAAA5B,MAAAk7H,YAAA5D,mBAAA9hD,EAAA5zE,KAAAy6H,UAAAjvG,QAAA3f,MAAA7L,KAAAy6H,UAAAlvG,OAAA1f,MAAA2uH,GACAx6H,KAAAi7E,QAAAxhE,KAAA,CAAAsQ,MAAA2wG,EAAA,GAAA1wG,IAAA0wG,EAAA,KACA16H,KAAAk7E,QAAAzhE,KAAA,CAAAsQ,MAAA2wG,EAAA,GAAA1wG,IAAA0wG,EAAA,KACA16H,KAAA4zE,OAAA8mD,EACA16H,KAAA05H,aAAA15H,KAAAy6H,UAAAjvG,QAAA3f,MACA7L,KAAA25H,YAAA35H,KAAAy6H,UAAAlvG,OAAA1f,QAGAutH,EAAAx4H,UAAAoU,aAAA,WACA,IAAA1N,EAAA1G,UAAAoU,aAAAnN,KAAA7H,MACA,OAAA,EAEA,GAAA,IAAAA,KAAAq5H,OAAAn4H,OACA,OAAA,EAEA,IAAA,IAAAkJ,EAAA,EAAAM,EAAA1K,KAAAq5H,OAAAjvH,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA+wH,EAAAzwH,EAAAN,GACA,IAAA+wH,EAAAprC,SACA,OAAA,EAGA,OAAA,GAEAqpC,EAAAx4H,UAAAkU,OAAA,WACA,MAAA9U,KAAA07H,kBACA17H,KAAA+oF,YACA/oF,KAAA+6D,YACA/6D,KAAA07H,iBAAA,GAEA17H,KAAAy7H,wBACAz7H,KAAA27H,UACA,MAAA37H,KAAA47H,gBACA1xF,aAAAlqC,KAAA47H,gBAEA57H,KAAA47H,eAAAx5H,WAAApC,KAAA67H,gBAAA9pG,KAAA/xB,MAAA,KACAA,KAAAgV,gBACAhV,KAAA2pF,mBAGAyvC,EAAAx4H,UAAAk7H,WAAA,SAAAC,GACA,IAAAC,EAAAh8H,KAAA5B,MAAAk7H,YAAA9B,MAAAuE,GACA,GAAA,MAAAC,EAAA,CACA,IAAAtxH,EAAA1K,KAAAu8B,UAAA21C,cAAA,CAAA8pD,EAAAluG,OAAA,IAAA,CAAAkuG,EAAAluG,OAAA,KAAAmuG,EAAAvxH,EAAA,GAAA,GAAAwxH,EAAAxxH,EAAA,GAAA,GACAO,EAAAjL,KAAAu8B,UAAA21C,cAAA,CAAA8pD,EAAAluG,OAAA,IAAA,CAAAkuG,EAAAluG,OAAA,KAAAquG,EAAAlxH,EAAA,GAAA,GAAAmxH,EAAAnxH,EAAA,GAAA,GACAq0D,EAAA68D,EAAAF,EACA18D,EAAA68D,EAAAF,EACA3zH,EAAA0zH,EACAzzH,EAAA0zH,EACAruC,EAAA7tF,KAAAq8H,WAAA3wF,2BACA1rC,KAAAq8H,WAAAjxF,yBAAAprC,KAAA5B,MAAAk+H,WACAt8H,KAAAq8H,WAAAx4D,UAAAm4D,EAAAtuC,IAAAnlF,EAAAC,EAAA82D,EAAAC,GACAv/D,KAAAq8H,WAAAjxF,yBAAAyiD,GACAmuC,EAAAjsC,UAAA,IAGAqpC,EAAAx4H,UAAA27H,UAAA,WACA,IAAAC,EAAAx8H,KAAA+5D,WAAA7gD,WAAAujH,mBAAA5wH,QACAs7E,EAAAnnF,KAAAy6H,UAAAnvG,MAAAzf,MAAA2wH,EAAA,EACA77G,EAAA3gB,KAAAy6H,UAAApvG,KAAAxf,MAAA2wH,EAAA,EACA/7G,EAAAzgB,KAAAy6H,UAAAlvG,OAAA1f,MAAA2wH,EACA7uF,EAAA3tC,KAAAy6H,UAAAjvG,QAAA3f,MAAA2wH,EACAx8H,KAAAq8H,WAAAltH,KAAAg4E,EAAAxmE,EAAAF,EAAAktB,GACA3tC,KAAAq8H,WAAAxzF,QAEAuwF,EAAAx4H,UAAA87H,cAAA,SAAAC,GACA38H,KAAAq8H,WAAAzgE,OACA57D,KAAAu8H,YACAv8H,KAAAq8H,WAAA7yE,YAAAxpD,KAAA5B,MAAAkwC,MACA,IAAA,IAAAlkC,EAAA,EAAAwyH,EAAAD,EAAAvyH,EAAAwyH,EAAA17H,OAAAkJ,IAAA,CACA,IAAA2xH,EAAAa,EAAAxyH,GACApK,KAAA87H,WAAAC,GAEA/7H,KAAAq8H,WAAApgE,WAEAm9D,EAAAx4H,UAAAi7H,gBAAA,WAOA,IANA,IAAAvC,EAAAt5H,KAAA5B,MAAAk7H,YACA1lD,EAAA5zE,KAAAu5H,aACA5rF,EAAA3tC,KAAAy6H,UAAAjvG,QAAA3f,MACA4U,EAAAzgB,KAAAy6H,UAAAlvG,OAAA1f,MACA2uH,EAAAx6H,KAAA5B,MAAAk7H,YAAAhE,oBAAA1hD,EAAAjmC,EAAAltB,GACA+2G,EAAAx3H,KAAA5B,MAAAk7H,YAAApC,oBAAAtjD,EAAA4mD,GACA75G,EAAA,EAAAqJ,EAAA1a,KAAA4b,IAAA,GAAAssG,EAAAt2H,QAAAyf,EAAAqJ,EAAArJ,IAGA,IAFA,IAAAjW,EAAA8sH,EAAA72G,GAAAlY,EAAAiC,EAAA,GAAAhC,EAAAgC,EAAA,GAAA09G,EAAA19G,EAAA,GACAc,EAAAxL,KAAA5B,MAAAk7H,YAAAtB,qBAAAvvH,EAAAC,EAAA0/G,GACAh+G,EAAA,EAAA0C,EAAAtB,EAAApB,EAAA0C,EAAA5L,OAAAkJ,IAAA,CACA,IAAA0b,EAAAhZ,EAAA1C,GACA2uG,EAAAjzF,EAAA,GAAAkzF,EAAAlzF,EAAA,GAAA+2G,EAAA/2G,EAAA,GAAAg3G,EAAAh3G,EAAA,GACAwzG,EAAAZ,gBAAA3f,EAAAC,EAAA6jB,KAAAvD,EAAA9B,OAIAx3H,KAAAg7H,aAAAjiB,EAAAC,EAAA6jB,EAAAC,GAAA,KAKA1D,EAAAx4H,UAAAm8H,aAAA,SAAAvF,GACA,IAAA,IAAAptH,EAAA,EAAA4yH,EAAAxF,EAAAptH,EAAA4yH,EAAA97H,OAAAkJ,IAAA,CACA,IAAA+wH,EAAA6B,EAAA5yH,GACA3B,EAAA0yH,EAAA,GAAAzyH,EAAAyyH,EAAA,GAAA/S,EAAA+S,EAAA,GAAArtG,EAAAqtG,EAAA,GACAn7H,KAAAg7H,aAAAvyH,EAAAC,EAAA0/G,EAAAt6F,KAGAsrG,EAAAx4H,UAAA+6H,QAAA,WACA,IAAA76H,EAAAd,KACAs5H,EAAAt5H,KAAA5B,MAAAk7H,YACA9E,EAAA8E,EAAA9E,SACAC,EAAA6E,EAAA7E,SACA7gD,EAAA5zE,KAAAu5H,aACA0D,EAAAj9H,KAAA4zE,OAAA,GAAA5zE,KAAA4zE,OAAA,GAAAA,EAAA,GAAAA,EAAA,GACAjmC,EAAA3tC,KAAAy6H,UAAAjvG,QAAA3f,MACA4U,EAAAzgB,KAAAy6H,UAAAlvG,OAAA1f,MACA2uH,EAAAlB,EAAAhE,oBAAA1hD,EAAAjmC,EAAAltB,GACAy8G,GAAA,EACA1C,EAAAhG,GACA5gD,EAAA5zE,KAAA4zE,OACA4mD,EAAAhG,EACA0I,GAAA,GAEA1C,EAAA/F,IACA7gD,EAAA5zE,KAAA4zE,OACA4mD,EAAA/F,EACAyI,GAAA,GAEAA,IACAl9H,KAAAi7E,QAAAxhE,KAAA,CAAAwhE,QAAA,CAAAlxD,MAAA6pD,EAAA,GAAA5pD,IAAA4pD,EAAA,MACA5zE,KAAAk7E,QAAAzhE,KAAA,CAAAsQ,MAAA6pD,EAAA,GAAA5pD,IAAA4pD,EAAA,KACA5zE,KAAA4zE,OAAAA,GAEA5zE,KAAA4zE,OAAAA,EAMA,IALA,IAAA4jD,EAAA8B,EAAApC,oBAAAtjD,EAAA4mD,GACA2C,EAAA,GACAC,EAAA,GACAC,EAAA,GACA7xH,EAAA,GACApB,EAAA,EAAAkzH,EAAA9F,EAAAptH,EAAAkzH,EAAAp8H,OAAAkJ,IAAA,CACA,IAAAuW,EAAA28G,EAAAlzH,GACA3B,EAAAkY,EAAA,GAAAjY,EAAAiY,EAAA,GAAAynG,EAAAznG,EAAA,GACAtU,EAAAitH,EAAAZ,gBAAAjwH,EAAAC,EAAA0/G,GACA+S,EAAA7B,EAAA9B,MAAAnrH,GACA,GAAA,MAAA8uH,GAAAA,EAAAN,OACAuC,EAAApyH,KAAAqB,QAGA,GAAArM,KAAA5B,MAAAm/H,eAAA,CACA,IAAA7yH,EAAA4uH,EAAAjB,+BAAA5vH,EAAAC,EAAA0/G,GAAAtnG,EAAApW,EAAA,GAAAqW,EAAArW,EAAA,GAAA8yH,EAAA9yH,EAAA,GACA+yH,EAAAnE,EAAAZ,gBAAA53G,EAAAC,EAAAy8G,GACAE,EAAApE,EAAA9B,MAAAiG,GAIA,GAHA,MAAAC,GAAAA,EAAA7C,SAAAjxH,EAAAmqB,SAAAspG,EAAAI,IACAJ,EAAAryH,KAAAyyH,GAEAR,EAEA,IADA,IAAAU,EAAArE,EAAAtB,qBAAAvvH,EAAAC,EAAA0/G,GACAn9G,EAAA,EAAA2yH,EAAAD,EAAA1yH,EAAA2yH,EAAA18H,OAAA+J,IAAA,CACA,IAAA4B,EAAA+wH,EAAA3yH,GAAA8tG,EAAAlsG,EAAA,GAAAmsG,EAAAnsG,EAAA,GAAAgwH,EAAAhwH,EAAA,GACAgxH,EAAAvE,EAAAZ,gBAAA3f,EAAAC,EAAA6jB,GACAgB,KAAAvE,EAAA9B,OACAhsH,EAAAR,KAAA6yH,IAKA,MAAA1C,GACAgC,EAAAnyH,KAAA2V,GAGA3gB,KAAA08H,cAAAW,GACAr9H,KAAA08H,cAAAlxH,GAEAxL,KAAA08H,cAAAU,GAEA,MAAAp9H,KAAA89H,cACA5zF,aAAAlqC,KAAA89H,cAEA99H,KAAA89H,aAAA17H,WAAA,WAAA,OAAAtB,EAAAi8H,aAAAI,IAAA,KAEA/D,EAxUA,CAyUAna,EAAAF,kBACAnhH,EAAAw7H,iBAAAA,EACA,IAAA1F,EAAA,SAAApsH,GAEA,SAAAosH,EAAAnoH,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAHAc,EAAAi9H,mBAAA,IAAA/W,EAAA/uF,iBAAA,CACAvY,OAAA,IAAA4rC,EAAAsI,mBAEA9yD,EAeA,OAtBA+F,EAAAY,UAAAisH,EAAApsH,GASAosH,EAAA35G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAY,UAAAoJ,aAAAovH,EACAp5H,KAAAia,OAAA,CACAq0B,MAAA,CAAAjhC,EAAAkmB,OAAA,GACA+oG,UAAA,CAAAjvH,EAAA8lB,SAAA,GACAmmG,YAAA,CAAAjsH,EAAAimB,SAAA,WAAA,OAAA,IAAAygG,EAAAC,iBACAuJ,eAAA,CAAAlwH,EAAA8lB,SAAA,MAGAugG,EAAA9yH,UAAA+5F,sBAAA,WACA,OAAA36F,KAAA+9H,oBAEArK,EAvBA,CAwBAzU,EAAAD,cACAphH,EAAA81H,aAAAA,EACAA,EAAA35G,aCjXA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAy7H,EAAAz7H,EAAA,KACA2P,EAAA3P,EAAA,IACAk2H,EAAA,SAAAtsH,GAEA,SAAAssH,EAAAroH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA4EA,OA9EA6G,EAAAY,UAAAmsH,EAAAtsH,GAIAssH,EAAA75G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAia,OAAA,CACAta,IAAA,CAAA0N,EAAAsmB,OAAA,IACAihG,UAAA,CAAAvnH,EAAAkmB,OAAA,KACAkhG,SAAA,CAAApnH,EAAAkmB,OAAA,IACAihG,SAAA,CAAAnnH,EAAAkmB,OAAA,GACAy/F,eAAA,CAAA3lH,EAAA6M,IAAA,IACA4/G,YAAA,CAAAzsH,EAAAsmB,OAAA,IACAygG,gBAAA,CAAA/mH,EAAAkmB,QACA8gG,gBAAA,CAAAhnH,EAAAkmB,QACA+gG,mBAAA,CAAAjnH,EAAAkmB,WAGAqgG,EAAAhzH,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAw3H,MAAA,GACAx3H,KAAAy5H,KAAA,IAAAN,EAAA/F,UACApzH,KAAAg+H,mBAEApK,EAAAhzH,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA+Y,OAAA,WAAA,OAAAjY,EAAAm9H,kBAEArK,EAAAhzH,UAAAmyH,sBAAA,SAAA/5E,EAAAklF,GACA,IAAAC,EAAAnlF,EACA,IAAA,IAAA3sC,KAAA6xH,EAAA,CACA,IAAAryH,EAAAqyH,EAAA7xH,GACA8xH,EAAAA,EAAAlwF,QAAA,IAAA5hC,EAAA,IAAAR,GAEA,OAAAsyH,GAEAvK,EAAAhzH,UAAAo9H,gBAAA,WAIA,IAAAr+H,EAAAK,KAAAL,IACAsuC,QAAA,MAAA,OACAA,QAAA,MAAA,OACAA,QAAA,MAAA,OACAA,QAAA,MAAA,OACAA,QAAA,SAAA,UACAA,QAAA,SAAA,UACAA,QAAA,SAAA,UACAA,QAAA,SAAA,UACAjuC,KAAAL,IAAAA,GAEAi0H,EAAAhzH,UAAAq9H,aAAA,WACAj+H,KAAAw3H,MAAA,IAEA5D,EAAAhzH,UAAA83H,gBAAA,SAAAjwH,EAAAC,EAAA0/G,GACA,OAAA3/G,EAAA,IAAAC,EAAA,IAAA0/G,GAEAwL,EAAAhzH,UAAAw9H,gBAAA,SAAA/xH,GACA,IAAA3B,EAAA2B,EAAAL,MAAA,KAAA7B,IAAA,SAAA2b,GAAA,OAAAopB,SAAAppB,KAAArd,EAAAiC,EAAA,GAAAhC,EAAAgC,EAAA,GAAA09G,EAAA19G,EAAA,GACA,MAAA,CAAAjC,EAAAC,EAAA0/G,IAEAwL,EAAAhzH,UAAA62H,uBAAA,SAAAD,EAAA6G,GACA,IAAAjH,EAAAiH,EAAA,GAAAhH,EAAAgH,EAAA,GAAA/G,EAAA+G,EAAA,GAAA9G,EAAA8G,EAAA,GACAC,GAAAhH,EAAAF,GAAA,EAAAA,EACAmH,GAAAhH,EAAAF,GAAA,EAAAA,EACAG,EAAAxxF,KAAA,SAAAh2B,EAAAuR,GACA,IAAAi9G,EAAAlvH,KAAAsT,KAAAtT,KAAAqS,IAAA28G,EAAAtuH,EAAA,GAAA,GAAAV,KAAAqS,IAAA48G,EAAAvuH,EAAA,GAAA,IACAyuH,EAAAnvH,KAAAsT,KAAAtT,KAAAqS,IAAA28G,EAAA/8G,EAAA,GAAA,GAAAjS,KAAAqS,IAAA48G,EAAAh9G,EAAA,GAAA,IACA,OAAAi9G,EAAAC,KAGA7K,EAAAhzH,UAAA6xH,cAAA,SAAAhqH,EAAAC,EAAA0/G,GACA,IAAA0K,EAAA9yH,KAAA+yH,sBAAA/yH,KAAAL,IAAAK,KAAAgzH,gBACA,OAAAF,EAAA7kF,QAAA,MAAAxlC,EAAAlE,YACA0pC,QAAA,MAAAvlC,EAAAnE,YACA0pC,QAAA,MAAAm6E,EAAA7jH,aAEAqvH,EA/EA,CAgFAroE,EAAAI,OACA/tD,EAAAg2H,WAAAA,EACAA,EAAA75G,aCvFA,SAAArc,EAAAC,EAAAC,GACA,IAAAqkF,EAAAvkF,EAAA,IACA,SAAAghI,EAAAC,EAAAC,GACA,OAAA38C,EAAA3uC,eAAAQ,QAAA,CAAA6qF,EAAAC,IAGA,SAAAC,EAAAzI,EAAAC,GACA,OAAAp0C,EAAA3uC,eAAA6uC,QAAA,CAAAi0C,EAAAC,IAFAz4H,EAAA8gI,qBAAAA,EAIA9gI,EAAAihI,qBAAAA,EAOAjhI,EAAAkhI,4BANA,SAAAlrD,GACA,IAAAmrD,EAAAnrD,EAAA,GAAAorD,EAAAprD,EAAA,GAAAqrD,EAAArrD,EAAA,GAAAsrD,EAAAtrD,EAAA,GACAlpE,EAAAg0H,EAAAK,EAAAC,GAAAG,EAAAz0H,EAAA,GAAA00H,EAAA10H,EAAA,GACAO,EAAAyzH,EAAAO,EAAAC,GAAAG,EAAAp0H,EAAA,GAAAq0H,EAAAr0H,EAAA,GACA,MAAA,CAAAk0H,EAAAC,EAAAC,EAAAC,IASA1hI,EAAAi5H,4BANA,SAAAjjD,GACA,IAAAurD,EAAAvrD,EAAA,GAAAwrD,EAAAxrD,EAAA,GAAAyrD,EAAAzrD,EAAA,GAAA0rD,EAAA1rD,EAAA,GACAlpE,EAAAm0H,EAAAM,EAAAC,GAAAL,EAAAr0H,EAAA,GAAAs0H,EAAAt0H,EAAA,GACAO,EAAA4zH,EAAAQ,EAAAC,GAAAL,EAAAh0H,EAAA,GAAAi0H,EAAAj0H,EAAA,GACA,MAAA,CAAA8zH,EAAAC,EAAAC,EAAAC,KCrBA,SAAAxhI,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA40H,EAAA50H,EAAA,KACAo2H,EAAA,SAAAxsH,GAEA,SAAAwsH,EAAAvoH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAWA,OAbA6G,EAAAY,UAAAqsH,EAAAxsH,GAIAwsH,EAAA/5G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBAEAu6G,EAAAlzH,UAAA6xH,cAAA,SAAAhqH,EAAAC,EAAA0/G,GACA,IAAA0K,EAAA9yH,KAAA+yH,sBAAA/yH,KAAAL,IAAAK,KAAAgzH,gBACA,OAAAF,EAAA7kF,QAAA,MAAAxlC,EAAAlE,YACA0pC,QAAA,MAAAvlC,EAAAnE,YACA0pC,QAAA,MAAAm6E,EAAA7jH,aAEAuvH,EAdA,CAeAxB,EAAAa,oBACAv1H,EAAAk2H,cAAAA,EACAA,EAAA/5G,aCpBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA40H,EAAA50H,EAAA,KACAs2H,EAAA,SAAA1sH,GAEA,SAAA0sH,EAAAzoH,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAYA,OAdA6G,EAAAY,UAAAusH,EAAA1sH,GAIA0sH,EAAAj6G,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,kBAEAy6G,EAAApzH,UAAA6xH,cAAA,SAAAhqH,EAAAC,EAAA0/G,GACA,IAAA0K,EAAA9yH,KAAA+yH,sBAAA/yH,KAAAL,IAAAK,KAAAgzH,gBACAtoH,EAAA1K,KAAAg2H,YAAAvtH,EAAAC,EAAA0/G,GAAA4Q,EAAAtuH,EAAA,GAAAuuH,EAAAvuH,EAAA,GAAAwuH,EAAAxuH,EAAA,GACA,OAAAooH,EAAA7kF,QAAA,MAAA+qF,EAAAz0H,YACA0pC,QAAA,MAAAgrF,EAAA10H,YACA0pC,QAAA,MAAAirF,EAAA30H,aAEAyvH,EAfA,CAgBA1B,EAAAa,oBACAv1H,EAAAo2H,eAAAA,EACAA,EAAAj6G,aCrBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6hI,EAAA7hI,EAAA,KACA2a,EAAA3a,EAAA,IACA8hI,EAAA,SAAAl4H,GAEA,SAAAk4H,IACA,OAAA,OAAAl4H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA+3H,EAAAl4H,GAIAk4H,EAAA5+H,UAAA6+H,SAAA,WACAz/H,KAAA5B,MAAAshI,GAAAhkH,QAEA8jH,EARA,CASAD,EAAAI,sBACA/hI,EAAA4hI,qBAAAA,EACA,IAAAI,EAAA,SAAAt4H,GAEA,SAAAs4H,IACA,OAAA,OAAAt4H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAOA,OATA6G,EAAAY,UAAAm4H,EAAAt4H,GAIAs4H,EAAAh/H,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAAshI,GAAA,WAAA,OAAA5+H,EAAA4pD,UAEAk1E,EAVA,CAWAL,EAAAM,gBACAjiI,EAAAgiI,eAAAA,EACA,IAAAE,EAAA,SAAAx4H,GAEA,SAAAw4H,EAAAv0H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAi/H,YAAAP,EACA1+H,EAAA4+H,GAAA,IAAArnH,EAAAS,QAAAhY,EAAA,MACAA,EAKA,OAVA+F,EAAAY,UAAAq4H,EAAAx4H,GAOAw4H,EAAA/lH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cAEAumH,EAXA,CAYAP,EAAAS,YACApiI,EAAAkiI,WAAAA,EACAA,EAAA/lH,aC1CA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuiI,EAAAviI,EAAA,KACA2P,EAAA3P,EAAA,IACAwiI,EAAA,SAAA54H,GAEA,SAAA44H,IACA,OAAA,OAAA54H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAy4H,EAAA54H,GAIA44H,EAAAt/H,UAAA8T,YAAA,WACA,OAAApN,EAAA1G,UAAA8T,YAAA7M,KAAA7H,MAAA2P,OAAA,oCAEAuwH,EARA,CASAD,EAAAT,sBACA5hI,EAAAsiI,uBAAAA,EACA,IAAAC,EAAA,SAAA74H,GAEA,SAAA64H,IACA,OAAA,OAAA74H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAMA,OARA6G,EAAAY,UAAA04H,EAAA74H,GAIA64H,EAAAv/H,UAAA8pD,KAAA,WACA,MAAA1qD,KAAA5B,MAAAgnD,UACAplD,KAAA5B,MAAAgnD,SAAA2T,QAAA/4D,KAAA5B,QAEA+hI,EATA,CAUAF,EAAAL,gBACAhiI,EAAAuiI,iBAAAA,EACA,IAAAC,EAAA,SAAA94H,GAEA,SAAA84H,EAAA70H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,gBACAv/H,EAAAi/H,YAAAG,EACAp/H,EAkBA,OAvBA+F,EAAAY,UAAA24H,EAAA94H,GAOA84H,EAAArmH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAY,UAAAoJ,aAAAm2H,EACAngI,KAAAia,OAAA,CACAqmH,eAAA,CAAAjzH,EAAAsmB,OAAA,2BACAyxB,SAAA,CAAA/3C,EAAA6M,KACAqmH,KAAA,CAAAlzH,EAAAsmB,WAGA30B,OAAAiU,eAAAmtH,EAAAx/H,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAsgI,gBAEAjtH,YAAA,EACAC,cAAA,IAEA8sH,EAxBA,CAyBAH,EAAAH,YACAliI,EAAAwiI,aAAAA,EACAA,EAAArmH,aCtDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuiI,EAAAviI,EAAA,KACA2P,EAAA3P,EAAA,IACA8iI,EAAA,SAAAl5H,GAEA,SAAAk5H,IACA,OAAA,OAAAl5H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAA+4H,EAAAl5H,GAIAk5H,EAAA5/H,UAAA8pD,KAAA,WACA14C,OAAAynE,KAAAz5E,KAAA5B,MAAAqiI,WAEAD,EARA,CASAP,EAAAL,gBACAhiI,EAAA4iI,aAAAA,EACA,IAAAE,EAAA,SAAAp5H,GAEA,SAAAo5H,EAAAn1H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,OACAv/H,EAAAy/H,KAAA,oBACAz/H,EAiBA,OAtBA+F,EAAAY,UAAAi5H,EAAAp5H,GAOAo5H,EAAA3mH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAAoJ,aAAAw2H,EACAxgI,KAAAia,OAAA,CACA0mH,aAAA,CAAAtzH,EAAAsmB,OAAA,iEACA8sG,SAAA,CAAApzH,EAAAsmB,OAAA,mFAGA30B,OAAAiU,eAAAytH,EAAA9/H,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA2gI,cAEAttH,YAAA,EACAC,cAAA,IAEAotH,EAvBA,CAwBAT,EAAAH,YACAliI,EAAA8iI,SAAAA,EACAA,EAAA3mH,aCzCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuiI,EAAAviI,EAAA,KACAkjI,EAAA,SAAAt5H,GAEA,SAAAs5H,IACA,OAAA,OAAAt5H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAUA,OAZA6G,EAAAY,UAAAm5H,EAAAt5H,GAIAs5H,EAAAhgI,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAAu8B,UAAAu2E,cAAA,WAAA,OAAAhyG,EAAA1C,MAAAkjG,UAAAxgG,EAAAy7B,UAAAw5E,cAEA6qB,EAAAhgI,UAAA8pD,KAAA,WACA1qD,KAAAu8B,UAAA25E,QAEA0qB,EAbA,CAcAX,EAAAL,gBACAhiI,EAAAgjI,aAAAA,EACA,IAAAC,EAAA,SAAAv5H,GAEA,SAAAu5H,EAAAt1H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,OACAv/H,EAAAy/H,KAAA,oBACAz/H,EASA,OAdA+F,EAAAY,UAAAo5H,EAAAv5H,GAOAu5H,EAAA9mH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAAoJ,aAAA42H,EACA5gI,KAAAob,SAAA,CACAkmF,UAAA,KAGAu/B,EAfA,CAgBAZ,EAAAH,YACAliI,EAAAijI,SAAAA,EACAA,EAAA9mH,aCrCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuiI,EAAAviI,EAAA,KACAojI,EAAA,SAAAx5H,GAEA,SAAAw5H,IACA,OAAA,OAAAx5H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAq5H,EAAAx5H,GAIAw5H,EAAAlgI,UAAA8pD,KAAA,WACA1qD,KAAAu8B,UAAAg0E,SAEAuwB,EARA,CASAb,EAAAL,gBACAhiI,EAAAkjI,cAAAA,EACA,IAAAC,EAAA,SAAAz5H,GAEA,SAAAy5H,EAAAx1H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,QACAv/H,EAAAy/H,KAAA,qBACAz/H,EAMA,OAXA+F,EAAAY,UAAAs5H,EAAAz5H,GAOAy5H,EAAAhnH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAY,UAAAoJ,aAAA82H,GAEAC,EAZA,CAaAd,EAAAH,YACAliI,EAAAmjI,UAAAA,EACAA,EAAAhnH,aC7BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuiI,EAAAviI,EAAA,KACAsjI,EAAA,SAAA15H,GAEA,SAAA05H,IACA,OAAA,OAAA15H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAKA,OAPA6G,EAAAY,UAAAu5H,EAAA15H,GAIA05H,EAAApgI,UAAA8pD,KAAA,WACA1qD,KAAAu8B,UAAAq/B,KAAA,eAEAolE,EARA,CASAf,EAAAL,gBACAhiI,EAAAojI,aAAAA,EACA,IAAAC,EAAA,SAAA35H,GAEA,SAAA25H,EAAA11H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,OACAv/H,EAAAy/H,KAAA,oBACAz/H,EAMA,OAXA+F,EAAAY,UAAAw5H,EAAA35H,GAOA25H,EAAAlnH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAAoJ,aAAAg3H,GAEAC,EAZA,CAaAhB,EAAAH,YACAliI,EAAAqjI,SAAAA,EACAA,EAAAlnH,aC7BA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuiI,EAAAviI,EAAA,KACAwjI,EAAA,SAAA55H,GAEA,SAAA45H,IACA,OAAA,OAAA55H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAUA,OAZA6G,EAAAY,UAAAy5H,EAAA55H,GAIA45H,EAAAtgI,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAAu8B,UAAAu2E,cAAA,WAAA,OAAAhyG,EAAA1C,MAAAkjG,UAAAxgG,EAAAy7B,UAAAu5E,cAEAorB,EAAAtgI,UAAA8pD,KAAA,WACA1qD,KAAAu8B,UAAAy5E,QAEAkrB,EAbA,CAcAjB,EAAAL,gBACAhiI,EAAAsjI,aAAAA,EACA,IAAAC,EAAA,SAAA75H,GAEA,SAAA65H,EAAA51H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,OACAv/H,EAAAy/H,KAAA,oBACAz/H,EASA,OAdA+F,EAAAY,UAAA05H,EAAA75H,GAOA65H,EAAApnH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAAoJ,aAAAk3H,EACAlhI,KAAAob,SAAA,CACAkmF,UAAA,KAGA6/B,EAfA,CAgBAlB,EAAAH,YACAliI,EAAAujI,SAAAA,EACAA,EAAApnH,aCrCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuiI,EAAAviI,EAAA,KACA0jI,EAAA1jI,EAAA,IACA2P,EAAA3P,EAAA,IACA2jI,EAAA,SAAA/5H,GAEA,SAAA+5H,IACA,OAAA,OAAA/5H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAcA,OAhBA6G,EAAAY,UAAA45H,EAAA/5H,GAIA+5H,EAAAzgI,UAAA8pD,KAAA,WACA,IAAAzpB,EAAAjhC,KAAAu8B,UAAA0E,MACAqgG,EAAAthI,KAAA5B,MAAA80G,WAEApsD,EAAA,SAAAw6E,GAAA,QAAAA,EACAv6E,EAAA,UAAAu6E,GAAA,QAAAA,EACAC,EAAAH,EAAAv6E,YAAA5lB,EAAAjhC,KAAA5B,MAAAkoD,OAAAQ,EAAAC,GACA/mD,KAAAu8B,UAAAo5E,WAAA,WAAA,CAAA/wE,MAAA28F,IACAvhI,KAAAu8B,UAAAquE,aAAA22B,GAAA,GAAA,GACAvhI,KAAA5B,MAAA0F,UACA9D,KAAA5B,MAAA0F,SAAAkpD,kBAAAhtD,KAAA+5D,aAEAsnE,EAjBA,CAkBApB,EAAAL,gBACAhiI,EAAAyjI,eAAAA,EACA,IAAAG,EAAA,SAAAl6H,GAEA,SAAAk6H,EAAAj2H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,UACAv/H,EAAAy/H,KAAA,uBACAz/H,EAiBA,OAtBA+F,EAAAY,UAAA+5H,EAAAl6H,GAOAk6H,EAAAznH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAY,UAAAoJ,aAAAq3H,EACArhI,KAAAia,OAAA,CACAqsC,OAAA,CAAAj5C,EAAAqmB,QAAA,IACAw/E,WAAA,CAAA7lG,EAAAsI,WAAA,WAGA3W,OAAAiU,eAAAuuH,EAAA5gI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAyhI,iBAAAzhI,KAAAqgI,UAAArgI,KAAAkzG,aAEA7/F,YAAA,EACAC,cAAA,IAEAkuH,EAvBA,CAwBAvB,EAAAH,YACAliI,EAAA4jI,WAAAA,EACAA,EAAAznH,aCnDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAuiI,EAAAviI,EAAA,KACA0jI,EAAA1jI,EAAA,IACA2P,EAAA3P,EAAA,IACAgkI,EAAA,SAAAp6H,GAEA,SAAAo6H,IACA,OAAA,OAAAp6H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAeA,OAjBA6G,EAAAY,UAAAi6H,EAAAp6H,GAIAo6H,EAAA9gI,UAAA8pD,KAAA,WACA,IAAAzpB,EAAAjhC,KAAAu8B,UAAA0E,MACAqgG,EAAAthI,KAAA5B,MAAA80G,WAEApsD,EAAA,SAAAw6E,GAAA,QAAAA,EACAv6E,EAAA,UAAAu6E,GAAA,QAAAA,EAEAC,EAAAH,EAAAv6E,YAAA5lB,GAAAjhC,KAAA5B,MAAAkoD,OAAAQ,EAAAC,GACA/mD,KAAAu8B,UAAAo5E,WAAA,WAAA,CAAA/wE,MAAA28F,IACAvhI,KAAAu8B,UAAAquE,aAAA22B,GAAA,GAAA,GACAvhI,KAAA5B,MAAA0F,UACA9D,KAAA5B,MAAA0F,SAAAkpD,kBAAAhtD,KAAA+5D,aAEA2nE,EAlBA,CAmBAzB,EAAAL,gBACAhiI,EAAA8jI,gBAAAA,EACA,IAAAC,EAAA,SAAAr6H,GAEA,SAAAq6H,EAAAp2H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,WACAv/H,EAAAy/H,KAAA,wBACAz/H,EAiBA,OAtBA+F,EAAAY,UAAAk6H,EAAAr6H,GAOAq6H,EAAA5nH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAY,UAAAoJ,aAAA03H,EACA1hI,KAAAia,OAAA,CACAqsC,OAAA,CAAAj5C,EAAAqmB,QAAA,IACAw/E,WAAA,CAAA7lG,EAAAsI,WAAA,WAGA3W,OAAAiU,eAAA0uH,EAAA/gI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAyhI,iBAAAzhI,KAAAqgI,UAAArgI,KAAAkzG,aAEA7/F,YAAA,EACAC,cAAA,IAEAquH,EAvBA,CAwBA1B,EAAAH,YACAliI,EAAA+jI,YAAAA,EACAA,EAAA5nH,aCpDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAi8E,EAAAj8E,EAAA,GACAkkI,EAAAlkI,EAAA,KACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACA8a,EAAA9a,EAAA,IACA0N,EAAA1N,EAAA,IACAiiI,EAAA,SAAAr4H,GAEA,SAAAq4H,IACA,OAAA,OAAAr4H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAuBA,OAzBA6G,EAAAY,UAAAk4H,EAAAr4H,GAIAq4H,EAAA/+H,UAAA4T,WAAA,WACA,IAAA1T,EAAAd,KACAsH,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA2a,OAAA,WAAA,OAAAjY,EAAAgU,WACA9U,KAAAmN,GAAA2wB,iBAAA,QAAA,WAAA,OAAAh9B,EAAA2+H,aACAz/H,KAAA8U,UAEA6qH,EAAA/+H,UAAA8T,YAAA,WACA,OAAApN,EAAA1G,UAAA8T,YAAA7M,KAAA7H,MAAA2P,OAAA,sBAEAgwH,EAAA/+H,UAAAkU,OAAA,WACAyV,EAAA9Y,MAAAzR,KAAAmN,IACA,IAAAozH,EAAAvgI,KAAA5B,MAAAyjI,cACAz2H,EAAAW,SAAAw0H,KACA/nH,EAAAugC,WAAAwnF,EAAA,cACAvgI,KAAAmN,GAAAf,MAAA01H,gBAAA,QAAAvB,EAAA,KAEAvgI,KAAAmN,GAAAxB,UAAAC,IAAA20H,IAEAvgI,KAAAmN,GAAAqhD,MAAAxuD,KAAA5B,MAAA2jI,SAEApC,EA1BA,CA2BAhmD,EAAAplE,SACA3W,EAAA+hI,qBAAAA,EACA,IAAAE,EAAA,SAAAv4H,GAEA,SAAAu4H,IACA,OAAA,OAAAv4H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAo4H,EAAAv4H,GAIAu4H,EALA,CAMA+B,EAAAI,UACApkI,EAAAiiI,eAAAA,EACA,IAAAG,EAAA,SAAA14H,GAEA,SAAA04H,EAAAz0H,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAsBA,OAxBA6G,EAAAY,UAAAu4H,EAAA14H,GAIA04H,EAAAjmH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAA8a,SAAA,CACAwmF,SAAA,CAAAj0F,EAAA8lB,SAAA,MAGAn0B,OAAAiU,eAAA+sH,EAAAp/H,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAqgI,WAEAhtH,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA+sH,EAAAp/H,UAAA,gBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAugI,MAEAltH,YAAA,EACAC,cAAA,IAEA0sH,EAzBA,CA0BA4B,EAAAK,MACArkI,EAAAoiI,WAAAA,EACAA,EAAAjmH,aCzEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACAwkI,EAAAxkI,EAAA,KACAykI,EAAA,SAAA76H,GAEA,SAAA66H,IACA,OAAA,OAAA76H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAkJA,OApJA6G,EAAAY,UAAA06H,EAAA76H,GAIA66H,EAAAvhI,UAAAg+B,KAAA,SAAAyD,GACA,GAAA,MAAAriC,KAAAoiI,iBAAA,MAAApiI,KAAAqiI,WAAA,CAEA,IAAA71H,EAAA61B,EAAAkB,SACAvjC,KAAAsiI,cAAAjgG,EAAA71B,EAAAxM,KAAA5B,MAAAwuE,aAEAu1D,EAAAvhI,UAAA6/B,OAAA,SAAA4B,GACA,GAAAriC,KAAA5B,MAAAqjC,QAAAzhC,KAAAuiI,gBAEA,IAAA,IAAAn4H,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACA,GAAAi4B,EAAAwB,UAAAtZ,EAAArW,KAAAsuH,UACAxiI,KAAAyiI,iBAAA3/C,QAEA,GAAAzgD,EAAAwB,SAAAtZ,EAAArW,KAAAwuH,IAAA,CAEA,IAAAC,EAAA7/C,EAAAn/B,YACAg/E,EAAApnC,kBAAA3nF,WAIAuuH,EAAAvhI,UAAAgiI,YAAA,SAAAl4H,EAAAO,EAAAuB,EAAAkP,GACA,IAAAurC,EAAAv8C,EAAA,GAAAw8C,EAAAx8C,EAAA,GACA28C,EAAAp8C,EAAA,GAAAq8C,EAAAr8C,EAAA,QACA,IAAAyQ,IACAA,GAAA,GAEA,IAAAonE,EAAA9iF,KAAA5B,MAAAwuE,UAAA,GACA3rC,EAAAjhC,KAAAu8B,UAAA0E,MAEAg5D,EAAAnX,EAAAmX,MACA0oC,EAAA7/C,EAAAn/B,YACArhB,EAAArB,EAAAsB,QAAAugD,EAAAznB,cACA54B,EAAAxB,EAAAyB,QAAAogD,EAAAvnB,cACA1uD,EAAAy1B,EAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA3U,EAAA,GAAAoU,EAAApU,EAAA,GACAE,EAAA01B,EAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAA1U,EAAA,GAAAmU,EAAAnU,EAAA,GACAmhD,EAAA,EAAA1sC,EAAAP,GAAA,GAAAQ,EAAAP,GAAA,GAAAzY,EAAAylD,EAAA,GAAAxlD,EAAAwlD,EAAA,GACAC,EAAA,CAAAltC,EAAAO,EAAAN,EAAAO,GAAAhB,EAAA0tC,EAAA,GAAAxgB,EAAAwgB,EAAA,GACAC,EAAA,CAAA6rC,EAAAxxF,EAAAsX,MAAAk6E,EAAAvxF,EAAAqX,OAAA8iH,EAAAz0E,EAAA,GAAA00E,EAAA10E,EAAA,GACAye,EAAA,CAAAotB,EAAA5qF,MAAA0Q,MAAAk6E,EAAAzqF,OAAAuQ,OAAAgjH,EAAAl2D,EAAA,GAAAm2D,EAAAn2D,EAAA,GACA,GAAArgE,EACAxM,KAAAijI,YAAAN,EAAA3iI,KAAA5B,MAAA8kI,aACAL,GACAF,EAAAzb,UAAA2b,GAAA73H,KAAAvC,GACAq6H,GACAH,EAAAzb,UAAA4b,GAAA93H,KAAAtC,GACAq6H,GACAJ,EAAAzb,UAAA6b,GAAA/3H,KAAAyV,GACAuiH,GACAL,EAAAzb,UAAA8b,GAAAh4H,KAAA2iC,GACA3tC,KAAAmjI,mBAAAR,EAAA,CAAAE,EAAAC,EAAAC,EAAAC,QAEA,CACA,IAAAjjG,EAAA4iG,EAAAv+H,KAAAy+H,GAAA3hI,OAAA,EACA2hI,IACAF,EAAAv+H,KAAAy+H,GAAA9iG,GAAAt3B,GACAq6H,IACAH,EAAAv+H,KAAA0+H,GAAA/iG,GAAAr3B,GACAq6H,IACAJ,EAAAv+H,KAAA2+H,GAAAhjG,GAAAtf,GACAuiH,IACAL,EAAAv+H,KAAA4+H,GAAAjjG,GAAA4N,GAEA3tC,KAAAojI,kBAAAT,GAAA,GAAA,EAAAjnH,IAEAymH,EAAAvhI,UAAAyiI,YAAA,SAAAhhG,EAAA71B,EAAAkP,GAOA,QANA,IAAAlP,IACAA,GAAA,QAEA,IAAAkP,IACAA,GAAA,GAEA,MAAA1b,KAAAoiI,gBAAA,CAEA,IAAAkB,EAAA,CAAAjhG,EAAA95B,GAAA85B,EAAA75B,IACAy4B,EAAAjhC,KAAAu8B,UAAA0E,MACAqgG,EAAAthI,KAAA5B,MAAA80G,WACAqwB,EAAAvjI,KAAA5B,MAAAolI,gBAAAxjI,KAAAoiI,gBAAAkB,EAAAriG,EAAAqgG,GACA,GAAA,MAAAiC,EAAA,CACA,IAAAE,EAAAF,EAAA,GAAAG,EAAAH,EAAA,GACAvjI,KAAA4iI,YAAAa,EAAAC,EAAAl3H,EAAAkP,MAGAymH,EAAAvhI,UAAA+9B,WAAA,SAAA0D,GACAriC,KAAA5B,MAAAqjC,SAEA,MAAAzhC,KAAAoiI,iBACApiI,KAAAqjI,YAAAhhG,GAAA,GAAA,GACAriC,KAAAoiI,gBAAA,OAGApiI,KAAAoiI,gBAAA,CAAA//F,EAAA95B,GAAA85B,EAAA75B,IACAxI,KAAAsiI,cAAAjgG,GAAA,EAAAriC,KAAA5B,MAAAwuE,WACA5sE,KAAAqjI,YAAAhhG,GAAA,GAAA,MAGA8/F,EAAAvhI,UAAAy/B,MAAA,SAAAgC,GACAriC,KAAAqjI,YAAAhhG,GAAA,GAAA,IAEA8/F,EAAAvhI,UAAAo+B,WAAA,SAAAqD,GACA,GAAAA,EAAAkB,SAAA,CACA,GAAA,MAAAvjC,KAAAoiI,gBACA,OACApiI,KAAAoiI,gBAAA,CAAA//F,EAAA95B,GAAA85B,EAAA75B,IACAxI,KAAAqjI,YAAAhhG,GAAA,GAAA,OAEA,CACA,GAAA,MAAAriC,KAAAqiI,WACA,OACAriI,KAAAsiI,cAAAjgG,GAAA,EAAAriC,KAAA5B,MAAAwuE,WACA5sE,KAAAqiI,WAAA,CAAAhgG,EAAA95B,GAAA85B,EAAA75B,MAGA25H,EAAAvhI,UAAAq+B,KAAA,SAAAoD,EAAA71B,EAAAkP,GAOA,QANA,IAAAlP,IACAA,GAAA,QAEA,IAAAkP,IACAA,GAAA,GAEA2mB,EAAAkB,SAAA,CACA,GAAA,MAAAvjC,KAAAoiI,gBACA,OACApiI,KAAAqjI,YAAAhhG,EAAA71B,EAAAkP,OAEA,CACA,GAAA,MAAA1b,KAAAqiI,WACA,OACAriI,KAAA2jI,aAAAthG,EAAAriC,KAAA5B,MAAAwuE,aAGAu1D,EAAAvhI,UAAAs+B,SAAA,SAAAmD,GAEA,GADAriC,KAAAi/B,KAAAoD,GAAA,GAAA,GACAA,EAAAkB,SACAvjC,KAAAoiI,gBAAA,SAEA,CACApiI,KAAAqiI,WAAA,KACA,IAAA,IAAAj4H,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACApK,KAAAojI,kBAAAtgD,EAAAn/B,aAAA,GAAA,GAAA,MAIAw+E,EArJA,CAsJAD,EAAA0B,cACAhmI,EAAAukI,gBAAAA,EACA,IAAA0B,EAAA,SAAAv8H,GAEA,SAAAu8H,EAAAt4H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,gBACAv/H,EAAAy/H,KAAA,wBACAz/H,EAAA++B,WAAA,CAAA,MAAA,MAAA,QACA/+B,EAAAgjI,cAAA,EACAhjI,EAUA,OAjBA+F,EAAAY,UAAAo8H,EAAAv8H,GASAu8H,EAAA9pH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAY,UAAAoJ,aAAAm4H,EACAniI,KAAAia,OAAA,CACAi5F,WAAA,CAAA7lG,EAAAsI,WAAA,QACAutH,YAAA,CAAA71H,EAAAmmB,IAAA,MAGAqwG,EAlBA,CAmBA3B,EAAA6B,UACAnmI,EAAAimI,YAAAA,EACAA,EAAA9pH,aClLA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACA0N,EAAA1N,EAAA,IACAsmI,EAAAtmI,EAAA,KACAkmI,EAAA,SAAAt8H,GAEA,SAAAs8H,IACA,IAAA9iI,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAAyhI,iBAAA,EACAzhI,EAiIA,OArIA+F,EAAAY,UAAAm8H,EAAAt8H,GAMAs8H,EAAAhjI,UAAAw/B,YAAA,SAAA8tB,GACAluD,KAAAuiI,iBAAA,GAEAqB,EAAAhjI,UAAA0/B,WAAA,SAAA4tB,GACAluD,KAAAuiI,iBAAA,GAEAqB,EAAAhjI,UAAAqjI,UAAA,SAAA17H,EAAAC,EAAAs6E,GAEA,IAAA7hD,EAAAjhC,KAAAu8B,UAAA0E,MACA,IAAAA,EAAAlc,KAAAvR,SAAAjL,EAAAC,GACA,OAAA,KAEA,IAAAC,EAAAw4B,EAAAsB,QAAAugD,EAAAznB,cAAA14B,OAAAp6B,GACAG,EAAAu4B,EAAAyB,QAAAogD,EAAAvnB,cAAA54B,OAAAn6B,GACA,MAAA,CAAAC,EAAAC,IAEAk7H,EAAAhjI,UAAA6hI,iBAAA,SAAA3/C,GAEA,IAAA6/C,EAAA7/C,EAAAn/B,YACAvhC,EAAAugH,EAAA58G,SAAA3D,QACAA,EAAA4jB,OACA,IAAA,IAAA57B,EAAA,EAAAM,EAAAi4H,EAAA30D,UAAA5jE,EAAAM,EAAAxJ,OAAAkJ,IAGA,IAFA,IAAAw5C,EAAAl5C,EAAAN,GACA+I,EAAAwvH,EAAAzb,UAAAtjE,GACA7jB,EAAA,EAAAA,EAAA3d,EAAAlhB,OAAA6+B,IAAA,CACA,IAAA41C,EAAAvzD,EAAA2d,GACA5sB,EAAAwzB,OAAAgvC,EAAA51C,EAAA,GAGA//B,KAAAojI,kBAAAT,IAEAiB,EAAAhjI,UAAAqiI,YAAA,SAAAN,EAAAO,GAEA,IAAAl1D,EAAA20D,EAAA30D,UACA,GAAAk1D,GAAAl1D,EAAA9sE,OAEA,IAAA,IAAAkJ,EAAA,EAAA85H,EAAAl2D,EAAA5jE,EAAA85H,EAAAhjI,OAAAkJ,IAAA,CACA,IAAAw5C,EAAAsgF,EAAA95H,GACA0V,EAAA6iH,EAAAzb,UAAAtjE,GACAugF,EAAArkH,EAAA5e,OAAAgiI,EAAA,EACAiB,EAAA,IAEA/4H,EAAAa,QAAA6T,KACAA,EAAArQ,MAAAC,KAAAoQ,GACA6iH,EAAAv+H,KAAAw/C,GAAA9jC,GAEAA,EAAA6mB,OAAA,EAAAw9F,MAGAP,EAAAhjI,UAAAwiI,kBAAA,SAAAT,EAAAyB,EAAAxwH,EAAA8H,QACA,IAAA0oH,IACAA,GAAA,QAEA,IAAAxwH,IACAA,GAAA,QAEA,IAAA8H,IACAA,GAAA,GAEA9H,GACA+uH,EAAApnC,kBAAA3nF,QACAwwH,GACAzB,EAAA5pH,OAAA2C,OACAA,IACAinH,EAAAv+H,KAAAu+H,EAAAv+H,KACAu+H,EAAAzpH,WAAA9U,KAAA2U,OAAA2C,SAGAkoH,EAAAhjI,UAAA+iI,aAAA,SAAAthG,EAAAuqC,GACA,GAAA,MAAA5sE,KAAAqiI,WAAA,CAGA,IADA,IAAA33H,EAAA1K,KAAAqiI,WAAAgC,EAAA35H,EAAA,GAAA45H,EAAA55H,EAAA,GACAN,EAAA,EAAAuxG,EAAA/uC,EAAAxiE,EAAAuxG,EAAAz6G,OAAAkJ,IAAA,CACA,IAAA04E,EAAA64B,EAAAvxG,GACAm6H,EAAAvkI,KAAAikI,UAAAI,EAAAC,EAAAxhD,GACAiQ,EAAA/yF,KAAAikI,UAAA5hG,EAAA95B,GAAA85B,EAAA75B,GAAAs6E,GACA,GAAA,MAAAiQ,GAAA,MAAAwxC,EAAA,CAUA,IAPA,IAAA97H,EAAAsqF,EAAA,GAAArqF,EAAAqqF,EAAA,GACAjyE,EAAAyjH,EAAA,GAAAxjH,EAAAwjH,EAAA,GACAt5H,EAAA,CAAAxC,EAAAqY,EAAApY,EAAAqY,GAAA6tE,EAAA3jF,EAAA,GAAA4jF,EAAA5jF,EAAA,GAEAgvF,EAAAnX,EAAAmX,MACA0oC,EAAA7/C,EAAAn/B,YACA92C,EAAA,CAAAotF,EAAAxxF,EAAAsX,MAAAk6E,EAAAvxF,EAAAqX,OAAA8iH,EAAAh2H,EAAA,GAAAi2H,EAAAj2H,EAAA,GACAE,EAAA,EAAAohD,EAAAw0E,EAAA58G,SAAA3D,QAAArV,EAAAohD,EAAAjtD,OAAA6L,IAAA,CACA,IAAAgzB,EAAAouB,EAAAphD,GACA81H,IACAF,EAAAv+H,KAAAy+H,GAAA9iG,IAAA6uD,GACAk0C,IACAH,EAAAv+H,KAAA0+H,GAAA/iG,IAAA8uD,GAEA8zC,EAAA5pH,OAAA2C,QAEA1b,KAAAqiI,WAAA,CAAAhgG,EAAA95B,GAAA85B,EAAA75B,MAEAo7H,EAAAhjI,UAAAuiI,mBAAA,SAAAR,EAAA6B,GAEA,IAAA,IAAAp6H,EAAA,EAAAM,EAAAi4H,EAAA30D,UAAA5jE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAw5C,EAAAl5C,EAAAN,GACAR,EAAAmqB,SAAAywG,EAAA5gF,IACA++E,EAAAzb,UAAAtjE,GAAA54C,KAAAhL,KAAA5B,MAAAqmI,eAGAb,EAAAhjI,UAAA0hI,cAAA,SAAAjgG,EAAA71B,EAAAogE,GAEA,IAAA3rC,EAAAjhC,KAAAu8B,UAAA0E,MACA14B,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACA,IAAAy4B,EAAAlc,KAAAvR,SAAAjL,EAAAC,GACA,MAAA,GAIA,IAFA,IAAAL,EAAA,CAAAoR,KAAA,QAAAhR,GAAAA,EAAAC,GAAAA,GACAud,EAAA,GACA3b,EAAA,EAAAyxG,EAAAjvC,EAAAxiE,EAAAyxG,EAAA36G,OAAAkJ,IAAA,CACA,IAAA04E,EAAA+4B,EAAAzxG,GACAs6H,EAAA5hD,EAAA6X,wBACAgoC,EAAA7/C,EAAAn/B,YACA/iB,EAAA,CAAA5gC,KAAAu8B,UAAApE,eAAA2qD,EAAAljF,KACA64B,EAAAisG,EAAAp0H,OAAAswB,EAAAz4B,GAAA,EAAAqE,GACAisB,GACA1S,EAAA/a,KAAA83E,GAEA6/C,EAAAzpH,WAAA6M,SAAAhN,OAAA2C,OAEA,OAAAqK,GAEA69G,EAtIA,CAuIAI,EAAAW,iBACA/mI,EAAAgmI,aAAAA,EACA,IAAAG,EAAA,SAAAz8H,GAEA,SAAAy8H,EAAAx4H,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAyBA,OA3BA6G,EAAAY,UAAAs8H,EAAAz8H,GAIAy8H,EAAAhqH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAia,OAAA,CACA2qH,YAAA,CAAAv3H,EAAAsmB,QACAkxG,eAAA,CAAAx3H,EAAAsmB,QACA8wG,YAAA,CAAAp3H,EAAA6M,KACA0yD,UAAA,CAAAv/D,EAAAoC,MAAA,OAGAzQ,OAAAiU,eAAA8wH,EAAAnjI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA6kI,gBAAA7kI,KAAAqgI,WAEAhtH,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA8wH,EAAAnjI,UAAA,gBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA4kI,aAAA5kI,KAAAugI,MAEAltH,YAAA,EACAC,cAAA,IAEAywH,EA5BA,CA6BAC,EAAAc,aACAlnI,EAAAmmI,SAAAA,EACAA,EAAAhqH,aC9KA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACAwkI,EAAAxkI,EAAA,KACAqnI,EAAA,SAAAz9H,GAEA,SAAAy9H,IACA,OAAA,OAAAz9H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAuEA,OAzEA6G,EAAAY,UAAAs9H,EAAAz9H,GAIAy9H,EAAAnkI,UAAAokI,MAAA,SAAA3iG,EAAA21D,EAAAt8E,GAIA,QAHA,IAAAA,IACAA,GAAA,GAEA1b,KAAA5B,MAAAqjC,OAAA,CAEA,IAAAqhD,EAAA9iF,KAAA5B,MAAAwuE,UAAA,GACAmmB,EAAA/yF,KAAAikI,UAAA5hG,EAAA95B,GAAA85B,EAAA75B,GAAAs6E,GACA,GAAA,MAAAiQ,EAAA,CAEA,IAAAtqF,EAAAsqF,EAAA,GAAArqF,EAAAqqF,EAAA,GACA4vC,EAAA7/C,EAAAn/B,YACAs2C,EAAAnX,EAAAmX,MACAvvF,EAAA,CAAAuvF,EAAA5lD,GAAAt0B,MAAAk6E,EAAA3lD,GAAAv0B,OAAA8iH,EAAAn4H,EAAA,GAAAo4H,EAAAp4H,EAAA,GACA,GAAA,OAAAstF,EACAh4F,KAAAijI,YAAAN,EAAA3iI,KAAA5B,MAAA8kI,aACAL,GACAF,EAAAzb,UAAA2b,GAAA73H,KAAA,CAAAvC,IACAq6H,GACAH,EAAAzb,UAAA4b,GAAA93H,KAAA,CAAAtC,IACA1I,KAAAmjI,mBAAAR,EAAA,CAAAE,EAAAC,SAEA,GAAA,OAAA9qC,EAAA,CACA,GAAA6qC,EAAA,CACA,IAAAoC,EAAAtC,EAAAv+H,KAAAy+H,GAAA3hI,OAAA,EACAmzC,EAAAsuF,EAAAzb,UAAA2b,GAAAoC,GACA75H,EAAAa,QAAAooC,KACAA,EAAA5kC,MAAAC,KAAA2kC,GACAsuF,EAAAv+H,KAAAy+H,GAAAoC,GAAA5wF,GAEAA,EAAArpC,KAAAvC,GAEA,GAAAq6H,EAAA,CACA,IAAAoC,EAAAvC,EAAAv+H,KAAA0+H,GAAA5hI,OAAA,EACAozC,EAAAquF,EAAAzb,UAAA4b,GAAAoC,GACA95H,EAAAa,QAAAqoC,KACAA,EAAA7kC,MAAAC,KAAA4kC,GACAquF,EAAAv+H,KAAA0+H,GAAAoC,GAAA5wF,GAEAA,EAAAtpC,KAAAtC,IAGA1I,KAAAojI,kBAAAT,GAAA,GAAA,EAAAjnH,MAEAqpH,EAAAnkI,UAAAo+B,WAAA,SAAAqD,GACAriC,KAAAglI,MAAA3iG,EAAA,QAEA0iG,EAAAnkI,UAAAq+B,KAAA,SAAAoD,GACAriC,KAAAglI,MAAA3iG,EAAA,QAEA0iG,EAAAnkI,UAAAs+B,SAAA,SAAAmD,GACAriC,KAAAglI,MAAA3iG,EAAA,OAAA,IAEA0iG,EAAAnkI,UAAAg+B,KAAA,SAAAyD,GACAriC,KAAAsiI,cAAAjgG,EAAAA,EAAAkB,SAAAvjC,KAAA5B,MAAAwuE,YAEAm4D,EAAAnkI,UAAA6/B,OAAA,SAAA4B,GACA,GAAAriC,KAAA5B,MAAAqjC,QAAAzhC,KAAAuiI,gBAEA,IAAA,IAAAn4H,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACAi4B,EAAAwB,UAAAtZ,EAAArW,KAAAwuH,IACA5/C,EAAAn/B,YAAA43C,kBAAA3nF,QAEAyuB,EAAAwB,UAAAtZ,EAAArW,KAAAsuH,WACAxiI,KAAAyiI,iBAAA3/C,KAIAiiD,EA1EA,CA2EA7C,EAAA0B,cACAhmI,EAAAmnI,qBAAAA,EACA,IAAAI,EAAA,SAAA79H,GAEA,SAAA69H,EAAA55H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,qBACAv/H,EAAAy/H,KAAA,6BACAz/H,EAAA++B,WAAA,CAAA,MAAA,OACA/+B,EAAAgjI,cAAA,EACAhjI,EASA,OAhBA+F,EAAAY,UAAA09H,EAAA79H,GASA69H,EAAAprH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,mBACAvZ,KAAAY,UAAAoJ,aAAA+6H,EACA/kI,KAAAia,OAAA,CACAipH,YAAA,CAAA71H,EAAAmmB,IAAA,MAGA2xG,EAjBA,CAkBAjD,EAAA6B,UACAnmI,EAAAunI,iBAAAA,EACAA,EAAAprH,aCvGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACAwkI,EAAAxkI,EAAA,KACA0nI,EAAA,SAAA99H,GAEA,SAAA89H,IACA,OAAA,OAAA99H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA6DA,OA/DA6G,EAAAY,UAAA29H,EAAA99H,GAIA89H,EAAAxkI,UAAAg+B,KAAA,SAAAyD,GACA,IAAA71B,EAAA61B,EAAAkB,SACAqpC,EAAA5sE,KAAAsiI,cAAAjgG,EAAA71B,EAAAxM,KAAA5B,MAAAwuE,WACA,IAAAA,EAAA1rE,QAAAlB,KAAA5B,MAAAwN,IAAA,CAGA,IAAAk3E,EAAA9iF,KAAA5B,MAAAwuE,UAAA,GACAmmB,EAAA/yF,KAAAikI,UAAA5hG,EAAA95B,GAAA85B,EAAA75B,GAAAs6E,GACA,GAAA,MAAAiQ,EAAA,CAGA,IAAAkH,EAAAnX,EAAAmX,MACA0oC,EAAA7/C,EAAAn/B,YACAj5C,EAAA,CAAAuvF,EAAAxxF,EAAAsX,MAAAk6E,EAAAvxF,EAAAqX,OAAA8iH,EAAAn4H,EAAA,GAAAo4H,EAAAp4H,EAAA,GACAjC,EAAAsqF,EAAA,GAAArqF,EAAAqqF,EAAA,GACA/yF,KAAAijI,YAAAN,EAAA3iI,KAAA5B,MAAA8kI,aACAL,GACAF,EAAAzb,UAAA2b,GAAA73H,KAAAvC,GACAq6H,GACAH,EAAAzb,UAAA4b,GAAA93H,KAAAtC,GACA1I,KAAAmjI,mBAAAR,EAAA,CAAAE,EAAAC,IACAH,EAAA5pH,OAAA2C,OACAinH,EAAAv+H,KAAAu+H,EAAAv+H,KACAu+H,EAAAzpH,WAAA9U,KAAA2U,OAAA2C,UAEA0pH,EAAAxkI,UAAA6/B,OAAA,SAAA4B,GACA,GAAAriC,KAAA5B,MAAAqjC,QAAAzhC,KAAAuiI,gBAEA,IAAA,IAAAn4H,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACAi4B,EAAAwB,UAAAtZ,EAAArW,KAAAsuH,UACAxiI,KAAAyiI,iBAAA3/C,GAEAzgD,EAAAwB,SAAAtZ,EAAArW,KAAAwuH,KACA5/C,EAAAn/B,YAAA43C,kBAAA3nF,UAIAwxH,EAAAxkI,UAAAo+B,WAAA,SAAAqD,GACAriC,KAAA5B,MAAAinI,OAEArlI,KAAAsiI,cAAAjgG,GAAA,EAAAriC,KAAA5B,MAAAwuE,WACA5sE,KAAAqiI,WAAA,CAAAhgG,EAAA95B,GAAA85B,EAAA75B,MAEA48H,EAAAxkI,UAAAq+B,KAAA,SAAAoD,GACAriC,KAAA5B,MAAAinI,MAAA,MAAArlI,KAAAqiI,YAEAriI,KAAA2jI,aAAAthG,EAAAriC,KAAA5B,MAAAwuE,YAEAw4D,EAAAxkI,UAAAs+B,SAAA,SAAAmD,GACA,GAAAriC,KAAA5B,MAAAinI,KAAA,CAEArlI,KAAAi/B,KAAAoD,GACA,IAAA,IAAAj4B,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACApK,KAAAojI,kBAAAtgD,EAAAn/B,aAAA,GAAA,GAAA,GAEA3jD,KAAAqiI,WAAA,OAEA+C,EAhEA,CAiEAlD,EAAA0B,cACAhmI,EAAAwnI,kBAAAA,EACA,IAAAE,EAAA,SAAAh+H,GAEA,SAAAg+H,EAAA/5H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,kBACAv/H,EAAAy/H,KAAA,0BACAz/H,EAAA++B,WAAA,CAAA,MAAA,MAAA,QACA/+B,EAAAgjI,cAAA,EACAhjI,EAWA,OAlBA+F,EAAAY,UAAA69H,EAAAh+H,GASAg+H,EAAAvrH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAY,UAAAoJ,aAAAo7H,EACAplI,KAAAia,OAAA,CACArO,IAAA,CAAAyB,EAAA8lB,SAAA,GACAkyG,KAAA,CAAAh4H,EAAA8lB,SAAA,GACA+vG,YAAA,CAAA71H,EAAAmmB,IAAA,MAGA8xG,EAnBA,CAoBApD,EAAA6B,UACAnmI,EAAA0nI,cAAAA,EACAA,EAAAvrH,aC9FA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACA6nI,EAAA7nI,EAAA,KACA8nI,EAAA,SAAAl+H,GAEA,SAAAk+H,IACA,IAAA1kI,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAGA,OAFAc,EAAA2kI,UAAA,EACA3kI,EAAA4kI,cAAA,EACA5kI,EAqOA,OA1OA+F,EAAAY,UAAA+9H,EAAAl+H,GAOAk+H,EAAA5kI,UAAAg+B,KAAA,SAAAyD,GACAriC,KAAAylI,SACAzlI,KAAAglI,MAAA3iG,EAAA,OAAA,GAEAriC,KAAAsiI,cAAAjgG,EAAAA,EAAAkB,SAAAvjC,KAAA5B,MAAAwuE,YAEA44D,EAAA5kI,UAAAokI,MAAA,SAAA3iG,EAAA21D,EAAAt8E,QACA,IAAAA,IACAA,GAAA,GAEA,IAAAonE,EAAA9iF,KAAA5B,MAAAwuE,UAAA,GACAmmB,EAAA/yF,KAAAikI,UAAA5hG,EAAA95B,GAAA85B,EAAA75B,GAAAs6E,GAGA,GAFA9iF,KAAA0lI,cACA1lI,KAAA8T,WACA,MAAAi/E,EAAA,CAEA,IAAAroF,EAAA1K,KAAA2lI,gBAAAp+H,MAAAvH,KAAA,CAAAqiC,GAAA1yB,OAAAojF,IAAAtqF,EAAAiC,EAAA,GAAAhC,EAAAgC,EAAA,GACAi4H,EAAA7/C,EAAAn/B,YACAs2C,EAAAnX,EAAAmX,MACAhvF,EAAA,CAAAgvF,EAAA5lD,GAAAt0B,MAAAk6E,EAAA3lD,GAAAv0B,OAAA8iH,EAAA53H,EAAA,GAAA63H,EAAA73H,EAAA,GACA,GAAA,OAAA+sF,EACAh4F,KAAAijI,YAAAN,EAAA3iI,KAAA5B,MAAA8kI,aACAL,GACAF,EAAAzb,UAAA2b,GAAA73H,KAAA,CAAAvC,EAAAA,IACAq6H,GACAH,EAAAzb,UAAA4b,GAAA93H,KAAA,CAAAtC,EAAAA,IACA1I,KAAAmjI,mBAAAR,EAAA,CAAAE,EAAAC,SAEA,GAAA,QAAA9qC,EAAA,CACA,GAAA6qC,EAAA,CACA,IAAAxuF,EAAAsuF,EAAAv+H,KAAAy+H,GAAAF,EAAAv+H,KAAAy+H,GAAA3hI,OAAA,GACAmzC,EAAAA,EAAAnzC,OAAA,GAAAuH,EAEA,GAAAq6H,EAAA,CACA,IAAAxuF,EAAAquF,EAAAv+H,KAAA0+H,GAAAH,EAAAv+H,KAAA0+H,GAAA5hI,OAAA,GACAozC,EAAAA,EAAApzC,OAAA,GAAAwH,QAGA,GAAA,OAAAsvF,EAAA,CACA,GAAA6qC,EAAA,CACA,IAAAoC,EAAAtC,EAAAv+H,KAAAy+H,GAAA3hI,OAAA,EACAmzC,EAAAsuF,EAAAzb,UAAA2b,GAAAoC,GACAjhE,EAAA3vB,EAAAA,EAAAnzC,OAAA,GACAmzC,EAAAA,EAAAnzC,OAAA,GAAAuH,EACA2C,EAAAa,QAAAooC,KACAA,EAAA5kC,MAAAC,KAAA2kC,GACAsuF,EAAAv+H,KAAAy+H,GAAAoC,GAAA5wF,GAEAA,EAAArpC,KAAAg5D,GAEA,GAAA8+D,EAAA,CACA,IAAAoC,EAAAvC,EAAAv+H,KAAA0+H,GAAA5hI,OAAA,EACAozC,EAAAquF,EAAAzb,UAAA4b,GAAAoC,GACAjhE,EAAA3vB,EAAAA,EAAApzC,OAAA,GACAozC,EAAAA,EAAApzC,OAAA,GAAAwH,EACA0C,EAAAa,QAAAqoC,KACAA,EAAA7kC,MAAAC,KAAA4kC,GACAquF,EAAAv+H,KAAA0+H,GAAAoC,GAAA5wF,GAEAA,EAAAtpC,KAAAi5D,IAGAjkE,KAAAojI,kBAAAT,GAAA,GAAA,EAAAjnH,KAEA8pH,EAAA5kI,UAAAglI,eAAA,WACA,GAAA5lI,KAAA5B,MAAAqjC,OAAA,CAKA,IAFA,IAAA4S,EAAA,GACAC,EAAA,GACArkC,EAAA,EAAAA,EAAAjQ,KAAA5B,MAAAwuE,UAAA1rE,OAAA+O,IAAA,CACA,IAAA6yE,EAAA9iF,KAAA5B,MAAAwuE,UAAA38D,GACA0yH,EAAA7/C,EAAAn/B,YACAs2C,EAAAnX,EAAAmX,MACAvvF,EAAA,CAAAuvF,EAAA5lD,GAAAt0B,MAAAk6E,EAAA3lD,GAAAv0B,OAAA8iH,EAAAn4H,EAAA,GAAAo4H,EAAAp4H,EAAA,GACA,GAAAm4H,EACA,IAAA,IAAAz4H,EAAA,EAAAa,EAAA03H,EAAAzb,UAAA2b,GAAAz4H,EAAAa,EAAA/J,OAAAkJ,IAAA,CACA,IAAA0V,EAAA7U,EAAAb,GACAqF,MAAA7O,UAAAoK,KAAAzD,MAAA8sC,EAAAv0B,GAGA,GAAAgjH,EACA,IAAA,IAAAj2H,EAAA,EAAAE,EAAA41H,EAAAzb,UAAA4b,GAAAj2H,EAAAE,EAAA7L,OAAA2L,IAAA,CACA,IAAAiT,EAAA/S,EAAAF,GACA4C,MAAA7O,UAAAoK,KAAAzD,MAAA+sC,EAAAx0B,GAGA9f,KAAAylI,UAAAx1H,GAAAjQ,KAAA5B,MAAAwuE,UAAA1rE,OAAA,IAEAmzC,EAAA1N,OAAA0N,EAAAnzC,OAAA,EAAA,GACAozC,EAAA3N,OAAA2N,EAAApzC,OAAA,EAAA,IAGAlB,KAAA6lI,cAAAxxF,EAAAC,KAEAkxF,EAAA5kI,UAAA+9B,WAAA,SAAA0D,GACAriC,KAAA5B,MAAAqjC,SAEAzhC,KAAAylI,UACAzlI,KAAAylI,UAAA,EACAzlI,KAAAglI,MAAA3iG,EAAA,QAAA,KAGAriC,KAAAylI,UAAA,EACAzlI,KAAAglI,MAAA3iG,EAAA,OAAA,MAGAmjG,EAAA5kI,UAAAy/B,MAAA,SAAAgC,GACAriC,KAAAylI,UACAzlI,KAAAglI,MAAA3iG,EAAA,SAGAmjG,EAAA5kI,UAAAklI,QAAA,WACA,IAAAhjD,EAAA9iF,KAAA5B,MAAAwuE,UAAA,GACA+1D,EAAA7/C,EAAAn/B,YACAs2C,EAAAnX,EAAAmX,MACAvvF,EAAA,CAAAuvF,EAAA5lD,GAAAt0B,MAAAk6E,EAAA3lD,GAAAv0B,OAAA8iH,EAAAn4H,EAAA,GAAAo4H,EAAAp4H,EAAA,GACA,GAAAm4H,EAAA,CACA,IAAAoC,EAAAtC,EAAAv+H,KAAAy+H,GAAA3hI,OAAA,EACAmzC,EAAAsuF,EAAAzb,UAAA2b,GAAAoC,GACA5wF,EAAA1N,OAAA0N,EAAAnzC,OAAA,EAAA,GAEA,GAAA4hI,EAAA,CACA,IAAAoC,EAAAvC,EAAAv+H,KAAA0+H,GAAA5hI,OAAA,EACAozC,EAAAquF,EAAAzb,UAAA4b,GAAAoC,GACA5wF,EAAA3N,OAAA2N,EAAApzC,OAAA,EAAA,GAEAlB,KAAAojI,kBAAAT,IAEA6C,EAAA5kI,UAAA6/B,OAAA,SAAA4B,GACA,GAAAriC,KAAA5B,MAAAqjC,QAAAzhC,KAAAuiI,gBAEA,IAAA,IAAAn4H,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACAi4B,EAAAwB,UAAAtZ,EAAArW,KAAAsuH,UACAxiI,KAAAyiI,iBAAA3/C,GAEAzgD,EAAAwB,SAAAtZ,EAAArW,KAAAwuH,MACA1iI,KAAAylI,WACAzlI,KAAA8lI,UACA9lI,KAAAylI,UAAA,GAEA3iD,EAAAn/B,YAAA43C,kBAAA3nF,WAIA4xH,EAAA5kI,UAAAo+B,WAAA,SAAAqD,GACAriC,KAAA5B,MAAAinI,OAEArlI,KAAAsiI,cAAAjgG,GAAA,EAAAriC,KAAA5B,MAAAwuE,WACA5sE,KAAAqiI,WAAA,CAAAhgG,EAAA95B,GAAA85B,EAAA75B,MAEAg9H,EAAA5kI,UAAAq+B,KAAA,SAAAoD,GACA,GAAA,MAAAriC,KAAAqiI,YAAAriI,KAAA5B,MAAAinI,KAAA,CAIA,IAFA,IAAA36H,EAAA1K,KAAAqiI,WAAAgC,EAAA35H,EAAA,GAAA45H,EAAA55H,EAAA,GAEAN,EAAA,EAAAa,EAAAjL,KAAA5B,MAAAwuE,UAAAxiE,EAAAa,EAAA/J,OAAAkJ,IAAA,CACA,IAAA04E,EAAA73E,EAAAb,GACAm6H,EAAAvkI,KAAAikI,UAAAI,EAAAC,EAAAxhD,GACAiQ,EAAA/yF,KAAAikI,UAAA5hG,EAAA95B,GAAA85B,EAAA75B,GAAAs6E,GACA,GAAA,MAAAiQ,GAAA,MAAAwxC,EAAA,CAEA,IAAA5B,EAAA7/C,EAAAn/B,YAEAs2C,EAAAnX,EAAAmX,MACAptF,EAAA,CAAAotF,EAAA5lD,GAAAt0B,MAAAk6E,EAAA3lD,GAAAv0B,OAAA8iH,EAAAh2H,EAAA,GAAAi2H,EAAAj2H,EAAA,GACA,GAAAg2H,GAAAC,EAAA,CAKA,IAHA,IAAAr6H,EAAAsqF,EAAA,GAAArqF,EAAAqqF,EAAA,GACAjyE,EAAAyjH,EAAA,GAAAxjH,EAAAwjH,EAAA,GACAx3H,EAAA,CAAAtE,EAAAqY,EAAApY,EAAAqY,GAAA6tE,EAAA7hF,EAAA,GAAA8hF,EAAA9hF,EAAA,GACAmhD,EAAA,EAAAC,EAAAw0E,EAAA58G,SAAA3D,QAAA8rC,EAAAC,EAAAjtD,OAAAgtD,IAAA,CACA,IAAAnuB,EAAAouB,EAAAD,GACA35B,OAAA,EAAA8f,OAAA,EAAAC,OAAA,EACAuuF,IACAxuF,EAAAsuF,EAAAv+H,KAAAy+H,GAAA9iG,IACA+iG,GACAxuF,EAAAquF,EAAAv+H,KAAA0+H,GAAA/iG,GACAxL,EAAA+f,EAAApzC,QAGAqzB,EAAA8f,EAAAnzC,OAEA,IAAA,IAAA+O,EAAA,EAAAA,EAAAskB,EAAAtkB,IACAokC,IACAA,EAAApkC,IAAA2+E,GACAt6C,IACAA,EAAArkC,IAAA4+E,GAGA8zC,EAAA5pH,OAAA2C,SAEA1b,KAAAqiI,WAAA,CAAAhgG,EAAA95B,GAAA85B,EAAA75B,MAEAg9H,EAAA5kI,UAAAs+B,SAAA,SAAAmD,GACA,GAAAriC,KAAA5B,MAAAinI,KAAA,CAEArlI,KAAAi/B,KAAAoD,GACA,IAAA,IAAAj4B,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACApK,KAAAojI,kBAAAtgD,EAAAn/B,aAEA3jD,KAAAqiI,WAAA,OAEAmD,EAAA5kI,UAAAkT,SAAA,WACA,IAAAhT,EAAAd,KACA,GAAAA,KAAA5B,MAAA2nI,iBAAA/lI,KAAA5B,MAAAqjC,OAAA,CAGA,GADAzhC,KAAA4lI,kBACA5lI,KAAA0lI,aACA,IAAA,IAAAt7H,EAAA,EAAAM,EAAA1K,KAAA5B,MAAAwuE,UAAAxiE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA04E,EAAAp4E,EAAAN,GACAu4H,EAAA7/C,EAAAn/B,YACAg/E,EAAA9hI,QAAA8hI,EAAAzpH,WAAA9U,KAAA2U,OAAA,WAAA,OAAAjY,EAAA8kI,mBAGA5lI,KAAA0lI,cAAA,IAEAF,EAAA5kI,UAAAolI,WAAA,WACAhmI,KAAAylI,WACAzlI,KAAA8lI,UACA9lI,KAAAylI,UAAA,GAEAzlI,KAAA5B,MAAA2nI,iBACA/lI,KAAAimI,kBAEAT,EA3OA,CA4OAD,EAAAW,cACAtoI,EAAA4nI,iBAAAA,EACA,IAAAW,EAAA,SAAA7+H,GAEA,SAAA6+H,EAAA56H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,oBACAv/H,EAAAy/H,KAAA,yBACAz/H,EAAA++B,WAAA,CAAA,MAAA,MAAA,QACA/+B,EAAAgjI,cAAA,EACAhjI,EAUA,OAjBA+F,EAAAY,UAAA0+H,EAAA7+H,GASA6+H,EAAApsH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAY,UAAAoJ,aAAAw7H,EACAxlI,KAAAia,OAAA,CACAorH,KAAA,CAAAh4H,EAAA8lB,SAAA,GACA+vG,YAAA,CAAA71H,EAAAmmB,IAAA,MAGA2yG,EAlBA,CAmBAZ,EAAAa,UACAxoI,EAAAuoI,aAAAA,EACAA,EAAApsH,aCzQA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6sB,EAAA7sB,EAAA,GACA0N,EAAA1N,EAAA,IACA6nI,EAAA7nI,EAAA,KACA2oI,EAAA,SAAA/+H,GAEA,SAAA++H,IACA,IAAAvlI,EAAA,OAAAwG,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OADAc,EAAA2kI,UAAA,EACA3kI,EAiNA,OArNA+F,EAAAY,UAAA4+H,EAAA/+H,GAMA++H,EAAAzlI,UAAA+9B,WAAA,SAAA0D,GACA,GAAAriC,KAAA5B,MAAAqjC,OAAA,CAEA,IAAAsxD,EAAA/yF,KAAAikI,UAAA5hG,EAAA95B,GAAA85B,EAAA75B,GAAAxI,KAAA5B,MAAA2nI,iBACA,GAAA,MAAAhzC,EAAA,CAEA,IAAAtqF,EAAAsqF,EAAA,GAAArqF,EAAAqqF,EAAA,GAEAuzC,EAAAtmI,KAAAsiI,cAAAjgG,GAAA,EAAA,CAAAriC,KAAA5B,MAAA2nI,kBACAQ,EAAAvmI,KAAA5B,MAAA2nI,gBAAApiF,YAEA6iF,EAAAxmI,KAAA5B,MAAA2nI,gBAAA9rC,MACAvvF,EAAA,CAAA87H,EAAA/9H,EAAAsX,MAAAymH,EAAA99H,EAAAqX,OAAA0mH,EAAA/7H,EAAA,GAAAg8H,EAAAh8H,EAAA,GACA,GAAA47H,EAAAplI,QAAA,MAAAlB,KAAA2mI,mBAAA,CAEA,IAAA5mG,EAAAwmG,EAAAxgH,SAAA3D,QAAA,GACApiB,KAAAylI,UACAzlI,KAAAylI,UAAA,EACAc,EAAAhrC,kBAAA3nF,UAGA2yH,EAAAxgH,SAAA3D,QAAA,CAAA2d,EAAA,GACA0mG,GACAF,EAAArf,UAAAuf,GAAA9/F,OAAA5G,EAAA,EAAA,EAAAt3B,GACAi+H,GACAH,EAAArf,UAAAwf,GAAA//F,OAAA5G,EAAA,EAAA,EAAAr3B,GACA1I,KAAAylI,UAAA,GAEAc,EAAAxtH,OAAA2C,OACA1b,KAAAojI,kBAAApjI,KAAA2mI,mBAAAhjF,kBAGA3jD,KAAA4lI,eAAAvjG,MAGAgkG,EAAAzlI,UAAAglI,eAAA,SAAAvjG,GACA,GAAAriC,KAAA5B,MAAAqjC,OAAA,CAEA,IAAAmrC,EAAA5sE,KAAAsiI,cAAAjgG,GAAA,EAAAriC,KAAA5B,MAAAwuE,WACA,IAAAA,EAAA1rE,OAIA,OAHAlB,KAAA6lI,cAAA,GAAA,IACA7lI,KAAA2mI,mBAAA,UACA3mI,KAAAylI,UAAA,GAGA,IAKApxF,EACAC,EANAwuC,EAAAlW,EAAA,GACAqtB,EAAAnX,EAAAmX,MACA0oC,EAAA7/C,EAAAn/B,YACA5jB,EAAA4iG,EAAA58G,SAAA3D,QAAA,GACA1X,EAAA,CAAAuvF,EAAA5lD,GAAAt0B,MAAAk6E,EAAA3lD,GAAAv0B,OAAA8iH,EAAAn4H,EAAA,GAAAo4H,EAAAp4H,EAAA,GAGAm4H,GACAxuF,EAAAsuF,EAAAv+H,KAAAy+H,GAAA9iG,GACA30B,EAAAa,QAAAooC,KACAsuF,EAAAv+H,KAAAy+H,GAAA9iG,GAAAsU,EAAA5kC,MAAAC,KAAA2kC,KAGAA,EAAA4lD,EAAA5lD,GAAAxoC,MAEAi3H,GACAxuF,EAAAquF,EAAAv+H,KAAA0+H,GAAA/iG,GACA30B,EAAAa,QAAAqoC,KACAquF,EAAAv+H,KAAA0+H,GAAA/iG,GAAAuU,EAAA7kC,MAAAC,KAAA4kC,KAGAA,EAAA2lD,EAAA3lD,GAAAzoC,MAEA7L,KAAA2mI,mBAAA7jD,EACA9iF,KAAA6lI,cAAAxxF,EAAAC,KAEA+xF,EAAAzlI,UAAAy/B,MAAA,SAAAgC,GACA,IAAA33B,EACA,GAAA1K,KAAAylI,UAAA,MAAAzlI,KAAA2mI,mBAAA,CACA,IAAA7jD,EAAA9iF,KAAA5B,MAAA2nI,gBACApD,EAAA7/C,EAAAn/B,YACAs2C,EAAAnX,EAAAmX,MACAlH,EAAA/yF,KAAAikI,UAAA5hG,EAAA95B,GAAA85B,EAAA75B,GAAAs6E,GACA,GAAA,MAAAiQ,EACA,OACA,IAAAtqF,EAAAsqF,EAAA,GAAArqF,EAAAqqF,EAAA,GACA3wE,EAAAugH,EAAA58G,SAAA3D,QACA1X,EAAA1K,KAAA2lI,gBAAAtjG,EAAA55B,EAAAC,GAAAD,EAAAiC,EAAA,GAAAhC,EAAAgC,EAAA,GACAi4H,EAAA58G,SAAA3D,QAAAA,EACA,IAAAnX,EAAA,CAAAgvF,EAAAxxF,EAAAsX,MAAAk6E,EAAAvxF,EAAAqX,OAAA8iH,EAAA53H,EAAA,GAAA63H,EAAA73H,EAAA,GACA80B,EAAA3d,EAAA,GACAygH,IACAF,EAAAv+H,KAAAy+H,GAAA9iG,GAAAt3B,GACAq6H,IACAH,EAAAv+H,KAAA0+H,GAAA/iG,GAAAr3B,GACAi6H,EAAA5pH,OAAA2C,OACA1b,KAAA2mI,mBAAAhjF,YAAA5qC,OAAA2C,SAGA2qH,EAAAzlI,UAAAg+B,KAAA,SAAAyD,GACA,IAAA33B,EACAo4E,EAAA9iF,KAAA5B,MAAA2nI,gBACAhzC,EAAA/yF,KAAAikI,UAAA5hG,EAAA95B,GAAA85B,EAAA75B,GAAAs6E,GACA,GAAA,MAAAiQ,EAAA,CAEA,GAAA/yF,KAAAylI,UAAAzlI,KAAA2mI,mBAAA,CACA,IAAAl+H,EAAAsqF,EAAA,GAAArqF,EAAAqqF,EAAA,GACA4vC,EAAA7/C,EAAAn/B,YAEAs2C,EAAAnX,EAAAmX,MACAhvF,EAAA,CAAAgvF,EAAAxxF,EAAAsX,MAAAk6E,EAAAvxF,EAAAqX,OAAA8iH,EAAA53H,EAAA,GAAA63H,EAAA73H,EAAA,GACAmX,EAAAugH,EAAA58G,SAAA3D,QACA1X,EAAA1K,KAAA2lI,gBAAAtjG,EAAA55B,EAAAC,GAAAD,EAAAiC,EAAA,GAAAhC,EAAAgC,EAAA,GACA,IAAAq1B,EAAA3d,EAAA,GAEA,GADAugH,EAAA58G,SAAA3D,QAAA,CAAA2d,EAAA,GACA8iG,EAAA,CACA,IAAAxuF,EAAAsuF,EAAAzb,UAAA2b,GACA7+D,EAAA3vB,EAAAtU,GACAsU,EAAAtU,GAAAt3B,EACA4rC,EAAA1N,OAAA5G,EAAA,EAAA,EAAAikC,GAEA,GAAA8+D,EAAA,CACA,IAAAxuF,EAAAquF,EAAAzb,UAAA4b,GACA7+D,EAAA3vB,EAAAvU,GACAuU,EAAAvU,GAAAr3B,EACA4rC,EAAA3N,OAAA5G,EAAA,EAAA,EAAAkkC,GAIA,OAFA0+D,EAAA5pH,OAAA2C,YACA1b,KAAAojI,kBAAApjI,KAAA2mI,mBAAAhjF,aAAA,GAAA,GAAA,GAGA,IAAAn3C,EAAA61B,EAAAkB,SACAvjC,KAAAsiI,cAAAjgG,EAAA71B,EAAA,CAAAs2E,IACA9iF,KAAAsiI,cAAAjgG,EAAA71B,EAAAxM,KAAA5B,MAAAwuE,aAEAy5D,EAAAzlI,UAAAgmI,eAAA,WACA,GAAA5mI,KAAAylI,UAAAzlI,KAAA2mI,mBAAA,CAEA,IAAA7jD,EAAA9iF,KAAA5B,MAAA2nI,gBACApD,EAAA7/C,EAAAn/B,YAEAs2C,EAAAnX,EAAAmX,MACAl6D,EAAA4iG,EAAA58G,SAAA3D,QAAA,GACA1X,EAAA,CAAAuvF,EAAAxxF,EAAAsX,MAAAk6E,EAAAvxF,EAAAqX,OAAA8iH,EAAAn4H,EAAA,GAAAo4H,EAAAp4H,EAAA,GACAm4H,GACAF,EAAAzb,UAAA2b,GAAAl8F,OAAA5G,EAAA,GACA+iG,GACAH,EAAAzb,UAAA4b,GAAAn8F,OAAA5G,EAAA,GACA4iG,EAAA5pH,OAAA2C,OACA1b,KAAAojI,kBAAApjI,KAAA2mI,mBAAAhjF,eAEA0iF,EAAAzlI,UAAAo+B,WAAA,SAAAqD,GACAriC,KAAAsiI,cAAAjgG,GAAA,EAAA,CAAAriC,KAAA5B,MAAA2nI,kBACA/lI,KAAAqiI,WAAA,CAAAhgG,EAAA95B,GAAA85B,EAAA75B,KAEA69H,EAAAzlI,UAAAq+B,KAAA,SAAAoD,GACA,MAAAriC,KAAAqiI,aAEAriI,KAAA2jI,aAAAthG,EAAA,CAAAriC,KAAA5B,MAAA2nI,kBACA/lI,KAAA2mI,oBACA3mI,KAAA2mI,mBAAAhjF,YAAA5qC,OAAA2C,SAEA2qH,EAAAzlI,UAAAs+B,SAAA,SAAAmD,GACA,MAAAriC,KAAAqiI,aAEAriI,KAAA2jI,aAAAthG,EAAA,CAAAriC,KAAA5B,MAAA2nI,kBACA/lI,KAAAojI,kBAAApjI,KAAA5B,MAAA2nI,gBAAApiF,aAAA,GAAA,GAAA,GACA3jD,KAAA2mI,oBACA3mI,KAAAojI,kBAAApjI,KAAA2mI,mBAAAhjF,aAEA3jD,KAAAqiI,WAAA,OAEAgE,EAAAzlI,UAAA6/B,OAAA,SAAA4B,GACA,GAAAriC,KAAA5B,MAAAqjC,QAAAzhC,KAAAuiI,gBAAA,CAEA,IAAA31D,EAEAA,EADA5sE,KAAA2mI,mBACA,CAAA3mI,KAAA5B,MAAA2nI,iBAGA/lI,KAAA5B,MAAAwuE,UAEA,IAAA,IAAAxiE,EAAA,EAAAuxG,EAAA/uC,EAAAxiE,EAAAuxG,EAAAz6G,OAAAkJ,IAAA,CACA,IAAA04E,EAAA64B,EAAAvxG,GACAi4B,EAAAwB,UAAAtZ,EAAArW,KAAAsuH,WACAxiI,KAAAyiI,iBAAA3/C,GACA9iF,KAAA2mI,oBACA3mI,KAAAojI,kBAAApjI,KAAA2mI,mBAAAhjF,cAGAthB,EAAAwB,SAAAtZ,EAAArW,KAAAwuH,MACA1iI,KAAAylI,UACAzlI,KAAA4mI,iBACA5mI,KAAAylI,UAAA,GAEAzlI,KAAA2mI,oBACA3mI,KAAAimI,iBAEAnjD,EAAAn/B,YAAA43C,kBAAA3nF,YAIAyyH,EAAAzlI,UAAAolI,WAAA,WACAhmI,KAAA2mI,qBAGA3mI,KAAAylI,WACAzlI,KAAA4mI,iBACA5mI,KAAAylI,UAAA,GAEAzlI,KAAAimI,mBAEAI,EAtNA,CAuNAd,EAAAW,cACAtoI,EAAAyoI,iBAAAA,EACA,IAAAQ,EAAA,SAAAv/H,GAEA,SAAAu/H,EAAAt7H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,iBACAv/H,EAAAy/H,KAAA,yBACAz/H,EAAA++B,WAAA,CAAA,MAAA,MAAA,QACA/+B,EAAAgjI,cAAA,EACAhjI,EAMA,OAbA+F,EAAAY,UAAAo/H,EAAAv/H,GASAu/H,EAAA9sH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAY,UAAAoJ,aAAAq8H,GAEAQ,EAdA,CAeAtB,EAAAa,UACAxoI,EAAAipI,aAAAA,EACAA,EAAA9sH,aC/OA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACAwkI,EAAAxkI,EAAA,KACAwoI,EAAA,SAAA5+H,GAEA,SAAA4+H,IACA,OAAA,OAAA5+H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA0CA,OA5CA6G,EAAAY,UAAAy+H,EAAA5+H,GAIA4+H,EAAAtlI,UAAAilI,cAAA,SAAAxxF,EAAAC,GACA,IAAAkyF,EAAAxmI,KAAA5B,MAAA2nI,gBAAA9rC,MACAssC,EAAAvmI,KAAA5B,MAAA2nI,gBAAApiF,YACAj5C,EAAA,CAAA87H,EAAA/9H,EAAAsX,MAAAymH,EAAA99H,EAAAqX,OAAA0mH,EAAA/7H,EAAA,GAAAg8H,EAAAh8H,EAAA,GACA+7H,IACAr7H,EAAAa,QAAAooC,GACAkyF,EAAAniI,KAAAqiI,GAAApyF,EAEAmyF,EAAA/9H,EAAA,CAAAoD,MAAAwoC,IAEAqyF,IACAt7H,EAAAa,QAAAqoC,GACAiyF,EAAAniI,KAAAsiI,GAAApyF,EAEAkyF,EAAA99H,EAAA,CAAAmD,MAAAyoC,IAEAt0C,KAAAojI,kBAAAmD,GAAA,GAAA,GAAA,IAEAL,EAAAtlI,UAAAqlI,eAAA,WACAjmI,KAAA6lI,cAAA,GAAA,KAEAK,EAAAtlI,UAAA+kI,gBAAA,SAAAtjG,EAAA55B,EAAAC,GACA,GAAA1I,KAAA5B,MAAA2nI,gBAAA,CAEA,IAAAO,EAAAtmI,KAAAsiI,cAAAjgG,GAAA,EAAA,CAAAriC,KAAA5B,MAAA2nI,kBACAe,EAAA9mI,KAAA5B,MAAA2nI,gBAAApiF,YAEA6iF,EAAAxmI,KAAA5B,MAAA2nI,gBAAA9rC,MACAvvF,EAAA,CAAA87H,EAAA/9H,EAAAsX,MAAAymH,EAAA99H,EAAAqX,OAAA0mH,EAAA/7H,EAAA,GAAAg8H,EAAAh8H,EAAA,GACA,GAAA47H,EAAAplI,OAAA,CACA,IAAA6+B,EAAA+mG,EAAA/gH,SAAA3D,QAAA,GACAqkH,IACAh+H,EAAAq+H,EAAA1iI,KAAAqiI,GAAA1mG,IACA2mG,IACAh+H,EAAAo+H,EAAA1iI,KAAAsiI,GAAA3mG,IACA+mG,EAAAvrC,kBAAA3nF,SAGA,MAAA,CAAAnL,EAAAC,IAEAw9H,EA7CA,CA8CAhE,EAAA0B,cACAhmI,EAAAsoI,aAAAA,EACA,IAAAE,EAAA,SAAA9+H,GAEA,SAAA8+H,EAAA76H,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAA2+H,EAAA9+H,GAIA8+H,EAAArsH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,WACAvZ,KAAAY,UAAAoJ,aAAAk8H,EACAlmI,KAAAia,OAAA,CACA8rH,gBAAA,CAAA14H,EAAAimB,aAGA8yG,EAZA,CAaAlE,EAAA6B,UACAnmI,EAAAwoI,SAAAA,EACAA,EAAArsH,aCpEA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAqpI,EAAArpI,EAAA,KACA4qE,EAAA5qE,EAAA,IACA2P,EAAA3P,EAAA,IACAspI,EAAA,SAAA1/H,GAEA,SAAA0/H,IACA,OAAA,OAAA1/H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA0DA,OA5DA6G,EAAAY,UAAAu/H,EAAA1/H,GAIA0/H,EAAApmI,UAAAqmI,gBAAA,SAAA3D,GACA,IAAAriG,EAAAjhC,KAAAu8B,UAAA0E,MACAqgG,EAAAthI,KAAA5B,MAAA80G,WACAg0B,EAAAlnI,KAAAmnI,YACA,GAAA,UAAAnnI,KAAA5B,MAAA+I,OAAA,CACA,IAAA4xG,EAAAmuB,EAAA,GAAAluB,EAAAkuB,EAAA,GACAt4C,EAAA00C,EAAA,GAAAz0C,EAAAy0C,EAAA,GACA4D,EAAA,CAAAnuB,GAAAnqB,EAAAmqB,GAAAC,GAAAnqB,EAAAmqB,IAEA,OAAAh5G,KAAA5B,MAAAolI,gBAAA0D,EAAA5D,EAAAriG,EAAAqgG,IAEA0F,EAAApmI,UAAAo+B,WAAA,SAAAqD,GACA,IAAA95B,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACAxI,KAAAmnI,YAAA,CAAA5+H,EAAAC,IAEAw+H,EAAApmI,UAAAq+B,KAAA,SAAAoD,GACA,IAAA95B,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACA86H,EAAA,CAAA/6H,EAAAC,GACAkC,EAAA1K,KAAAinI,gBAAA3D,GAAAG,EAAA/4H,EAAA,GAAAg5H,EAAAh5H,EAAA,GAEA,GADA1K,KAAA5B,MAAAy5G,QAAAt8F,OAAA,CAAAnN,KAAAq1H,EAAA,GAAAn1H,MAAAm1H,EAAA,GAAAz1H,IAAA01H,EAAA,GAAAx1H,OAAAw1H,EAAA,KACA1jI,KAAA5B,MAAAgpI,uBAAA,CACA,IAAA56H,EAAA61B,EAAAkB,SACAvjC,KAAAqnI,WAAA5D,EAAAC,GAAA,EAAAl3H,KAGAw6H,EAAApmI,UAAAs+B,SAAA,SAAAmD,GACA,IAAA95B,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACA86H,EAAA,CAAA/6H,EAAAC,GACAkC,EAAA1K,KAAAinI,gBAAA3D,GAAAG,EAAA/4H,EAAA,GAAAg5H,EAAAh5H,EAAA,GACA8B,EAAA61B,EAAAkB,SACAvjC,KAAAqnI,WAAA5D,EAAAC,GAAA,EAAAl3H,GACAxM,KAAA5B,MAAAy5G,QAAAt8F,OAAA,CAAAnN,KAAA,KAAAE,MAAA,KAAAN,IAAA,KAAAE,OAAA,OACAlO,KAAAmnI,YAAA,KACAnnI,KAAAu8B,UAAAo5E,WAAA,aAAA,CAAA1C,UAAAjzG,KAAAu8B,UAAA65E,mBAEA4wB,EAAApmI,UAAAymI,WAAA,SAAA38H,EAAAO,EAAA7C,EAAAoE,GACA,IAAAy6C,EAAAv8C,EAAA,GAAAw8C,EAAAx8C,EAAA,GACA28C,EAAAp8C,EAAA,GAAAq8C,EAAAr8C,EAAA,QACA,IAAAuB,IACAA,GAAA,GAEA,IAAArE,EAAA,CAAAoR,KAAA,OAAA0tC,IAAAA,EAAAC,IAAAA,EAAAG,IAAAA,EAAAC,IAAAA,GACAtnD,KAAAy6F,QAAAtyF,EAAAC,EAAAoE,IAEAw6H,EAAApmI,UAAA+9G,eAAA,SAAAx2G,GACA,IAAA0d,EAAA7lB,KAAA23G,mBAAA,GACA12E,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAA1c,EAAAw1C,cACA54B,EAAAxB,EAAAyB,QAAA7c,EAAA01C,cACAtU,EAAA9+C,EAAA8+C,IAAAC,EAAA/+C,EAAA++C,IAAAG,EAAAl/C,EAAAk/C,IAAAC,EAAAn/C,EAAAm/C,IACA58C,EAAA43B,EAAAskB,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACAO,EAAAw3B,EAAAmkB,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA2jC,EAAA/nC,EAAAiB,SAAA,CAAA0Z,GAAAA,EAAAC,GAAAA,EAAAR,GAAAA,EAAAC,GAAAA,GAAA/Y,GACA,MAAAnI,KAAA5B,MAAAgnD,UACAplD,KAAA5B,MAAAgnD,SAAA2T,QAAA/4D,KAAA5B,MAAA,CAAA+J,SAAAymC,KAEAo4F,EA7DA,CA8DAD,EAAAO,gBACA1pI,EAAAopI,kBAAAA,EACA,IAAAO,EAAA,WACA,OAAA,IAAAj/D,EAAAnI,cAAA,CACA5vC,MAAA,UACA+tC,YAAA,MACAU,UAAA,SACAH,WAAA,SACAK,aAAA,SACAH,YAAA,SACA1oC,WAAA,CAAAxqB,MAAA,aACAyqB,WAAA,CAAAzqB,MAAA,IACA+pB,WAAA,CAAA/pB,MAAA,SACAiqB,WAAA,CAAAjqB,MAAA,GACAgqB,WAAA,CAAAhqB,MAAA,GACAoqB,UAAA,CAAApqB,MAAA,CAAA,EAAA,OAGA27H,EAAA,SAAAlgI,GAEA,SAAAkgI,EAAAj8H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,aACAv/H,EAAAy/H,KAAA,0BACAz/H,EAAA++B,WAAA,MACA/+B,EAAAgjI,cAAA,GACAhjI,EAoBA,OA3BA+F,EAAAY,UAAA+/H,EAAAlgI,GASAkgI,EAAAztH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAY,UAAAoJ,aAAAg9H,EACAhnI,KAAAia,OAAA,CACAi5F,WAAA,CAAA7lG,EAAAsI,WAAA,QACAyxH,uBAAA,CAAA/5H,EAAA8lB,SAAA,GACAiyB,SAAA,CAAA/3C,EAAA6M,KACA29F,QAAA,CAAAxqG,EAAAimB,SAAAi0G,GACApgI,OAAA,CAAAkG,EAAAmI,UAAA,aAGAxW,OAAAiU,eAAAu0H,EAAA5mI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAyhI,iBAAAzhI,KAAAqgI,UAAArgI,KAAAkzG,aAEA7/F,YAAA,EACAC,cAAA,IAEAk0H,EA5BA,CA6BAT,EAAAU,YACA7pI,EAAA4pI,cAAAA,EACAA,EAAAztH,aCpHA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAsmI,EAAAtmI,EAAA,KACA4qE,EAAA5qE,EAAA,IACA2P,EAAA3P,EAAA,IACAgqI,EAAA,SAAApgI,GAEA,SAAAogI,IACA,OAAA,OAAApgI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAuHA,OAzHA6G,EAAAY,UAAAigI,EAAApgI,GAIAogI,EAAA9mI,UAAA+mI,cAAA,SAAAT,EAAA5D,EAAAriG,GAEA,IAgBA7yB,EACAE,EAgBAN,EACAE,EAlCA8B,EAAAixB,EAAAlc,KAAAoH,OACAy7G,EAAA3mG,EAAAlc,KAAA4jB,QAAA3e,IACA69G,EAAA5mG,EAAAlc,KAAA4jB,QAAA5e,MACA+9G,EAAA7mG,EAAAlc,KAAA6jB,QAAA5e,IACA+9G,EAAA9mG,EAAAlc,KAAA6jB,QAAA7e,MAEAi+G,EAAA14H,KAAAsd,IAAAs6G,EAAA,GAAA5D,EAAA,IACA2E,EAAA34H,KAAAsd,IAAAs6G,EAAA,GAAA5D,EAAA,IACA4E,EAAA,GAAAD,EAAA,EAAAD,EAAAC,EACAE,GAAAD,GAAAl4H,EAAA,CAAA,EAAAk4H,EAAAl4H,GAAA,CAAAA,EAAAk4H,EAAA,IAAA,GA8CA,OArCAhB,EAAA,IAAA5D,EAAA,IACAl1H,EAAA84H,EAAA,IACA54H,EAAA44H,EAAA,GAAAc,EAAAG,GACAP,IACAt5H,EAAAs5H,KAIAt5H,EAAA44H,EAAA,IACA94H,EAAA84H,EAAA,GAAAc,EAAAG,GACAN,IACAz5H,EAAAy5H,IAEAG,EAAA14H,KAAAsd,IAAAte,EAAAF,GAIA84H,EAAA,IAAA5D,EAAA,IACAp1H,EAAAg5H,EAAA,IACAl5H,EAAAk5H,EAAA,GAAAc,EAAAh4H,GACA83H,IACA95H,EAAA85H,KAIA95H,EAAAk5H,EAAA,IACAh5H,EAAAg5H,EAAA,GAAAc,EAAAh4H,GACA+3H,IACA75H,EAAA65H,IAEAE,EAAA34H,KAAAsd,IAAA5e,EAAAE,GAEAg5H,EAAA,IAAA5D,EAAA,GACAh1H,EAAA44H,EAAA,GAAAl3H,EAAAi4H,EAGA75H,EAAA84H,EAAA,GAAAl3H,EAAAi4H,EACA,CAAA,CAAA75H,EAAAE,GAAA,CAAAJ,EAAAF,KAEA05H,EAAA9mI,UAAAqmI,gBAAA,SAAA3D,GACA,IAAA54H,EAAAO,EASA1C,EACAC,EATAy4B,EAAAjhC,KAAAu8B,UAAA0E,MACAqgG,EAAAthI,KAAA5B,MAAA80G,WACAg0B,EAAAlnI,KAAAmnI,YACA,GAAA,UAAAnnI,KAAA5B,MAAA+I,OAAA,CACA,IAAA4xG,EAAAmuB,EAAA,GAAAluB,EAAAkuB,EAAA,GACAt4C,EAAA00C,EAAA,GAAAz0C,EAAAy0C,EAAA,GACA4D,EAAA,CAAAnuB,GAAAnqB,EAAAmqB,GAAAC,GAAAnqB,EAAAmqB,IAQA,OAJAh5G,KAAA5B,MAAAgyG,cAAA,QAAAkxB,GACA52H,EAAA1K,KAAA2nI,cAAAT,EAAA5D,EAAAriG,GAAA14B,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,KAEAO,EAAAjL,KAAA5B,MAAAolI,gBAAA0D,EAAA5D,EAAAriG,EAAAqgG,GAAA/4H,EAAA0C,EAAA,GAAAzC,EAAAyC,EAAA,IACA,CAAA1C,EAAAC,IAEAk/H,EAAA9mI,UAAAo+B,WAAA,SAAAqD,GACAriC,KAAAmnI,YAAA,CAAA9kG,EAAA95B,GAAA85B,EAAA75B,KAEAk/H,EAAA9mI,UAAAq+B,KAAA,SAAAoD,GACA,IAAAihG,EAAA,CAAAjhG,EAAA95B,GAAA85B,EAAA75B,IACAkC,EAAA1K,KAAAinI,gBAAA3D,GAAA/6H,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,GACA1K,KAAA5B,MAAAy5G,QAAAt8F,OAAA,CAAAnN,KAAA7F,EAAA,GAAA+F,MAAA/F,EAAA,GAAAyF,IAAAxF,EAAA,GAAA0F,OAAA1F,EAAA,MAEAk/H,EAAA9mI,UAAAs+B,SAAA,SAAAmD,GACA,IAAAihG,EAAA,CAAAjhG,EAAA95B,GAAA85B,EAAA75B,IACAkC,EAAA1K,KAAAinI,gBAAA3D,GAAA/6H,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,GACA1K,KAAA27H,QAAApzH,EAAAC,GACAxI,KAAA5B,MAAAy5G,QAAAt8F,OAAA,CAAAnN,KAAA,KAAAE,MAAA,KAAAN,IAAA,KAAAE,OAAA,OACAlO,KAAAmnI,YAAA,MAEAO,EAAA9mI,UAAA+6H,QAAA,SAAAjxH,EAAAO,GACA,IAAAg8C,EAAAv8C,EAAA,GAAAw8C,EAAAx8C,EAAA,GACA28C,EAAAp8C,EAAA,GAAAq8C,EAAAr8C,EAAA,GAIA,KAAAqE,KAAAsd,IAAAs6B,EAAAD,IAAA,GAAA33C,KAAAsd,IAAA06B,EAAAD,IAAA,GAAA,CAEA,IAAAx6C,EAAA7M,KAAAu8B,UAAA0E,MAAAsB,EAAA11B,EAAA01B,QAAAG,EAAA71B,EAAA61B,QACAykB,EAAA,GACA,IAAA,IAAAxoD,KAAA4jC,EAAA,CACA,IAAAx5B,EAAAw5B,EAAA5jC,GACAoO,EAAAhE,EAAA69C,SAAAK,EAAAC,GAAAn9B,EAAAhd,EAAA,GAAAid,EAAAjd,EAAA,GACAo6C,EAAAxoD,GAAA,CAAAorB,MAAAA,EAAAC,IAAAA,GAEA,IAAAu9B,EAAA,GACA,IAAA,IAAA7sC,KAAAgoB,EAAA,CACA,IAAA35B,EAAA25B,EAAAhoB,GACAwzC,EAAAnlD,EAAA69C,SAAAS,EAAAC,GAAAv9B,EAAAmkC,EAAA,GAAAlkC,EAAAkkC,EAAA,GACA3G,EAAA7sC,GAAA,CAAAqP,MAAAA,EAAAC,IAAAA,GAEA,IAAAu3G,EAAA,CAAAp6E,IAAAA,EAAAI,IAAAA,GACAvnD,KAAAu8B,UAAAo5E,WAAA,WAAA,CAAA/wE,MAAA28F,IACAvhI,KAAAu8B,UAAAquE,aAAA22B,KAEAmG,EA1HA,CA2HA1D,EAAAW,iBACA/mI,EAAA8pI,gBAAAA,EACA,IAAAH,EAAA,WACA,OAAA,IAAAj/D,EAAAnI,cAAA,CACA5vC,MAAA,UACA+tC,YAAA,MACAU,UAAA,SACAH,WAAA,SACAK,aAAA,SACAH,YAAA,SACA1oC,WAAA,CAAAxqB,MAAA,aACAyqB,WAAA,CAAAzqB,MAAA,IACA+pB,WAAA,CAAA/pB,MAAA,SACAiqB,WAAA,CAAAjqB,MAAA,GACAgqB,WAAA,CAAAhqB,MAAA,GACAoqB,UAAA,CAAApqB,MAAA,CAAA,EAAA,OAGAu8H,EAAA,SAAA9gI,GAEA,SAAA8gI,EAAA78H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,WACAv/H,EAAAy/H,KAAA,wBACAz/H,EAAA++B,WAAA,MACA/+B,EAAAgjI,cAAA,GACAhjI,EAmBA,OA1BA+F,EAAAY,UAAA2gI,EAAA9gI,GASA8gI,EAAAruH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAY,UAAAoJ,aAAA09H,EACA1nI,KAAAia,OAAA,CACAi5F,WAAA,CAAA7lG,EAAAsI,WAAA,QACAkiG,QAAA,CAAAxqG,EAAAimB,SAAAi0G,GACAn3B,aAAA,CAAA/iG,EAAA8lB,SAAA,GACAhsB,OAAA,CAAAkG,EAAAmI,UAAA,aAGAxW,OAAAiU,eAAAm1H,EAAAxnI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAyhI,iBAAAzhI,KAAAqgI,UAAArgI,KAAAkzG,aAEA7/F,YAAA,EACAC,cAAA,IAEA80H,EA3BA,CA4BApE,EAAAc,aACAlnI,EAAAwqI,YAAAA,EACAA,EAAAruH,aChLA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6hI,EAAA7hI,EAAA,KACA2qI,EAAA3qI,EAAA,KACAinI,EAAA,SAAAr9H,GAEA,SAAAq9H,IACA,OAAA,OAAAr9H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAk9H,EAAAr9H,GAIAq9H,EALA,CAMApF,EAAAM,gBACAjiI,EAAA+mI,gBAAAA,EACA,IAAAG,EAAA,SAAAx9H,GAEA,SAAAw9H,EAAAv5H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAEA,OADAc,EAAAi/H,YAAAsI,EAAAC,gBACAxnI,EAKA,OATA+F,EAAAY,UAAAq9H,EAAAx9H,GAMAw9H,EAAA/qH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eAEAurH,EAVA,CAWAvF,EAAAS,YACApiI,EAAAknI,YAAAA,EACAA,EAAA/qH,aCzBA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAqpI,EAAArpI,EAAA,KACAsrE,EAAAtrE,EAAA,IACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACA6qI,EAAA,SAAAjhI,GAEA,SAAAihI,IACA,OAAA,OAAAjhI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA2DA,OA7DA6G,EAAAY,UAAA8gI,EAAAjhI,GAIAihI,EAAA3nI,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAoE,KAAA,MAEAmkI,EAAA3nI,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAuoB,OAAA1oB,OAAA,WAAA,OAAAjY,EAAA0nI,oBAEAD,EAAA3nI,UAAA4nI,eAAA,WACAxoI,KAAA5B,MAAAqjC,QACAzhC,KAAAyoI,kBAEAF,EAAA3nI,UAAA6/B,OAAA,SAAA4B,GACAA,EAAAwB,SAAAtZ,EAAArW,KAAAw0H,OACA1oI,KAAAyoI,kBAEAF,EAAA3nI,UAAAo+B,WAAA,SAAAqD,GACA,IAAA95B,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACAxI,KAAAoE,KAAA,CAAAmE,GAAA,CAAAA,GAAAC,GAAA,CAAAA,KAEA+/H,EAAA3nI,UAAAq+B,KAAA,SAAAoD,GACA,IAAAztB,EAAAytB,EAAA95B,GAAAsM,EAAAwtB,EAAA75B,GACAkC,EAAA1K,KAAAu8B,UAAA0E,MAAAlc,KAAA8jB,KAAAj0B,EAAAC,GAAAtM,EAAAmC,EAAA,GAAAlC,EAAAkC,EAAA,GACA1K,KAAAoE,KAAAmE,GAAAyC,KAAAzC,GACAvI,KAAAoE,KAAAoE,GAAAwC,KAAAxC,GACA,IAAAqvG,EAAA73G,KAAA5B,MAAAy5G,QAEA,GADAA,EAAAt8F,OAAA,CAAA84B,GAAAr0C,KAAAoE,KAAAmE,GAAA+rC,GAAAt0C,KAAAoE,KAAAoE,KACAxI,KAAA5B,MAAAgpI,uBAAA,CACA,IAAA56H,EAAA61B,EAAAkB,SACAvjC,KAAAqnI,WAAArnI,KAAAoE,KAAAmE,GAAAvI,KAAAoE,KAAAoE,IAAA,EAAAgE,KAGA+7H,EAAA3nI,UAAAs+B,SAAA,SAAAmD,GACAriC,KAAAyoI,iBACA,IAAAj8H,EAAA61B,EAAAkB,SACAvjC,KAAAqnI,WAAArnI,KAAAoE,KAAAmE,GAAAvI,KAAAoE,KAAAoE,IAAA,EAAAgE,GACAxM,KAAAu8B,UAAAo5E,WAAA,eAAA,CAAA1C,UAAAjzG,KAAAu8B,UAAA65E,mBAEAmyB,EAAA3nI,UAAA6nI,eAAA,WACAzoI,KAAA5B,MAAAy5G,QAAAt8F,OAAA,CAAA84B,GAAA,GAAAC,GAAA,MAEAi0F,EAAA3nI,UAAAymI,WAAA,SAAA9+H,EAAAC,EAAAJ,EAAAoE,GACA,IAAArE,EAAA,CAAAoR,KAAA,OAAAhR,GAAAA,EAAAC,GAAAA,GACAxI,KAAAy6F,QAAAtyF,EAAAC,EAAAoE,IAEA+7H,EAAA3nI,UAAA+9G,eAAA,SAAAx2G,GACA,IAAA0d,EAAA7lB,KAAA23G,mBAAA,GACA12E,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAA1c,EAAAw1C,cACA54B,EAAAxB,EAAAyB,QAAA7c,EAAA01C,cACA9yD,EAAA65B,EAAAi1D,SAAApvF,EAAAI,IACAG,EAAA+5B,EAAA80D,SAAApvF,EAAAK,IACAomC,EAAA/nC,EAAAiB,SAAA,CAAAW,EAAAA,EAAAC,EAAAA,GAAAP,GACA,MAAAnI,KAAA5B,MAAAgnD,UACAplD,KAAA5B,MAAAgnD,SAAA2T,QAAA/4D,KAAA5B,MAAA,CAAA+J,SAAAymC,KAEA25F,EA9DA,CA+DAxB,EAAAO,gBACA1pI,EAAA2qI,oBAAAA,EACA,IAAAI,EAAA,WACA,OAAA,IAAA3/D,EAAAC,eAAA,CACA14C,MAAA,UACA89C,SAAA,SACAC,SAAA,SACAj4C,WAAA,CAAAxqB,MAAA,aACAyqB,WAAA,CAAAzqB,MAAA,IACA+pB,WAAA,CAAA/pB,MAAA,SACAiqB,WAAA,CAAAjqB,MAAA,GACAgqB,WAAA,CAAAhqB,MAAA,GACAoqB,UAAA,CAAApqB,MAAA,CAAA,EAAA,OAGA+8H,EAAA,SAAAthI,GAEA,SAAAshI,EAAAr9H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,eACAv/H,EAAAy/H,KAAA,4BACAz/H,EAAA++B,WAAA,MACA/+B,EAAAgjI,cAAA,GACAhjI,EAWA,OAlBA+F,EAAAY,UAAAmhI,EAAAthI,GASAshI,EAAA7uH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,kBACAvZ,KAAAY,UAAAoJ,aAAAu+H,EACAvoI,KAAAia,OAAA,CACAmtH,uBAAA,CAAA/5H,EAAA8lB,SAAA,GACAiyB,SAAA,CAAA/3C,EAAA6M,KACA29F,QAAA,CAAAxqG,EAAAimB,SAAAq1G,MAGAC,EAnBA,CAoBA7B,EAAAU,YACA7pI,EAAAgrI,gBAAAA,EACAA,EAAA7uH,aC1GA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAsmI,EAAAtmI,EAAA,KACA2P,EAAA3P,EAAA,IACAmrI,EAAA,SAAAvhI,GAEA,SAAAuhI,IACA,OAAA,OAAAvhI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAoFA,OAtFA6G,EAAAY,UAAAohI,EAAAvhI,GAIAuhI,EAAAjoI,UAAAo+B,WAAA,SAAAqD,GACAriC,KAAA8oI,QAAA,EACA9oI,KAAA+oI,QAAA,EACA,IAAAxgI,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACAuc,EAAA/kB,KAAAu8B,UAAA0E,MAAAlc,KACA,IAAAA,EAAAvR,SAAAjL,EAAAC,GAAA,CACA,IAAAm6D,EAAA59C,EAAA4jB,QACAi6B,EAAA79C,EAAA6jB,SACArgC,EAAAo6D,EAAA54C,OAAAxhB,EAAAo6D,EAAA34C,OACAhqB,KAAAgpI,aAAA,IACAxgI,EAAAo6D,EAAA74C,OAAAvhB,EAAAo6D,EAAA54C,OACAhqB,KAAAipI,aAAA,GAEA,MAAAjpI,KAAA5B,MAAA0F,UACA9D,KAAA5B,MAAA0F,SAAAkpD,kBAAAhtD,KAAA+5D,aAEA8uE,EAAAjoI,UAAAq+B,KAAA,SAAAoD,GACAriC,KAAA27H,QAAAt5F,EAAAO,OAAAP,EAAAQ,QACA,MAAA7iC,KAAA5B,MAAA0F,UACA9D,KAAA5B,MAAA0F,SAAAkpD,kBAAAhtD,KAAA+5D,aAEA8uE,EAAAjoI,UAAAs+B,SAAA,SAAAgvB,GACAluD,KAAAipI,aAAA,EACAjpI,KAAAgpI,aAAA,EACA,MAAAhpI,KAAAkpI,UACAlpI,KAAAu8B,UAAAo5E,WAAA,MAAA,CAAA/wE,MAAA5kC,KAAAkpI,YAEAL,EAAAjoI,UAAA+6H,QAAA,SAAA/sC,EAAAC,GACA,IAUA5nC,EACAC,EACA8jD,EAWA3jD,EACAC,EACA2jD,EAzBAhqE,EAAAjhC,KAAAu8B,UAAA0E,MACAkoG,EAAAv6C,EAAA5uF,KAAA8oI,QACAM,EAAAv6C,EAAA7uF,KAAA+oI,QACApmE,EAAA1hC,EAAAlc,KAAA4jB,QACA0gG,EAAA1mE,EAAA54C,MAAAo/G,EACAG,EAAA3mE,EAAA34C,IAAAm/G,EACAvmE,EAAA3hC,EAAAlc,KAAA6jB,QACA2gG,EAAA3mE,EAAA74C,MAAAq/G,EACAI,EAAA5mE,EAAA54C,IAAAo/G,EACA9H,EAAAthI,KAAA5B,MAAA80G,WAIA,SAAAouB,GAAA,QAAAA,GAAAthI,KAAAgpI,aAMA/hF,EAAA0b,EAAA54C,MACAm9B,EAAAyb,EAAA34C,IACAghF,EAAA,IAPA/jD,EAAAoiF,EACAniF,EAAAoiF,EACAt+B,GAAAm+B,GAUA,UAAA7H,GAAA,QAAAA,GAAAthI,KAAAipI,aAMA5hF,EAAAub,EAAA74C,MACAu9B,EAAAsb,EAAA54C,IACAihF,EAAA,IAPA5jD,EAAAkiF,EACAjiF,EAAAkiF,EACAv+B,GAAAm+B,GAOAppI,KAAA8oI,QAAAl6C,EACA5uF,KAAA+oI,QAAAl6C,EACA,IAAAtsD,EAAAtB,EAAAsB,QAAAG,EAAAzB,EAAAyB,QACAykB,EAAA,GACA,IAAA,IAAAxoD,KAAA4jC,EAAA,CACA,IAAAx5B,EAAAw5B,EAAA5jC,GACA+L,EAAA3B,EAAA69C,SAAAK,EAAAC,GAAAn9B,EAAArf,EAAA,GAAAsf,EAAAtf,EAAA,GACAy8C,EAAAxoD,GAAA,CAAAorB,MAAAA,EAAAC,IAAAA,GAEA,IAAAu9B,EAAA,GACA,IAAA,IAAA7sC,KAAAgoB,EAAA,CACA,IAAA35B,EAAA25B,EAAAhoB,GACAzP,EAAAlC,EAAA69C,SAAAS,EAAAC,GAAAv9B,EAAA9e,EAAA,GAAA+e,EAAA/e,EAAA,GACAs8C,EAAA7sC,GAAA,CAAAqP,MAAAA,EAAAC,IAAAA,GAEAhqB,KAAAkpI,SAAA,CAAA/hF,IAAAA,EAAAI,IAAAA,EAAAyjD,IAAAA,EAAAC,IAAAA,GACAjrG,KAAAu8B,UAAAquE,aAAA5qG,KAAAkpI,UAAA,IAEAL,EAvFA,CAwFA7E,EAAAW,iBACA/mI,EAAAirI,YAAAA,EACA,IAAAY,EAAA,SAAAniI,GAEA,SAAAmiI,EAAAl+H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAIA,OAHAc,EAAAu/H,UAAA,MACAv/H,EAAA++B,WAAA,MACA/+B,EAAAgjI,cAAA,GACAhjI,EA2BA,OAjCA+F,EAAAY,UAAAgiI,EAAAniI,GAQAmiI,EAAA1vH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAA6+H,EACA7oI,KAAAia,OAAA,CACAi5F,WAAA,CAAA7lG,EAAAsI,WAAA,WAGA3W,OAAAiU,eAAAw2H,EAAA7oI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAyhI,iBAAA,MAAAzhI,KAAAkzG,aAEA7/F,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAw2H,EAAA7oI,UAAA,OAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAkzG,YACA,IAAA,OAAA,MAAA,mBACA,IAAA,QAAA,MAAA,oBACA,IAAA,SAAA,MAAA,sBAGA7/F,YAAA,EACAC,cAAA,IAEAm2H,EAlCA,CAmCAzF,EAAAc,aACAlnI,EAAA6rI,QAAAA,EACAA,EAAA1vH,aCnIA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAqpI,EAAArpI,EAAA,KACAsrE,EAAAtrE,EAAA,IACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACAgsI,EAAA,SAAApiI,GAEA,SAAAoiI,IACA,OAAA,OAAApiI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAqDA,OAvDA6G,EAAAY,UAAAiiI,EAAApiI,GAIAoiI,EAAA9oI,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAoE,KAAA,CAAAmE,GAAA,GAAAC,GAAA,KAEAkhI,EAAA9oI,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAuoB,OAAA1oB,OAAA,WAAA,OAAAjY,EAAA0nI,oBAEAkB,EAAA9oI,UAAA4nI,eAAA,WACAxoI,KAAA5B,MAAAqjC,QACAzhC,KAAA2pI,eAEAD,EAAA9oI,UAAA6/B,OAAA,SAAA4B,GACAA,EAAAwB,SAAAtZ,EAAArW,KAAAw0H,OACA1oI,KAAA2pI,eAEAD,EAAA9oI,UAAA+9B,WAAA,SAAA0D,GACA,IAAA71B,EAAA61B,EAAAkB,SACAvjC,KAAAqnI,WAAArnI,KAAAoE,KAAAmE,GAAAvI,KAAAoE,KAAAoE,IAAA,EAAAgE,GACAxM,KAAAu8B,UAAAo5E,WAAA,cAAA,CAAA1C,UAAAjzG,KAAAu8B,UAAA65E,kBACAp2G,KAAA2pI,eAEAD,EAAA9oI,UAAA+oI,YAAA,WACA3pI,KAAAoE,KAAA,CAAAmE,GAAA,GAAAC,GAAA,IACAxI,KAAA5B,MAAAy5G,QAAAt8F,OAAA,CAAA84B,GAAA,GAAAC,GAAA,MAEAo1F,EAAA9oI,UAAAg+B,KAAA,SAAAyD,GACA,IAAA95B,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACAy4B,EAAAjhC,KAAAu8B,UAAA0E,MACAA,EAAAlc,KAAAvR,SAAAjL,EAAAC,KAEAxI,KAAAoE,KAAAmE,GAAAyC,KAAAzC,GACAvI,KAAAoE,KAAAoE,GAAAwC,KAAAxC,GACAxI,KAAA5B,MAAAy5G,QAAAt8F,OAAA,CAAA84B,GAAAzqC,EAAA2Q,KAAAva,KAAAoE,KAAAmE,IAAA+rC,GAAA1qC,EAAA2Q,KAAAva,KAAAoE,KAAAoE,QAEAkhI,EAAA9oI,UAAAymI,WAAA,SAAA9+H,EAAAC,EAAAJ,EAAAoE,GACA,IAAArE,EAAA,CAAAoR,KAAA,OAAAhR,GAAAA,EAAAC,GAAAA,GACAxI,KAAAy6F,QAAAtyF,EAAAC,EAAAoE,IAEAk9H,EAAA9oI,UAAA+9G,eAAA,SAAAx2G,GACA,IAAA0d,EAAA7lB,KAAA23G,mBAAA,GACA12E,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAA1c,EAAAw1C,cACA54B,EAAAxB,EAAAyB,QAAA7c,EAAA01C,cACA9yD,EAAA65B,EAAAi1D,SAAApvF,EAAAI,IACAG,EAAA+5B,EAAA80D,SAAApvF,EAAAK,IACAomC,EAAA/nC,EAAAiB,SAAA,CAAAW,EAAAA,EAAAC,EAAAA,GAAAP,GACA,MAAAnI,KAAA5B,MAAAgnD,UACAplD,KAAA5B,MAAAgnD,SAAA2T,QAAA/4D,KAAA5B,MAAA,CAAA+J,SAAAymC,KAEA86F,EAxDA,CAyDA3C,EAAAO,gBACA1pI,EAAA8rI,mBAAAA,EACA,IAAAf,EAAA,WACA,OAAA,IAAA3/D,EAAAC,eAAA,CACA14C,MAAA,UACA89C,SAAA,SACAC,SAAA,SACAj4C,WAAA,CAAAxqB,MAAA,aACAyqB,WAAA,CAAAzqB,MAAA,IACA+pB,WAAA,CAAA/pB,MAAA,SACAiqB,WAAA,CAAAjqB,MAAA,GACAgqB,WAAA,CAAAhqB,MAAA,GACAoqB,UAAA,CAAApqB,MAAA,CAAA,EAAA,OAGA+9H,EAAA,SAAAtiI,GAEA,SAAAsiI,EAAAr+H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,cACAv/H,EAAAy/H,KAAA,8BACAz/H,EAAA++B,WAAA,MACA/+B,EAAAgjI,cAAA,GACAhjI,EAUA,OAjBA+F,EAAAY,UAAAmiI,EAAAtiI,GASAsiI,EAAA7vH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,iBACAvZ,KAAAY,UAAAoJ,aAAA0/H,EACA1pI,KAAAia,OAAA,CACAmrC,SAAA,CAAA/3C,EAAA6M,KACA29F,QAAA,CAAAxqG,EAAAimB,SAAAq1G,MAGAiB,EAlBA,CAmBA7C,EAAAU,YACA7pI,EAAAgsI,eAAAA,EACAA,EAAA7vH,aCpGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA4qE,EAAA5qE,EAAA,IACAwB,EAAAxB,EAAA,IACA2P,EAAA3P,EAAA,IACAsmI,EAAAtmI,EAAA,KACA,SAAAmsI,EAAA76G,GACA,OAAAA,GACA,KAAA,EAAA,OAAA,EACA,KAAA,EAAA,OAAA,EACA,KAAA,EAAA,OAAA,EACA,KAAA,EAAA,OAAA,EACA,QAAA,OAAAA,GAMA,SAAA86G,EAAAC,EAAAl+H,EAAA9C,EAAAihI,GACA,GAAA,MAAAn+H,EACA,OAAA,EACA,IAAAo+H,EAAAlhI,EAAA0kB,QAAA5hB,GACA,OAAAyD,KAAAsd,IAAAm9G,EAAAE,GAAAD,EAKA,SAAAE,EAAA3hI,EAAAC,EAAA85B,EAAAG,EAAAo1E,GACA,IAAA95F,GAAA,EACA,GAAA,MAAA85F,EAAAzpG,MAAA,MAAAypG,EAAAvpG,MAAA,CACA,IAAA7F,EAAA65B,EAAAK,OAAAp6B,IACAE,EAAAovG,EAAAzpG,MAAA3F,EAAAovG,EAAAvpG,SACAyP,GAAA,GAEA,GAAA,MAAA85F,EAAA3pG,QAAA,MAAA2pG,EAAA7pG,IAAA,CACA,IAAAtF,EAAA+5B,EAAAE,OAAAn6B,IACAE,EAAAmvG,EAAA3pG,QAAAxF,EAAAmvG,EAAA7pG,OACA+P,GAAA,GAEA,OAAAA,EAGA,SAAAosH,EAAApgH,EAAAC,EAAA4a,GACA,IAAA7mB,EAAA,EAKA,OAJAgM,GAAA6a,EAAA7a,OAAAA,GAAA6a,EAAA5a,MACAjM,GAAA,GACAiM,GAAA4a,EAAA7a,OAAAC,GAAA4a,EAAA5a,MACAjM,GAAA,GACAA,EAGA,SAAAqsH,EAAAv+H,EAAA9C,EAAAshI,EAAAzlG,GACA,IAAAqlG,EAAAlhI,EAAA0kB,QAAA5hB,GACA+kD,EAAA7nD,EAAA45B,OAAAsnG,EAAAI,GACA,OAAAz5E,GAAAhsB,EAAA7a,OAAA6mC,GAAAhsB,EAAA5a,IACA4mC,EACA/kD,EAGA,SAAAy+H,EAAAtgH,EAAA4a,EAAA5V,GACA,OAAAhF,EAAA4a,EAAA7a,OACA6a,EAAA5a,IAAAA,EACAgF,IAGA4V,EAAA5a,IAAA4a,EAAA7a,MACA6a,EAAA7a,MAAAC,EACA6/G,EAAA76G,IAIA,SAAAu7G,EAAAxgH,EAAA6a,EAAA5V,GACA,OAAAjF,EAAA6a,EAAA5a,KACA4a,EAAA7a,MAAAA,EACAiF,IAGA4V,EAAA7a,MAAA6a,EAAA5a,IACA4a,EAAA5a,IAAAD,EACA8/G,EAAA76G,IAIA,SAAA47E,EAAAhmE,EAAA77B,EAAAE,EAAAuhI,GACA,IAAA9/H,EAAA3B,EAAA46E,UAAA/+C,EAAA7a,MAAA6a,EAAA5a,KAAAygH,EAAA//H,EAAA,GAAApI,EAAAoI,EAAA,GACAO,EAAAlC,EAAA69C,SAAA6jF,EAAAxhI,EAAA3G,EAAA2G,GAAA8gB,EAAA9e,EAAA,GAAA+e,EAAA/e,EAAA,GACAy/H,EAAAP,EAAAvlG,EAAA7a,MAAA6a,EAAA5a,IAAAwgH,GACAG,EAAAR,EAAApgH,EAAAC,EAAAwgH,GAEAG,GAAAD,IACA9lG,EAAA7a,MAAAA,EACA6a,EAAA5a,IAAAA,GA5EApsB,EAAAisI,UAAAA,EASAjsI,EAAAksI,QAAAA,EAiBAlsI,EAAAssI,UAAAA,EASAtsI,EAAAusI,aAAAA,EAQAvsI,EAAAwsI,cAAAA,EAYAxsI,EAAA0sI,iBAAAA,EAYA1sI,EAAA2sI,mBAAAA,EAYA3sI,EAAAgtG,aAAAA,EACA,IAAAggC,EAAA,SAAAtjI,GAEA,SAAAsjI,IACA,OAAA,OAAAtjI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAwFA,OA1FA6G,EAAAY,UAAAmjI,EAAAtjI,GAIAsjI,EAAAhqI,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAgvB,KAAA,EACAhvB,KAAA5B,MAAAysI,8BAEAD,EAAAhqI,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACA,MAAAA,KAAA5B,MAAA68E,SACAj7E,KAAAa,QAAAb,KAAA5B,MAAA68E,QAAAliE,OAAA,WAAA,OAAAjY,EAAA1C,MAAAysI,+BACA,MAAA7qI,KAAA5B,MAAA88E,SACAl7E,KAAAa,QAAAb,KAAA5B,MAAA88E,QAAAniE,OAAA,WAAA,OAAAjY,EAAA1C,MAAAysI,gCAEAD,EAAAhqI,UAAAo+B,WAAA,SAAAqD,GACAriC,KAAA8oI,QAAA,EACA9oI,KAAA+oI,QAAA,EACA,IAAA76C,EAAAluF,KAAA5B,MAAA68E,QACAoT,EAAAruF,KAAA5B,MAAA88E,QACAj6C,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAAC,QACAC,EAAAxB,EAAAyB,QAAAF,QACAq1E,EAAA73G,KAAA5B,MAAAy5G,QACAzpG,EAAAypG,EAAAzpG,KAAAE,EAAAupG,EAAAvpG,MAAAN,EAAA6pG,EAAA7pG,IAAAE,EAAA2pG,EAAA3pG,OACA87H,EAAAhqI,KAAA5B,MAAAy5G,QAAA3+F,WAAA2c,WAAAhqB,QAAAy8D,EAAAnK,eACA,MAAA+vB,GAAAluF,KAAA5B,MAAA0sI,gBACAhB,EAAAznG,EAAA95B,GAAA6F,EAAAk0B,EAAA0nG,GACAhqI,KAAAgvB,KAAA,EACA86G,EAAAznG,EAAA95B,GAAA+F,EAAAg0B,EAAA0nG,GACAhqI,KAAAgvB,KAAA,EACAk7G,EAAA7nG,EAAA95B,GAAA85B,EAAA75B,GAAA85B,EAAAG,EAAAo1E,KACA73G,KAAAgvB,KAAA,IAGA,MAAAq/D,GAAAruF,KAAA5B,MAAA2sI,gBACA,GAAA/qI,KAAAgvB,MAAA86G,EAAAznG,EAAA75B,GAAA0F,EAAAu0B,EAAAunG,KACAhqI,KAAAgvB,KAAA,GACA,GAAAhvB,KAAAgvB,MAAA86G,EAAAznG,EAAA75B,GAAAwF,EAAAy0B,EAAAunG,GACAhqI,KAAAgvB,KAAA,EACAk7G,EAAA7nG,EAAA95B,GAAA85B,EAAA75B,GAAA85B,EAAAG,EAAAziC,KAAA5B,MAAAy5G,WACA,GAAA73G,KAAAgvB,KACAhvB,KAAAgvB,KAAA,EAEAhvB,KAAAgvB,KAAA,KAIA47G,EAAAhqI,UAAAq+B,KAAA,SAAAoD,GACA,IAAApB,EAAAjhC,KAAAu8B,UAAA0E,MACAkoG,EAAA9mG,EAAAO,OAAA5iC,KAAA8oI,QACAM,EAAA/mG,EAAAQ,OAAA7iC,KAAA+oI,QACA76C,EAAAluF,KAAA5B,MAAA68E,QACAoT,EAAAruF,KAAA5B,MAAA88E,QACA54C,EAAArB,EAAAsB,QAAAC,QACAC,EAAAxB,EAAAyB,QAAAF,QACA,GAAA,MAAA0rD,EACA,GAAA,GAAAluF,KAAAgvB,MAAA,GAAAhvB,KAAAgvB,KACA47E,EAAA1c,EAAA5rD,EAAA6mG,EAAAloG,EAAAg6C,cACA,GAAA,GAAAj7E,KAAAgvB,KAAA,CACA,IAAAjF,EAAAqgH,EAAAl8C,EAAAnkE,MAAAuY,EAAA6mG,EAAAloG,EAAAg6C,SACAj7E,KAAAgvB,KAAAu7G,EAAAxgH,EAAAmkE,EAAAluF,KAAAgvB,WAEA,GAAA,GAAAhvB,KAAAgvB,KAAA,CACA,IAAAhF,EAAAogH,EAAAl8C,EAAAlkE,IAAAsY,EAAA6mG,EAAAloG,EAAAg6C,SACAj7E,KAAAgvB,KAAAs7G,EAAAtgH,EAAAkkE,EAAAluF,KAAAgvB,MAGA,GAAA,MAAAq/D,EACA,GAAA,GAAAruF,KAAAgvB,MAAA,GAAAhvB,KAAAgvB,KACA47E,EAAAvc,EAAA5rD,EAAA2mG,EAAAnoG,EAAAi6C,cACA,GAAA,GAAAl7E,KAAAgvB,KAAA,CACAq/D,EAAAtkE,MAAAqgH,EAAA/7C,EAAAtkE,MAAA0Y,EAAA2mG,EAAAnoG,EAAAi6C,SACA,IAAAnxD,EAAAqgH,EAAA/7C,EAAAtkE,MAAA0Y,EAAA2mG,EAAAnoG,EAAAi6C,SACAl7E,KAAAgvB,KAAAu7G,EAAAxgH,EAAAskE,EAAAruF,KAAAgvB,WAEA,GAAA,GAAAhvB,KAAAgvB,KAAA,CACAq/D,EAAArkE,IAAAogH,EAAA/7C,EAAArkE,IAAAyY,EAAA2mG,EAAAnoG,EAAAi6C,SACA,IAAAlxD,EAAAogH,EAAA/7C,EAAArkE,IAAAyY,EAAA2mG,EAAAnoG,EAAAi6C,SACAl7E,KAAAgvB,KAAAs7G,EAAAtgH,EAAAqkE,EAAAruF,KAAAgvB,MAGAhvB,KAAA8oI,QAAAzmG,EAAAO,OACA5iC,KAAA+oI,QAAA1mG,EAAAQ,QAEA+nG,EAAAhqI,UAAAs+B,SAAA,SAAA8rG,GACAhrI,KAAAgvB,KAAA,GAEA47G,EA3FA,CA4FA5G,EAAAW,iBACA/mI,EAAAgtI,cAAAA,EACA,IAAAK,EAAA,WACA,OAAA,IAAA3iE,EAAAnI,cAAA,CACA5vC,MAAA,UACA+tC,YAAA,SACAjoC,WAAA,YACAC,WAAA,CAAAzqB,MAAA,IACA+pB,WAAA,CAAA/pB,MAAA,SACAiqB,WAAA,CAAAjqB,MAAA,GACAgqB,WAAA,CAAAhqB,MAAA,IACAoqB,UAAA,CAAA,EAAA,MAGAi1G,EAAA,SAAA5jI,GAEA,SAAA4jI,EAAA3/H,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,aACAv/H,EAAAy/H,KAAA,qBACAz/H,EAAA++B,WAAA,MACA/+B,EAAAgjI,cAAA,EACAhjI,EA4CA,OAnDA+F,EAAAY,UAAAyjI,EAAA5jI,GASA4jI,EAAAnxH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAY,UAAAoJ,aAAA4gI,EACA5qI,KAAAia,OAAA,CACAghE,QAAA,CAAA5tE,EAAAimB,SAAA,MACAw3G,cAAA,CAAAz9H,EAAA8lB,SAAA,GACA+nD,QAAA,CAAA7tE,EAAAimB,SAAA,MACAy3G,cAAA,CAAA19H,EAAA8lB,SAAA,GACA0kF,QAAA,CAAAxqG,EAAAimB,SAAA23G,MAGAC,EAAAtqI,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA63G,QAAA73C,UAAA,OACAhgE,KAAA63G,QAAA53C,UAAA,MAAAjgE,KAAAi7E,SAAAj7E,KAAA8qI,cAAA,YAAA,KACA9qI,KAAA63G,QAAA33C,UAAA,MAAAlgE,KAAAk7E,SAAAl7E,KAAA+qI,cAAA,YAAA,MAEAG,EAAAtqI,UAAAiqI,2BAAA,WACA,MAAA7qI,KAAAi7E,SAAA,MAAAj7E,KAAAk7E,UACAl7E,KAAA63G,QAAAzpG,KAAA,KACApO,KAAA63G,QAAAvpG,MAAA,KACAtO,KAAA63G,QAAA3pG,OAAA,KACAlO,KAAA63G,QAAA7pG,IAAA,KACA9O,EAAAwB,OAAA5B,KAAA,8CAEA,MAAAkB,KAAAi7E,SACAj7E,KAAA63G,QAAAzpG,KAAA,KACApO,KAAA63G,QAAAvpG,MAAA,OAGAtO,KAAA63G,QAAAzpG,KAAApO,KAAAi7E,QAAAlxD,MACA/pB,KAAA63G,QAAAvpG,MAAAtO,KAAAi7E,QAAAjxD,KAEA,MAAAhqB,KAAAk7E,SACAl7E,KAAA63G,QAAA3pG,OAAA,KACAlO,KAAA63G,QAAA7pG,IAAA,OAGAhO,KAAA63G,QAAA3pG,OAAAlO,KAAAk7E,QAAAnxD,MACA/pB,KAAA63G,QAAA7pG,IAAAhO,KAAAk7E,QAAAlxD,MAGAkhH,EApDA,CAqDAlH,EAAAc,aACAlnI,EAAAstI,UAAAA,EACAA,EAAAnxH,aChQA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAsmI,EAAAtmI,EAAA,KACAq6B,EAAAr6B,EAAA,KACAs6B,EAAAt6B,EAAA,KACA+vH,EAAA/vH,EAAA,KACA2P,EAAA3P,EAAA,IACA6sB,EAAA7sB,EAAA,GACAytD,EAAAztD,EAAA,GACA4pI,EAAA,SAAAhgI,GAEA,SAAAggI,IACA,OAAA,OAAAhgI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA2FA,OA7FA6G,EAAAY,UAAA6/H,EAAAhgI,GAIAtI,OAAAiU,eAAAq0H,EAAA1mI,UAAA,qBAAA,CACAsS,IAAA,WACA,IAAA05D,EAAA5sE,KAAA5B,MAAAwuE,UACAu+D,EAAAnrI,KAAA+5D,WAAA6S,UACAzxD,EAAAnb,KAAA5B,MAAA+c,MACA,OAAAsyG,EAAA2d,kBAAAx+D,EAAAu+D,EAAAhwH,IAEA9H,YAAA,EACAC,cAAA,IAEAg0H,EAAA1mI,UAAAyqI,mCAAA,WAEA,IADA,IAAAC,EAAA,GACAlhI,EAAA,EAAAM,EAAA1K,KAAA23G,mBAAAvtG,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACAmhI,OAAA,EACA,GAAA1lH,aAAAkS,EAAAi5E,cACAu6B,EAAA1lH,EAAA89B,YAAA/jD,OACA,CAAA,KAAAimB,aAAAmS,EAAA+pF,eAGA,SAFAwpB,EAAA1lH,EAAA20E,cAAA72C,YAAA/jD,GAGA2rI,KAAAD,IACAA,EAAAC,GAAA,IACAD,EAAAC,GAAAvgI,KAAA6a,GAEA,OAAAylH,GAEAhE,EAAA1mI,UAAA6/B,OAAA,SAAA4B,GACA,GAAAA,EAAAwB,SAAAtZ,EAAArW,KAAAwuH,IAAA,CACA,IAAA,IAAAt4H,EAAA,EAAAM,EAAA1K,KAAA23G,mBAAAvtG,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACAyb,EAAA80E,wBAAA/mF,QAEA5T,KAAAu8B,UAAAu+B,mBAGAwsE,EAAA1mI,UAAA65F,QAAA,SAAAtyF,EAAAC,EAAAoE,GACA,IAAA8+H,EAAAtrI,KAAAqrI,qCACA,IAAA,IAAAzrI,KAAA0rI,EAAA,CAIA,IAHA,IAAA1+D,EAAA0+D,EAAA1rI,GACA8kI,EAAA93D,EAAA,GAAA+tB,wBACA6wC,EAAA,GACAphI,EAAA,EAAAuxG,EAAA/uC,EAAAxiE,EAAAuxG,EAAAz6G,OAAAkJ,IAAA,CACA,IAAAyb,EAAA81F,EAAAvxG,GACAyb,EAAAjmB,MAAAI,KAAAu8B,UAAApE,gBACAqzG,EAAAxgI,KAAAhL,KAAAu8B,UAAApE,eAAAtS,EAAAjmB,KAEA8kI,EAAAp0H,OAAAk7H,EAAArjI,EAAAC,EAAAoE,GAGA,MAAAxM,KAAA5B,MAAAgnD,UACAplD,KAAA2+G,eAAAx2G,GACAnI,KAAAyrI,sBAAAtjI,EAAAC,IAEAk/H,EAAA1mI,UAAA6qI,sBAAA,SAAAtjI,EAAAC,QACA,IAAAA,IACAA,GAAA,GAEA,IAGAwmC,EAHA3N,EAAAjhC,KAAAu8B,UAAA0E,MACAg3D,EAAAh3D,EAAAsB,QAAAC,QACAkpG,EAAAzqG,EAAAyB,QAAAF,QAEA,OAAAr6B,EAAAoR,MACA,IAAA,QACA,IAAAhR,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAwvF,EAAAt1D,OAAAp6B,GACAG,EAAAgjI,EAAA/oG,OAAAn6B,GACAomC,EAAA/nC,EAAAiB,SAAA,GAAAK,EAAA,CAAAM,EAAAA,EAAAC,EAAAA,IACA,MAEA,IAAA,OACA,IAAAu+C,EAAA9+C,EAAA8+C,IAAAC,EAAA/+C,EAAA++C,IAAAG,EAAAl/C,EAAAk/C,IAAAC,EAAAn/C,EAAAm/C,IACA58C,EAAAutF,EAAArxC,SAAAK,EAAAC,GAAA1lC,EAAA9W,EAAA,GAAAuW,EAAAvW,EAAA,GACAO,EAAAygI,EAAA9kF,SAAAS,EAAAC,GAAA7lC,EAAAxW,EAAA,GAAAiW,EAAAjW,EAAA,GACA2jC,EAAA/nC,EAAAiB,SAAA,GAAAK,EAAA,CAAAqZ,GAAAA,EAAAC,GAAAA,EAAAR,GAAAA,EAAAC,GAAAA,IACA,MAEA,IAAA,OACA,IAAA3Y,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACAC,EAAAwvF,EAAAV,SAAAhvF,GACAG,EAAAgjI,EAAAn0C,SAAA/uF,GACAomC,EAAA/nC,EAAAiB,SAAA,GAAAK,EAAA,CAAAM,EAAAA,EAAAC,EAAAA,IACA,MAEA,QACA,MAAA,IAAArK,MAAA,0CAAA8J,EAAAoR,KAAA,KAEAvZ,KAAA+5D,WAAAj3B,cAAA,IAAAqoB,EAAAjjD,kBAAA0mC,EAAAxmC,KAEAk/H,EA9FA,CA+FAtD,EAAAW,iBACA/mI,EAAA0pI,eAAAA,EACA,IAAAG,EAAA,SAAAngI,GAEA,SAAAmgI,EAAAl8H,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KASA,OAXA6G,EAAAY,UAAAggI,EAAAngI,GAIAmgI,EAAA1tH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAia,OAAA,CACA2yD,UAAA,CAAAv/D,EAAA6M,IAAA,QACAiB,MAAA,CAAA9N,EAAAoC,MAAA,OAGAg4H,EAZA,CAaAzD,EAAAc,aACAlnI,EAAA6pI,WAAAA,EACAA,EAAA1tH,aCzHA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAqpI,EAAArpI,EAAA,KACA2P,EAAA3P,EAAA,IACAiuI,EAAA,SAAArkI,GAEA,SAAAqkI,IACA,OAAA,OAAArkI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAgDA,OAlDA6G,EAAAY,UAAAkkI,EAAArkI,GAIAqkI,EAAA/qI,UAAAg+B,KAAA,SAAAyD,GACA,IAAA95B,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACAL,EAAA,CAAAoR,KAAA,QAAAhR,GAAAA,EAAAC,GAAAA,GACAgE,EAAA61B,EAAAkB,SACAvjC,KAAAy6F,QAAAtyF,GAAA,EAAAqE,IAEAm/H,EAAA/qI,UAAA65F,QAAA,SAAAtyF,EAAAC,EAAAoE,GACA,IAAA1L,EAAAd,KACAolD,EAAAplD,KAAA5B,MAAAgnD,SACA,GAAA,UAAAplD,KAAA5B,MAAAwtI,SAAA,CACA,IAAAN,EAAAtrI,KAAAqrI,qCACA,IAAA,IAAAzrI,KAAA0rI,EAAA,CACA,IAAA1+D,EAAA0+D,EAAA1rI,GACA8kI,EAAA93D,EAAA,GAAA+tB,wBACA6wC,EAAA5+D,EAAAziE,IAAA,SAAA0b,GAAA,OAAA/kB,EAAAy7B,UAAApE,eAAAtS,EAAAjmB,MACA64B,EAAAisG,EAAAp0H,OAAAk7H,EAAArjI,EAAAC,EAAAoE,GACA,GAAAisB,GAAA,MAAA2sB,EAAA,CACA,IAAAnkB,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAAqqC,EAAA,GAAAvR,cACA54B,EAAAxB,EAAAyB,QAAAkqC,EAAA,GAAArR,cACA9yD,EAAA65B,EAAAK,OAAAx6B,EAAAI,IACAG,EAAA+5B,EAAAE,OAAAx6B,EAAAK,IACApE,EAAA,CAAAqkH,WAAA5hH,EAAAiB,SAAA,GAAAK,EAAA,CAAAM,EAAAA,EAAAC,EAAAA,IAAAgX,OAAAglH,EAAAhlH,QACA0lC,EAAA2T,QAAA/4D,KAAA5B,MAAAgG,IAGApE,KAAAyrI,sBAAAtjI,GACAnI,KAAAu8B,UAAAo5E,WAAA,MAAA,CAAA1C,UAAAjzG,KAAAu8B,UAAA65E,uBAGA,IAAA,IAAAhsG,EAAA,EAAAM,EAAA1K,KAAA23G,mBAAAvtG,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACAs6H,EAAA7+G,EAAA80E,wBACAliE,EAAAisG,EAAA3rG,QAAA/4B,KAAAu8B,UAAApE,eAAAtS,EAAAjmB,IAAAuI,GACA,GAAAswB,GAAA,MAAA2sB,EAAA,CACA,IAAAnkB,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAA1c,EAAAw1C,cACA54B,EAAAxB,EAAAyB,QAAA7c,EAAA01C,cACA9yD,EAAA65B,EAAAK,OAAAx6B,EAAAI,IACAG,EAAA+5B,EAAAE,OAAAx6B,EAAAK,IACApE,EAAA,CAAAqkH,WAAA5hH,EAAAiB,SAAA,GAAAK,EAAA,CAAAM,EAAAA,EAAAC,EAAAA,IAAAgX,OAAAglH,EAAAhlH,QACA0lC,EAAA2T,QAAA/4D,KAAA5B,MAAAgG,MAKAunI,EAnDA,CAoDA5E,EAAAO,gBACA1pI,EAAA+tI,YAAAA,EACA,IAAAE,EAAA,SAAAvkI,GAEA,SAAAukI,EAAAtgI,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,MACAv/H,EAAAy/H,KAAA,0BACAz/H,EAAA++B,WAAA,MACA/+B,EAAAgjI,cAAA,GACAhjI,EAUA,OAjBA+F,EAAAY,UAAAokI,EAAAvkI,GASAukI,EAAA9xH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAA2hI,EACA3rI,KAAAia,OAAA,CACA2xH,SAAA,CAAAv+H,EAAAwK,YAAA,UACAutC,SAAA,CAAA/3C,EAAA6M,QAGA2xH,EAlBA,CAmBA9E,EAAAU,YACA7pI,EAAAiuI,QAAAA,EACAA,EAAA9xH,aC/EA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAsmI,EAAAtmI,EAAA,KACA2P,EAAA3P,EAAA,IACAouI,EAAA,SAAAxkI,GAEA,SAAAwkI,IACA,OAAA,OAAAxkI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA+DA,OAjEA6G,EAAAY,UAAAqkI,EAAAxkI,GAIAwkI,EAAAlrI,UAAA2/B,QAAA,SAAA8B,GACA,IAAAikB,EAAAtmD,KAAA5B,MAAA2tI,MAAA1pG,EAAAp5B,MAEAq9C,EAAA,GACAA,EAAA,GACAA,GAAA,KACAA,GAAA,IACAtmD,KAAAgsI,eAAA1lF,IAEAwlF,EAAAlrI,UAAAorI,eAAA,SAAA1lF,GACA,IAKAW,EACAC,EACAG,EACAC,EARArmB,EAAAjhC,KAAAu8B,UAAA0E,MACA0hC,EAAA1hC,EAAAlc,KAAA4jB,QACAi6B,EAAA3hC,EAAAlc,KAAA6jB,QACAl+B,EAAA,CAAAi4D,EAAA54C,MAAA44C,EAAA34C,KAAAq/G,EAAA3+H,EAAA,GAAA4+H,EAAA5+H,EAAA,GACAO,EAAA,CAAA23D,EAAA74C,MAAA64C,EAAA54C,KAAAu/G,EAAAt+H,EAAA,GAAAu+H,EAAAv+H,EAAA,GAKA,OAAAjL,KAAA5B,MAAA81C,WACA,IAAA,SACA,IAAA+3F,EAAA38H,KAAAsd,IAAA48G,EAAAD,GACAtiF,EAAAoiF,EACAniF,EAAAoiF,EACAjiF,EAAAkiF,EAAA0C,EAAA3lF,EACAgB,EAAAkiF,EAAAyC,EAAA3lF,EACA,MAEA,IAAA,QACA,IAAA4lF,EAAA58H,KAAAsd,IAAA08G,EAAAD,GACApiF,EAAAoiF,EAAA6C,EAAA5lF,EACAY,EAAAoiF,EAAA4C,EAAA5lF,EACAe,EAAAkiF,EACAjiF,EAAAkiF,EACA,MAEA,QACA,MAAA,IAAAnrI,MAAA,gCAEA,IAAAkkC,EAAAtB,EAAAsB,QAAAG,EAAAzB,EAAAyB,QACAykB,EAAA,GACA,IAAA,IAAAxoD,KAAA4jC,EAAA,CACA,IAAAx5B,EAAAw5B,EAAA5jC,GACAkO,EAAA9D,EAAA69C,SAAAK,EAAAC,GAAAn9B,EAAAld,EAAA,GAAAmd,EAAAnd,EAAA,GACAs6C,EAAAxoD,GAAA,CAAAorB,MAAAA,EAAAC,IAAAA,GAEA,IAAAu9B,EAAA,GACA,IAAA,IAAA7sC,KAAAgoB,EAAA,CACA,IAAA35B,EAAA25B,EAAAhoB,GACA3N,EAAAhE,EAAA69C,SAAAS,EAAAC,GAAAv9B,EAAAhd,EAAA,GAAAid,EAAAjd,EAAA,GACAw6C,EAAA7sC,GAAA,CAAAqP,MAAAA,EAAAC,IAAAA,GAKA,IAAAk/G,EAAA,CAAA/hF,IAAAA,EAAAI,IAAAA,EAAAjB,OAAAA,GACAtmD,KAAAu8B,UAAAo5E,WAAA,YAAA,CAAA/wE,MAAAskG,IACAlpI,KAAAu8B,UAAAquE,aAAAs+B,GAAA,GAAA,GACA,MAAAlpI,KAAA5B,MAAA0F,UACA9D,KAAA5B,MAAA0F,SAAAkpD,kBAAAhtD,KAAA+5D,aAEA+xE,EAlEA,CAmEA9H,EAAAW,iBACA/mI,EAAAkuI,iBAAAA,EACA,IAAAK,EAAA,SAAA7kI,GAEA,SAAA6kI,EAAA5gI,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,YACAv/H,EAAAy/H,KAAA,yBACAz/H,EAAA++B,WAAA,SACA/+B,EAAAgjI,cAAA,GACAhjI,EAmBA,OA1BA+F,EAAAY,UAAA0kI,EAAA7kI,GASA6kI,EAAApyH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAY,UAAAoJ,aAAA8hI,EACA9rI,KAAAia,OAAA,CACAi6B,UAAA,CAAA7mC,EAAAqI,UAAA,WAEA1V,KAAA8a,SAAA,CACAixH,MAAA,CAAA1+H,EAAAkmB,OAAA,SAGAv0B,OAAAiU,eAAAk5H,EAAAvrI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAyhI,iBAAAzhI,KAAAqgI,UAAArgI,KAAAk0C,YAEA7gC,YAAA,EACAC,cAAA,IAEA64H,EA3BA,CA4BAnI,EAAAc,aACAlnI,EAAAuuI,aAAAA,EACAA,EAAApyH,aCvGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAsmI,EAAAtmI,EAAA,KACA0jI,EAAA1jI,EAAA,IACA2P,EAAA3P,EAAA,IACA2+B,EAAA3+B,EAAA,IACA0uI,EAAA,SAAA9kI,GAEA,SAAA8kI,IACA,OAAA,OAAA9kI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAgCA,OAlCA6G,EAAAY,UAAA2kI,EAAA9kI,GAIA8kI,EAAAxrI,UAAAy+B,OAAA,SAAAgD,GAEA,IACAp5B,EADAV,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GAAAO,EAAAs5B,EAAAt5B,MAGAE,EADAF,GAAA,EACA,IAAAA,EAAA,IAEA,GAAAA,EACA/I,KAAAugC,QAAA,CAAAhnB,KAAA,QAAAhR,GAAAA,EAAAC,GAAAA,EAAAS,MAAAA,KAEAmjI,EAAAxrI,UAAA2/B,QAAA,SAAA8B,GACA,IAAApB,EAAAjhC,KAAAu8B,UAAA0E,MACA0hC,EAAA1hC,EAAAlc,KAAA4jB,QACAi6B,EAAA3hC,EAAAlc,KAAA6jB,QACArgC,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACA84H,EAAAthI,KAAA5B,MAAA80G,WAGApsD,GAAA,SAAAw6E,GAAA,QAAAA,IAAA3+D,EAAA54C,MAAAxhB,GAAAA,EAAAo6D,EAAA34C,IACA+8B,GAAA,UAAAu6E,GAAA,QAAAA,IAAA1+D,EAAA74C,MAAAvhB,GAAAA,EAAAo6D,EAAA54C,IACA,GAAA88B,GAAAC,GAAA/mD,KAAA5B,MAAAiuI,aAAA,CAGA,IAAA/lF,EAAAtmD,KAAA5B,MAAA2tI,MAAA1pG,EAAAp5B,MACAs4H,EAAAH,EAAAv6E,YAAA5lB,EAAAqlB,EAAAQ,EAAAC,EAAA,CAAAt+C,EAAAF,EAAAG,EAAAF,IACAxI,KAAAu8B,UAAAo5E,WAAA,aAAA,CAAA/wE,MAAA28F,IACAvhI,KAAAu8B,UAAAquE,aAAA22B,GAAA,GAAA,EAAAvhI,KAAA5B,MAAA24G,gBACA,MAAA/2G,KAAA5B,MAAA0F,UACA9D,KAAA5B,MAAA0F,SAAAkpD,kBAAAhtD,KAAA+5D,cAEAqyE,EAnCA,CAoCApI,EAAAW,iBACA/mI,EAAAwuI,kBAAAA,EACA,IAAAE,EAAA,SAAAhlI,GAEA,SAAAglI,EAAA/gI,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAJAc,EAAAu/H,UAAA,aACAv/H,EAAAy/H,KAAA,0BACAz/H,EAAA++B,WAAAxD,EAAAqE,UAAA,QAAA,SACA5/B,EAAAgjI,cAAA,GACAhjI,EAmBA,OA1BA+F,EAAAY,UAAA6kI,EAAAhlI,GASAglI,EAAAvyH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAY,UAAAoJ,aAAAoiI,EACApsI,KAAAia,OAAA,CACAi5F,WAAA,CAAA7lG,EAAAsI,WAAA,QACAohG,eAAA,CAAA1pG,EAAA8lB,SAAA,GACAk5G,aAAA,CAAAh/H,EAAA8lB,SAAA,GACA44G,MAAA,CAAA1+H,EAAAkmB,OAAA,EAAA,QAGAv0B,OAAAiU,eAAAq5H,EAAA1rI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAyhI,iBAAAzhI,KAAAqgI,UAAArgI,KAAAkzG,aAEA7/F,YAAA,EACAC,cAAA,IAEAg5H,EA3BA,CA4BAtI,EAAAc,aACAlnI,EAAA0uI,cAAAA,EACAA,EAAAvyH,aC1EA,SAAArc,EAAAC,EAAAC,GACA,IAAAqiI,EAAAviI,EAAA,KACAE,EAAAkiI,WAAAG,EAAAH,WACA,IAAAyM,EAAA7uI,EAAA,KACAE,EAAAwiI,aAAAmM,EAAAnM,aACA,IAAAoM,EAAA9uI,EAAA,KACAE,EAAA8iI,SAAA8L,EAAA9L,SACA,IAAA+L,EAAA/uI,EAAA,KACAE,EAAAijI,SAAA4L,EAAA5L,SACA,IAAA6L,EAAAhvI,EAAA,KACAE,EAAAmjI,UAAA2L,EAAA3L,UACA,IAAA4L,EAAAjvI,EAAA,KACAE,EAAAqjI,SAAA0L,EAAA1L,SACA,IAAA2L,EAAAlvI,EAAA,KACAE,EAAAujI,SAAAyL,EAAAzL,SACA,IAAA0L,EAAAnvI,EAAA,KACAE,EAAA4jI,WAAAqL,EAAArL,WACA,IAAAsL,EAAApvI,EAAA,KACAE,EAAA+jI,YAAAmL,EAAAnL,YACA,IAAApC,EAAA7hI,EAAA,KACAE,EAAAoiI,WAAAT,EAAAS,WACA,IAAAkC,EAAAxkI,EAAA,KACAE,EAAAmmI,SAAA7B,EAAA6B,SACA,IAAAgJ,EAAArvI,EAAA,KACAE,EAAAimI,YAAAkJ,EAAAlJ,YACA,IAAAmJ,EAAAtvI,EAAA,KACAE,EAAAunI,iBAAA6H,EAAA7H,iBACA,IAAA8H,EAAAvvI,EAAA,KACAE,EAAA0nI,cAAA2H,EAAA3H,cACA,IAAA4H,EAAAxvI,EAAA,KACAE,EAAAuoI,aAAA+G,EAAA/G,aACA,IAAAZ,EAAA7nI,EAAA,KACAE,EAAAwoI,SAAAb,EAAAa,SACA,IAAA+G,EAAAzvI,EAAA,KACAE,EAAAipI,aAAAsG,EAAAtG,aACA,IAAAuG,EAAA1vI,EAAA,KACAE,EAAA4pI,cAAA4F,EAAA5F,cACA,IAAA6F,EAAA3vI,EAAA,KACAE,EAAAwqI,YAAAiF,EAAAjF,YACA,IAAApE,EAAAtmI,EAAA,KACAE,EAAAknI,YAAAd,EAAAc,YACA,IAAAwI,EAAA5vI,EAAA,KACAE,EAAAgrI,gBAAA0E,EAAA1E,gBACA,IAAA2E,EAAA7vI,EAAA,KACAE,EAAA6rI,QAAA8D,EAAA9D,QACA,IAAA+D,EAAA9vI,EAAA,KACAE,EAAAgsI,eAAA4D,EAAA5D,eACA,IAAA6D,EAAA/vI,EAAA,KACAE,EAAAstI,UAAAuC,EAAAvC,UACA,IAAAnE,EAAArpI,EAAA,KACAE,EAAA6pI,WAAAV,EAAAU,WACA,IAAAiG,EAAAhwI,EAAA,KACAE,EAAAiuI,QAAA6B,EAAA7B,QACA,IAAA8B,EAAAjwI,EAAA,KACAE,EAAAuuI,aAAAwB,EAAAxB,aACA,IAAAyB,EAAAlwI,EAAA,KACAE,EAAA0uI,cAAAsB,EAAAtB,cACA,IAAAuB,EAAAnwI,EAAA,KACAE,EAAAkwI,cAAAD,EAAAC,cACA,IAAAC,EAAArwI,EAAA,KACAE,EAAAowI,cAAAD,EAAAC,cACA,IAAAC,EAAAvwI,EAAA,KACAE,EAAAswI,UAAAD,EAAAC,UACA,IAAAC,EAAAzwI,EAAA,KACAE,EAAAwwI,YAAAD,EAAAC,YACA,IAAAxM,EAAAlkI,EAAA,KACAE,EAAAqkI,KAAAL,EAAAK,KACA,IAAAoM,EAAA3wI,EAAA,KACAE,EAAA0wI,UAAAD,EAAAC,UACA,IAAAp/B,EAAAxxG,EAAA,KACAE,EAAAuxG,QAAAD,EAAAC,QACA,IAAAo/B,EAAA7wI,EAAA,KACAE,EAAA4wI,YAAAD,EAAAC,YACA,IAAAC,EAAA/wI,EAAA,KACAE,EAAA8wI,aAAAD,EAAAC,aACA,IAAAC,EAAAjxI,EAAA,KACAE,EAAAgxI,WAAAD,EAAAC,YC5EA,SAAAlxI,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAywI,EAAAzwI,EAAA,KACA0rE,EAAA1rE,EAAA,IACA2P,EAAA3P,EAAA,IACAI,EAAAJ,EAAA,IACAmxI,EAAA,SAAAvnI,GAEA,SAAAunI,IACA,OAAA,OAAAvnI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAqBA,OAvBA6G,EAAAY,UAAAonI,EAAAvnI,GAIAunI,EAAAjuI,UAAAy/B,MAAA,SAAAgC,GACA,GAAAriC,KAAA5B,MAAAqjC,OAAA,CAEA,IAAAl5B,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACAxI,KAAAu8B,UAAA0E,MAAAlc,KAAAvR,SAAAjL,EAAAC,GAGAxI,KAAA8uI,cAAAvmI,EAAAC,GAFAxI,KAAA8uI,cAAA,KAAA,QAIAD,EAAAjuI,UAAA0/B,WAAA,SAAA4tB,GACAluD,KAAA8uI,cAAA,KAAA,OAEAD,EAAAjuI,UAAAkuI,cAAA,SAAArmI,EAAAC,GACA,IAAA44H,EAAAthI,KAAA5B,MAAA80G,WACA,SAAAouB,GAAA,QAAAA,IACAthI,KAAA5B,MAAAgsF,MAAA/6E,MAAAw/D,kBAAAnmE,GACA,UAAA44H,GAAA,QAAAA,IACAthI,KAAA5B,MAAAgsF,MAAA56E,OAAAq/D,kBAAApmE,IAEAomI,EAxBA,CAyBAV,EAAAY,iBACAnxI,EAAAixI,kBAAAA,EACA,IAAAf,EAAA,SAAAxmI,GAEA,SAAAwmI,EAAAviI,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,YACAv/H,EAAAy/H,KAAA,yBACAz/H,EAsDA,OA3DA+F,EAAAY,UAAAqmI,EAAAxmI,GAOAwmI,EAAA/zH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAY,UAAAoJ,aAAA6kI,EACA7uI,KAAAia,OAAA,CACAi5F,WAAA,CAAA7lG,EAAAsI,WAAA,QACAigB,WAAA,CAAAvoB,EAAA+lB,MAAA,SACAyC,WAAA,CAAAxoB,EAAAkmB,OAAA,GACAuC,WAAA,CAAAzoB,EAAAkmB,OAAA,KAEAvzB,KAAA8a,SAAA,CACAi0D,eAAA,CAAA1hE,EAAAqK,aAAA,UACA4mD,YAAA,CAAAjxD,EAAA8J,WAAA,OACAizE,MAAA,CAAA/8E,EAAA6M,QAGAlb,OAAAiU,eAAA66H,EAAAltI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAyhI,iBAAA,YAAAzhI,KAAAkzG,aAEA7/F,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA66H,EAAAltI,UAAA,sBAAA,CACAsS,IAAA,WACA,OAAApV,EAAAqV,OAAAnT,KAAAoqF,QAEA/2E,YAAA,EACAC,cAAA,IAEAw6H,EAAAltI,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAoqF,MAAA,CACA/6E,MAAA,IAAA+5D,EAAAC,KAAA,CACAuF,WAAA,EACA16B,UAAA,QACAoqB,YAAAt+D,KAAAs+D,YACAyQ,eAAA/uE,KAAA+uE,eACAn5C,WAAA51B,KAAA41B,WACAC,WAAA71B,KAAA61B,WACAC,WAAA91B,KAAA81B,aAEAtmB,OAAA,IAAA45D,EAAAC,KAAA,CACAuF,WAAA,EACA16B,UAAA,SACAoqB,YAAAt+D,KAAAs+D,YACAyQ,eAAA/uE,KAAA+uE,eACAn5C,WAAA51B,KAAA41B,WACAC,WAAA71B,KAAA61B,WACAC,WAAA91B,KAAA81B,eAIAg4G,EA5DA,CA6DAK,EAAAC,aACAxwI,EAAAkwI,cAAAA,EACAA,EAAA/zH,aChGA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACA2P,EAAA3P,EAAA,IACAI,EAAAJ,EAAA,IACA8a,EAAA9a,EAAA,IACAswI,EAAA,SAAA1mI,GAEA,SAAA0mI,EAAAziI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAyBA,OA3BA6G,EAAAY,UAAAumI,EAAA1mI,GAIA0mI,EAAAj0H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBACAvZ,KAAAia,OAAA,CACA0gB,KAAA,CAAAttB,EAAA6M,IAAA,IACAxV,KAAA,CAAA2I,EAAAsmB,OAAA,OAGA30B,OAAAiU,eAAA+6H,EAAAptI,UAAA,SAAA,CACAsS,IAAA,WACA,OAAApV,EAAAqV,OAAAnT,KAAA26B,OAEAtnB,YAAA,EACAC,cAAA,IAEA06H,EAAAptI,UAAAouI,WAAA,SAAAC,EAAAC,EAAAC,EAAAn7H,GAGA,OAAA,IAAA+kE,SAAAhnD,KAAAxqB,MAAAwxE,SAAA,MAAA,GAAAppE,OAAA7R,EAAAmB,KAAAe,KAAA26B,MAAA,CAAAs0G,EAAAC,EAAAC,EAAA,UAAA,UAAA32H,EAAA+gC,WAAAvlC,QAEAg6H,EAAAptI,UAAAmiD,OAAA,SAAAl3C,EAAAk3C,EAAAS,GACA,IAAAa,EAAArkD,KAAAgvI,WAAA,QAAA,SAAA,eAAAhvI,KAAA0E,MACA,OAAA2/C,EAAA98C,WAAA,EAAAvH,KAAAmT,OAAAxD,OAAA,CAAA9D,EAAAk3C,EAAAS,EAAA9lD,EAAAE,MAEAowI,EA5BA,CA6BAziF,EAAAI,OACA/tD,EAAAowI,cAAAA,EACAA,EAAAj0H,aCrCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAywI,EAAAzwI,EAAA,KACAksE,EAAAlsE,EAAA,IACAq6B,EAAAr6B,EAAA,KACAs6B,EAAAt6B,EAAA,KACA+vH,EAAA/vH,EAAA,KACA+kF,EAAA/kF,EAAA,GACA27E,EAAA37E,EAAA,IACA6sB,EAAA7sB,EAAA,GACA2P,EAAA3P,EAAA,IACA40B,EAAA50B,EAAA,IACAI,EAAAJ,EAAA,IACA0N,EAAA1N,EAAA,IACA2xE,EAAA3xE,EAAA,GACA,SAAA0xI,EAAAn/H,EAAA9H,EAAAI,EAAAC,EAAAomF,EAAAC,GACA,IAEAwgD,EACA13C,EAHA23C,EAAA,CAAA7mI,EAAAmmF,EAAA3+E,GAAAvH,EAAAmmF,EAAA5+E,IACAs/H,EAAA,CAAA9mI,EAAAmmF,EAAA3+E,EAAA,GAAAvH,EAAAmmF,EAAA5+E,EAAA,IAGA,GAAA,QAAA9H,EAAAoR,KACA,KAAApR,EAAA22B,WACAuwG,EAAA//H,KAAAsd,IAAA0iH,EAAA7mI,EAAAF,GACAovF,EAAAroF,KAAAsd,IAAA2iH,EAAA9mI,EAAAF,KAGA8mI,EAAA//H,KAAAsd,IAAA0iH,EAAA5mI,EAAAF,GACAmvF,EAAAroF,KAAAsd,IAAA2iH,EAAA7mI,EAAAF,QAGA,CACA,IAAAqwC,EAAA,CAAApwC,EAAAF,EAAAG,EAAAF,GACA6mI,EAAA5sD,EAAApiE,WAAAivH,EAAAz2F,GACA8+C,EAAAlV,EAAApiE,WAAAkvH,EAAA12F,GAEA,OAAAw2F,EAAA13C,EACA,CAAA,CAAA23C,EAAA7mI,EAAA6mI,EAAA5mI,GAAAuH,GAEA,CAAA,CAAAs/H,EAAA9mI,EAAA8mI,EAAA7mI,GAAAuH,EAAA,GAGA,SAAAu/H,EAAAn7F,EAAAC,EAAAqhC,GACA,MAAA,CAAA,CAAAthC,EAAAshC,GAAArhC,EAAAqhC,IAAAA,GAFA/3E,EAAAwxI,kBAAAA,EAIAxxI,EAAA4xI,UAAAA,EACA,IAAAC,EAAA,SAAAnoI,GAEA,SAAAmoI,IACA,OAAA,OAAAnoI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA4UA,OA9UA6G,EAAAY,UAAAgoI,EAAAnoI,GAIAmoI,EAAA7uI,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA0vI,QAAA,IAEAD,EAAA7uI,UAAA0J,OAAA,WACA+kE,EAAAlkE,aAAAnL,KAAA0vI,SACApoI,EAAA1G,UAAA0J,OAAAzC,KAAA7H,OAEAyvI,EAAA7uI,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACA,IAAA,IAAAoK,EAAA,EAAAM,EAAA1K,KAAA23G,mBAAAvtG,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACAyb,aAAAkS,EAAAi5E,cACAhxG,KAAAa,QAAAglB,EAAA89B,YAAA5qB,QAAA/4B,KAAA27H,SACA91G,aAAAmS,EAAA+pF,gBACA/hH,KAAAa,QAAAglB,EAAA20E,cAAA72C,YAAA5qB,QAAA/4B,KAAA27H,SACA37H,KAAAa,QAAAglB,EAAAw1E,cAAA13C,YAAA5qB,QAAA/4B,KAAA27H,UAIA37H,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAA0zD,UAAA7zD,OAAA,WAAA,OAAAjY,EAAA6uI,oBAAA7uI,EAAA8uI,UAAA,OACA5vI,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAiC,MAAApC,OAAA,WAAA,OAAAjY,EAAA6uI,oBAAA7uI,EAAA8uI,UAAA,OACA5vI,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAA22H,SAAA92H,OAAA,WAAA,OAAAjY,EAAA8uI,UAAA,QAEAH,EAAA7uI,UAAAkvI,kBAAA,WACA,IAAAC,EAAA,GACAF,EAAA7vI,KAAA5B,MAAAyxI,SACA,GAAA,MAAAA,EACA,IAAA,IAAAzlI,EAAA,EAAAM,EAAA1K,KAAA23G,mBAAAvtG,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACA,GAAAyb,aAAAkS,EAAAi5E,cAAA,CACA,IAAA+wB,EAAA,IAAAn4D,EAAAC,QAAA,CACA5f,OAAA7+C,EAAAW,SAAA8jI,IAAAzkI,EAAAiP,WAAAw1H,GACA7/D,WAAAhwE,KAAA5B,MAAA4xE,WACAW,WAAA3wE,KAAA5B,MAAAuyE,aAEAo/D,EAAAlqH,EAAAjmB,IAAAmiI,OAEA,GAAAl8G,aAAAmS,EAAA+pF,cAAA,CACA,IAAAggB,EAAA,IAAAn4D,EAAAC,QAAA,CACA5f,OAAA7+C,EAAAW,SAAA8jI,IAAAzkI,EAAAiP,WAAAw1H,GACA7/D,WAAAhwE,KAAA5B,MAAA4xE,WACAW,WAAA3wE,KAAA5B,MAAAuyE,aAEAo/D,EAAAlqH,EAAA20E,cAAA56F,IAAAmiI,EACAgO,EAAAlqH,EAAAw1E,cAAAz7F,IAAAmiI,GAKA,OADA1yD,EAAAxlE,YAAA7J,KAAA0vI,QAAA5xI,EAAAqV,OAAA48H,GAAA,CAAAn/H,OAAA5Q,KAAAu8B,YACAwzG,GAEA/wI,OAAAiU,eAAAw8H,EAAA7uI,UAAA,qBAAA,CACAsS,IAAA,WACA,GAAA,MAAAlT,KAAA2vI,oBAAA,CACA,IAAA/iE,EAAA5sE,KAAA5B,MAAAwuE,UACAu+D,EAAAnrI,KAAA+5D,WAAA6S,UACAzxD,EAAAnb,KAAA5B,MAAA+c,MACAnb,KAAA2vI,oBAAAliB,EAAA2d,kBAAAx+D,EAAAu+D,EAAAhwH,GAEA,OAAAnb,KAAA2vI,qBAEAt8H,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAw8H,EAAA7uI,UAAA,WAAA,CACAsS,IAAA,WAGA,OAFA,MAAAlT,KAAA4vI,YACA5vI,KAAA4vI,UAAA5vI,KAAA8vI,qBACA9vI,KAAA4vI,WAEAv8H,YAAA,EACAC,cAAA,IAEAm8H,EAAA7uI,UAAAovI,OAAA,WAEA,IAAA,IAAAC,KADAjwI,KAAAkwI,SAAAj8H,EAAAA,EAAAA,EAAAA,GACAjU,KAAA+vI,SAAA,CACA,IAAAI,EAAAnwI,KAAA+vI,SAAAE,GACAE,EAAAv8H,UAGA67H,EAAA7uI,UAAAy/B,MAAA,SAAAgC,GACA,GAAAriC,KAAA5B,MAAAqjC,OAAA,CAEA,IAAAl5B,EAAA85B,EAAA95B,GAAAC,EAAA65B,EAAA75B,GACAxI,KAAAu8B,UAAA0E,MAAAlc,KAAAvR,SAAAjL,EAAAC,GAGAxI,KAAAkwI,SAAA3nI,EAAAC,GAFAxI,KAAAgwI,WAIAP,EAAA7uI,UAAA0/B,WAAA,WACAtgC,KAAAgwI,UAEAP,EAAA7uI,UAAAsvI,SAAA,SAAA3nI,EAAAC,GACA,IAAAL,EACA,GAAA,SAAAnI,KAAA5B,MAAA45F,KACA7vF,EAAA,CAAAoR,KAAA,QAAAhR,GAAAA,EAAAC,GAAAA,OACA,CACA,IAAAs2B,EAAA,SAAA9+B,KAAA5B,MAAA45F,KAAA,IAAA,IACA7vF,EAAA,CAAAoR,KAAA,OAAAulB,UAAAA,EAAAv2B,GAAAA,EAAAC,GAAAA,GAEA,IAAA,IAAA4B,EAAA,EAAAM,EAAA1K,KAAA23G,mBAAAvtG,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACAs6H,EAAA7+G,EAAA80E,wBACA+pC,EAAA3rG,QAAA/4B,KAAAu8B,UAAApE,eAAAtS,EAAAjmB,IAAAuI,GAEA,MAAAnI,KAAA5B,MAAAgnD,UACAplD,KAAA2+G,eAAAx2G,IAEAsnI,EAAA7uI,UAAA+6H,QAAA,SAAAjxH,GACA,IAAAO,EAAA4B,EAAAE,EAAAmhD,EAAAC,EAAAC,EAAAye,EAAA2oC,EAAAC,EAAAqb,EAAAC,EAAAC,EAAAC,EAAAxkC,EAAAE,EAAAyjD,EACAp3G,EAAAtuB,EAAA,GAAAvC,EAAAuC,EAAA,GAAAvC,SACA,GAAAnI,KAAA5B,MAAAqjC,SAEAzI,aAAAjB,EAAAQ,mBAAAS,aAAAhB,EAAAQ,mBAAA,CAEA,IAAAsqD,EAAA9pD,EAAA56B,MACA2jI,EAAA/hI,KAAA+vI,SAAAjtD,EAAAljF,IACA,GAAA,MAAAmiI,EAAA,CAEAA,EAAAnuH,QACA,IAAA2nF,EAAAzY,EAAA6X,wBACAv4E,EAAAm5E,EAAArjE,WAAA4qD,EAAAljF,IAGA,GAFAkjF,aAAA/qD,EAAAi5E,gBACA5uF,EAAA0gE,EAAA/3E,KAAAi7G,4BAAA5jG,KACAA,EAAA6W,WAAA,CAUA,IARA,IAAA67D,EAAAyG,EAAA77E,OACAuhB,EAAAjhC,KAAAu8B,UAAA0E,MACA14B,EAAAJ,EAAAI,GAAAC,EAAAL,EAAAK,GACA85B,EAAArB,EAAAsB,QAAAugD,EAAAznB,cACA54B,EAAAxB,EAAAyB,QAAAogD,EAAAvnB,cACA9yD,EAAA65B,EAAAK,OAAAp6B,GACAG,EAAA+5B,EAAAE,OAAAn6B,GACAyxF,EAAAjhE,EAAAihE,MACA7vF,EAAA,EAAAimI,EAAAjuH,EAAAs3D,aAAAtvE,EAAAimI,EAAAnvI,OAAAkJ,IAAA,CACA,IAAA6F,EAAAogI,EAAAjmI,GACAkmI,EAAAr2C,EAAA5xC,GAAAp4C,EAAA,GACAsgI,EAAAt2C,EAAAhgC,GAAAhqD,EAAA,GACAi3D,EAAAj3D,EACAw8B,OAAA,EACAC,OAAA,EACA,OAAA1sC,KAAA5B,MAAAoyI,aACA,IAAA,SACAvlI,EAAAgvF,EAAA7G,sBAAAnjF,EAAA9H,GAAAmoI,EAAArlI,EAAA,GAAAslI,EAAAtlI,EAAA,GACAwhC,EAAAnK,EAAA7U,QAAA6iH,GACA5jG,EAAAjK,EAAAhV,QAAA8iH,GACA,MAEA,IAAA,OACA1jI,EAAA2iI,EAAAv1C,EAAA1xF,GAAA0xF,EAAAzxF,GAAAyH,GAAAlD,EAAAF,EAAA,GAAA4/B,EAAA1/B,EAAA,GAAA2/B,EAAA3/B,EAAA,GAAAm6D,EAAAr6D,EAAA,GACA,MAEA,IAAA,OACAqhD,EAAAshF,EAAAv1C,EAAA1xF,GAAA0xF,EAAAzxF,GAAAyH,EAAA,GAAAk+C,EAAAD,EAAA,GAAAzhB,EAAA0hB,EAAA,GAAAzhB,EAAAyhB,EAAA,GAAA+Y,EAAAhZ,EAAA,GACA,MAEA,IAAA,UACAE,EAAAghF,EAAAn/H,EAAA9H,EAAAI,EAAAC,EAAAyxF,EAAA1xF,GAAA0xF,EAAAzxF,IAAAqkE,EAAAze,EAAA,GAAA3hB,EAAAogC,EAAA,GAAAngC,EAAAmgC,EAAA,GAAA3F,EAAA9Y,EAAA,GACAkiF,EAAAr2C,EAAA5xC,GAAA6e,GACAqpE,EAAAt2C,EAAAhgC,GAAAiN,GACA,MAEA,QACAz6B,GAAA+oE,EAAA,CAAAjtG,EAAAC,IAAA,GAAAkkC,EAAA8oE,EAAA,GAGA,IAAAi7B,EAAA,CACA1wG,MAAAmnC,EACAz+D,EAAAA,EAAAC,EAAAA,EAAAH,GAAAA,EAAAC,GAAAA,EAAA8nI,OAAAA,EAAAC,OAAAA,EAAA9jG,GAAAA,EAAAC,GAAAA,EACAtqB,QAAAA,EAAAs3D,aACAv7E,KAAA66B,EAAA56B,MAAAD,MAEA4jI,EAAAn2H,IAAA6gC,EAAAC,EAAA1sC,KAAA0wI,iBAAA57C,EAAA5tB,EAAAupE,IAEA,IAAA,IAAAE,EAAA,EAAAC,EAAAxuH,EAAA0sE,cAAA6hD,EAAAC,EAAA1vI,OAAAyvI,IAAA,CACA,IAAAE,EAAAD,EAAAD,GACAF,EAAA,CAAA1wG,MAAA8wG,EAAA9wG,MAAAt3B,EAAAA,EAAAC,EAAAA,EAAAH,GAAAA,EAAAC,GAAAA,GACAsoI,EAAA9wI,KAAA0wI,iBAAA57C,EAAA+7C,EAAAJ,GACA1O,EAAAn2H,IAAArD,EAAAC,EAAAsoI,GAEA,IAAA,IAAAnhD,EAAA,EAAAohD,EAAA3uH,EAAAA,QAAAutE,EAAAohD,EAAA7vI,OAAAyuF,IAAA,CACA,IAAA1/E,EAAA8gI,EAAAphD,GAEA,GAAA7xF,EAAA4e,QAAA0F,EAAAqxE,mBA8CA,CAEA,IAAA68C,EAAA,MAAAr2C,EAAA5xC,GAAA4xC,EAAA5xC,GAAAp4C,QAAA2I,EACA23H,EAAA,MAAAt2C,EAAAhgC,GAAAggC,EAAAhgC,GAAAhqD,QAAA2I,EACA6zB,OAAA,EACAC,OAAA,EACA,GAAA,gBAAA1sC,KAAA5B,MAAA4yI,aAAA,CAGA,IAAAn7D,EAAAokB,EAAA/P,iBAAAlqF,KAAA5B,MAAAwmB,OAAA3U,EAAA,CAAA1H,EAAAC,IACA,MAAAqtE,IACAA,EAAAokB,EAAA/P,iBAAA,SAAAj6E,EAAA,CAAA1H,EAAAC,KACAikC,EAAAopC,EAAAptE,EACAikC,EAAAmpC,EAAAntE,OAGA+jC,GAAA2jG,EAAA,CAAA7nI,EAAAC,IAAA,GAAAkkC,EAAA0jG,EAAA,GACA,IAAArwG,OAAA,EAKA0wG,EAAA,CACA1wG,MAJAA,EADA+iD,aAAA/qD,EAAAi5E,cACAluB,EAAA/3E,KAAA41G,4BAAA,CAAA1wG,IAAA,GAEAA,EAEAxH,EAAAA,EAAAC,EAAAA,EAAAH,GAAAA,EAAAC,GAAAA,EAAA8nI,OAAAA,EAAAC,OAAAA,EACAnuH,QAAAA,EAAAA,QACAjkB,KAAA66B,EAAA56B,MAAAD,MAEA4jI,EAAAn2H,IAAA6gC,EAAAC,EAAA1sC,KAAA0wI,iBAAA57C,EAAA/0D,EAAA0wG,SAxEA,IAAA,IAAAQ,GAAA,EAAAC,GAAA9uH,EAAAqxE,kBAAAxjF,EAAA1L,YAAA0sI,GAAAC,GAAAhwI,OAAA+vI,KAAA,CACA,IAAA1rG,GAAA2rG,GAAAD,IACAX,EAAAr2C,EAAA//B,IAAAjqD,GAAAs1B,IACAgrG,EAAAt2C,EAAA9/B,IAAAlqD,GAAAs1B,IACA4rG,GAAA5rG,GACAkH,OAAA,EACAC,OAAA,EACA,OAAA1sC,KAAA5B,MAAAoyI,aACA,IAAA,SACA/6B,EAAAxb,EAAA7G,sBAAAnjF,EAAAs1B,GAAAp9B,GAAAmoI,EAAA76B,EAAA,GAAA86B,EAAA96B,EAAA,GACAhpE,EAAAnK,EAAA7U,QAAA6iH,GACA5jG,EAAAjK,EAAAhV,QAAA8iH,GACA,MAEA,IAAA,OACAzf,EAAA0e,EAAAv1C,EAAA9nB,IAAAliE,GAAAgqF,EAAA7nB,IAAAniE,GAAAs1B,IAAAwrF,EAAAD,EAAA,GAAArkF,EAAAskF,EAAA,GAAArkF,EAAAqkF,EAAA,GAAAogB,GAAArgB,EAAA,GACA,MAEA,IAAA,OACAE,EAAAwe,EAAAv1C,EAAA9nB,IAAAliE,GAAAgqF,EAAA7nB,IAAAniE,GAAAs1B,GAAA,GAAA0rF,EAAAD,EAAA,GAAAvkF,EAAAwkF,EAAA,GAAAvkF,EAAAukF,EAAA,GAAAkgB,GAAAngB,EAAA,GACA,MAEA,IAAA,UACAvkC,EAAA2iD,EAAA7pG,GAAAp9B,EAAAI,EAAAC,EAAAyxF,EAAA9nB,IAAAliE,GAAAgqF,EAAA7nB,IAAAniE,IAAA08E,EAAAF,EAAA,GAAAhgD,EAAAkgD,EAAA,GAAAjgD,EAAAigD,EAAA,GAAAwkD,GAAA1kD,EAAA,GACA6jD,EAAAr2C,EAAA//B,IAAAjqD,GAAAkhI,IACAZ,EAAAt2C,EAAA9/B,IAAAlqD,GAAAkhI,IACA,MAEA,QACA,MAAA,IAAA9yI,MAAA,0BAEA,IAAA0hC,OAAA,EAKA0wG,EAAA,CACA1wG,MAJAA,EADA+iD,aAAA/qD,EAAAi5E,cACAluB,EAAA/3E,KAAA41G,4BAAA,CAAA1wG,IAAA,GAEAA,EAEAxH,EAAAA,EAAAC,EAAAA,EAAAH,GAAAA,EAAAC,GAAAA,EAAA8nI,OAAAA,EAAAC,OAAAA,EACAa,cAAAD,GACA/uH,QAAAA,EAAAqxE,kBACAt1F,KAAA66B,EAAA56B,MAAAD,MAEA4jI,EAAAn2H,IAAA6gC,EAAAC,EAAA1sC,KAAA0wI,iBAAA57C,EAAA/0D,EAAA0wG,UAkCAhB,EAAA7uI,UAAA+9G,eAAA,SAAAx2G,GACA,IAAA,IAAAiC,EAAA,EAAAM,EAAA1K,KAAA23G,mBAAAvtG,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAyb,EAAAnb,EAAAN,GACA21B,EAAAla,EAAA89B,YAAAvqB,UACA6H,EAAAjhC,KAAAu8B,UAAA0E,MACAqB,EAAArB,EAAAsB,QAAA1c,EAAAw1C,cACA54B,EAAAxB,EAAAyB,QAAA7c,EAAA01C,cACA9yD,EAAA65B,EAAAK,OAAAx6B,EAAAI,IACAG,EAAA+5B,EAAAE,OAAAx6B,EAAAK,IACAomC,EAAA/nC,EAAAiB,SAAA,CAAAW,EAAAA,EAAAC,EAAAA,GAAAP,GACAnI,KAAA5B,MAAAgnD,SAAA2T,QAAA/4D,KAAA5B,MAAA,CAAA2hC,MAAAA,EAAA53B,SAAAymC,EAAAk0C,SAAAj9D,MAGA4pH,EAAA7uI,UAAA8vI,iBAAA,SAAA57C,EAAA7kF,EAAAwgI,GACA,IAAAZ,EAAA7vI,KAAA5B,MAAAyxI,SACA,GAAAzkI,EAAAW,SAAA8jI,GAAA,CACA,IAAA1iI,EAAAod,EAAA3a,MAEA,OADAzC,EAAAgtG,UAAA9gC,EAAAn1B,qBAAA2rF,EAAA/6C,EAAA7kF,EAAAjQ,KAAA5B,MAAAilD,WAAAotF,GACAtjI,EAEA,GAAA/B,EAAAiP,WAAAw1H,GACA,OAAAA,EAAA/6C,EAAA27C,GAIA,IADA,IAAAlqH,EAAAgE,EAAA3a,IAAA,CAAAxD,MAAA,CAAAsF,QAAA,QAAA2/H,cAAA,SACAjnI,EAAA,EAAAknI,EAAAzB,EAAAzlI,EAAAknI,EAAApwI,OAAAkJ,IAAA,CACA,IAAAM,EAAA4mI,EAAAlnI,GAAAgG,EAAA1F,EAAA,GAAAmB,EAAAnB,EAAA,GACAwb,EAAAqE,EAAA3a,IAAA,CAAAxD,MAAA,CAAAsF,QAAA,eACA6U,EAAA5Z,YAAAuZ,GACA,IAAAqrH,OAAA,EAKA,GAJAA,EAAAhnH,EAAA3a,IAAA,CAAAxD,MAAA,CAAAsF,QAAA,cAAAyD,MAAA,wBAAA,GAAA/E,EAAAlP,OAAAkP,EAAA,KAAA,IACA8V,EAAAvZ,YAAA4kI,GACAA,EAAAhnH,EAAA3a,IAAA,CAAAxD,MAAA,CAAAsF,QAAA,cAAAyD,MAAA,yBACA+Q,EAAAvZ,YAAA4kI,GACA1lI,EAAA84B,QAAA,WAAA,EAAA,CACA,IAAA15B,EAAAY,EAAAojC,MAAA,0BAAApiC,EAAA5B,EAAA,GAAA82E,OAAA,IAAAl1E,EAAA,GAAAA,EAAAs6G,EAAAl8G,EAAA,GACA24C,EAAAkxC,EAAAzgE,WAAA8yF,GACA,GAAA,MAAAvjE,EAAA,CACA,IAAA4tF,EAAAjnH,EAAA1a,KAAA,GAAAs3G,EAAA,YACAoqB,EAAA5kI,YAAA6kI,GACA,SAEA,IAAAtjG,EAAA6zC,EAAAp9C,QAAA,QAAA,EACA8sG,EAAA1vD,EAAAp9C,QAAA,WAAA,EACAkJ,EAAAziC,EAAAqc,SAAAxX,GAAA2zC,EAAA3zC,GAAA,KACA,GAAA,MAAA49B,EAAA,CACA,IAAA6jG,EAAAnnH,EAAA1a,KAAA,GAAA,UACA0hI,EAAA5kI,YAAA+kI,GACA,SAEAxjG,IACAL,EAAAvb,EAAAsb,UAAAC,IACA,IAAA1gC,EAAAod,EAAA1a,KAAA,GAAAg+B,GACA0jG,EAAA5kI,YAAAQ,GACAskI,IACAtkI,EAAAod,EAAA1a,KAAA,CAAAsF,MAAA,yBAAA/I,MAAA,CAAAszD,gBAAA7xB,IAAA,KACA0jG,EAAA5kI,YAAAQ,QAGA,CACA,IAAAA,EAAAod,EAAA1a,OACA1C,EAAAgtG,UAAA9gC,EAAAn1B,qBAAAr4C,EAAAoiC,QAAA,KAAA,UAAA6mD,EAAA7kF,EAAAjQ,KAAA5B,MAAAilD,WAAAotF,GACAc,EAAA5kI,YAAAQ,IAGA,OAAAoZ,GAGAkpH,EA/UA,CAgVAtB,EAAAY,iBACAnxI,EAAA6xI,cAAAA,EACA,IAAAvB,EAAA,SAAA5mI,GAEA,SAAA4mI,EAAA3iI,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAGA,OAFAc,EAAAu/H,UAAA,QACAv/H,EAAAy/H,KAAA,qBACAz/H,EAuBA,OA5BA+F,EAAAY,UAAAymI,EAAA5mI,GAOA4mI,EAAAn0H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAY,UAAAoJ,aAAAylI,EACAzvI,KAAAia,OAAA,CACA41H,SAAA,CAAAxiI,EAAA6M,IAAA,CACA,CAAA,QAAA,UACA,CAAA,cAAA,YACA,CAAA,gBAAA,gBAEAmpC,WAAA,CAAAh2C,EAAA6M,IAAA,IACA0yD,UAAA,CAAAv/D,EAAA6M,IAAA,QACAiB,MAAA,CAAA9N,EAAAoC,MAAA,IACAuoF,KAAA,CAAA3qF,EAAA6I,UAAA,SACA86H,aAAA,CAAA3jI,EAAA2J,YAAA,gBACAw5H,YAAA,CAAAnjI,EAAAmJ,WAAA,WACAm6D,WAAA,CAAAtjE,EAAA8lB,SAAA,GACAvO,OAAA,CAAAvX,EAAAiI,OAAA,UACA06D,WAAA,CAAA3iE,EAAA6K,kBAAA,cACAktC,SAAA,CAAA/3C,EAAA6M,QAGAg0H,EA7BA,CA8BAC,EAAAC,aACAxwI,EAAAswI,UAAAA,EACAA,EAAAn0H,aC/ZA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6hI,EAAA7hI,EAAA,KACA2qI,EAAA3qI,EAAA,KACA2P,EAAA3P,EAAA,IACAqxI,EAAA,SAAAznI,GAEA,SAAAynI,IACA,OAAA,OAAAznI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAEA,OAJA6G,EAAAY,UAAAsnI,EAAAznI,GAIAynI,EALA,CAMAxP,EAAAM,gBACAjiI,EAAAmxI,gBAAAA,EACA,IAAAX,EAAA,SAAA9mI,GAEA,SAAA8mI,EAAA7iI,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAEA,OADAc,EAAA++B,WAAA,OACA/+B,EAYA,OAhBA+F,EAAAY,UAAA2mI,EAAA9mI,GAMA8mI,EAAAr0H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAY,UAAAm/H,YAAAsI,EAAAC,gBACAtoI,KAAAia,OAAA,CACA03H,WAAA,CAAAtkI,EAAA8lB,SAAA,KAEAnzB,KAAAob,SAAA,CACAqmB,QAAA,KAGA2sG,EAjBA,CAkBA7O,EAAAS,YACApiI,EAAAwwI,YAAAA,EACAA,EAAAr0H,aCjCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6hI,EAAA7hI,EAAA,KACA4qI,EAAA,SAAAhhI,GAEA,SAAAghI,IACA,OAAA,OAAAhhI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KAaA,OAfA6G,EAAAY,UAAA6gI,EAAAhhI,GAIAghI,EAAA1nI,UAAAkU,OAAA,WACAxN,EAAA1G,UAAAkU,OAAAjN,KAAA7H,MACAA,KAAA5B,MAAAqjC,OACAzhC,KAAAmN,GAAAxB,UAAAC,IAAA,aAEA5L,KAAAmN,GAAAxB,UAAArB,OAAA,cAEAg+H,EAAA1nI,UAAA6+H,SAAA,WACA,IAAAh+F,EAAAzhC,KAAA5B,MAAAqjC,OACAzhC,KAAA5B,MAAAqjC,QAAAA,GAEA6mG,EAhBA,CAiBA/I,EAAAI,sBACA/hI,EAAA0qI,gBAAAA,GCrBA,SAAA5qI,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2P,EAAA3P,EAAA,IACA2W,EAAA3W,EAAA,IACAkM,EAAAlM,EAAA,IACA6tD,EAAA7tD,EAAA,IACAskI,EAAA,SAAA16H,GAEA,SAAA06H,IACA,OAAA,OAAA16H,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA8BA,OAhCA6G,EAAAY,UAAAu6H,EAAA16H,GAIAtI,OAAAiU,eAAA+uH,EAAAphI,UAAA,YAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA4Q,QAEAyC,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAA+uH,EAAAphI,UAAA,aAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA4Q,OAAAxS,OAEAiV,YAAA,EACAC,cAAA,IAEA0uH,EAAAphI,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAAuoB,OAAA1oB,OAAA,WACAjY,EAAA1C,MAAAqjC,OACA3gC,EAAAgT,WAEAhT,EAAAklI,gBAIAhE,EAAAphI,UAAAkT,SAAA,aAEAkuH,EAAAphI,UAAAolI,WAAA,aACAhE,EAjCA,CAkCA3tH,EAAAe,MACAxX,EAAAokI,SAAAA,EACA,IAAAC,EAAA,SAAA36H,GAEA,SAAA26H,EAAA12H,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA+CA,OAjDA6G,EAAAY,UAAAw6H,EAAA36H,GAIA26H,EAAAloH,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,OACAvZ,KAAA8a,SAAA,CACA2mB,OAAA,CAAAp0B,EAAA8lB,SAAA,MAGAn0B,OAAAiU,eAAAgvH,EAAArhI,UAAA,sBAAA,CACAsS,IAAA,WACA,MAAA,IAEAG,YAAA,EACAC,cAAA,IAIA2uH,EAAArhI,UAAA6gI,iBAAA,SAAAtjI,EAAAmjI,GACA,OAAAA,GACA,IAAA,QAAA,OAAAnjI,EAAA,YACA,IAAA,SAAA,OAAAA,EAAA,YACA,IAAA,OAAA,OAAAA,IAKA8jI,EAAArhI,UAAA4iI,gBAAA,SAAA94H,EAAAO,EAAAg2B,EAAAqgG,GACA,IAGAmC,EAHAx8E,EAAAv8C,EAAA,GAAA28C,EAAA38C,EAAA,GACAw8C,EAAAj8C,EAAA,GAAAq8C,EAAAr8C,EAAA,GACA03D,EAAA1hC,EAAAlc,KAAA4jB,QAEA,SAAA24F,GAAA,QAAAA,GACAmC,EAAA,CAAA75H,EAAAshB,IAAA,CAAA+7B,EAAAC,IAAAt9C,EAAAgJ,IAAA,CAAAq0C,EAAAC,KACAu8E,EAAA,CAAA75H,EAAAgJ,IAAA,CAAA6wH,EAAA,GAAA9gE,EAAA54C,QAAAngB,EAAAshB,IAAA,CAAAu4G,EAAA,GAAA9gE,EAAA34C,QAGAy5G,EAAA,CAAA9gE,EAAA54C,MAAA44C,EAAA34C,KACA,IACA05G,EADA9gE,EAAA3hC,EAAAlc,KAAA6jB,QAQA,MANA,UAAA04F,GAAA,QAAAA,GACAoC,EAAA,CAAA95H,EAAAshB,IAAA,CAAAm8B,EAAAC,IAAA19C,EAAAgJ,IAAA,CAAAy0C,EAAAC,KACAo8E,EAAA,CAAA95H,EAAAgJ,IAAA,CAAA8wH,EAAA,GAAA9gE,EAAA74C,QAAAngB,EAAAshB,IAAA,CAAAw4G,EAAA,GAAA9gE,EAAA54C,QAGA05G,EAAA,CAAA9gE,EAAA74C,MAAA64C,EAAA54C,KACA,CAAAy5G,EAAAC,IAEAzB,EAlDA,CAmDA12E,EAAAI,OACA/tD,EAAAqkI,KAAAA,EACAA,EAAAloH,aC/FA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2P,EAAA3P,EAAA,IACA2a,EAAA3a,EAAA,IACA6tD,EAAA7tD,EAAA,IACAywI,EAAAzwI,EAAA,KACA4wI,EAAA,SAAAhnI,GAEA,SAAAgnI,EAAA/iI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAmFA,OArFA6G,EAAAY,UAAA6mI,EAAAhnI,GAIAgnI,EAAAv0H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,YACAvZ,KAAAia,OAAA,CACA41D,MAAA,CAAAxiE,EAAAoC,MAAA,IACAgyB,OAAA,CAAAp0B,EAAA8lB,SAAA,GACAmuE,SAAA,CAAAj0F,EAAA8lB,SAAA,MAGAn0B,OAAAiU,eAAAq7H,EAAA1tI,UAAA,cAAA,CAEAsS,IAAA,WACA,OAAAlT,KAAA6vE,MAAA,GAAAkwD,aAEA1sH,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAq7H,EAAA1tI,UAAA,aAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA6vE,MAAA,GAAAhwC,YAEAxsB,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAq7H,EAAA1tI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA6vE,MAAA,GAAAkyD,SAEA1uH,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAq7H,EAAA1tI,UAAA,YAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA6vE,MAAA,GAAAwwD,WAEAhtH,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAq7H,EAAA1tI,UAAA,OAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA6vE,MAAA,GAAAgyD,eAEAxuH,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAq7H,EAAA1tI,UAAA,gBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAugI,MAEAltH,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAq7H,EAAA1tI,UAAA,aAAA,CACAsS,IAAA,WACA,IAAA0kG,EAAA53G,KAAA6vE,MAAA,GACA,OAAA+nC,aAAAu2B,EAAAC,aAAAx2B,EAAA+5B,YAEAt+H,YAAA,EACAC,cAAA,IAEAg7H,EAAA1tI,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA0/H,GAAA,IAAArnH,EAAAS,QAAA9Y,KAAA,OAEAsuI,EAAA1tI,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA0/H,GAAA,WAAA,OAAA5+H,EAAA4pD,SACA1qD,KAAAa,QAAAb,KAAAkZ,WAAAuoB,OAAA1oB,OAAA,WAAA,OAAAjY,EAAA8wI,gBAEAtD,EAAA1tI,UAAA8pD,KAAA,WACA,IAAA,IAAAtgD,EAAA,EAAAM,EAAA1K,KAAA6vE,MAAAzlE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAwtG,EAAAltG,EAAAN,GACAwtG,EAAA8nB,GAAAhkH,SAGA4yH,EAAA1tI,UAAAgxI,WAAA,WACA,IAAA,IAAAxnI,EAAA,EAAAM,EAAA1K,KAAA6vE,MAAAzlE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAwtG,EAAAltG,EAAAN,GACAwtG,EAAAn2E,OAAAzhC,KAAAyhC,SAGA6sG,EAtFA,CAuFA/iF,EAAAI,OACA/tD,EAAA0wI,UAAAA,EACAA,EAAAv0H,aC/FA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2P,EAAA3P,EAAA,IACAwB,EAAAxB,EAAA,IACA0N,EAAA1N,EAAA,IACAkM,EAAAlM,EAAA,IACAuiI,EAAAviI,EAAA,KACA8uI,EAAA9uI,EAAA,KACAsmI,EAAAtmI,EAAA,KACAywI,EAAAzwI,EAAA,KACA6wI,EAAA7wI,EAAA,KACAyxG,EAAA,SAAA7nG,GAEA,SAAA6nG,EAAA5jG,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAmIA,OArIA6G,EAAAY,UAAA0nG,EAAA7nG,GAIA6nG,EAAAp1F,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,UACAvZ,KAAAY,UAAAoJ,aAAAukI,EAAAsD,gBACA7xI,KAAAia,OAAA,CACA63H,YAAA,CAAAzkI,EAAA6M,IAAA,QACA63H,eAAA,CAAA1kI,EAAA6M,IAAA,QACA83H,cAAA,CAAA3kI,EAAA6M,IAAA,QACA+3H,WAAA,CAAA5kI,EAAA6M,IAAA,QACAg4H,aAAA,CAAA7kI,EAAA6M,IAAA,SAGAi1F,EAAAvuG,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAmyI,eAEAhjC,EAAAvuG,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAAkZ,WAAA22D,MAAA92D,OAAA,WAAA,OAAAjY,EAAAqxI,iBAEAhjC,EAAAvuG,UAAAuxI,YAAA,WA4CA,IA3CA,IAAArxI,EAAAd,KACAya,EAAA,SAAAm9F,GACA,GAAAA,aAAAu2B,EAAAC,YACAxkI,EAAAmd,KAAApM,EAAAud,WAAA,SAAAvX,GAAA,OAAAA,EAAA/gB,IAAAg4G,EAAAh4G,OACA+a,EAAAud,WAAAvd,EAAAud,WAAAvoB,OAAA,CAAAioG,UAGA,GAAAA,aAAA40B,EAAA9L,SACA92H,EAAAmd,KAAApM,EAAAy3H,KAAA,SAAAzxH,GAAA,OAAAA,EAAA/gB,IAAAg4G,EAAAh4G,OACA+a,EAAAy3H,KAAAz3H,EAAAy3H,KAAAziI,OAAA,CAAAioG,UAGA,GAAAA,aAAAqoB,EAAAH,WACAl2H,EAAAmd,KAAApM,EAAA03H,QAAA,SAAA1xH,GAAA,OAAAA,EAAA/gB,IAAAg4G,EAAAh4G,OACA+a,EAAA03H,QAAA13H,EAAA03H,QAAA1iI,OAAA,CAAAioG,UAGA,GAAAA,aAAAosB,EAAAc,YAAA,CACA,IAAAwN,OAAA,EACAC,OAAA,EACAnnI,EAAAW,SAAA6rG,EAAA/3E,aACAyyG,EAAA,CAAA16B,EAAA/3E,YACA0yG,GAAA,IAGAD,EAAA16B,EAAA/3E,YAAA,GACA0yG,GAAA,GAEA,IAAA,IAAAnoI,EAAA,EAAAooI,EAAAF,EAAAloI,EAAAooI,EAAAtxI,OAAAkJ,IAAA,CACA,IAAAw1B,EAAA4yG,EAAApoI,GACAw1B,KAAAjlB,EAAA0mB,UAIAkxG,IACA3yG,EAAA,SACAh2B,EAAAmd,KAAApM,EAAA0mB,SAAAzB,GAAAiwC,MAAA,SAAAlvD,GAAA,OAAAA,EAAA/gB,IAAAg4G,EAAAh4G,OACA+a,EAAA0mB,SAAAzB,GAAAiwC,MAAAl1D,EAAA0mB,SAAAzB,GAAAiwC,MAAAlgE,OAAA,CAAAioG,KACAj9F,EAAA9Z,QAAA+2G,EAAA1+F,WAAAuoB,OAAA1oB,OAAA4B,EAAA6tH,eAAAz2G,KAAApX,EAAAi9F,KAPA14G,EAAAwB,OAAA5B,KAAA,gCAAA8gC,EAAA,eAAAg4E,EAAAr+F,KAAA,KAAAq+F,EAAAh4G,GAAA,QAWA+a,EAAA3a,KACAoK,EAAA,EAAAM,EAAA1K,KAAA6vE,MAAAzlE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAwtG,EAAAltG,EAAAN,GACAqQ,EAAAm9F,GAEA,GAAA,QAAA53G,KAAA+xI,qBAGA,GAAA/xI,KAAA+xI,0BAAA5D,EAAAC,YACA,IAAA,IAAAnjI,EAAA,EAAA4B,EAAA7M,KAAAk4B,WAAAjtB,EAAA4B,EAAA3L,OAAA+J,IAAA,CACA,IAAA62B,EAAAj1B,EAAA5B,GACA62B,GAAA9hC,KAAA+xI,iBACAjwG,EAAAL,QAAA,QAGA,GAAAr2B,EAAAa,QAAAjM,KAAA+xI,gBACA,IAAA,IAAAhlI,EAAA,EAAAmhD,EAAAluD,KAAAk4B,WAAAnrB,EAAAmhD,EAAAhtD,OAAA6L,IAAA,CACA,IAAA+0B,EAAAosB,EAAAnhD,GACAnD,EAAAmqB,SAAA/zB,KAAA+xI,eAAAjwG,KACAA,EAAAL,QAAA,QAGA,GAAA,MAAAzhC,KAAA+xI,eACA,IAAA,IAAA5jF,EAAA,EAAAC,EAAApuD,KAAAk4B,WAAAi2B,EAAAC,EAAAltD,OAAAitD,IAAA,CACA,IAAArsB,EAAAssB,EAAAD,GACArsB,EAAAL,QAAA,EAGA,IAAAgxG,EAAA,SAAA76B,GACAA,EAAAn2E,OAEA3gC,EAAA0nI,eAAA5wB,GAGAA,EAAAn2E,QAAA,GAEA,IAAA,IAAA7B,KAAA5/B,KAAAqhC,SAAA,CACA,IAAAqxG,EAAA1yI,KAAAqhC,SAAAzB,GACA,GAAA,GAAA8yG,EAAA7iE,MAAA3uE,OAAA,CAGA,GADAwxI,EAAA7iE,MAAAjmE,EAAAyY,QAAAqwH,EAAA7iE,MAAA,SAAA+nC,GAAA,OAAAA,EAAAksB,gBACA,OAAAlkG,EAAA,CACA,GAAA,MAAA5/B,KAAAiyI,WACA,SACA,QAAAjyI,KAAAiyI,WACAQ,EAAAC,EAAA7iE,MAAA,IAEA4iE,EAAAzyI,KAAAiyI,YAEA,GAAA,OAAAryG,EAAA,CACA,GAAA,MAAA5/B,KAAA8xI,YACA,SACA,QAAA9xI,KAAA8xI,YACAW,EAAAC,EAAA7iE,MAAA,IAEA4iE,EAAAzyI,KAAA8xI,aAEA,GAAA,SAAAlyG,GAAA,UAAAA,EAAA,CACA,GAAA,MAAA5/B,KAAAgyI,eAAA,QAAAhyI,KAAAgyI,cACA,SACAS,EAAAzyI,KAAAgyI,eAEA,MAAAhyI,KAAAkyI,cACAO,EAAAzyI,KAAAkyI,iBAGA/iC,EAtIA,CAuIAo/B,EAAAC,aACA5wI,EAAAuxG,QAAAA,EACAA,EAAAp1F,aCpJA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAwB,EAAAxB,EAAA,IACA6sB,EAAA7sB,EAAA,GACA2xE,EAAA3xE,EAAA,GACA2P,EAAA3P,EAAA,IACAi8E,EAAAj8E,EAAA,GACA0N,EAAA1N,EAAA,IACA6tD,EAAA7tD,EAAA,IACAi1I,EAAA,SAAArrI,GAEA,SAAAqrI,EAAApnI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgBA,OAlBA6G,EAAAY,UAAAkrI,EAAArrI,GAIAqrI,EAAA54H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAia,OAAA,CACA24H,SAAA,CAAAvlI,EAAA6M,IAAA,MACA24H,SAAA,CAAAxlI,EAAA8lB,SAAA,MAGAn0B,OAAAiU,eAAA0/H,EAAA/xI,UAAA,UAAA,CACAsS,IAAA,WACA,OAAAlT,KAAA6yI,UAAA,MAAA7yI,KAAA4yI,UAAA5yI,KAAA4yI,UAEAv/H,YAAA,EACAC,cAAA,IAEAq/H,EAnBA,CAoBApnF,EAAAI,OACA/tD,EAAA+0I,iBAAAA,EACAA,EAAA54H,YACA,IAAA83H,EAAA,SAAAvqI,GAEA,SAAAuqI,IACA,OAAA,OAAAvqI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA6EA,OA/EA6G,EAAAY,UAAAoqI,EAAAvqI,GAIAuqI,EAAAjxI,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAA8yI,mBAAA,GACA9yI,KAAA+yI,2BACA/yI,KAAAgzI,oBAAA,IAAAL,EAAA,CAAAE,SAAA7yI,KAAA5B,MAAAy0I,YAEAhB,EAAAjxI,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAA22D,MAAA92D,OAAA,WAAA,OAAAjY,EAAAiyI,6BACA/yI,KAAAa,QAAAb,KAAA5B,MAAA8a,WAAA25H,SAAA95H,OAAA,WACAjY,EAAAkyI,oBAAAH,SAAA/xI,EAAA1C,MAAAy0I,SACA/xI,EAAAmyI,uBAEAjzI,KAAAa,QAAAb,KAAAgzI,oBAAA95H,WAAA05H,SAAA75H,OAAA,WAAA,OAAAjY,EAAAmyI,wBAEApB,EAAAjxI,UAAA0J,OAAA,WACA+kE,EAAAlkE,aAAAnL,KAAA8yI,oBACAxrI,EAAA1G,UAAA0J,OAAAzC,KAAA7H,OAEA6xI,EAAAjxI,UAAAmyI,yBAAA,WACA,IAAAljE,EAAA,MAAA7vE,KAAA5B,MAAA80I,eAAAlzI,KAAA5B,MAAA80I,eAAAlzI,KAAA5B,MAAAyxE,MACAR,EAAAxlE,YAAA7J,KAAA8yI,mBAAAjjE,EAAA,CAAAj/D,OAAA5Q,MAAA,SAAA43G,GAAA,OAAAA,EAAAmoB,eAEA8R,EAAAjxI,UAAA+uE,eAAA,SAAAroD,GACAA,GAAAtnB,KAAAgzI,oBAAAJ,WACA5yI,KAAAgzI,oBAAAJ,SAAAtrH,IAGAuqH,EAAAjxI,UAAAqyI,mBAAA,WACA,IAAA3rH,EAAAtnB,KAAAgzI,oBAAA1rH,QAEAtnB,KAAAmN,GAAAxB,UAAA6H,SADA,sBACA8T,EACAtnB,KAAAmN,GAAAxB,UAAArB,OAFA,qBAIAgd,GACAtnB,KAAAmN,GAAAxB,UAAAC,IALA,sBAQAimI,EAAAjxI,UAAAkU,OAAA,WACA,IAAAhU,EAAAd,KAMA,GALAuqB,EAAA9Y,MAAAzR,KAAAmN,IACAnN,KAAAmN,GAAAxB,UAAAC,IAAA,cACA5L,KAAAmN,GAAAxB,UAAAC,IAAA,cAAA5L,KAAA5B,MAAAgxG,kBACApvG,KAAAgzI,oBAAAH,SAAA7yI,KAAA5B,MAAAy0I,SACA7yI,KAAAizI,qBACA,MAAAjzI,KAAA5B,MAAA0xE,KAAA,CACA,IAAA/oE,EAAA,SAAA/G,KAAA5B,MAAA0xE,KAAA,UAAA,KACAA,EAAAvlD,EAAAva,EAAA,CAAA2nD,KAAA,4BAAA51B,OAAA,SAAA5sB,MAAA,CAAA,UAAA,gBAAApO,KACA/G,KAAAmN,GAAAR,YAAAmjE,GAEA,IAAAqjE,EAAA,GACAhmI,EAAA,SAAAyqG,GACA,OAAA92G,EAAAgyI,mBAAAl7B,EAAAh4G,IAAAuN,IAEAk0B,EAAArhC,KAAA5B,MAAAijC,SACA,IAAA,IAAAzB,KAAAyB,EACA8xG,EAAAnoI,KAAAq2B,EAAAzB,GAAAiwC,MAAA1lE,IAAAgD,IAEAgmI,EAAAnoI,KAAAhL,KAAA5B,MAAAi0I,QAAAloI,IAAAgD,IACAgmI,EAAAnoI,KAAAhL,KAAA5B,MAAA85B,WAAAztB,OAAA,SAAAmtG,GAAA,OAAAA,EAAA+5B,aAAAxnI,IAAAgD,IACAgmI,EAAAnoI,KAAAhL,KAAA5B,MAAAg0I,KAAAjoI,IAAAgD,IACA,IAAA,IAAA/C,EAAA,EAAAgpI,EAAAD,EAAA/oI,EAAAgpI,EAAAlyI,OAAAkJ,IAAA,CACA,IAAAipI,EAAAD,EAAAhpI,GACA,GAAA,IAAAipI,EAAAnyI,OAAA,CACA,IAAAswI,EAAAjnH,EAAA3a,IAAA,CAAAuF,MAAA,iBAAAk+H,GACArzI,KAAAmN,GAAAR,YAAA6kI,MAIAK,EAAAjxI,UAAAy/F,cAAA,aACAwxC,EAAAjxI,UAAA0/F,gBAAA,aACAuxC,EAAAjxI,UAAA2/F,aAAA,WACAvgG,KAAAyU,eAAA,GAEAo9H,EAhFA,CAiFAl4D,EAAAplE,SACA3W,EAAAi0I,gBAAAA,EACA,IAAArD,EAAA,SAAAlnI,GAEA,SAAAknI,EAAAjjI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgEA,OAlEA6G,EAAAY,UAAA+mI,EAAAlnI,GAIAknI,EAAAz0H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,cACAvZ,KAAAY,UAAAoJ,aAAA6nI,EACA7xI,KAAAia,OAAA,CACA41D,MAAA,CAAAxiE,EAAAoC,MAAA,IACAqgE,KAAA,CAAAziE,EAAAqJ,KAAA,UACAm8H,SAAA,CAAAxlI,EAAA8lB,SAAA,KAEAnzB,KAAA8a,SAAA,CACAumB,SAAA,CAAAh0B,EAAA6M,IAAA,WACA,MAAA,CACAyiB,IAAA,CAAAkzC,MAAA,GAAApuC,OAAA,MACAjE,OAAA,CAAAqyC,MAAA,GAAApuC,OAAA,MACA3E,MAAA,CAAA+yC,MAAA,GAAApuC,OAAA,MACAvE,IAAA,CAAA2yC,MAAA,GAAApuC,OAAA,MACAtE,UAAA,CAAA0yC,MAAA,GAAApuC,OAAA,MACArE,MAAA,CAAAyyC,MAAA,GAAApuC,OAAA,MACAnS,OAAA,CAAAugD,MAAA,GAAApuC,OAAA,MACAnE,KAAA,CAAAuyC,MAAA,GAAApuC,OAAA,MACA8wG,MAAA,CAAA1iE,MAAA,GAAApuC,OAAA,SAGA4wG,QAAA,CAAAhlI,EAAAoC,MAAA,IACAyoB,WAAA,CAAA7qB,EAAAoC,MAAA,IACA2iI,KAAA,CAAA/kI,EAAAoC,MAAA,IACA2/F,iBAAA,CAAA/hG,EAAAoJ,SAAA,YAGAzX,OAAAiU,eAAAu7H,EAAA5tI,UAAA,aAAA,CACAsS,IAAA,WACA,MAAA,UAAAlT,KAAAovG,kBAAA,UAAApvG,KAAAovG,kBAEA/7F,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAu7H,EAAA5tI,UAAA,WAAA,CACAsS,IAAA,WACA,MAAA,SAAAlT,KAAAovG,kBAAA,UAAApvG,KAAAovG,kBAEA/7F,YAAA,EACAC,cAAA,IAEAk7H,EAAA5tI,UAAA4nI,eAAA,SAAA5wB,GACA,IAAA/3E,EAAA+3E,EAAA/3E,WACA,GAAA,MAAAA,EAGA,IADA,IAAAyyG,EAAAlnI,EAAAW,SAAA8zB,GAAA,CAAAA,GAAAA,EACAz1B,EAAA,EAAAooI,EAAAF,EAAAloI,EAAAooI,EAAAtxI,OAAAkJ,IAAA,CACA,IAAAw1B,EAAA4yG,EAAApoI,GACA,GAAAwtG,EAAAn2E,OAAA,CACA,IAAA6xG,EAAAtzI,KAAAqhC,SAAAzB,GAAA6B,OACA,MAAA6xG,GAAA17B,GAAA07B,IACAp0I,EAAAwB,OAAAC,MAAA,+BAAA2yI,EAAA/5H,KAAA,KAAA+5H,EAAA1zI,GAAA,qBAAAggC,EAAA,KACA0zG,EAAA7xG,QAAA,GAEAzhC,KAAAqhC,SAAAzB,GAAA6B,OAAAm2E,EACA14G,EAAAwB,OAAAC,MAAA,6BAAAi3G,EAAAr+F,KAAA,KAAAq+F,EAAAh4G,GAAA,qBAAAggC,EAAA,UAGA5/B,KAAAqhC,SAAAzB,GAAA6B,OAAA,OAGA+sG,EAnEA,CAoEAjjF,EAAAI,OACA/tD,EAAA4wI,YAAAA,EACAA,EAAAz0H,aCzLA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA2P,EAAA3P,EAAA,IACAwB,EAAAxB,EAAA,IACA0N,EAAA1N,EAAA,IACAkM,EAAAlM,EAAA,IACAuiI,EAAAviI,EAAA,KACA8uI,EAAA9uI,EAAA,KACAsmI,EAAAtmI,EAAA,KACAywI,EAAAzwI,EAAA,KACA6wI,EAAA7wI,EAAA,KACA2wI,EAAA3wI,EAAA,KACA2tD,EAAA3tD,EAAA,KACAm9E,EAAAn9E,EAAA,IACAgxI,EAAA,SAAApnI,GAEA,SAAAonI,EAAAnjI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgKA,OAlKA6G,EAAAY,UAAAinI,EAAApnI,GAIAonI,EAAA30H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,gBAEAm1H,EAAA9tI,UAAA4T,WAAA,WACAlN,EAAA1G,UAAA4T,WAAA3M,KAAA7H,MACAA,KAAAmyI,cACAnyI,KAAAuzI,gBAEA7E,EAAA9tI,UAAAuxI,YAAA,WAuCA,IAtCA,IAAA13H,EAAA,SAAAm9F,GACA,GAAAA,aAAAu2B,EAAAC,YACAxkI,EAAAmd,KAAApM,EAAAud,WAAA,SAAAvX,GAAA,OAAAA,EAAA/gB,IAAAg4G,EAAAh4G,OACA+a,EAAAud,WAAAvd,EAAAud,WAAAvoB,OAAA,CAAAioG,UAEA,GAAAA,aAAA40B,EAAA9L,SACA92H,EAAAmd,KAAApM,EAAAy3H,KAAA,SAAAzxH,GAAA,OAAAA,EAAA/gB,IAAAg4G,EAAAh4G,OACA+a,EAAAy3H,KAAAz3H,EAAAy3H,KAAAziI,OAAA,CAAAioG,UAEA,GAAAA,aAAAqoB,EAAAH,WACAl2H,EAAAmd,KAAApM,EAAA03H,QAAA,SAAA1xH,GAAA,OAAAA,EAAA/gB,IAAAg4G,EAAAh4G,OACA+a,EAAA03H,QAAA13H,EAAA03H,QAAA1iI,OAAA,CAAAioG,UAEA,GAAAA,aAAAosB,EAAAc,YAAA,CACA,IAAAwN,OAAA,EACAC,OAAA,EACAnnI,EAAAW,SAAA6rG,EAAA/3E,aACAyyG,EAAA,CAAA16B,EAAA/3E,YACA0yG,GAAA,IAGAD,EAAA16B,EAAA/3E,YAAA,GACA0yG,GAAA,GAEA,IAAA,IAAAnoI,EAAA,EAAAooI,EAAAF,EAAAloI,EAAAooI,EAAAtxI,OAAAkJ,IAAA,CACA,IAAAw1B,EAAA4yG,EAAApoI,GACAw1B,KAAAjlB,EAAA0mB,UAIAkxG,IACA3yG,EAAA,SACAh2B,EAAAmd,KAAApM,EAAA0mB,SAAAzB,GAAAiwC,MAAA,SAAAlvD,GAAA,OAAAA,EAAA/gB,IAAAg4G,EAAAh4G,OACA+a,EAAA0mB,SAAAzB,GAAAiwC,MAAAl1D,EAAA0mB,SAAAzB,GAAAiwC,MAAAlgE,OAAA,CAAAioG,MANA14G,EAAAwB,OAAA5B,KAAA,gCAAA8gC,EAAA,eAAAg4E,EAAAr+F,KAAA,KAAAq+F,EAAAh4G,GAAA,QAUA+a,EAAA3a,KACAoK,EAAA,EAAAM,EAAA1K,KAAA6vE,MAAAzlE,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAAwtG,EAAAltG,EAAAN,GACAqQ,EAAAm9F,KAGA82B,EAAA9tI,UAAA2yI,aAAA,WACA,IACA7oI,EADA5J,EAAAd,KAIAA,KAAAkzI,eAAA,GAMA,IALA,IAAAh7G,EAAA,GACAm6G,EAAA,GACAhxG,EAAA,GACAmyG,EAAA,GACAC,EAAA,GACArpI,EAAA,EAAAa,EAAAjL,KAAAoyI,KAAAhoI,EAAAa,EAAA/J,OAAAkJ,IAAA,CACA,IAAAspI,EAAAzoI,EAAAb,GACAR,EAAAmqB,SAAA0/G,EAAAC,EAAAjT,YACA+S,EAAAxoI,KAAA0oI,GACAD,EAAAzoI,KAAA0oI,EAAAjT,WAKA,IAAA,IAAA5gG,KAFAn1B,EAAA1K,KAAAkzI,gBAAAloI,KAAAzD,MAAAmD,EAAA8oI,GACAxzI,KAAAoyI,KAAAoB,EACAxzI,KAAAqhC,SAAA,CACA,IAAAqxG,EAAA1yI,KAAAqhC,SAAAxB,GACAA,KAAAwB,IACAA,EAAAxB,GAAA,IAEA,IAAA,IAAAhzB,EAAA,EAAAE,EAAA2lI,EAAA7iE,MAAAhjE,EAAAE,EAAA7L,OAAA2L,IAAA,CACA,IAAA+qG,EAAA7qG,EAAAF,GACA+qG,EAAAr+F,QAAA8nB,EAAAxB,KACAwB,EAAAxB,GAAA+3E,EAAAr+F,MAAA,IAEA8nB,EAAAxB,GAAA+3E,EAAAr+F,MAAAvO,KAAA4sG,IAGA,IAAA,IAAA1pD,EAAA,EAAAC,EAAAnuD,KAAAk4B,WAAAg2B,EAAAC,EAAAjtD,OAAAgtD,IAAA,CACA,IAAA0pD,EAAAzpD,EAAAD,GACA0pD,EAAAr+F,QAAA2e,IACAA,EAAA0/E,EAAAr+F,MAAA,IAEA2e,EAAA0/E,EAAAr+F,MAAAvO,KAAA4sG,GAEA,IAAA,IAAAxpD,EAAA,EAAAye,EAAA7sE,KAAAqyI,QAAAjkF,EAAAye,EAAA3rE,OAAAktD,IAAA,CACA,IAAAwpD,EAAA/qC,EAAAze,GACAwpD,EAAAr+F,QAAA84H,IACAA,EAAAz6B,EAAAr+F,MAAA,IAEA84H,EAAAz6B,EAAAr+F,MAAAvO,KAAA4sG,GAGA,IAAA+7B,EAAA,SAAA9jE,EAAApuC,QACA,IAAAA,IACAA,GAAA,GAEA,IAAAmyG,EAAA,IAAAvF,EAAAC,UAAA,CAAAz+D,MAAAA,EAAApuC,OAAAA,IAEA,OADA3gC,EAAAoyI,eAAAloI,KAAA4oI,GACAA,GAEA,IAAA,IAAA/zG,KAAAwB,EAAA,CACA,IAAAqxG,EAAA1yI,KAAAqhC,SAAAxB,GAEA,IAAA,IAAAg0G,KADAnB,EAAA7iE,MAAA,GACAxuC,EAAAxB,GAAA,CACA,IAAAgwC,EAAAxuC,EAAAxB,GAAAg0G,GACA,GAAAhkE,EAAA3uE,OAAA,EACA,GAAA,SAAA2+B,EACA,IAAA,IAAA21E,EAAA,EAAAs+B,EAAAjkE,EAAA2lC,EAAAs+B,EAAA5yI,OAAAs0G,IAAA,CACA,IAAAoC,EAAAk8B,EAAAt+B,GACAo+B,EAAAD,EAAA,CAAA/7B,IACA86B,EAAA7iE,MAAA7kE,KAAA4oI,GACA5zI,KAAAa,QAAA+yI,EAAA16H,WAAAuoB,OAAA1oB,OAAA/Y,KAAAwoI,eAAAz2G,KAAA/xB,KAAA4zI,QAGA,CACA,IAAAA,EAAAD,EAAA9jE,GACA6iE,EAAA7iE,MAAA7kE,KAAA4oI,GACA5zI,KAAAa,QAAA+yI,EAAA16H,WAAAuoB,OAAA1oB,OAAA/Y,KAAAwoI,eAAAz2G,KAAA/xB,KAAA4zI,MAMA,IAAA,IAAAC,KADA7zI,KAAAqyI,QAAA,GACAA,EAAA,CACA,IAAAxiE,EAAAwiE,EAAAwB,GACA,GAAA,gBAAAA,EACA,IAAA,IAAAp+B,EAAA,EAAAs+B,EAAAlkE,EAAA4lC,EAAAs+B,EAAA7yI,OAAAu0G,IAAA,CACA,IAAAmC,EAAAm8B,EAAAt+B,GACAz1G,KAAAqyI,QAAArnI,KAAA2oI,EAAA,CAAA/7B,UAGA/nC,EAAA3uE,OAAA,GACAlB,KAAAqyI,QAAArnI,KAAA2oI,EAAA9jE,IAIA,IAAA,IAAAgkE,KADA7zI,KAAAk4B,WAAA,GACAA,EAAA,CACA,IAAA23C,EAAA33C,EAAA27G,GACAhkE,EAAA3uE,OAAA,GACAlB,KAAAk4B,WAAAltB,KAAA2oI,EAAA9jE,GAAA,IAEA,IAAA,IAAAjwC,KAAA5/B,KAAAqhC,SAAA,CACA,IAAAqxG,EAAA1yI,KAAAqhC,SAAAzB,GACA,GAAA8yG,EAAA7iE,MAAA3uE,SAEAwxI,EAAA7iE,MAAAjmE,EAAAyY,QAAAqwH,EAAA7iE,MAAA,SAAA+nC,GAAA,OAAAA,EAAAksB,gBACA,SAAAlkG,GAAA,UAAAA,GAAA,SAAAA,IACA8yG,EAAA7iE,MAAA,GAAApuC,QAAA,MAGAitG,EAnKA,CAoKAH,EAAAC,aACA5wI,EAAA8wI,aAAAA,EACAA,EAAA30H,YACA,IAAAi6H,EAAA,SAAA1sI,GAEA,SAAA0sI,IACA,OAAA,OAAA1sI,GAAAA,EAAAC,MAAAvH,KAAAwH,YAAAxH,KA2BA,OA7BA6G,EAAAY,UAAAusI,EAAA1sI,GAIA0sI,EAAApzI,UAAA4T,WAAA,WACAxU,KAAA5B,MAAAo+B,QAAA4yE,iBAAApvG,KAAA5B,MAAAgxG,iBACA9nG,EAAA1G,UAAA4T,WAAA3M,KAAA7H,OAEAhB,OAAAiU,eAAA+gI,EAAApzI,UAAA,eAAA,CACAsS,IAAA,WACA,MAAA,CAAAlT,KAAA5B,MAAAo+B,UAEAnpB,YAAA,EACAC,cAAA,IAEA0gI,EAAApzI,UAAAs9F,eAAA,WACAl+F,KAAA2kB,OAAA,IAAAk2D,EAAArwD,WAAAxqB,KAAAm+F,YAAA,GAAAhxF,IACA,IAAAqvB,EAAAx8B,KAAA5B,MAAAo+B,QACAA,EAAAjO,WACAvuB,KAAA2kB,OAAAmH,WAAA,CACAjF,aAAA,MAAAkF,UAAA,IAAA7E,cAAA,UAIAlnB,KAAA2kB,OAAAmH,WAAA,CACAjF,aAAA,QAAAK,cAAA,MAAA+E,WAAA,OAIA+nH,EA9BA,CA+BA3oF,EAAA2yC,eACApgG,EAAAo2I,eAAAA,EACA,IAAApF,EAAA,SAAAtnI,GAEA,SAAAsnI,EAAArjI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAUA,OAZA6G,EAAAY,UAAAmnI,EAAAtnI,GAIAsnI,EAAA70H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aACAvZ,KAAAY,UAAAoJ,aAAAgqI,EACAh0I,KAAAia,OAAA,CACAuiB,QAAA,CAAAnvB,EAAAimB,UACA87E,iBAAA,CAAA/hG,EAAAoJ,SAAA,YAGAm4H,EAbA,CAcAvjF,EAAAoB,WACA7uD,EAAAgxI,WAAAA,EACAA,EAAA70H,aCtOA,SAAArc,EAAAC,EAAAC,GACA,IAAAgM,EAAAlM,EAAA,IASAE,EAAAwtI,kBARA,SAAAx+D,EAAAu+D,EAAAhwH,GACA,GAAA,MAAAyxD,EACA,MAAA,GACA,IAAA7uD,EAAA,QAAA6uD,EAAAu+D,EAAAv+D,EAGA,OAFAzxD,EAAAja,OAAA,IACA6c,EAAAA,EAAAtT,OAAA,SAAAob,GAAA,OAAAjc,EAAAmqB,SAAA5Y,EAAA0K,EAAA1nB,SACA4f,ICRA,SAAArgB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAooG,EAAApoG,EAAA,KACA2P,EAAA3P,EAAA,IACAI,EAAAJ,EAAA,IACA8a,EAAA9a,EAAA,IACAu2I,EAAA,SAAA3sI,GAEA,SAAA2sI,EAAA1oI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAiDA,OAnDA6G,EAAAY,UAAAwsI,EAAA3sI,GAIA2sI,EAAAl6H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,oBACAvZ,KAAAia,OAAA,CACA0gB,KAAA,CAAAttB,EAAA6M,IAAA,IACAmvB,KAAA,CAAAh8B,EAAAsmB,OAAA,IACAugH,OAAA,CAAA7mI,EAAAsmB,OAAA,IACA4lB,WAAA,CAAAlsC,EAAA8lB,SAAA,MAGAn0B,OAAAiU,eAAAghI,EAAArzI,UAAA,QAAA,CACAsS,IAAA,WACA,OAAApV,EAAAmB,KAAAe,KAAA26B,OAEAtnB,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAghI,EAAArzI,UAAA,SAAA,CACAsS,IAAA,WACA,OAAApV,EAAAqV,OAAAnT,KAAA26B,OAEAtnB,YAAA,EACAC,cAAA,IAEA2gI,EAAArzI,UAAAuzI,gBAAA,SAAAh2I,EAAAkrC,GACA,IAAA3kC,EAAA1E,KAAAu5C,WAAA/gC,EAAA+gC,WAAAlQ,GAAAA,EACA,OAAA,IAAA0vC,SAAAhnD,KAAAxqB,MAAAwxE,SAAA,MAAA,GAAAppE,OAAA3P,KAAAmb,MAAA,CAAAhd,EAAA,UAAA,UAAAuG,OAEA1F,OAAAiU,eAAAghI,EAAArzI,UAAA,mBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAm0I,gBAAA,IAAAn0I,KAAAqpC,OAEAh2B,YAAA,EACAC,cAAA,IAEAtU,OAAAiU,eAAAghI,EAAArzI,UAAA,mBAAA,CACAsS,IAAA,WACA,OAAAlT,KAAAm0I,gBAAA,KAAAn0I,KAAAk0I,SAEA7gI,YAAA,EACAC,cAAA,IAEA2gI,EAAArzI,UAAA6sB,QAAA,SAAAhlB,GACA,OAAAzI,KAAAo0I,iBAAA7sI,MAAAvH,KAAAA,KAAAmT,OAAAxD,OAAA,CAAAlH,EAAA/K,EAAA,OAEAu2I,EAAArzI,UAAA0zB,UAAA,SAAA+f,GACA,OAAAr0C,KAAAq0I,iBAAA9sI,MAAAvH,KAAAA,KAAAmT,OAAAxD,OAAA,CAAA0kC,EAAA32C,EAAA,OAEAu2I,EApDA,CAqDAnuC,EAAAC,WACAnoG,EAAAq2I,kBAAAA,EACAA,EAAAl6H,aC7DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAooG,EAAApoG,EAAA,KACAuzE,EAAAvzE,EAAA,KACA2P,EAAA3P,EAAA,IACA0N,EAAA1N,EAAA,IACA42I,EAAA,SAAAhtI,GAEA,SAAAgtI,EAAA/oI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAoCA,OAtCA6G,EAAAY,UAAA6sI,EAAAhtI,GAIAgtI,EAAAv6H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,QACAvZ,KAAAia,OAAA,CACApO,MAAA,CAAAwB,EAAAkmB,OAAA,GACAqR,MAAA,CAAAv3B,EAAAimB,aAIAghH,EAAA1zI,UAAA0zB,UAAA,SAAAigH,GACA,IAAAlgG,EACA,GAAAr0C,KAAA4kC,iBAAAqsC,EAAAyD,YACArgC,EAAAr0C,KAAA4kC,MAAA0mD,YAAAipD,OACA,CAAA,IAAAnpI,EAAAy6C,cAAA0uF,EAAAnpI,EAAAqc,UAGA,MAAA,IAAAppB,MAAA,cAFAg2C,EAAAkgG,EAIA,IADA,IAAAx2H,EAAA,IAAAmV,aAAAmhB,EAAAnzC,QACA+O,EAAA,EAAAA,EAAAokC,EAAAnzC,OAAA+O,IAAA,CACA,IAAAxH,EAAA4rC,EAAApkC,GACA8N,EAAA9N,GAAAjQ,KAAAw0I,SAAA/rI,GAEA,OAAAsV,GAEAu2H,EAAA1zI,UAAA6sB,QAAA,SAAAhlB,GACA,GAAAzI,KAAA4kC,iBAAAqsC,EAAAyD,YACA,OAAA10E,KAAAw0I,SAAAx0I,KAAA4kC,MAAA+vC,UAAAlsE,IACA,GAAA2C,EAAAqc,SAAAhf,GACA,OAAAzI,KAAAw0I,SAAA/rI,GAEA,MAAA,IAAApK,MAAA,eAEAi2I,EAAA1zI,UAAA4zI,SAAA,SAAA/rI,GACA,OAAAA,EAAAzI,KAAA6L,OAEAyoI,EAvCA,CAwCAxuC,EAAAC,WACAnoG,EAAA02I,MAAAA,EACAA,EAAAv6H,aChDA,SAAArc,EAAAC,EAAAC,GACA,IAAA62I,EAAA/2I,EAAA,KACAE,EAAAq2I,kBAAAQ,EAAAR,kBACA,IAAAS,EAAAh3I,EAAA,KACAE,EAAA02I,MAAAI,EAAAJ,MACA,IAAAK,EAAAj3I,EAAA,KACAE,EAAAg3I,aAAAD,EAAAC,aACA,IAAAC,EAAAn3I,EAAA,KACAE,EAAAk3I,OAAAD,EAAAC,OACA,IAAAC,EAAAr3I,EAAA,KACAE,EAAAo3I,mBAAAD,EAAAC,mBACA,IAAAC,EAAAv3I,EAAA,KACAE,EAAAs3I,iBAAAD,EAAAC,iBACA,IAAApvC,EAAApoG,EAAA,KACAE,EAAAmoG,UAAAD,EAAAC,WCdA,SAAAroG,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAooG,EAAApoG,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACA0N,EAAA1N,EAAA,IACAk3I,EAAA,SAAAttI,GAEA,SAAAstI,EAAArpI,GACA,IAAAzK,EAAAwG,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAEA,OADAc,EAAAq0I,eAAA,EACAr0I,EAuEA,OA3EA+F,EAAAY,UAAAmtI,EAAAttI,GAMAstI,EAAA76H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,eACAvZ,KAAAia,OAAA,CACAxR,EAAA,CAAA4E,EAAA6M,KACAxR,EAAA,CAAA2E,EAAA6M,KACA9V,KAAA,CAAAiJ,EAAA6M,KACA2uB,KAAA,CAAAx7B,EAAA8lB,SAAA,MAGAyhH,EAAAh0I,UAAAkK,gBAAA,WACA,IAAAhK,EAAAd,KACAsH,EAAA1G,UAAAkK,gBAAAjD,KAAA7H,MACAA,KAAAa,QAAAb,KAAA+Y,OAAA,WAAA,OAAAjY,EAAAq0I,eAAA,KAEAP,EAAAh0I,UAAA0zB,UAAA,SAAA+f,GAEA,IADA,IAAAt2B,EAAA,IAAAmV,aAAAmhB,EAAAnzC,QACA+O,EAAA,EAAAA,EAAAokC,EAAAnzC,OAAA+O,IAAA,CACA,IAAAxH,EAAA4rC,EAAApkC,GACA8N,EAAA9N,GAAAjQ,KAAAytB,QAAAhlB,GAEA,OAAAsV,GAEA62H,EAAAh0I,UAAAolC,KAAA,SAAAovG,GAIA,QAHA,IAAAA,IACAA,GAAA,GAEAp1I,KAAAm1I,cAAA,CAEA,IAAAE,EACAC,EACA,GAAAlqI,EAAAW,SAAA/L,KAAAyI,IAAA2C,EAAAW,SAAA/L,KAAA0I,IAAA,MAAA1I,KAAAoE,KAAA,CACA,IAAAmxI,EAAAv1I,KAAAoE,KAAA4pE,UACA,IAAApkE,EAAAmqB,SAAAwhH,EAAAv1I,KAAAyI,GACA,MAAA,IAAApK,MAAA,4FACA,IAAAuL,EAAAmqB,SAAAwhH,EAAAv1I,KAAA0I,GACA,MAAA,IAAArK,MAAA,4FACAg3I,EAAAr1I,KAAAoE,KAAAiwB,WAAAr0B,KAAAyI,GACA6sI,EAAAt1I,KAAAoE,KAAAiwB,WAAAr0B,KAAA0I,OAEA,CAAA,IAAA0C,EAAAa,QAAAjM,KAAAyI,KAAA2C,EAAAa,QAAAjM,KAAA0I,GAKA,MAAA,IAAArK,MAAA,sEAJAg3I,EAAAr1I,KAAAyI,EACA6sI,EAAAt1I,KAAA0I,EAKA,GAAA2sI,EAAAn0I,SAAAo0I,EAAAp0I,OACA,MAAA,IAAA7C,MAAA,uCACA,GAAAg3I,EAAAn0I,OAAA,EACA,MAAA,IAAA7C,MAAA,oEAGA,IAAAm3I,EAAA,GACA,IAAA,IAAAjwG,KAAA8vG,EACAG,EAAAxqI,KAAA,CAAAvC,EAAA4sI,EAAA9vG,GAAA78B,EAAA4sI,EAAA/vG,KAEA6vG,EACAI,EAAAxvG,KAAA,SAAAh2B,EAAAuR,GAAA,OAAAvR,EAAAvH,EAAA8Y,EAAA9Y,GAAA,EAAAuH,EAAAvH,GAAA8Y,EAAA9Y,EAAA,EAAA,IAEA+sI,EAAAxvG,KAAA,SAAAh2B,EAAAuR,GAAA,OAAAvR,EAAAvH,EAAA8Y,EAAA9Y,GAAA,EAAAuH,EAAAvH,GAAA8Y,EAAA9Y,EAAA,EAAA,IACAzI,KAAAy1I,UAAA,GACAz1I,KAAA01I,UAAA,GACA,IAAA,IAAAtrI,EAAA,EAAAurI,EAAAH,EAAAprI,EAAAurI,EAAAz0I,OAAAkJ,IAAA,CACA,IAAAM,EAAAirI,EAAAvrI,GAAA3B,EAAAiC,EAAAjC,EAAAC,EAAAgC,EAAAhC,EACA1I,KAAAy1I,UAAAzqI,KAAAvC,GACAzI,KAAA01I,UAAA1qI,KAAAtC,GAEA1I,KAAAm1I,eAAA,IAEAP,EA5EA,CA6EA9uC,EAAAC,WACAnoG,EAAAg3I,aAAAA,EACAA,EAAA76H,aCrFA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAooG,EAAApoG,EAAA,KACAuzE,EAAAvzE,EAAA,KACA0N,EAAA1N,EAAA,IACA2P,EAAA3P,EAAA,IACAk4I,EAAAl4I,EAAA,IACAo3I,EAAA,SAAAxtI,GAEA,SAAAwtI,EAAAvpI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAgDA,OAlDA6G,EAAAY,UAAAqtI,EAAAxtI,GAIAwtI,EAAA/6H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,SACAvZ,KAAAia,OAAA,CACA47H,KAAA,CAAAxoI,EAAAkmB,OAAA,GACAlkB,MAAA,CAAAhC,EAAAkmB,OAAA,GACAuiH,aAAA,CAAAzoI,EAAAwI,aAAA,WACA+uB,MAAA,CAAAv3B,EAAAimB,YAEAtzB,KAAA8a,SAAA,CACAi7H,gBAAA,CAAA1oI,EAAAoC,UAGAqlI,EAAAl0I,UAAA0zB,UAAA,SAAAigH,GACA,GAAA,MAAAv0I,KAAA+1I,iBAAA/1I,KAAA+1I,gBAAA70I,QAAAqzI,EAAArzI,OACA,OAAAlB,KAAA+1I,gBACA,IAAA1hG,EACA,GAAAr0C,KAAA4kC,iBAAAqsC,EAAAyD,YACArgC,EAAAr0C,KAAA4kC,MAAA0mD,YAAAipD,OACA,CAAA,IAAAnpI,EAAAy6C,cAAA0uF,EAAAnpI,EAAAqc,UAGA,MAAA,IAAAppB,MAAA,cAFAg2C,EAAAkgG,EAIA,IADA,IAAAx2H,EAAA,IAAAmV,aAAAmhB,EAAAnzC,QACA+O,EAAA,EAAAA,EAAAokC,EAAAnzC,OAAA+O,IAAA,CACA,IAAAxH,EAAA4rC,EAAApkC,GACA8N,EAAA9N,GAAAjQ,KAAAw0I,SAAA/rI,GAGA,OADAzI,KAAA+1I,gBAAAh4H,EACAA,GAEA+2H,EAAAl0I,UAAA6sB,QAAA,SAAAhlB,GACA,GAAAzI,KAAA4kC,iBAAAqsC,EAAAyD,YACA,OAAA10E,KAAAw0I,SAAAx0I,KAAA4kC,MAAA+vC,UAAAlsE,IACA,GAAA2C,EAAAqc,SAAAhf,GACA,OAAAzI,KAAAw0I,SAAA/rI,GAEA,MAAA,IAAApK,MAAA,eAEAy2I,EAAAl0I,UAAA4zI,SAAA,SAAA/rI,GACA,OAAAzI,KAAA81I,cACA,IAAA,UACA,OAAArtI,EAAAzI,KAAA61I,MAAAD,EAAAhkG,SAAA,IAAA5xC,KAAAqP,MACA,IAAA,SACA,OAAA5G,EAAAmtI,EAAA1jG,MAAAlyC,KAAA61I,KAAA71I,KAAAqP,SAGAylI,EAnDA,CAoDAhvC,EAAAC,WACAnoG,EAAAk3I,OAAAA,EACAA,EAAA/6H,aC7DA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAkM,EAAAlM,EAAA,IACAi3I,EAAAj3I,EAAA,KACAs3I,EAAA,SAAA1tI,GAEA,SAAA0tI,EAAAzpI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KA0BA,OA5BA6G,EAAAY,UAAAutI,EAAA1tI,GAIA0tI,EAAAj7H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,sBAEAy7H,EAAAp0I,UAAA6sB,QAAA,SAAAhlB,GAEA,GADAzI,KAAAgmC,MAAA,GACAhmC,KAAA6oC,MACA,GAAApgC,EAAAzI,KAAAy1I,UAAA,IAAAhtI,EAAAzI,KAAAy1I,UAAAz1I,KAAAy1I,UAAAv0I,OAAA,GACA,OAAAozE,QAEA,CACA,GAAA7rE,EAAAzI,KAAAy1I,UAAA,GACA,OAAAz1I,KAAA01I,UAAA,GACA,GAAAjtI,EAAAzI,KAAAy1I,UAAAz1I,KAAAy1I,UAAAv0I,OAAA,GACA,OAAAlB,KAAA01I,UAAA11I,KAAA01I,UAAAx0I,OAAA,GAEA,GAAAuH,GAAAzI,KAAAy1I,UAAA,GACA,OAAAz1I,KAAA01I,UAAA,GACA,IAAA//D,EAAA/rE,EAAA26B,gBAAAvkC,KAAAy1I,UAAA,SAAA9nI,GAAA,OAAAA,EAAAlF,IACAwY,EAAAjhB,KAAAy1I,UAAA9/D,GACAx0D,EAAAnhB,KAAAy1I,UAAA9/D,EAAA,GACAz0D,EAAAlhB,KAAA01I,UAAA//D,GACAv0D,EAAAphB,KAAA01I,UAAA//D,EAAA,GACA,OAAAz0D,GAAAzY,EAAAwY,IAAAE,EAAAF,IAAAG,EAAAF,IAEA8zH,EA7BA,CA8BAL,EAAAC,cACAh3I,EAAAo3I,mBAAAA,EACAA,EAAAj7H,aCpCA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAi3I,EAAAj3I,EAAA,KACA2P,EAAA3P,EAAA,IACAkM,EAAAlM,EAAA,IACAw3I,EAAA,SAAA5tI,GAEA,SAAA4tI,EAAA3pI,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAyCA,OA3CA6G,EAAAY,UAAAytI,EAAA5tI,GAIA4tI,EAAAn7H,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,mBACAvZ,KAAAia,OAAA,CACA+9E,KAAA,CAAA3qF,EAAAuK,SAAA,YAGAs9H,EAAAt0I,UAAA6sB,QAAA,SAAAhlB,GAEA,GADAzI,KAAAgmC,MAAA,GACAhmC,KAAA6oC,MACA,GAAApgC,EAAAzI,KAAAy1I,UAAA,IAAAhtI,EAAAzI,KAAAy1I,UAAAz1I,KAAAy1I,UAAAv0I,OAAA,GACA,OAAAozE,QAEA,CACA,GAAA7rE,EAAAzI,KAAAy1I,UAAA,GACA,OAAAz1I,KAAA01I,UAAA,GACA,GAAAjtI,EAAAzI,KAAAy1I,UAAAz1I,KAAAy1I,UAAAv0I,OAAA,GACA,OAAAlB,KAAA01I,UAAA11I,KAAA01I,UAAAx0I,OAAA,GAEA,IAAAy0E,EACA,OAAA31E,KAAAg4F,MACA,IAAA,QACAriB,EAAA/rE,EAAA26B,gBAAAvkC,KAAAy1I,UAAA,SAAA9nI,GAAA,OAAAlF,GAAAkF,IACA,MAEA,IAAA,SACAgoE,EAAA/rE,EAAA06B,WAAAtkC,KAAAy1I,UAAA,SAAA9nI,GAAA,OAAAlF,GAAAkF,IACA,MAEA,IAAA,SACA,IAAAqoI,EAAAh2I,KAAAy1I,UAAAtrI,IAAA,SAAAqsH,GAAA,OAAAlnH,KAAAsd,IAAA4pG,EAAA/tH,KACAwtI,EAAArsI,EAAAshB,IAAA8qH,GACArgE,EAAA/rE,EAAA06B,WAAA0xG,EAAA,SAAAroI,GAAA,OAAAsoI,IAAAtoI,IACA,MAEA,QACA,MAAA,IAAAtP,MAAA,iBAAA2B,KAAAg4F,MAEA,OAAA,GAAAriB,EAAA31E,KAAA01I,UAAA//D,GAAArB,KAEA4gE,EA5CA,CA6CAP,EAAAC,cACAh3I,EAAAs3I,iBAAAA,EACAA,EAAAn7H,aCpDA,SAAArc,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACA6tD,EAAA7tD,EAAA,IACAqoG,EAAA,SAAAz+F,GAEA,SAAAy+F,EAAAx6F,GACA,OAAAjE,EAAAO,KAAA7H,KAAAuL,IAAAvL,KAKA,OAPA6G,EAAAY,UAAAs+F,EAAAz+F,GAIAy+F,EAAAhsF,UAAA,WACA/Z,KAAAY,UAAA2Y,KAAA,aAEAwsF,EARA,CASAx6C,EAAAI,OACA/tD,EAAAmoG,UAAAA,EACAA,EAAAhsF,aCdA,SAAArc,EAAAC,EAAAC,GAiEA,IACAs4I,EACAC,EAaAC,EACAC,EAhFA,oBAAAhxH,KACA3nB,EAAA,KAEA,oBAAA89B,SACA99B,EAAA,KAEA,oBAAAqD,SACArD,EAAA,KAAA44I,gBAEA,IAAAhnI,KAAAinI,QACAjnI,KAAAinI,MAAA,SAAA9tI,GACA,OAAA6G,KAAA0iB,IAAAvpB,GAAA6G,KAAAknI,cAIA,IAAAjjH,OAAAkyB,YACAlyB,OAAAkyB,UAAA,SAAA55C,GACA,MAAA,iBAAAA,GAAA65C,SAAA75C,IAAAyD,KAAA64B,MAAAt8B,KAAAA,SAGA,IAAA8nB,OAAA/yB,UAAA6zB,SACAd,OAAA/yB,UAAA6zB,OAAA,SAAAgiH,GACA,GAAA,MAAAz2I,KACA,MAAA,IAAA8wB,UAAA,iBAAA9wB,KAAA,cAEA,IAAAg5C,EAAA,GAAAh5C,KAKA,IAJAy2I,GAAAA,IACAA,IACAA,EAAA,GAEAA,EAAA,EACA,MAAA,IAAAC,WAAA,qCAEA,GAAAD,GAAAxiI,EAAAA,EACA,MAAA,IAAAyiI,WAAA,2CAGA,GADAD,EAAAnnI,KAAA64B,MAAAsuG,GACA,GAAAz9F,EAAA93C,QAAA,GAAAu1I,EACA,MAAA,GAKA,GAAAz9F,EAAA93C,OAAAu1I,GAAA,GAAA,GACA,MAAA,IAAAC,WAAA,sDAGA,IADA,IAAAC,EAAA,GAEA,IAAA,EAAAF,KACAE,GAAA39F,GAGA,IADAy9F,KAAA,IAIAz9F,GAAAA,EAIA,OAAA29F,SAIA,IAAAlnI,MAAAC,OACAD,MAAAC,MACAwmI,EAAAl3I,OAAA4B,UAAA2D,SACA4xI,EAAA,SAAAniI,GACA,MAAA,mBAAAA,GAAA,sBAAAkiI,EAAAruI,KAAAmM,IAYAoiI,EAAA9mI,KAAAqS,IAAA,EAAA,IAAA,EACA00H,EAAA,SAAAxqI,GACA,IAAAo7B,EAZA,SAAAp7B,GACA,IAAA+qI,EAAArjH,OAAA1nB,GACA,OAAA01E,MAAAq1D,GACA,EAEA,IAAAA,GAAAlxF,SAAAkxF,IAGAA,EAAA,EAAA,GAAA,GAAAtnI,KAAA64B,MAAA74B,KAAAsd,IAAAgqH,IAFAA,EAMAC,CAAAhrI,GACA,OAAAyD,KAAA4b,IAAA5b,KAAAsD,IAAAq0B,EAAA,GAAAmvG,IAGA,SAAAU,GAEA,IAEAxwH,EAAAtnB,OAAA83I,GAEA,GAAA,MAAAA,EACA,MAAA,IAAAhmH,UAAA,oEAGA,IACAimH,EADAC,EAAAxvI,UAAAtG,OAAA,EAAAsG,UAAA,QAAA,EAEA,QAAA,IAAAwvI,EAAA,CAGA,IAAAb,EAAAa,GACA,MAAA,IAAAlmH,UAAA,qEAGAtpB,UAAAtG,OAAA,IACA61I,EAAAvvI,UAAA,IAcA,IATA,IAAAy/B,EAAAovG,EAAA/vH,EAAAplB,QAKAwgB,EAAAy0H,EA5BAn2I,MA4BAhB,OAAA,IA5BAgB,KA4BAinC,IAAA,IAAAx3B,MAAAw3B,GAEA3oB,EAAA;;CAEAA,EAAA2oB,GAAA,CACA,IAAAgwG,EAAA3wH,EAAAhI,GAEAoD,EAAApD,GADA04H,OACA,IAAAD,EAAAC,EAAAC,EAAA34H,GAAA04H,EAAAnvI,KAAAkvI,EAAAE,EAAA34H,GAGA24H,EAEA34H,GAAA,EAKA,OAFAoD,EAAAxgB,OAAA+lC,EAEAvlB,MCrIA,SAAAhkB,EAAAC,EAAAC,GACA,IAAAiJ,EAAAnJ,EAAA,KACAmJ,EAAA0tD,aAAA72D,EAAA,KAAAE,GACAiJ,EAAA0tD,aAAA72D,EAAA,KAAAE,ICHA,SAAAF,EAAAC,EAAAC,GACA,IAAA4a,EAAA9a,EAAA,IACAsF,EAAA,WACA,SAAAA,EAAAqyC,EAAA6hG,EAAAr0I,GACA7C,KAAAq1C,OAAAA,EACAr1C,KAAAk3I,SAAAA,EACAl3I,KAAA6C,QAAAA,EACA7C,KAAA4G,QAAA,GAqEA,OAnEA5D,EAAAm0I,SAAA,SAAAC,EAAAC,EAAAC,GACA,IAAAjiG,EAAArvC,KAAAsvC,MAAA8hG,GACAF,EAAAlxI,KAAAsvC,MAAA+hG,GACAx0I,EAAAmD,KAAAsvC,MAAAgiG,GACA,OAAA,IAAAt0I,EAAAqyC,EAAA6hG,EAAAr0I,IAEAG,EAAApC,UAAA22I,gBAAA,SAAAC,EAAAC,GACA,IAAAC,EAAA,MAAA13I,KAAAq1C,OAAAsiG,YAAA33I,KAAAq1C,OAAAsiG,YAAA,EACA,GAAAD,GAAA13I,KAAA4G,QAAA1F,OACA,MAAA,IAAA7C,MAAA,8CACA2B,KAAA4G,QAAAoE,KAAA,CAAAwsI,EAAAC,KAKAz0I,EAAAC,OAAA,SAAAL,EAAAs0I,EAAAr0I,QACA,IAAAA,IACAA,EAAA,IAEA,IAAAwyC,EAAAryC,EAAA40I,cAAAh1I,GACA,OAAA,IAAAI,EAAAqyC,EAAA6hG,EAAAr0I,IAEAG,EAAA40I,cAAA,SAAAh1I,GACA,MAAA,CACAF,MAAA8V,EAAAkB,WACA9W,QAAAA,IAGAI,EAAApC,UAAAopH,SAAA,WACA,QAAA,MAAAhqH,KAAAq1C,QAAA,MAAAr1C,KAAAk3I,UAAA,MAAAl3I,KAAA6C,SACA,gBAAA7C,KAAAq1C,QACAr1C,KAAA4G,QAAA1F,SAAAlB,KAAAq1C,OAAAsiG,cAOA30I,EAAApC,UAAA0B,KAAA,SAAApC,GACA,IAAAw3I,EAAA,MAAA13I,KAAAq1C,OAAAsiG,YAAA33I,KAAAq1C,OAAAsiG,YAAA,EACA,GAAAD,EAAA,EACA,MAAA,IAAAr5I,MAAA,wDACA,IAAA+4I,EAAApxI,KAAAC,UAAAjG,KAAAq1C,QACAgiG,EAAArxI,KAAAC,UAAAjG,KAAAk3I,UACAI,EAAAtxI,KAAAC,UAAAjG,KAAA6C,SACA3C,EAAAoC,KAAA80I,GACAl3I,EAAAoC,KAAA+0I,GACAn3I,EAAAoC,KAAAg1I,IAEAt0I,EAAApC,UAAA8B,MAAA,WACA,OAAA1C,KAAAq1C,OAAA3yC,OAEAM,EAAApC,UAAAgC,QAAA,WACA,OAAA5C,KAAAq1C,OAAAzyC,SAEAI,EAAApC,UAAAiE,MAAA,WACA,OAAA7E,KAAAq1C,OAAAxwC,OAGA7B,EAAApC,UAAA6D,QAAA,WACA,MAAA,UAAAzE,KAAAq1C,OAEA,YAAAr1C,KAAAq1C,OAGA,KAFA,uBAFA,sBAMAryC,EA1EA,GA4EApF,EAAAoF,QAAAA,GC9EA,SAAAtF,EAAAC,EAAAC,GACA,IAAAwB,EAAA1B,EAAA,KACA+C,EAAA,WACA,SAAAA,IACAT,KAAAuC,QAAA,KACAvC,KAAA63I,SAAA,KACA73I,KAAA83I,WAAA,GACA93I,KAAA+3I,YAAA,KACA/3I,KAAAg4I,kBAAAh4I,KAAAi4I,QAmDA,OAjDAx3I,EAAAG,UAAAuD,QAAA,SAAA+zI,GACAl4I,KAAAg4I,kBAAAE,IAEAz3I,EAAAG,UAAAq3I,QAAA,SAAAC,GACAl4I,KAAAm4I,aAAAD,GACAl4I,KAAAuC,QAAA,KACAvC,KAAA63I,SAAA,KACA73I,KAAA83I,WAAA,CAAAI,GACAl4I,KAAA+3I,YAAA,KACA/3I,KAAAg4I,kBAAAh4I,KAAAo4I,WAEA33I,EAAAG,UAAAw3I,UAAA,SAAAF,GACAl4I,KAAAm4I,aAAAD,GACAl4I,KAAA83I,WAAA9sI,KAAAktI,GACAl4I,KAAAg4I,kBAAAh4I,KAAAq4I,UAEA53I,EAAAG,UAAAy3I,SAAA,SAAAH,GACAl4I,KAAAm4I,aAAAD,GACAl4I,KAAA83I,WAAA9sI,KAAAktI,GACA,IAAAxtI,EAAA1K,KAAA83I,WAAArzG,MAAA,EAAA,GAAA2yG,EAAA1sI,EAAA,GAAA2sI,EAAA3sI,EAAA,GAAA4sI,EAAA5sI,EAAA,GACA1K,KAAA63I,SAAAz4I,EAAA4D,QAAAm0I,SAAAC,EAAAC,EAAAC,GACAt3I,KAAAs4I,mBAEA73I,EAAAG,UAAA23I,eAAA,SAAAL,GACAl4I,KAAAm4I,aAAAD,GACAl4I,KAAA+3I,YAAAG,EACAl4I,KAAAg4I,kBAAAh4I,KAAAw4I,iBAEA/3I,EAAAG,UAAA43I,gBAAA,SAAAN,GACAl4I,KAAAy4I,eAAAP,GACAl4I,KAAA63I,SAAAN,gBAAAv3I,KAAA+3I,YAAAG,GACAl4I,KAAAs4I,mBAEA73I,EAAAG,UAAAu3I,aAAA,SAAAD,GACA,GAAAA,aAAAv5H,YACA,MAAA,IAAAtgB,MAAA,wDAEAoC,EAAAG,UAAA63I,eAAA,SAAAP,GACA,KAAAA,aAAAv5H,aACA,MAAA,IAAAtgB,MAAA,wDAEAoC,EAAAG,UAAA03I,gBAAA,WACAt4I,KAAA63I,SAAA7tB,YACAhqH,KAAAuC,QAAAvC,KAAA63I,SACA73I,KAAAg4I,kBAAAh4I,KAAAi4I,SAGAj4I,KAAAg4I,kBAAAh4I,KAAAu4I,gBAEA93I,EAzDA,GA2DA7C,EAAA6C,SAAAA,GC7DA,SAAA/C,EAAAC,EAAAC,GA8DAA,EAAA46D,OAfA,SAAAxkD,EAAA2F,QACA,IAAAA,IACAA,GAAA,GAEA,IACA,OAAA3F,IAEA,MAAAjS,GAEA,GAvDA,SAAAA,GAEA,IAAA+Q,EAAAhP,SAAA4H,cAAA,OACAoH,EAAA1G,MAAAszD,gBAAA,UACA5sD,EAAA1G,MAAA2B,OAAA,oBACA+E,EAAA1G,MAAAssI,aAAA,MACA5lI,EAAA1G,MAAAsF,QAAA,eACAoB,EAAA1G,MAAAusI,WAAA,aACA7lI,EAAA1G,MAAAqC,UAAA,MACAqE,EAAA1G,MAAAwsI,SAAA,QACA9lI,EAAA1G,MAAAyC,QAAA,mBACAiE,EAAAnH,UAAAC,IAAA,+BAEA,IAAAuE,EAAArM,SAAA4H,cAAA,QACAyE,EAAA/D,MAAAszD,gBAAA,UACAvvD,EAAA/D,MAAAssI,aAAA,kBACAvoI,EAAA/D,MAAAyhC,MAAA,QACA19B,EAAA/D,MAAAuI,OAAA,UACAxE,EAAA/D,MAAAysI,SAAA,QACA1oI,EAAA/D,MAAA05C,SAAA,QACA31C,EAAA/D,MAAAoC,OAAA,oBACA2B,EAAA/D,MAAAyC,QAAA,kBACAsB,EAAAq+C,MAAA,QACAr+C,EAAA5D,aAAA,aAAA,SACA4D,EAAAxD,YAAA7I,SAAA8I,eAAA,MACAuD,EAAA2tB,iBAAA,QAAA,WAAA,OAAA7oB,EAAAnE,YAAAgC,KAEA,IAAA07C,EAAA1qD,SAAA4H,cAAA,MACA8iD,EAAApiD,MAAAyhC,MAAA,UACA2gB,EAAApiD,MAAAoC,OAAA,kBACAggD,EAAApiD,MAAAyC,QAAA,MACA2/C,EAAA7hD,YAAA7I,SAAA8I,eAAA,gBAEA,IAAArK,EAAAuB,SAAA4H,cAAA,OACAnJ,EAAA6J,MAAA0sI,WAAA,QACAv2I,EAAA6J,MAAA2sI,UAAA,OACA,IAAAj2I,EAAAf,aAAA1D,MAAA0D,EAAAQ,QAAAR,EACAQ,EAAAoK,YAAA7I,SAAA8I,eAAA9J,IAEAgQ,EAAAnG,YAAAwD,GACA2C,EAAAnG,YAAA6hD,GACA17C,EAAAnG,YAAApK,GAEA,IAAA0S,EAAAnR,SAAAk1I,qBAAA,QAAA,GACA/jI,EAAAzD,aAAAsB,EAAAmC,EAAA5D,YAUA4nI,CAAAl3I,GACA4X,EAGA,OAFA,MAAA5X,KCzDA,SAAArE,EAAAC,EAAAC,GAOA,SAAAs7I,IACA,IAAAjkI,EAAAnR,SAAAk1I,qBAAA,QAAA,GACA7yH,EAAAriB,SAAAq1I,uBAAA,kBACA,GAAAhzH,EAAAjlB,SACA+T,EAAAnE,YAAAqV,EAAA,WACAA,EAAA,IAEA,IAAArT,EAAAhP,SAAA4H,cAAA,OACAoH,EAAAnH,UAAAC,IAAA,kBACAkH,EAAA1G,MAAAsF,QAAA,OACAuD,EAAAzD,aAAAsB,EAAAmC,EAAA5D,YAfAzT,EAAA6nC,QAAA,GAoBA7nC,EAAA+0B,KAHA,WACAumH,KAOAt7I,EAAAw7I,OAJA,SAAA/sI,EAAAR,GACAjO,EAAA6nC,QAAAp5B,GAAAR,EACAqtI,KASAt7I,EAAA64I,MANA,SAAApqI,GACAuM,MAAAhb,EAAA6nC,QAAAp5B,KACAzO,EAAA6nC,QAAAp5B,GAAA,GACAzO,EAAA6nC,QAAAp5B,IAAA,EACA6sI,KAUAt7I,EAAAgW,MAPA,WACA,IAAA,IAAAxJ,EAAA,EAAAM,EAAA1L,OAAAC,KAAArB,EAAA6nC,SAAAr7B,EAAAM,EAAAxJ,OAAAkJ,IAAA,CACA,IAAA+B,EAAAzB,EAAAN,UACAxM,EAAA6nC,QAAAt5B,GAEA+sI,MCxCA,SAAAx7I,EAAAC,EAAAC,GACAA,EAAA40D,QAAA,SCDA,SAAA90D,EAAAC,EAAAC,IAcA,WACA,aACA,IAAAy7I,EAAA5pH,EAAA6pH,EAAAC,EAAAC,EAEA,SAAAz2F,EAAA/J,EAAAre,GACA,IAAA1qB,EAAAhR,EAAAD,OAAAC,KAAA07B,GACA,IAAA1qB,EAAA,EAAAA,EAAAhR,EAAAiC,OAAA+O,IACA+oC,EAAAA,EAAA/K,QAAA,IAAAM,OAAA,MAAAtvC,EAAAgR,GAAA,MAAA,MAAA0qB,EAAA17B,EAAAgR,KAEA,OAAA+oC,EAGA,SAAAygG,EAAAC,GACA,IAAA1jG,EAAA2jG,EAAA1pI,EACA,IAAAypI,EACA,MAAA,IAAAr7I,MAAA,iEAEA23C,EAAA,sDACA2jG,EAAA,GACA,GAEA,IADAA,EAAA,GACA1pI,EAAA,EAAAA,EAAA,GAAAA,IACA0pI,GAAA3jG,EAAA1mC,KAAA64B,MAAA74B,KAAAsiC,SAAAoE,EAAA90C,eAEAw4I,EAAAC,IACA,OAAAA,EAwBA,SAAAC,EAAAhqH,GAEA,IAAAitF,EAAA,CAAAg9B,WAAA,aAAAC,QAAA,UAAA9rI,IAAA,mBAAAE,OAAA,kBAAA6rI,OAAA,WACA,OAAAl9B,EAAAjtF,IAAAitF,EAAAg9B,WAIAL,EA5BA,SAAAlzH,EAAA0zH,GACA,IAAA/pI,EAAAqpC,EAAA2gG,EAAA/b,EAAA,GAIA,IAHA53G,EAAAA,EAAAta,MAAA,KACAguI,EAAAA,GAAA,GAEA/pI,EAAA,EAAAA,EAAAqW,EAAAplB,OAAA+O,GAAA,EACAqpC,EAAA,IAAAhzB,EAAArW,EAAA,GAAA,IACAgqI,EAAA/qG,SAAA5oB,EAAArW,GAAA+pI,GACA9b,EAAA5kF,GAAA,KAAA2gG,EAAA,IAIA,OADA/b,EAAA,SAAA,SACAA,EAgBAgc,CAAA,+rEAwBA,IAEAb,EAAA,CACA3wF,YAAA,CACAyxF,QAAA,SACArqI,OAAA,UACAgqG,IAAA,OACAvyG,MAAA,UAEAqhD,UAAA,CACAuxF,QAAA,OACArqI,OAAA,UACAgqG,IAAA,KACAvyG,MAAA,QAEAohD,QAAA,CACAwxF,QAAA,iBACArqI,OAAA,OACAgqG,IAAA,OACAvyG,MAAA,UAEAkiD,SAAA,CACA0wF,QAAA,kBACArqI,OAAA,QACAgqG,IAAA,QACAvyG,MAAA,UAEA6yI,WAAA,CACAD,QAAA,oBACArqI,OAAA,GACAgqG,IAAA,EACAvyG,MAAA,UAEAshD,UAAA,CACAsxF,QAAA,eACArqI,OAAA,EACAgqG,IAAA,EACAvyG,MAAA,UAEAiiD,YAAA,CACA2wF,QAAA,UACArqI,OAAA,EACAgqG,IAAA,EACAvyG,MAAA,eAEAi9C,KAAA,CAEA10C,OAAA,mBAEAuqI,YAAA,CACAvqI,OAAA,WAEAwqI,cAAA,CACAxqI,OAAA,GAEAyqI,cAAA,CACAzqI,OAAA,GAEA0qI,WAAA,CACA1qI,OAAA,GAEA+f,UAAA,CACA/f,OAAA,SAEA8f,aAAA,CACA9f,OAAA,cAEA2qI,SAAA,CACAN,QAAA,mBACArqI,OAAA,GACAgqG,IAAA,KACAvyG,MAAA,YAQA+xI,EAAA,SAAAoB,EAAAjrH,GACAzvB,KAAA26I,OAAAD,EACA16I,KAAA46I,MAAAnrH,IAKA7uB,UAAAi6I,aAAA,SAAA9oI,EAAA87B,GACA,IAAA3gC,EAAA23B,EAAA7kC,KAAA46I,MAAAE,gBAAA,QACAj2G,EAAAt4B,aAAA,SAAAwF,IACA,IAAA87B,EAAAlJ,QAAA,SAGAz3B,EADA,kEACA6tI,KAAAltG,GACAhJ,EAAAt4B,aAAA,aAAAw2C,EAAA,mBAAA,CAAAl9B,EAAA3Y,EAAA,GAAA0hC,EAAA1hC,EAAA,GAAAqU,EAAArU,EAAA,MACA23B,EAAAt4B,aAAA,eAAAW,EAAA,KAGA23B,EAAAt4B,aAAA,aAAAshC,GAEA7tC,KAAA26I,OAAAhuI,YAAAk4B,IAEA00G,EAAA,SAAArvF,EAAAz6B,GACAzvB,KAAA26I,OAAAzwF,EACAlqD,KAAA46I,MAAAnrH,IAWAA,EAAA,SAAAurH,GACA,IAAAjxI,EAAAkxI,EAAA,CAAA5rI,MAAA,IAAAG,OAAA,IAAA0rI,iBAAA,GAaA,GAXA1zI,UAAAtG,OAAA,IACA6I,EAAAkxI,GACA5rI,MAAA7H,UAAA,GACAuC,EAAAyF,OAAAhI,UAAA,IAMAuC,EAJAixI,GACAC,IAKAj7I,gBAAAyvB,GAEA,OAAA,IAAAA,EAAA1lB,GAGA/J,KAAAqP,MAAAtF,EAAAsF,OAAA4rI,EAAA5rI,MACArP,KAAAwP,OAAAzF,EAAAyF,QAAAyrI,EAAAzrI,OACAxP,KAAAk7I,qBAAAtiI,IAAA7O,EAAAmxI,gBAAAnxI,EAAAmxI,gBAAAD,EAAAC,gBACAl7I,KAAA8P,OAAA9P,KACAA,KAAAm7I,WAAApxI,EAAAjG,UAAAA,SAGAiG,EAAA0lB,IACAzvB,KAAA46I,MAAA7wI,EAAA0lB,KAGAzvB,KAAAo7I,SAAAp7I,KAAAm7I,WAAAzvI,cAAA,UACA1L,KAAA46I,MAAA56I,KAAAo7I,SAAA3yF,WAAA,OAEAzoD,KAAAq7I,qBACAr7I,KAAAs7I,QAAA,CAAAt7I,KAAAu7I,mBACAv7I,KAAAw7I,aAAA,GAEAx7I,KAAA26I,OAAA36I,KAAAm7I,WAAAM,gBAAA,6BAAA,OACAz7I,KAAA26I,OAAApuI,aAAA,UAAA,KACAvM,KAAA26I,OAAApuI,aAAA,QAAA,8BACAvM,KAAA26I,OAAAe,eAAA,gCAAA,cAAA,gCACA17I,KAAA26I,OAAApuI,aAAA,QAAAvM,KAAAqP,OACArP,KAAA26I,OAAApuI,aAAA,SAAAvM,KAAAwP,QAEAxP,KAAA27I,MAAA,GAEA37I,KAAA47I,OAAA57I,KAAAm7I,WAAAM,gBAAA,6BAAA,QACAz7I,KAAA26I,OAAAhuI,YAAA3M,KAAA47I,QAEA57I,KAAA67I,iBAAA77I,KAAAm7I,WAAAM,gBAAA,6BAAA,KACAz7I,KAAA26I,OAAAhuI,YAAA3M,KAAA67I,oBAMAj7I,UAAAk6I,gBAAA,SAAAgB,EAAA5iI,EAAA6iI,QACA,IAAA7iI,IACAA,EAAA,IAEA,IAAAjJ,EAAA5D,EAAAZ,EAAAzL,KAAAm7I,WAAAM,gBAAA,6BAAAK,GAAA78I,EAAAD,OAAAC,KAAAia,GAMA,IALA6iI,IAEAtwI,EAAAc,aAAA,OAAA,QACAd,EAAAc,aAAA,SAAA,SAEA0D,EAAA,EAAAA,EAAAhR,EAAAiC,OAAA+O,IACA5D,EAAApN,EAAAgR,GACAxE,EAAAc,aAAAF,EAAA6M,EAAA7M,IAEA,OAAAZ,GAMAgkB,EAAA7uB,UAAAy6I,mBAAA,WAEA,IAAAprI,EAAA5D,EAAApN,EAAAD,OAAAC,KAAAo6I,GACA,IAAAppI,EAAA,EAAAA,EAAAhR,EAAAiC,OAAA+O,IAEAjQ,KADAqM,EAAApN,EAAAgR,IACAopI,EAAAhtI,GAAAyD,QAQA2f,EAAA7uB,UAAAo7I,kBAAA,SAAAC,GACA,IAAAhsI,EAAA5D,EAAApN,EAAAD,OAAAC,KAAAg9I,GACA,IAAAhsI,EAAA,EAAAA,EAAAhR,EAAAiC,OAAA+O,IAEAjQ,KADAqM,EAAApN,EAAAgR,IACAgsI,EAAA5vI,IAQAojB,EAAA7uB,UAAA26I,gBAAA,WACA,IAAAtrI,EAAA5D,EAAA4vI,EAAA,GAAAh9I,EAAAD,OAAAC,KAAAo6I,GACA,IAAAppI,EAAA,EAAAA,EAAAhR,EAAAiC,OAAA+O,IACA5D,EAAApN,EAAAgR,GACAgsI,EAAA5vI,GAAArM,KAAAqM,GAEA,OAAA4vI,GAOAxsH,EAAA7uB,UAAAs7I,6BAAA,SAAA3iI,GACA,IAAA4iI,EAAAn8I,KAAA67I,iBACAO,EAAAp8I,KAAAq8I,yBACAD,IACAD,EAAA5vI,aAAAgN,EAAA,IACA4iI,EAAAC,EAAA3wI,QACA2wI,EAAA5wI,SAAAywB,QAAA,SAAA1qB,GACAA,EAAAhF,aAAAgN,EAAA,OAGA,IAAAtJ,EAAA7D,EAAAP,EAAAjM,EAAAsN,EAAAjO,EAAAD,OAAAC,KAAAo6I,GACA,IAAAppI,EAAA,EAAAA,EAAAhR,EAAAiC,OAAA+O,IAGA,GAFA7D,EAAAitI,EAAAp6I,EAAAgR,IACApE,EAAA7L,KAAAf,EAAAgR,IACA7D,EAAA7E,MAEA,GAAAsE,aAAA0tI,EAAA,CAEA,GAAA1tI,EAAA+uI,MAEA,KAAA/uI,EAAA+uI,MAAAgB,OAAAhrE,WAAA1vE,QACAtB,EAAAiM,EAAA+uI,MAAAgB,OAAAhrE,WAAA,GAAA0rE,aAAA,MACAt8I,KAAA27I,MAAA/7I,GAAAA,EACAI,KAAA47I,OAAAjvI,YAAAd,EAAA+uI,MAAAgB,OAAAhrE,WAAA,IAGAurE,EAAA5vI,aAAAH,EAAA7E,MAAAw7C,EAAA,aAAA,CAAAnjD,GAAAiM,EAAA8uI,OAAA2B,aAAA,cAEA,GAAAzwI,aAAAytI,EAEA6C,EAAA5vI,aAAAH,EAAA7E,MAAAw7C,EAAA,aAAA,CAAAnjD,GAAAiM,EAAA8uI,OAAA2B,aAAA,cAEA,IAAA,IAAAlwI,EAAA7E,MAAAo9B,QAAAprB,IAAAnN,EAAA0tG,MAAAjuG,EACA,GAAA,WAAAO,EAAA+tI,SAAA,SAAA/tI,EAAA+tI,UAAA,IAAAtuI,EAAA84B,QAAA,QAaA,CACA,IAAAn+B,EAAA4F,EAAA+tI,QACA,GAAA,gBAAAl7I,EAAAgR,KACAzJ,EAAA+S,EAAA,IAAAnN,EAAA+tI,QACAgC,EAAAG,aAAA91I,IAEA,SAIA21I,EAAA5vI,aAAA/F,EAAAqF,OAvBA,CAGAqB,EADA,kEACA6tI,KAAAlvI,GACAswI,EAAA5vI,aAAAH,EAAA+tI,QAAAp3F,EAAA,mBAAA,CAAAl9B,EAAA3Y,EAAA,GAAA0hC,EAAA1hC,EAAA,GAAAqU,EAAArU,EAAA,MAEA,IAAAyyD,EAAAzyD,EAAA,GACAs8C,EAAAxpD,KAAAwpD,YACA,MAAAA,IACAmW,GAAAnW,GAEA2yF,EAAA5vI,aAAAH,EAAA+tI,QAAA,WAAAx6E,KAsBAlwC,EAAA7uB,UAAA27I,oBAAA,SAAAhrI,GAEA,MAAA,OADAA,EAAAA,GAAAvR,KAAA67I,kBACAW,UAAA,QAAAjrI,EAAAirI,SACAjrI,EAGAvR,KAAAu8I,oBAAAhrI,EAAAV,aASA4e,EAAA7uB,UAAAm5G,iBAAA,SAAA0iC,GACA,IAAAx9I,EAAAgR,EAAA5D,EAAAR,EAAA6wI,EAAAC,GAAA,IAAAC,eAAAC,kBAAA78I,KAAA26I,QAMA,GAJA,sFACAnsG,KAAAmuG,KACAA,EAAAA,EAAA1uG,QAAA,oCAAA,8CAEAwuG,EAGA,IAFAx9I,EAAAD,OAAAC,KAAAu6I,GAEAvpI,EAAA,EAAAA,EAAAhR,EAAAiC,OAAA+O,IACA5D,EAAApN,EAAAgR,GACApE,EAAA2tI,EAAAntI,IACAqwI,EAAA,IAAAnuG,OAAAliC,EAAA,OACAmiC,KAAAmuG,KACAA,EAAAA,EAAA1uG,QAAAyuG,EAAA7wI,IAIA,OAAA8wI,GAMAltH,EAAA7uB,UAAAu5E,OAAA,WACA,OAAAn6E,KAAA26I,QAKAlrH,EAAA7uB,UAAAg7D,KAAA,WACA,IAAA+hB,EAAA39E,KAAA86I,gBAAA,KACAlqI,EAAA5Q,KAAAu8I,sBACAv8I,KAAAw7I,aAAAxwI,KAAA4F,GACAA,EAAAjE,YAAAgxE,GACA39E,KAAA67I,iBAAAl+D,EACA39E,KAAAs7I,QAAAtwI,KAAAhL,KAAAu7I,oBAKA9rH,EAAA7uB,UAAAq7D,QAAA,WACAj8D,KAAA67I,iBAAA77I,KAAAw7I,aAAAjqG,MACAvxC,KAAAq8I,yBAAA,KAEAr8I,KAAA67I,mBACA77I,KAAA67I,iBAAA77I,KAAA26I,OAAA/pE,WAAA,IAEA,IAAAxW,EAAAp6D,KAAAs7I,QAAA/pG,MACAvxC,KAAAg8I,kBAAA5hF,IAMA3qC,EAAA7uB,UAAAk8I,eAAA,SAAAn8H,GAEA,IAAA/P,EAAA5Q,KAAAu8I,sBACA,GAAA3rI,EAAAggE,WAAA1vE,OAAA,EAAA,CACA,SAAAlB,KAAA67I,iBAAAW,WACAx8I,KAAAq8I,2BACAr8I,KAAAq8I,yBAAA,CAAA5wI,QAAAmF,EAAApF,SAAA,KACAxL,KAAAq8I,yBAAA7wI,SAAAR,KAAAhL,KAAA67I,kBACA77I,KAAA+8I,6BAEA,IAAAp/D,EAAA39E,KAAA86I,gBAAA,KACAlqI,EAAAjE,YAAAgxE,GACA39E,KAAA67I,iBAAAl+D,EAEA,IAAAliE,EAAAzb,KAAA67I,iBAAAS,aAAA,aACA7gI,EACAA,GAAA,IAGAA,EAAA,GAEAA,GAAAkF,EACA3gB,KAAA67I,iBAAAtvI,aAAA,YAAAkP,IAKAgU,EAAA7uB,UAAAmI,MAAA,SAAAN,EAAAC,QACAkQ,IAAAlQ,IACAA,EAAAD,GAEAzI,KAAA88I,eAAA/5F,EAAA,iBAAA,CAAAt6C,EAAAA,EAAAC,EAAAA,MAKA+mB,EAAA7uB,UAAA0uB,OAAA,SAAAhO,GACA,IAAA07H,EAAA,IAAA17H,EAAAhS,KAAA0e,GACAhuB,KAAA88I,eAAA/5F,EAAA,4BAAA,CAAAzhC,MAAA07H,EAAAjkC,GAAA,EAAAC,GAAA,MAKAvpF,EAAA7uB,UAAA4rC,UAAA,SAAA/jC,EAAAC,GACA1I,KAAA88I,eAAA/5F,EAAA,qBAAA,CAAAt6C,EAAAA,EAAAC,EAAAA,MAKA+mB,EAAA7uB,UAAA6a,UAAA,SAAAzL,EAAAuR,EAAAuE,EAAAgsB,EAAAztC,EAAAkJ,GACAvN,KAAA88I,eAAA/5F,EAAA,kCAAA,CAAA/yC,EAAAA,EAAAuR,EAAAA,EAAAuE,EAAAA,EAAAgsB,EAAAA,EAAAztC,EAAAA,EAAAkJ,EAAAA,MAKAkiB,EAAA7uB,UAAAk7D,UAAA,WACA,IAAAmhF,EAGAj9I,KAAAk9I,qBAAA,GACAl9I,KAAAm9I,kBAAA,GACAF,EAAAj9I,KAAA86I,gBAAA,OAAA,IAAA,GACA96I,KAAAu8I,sBACA5vI,YAAAswI,GACAj9I,KAAA67I,iBAAAoB,GAMAxtH,EAAA7uB,UAAAm8I,0BAAA,WACA,IAAAZ,EAAAn8I,KAAA67I,iBACA,SAAAM,EAAAK,SACAL,EAAA5vI,aAAA,IAAAvM,KAAAk9I,sBAGAr+I,QAAAkD,MAAA,0CAAAo6I,EAAAK,WAOA/sH,EAAA7uB,UAAAw8I,iBAAA,SAAAC,GACAr9I,KAAAk9I,sBAAA,IACAl9I,KAAAk9I,sBAAAG,GAMA5tH,EAAA7uB,UAAA+rC,OAAA,SAAAlkC,EAAAC,GACA,SAAA1I,KAAA67I,iBAAAW,UACAx8I,KAAA87D,YAGA97D,KAAAm9I,kBAAA,CAAA10I,EAAAA,EAAAC,EAAAA,GACA1I,KAAAo9I,iBAAAr6F,EAAA,YAAA,CAAAt6C,EAAAA,EAAAC,EAAAA,MAKA+mB,EAAA7uB,UAAAm7D,UAAA,WACA/7D,KAAAk9I,sBACAl9I,KAAAo9I,iBAAA,MAMA3tH,EAAA7uB,UAAAsnD,OAAA,SAAAz/C,EAAAC,GACA1I,KAAAm9I,kBAAA,CAAA10I,EAAAA,EAAAC,EAAAA,GACA1I,KAAAk9I,qBAAAv4G,QAAA,MAAA,EACA3kC,KAAAo9I,iBAAAr6F,EAAA,YAAA,CAAAt6C,EAAAA,EAAAC,EAAAA,KAGA1I,KAAAo9I,iBAAAr6F,EAAA,YAAA,CAAAt6C,EAAAA,EAAAC,EAAAA,MAMA+mB,EAAA7uB,UAAAgsC,cAAA,SAAA0wG,EAAAC,EAAAC,EAAAC,EAAAh1I,EAAAC,GACA1I,KAAAm9I,kBAAA,CAAA10I,EAAAA,EAAAC,EAAAA,GACA1I,KAAAo9I,iBAAAr6F,EAAA,wCAAA,CAAAu6F,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,EAAAC,KAAAA,EAAAh1I,EAAAA,EAAAC,EAAAA,MAKA+mB,EAAA7uB,UAAAq1F,iBAAA,SAAAynD,EAAAC,EAAAl1I,EAAAC,GACA1I,KAAAm9I,kBAAA,CAAA10I,EAAAA,EAAAC,EAAAA,GACA1I,KAAAo9I,iBAAAr6F,EAAA,wBAAA,CAAA26F,IAAAA,EAAAC,IAAAA,EAAAl1I,EAAAA,EAAAC,EAAAA,MAKA,IAAAk1I,EAAA,SAAAC,GACA,IAAA52G,EAAA33B,KAAAsT,KAAAi7H,EAAA,GAAAA,EAAA,GAAAA,EAAA,GAAAA,EAAA,IACA,MAAA,CAAAA,EAAA,GAAA52G,EAAA42G,EAAA,GAAA52G,IAOAxX,EAAA7uB,UAAAk9I,MAAA,SAAA78H,EAAAC,EAAAC,EAAAC,EAAAwjE,GAEA,IAAApjE,EAAAxhB,KAAAm9I,mBAAAn9I,KAAAm9I,kBAAA10I,EACAgZ,EAAAzhB,KAAAm9I,mBAAAn9I,KAAAm9I,kBAAAz0I,EAEA,QAAA,IAAA8Y,QAAA,IAAAC,EAAA,CAIA,GAAAmjE,EAAA,EACA,MAAA,IAAAvmF,MAAA,wCAAAumF,EAAA,kBAOA,GAAApjE,IAAAP,GAAAQ,IAAAP,GACAD,IAAAE,GAAAD,IAAAE,GACA,IAAAwjE,EACA5kF,KAAAkoD,OAAAjnC,EAAAC,OAHA,CASA,IAAA68H,EAAAH,EAAA,CAAAp8H,EAAAP,EAAAQ,EAAAP,IACA88H,EAAAJ,EAAA,CAAAz8H,EAAAF,EAAAG,EAAAF,IACA,GAAA68H,EAAA,GAAAC,EAAA,IAAAD,EAAA,GAAAC,EAAA,GAAA,CASA,IAAAp8H,EAAAm8H,EAAA,GAAAC,EAAA,GAAAD,EAAA,GAAAC,EAAA,GACAC,EAAA3uI,KAAA4uI,KAAA5uI,KAAAsd,IAAAhL,IAEAu8H,EAAAP,EAAA,CACAG,EAAA,GAAAC,EAAA,GACAD,EAAA,GAAAC,EAAA,KAEAI,EAAAx5D,EAAAt1E,KAAAuS,IAAAo8H,EAAA,GACAx1I,EAAAwY,EAAAm9H,EAAAD,EAAA,GACAz1I,EAAAwY,EAAAk9H,EAAAD,EAAA,GAGAE,EAAA,EACAN,EAAA,GACAA,EAAA,IAGAO,EAAA,CACAN,EAAA,IACAA,EAAA,IAEAO,EAAA,SAAAV,GAEA,IAAAp1I,EAAAo1I,EAAA,GACAn1I,EAAAm1I,EAAA,GACA,OAAAn1I,GAAA,EACA4G,KAAA4uI,KAAAz1I,IAGA6G,KAAA4uI,KAAAz1I,IAGA+1I,EAAAD,EAAAF,GACAI,EAAAF,EAAAD,GAEAt+I,KAAAkoD,OAAAz/C,EAAA41I,EAAA,GAAAz5D,EAAAl8E,EAAA21I,EAAA,GAAAz5D,GAGA5kF,KAAA8oD,IAAArgD,EAAAC,EAAAk8E,EAAA45D,EAAAC,QA9CAz+I,KAAAkoD,OAAAjnC,EAAAC,MAmDAuO,EAAA7uB,UAAAunD,OAAA,WACA,SAAAnoD,KAAA67I,iBAAAW,UACAx8I,KAAA67I,iBAAAtvI,aAAA,cAAA,uBAEAvM,KAAA+8I,4BACA/8I,KAAAk8I,6BAAA,WAKAzsH,EAAA7uB,UAAA21B,KAAA,WACA,SAAAv2B,KAAA67I,iBAAAW,UACAx8I,KAAA67I,iBAAAtvI,aAAA,cAAA,uBAEAvM,KAAA+8I,4BACA/8I,KAAAk8I,6BAAA,SAKAzsH,EAAA7uB,UAAAuO,KAAA,SAAA1G,EAAAC,EAAA2G,EAAAG,GACA,SAAAxP,KAAA67I,iBAAAW,UACAx8I,KAAA87D,YAEA97D,KAAA2sC,OAAAlkC,EAAAC,GACA1I,KAAAkoD,OAAAz/C,EAAA4G,EAAA3G,GACA1I,KAAAkoD,OAAAz/C,EAAA4G,EAAA3G,EAAA8G,GACAxP,KAAAkoD,OAAAz/C,EAAAC,EAAA8G,GACAxP,KAAAkoD,OAAAz/C,EAAAC,GACA1I,KAAA+7D,aAKAtsC,EAAA7uB,UAAA6iE,SAAA,SAAAh7D,EAAAC,EAAA2G,EAAAG,GACA,IAAAL,EACAA,EAAAnP,KAAA86I,gBAAA,OAAA,CACAryI,EAAAA,EACAC,EAAAA,EACA2G,MAAAA,EACAG,OAAAA,IACA,GACAxP,KAAAu8I,sBACA5vI,YAAAwC,GACAnP,KAAA67I,iBAAA1sI,EACAnP,KAAAk8I,6BAAA,SASAzsH,EAAA7uB,UAAA+iE,WAAA,SAAAl7D,EAAAC,EAAA2G,EAAAG,GACA,IAAAL,EACAA,EAAAnP,KAAA86I,gBAAA,OAAA,CACAryI,EAAAA,EACAC,EAAAA,EACA2G,MAAAA,EACAG,OAAAA,IACA,GACAxP,KAAAu8I,sBACA5vI,YAAAwC,GACAnP,KAAA67I,iBAAA1sI,EACAnP,KAAAk8I,6BAAA,WAOAzsH,EAAA7uB,UAAA89I,cAAA,WAIA,IAHA,IAAAtiI,EAAApc,KAAAu8I,sBAAA9gI,EAAAW,EAAAkgI,aAAA,aACAqC,EAAA3+I,KAAA26I,OAAA/pE,WAAA,GACAA,EAAA+tE,EAAA/tE,WACA3gE,EAAA2gE,EAAA1vE,OAAA,EAAA+O,GAAA,EAAAA,IACA2gE,EAAA3gE,IACA0uI,EAAA7tI,YAAA8/D,EAAA3gE,IAGAjQ,KAAA67I,iBAAA8C,EAEA3+I,KAAAw7I,aAAA,GACA//H,GACAzb,KAAA88I,eAAArhI,IAMAgU,EAAA7uB,UAAAguG,UAAA,SAAAnmG,EAAAC,EAAA2G,EAAAG,GAEA,GAAA,IAAA/G,GAAA,IAAAC,GAAA2G,IAAArP,KAAAqP,OAAAG,IAAAxP,KAAAwP,OAAA,CAIA,IAAAL,EAAAyB,EAAA5Q,KAAAu8I,sBACAptI,EAAAnP,KAAA86I,gBAAA,OAAA,CACAryI,EAAAA,EACAC,EAAAA,EACA2G,MAAAA,EACAG,OAAAA,EACA+mB,KAAA,YACA,GACA3lB,EAAAjE,YAAAwC,QAXAnP,KAAA0+I,iBAiBAjvH,EAAA7uB,UAAAg+I,qBAAA,SAAA39H,EAAAC,EAAAC,EAAAC,GACA,IAAAy9H,EAAA7+I,KAAA86I,gBAAA,iBAAA,CACAl7I,GAAA65I,EAAAz5I,KAAA27I,OACA16H,GAAAA,EAAA,KACAE,GAAAA,EAAA,KACAD,GAAAA,EAAA,KACAE,GAAAA,EAAA,KACA09H,cAAA,mBACA,GAEA,OADA9+I,KAAA47I,OAAAjvI,YAAAkyI,GACA,IAAAvF,EAAAuF,EAAA7+I,OAMAyvB,EAAA7uB,UAAAm+I,qBAAA,SAAAv9H,EAAAC,EAAAuE,EAAA/E,EAAAC,EAAAwE,GACA,IAAAm5H,EAAA7+I,KAAA86I,gBAAA,iBAAA,CACAl7I,GAAA65I,EAAAz5I,KAAA27I,OACA5iC,GAAA93F,EAAA,KACA+3F,GAAA93F,EAAA,KACA2E,EAAAH,EAAA,KACAwzF,GAAA13F,EAAA,KACA23F,GAAA13F,EAAA,KACAq9H,cAAA,mBACA,GAEA,OADA9+I,KAAA47I,OAAAjvI,YAAAkyI,GACA,IAAAvF,EAAAuF,EAAA7+I,OAMAyvB,EAAA7uB,UAAAo+I,YAAA,WACA,IACAC,EADA,sVACAlE,KAAA/6I,KAAAwkD,MACApgD,EAAA,CACAgI,MAAA6yI,EAAA,IAAA,SACA/vI,KAAA+vI,EAAA,IAAA,OACAC,OAAAD,EAAA,IAAA,aACA1oC,OAAA0oC,EAAA,IAAA,SACAE,WAAAF,EAAA,IAAA,SACAtnF,KAAA,MAUA,MAPA,cAAA33D,KAAAo/I,kBACAh7I,EAAA+6I,WAAA,aAGAn/I,KAAAq/I,aACAj7I,EAAAuzD,KAAA33D,KAAAq/I,YAEAj7I,GASAqrB,EAAA7uB,UAAA0+I,eAAA,SAAA96F,EAAA/4C,GACA,GAAA+4C,EAAAmT,KAAA,CACA,IAAA3nD,EAAAhQ,KAAA86I,gBAAA,KAGA,OAFA9qI,EAAA0rI,eAAA,+BAAA,aAAAl3F,EAAAmT,MACA3nD,EAAArD,YAAAlB,GACAuE,EAEA,OAAAvE,GAUAgkB,EAAA7uB,UAAA2+I,YAAA,SAAAz8I,EAAA2F,EAAAC,EAAAwzD,GACA,IAjzBArsC,EAEAgtF,EA+yBAr4D,EAAAxkD,KAAAg/I,cAAApuI,EAAA5Q,KAAAu8I,sBAAAiD,EAAAx/I,KAAA86I,gBAAA,OAAA,CACA2E,cAAAj7F,EAAA06F,OACA/kB,YAAA31E,EAAAt1C,KACAwwI,aAAAl7F,EAAAp4C,MACAuzI,cAAAn7F,EAAA+xD,OACAqpC,kBAAAp7F,EAAA26F,WACA12I,EAAAA,EACAC,EAAAA,EACAm3I,eAzzBAhwH,EAyzBA7vB,KAAA6vB,UAvzBAgtF,EAAA,CAAAzuG,KAAA,QAAAE,MAAA,MAAAi4C,OAAA,SAAAx8B,MAAA,QAAAC,IAAA,OACA6yF,EAAAhtF,IAAAgtF,EAAA9yF,OAuzBA+1H,oBAAAlG,EAAA55I,KAAA4vB,gBACA,GACA4vH,EAAA7yI,YAAA3M,KAAAm7I,WAAAvuI,eAAA9J,IACA9C,KAAA67I,iBAAA2D,EACAx/I,KAAAk8I,6BAAAhgF,GACAtrD,EAAAjE,YAAA3M,KAAAs/I,eAAA96F,EAAAg7F,KAQA/vH,EAAA7uB,UAAAykE,SAAA,SAAAviE,EAAA2F,EAAAC,GACA1I,KAAAu/I,YAAAz8I,EAAA2F,EAAAC,EAAA,SAQA+mB,EAAA7uB,UAAAm/I,WAAA,SAAAj9I,EAAA2F,EAAAC,GACA1I,KAAAu/I,YAAAz8I,EAAA2F,EAAAC,EAAA,WAOA+mB,EAAA7uB,UAAAgrC,YAAA,SAAA9oC,GAEA,OADA9C,KAAA46I,MAAAp2F,KAAAxkD,KAAAwkD,KACAxkD,KAAA46I,MAAAhvG,YAAA9oC,IAKA2sB,EAAA7uB,UAAAkoD,IAAA,SAAArgD,EAAAC,EAAAk8E,EAAA45D,EAAAC,EAAAuB,GAEA,GAAAxB,IAAAC,EAAA,CAGAD,GAAA,EAAAlvI,KAAA0e,GACAywH,GAAA,EAAAnvI,KAAA0e,GACAwwH,IAAAC,IAEAA,GAAAA,EAAA,EAAAnvI,KAAA0e,GAAA,MAAAgyH,GAAA,EAAA,KAAA,EAAA1wI,KAAA0e,KAEA,IAAAiyH,EAAAx3I,EAAAm8E,EAAAt1E,KAAAsS,IAAA68H,GAAAyB,EAAAx3I,EAAAk8E,EAAAt1E,KAAAuS,IAAA48H,GAAA0B,EAAA13I,EAAAm8E,EAAAt1E,KAAAsS,IAAA48H,GAAA4B,EAAA13I,EAAAk8E,EAAAt1E,KAAAuS,IAAA28H,GAAA6B,EAAAL,EAAA,EAAA,EAAAM,EAAA,EAAA3vG,EAAA8tG,EAAAD,EAEA7tG,EAAA,IACAA,GAAA,EAAArhC,KAAA0e,IAGAsyH,EADAN,EACArvG,EAAArhC,KAAA0e,GAAA,EAAA,EAGA2iB,EAAArhC,KAAA0e,GAAA,EAAA,EAEAhuB,KAAAkoD,OAAAi4F,EAAAC,GACApgJ,KAAAo9I,iBAAAr6F,EAAA,uEAAA,CAAAtW,GAAAm4C,EAAAl4C,GAAAk4C,EAAA27D,cAAA,EAAAD,aAAAA,EAAAD,UAAAA,EAAAJ,KAAAA,EAAAC,KAAAA,KACAlgJ,KAAAm9I,kBAAA,CAAA10I,EAAAw3I,EAAAv3I,EAAAw3I,KAKAzwH,EAAA7uB,UAAAioC,KAAA,WACA,IAAA80C,EAAA39E,KAAAu8I,sBAAAiE,EAAAxgJ,KAAA86I,gBAAA,YAAAl7I,EAAA65I,EAAAz5I,KAAA27I,OAAA8E,EAAAzgJ,KAAA86I,gBAAA,KACA96I,KAAA+8I,4BACAp/D,EAAA7sE,YAAA9Q,KAAA67I,kBACA2E,EAAAj0I,aAAA,KAAA3M,GACA4gJ,EAAA7zI,YAAA3M,KAAA67I,kBACA77I,KAAA47I,OAAAjvI,YAAA6zI,GAEA7iE,EAAApxE,aAAA,YAAAw2C,EAAA,aAAA,CAAAnjD,GAAAA,KAGA+9E,EAAAhxE,YAAA8zI,GACAzgJ,KAAA67I,iBAAA4E,GAOAhxH,EAAA7uB,UAAAijE,UAAA,WAEA,IAAA+qB,EAAAC,EAAAJ,EAAAC,EAAApvB,EAAAC,EAAA3uD,EAAAkpG,EAAA4mC,EAAA/iE,EAAAgjE,EAAA7wI,EAAAmqB,EAAAr6B,EAAA+6B,EAAAlrB,MAAA7O,UAAA6jC,MAAA58B,KAAAL,WAAAi6D,EAAA9mC,EAAA,GAAApyB,EAAA,EAAAC,EAAA,EACA,GAAA,IAAAmyB,EAAAz5B,OACA0tF,EAAAj0D,EAAA,GACAk0D,EAAAl0D,EAAA,GACA2kC,EAAAmC,EAAApyD,MACAkwD,EAAAkC,EAAAjyD,OACAi/E,EAAAnvB,EACAovB,EAAAnvB,OAEA,GAAA,IAAA5kC,EAAAz5B,OACA0tF,EAAAj0D,EAAA,GACAk0D,EAAAl0D,EAAA,GACA8zD,EAAA9zD,EAAA,GACA+zD,EAAA/zD,EAAA,GACA2kC,EAAAmC,EAAApyD,MACAkwD,EAAAkC,EAAAjyD,WAEA,CAAA,GAAA,IAAAmrB,EAAAz5B,OAWA,MAAA,IAAA7C,MAAA,oDAAAmJ,UAAAtG,QAVAqH,EAAAoyB,EAAA,GACAnyB,EAAAmyB,EAAA,GACA2kC,EAAA3kC,EAAA,GACA4kC,EAAA5kC,EAAA,GACAi0D,EAAAj0D,EAAA,GACAk0D,EAAAl0D,EAAA,GACA8zD,EAAA9zD,EAAA,GACA+zD,EAAA/zD,EAAA,GAKA/pB,EAAA5Q,KAAAu8I,sBACAv8I,KAAA67I,iBACA,IAAA+E,EAAA,aAAAhyD,EAAA,KAAAC,EAAA,IACA,GAAAptB,aAAAhyC,GAIA,IADAqqF,EAAAr4C,EAAA0Y,SAAA0mE,WAAA,IACAjwE,YAAAkpC,EAAAlpC,WAAA1vE,OAAA,EAAA,CAEA,IADAw/I,EAAA5mC,EAAAlpC,WAAA,GACA8vE,EAAA9vE,WAAA1vE,QACAtB,EAAA8gJ,EAAA9vE,WAAA,GAAA0rE,aAAA,MACAt8I,KAAA27I,MAAA/7I,GAAAA,EACAI,KAAA47I,OAAAjvI,YAAA+zI,EAAA9vE,WAAA,IAGA,GADA+M,EAAAm8B,EAAAlpC,WAAA,GACA,CAEA,IACAkwE,EADAC,EAAApjE,EAAA2+D,aAAA,aAGAwE,EADAC,EACAA,EAAA,IAAAH,EAGAA,EAEAjjE,EAAApxE,aAAA,YAAAu0I,GACAlwI,EAAAjE,YAAAgxE,SAIA,QAAAlc,EAAA+6E,WACAmE,EAAA3gJ,KAAA86I,gBAAA,UACAvuI,aAAA,QAAAkiF,GACAkyD,EAAAp0I,aAAA,SAAAmiF,GACAiyD,EAAAp0I,aAAA,sBAAA,SACAhE,GAAAC,GAAA82D,IAAAmC,EAAApyD,OAAAkwD,IAAAkC,EAAAjyD,WAEAM,EAAA9P,KAAAm7I,WAAAzvI,cAAA,WACA2D,MAAAo/E,EACA3+E,EAAAN,OAAAk/E,GACAz0D,EAAAnqB,EAAA24C,WAAA,OACAob,UAAApC,EAAAl5D,EAAAC,EAAA82D,EAAAC,EAAA,EAAA,EAAAkvB,EAAAC,GACAjtB,EAAA3xD,GAEA6wI,EAAAp0I,aAAA,YAAAq0I,GACAD,EAAAjF,eAAA,+BAAA,aAAA,WAAAj6E,EAAA+6E,SAAA/6E,EAAAi4C,YAAAj4C,EAAA66E,aAAA,QACA1rI,EAAAjE,YAAAg0I,IAEA,WAAAl/E,EAAA+6E,YACAmE,EAAA3gJ,KAAA86I,gBAAA,UACAvuI,aAAA,QAAAkiF,GACAkyD,EAAAp0I,aAAA,SAAAmiF,GACAiyD,EAAAp0I,aAAA,sBAAA,SAEAuD,EAAA9P,KAAAm7I,WAAAzvI,cAAA,WACA2D,MAAAo/E,EACA3+E,EAAAN,OAAAk/E,GACAz0D,EAAAnqB,EAAA24C,WAAA,OACApd,uBAAA,EACApR,EAAAqR,0BAAA,EACArR,EAAAsR,wBAAA,EACAtR,EAAAuR,6BAAA,EACAvR,EAAA4pC,UAAApC,EAAAl5D,EAAAC,EAAA82D,EAAAC,EAAA,EAAA,EAAAkvB,EAAAC,GACAjtB,EAAA3xD,EACA6wI,EAAAp0I,aAAA,YAAAq0I,GACAD,EAAAjF,eAAA,+BAAA,aAAAj6E,EAAAi4C,aACA9oG,EAAAjE,YAAAg0I,KAMAlxH,EAAA7uB,UAAAwpD,cAAA,SAAAqX,EAAAkoD,GACA,IAAAj8B,EAAAxjC,EAAAlqD,KAAAm7I,WAAAM,gBAAA,6BAAA,WAAA77I,EAAA65I,EAAAz5I,KAAA27I,OAgBA,OAfAzxF,EAAA39C,aAAA,KAAA3M,GACAsqD,EAAA39C,aAAA,QAAAk1D,EAAApyD,OACA66C,EAAA39C,aAAA,SAAAk1D,EAAAjyD,QACA,WAAAiyD,EAAA+6E,UAAA,QAAA/6E,EAAA+6E,WACA9uD,EAAA1tF,KAAAm7I,WAAAM,gBAAA,6BAAA,UACAlvI,aAAA,QAAAk1D,EAAApyD,OACAq+E,EAAAnhF,aAAA,SAAAk1D,EAAAjyD,QACAk+E,EAAAguD,eAAA,+BAAA,aAAA,WAAAj6E,EAAA+6E,SAAA/6E,EAAAi4C,YAAAj4C,EAAA66E,aAAA,QACApyF,EAAAv9C,YAAA+gF,GACA1tF,KAAA47I,OAAAjvI,YAAAu9C,IAEAuX,aAAAhyC,IACAy6B,EAAAv9C,YAAA80D,EAAAk5E,OAAA/pE,WAAA,IACA5wE,KAAA47I,OAAAjvI,YAAAu9C,IAEA,IAAAqvF,EAAArvF,EAAAlqD,OAEAyvB,EAAA7uB,UAAA4pC,YAAA,SAAAw2G,GACAA,GAAAA,EAAA9/I,OAAA,EACAlB,KAAAy6I,SAAAuG,EAAA7uH,KAAA,KAGAnyB,KAAAy6I,SAAA,MAMAhrH,EAAA7uB,UAAAqgJ,cAAA,aACAxxH,EAAA7uB,UAAAsgJ,gBAAA,aACAzxH,EAAA7uB,UAAAwgE,aAAA,aACA3xC,EAAA7uB,UAAA4gE,aAAA,aACA/xC,EAAA7uB,UAAAugJ,yBAAA,aACA1xH,EAAA7uB,UAAAwgJ,aAAA,aAEA,iBAAApvI,SACAA,OAAAqvI,IAAA5xH,GAGA,iBAAA9xB,GAAA,iBAAAA,EAAAC,UACAD,EAAAC,QAAA6xB,GA5kCA,ICdA,SAAA/xB,EAAAC,EAAAC,GACA,IAAAqc,EAAAM,EAAA7c,EAAA,KAAA4jJ,EAAA5jJ,EAAA,KAAA6jJ,EAAA7jJ,EAAA,KAAAyM,EAAAzM,EAAA,KAAA8jJ,EAAA9jJ,EAAA,KAAA+jJ,EAAA/jJ,EAAA,KAAAq0B,EAAAgnD,SAAAn4E,UAAAmxB,KAAA9e,EAAAjU,OAAAiU,eAAArU,EAAAI,OAAA4B,UAAAhC,eACAqb,EAAA,SAAA9b,EAAAujJ,EAAA33I,GACA,IAAA43I,EAAA91I,EAAA41I,EAAAC,IAAAF,EAAAE,EAAA71I,OAWA,cAVA81I,EAAApnI,EAAAmnI,IACAE,gBACAD,EAAA91I,MACA81I,EAAAzuI,IAAA,WACA,OAAAnJ,EAAA83I,qBAAAjjJ,EAAAiJ,KAAA7H,KAAA7B,GACA0N,GACA61I,EAAA71I,MAAAkmB,EAAAlqB,KAAAgE,EAAA9B,EAAA+3I,eAAA/3I,EAAA+3I,eAAA9hJ,MAAAA,MACAiT,EAAAjT,KAAA7B,EAAAujJ,GACA1hJ,KAAA7B,KAEAwjJ,GAEAhkJ,EAAAC,QAAA,SAAA0b,GACA,IAAAvP,EAAAu3I,EAAA95I,UAAA,IAGA,OAFA,MAAAuC,EAAA+3I,gBACAP,EAAAx3I,EAAA+3I,gBACA33I,EAAAmP,EAAA,SAAAooI,EAAAvjJ,GAAA,OAAA8b,EAAA9b,EAAAujJ,EAAA33I,OCpBA,SAAArM,EAAAC,EAAAC,GACA,IAAAmkJ,EAAArkJ,EAAA,KAAAskJ,EAAAtkJ,EAAA,KAAAy4I,EAAAz4I,EAAA,KAAA8V,EAAA9V,EAAA,MACAC,EAAAC,QAAA,SAAAqkJ,EAAAp2I,GACA,IAAAia,EAAAzhB,EAAAoc,EAAA1W,EAAA23I,EAmBA,OAlBAl6I,UAAAtG,OAAA,GAAA,iBAAA+gJ,GACAl4I,EAAA8B,EACAA,EAAAo2I,EACAA,EAAA,MAGAl4I,EAAAvC,UAAA,GAEA,MAAAy6I,GACAn8H,EAAArF,GAAA,EACApc,GAAA,IAGAyhB,EAAAtS,EAAA3L,KAAAo6I,EAAA,KACA59I,EAAAmP,EAAA3L,KAAAo6I,EAAA,KACAxhI,EAAAjN,EAAA3L,KAAAo6I,EAAA,MAEAP,EAAA,CAAA71I,MAAAA,EAAAyH,aAAAwS,EAAAzS,WAAAhP,EAAAu9I,SAAAnhI,GACA1W,EAAAg4I,EAAAC,EAAAj4I,GAAA23I,GAAAA,IAEAQ,GAAA,SAAAD,EAAA/uI,EAAA2H,GACA,IAAAiL,EAAAzhB,EAAA0F,EAAA23I,EAiCA,MAhCA,iBAAAO,GACAl4I,EAAA8Q,EACAA,EAAA3H,EACAA,EAAA+uI,EACAA,EAAA,MAGAl4I,EAAAvC,UAAA,GAEA,MAAA0L,EACAA,OAAA0F,EAEAu9H,EAAAjjI,GAIA,MAAA2H,EACAA,OAAAjC,EAEAu9H,EAAAt7H,KACA9Q,EAAA8Q,EACAA,OAAAjC,IARA7O,EAAAmJ,EACAA,EAAA2H,OAAAjC,GASA,MAAAqpI,GACAn8H,GAAA,EACAzhB,GAAA,IAGAyhB,EAAAtS,EAAA3L,KAAAo6I,EAAA,KACA59I,EAAAmP,EAAA3L,KAAAo6I,EAAA,MAEAP,EAAA,CAAAxuI,IAAAA,EAAA2H,IAAAA,EAAAvH,aAAAwS,EAAAzS,WAAAhP,GACA0F,EAAAg4I,EAAAC,EAAAj4I,GAAA23I,GAAAA,IC1DA,SAAAhkJ,EAAAC,EAAAC,GACA,IAAAiO,EAAAnO,EAAA,KACAC,EAAAC,QAAA,WAEA,OADAiO,EAAA7L,MAAAkB,OAAA,EACAlB,OCJA,SAAAtC,EAAAC,EAAAC,GACA,IAAAukJ,EAAAzkJ,EAAA,KAAA0kJ,EAAA1kJ,EAAA,KAAAmO,EAAAnO,EAAA,KAAAinC,EAAAl1B,MAAA7O,UAAA+jC,QAAA09G,EAAArjJ,OAAA4B,UAAAhC,eAAAguB,EAAAtd,KAAAsd,IAAAub,EAAA74B,KAAA64B,MACAxqC,EAAAC,QAAA,SAAA0kJ,GACA,IAAAryI,EAAA/O,EAAAqhJ,EAAAlmI,EACA,IAAA8lI,EAAAG,GACA,OAAA39G,EAAAp9B,MAAAvH,KAAAwH,WASA,IARAtG,EAAAkhJ,EAAAv2I,EAAA7L,MAAAkB,QACAqhJ,EAAA/6I,UAAA,GAEA+6I,EADAhhE,MAAAghE,GACA,EACAA,GAAA,EACAp6G,EAAAo6G,GAEAH,EAAApiJ,KAAAkB,QAAAinC,EAAAvb,EAAA21H,IACAtyI,EAAAsyI,EAAAtyI,EAAA/O,IAAA+O,EACA,GAAAoyI,EAAAx6I,KAAA7H,KAAAiQ,KACAoM,EAAArc,KAAAiQ,GACAkyI,EAAA9lI,IACA,OAAApM,EAGA,OAAA,ICrBA,SAAAvS,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,GACA+R,MAAAC,KACAhS,EAAA,MCHA,SAAAA,EAAAC,EAAAC,GACAD,EAAAC,QAAA,WACA,IAAA43C,EAAAz3B,EAAArO,EAAAD,MAAAC,KACA,MAAA,mBAAAA,IAGAqO,EAAArO,EADA8lC,EAAA,CAAA,MAAA,QAEAriB,QAAApV,GAAAA,IAAAy3B,GAAA,QAAAz3B,EAAA,OCPA,SAAArgB,EAAAC,EAAAC,GACA,IAAA4kJ,EAAA9kJ,EAAA,KAAA+kJ,SAAAC,EAAAhlJ,EAAA,KAAA2c,EAAA3c,EAAA,KAAA0kJ,EAAA1kJ,EAAA,KAAA8jJ,EAAA9jJ,EAAA,KAAA+jJ,EAAA/jJ,EAAA,KAAA8pD,EAAA9pD,EAAA,KAAAqO,EAAArO,EAAA,KAAAuO,EAAAwD,MAAAxD,QAAApE,EAAAkxE,SAAAn4E,UAAAiH,KAAA65I,EAAA,CAAApuI,cAAA,EAAAD,YAAA,EAAAuuI,UAAA,EAAA/1I,MAAA,MAAAoH,EAAAjU,OAAAiU,eAEAtV,EAAAC,QAAA,SAAAk5I,GACA,IAAA6L,EAAA1yI,EAAAs1B,EAAAiQ,EAAAt0C,EAAAwD,EAAA+9I,EAAA1kI,EAAA6kI,EAAA/2I,EAAAmrI,EAAAxvI,UAAA,GAAAopC,EAAAppC,UAAA,GAIA,GAHAsvI,EAAA93I,OAAAyiJ,EAAA3K,IACAtvF,EAAAwvF,IACAwK,EAAAxK,GACAh3I,MAAAA,OAAAyP,OAAA4K,EAAAra,MAwBA2iJ,EAAA3iJ,SAxBA,CAEA,IAAAg3I,EAAA,CACA,GAAA0L,EAAA5L,GAGA,OAAA,KADA51I,EAAA41I,EAAA51I,QAEAuO,MAAAlI,MAAA,KAAAuvI,KACAthG,EAAA,IAAA/lC,MAAA,IACA,GAAAqnI,EAAA,GACAthG,GAEA,GAAAvpC,EAAA6qI,GAAA,CAGA,IADAthG,EAAA,IAAA/lC,MAAAvO,EAAA41I,EAAA51I,QACA+O,EAAA,EAAAA,EAAA/O,IAAA+O,EACAulC,EAAAvlC,GAAA6mI,EAAA7mI,GACA,OAAAulC,GAGAA,EAAA,GAMA,IAAAvpC,EAAA6qI,GACA,QAAAl+H,KAAAgqI,EAAA9L,EAAA0L,IAAA,CAOA,IALAC,EAAAjB,EAAAoB,GAAA/6I,KAAAivI,GACA6L,IACAntG,EAAA,IAAAmtG,GACA5kI,EAAA0kI,EAAAI,OACA5yI,EAAA,GACA8N,EAAAusB,MACAz+B,EAAAmrI,EAAAnvI,EAAAA,KAAAmvI,EAAApmG,EAAA7yB,EAAAlS,MAAAoE,GAAA8N,EAAAlS,MACA82I,GACAjB,EAAA71I,MAAAA,EACAoH,EAAAuiC,EAAAvlC,EAAAyxI,IAGAlsG,EAAAvlC,GAAApE,EAEAkS,EAAA0kI,EAAAI,SACA5yI,EAEA/O,EAAA+O,OAEA,GAAAlE,EAAA+qI,GAAA,CAKA,IAHA51I,EAAA41I,EAAA51I,OACAyhJ,IACAntG,EAAA,IAAAmtG,GACA1yI,EAAA,EAAAs1B,EAAA,EAAAt1B,EAAA/O,IAAA+O,EACApE,EAAAirI,EAAA7mI,GACAA,EAAA,EAAA/O,IACAwD,EAAAmH,EAAA0qC,WAAA,KAEA,OAAA7xC,GAAA,QACAmH,GAAAirI,IAAA7mI,IAEApE,EAAAmrI,EAAAnvI,EAAAA,KAAAmvI,EAAApmG,EAAA/kC,EAAA05B,GAAA15B,EACA82I,GACAjB,EAAA71I,MAAAA,EACAoH,EAAAuiC,EAAAjQ,EAAAm8G,IAGAlsG,EAAAjQ,GAAA15B,IAEA05B,EAEArkC,EAAAqkC,EAGA,QAAA3sB,IAAA1X,EAKA,IAHAA,EAAAkhJ,EAAAtL,EAAA51I,QACAyhJ,IACAntG,EAAA,IAAAmtG,EAAAzhJ,IACA+O,EAAA,EAAAA,EAAA/O,IAAA+O,EACApE,EAAAmrI,EAAAnvI,EAAAA,KAAAmvI,EAAApmG,EAAAkmG,EAAA7mI,GAAAA,GAAA6mI,EAAA7mI,GACA0yI,GACAjB,EAAA71I,MAAAA,EACAoH,EAAAuiC,EAAAvlC,EAAAyxI,IAGAlsG,EAAAvlC,GAAApE,EAQA,OAJA82I,IACAjB,EAAA71I,MAAA,KACA2pC,EAAAt0C,OAAAA,GAEAs0C,ICtGA,SAAA93C,EAAAC,EAAAC,GACA,IAAAklJ,EAAA9jJ,OAAA4B,UAAA2D,SAAA3E,EAAAkjJ,EAAAj7I,KAAA,WACA,OAAAL,UADA,IAGA7J,EAAAC,QAAA,SAAAiO,GACA,OAAAi3I,EAAAj7I,KAAAgE,KAAAjM,ICLA,SAAAlC,EAAAC,EAAAC,GACA,IAAAklJ,EAAA9jJ,OAAA4B,UAAA2D,SAAA3E,EAAAkjJ,EAAAj7I,KAAAnK,EAAA,MACAC,EAAAC,QAAA,SAAAiO,GACA,MAAA,mBAAAA,GAAAi3I,EAAAj7I,KAAAgE,KAAAjM,ICHA,SAAAlC,EAAAC,EAAAC,GAEAD,EAAAC,QAAA,cCFA,SAAAF,EAAAC,EAAAC,GAEAD,EAAAC,QAAA,WACA,OAAAoC,KADA,ICFA,SAAAtC,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,GACA4R,KAAAyzI,KACArlJ,EAAA,MCHA,SAAAA,EAAAC,EAAAC,GACAD,EAAAC,QAAA,WACA,IAAAmlJ,EAAAzzI,KAAAyzI,KACA,MAAA,mBAAAA,GAEA,IAAAA,EAAA,MAAA,IAAAA,GAAA,MCLA,SAAArlJ,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAAiO,GAEA,OADAA,EAAA0nB,OAAA1nB,GACA01E,MAAA11E,IAAA,IAAAA,EACAA,EACAA,EAAA,EAAA,GAAA,ICLA,SAAAnO,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,GACA61B,OAAAguD,MACA7jF,EAAA,MCHA,SAAAA,EAAAC,EAAAC,GACAD,EAAAC,QAAA,WACA,IAAAukJ,EAAA5uH,OAAAguD,MACA,MAAA,mBAAA4gE,IAEAA,EAAA,KAAAA,EAAA7tE,OAAA6tE,EAAA,MCLA,SAAAzkJ,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAAiO,GAEA,OAAAA,GAAAA,ICHA,SAAAnO,EAAAC,EAAAC,GACA,IAAAmlJ,EAAArlJ,EAAA,KAAAkvB,EAAAtd,KAAAsd,IAAAub,EAAA74B,KAAA64B,MACAxqC,EAAAC,QAAA,SAAAiO,GACA,OAAA01E,MAAA11E,GACA,EAEA,KADAA,EAAA0nB,OAAA1nB,KACA65C,SAAA75C,GAEAk3I,EAAAl3I,GAAAs8B,EAAAvb,EAAA/gB,IADAA,ICPA,SAAAnO,EAAAC,EAAAC,GACA,IAAAi5I,EAAAn5I,EAAA,KAAAkV,EAAAtD,KAAAsD,IACAjV,EAAAC,QAAA,SAAAiO,GACA,OAAA+G,EAAA,EAAAikI,EAAAhrI,MCHA,SAAAnO,EAAAC,EAAAC,GACA,IAAA4jJ,EAAA9jJ,EAAA,KAAAmO,EAAAnO,EAAA,KAAAq0B,EAAAgnD,SAAAn4E,UAAAmxB,KAAAlqB,EAAAkxE,SAAAn4E,UAAAiH,KAAA5I,EAAAD,OAAAC,KAAA+jJ,EAAAhkJ,OAAA4B,UAAAqiJ,qBACAtlJ,EAAAC,QAAA,SAAAumH,EAAA++B,GACA,OAAA,SAAA1oI,EAAAm0C,GACA,IAAA6mF,EAAA5kG,EAAAppC,UAAA,GAAA27I,EAAA37I,UAAA,GASA,OARAgT,EAAAxb,OAAA6M,EAAA2O,IACAgnI,EAAA7yF,GACA6mF,EAAAv2I,EAAAub,GACA2oI,GACA3N,EAAAxvG,KAAA,mBAAAm9G,EAAApxH,EAAAlqB,KAAAs7I,EAAA3oI,QAAA5B,GAEA,mBAAAurG,IACAA,EAAAqxB,EAAArxB,IACAt8G,EAAAA,KAAAs8G,EAAAqxB,EAAA,SAAAnpI,EAAA0zB,GACA,OAAAijH,EAAAn7I,KAAA2S,EAAAnO,GAEAxE,EAAAA,KAAA8mD,EAAA/d,EAAAp2B,EAAAnO,GAAAA,EAAAmO,EAAAulB,GADAmjH,OCfA,SAAAxlJ,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,GACAsB,OAAA+iJ,OACArkJ,EAAA,MCHA,SAAAA,EAAAC,EAAAC,GACAD,EAAAC,QAAA,WACA,IAAA4c,EAAAunI,EAAA/iJ,OAAA+iJ,OACA,MAAA,mBAAAA,IAGAA,EADAvnI,EAAA,CAAA4oI,IAAA,OACA,CAAA/P,IAAA,OAAA,CAAAgQ,KAAA,SACA7oI,EAAA4oI,IAAA5oI,EAAA64H,IAAA74H,EAAA6oI,OAAA,gBCPA,SAAA3lJ,EAAAC,EAAAC,GACA,IAAAqB,EAAAvB,EAAA,KAAAmO,EAAAnO,EAAA,KAAAkV,EAAAtD,KAAAsD,IACAjV,EAAAC,QAAA,SAAA60C,EAAAC,GACA,IAAA3wC,EAAAkO,EAAA8xI,EAAA7gJ,EAAA0R,EAAApL,UAAAtG,OAAA,GAWA,IAVAuxC,EAAAzzC,OAAA6M,EAAA4mC,IACAsvG,EAAA,SAAA11I,GACA,IACAomC,EAAApmC,GAAAqmC,EAAArmC,GAEA,MAAAhI,GACAtC,IACAA,EAAAsC,KAGA4L,EAAA,EAAAA,EAAA/O,IAAA+O,EACAyiC,EAAAlrC,UAAAyI,GACAhR,EAAAyzC,GAAAzW,QAAA8lH,GAEA,QAAAnpI,IAAA7W,EACA,MAAAA,EACA,OAAA0wC,ICpBA,SAAA/0C,EAAAC,EAAAC,GACA,IAAA0lJ,EAAA5lJ,EAAA,KAAAqkJ,EAAArkJ,EAAA,KAAAmO,EAAAnO,EAAA,KACAC,EAAAC,QAAA,SAAA4c,GACA,IAAAD,EAAAvb,OAAA6M,EAAA2O,IAAA+oI,EAAA/7I,UAAA,GAAAuC,EAAA/K,OAAAwI,UAAA,IACA,GAAA+S,IAAAC,IAAA+oI,EACA,OAAAhpI,EACA,IAAAwD,EAAA,GAUA,OATAwlI,EACAD,EAAAC,EAAA,SAAAC,IACAz5I,EAAA05I,QAAAD,KAAAhpI,KACAuD,EAAAylI,GAAAhpI,EAAAgpI,MAIAzB,EAAAhkI,EAAAvD,GAEAuD,IChBA,SAAArgB,EAAAC,EAAAC,GACA,IAAA8lJ,EAKAC,EAAAC,EAAAlC,EALAz+I,EAAAjE,OAAAiE,OACAvF,EAAA,IAAAA,KACAgmJ,EAAAhmJ,EAAA,MAEAC,EAAAC,QAEA8lJ,EAEA,IAAAA,EAAAnzH,MACAttB,GACA0gJ,EAAA,GACAC,EAAA,GACAlC,EAAA,CACApuI,cAAA,EACAD,YAAA,EACAuuI,UAAA,EACA/1I,WAAA+M,GAEA5Z,OAAA6kJ,oBAAA7kJ,OAAA4B,WAAAq7B,QAAA,SAAA99B,GAUAylJ,EAAAzlJ,GATA,cAAAA,EASAujJ,EARA,CACApuI,cAAA,EACAD,YAAA,EACAuuI,UAAA,EACA/1I,WAAA+M,KAMA5Z,OAAA8kJ,iBAAAH,EAAAC,GACA5kJ,OAAAiU,eAAAywI,EAAA,eAAA,CACApwI,cAAA,EACAD,YAAA,EACAuuI,UAAA,EACA/1I,MAAA83I,IAEA,SAAA/iJ,EAAA0Y,GACA,OAAArW,EAAA,OAAArC,EAAA+iJ,EAAA/iJ,EAAA0Y,KA/BArW,GCRA,SAAAvF,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,CAAA,YCDA,SAAAA,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAA4c,GACA,MAAA,mBAAAA,ICFA,SAAA9c,EAAAC,EAAAC,GACA,IAAA4pD,EAAA9pD,EAAA,KACAyM,EAAA,CAAA45I,UAAA,EAAApxG,QAAA,GACAh1C,EAAAC,QAAA,SAAAiO,GACA,OAAA27C,EAAA37C,IAAA1B,SAAA0B,KAAA,ICJA,SAAAnO,EAAAC,EAAAC,GACA,IAAAomJ,EAAAtmJ,EAAA,IAAAA,GACAC,EAAAC,QAAA,SAAAye,GACA,OAAAA,IAAA2nI,GAAA,OAAA3nI,ICHA,SAAA3e,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,GACAsB,OAAAC,KACAvB,EAAA,MCHA,SAAAA,EAAAC,EAAAC,GACAD,EAAAC,QAAA,WACA,IAEA,OADAoB,OAAAC,KAAA,cACA,EAEA,MAAAoF,GACA,OAAA,KCPA,SAAA3G,EAAAC,EAAAC,GACA,IAAA4pD,EAAA9pD,EAAA,KACAuB,EAAAD,OAAAC,KACAtB,EAAAC,QAAA,SAAA+0C,GACA,OAAA1zC,EAAAuoD,EAAA7U,GAAA3zC,OAAA2zC,GAAAA,KCJA,SAAAj1C,EAAAC,EAAAC,GACA,IAAA4jJ,EAAA9jJ,EAAA,KAAAu+B,EAAAv+B,EAAA,KAAAmK,EAAAkxE,SAAAn4E,UAAAiH,KACAlK,EAAAC,QAAA,SAAA4c,EAAAm0C,GACA,IAAA5wC,EAAA,GAAA6yB,EAAAppC,UAAA,GAKA,OAJAg6I,EAAA7yF,GACA1yB,EAAAzhB,EAAA,SAAA3O,EAAAQ,EAAA43I,EAAAlkH,GACAhiB,EAAA1R,GAAAxE,EAAAA,KAAA8mD,EAAA/d,EAAA/kC,EAAAQ,EAAA43I,EAAAlkH,KAEAhiB,ICRA,SAAArgB,EAAAC,EAAAC,GACA,IAAA4pD,EAAA9pD,EAAA,KACAu+B,EAAAxsB,MAAA7O,UAAAq7B,QAAAh5B,EAAAjE,OAAAiE,OAOAtF,EAAAC,QAAA,SAAAsmJ,GACA,IAAAnmI,EAAA9a,EAAA,MAMA,OALAg5B,EAAAp0B,KAAAL,UAAA,SAAAuC,GACAy9C,EAAAz9C,IATA,SAAA2oC,EAAAl4B,GACA,IAAAnO,EACA,IAAAA,KAAAqmC,EACAl4B,EAAAnO,GAAAqmC,EAAArmC,GAQA83I,CAAAnlJ,OAAA+K,GAAAgU,KAEAA,IChBA,SAAArgB,EAAAC,EAAAC,GACA,IAAAq+B,EAAAxsB,MAAA7O,UAAAq7B,QAAAh5B,EAAAjE,OAAAiE,OAEAtF,EAAAC,QAAA,SAAAsiC,GACA,IAAArlB,EAAA5X,EAAA,MAIA,OAHAg5B,EAAAp0B,KAAAL,UAAA,SAAArJ,GACA0c,EAAA1c,IAAA,IAEA0c,ICRA,SAAAnd,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,GACAsB,OAAAolJ,eACA1mJ,EAAA,MCHA,SAAAA,EAAAC,EAAAC,GACA,IAAAqF,EAAAjE,OAAAiE,OAAAohJ,EAAArlJ,OAAAqlJ,eAAAC,EAAA,GACA3mJ,EAAAC,QAAA,WACA,IAAAwmJ,EAAAplJ,OAAAolJ,eAAAG,EAAA/8I,UAAA,IAAAvE,EACA,MAAA,mBAAAmhJ,GAEAC,EAAAD,EAAAG,EAAA,MAAAD,MAAAA,ICNA,SAAA5mJ,EAAAC,EAAAC,GACA,IAKAg1B,EAOAuyF,EACAnxG,EAAA6G,EAbAP,EAAA5c,EAAA,KAAAmO,EAAAnO,EAAA,KAAA8mJ,EAAAxlJ,OAAA4B,UAAA6jJ,cAAAxxI,EAAAjU,OAAAiU,eAAAyxI,EAAA,CACApxI,cAAA,EACAD,YAAA,EACAuuI,UAAA,EACA/1I,WAAA+M,GAEAga,EAAA,SAAApY,EAAA5Z,GAEA,GADAiL,EAAA2O,GACA,OAAA5Z,GAAA0Z,EAAA1Z,GACA,OAAA4Z,EACA,MAAA,IAAAsW,UAAA,wCAEAnzB,EAAAC,SAAAunH,EAwCA,WACA,IAAAtqG,EAAA8pI,EAAA3lJ,OAAAiE,OAAA,MAAA2hJ,EAAA,GAAAlD,EAAA1iJ,OAAA6lJ,yBAAA7lJ,OAAA4B,UAAA,aACA,GAAA8gJ,EAAA,CACA,KACA7mI,EAAA6mI,EAAA7mI,KACAhT,KAAA88I,EAAAC,GAEA,MAAAE,IACA,GAAA9lJ,OAAAqlJ,eAAAM,KAAAC,EACA,MAAA,CAAA/pI,IAAAA,EAAA0V,MAAA,GAGA,OADAo0H,EAAAI,UAAAH,EACA5lJ,OAAAqlJ,eAAAM,KAAAC,EACA,CAAAr0H,MAAA,KACAo0H,EAAA,IACAI,UAAAH,EACA5lJ,OAAAqlJ,eAAAM,KAAAC,GACA,CAAAr0H,MAAA,IAjBA,KApCA,IAAA40F,EAAA50F,MACA40F,EAAAtqG,KACAA,EAAAsqG,EAAAtqG,IACA7G,EAAA,SAAAwG,EAAA5Z,GAEA,OADAia,EAAAhT,KAAA+qB,EAAApY,EAAA5Z,GAAAA,GACA4Z,IAIAxG,EAAA,SAAAwG,EAAA5Z,GAEA,OADAgyB,EAAApY,EAAA5Z,GAAAmkJ,UAAAnkJ,EACA4Z,GAKAxG,EAAA,SAAA6wF,EAAArqF,EAAA5Z,GACA,IAAAokJ,EAUA,OATApyH,EAAApY,EAAA5Z,IACAokJ,EAAAR,EAAA38I,KAAAg9F,EAAAogD,aAAAzqI,YAEAqqF,EAAAogD,aAAAF,UACA,OAAAnkJ,IACAA,EAAAikG,EAAAogD,cACAzqI,EAAAuqI,UAAAnkJ,EACAokJ,GACA/xI,EAAA4xF,EAAAogD,aAAA,YAAAP,GACAlqI,GAGAxb,OAAAiU,eAAAe,EAAA,QAAA,CACAV,cAAA,EACAD,YAAA,EACAuuI,UAAA,EACA/1I,MAAAs5G,EAAA50F,SAnCA,KAyDA7yB,EAAA,MCzEA,SAAAA,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAAoW,GACA,GAAA,mBAAAA,EACA,MAAA,IAAA8c,UAAA9c,EAAA,sBACA,OAAAA,ICJA,SAAAtW,EAAAC,EAAAC,GACA,IAAA0c,EAAA5c,EAAA,KACAC,EAAAC,QAAA,SAAAiO,GACA,IAAAyO,EAAAzO,GACA,MAAA,IAAAilB,UAAAjlB,EAAA,qBACA,OAAAA,ICLA,SAAAnO,EAAAC,EAAAC,GACA,IAAA4pD,EAAA9pD,EAAA,KACAC,EAAAC,QAAA,SAAAiO,GACA,IAAA27C,EAAA37C,GACA,MAAA,IAAAilB,UAAA,gCACA,OAAAjlB,ICLA,SAAAnO,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,GACAi2B,OAAA/yB,UAAA4S,SACA9V,EAAA,MCHA,SAAAA,EAAAC,EAAAC,GACA,IAAAo7C,EAAA,aACAr7C,EAAAC,QAAA,WACA,MAAA,mBAAAo7C,EAAAxlC,WAEA,IAAAwlC,EAAAxlC,SAAA,SAAA,IAAAwlC,EAAAxlC,SAAA,SCLA,SAAA9V,EAAAC,EAAAC,GACA,IAAA+mC,EAAAhR,OAAA/yB,UAAA+jC,QACAhnC,EAAAC,QAAA,SAAAq7C,GACA,OAAAtU,EAAA98B,KAAA7H,KAAAi5C,EAAAzxC,UAAA,KAAA,ICHA,SAAA9J,EAAAC,EAAAC,GACA,IAAAklJ,EAAA9jJ,OAAA4B,UAAA2D,SAAA3E,EAAAkjJ,EAAAj7I,KAAA,IACAlK,EAAAC,QAAA,SAAAiO,GACA,MAAA,iBAAAA,GACAA,GACA,iBAAAA,IACAA,aAAA8nB,QAAAmvH,EAAAj7I,KAAAgE,KAAAjM,KACA,ICPA,SAAAlC,EAAAC,EAAAC,GACA,IAAAsnJ,EAAAlmJ,OAAAiE,OAAA,MAAA2uC,EAAAtiC,KAAAsiC,OACAj0C,EAAAC,QAAA,WACA,IAAAo7C,EACA,GACAA,EAAApH,IACArtC,SAAA,IACAkgC,MAAA,SACAygH,EAAAlsG,IACA,OAAAA,ICTA,SAAAt7C,EAAAC,EAAAC,GACA,IACAunJ,EADAf,EAAA1mJ,EAAA,KAAA8V,EAAA9V,EAAA,KAAAo0C,EAAAp0C,EAAA,KAAA0nJ,EAAA1nJ,EAAA,KAAA2nJ,EAAA3nJ,EAAA,KACAuV,EAAAjU,OAAAiU,eACAkyI,EAAAxnJ,EAAAC,QAAA,SAAA43C,EAAA5d,GACA,KAAA53B,gBAAAmlJ,GACA,MAAA,IAAAr0H,UAAA,8BACAu0H,EAAAx9I,KAAA7H,KAAAw1C,GAIA5d,EAHAA,EAEApkB,EAAA3L,KAAA+vB,EAAA,aACA,YACApkB,EAAA3L,KAAA+vB,EAAA,OACA,MAEA,QANA,QAOA3kB,EAAAjT,KAAA,WAAA8xC,EAAA,GAAAla,KAEAwsH,GACAA,EAAAe,EAAAE,UAEAF,EAAAvkJ,UAAAmb,YACAopI,EAAAvkJ,UAAA5B,OAAAiE,OAAAoiJ,EAAAzkJ,UAAA,CACA0kJ,SAAAxzG,EAAA,SAAA7hC,GACA,MAAA,UAAAjQ,KAAAulJ,SACAvlJ,KAAAwlJ,SAAAv1I,GACA,cAAAjQ,KAAAulJ,SACA,CAAAt1I,EAAAjQ,KAAAwlJ,SAAAv1I,IACAA,MAGAgD,EAAAkyI,EAAAvkJ,UAAAwkJ,EAAAK,YAAA3zG,EAAA,IAAA,oBC9BA,SAAAp0C,EAAAC,EAAAC,GACA,IAAA8kJ,EAAAhlJ,EAAA,KAAA8jJ,EAAA9jJ,EAAA,KAAAqO,EAAArO,EAAA,KAAAwV,EAAAxV,EAAA,KACAuO,EAAAwD,MAAAxD,QAAApE,EAAAkxE,SAAAn4E,UAAAiH,KAAAkf,EAAAtX,MAAA7O,UAAAmmB,KACAppB,EAAAC,QAAA,SAAA8nJ,EAAA/2F,GACA,IAAAqpC,EAAAj6E,EAAA4nI,EAAAC,EAAA31I,EAAA/O,EAAA2kJ,EAAAnhJ,EAAAksC,EAAAppC,UAAA,GAWA,GAVAyE,EAAAy5I,IAAAhD,EAAAgD,GACA1tD,EAAA,QACAjsF,EAAA25I,GACA1tD,EAAA,SAEA0tD,EAAAxyI,EAAAwyI,GACAlE,EAAA7yF,GACAg3F,EAAA,WACAC,GAAA,GAEA,UAAA5tD,EAOA,GAAA,WAAAA,EAgBA,IADAj6E,EAAA2nI,EAAA7C,QACA9kI,EAAAusB,MAAA,CAEA,GADAziC,EAAAA,KAAA8mD,EAAA/d,EAAA7yB,EAAAlS,MAAA85I,GACAC,EACA,OACA7nI,EAAA2nI,EAAA7C,YAlBA,IADA3hJ,EAAAwkJ,EAAAxkJ,OACA+O,EAAA,EAAAA,EAAA/O,IACA2kJ,EAAAH,EAAAz1I,GACAA,EAAA,EAAA/O,IACAwD,EAAAmhJ,EAAAtvG,WAAA,KACA,OAAA7xC,GAAA,QACAmhJ,GAAAH,IAAAz1I,IAEApI,EAAAA,KAAA8mD,EAAA/d,EAAAi1G,EAAAF,IACAC,KARA31I,QARA8W,EAAAlf,KAAA69I,EAAA,SAAA75I,GAEA,OADAhE,EAAAA,KAAA8mD,EAAA/d,EAAA/kC,EAAA85I,GACAC,MClBA,SAAAloJ,EAAAC,EAAAC,GACA,IAAA8kJ,EAAAhlJ,EAAA,KAAAqO,EAAArO,EAAA,KAAAynJ,EAAAznJ,EAAA,KAAAooJ,EAAApoJ,EAAA,KAAAgoJ,EAAAhoJ,EAAA,KAAA8kJ,EAAA9kJ,EAAA,KAAA+kJ,SACA9kJ,EAAAC,QAAA,SAAA4c,GACA,MAAA,mBAAAkrI,EAAAlrI,GAAAgoI,GACAhoI,EAAAgoI,KACAE,EAAAloI,GACA,IAAA2qI,EAAA3qI,GACAzO,EAAAyO,GACA,IAAAsrI,EAAAtrI,GACA,IAAA2qI,EAAA3qI,KCTA,SAAA9c,EAAAC,EAAAC,GACA,IACAynJ,EADAzxI,EAAAlW,EAAA,KAAAqkJ,EAAArkJ,EAAA,KAAA8jJ,EAAA9jJ,EAAA,KAAAmO,EAAAnO,EAAA,KAAAo0C,EAAAp0C,EAAA,KAAAqoJ,EAAAroJ,EAAA,KAAA0nJ,EAAA1nJ,EAAA,KACAuV,EAAAjU,OAAAiU,eAAA6wI,EAAA9kJ,OAAA8kJ,iBACAnmJ,EAAAC,QAAAynJ,EAAA,SAAA7P,EAAAv7G,GACA,KAAAj6B,gBAAAqlJ,GACA,MAAA,IAAAv0H,UAAA,8BACAgzH,EAAA9jJ,KAAA,CACAwlJ,SAAA1zG,EAAA,IAAAjmC,EAAA2pI,IACAwQ,YAAAl0G,EAAA,IAAA7X,GACAgsH,cAAAn0G,EAAA,IAAA,KAEA7X,IAEAunH,EAAAvnH,EAAAyE,IACAzE,EAAAyE,GAAA,OAAA1+B,KAAAkmJ,QACAjsH,EAAAyE,GAAA,UAAA1+B,KAAAmmJ,WACAlsH,EAAAyE,GAAA,SAAA1+B,KAAAomJ,mBAGAf,EAAAzkJ,UAAAmb,YACA+nI,EAAAuB,EAAAzkJ,UAAAmhJ,EAAA,CACAsE,MAAAv0G,EAAA,WACA,IAAA7hC,EACA,GAAAjQ,KAAAwlJ,SAEA,OAAAxlJ,KAAAsmJ,eAEA1tI,KADA3I,EAAAjQ,KAAAsmJ,SAAAC,SAEAt2I,EAEAjQ,KAAAimJ,cAAAjmJ,KAAAwlJ,SAAAtkJ,OACAlB,KAAAimJ,qBACAjmJ,KAAAwmJ,YAGA3D,KAAA/wG,EAAA,WACA,OAAA9xC,KAAAymJ,cAAAzmJ,KAAAqmJ,WAEAI,cAAA30G,EAAA,SAAA7hC,GACA,YAAA2I,IAAA3I,EACA,CAAAq6B,MAAA,EAAAz+B,WAAA+M,GACA,CAAA0xB,MAAA,EAAAz+B,MAAA7L,KAAAslJ,SAAAr1I,MAEAq1I,SAAAxzG,EAAA,SAAA7hC,GACA,OAAAjQ,KAAAwlJ,SAAAv1I,KAEAu2I,QAAA10G,EAAA,WACA9xC,KAAAwlJ,SAAA,YACAxlJ,KAAAsmJ,SACAtmJ,KAAAgmJ,cAEAhmJ,KAAAgmJ,YAAAn0H,IAAA,OAAA7xB,KAAAkmJ,QACAlmJ,KAAAgmJ,YAAAn0H,IAAA,UAAA7xB,KAAAmmJ,WACAnmJ,KAAAgmJ,YAAAn0H,IAAA,SAAA7xB,KAAAomJ,UACApmJ,KAAAgmJ,YAAA,QAEAzhJ,SAAAutC,EAAA,WACA,MAAA,YAAA9xC,KAAAolJ,EAAAK,cAAA,UAAA,OAEAM,EAAA,CACAG,OAAAp0G,EAAA,SAAA/R,GACAA,GAAA//B,KAAAimJ,kBAEAjmJ,KAAAimJ,cACAjmJ,KAAAsmJ,UAIAtmJ,KAAAsmJ,SAAArqH,QAAA,SAAAi6E,EAAAjmG,GACAimG,GAAAn2E,IACA//B,KAAAsmJ,SAAAr2I,KAAAimG,IACAl2G,MACAA,KAAAsmJ,SAAAt7I,KAAA+0B,IAPA9sB,EAAAjT,KAAA,WAAA8xC,EAAA,IAAA,CAAA/R,QASAomH,UAAAr0G,EAAA,SAAA/R,GACA,IAAA9vB,EACA8vB,GAAA//B,KAAAimJ,kBAEAjmJ,KAAAimJ,cACAjmJ,KAAAsmJ,YAGA,KADAr2I,EAAAjQ,KAAAsmJ,SAAA3hH,QAAA5E,KAEA//B,KAAAsmJ,SAAA3/G,OAAA12B,EAAA,GACAjQ,KAAAsmJ,SAAArqH,QAAA,SAAAi6E,EAAA3wE,GACA2wE,EAAAn2E,IACA//B,KAAAsmJ,SAAA/gH,KAAA2wE,IACAl2G,UAEAomJ,SAAAt0G,EAAA,WACA9xC,KAAAsmJ,UACA1yI,EAAA/L,KAAA7H,KAAAsmJ,UACAtmJ,KAAAimJ,cAAA,QAGAhzI,EAAAoyI,EAAAzkJ,UAAAwkJ,EAAA3C,SAAA3wG,EAAA,WACA,OAAA9xC,SChGA,SAAAtC,EAAAC,EAAAC,GACA,IAAA8kJ,EAAAhlJ,EAAA,KAAA8pD,EAAA9pD,EAAA,KAAAqO,EAAArO,EAAA,KACA8kJ,EAAA9kJ,EAAA,KAAA+kJ,SAAAx2I,EAAAwD,MAAAxD,QACAtO,EAAAC,QAAA,SAAAiO,GACA,SAAA27C,EAAA37C,KAEAI,EAAAJ,KAEAE,EAAAF,KAEA62I,EAAA72I,IAEA,mBAAAA,EAAA22I,MCZA,SAAA9kJ,EAAAC,EAAAC,GACA,IACAkoJ,EADA1B,EAAA1mJ,EAAA,KAAAo0C,EAAAp0C,EAAA,KAAA0nJ,EAAA1nJ,EAAA,KAAA2nJ,EAAA3nJ,EAAA,KACAuV,EAAAjU,OAAAiU,eACA6yI,EAAAnoJ,EAAAC,QAAA,SAAAo7C,GACA,KAAAh5C,gBAAA8lJ,GACA,MAAA,IAAAh1H,UAAA,8BACAkoB,EAAArlB,OAAAqlB,GACAqsG,EAAAx9I,KAAA7H,KAAAg5C,GACA/lC,EAAAjT,KAAA,aAAA8xC,EAAA,GAAAkH,EAAA93C,UAEAkjJ,GACAA,EAAA0B,EAAAT,UAEAS,EAAAllJ,UAAAmb,YACA+pI,EAAAllJ,UAAA5B,OAAAiE,OAAAoiJ,EAAAzkJ,UAAA,CACAylJ,MAAAv0G,EAAA,WACA,GAAA9xC,KAAAwlJ,SAEA,OAAAxlJ,KAAAimJ,cAAAjmJ,KAAA0mJ,WACA1mJ,KAAAimJ,qBACAjmJ,KAAAwmJ,YAGAlB,SAAAxzG,EAAA,SAAA7hC,GACA,IAAAvL,EAAAmhJ,EAAA7lJ,KAAAwlJ,SAAAv1I,GACA,OAAAjQ,KAAAimJ,gBAAAjmJ,KAAA0mJ,WACAb,GACAnhJ,EAAAmhJ,EAAAtvG,WAAA,KACA,OAAA7xC,GAAA,MACAmhJ,EAAA7lJ,KAAAwlJ,SAAAxlJ,KAAAimJ,iBACAJ,MAGA5yI,EAAA6yI,EAAAllJ,UAAAwkJ,EAAAK,YAAA3zG,EAAA,IAAA,qBCjCA,SAAAp0C,EAAAC,EAAAC,GACA,IAAA+oJ,EAAAjpJ,EAAA,KACAC,EAAAC,QAAA,SAAAiO,GACA,IAAA86I,EAAA96I,GACA,MAAA,IAAAilB,UAAAjlB,EAAA,oBACA,OAAAA,ICLA,SAAAnO,EAAAC,EAAAC,GACAF,EAAA,IAAAA,IACAsB,OAAAiU,eAAAvV,EAAA,KAAA,MAAA,CAAAmO,MAAAnO,EAAA,KAAA4V,cAAA,EAAAD,YAAA,EACAuuI,UAAA,KCHA,SAAAlkJ,EAAAC,EAAAC,GACAD,EAAAC,QAAA,WACA,IAAAuM,EAAAs4I,EAAA1kI,EACA,GAAA,mBAAAsH,IACA,OAAA,EACA,IAEAlb,EAAA,IAAAkb,IAAA,CAAA,CAAA,MAAA,OAAA,CAAA,MAAA,OAAA,CAAA,OAAA,WAEA,MAAAhhB,GACA,OAAA,EAEA,MAAA,iBAAAsvB,OAAAxpB,IAEA,IAAAA,EAAA+E,MAEA,mBAAA/E,EAAAyJ,OAEA,mBAAAzJ,EAAAy8I,QAEA,mBAAAz8I,EAAA08I,SAEA,mBAAA18I,EAAA8xB,SAEA,mBAAA9xB,EAAA+I,KAEA,mBAAA/I,EAAAoJ,KAEA,mBAAApJ,EAAAlL,MAEA,mBAAAkL,EAAA0Q,KAEA,mBAAA1Q,EAAAgJ,SAEAsvI,EAAAt4I,EAAA08I,WAEA,KADA9oI,EAAA0kI,EAAAI,QACAv4G,QAEAvsB,EAAAlS,OAEA,QAAAkS,EAAAlS,MAAA,IAEA,QAAAkS,EAAAlS,MAAA,MC1CA,SAAAnO,EAAAC,EAAAC,GACAD,EAAAC,QACA,oBAAAynB,KAEA,iBAAArmB,OAAA4B,UAAA2D,SAAAsD,KAAA,IAAAwd,MCJA,SAAA3nB,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,CAAA,MAAA,QAAA,cCDA,SAAAA,EAAAC,EAAAC,GACA,IAAAkpJ,EAAA1C,EAAA1mJ,EAAA,KAAAo0C,EAAAp0C,EAAA,KAAA2nJ,EAAA3nJ,EAAA,KAAAqpJ,EAAArpJ,EAAA,KAAA+nJ,YAAAuB,EAAAtpJ,EAAA,KAAAomJ,EAAA9kJ,OAAA8kJ,iBAAAmD,EAAA5B,EAAAzkJ,UAAA4lJ,QACAM,EAAAnpJ,EAAAC,QAAA,SAAAuM,EAAAytB,GACA,KAAA53B,gBAAA8mJ,GACA,OAAA,IAAAA,EAAA38I,EAAAytB,GACAytH,EAAAx9I,KAAA7H,KAAAmK,EAAA+8I,gBAAA/8I,GACAytB,GAAAovH,EAAApvH,KACAA,EAAA,aACAksH,EAAA9jJ,KAAA,CACAulJ,SAAAzzG,EAAA,GAAAla,GACAuvH,WAAAr1G,EAAA,IAAA3nC,EAAAi9I,sBAGAhD,GACAA,EAAA0C,EAAAzB,GACAyB,EAAAlmJ,UAAA5B,OAAAiE,OAAAoiJ,EAAAzkJ,UAAA,CACAmb,YAAA+1B,EAAAg1G,GACAxB,SAAAxzG,EAAA,SAAA7hC,GACA,MAAA,UAAAjQ,KAAAulJ,SACAvlJ,KAAAmnJ,WAAAl3I,GACA,QAAAjQ,KAAAulJ,SACAvlJ,KAAAwlJ,SAAAv1I,GACA,CAAAjQ,KAAAwlJ,SAAAv1I,GAAAjQ,KAAAmnJ,WAAAl3I,MAEAu2I,QAAA10G,EAAA,WACA9xC,KAAAmnJ,WAAA,KACAF,EAAAp/I,KAAA7H,QAEAuE,SAAAutC,EAAA,WAAA,MAAA,4BAEA9yC,OAAAiU,eAAA6zI,EAAAlmJ,UAAAmmJ,EAAAj1G,EAAA,IAAA,kBC9BA,SAAAp0C,EAAAC,EAAAC,GACA,IAAAypJ,EAAAzzI,EAAAlW,EAAA,KAAA4pJ,EAAA5pJ,EAAA,KAAA0mJ,EAAA1mJ,EAAA,KAAA8jJ,EAAA9jJ,EAAA,KAAA+jJ,EAAA/jJ,EAAA,KAAAo0C,EAAAp0C,EAAA,KAAA6pJ,EAAA7pJ,EAAA,KAAA0nJ,EAAA1nJ,EAAA,KAAA+kJ,EAAA/kJ,EAAA,KAAA8pJ,EAAA9pJ,EAAA,KAAA2nJ,EAAA3nJ,EAAA,KAAA+pJ,EAAA/pJ,EAAA,KAAAmK,EAAAkxE,SAAAn4E,UAAAiH,KAAAi8I,EAAA9kJ,OAAA8kJ,iBAAAO,EAAArlJ,OAAAqlJ,eACA1mJ,EAAAC,QAAAypJ,EAAA,WACA,IAAApoJ,EAAAkU,EAAA0xF,EAAA6gD,EAAAl+I,UAAA,GACA,KAAAxH,gBAAAqnJ,GACA,MAAA,IAAAv2H,UAAA,8BAaA,OAXA+zE,EADA4iD,GAAArD,GAAA/+H,MAAAgiI,EACAjD,EAAA,IAAA/+H,IAAAg/H,EAAArkJ,OAGAA,KAEA,MAAA0lJ,GACAjD,EAAAiD,GACA5B,EAAAj/C,EAAA,CACAqiD,gBAAAp1G,EAAA,IAAA7yC,EAAA,IACAmoJ,kBAAAt1G,EAAA,IAAA3+B,EAAA,MAEAuyI,GAEA8B,EAAA9B,EAAA,SAAA75I,GACA,IAAAQ,EAAAo1I,EAAA51I,GAAA,GACAA,EAAAA,EAAA,IACA,IAAAy7I,EAAAz/I,KAAA5I,EAAAoN,KAEApN,EAAA+L,KAAAqB,GACA8G,EAAAnI,KAAAa,KACAg5F,GACAA,GATAA,GAWA4iD,IACArD,GACAA,EAAAiD,EAAAhiI,KACAgiI,EAAAzmJ,UAAA5B,OAAAiE,OAAAoiB,IAAAzkB,UAAA,CACAmb,YAAA+1B,EAAAu1G,MAGAE,EAAAzD,EAAAuD,EAAAzmJ,UAAA,CACAgT,MAAAk+B,EAAA,WACA9xC,KAAAknJ,gBAAAhmJ,SAEA0S,EAAA/L,KAAA7H,KAAAknJ,iBACAtzI,EAAA/L,KAAA7H,KAAAonJ,mBACApnJ,KAAA0b,KAAA,aAEAkrI,OAAA90G,EAAA,SAAAzlC,GACA,IAAA0zB,EAAAunH,EAAAz/I,KAAA7H,KAAAknJ,gBAAA76I,GACA,OAAA,IAAA0zB,IAEA//B,KAAAknJ,gBAAAvgH,OAAA5G,EAAA,GACA//B,KAAAonJ,kBAAAzgH,OAAA5G,EAAA,GACA//B,KAAA0b,KAAA,UAAAqkB,EAAA1zB,IACA,KAEAw6I,QAAA/0G,EAAA,WAAA,OAAA,IAAAuzG,EAAArlJ,KAAA,eACAi8B,QAAA6V,EAAA,SAAA6c,GACA,IAAA8zF,EAAA1kI,EAAA6yB,EAAAppC,UAAA,GAIA,IAHAg6I,EAAA7yF,GACA8zF,EAAAziJ,KAAA6mJ,UACA9oI,EAAA0kI,EAAA4D,aACAztI,IAAAmF,GACAlW,EAAAA,KAAA8mD,EAAA/d,EAAA5wC,KAAAonJ,kBAAArpI,GAAA/d,KAAAknJ,gBAAAnpI,GAAA/d,MACA+d,EAAA0kI,EAAA4D,UAGAnzI,IAAA4+B,EAAA,SAAAzlC,GACA,IAAA0zB,EAAAunH,EAAAz/I,KAAA7H,KAAAknJ,gBAAA76I,GACA,IAAA,IAAA0zB,EAEA,OAAA//B,KAAAonJ,kBAAArnH,KAEAxsB,IAAAu+B,EAAA,SAAAzlC,GACA,OAAA,IAAAi7I,EAAAz/I,KAAA7H,KAAAknJ,gBAAA76I,KAEApN,KAAA6yC,EAAA,WAAA,OAAA,IAAAuzG,EAAArlJ,KAAA,SACA6a,IAAAi3B,EAAA,SAAAzlC,EAAAR,GACA,IAAA6P,EAAAqkB,EAAAunH,EAAAz/I,KAAA7H,KAAAknJ,gBAAA76I,GAQA,OAPA,IAAA0zB,IACAA,EAAA//B,KAAAknJ,gBAAAl8I,KAAAqB,GAAA,EACAqP,GAAA,GAEA1b,KAAAonJ,kBAAArnH,GAAAl0B,EACA6P,GACA1b,KAAA0b,KAAA,OAAAqkB,EAAA1zB,GACArM,OAEAkP,KAAA4iC,EAAAowG,GAAA,WAAA,OAAAliJ,KAAAknJ,gBAAAhmJ,SACAiS,OAAA2+B,EAAA,WAAA,OAAA,IAAAuzG,EAAArlJ,KAAA,WACAuE,SAAAutC,EAAA,WAAA,MAAA,oBAEA9yC,OAAAiU,eAAAo0I,EAAAzmJ,UAAAwkJ,EAAA3C,SAAA3wG,EAAA,WACA,OAAA9xC,KAAA6mJ,aAEA7nJ,OAAAiU,eAAAo0I,EAAAzmJ,UAAAwkJ,EAAAK,YAAA3zG,EAAA,IAAA,SC7FA,SAAAp0C,EAAAC,EAAAC;;;;;;;;CAQA,SAAA8pJ,EAAAC,GACA,iBAAA/pJ,QAAA,IAAAD,EAAAA,EAAAC,QAAA+pJ,IAEAD,EAAAE,WAAAD,IAHA,CAIA3nJ,KAAA,WACA,aAKA,SAAAqa,EAAA5R,GACA,MAAA,mBAAAA,EAEA,IASAwD,EARAwD,MAAAxD,QACAwD,MAAAxD,QAGA,SAAAxD,GACA,MAAA,mBAAAzJ,OAAA4B,UAAA2D,SAAAsD,KAAAY,IAIAw+B,EAAA,EACA4gH,OAAA,EACAC,OAAA,EACAC,EAAA,SAAA3iG,EAAAllB,GACA8nH,EAAA/gH,GAAAme,EACA4iG,EAAA/gH,EAAA,GAAA/G,EAEA,KADA+G,GAAA,KAKA6gH,EACAA,EAAAG,GAGAC,MAUAC,EAAA,oBAAAn2I,OAAAA,YAAA4G,EACAwvI,EAAAD,GAAA,GACAE,EAAAD,EAAAE,kBAAAF,EAAAG,uBACAC,EAAA,oBAAA3jD,MAAA,oBAAAs/C,SAAA,qBAAA,GAAA5/I,SAAAsD,KAAAs8I,SAEAsE,EAAA,oBAAAC,mBAAA,oBAAAC,eAAA,oBAAAC,eAmCA,SAAAC,IAGA,IAAAC,EAAA1mJ,WACA,OAAA,WACA,OAAA0mJ,EAAAb,EAAA,IAGA,IAAAD,EAAA,IAAAv4I,MAAA,KACA,SAAAw4I,IACA,IAAA,IAAAh4I,EAAA,EAAAA,EAAAg3B,EAAAh3B,GAAA,EAAA,CACA,IAAAm1C,EAAA4iG,EAAA/3I,GACAiwB,EAAA8nH,EAAA/3I,EAAA,GACAm1C,EAAAllB,GACA8nH,EAAA/3I,QAAA2I,EACAovI,EAAA/3I,EAAA,QAAA2I,EAEAquB,EAAA,EAYA,IAnCA8hH,EAVAC,EACAC,EACA13I,EA2CA22I,OAAA,EAiBA,SAAAvlJ,EAAAumJ,EAAAC,GACA,IAAAv4I,EAAA5Q,KACAyM,EAAA,IAAAzM,KAAA+b,YAAAqtI,QACAxwI,IAAAnM,EAAA48I,IACAC,EAAA78I,GAEA,IAAAqa,EAAAlW,EAAAkW,OACA,GAAAA,EAAA,CACA,IAAAs+B,EAAA59C,UAAAsf,EAAA,GACAihI,EAAA,WACA,OAAAwB,EAAAziI,EAAAra,EAAA24C,EAAAx0C,EAAAksE,gBAIA0sE,EAAA54I,EAAAnE,EAAAy8I,EAAAC,GAEA,OAAA18I,EAiCA,SAAAg9I,EAAA92G,GAGA,GAAAA,GAAA,iBAAAA,GAAAA,EAAA52B,cADA/b,KAEA,OAAA2yC,EAEA,IAAAlwC,EAAA,IAJAzC,KAIAopJ,GAEA,OADAhoJ,EAAAqB,EAAAkwC,GACAlwC,EAxEA+lJ,EACAN,EA9DA,WACA,OAAA/D,QAAAuF,SAAAzB,IA+DAI,GAlDAW,EAAA,EACAC,EAAA,IAAAZ,EAAAJ,GACA12I,EAAAzN,SAAA8I,eAAA,IACAq8I,EAAAU,QAAAp4I,EAAA,CAAAq4I,eAAA,IAgDA1B,EA/CA,WACA32I,EAAAnN,KAAA4kJ,IAAAA,EAAA,IAgDAP,IA3CAM,EAAA,IAAAH,gBACAiB,MAAAroJ,UAAAymJ,EA2CAC,EA1CA,WACA,OAAAa,EAAAe,MAAAC,YAAA,KA4CA7B,OADAtvI,IAAAuvI,GAAA,mBAAAzqJ,EArBA,WACA,IACA,IAAAssJ,EAAAjxE,SAAA,cAAAA,GAAAr7E,QAAA,SAEA,YA/CA,KA8CAmqJ,EAAAmC,EAAAC,WAAAD,EAAAE,cA7CA,WACArC,EAAAI,IAGAY,IA4CA,MAAAxkJ,GACA,OAAAwkJ,KAeAsB,GAGAtB,IA6DA,IAAAQ,EAAA/5I,KAAAsiC,SAAArtC,SAAA,IAAA8pC,UAAA,GACA,SAAA+6G,KACA,IAAAgB,OAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,CAAAxoJ,MAAA,MAOA,SAAAyoJ,EAAA/nJ,GACA,IACA,OAAAA,EAAAE,KAEA,MAAAZ,GAEA,OADAwoJ,EAAAxoJ,MAAAA,EACAwoJ,GAqDA,SAAAE,EAAAhoJ,EAAAioJ,EAAAC,GACAD,EAAA3uI,cAAAtZ,EAAAsZ,aAAA4uI,IAAAhoJ,GAAA+nJ,EAAA3uI,YAAA3a,UAAAqoJ,EAhBA,SAAAhnJ,EAAAmoJ,GACAA,EAAA9jI,SAAAujI,EACAQ,EAAApoJ,EAAAmoJ,EAAA9tE,SAEA8tE,EAAA9jI,SAAAwjI,EACAtpJ,EAAAyB,EAAAmoJ,EAAA9tE,SAGA0sE,EAAAoB,OAAAhyI,EAAA,SAAA/M,GACA,OAAAzK,EAAAqB,EAAAoJ,IACA,SAAAlH,GACA,OAAA3D,EAAAyB,EAAAkC,KAMAmmJ,CAAAroJ,EAAAioJ,GAGAC,IAAAJ,GACAvpJ,EAAAyB,EAAA8nJ,EAAAxoJ,OACAwoJ,EAAAxoJ,MAAA,WAEA6W,IAAA+xI,EACAE,EAAApoJ,EAAAioJ,GAEArwI,EAAAswI,GAtDA,SAAAloJ,EAAAmoJ,EAAAD,GACA5C,EAAA,SAAAtlJ,GACA,IAAAsoJ,GAAA,EACAhpJ,EAXA,SAAA4oJ,EAAA9+I,EAAAm/I,EAAAC,GACA,IACAN,EAAA9iJ,KAAAgE,EAAAm/I,EAAAC,GAEA,MAAA5mJ,GACA,OAAAA,GAMA6mJ,CAAAP,EAAAC,EAAA,SAAA/+I,GACAk/I,IAGAA,GAAA,EACAH,IAAA/+I,EACAzK,EAAAqB,EAAAoJ,GAGAg/I,EAAApoJ,EAAAoJ,KAEA,SAAAlH,GACAomJ,IAGAA,GAAA,EACA/pJ,EAAAyB,EAAAkC,KACAlC,EAAA0oJ,SACAJ,GAAAhpJ,IACAgpJ,GAAA,EACA/pJ,EAAAyB,EAAAV,KAEAU,GA8BA2oJ,CAAA3oJ,EAAAioJ,EAAAC,GAGAE,EAAApoJ,EAAAioJ,GAIA,SAAAtpJ,EAAAqB,EAAAoJ,GAtRA,IAAApD,EACA8Q,EAsRA9W,IAAAoJ,EACA7K,EAAAyB,EAtFA,IAAAquB,UAAA,8CAjMAvX,SADA9Q,EA0RAoD,GAxRA,OAAApD,GAAA,WAAA8Q,GAAA,aAAAA,EA4RAsxI,EAAApoJ,EAAAoJ,GAHA4+I,EAAAhoJ,EAAAoJ,EAAA2+I,EAAA3+I,KAMA,SAAAw/I,EAAA5oJ,GACAA,EAAA6oJ,UACA7oJ,EAAA6oJ,SAAA7oJ,EAAAq6E,SAEAyuE,EAAA9oJ,GAEA,SAAAooJ,EAAApoJ,EAAAoJ,GACApJ,EAAAqkB,SAAAsjI,IAGA3nJ,EAAAq6E,QAAAjxE,EACApJ,EAAAqkB,OAAAujI,EACA,IAAA5nJ,EAAA+oJ,aAAAtqJ,QACA6mJ,EAAAwD,EAAA9oJ,IAGA,SAAAzB,EAAAyB,EAAAkC,GACAlC,EAAAqkB,SAAAsjI,IAGA3nJ,EAAAqkB,OAAAwjI,EACA7nJ,EAAAq6E,QAAAn4E,EACAojJ,EAAAsD,EAAA5oJ,IAEA,SAAA+mJ,EAAA54I,EAAAnE,EAAAy8I,EAAAC,GACA,IAAAqC,EAAA56I,EAAA46I,aACAtqJ,EAAAsqJ,EAAAtqJ,OACA0P,EAAA06I,SAAA,KACAE,EAAAtqJ,GAAAuL,EACA++I,EAAAtqJ,EAAAmpJ,GAAAnB,EACAsC,EAAAtqJ,EAAAopJ,GAAAnB,EACA,IAAAjoJ,GAAA0P,EAAAkW,QACAihI,EAAAwD,EAAA36I,GAGA,SAAA26I,EAAA9oJ,GACA,IAAAgpJ,EAAAhpJ,EAAA+oJ,aACAE,EAAAjpJ,EAAAqkB,OACA,GAAA,IAAA2kI,EAAAvqJ,OAAA,CAIA,IADA,IAAAuL,OAAA,EAAA24C,OAAA,EAAApgD,EAAAvC,EAAAq6E,QACA7sE,EAAA,EAAAA,EAAAw7I,EAAAvqJ,OAAA+O,GAAA,EACAxD,EAAAg/I,EAAAx7I,GACAm1C,EAAAqmG,EAAAx7I,EAAAy7I,GACAj/I,EACA88I,EAAAmC,EAAAj/I,EAAA24C,EAAApgD,GAGAogD,EAAApgD,GAGAvC,EAAA+oJ,aAAAtqJ,OAAA,GAWA,SAAAqoJ,EAAAmC,EAAAjpJ,EAAA2iD,EAAApgD,GACA,IAAA2mJ,EAAAtxI,EAAA+qC,GAAAv5C,OAAA,EAAA9J,OAAA,EAAA6pJ,OAAA,EAAAC,OAAA,EACA,GAAAF,GAUA,IATA9/I,EAZA,SAAAu5C,EAAApgD,GACA,IACA,OAAAogD,EAAApgD,GAEA,MAAAX,GAEA,OADAkmJ,EAAAxoJ,MAAAsC,EACAkmJ,GAMAuB,CAAA1mG,EAAApgD,MACAulJ,GACAsB,GAAA,EACA9pJ,EAAA8J,EAAA9J,MACA8J,EAAA9J,MAAA,MAGA6pJ,GAAA,EAEAnpJ,IAAAoJ,EAEA,YADA7K,EAAAyB,EAxKA,IAAAquB,UAAA,8DA6KAjlB,EAAA7G,EACA4mJ,GAAA,EAEAnpJ,EAAAqkB,SAAAsjI,IAGAuB,GAAAC,EACAxqJ,EAAAqB,EAAAoJ,GAEAggJ,EACA7qJ,EAAAyB,EAAAV,GAEA2pJ,IAAArB,EACAQ,EAAApoJ,EAAAoJ,GAEA6/I,IAAApB,GACAtpJ,EAAAyB,EAAAoJ,IAeA,IAAAjM,EAAA,EAIA,SAAA0pJ,EAAA7mJ,GACAA,EAAA4mJ,GAAAzpJ,IACA6C,EAAAqkB,YAAAlO,EACAnW,EAAAq6E,aAAAlkE,EACAnW,EAAA+oJ,aAAA,GAKA,IAAAO,EAAA,WACA,SAAAA,EAAAC,EAAA37I,GACArQ,KAAAisJ,qBAAAD,EACAhsJ,KAAAyC,QAAA,IAAAupJ,EAAA5C,GACAppJ,KAAAyC,QAAA4mJ,IACAC,EAAAtpJ,KAAAyC,SAEAwJ,EAAAoE,IACArQ,KAAAkB,OAAAmP,EAAAnP,OACAlB,KAAAksJ,WAAA77I,EAAAnP,OACAlB,KAAA88E,QAAA,IAAArtE,MAAAzP,KAAAkB,QACA,IAAAlB,KAAAkB,OACA2pJ,EAAA7qJ,KAAAyC,QAAAzC,KAAA88E,UAGA98E,KAAAkB,OAAAlB,KAAAkB,QAAA,EACAlB,KAAAmsJ,WAAA97I,GACA,IAAArQ,KAAAksJ,YACArB,EAAA7qJ,KAAAyC,QAAAzC,KAAA88E,WAKA97E,EAAAhB,KAAAyC,QAzBA,IAAApE,MAAA,4CAmFA,OAvDA0tJ,EAAAnrJ,UAAAurJ,WAAA,SAAA97I,GACA,IAAA,IAAAJ,EAAA,EAAAjQ,KAAA8mB,SAAAsjI,GAAAn6I,EAAAI,EAAAnP,OAAA+O,IACAjQ,KAAAosJ,WAAA/7I,EAAAJ,GAAAA,IAGA87I,EAAAnrJ,UAAAwrJ,WAAA,SAAAC,EAAAp8I,GACA,IAAA6V,EAAA9lB,KAAAisJ,qBACAK,EAAAxmI,EAAA1kB,QACA,GAAAkrJ,IAAA7C,EAAA,CACA,IAAA8C,EAAA/B,EAAA6B,GACA,GAAAE,IAAA5pJ,GAAA0pJ,EAAAvlI,SAAAsjI,EACApqJ,KAAAwsJ,WAAAH,EAAAvlI,OAAA7W,EAAAo8I,EAAAvvE,cAEA,GAAA,mBAAAyvE,EACAvsJ,KAAAksJ,aACAlsJ,KAAA88E,QAAA7sE,GAAAo8I,OAEA,GAAAvmI,IAAA2mI,EAAA,CACA,IAAAhqJ,EAAA,IAAAqjB,EAAAsjI,GACAqB,EAAAhoJ,EAAA4pJ,EAAAE,GACAvsJ,KAAA0sJ,cAAAjqJ,EAAAwN,QAGAjQ,KAAA0sJ,cAAA,IAAA5mI,EAAA,SAAAwmI,GACA,OAAAA,EAAAD,KACAp8I,QAIAjQ,KAAA0sJ,cAAAJ,EAAAD,GAAAp8I,IAGA87I,EAAAnrJ,UAAA4rJ,WAAA,SAAApyF,EAAAnqD,EAAApE,GACA,IAAApJ,EAAAzC,KAAAyC,QACAA,EAAAqkB,SAAAsjI,IACApqJ,KAAAksJ,aACA9xF,IAAAkwF,EACAtpJ,EAAAyB,EAAAoJ,GAGA7L,KAAA88E,QAAA7sE,GAAApE,GAGA,IAAA7L,KAAAksJ,YACArB,EAAApoJ,EAAAzC,KAAA88E,UAGAivE,EAAAnrJ,UAAA8rJ,cAAA,SAAAjqJ,EAAAwN,GACA,IAAA08I,EAAA3sJ,KACAwpJ,EAAA/mJ,OAAAmW,EAAA,SAAA/M,GACA,OAAA8gJ,EAAAH,WAAAnC,EAAAp6I,EAAApE,IACA,SAAAlH,GACA,OAAAgoJ,EAAAH,WAAAlC,EAAAr6I,EAAAtL,MAGAonJ,EAjFA,GA6WAU,EAAA,WACA,SAAA1rJ,EAAA6rJ,GACA5sJ,KAAAqpJ,GA1XAzpJ,IA2XAI,KAAA88E,QAAA98E,KAAA8mB,YAAAlO,EACA5Y,KAAAwrJ,aAAA,GACApC,IAAAwD,IACA,mBAAAA,GAnHA,WACA,MAAA,IAAA97H,UAAA,sFAkHA+7H,GACA7sJ,gBAAAe,EA7YA,SAAA0B,EAAAmqJ,GACA,IACAA,EAAA,SAAA/gJ,GACAzK,EAAAqB,EAAAoJ,IACA,SAAAlH,GACA3D,EAAAyB,EAAAkC,KAGA,MAAAN,GACArD,EAAAyB,EAAA4B,IAoYAyoJ,CAAA9sJ,KAAA4sJ,GAjHA,WACA,MAAA,IAAA97H,UAAA,yHAgHAi8H,IAmPA,OAzDAhsJ,EAAAH,UAAAoD,MAAA,SAAAmlJ,GACA,OAAAnpJ,KAAA2C,KAAA,KAAAwmJ,IAwCApoJ,EAAAH,UAAAosJ,QAAA,SAAA5nG,GACA,IACArpC,EADA/b,KACA+b,YACA,OAAA1B,EAAA+qC,GAFAplD,KAGA2C,KAAA,SAAAkJ,GACA,OAAAkQ,EAAA3a,QAAAgkD,KAAAziD,KAAA,WACA,OAAAkJ,KAEA,SAAAlH,GACA,OAAAoX,EAAA3a,QAAAgkD,KAAAziD,KAAA,WACA,MAAAgC,MATA3E,KAaA2C,KAAAyiD,EAAAA,IAEArkD,EA1PA,GAuSA,OA3CA0rJ,EAAA7rJ,UAAA+B,KAAAA,EACA8pJ,EAAAQ,IAxeA,SAAApG,GACA,OAAA,IAAAkF,EAAA/rJ,KAAA6mJ,GAAApkJ,SAweAgqJ,EAAAS,KAraA,SAAArG,GAEA,IAAAmF,EAAAhsJ,KACA,OAAAiM,EAAA46I,GAMA,IAAAmF,EAAA,SAAA5qJ,EAAAJ,GAEA,IADA,IAAAE,EAAA2lJ,EAAA3lJ,OACA+O,EAAA,EAAAA,EAAA/O,EAAA+O,IACA+7I,EAAA5qJ,QAAAylJ,EAAA52I,IAAAtN,KAAAvB,EAAAJ,KARA,IAAAgrJ,EAAA,SAAA1mJ,EAAAtE,GACA,OAAAA,EAAA,IAAA8vB,UAAA,uCAiaA27H,EAAArrJ,QAAAqoJ,EACAgD,EAAAzrJ,OApXA,SAAA2D,GAEA,IACAlC,EAAA,IADAzC,KACAopJ,GAEA,OADApoJ,EAAAyB,EAAAkC,GACAlC,GAgXAgqJ,EAAAU,cAx+BA,SAAAC,GACAtF,EAAAsF,GAw+BAX,EAAAY,SAt+BA,SAAAC,GACAvF,EAAAuF,GAs+BAb,EAAAc,MAAAxF,EAkCA0E,EAAAnW,SAhCA,WACA,IAAAkX,OAAA,EACA,GAAA,oBAAA9F,OACA8F,EAAA9F,YAEA,GAAA,oBAAA7iD,KACA2oD,EAAA3oD,UAGA,IACA2oD,EAAAz0E,SAAA,cAAAA,GAEA,MAAA10E,GACA,MAAA,IAAAhG,MAAA,4EAGA,IAAAovJ,EAAAD,EAAAzsJ,QACA,GAAA0sJ,EAAA,CACA,IAAAC,EAAA,KACA,IACAA,EAAA1uJ,OAAA4B,UAAA2D,SAAAsD,KAAA4lJ,EAAArsJ,WAEA,MAAAiD,IAGA,GAAA,qBAAAqpJ,IAAAD,EAAAE,KACA,OAGAH,EAAAzsJ,QAAA0rJ,GAIAA,EAAA1rJ,QAAA0rJ,EACAA,KChkCA,SAAA/uJ,EAAAC,EAAAC,GACAD,EAAAC,QAAAF,EAAA,IAAAA,GAAA0nJ,OAAA1nJ,EAAA,MCDA,SAAAA,EAAAC,EAAAC,GACA,IAAAgwJ,EAAA,CAAAj7G,QAAA,EAAAk7G,QAAA,GACAlwJ,EAAAC,QAAA,WACA,IAAAiwJ,EACA,GAAA,mBAAAzI,OACA,OAAA,EACAyI,EAAAzI,OAAA,eACA,IACAzxH,OAAAk6H,GAEA,MAAAxpJ,GACA,OAAA,EAGA,QAAAupJ,SAAAxI,OAAA3C,aAEAmL,SAAAxI,OAAA0I,gBAEAF,SAAAxI,OAAAK,eClBA,SAAA/nJ,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAA6K,GACA,QAAAA,IAEA,iBAAAA,KAEAA,EAAAsT,aAEA,WAAAtT,EAAAsT,YAAA5d,MAEA,WAAAsK,EAAAA,EAAAsT,YAAA0pI,gBCVA,SAAA/nJ,EAAAC,EAAAC,GACA,IAAAmwJ,EAAAC,EAAAC,EAAAC,EAAAp8G,EAAAp0C,EAAA,KAAAywJ,EAAAzwJ,EAAA,KAAAuF,EAAAjE,OAAAiE,OAAA6gJ,EAAA9kJ,OAAA8kJ,iBAAA7wI,EAAAjU,OAAAiU,eAAAm7I,EAAApvJ,OAAA4B,UAAAytJ,EAAAprJ,EAAA,MACA,GAAA,mBAAAmiJ,OAAA,CACA2I,EAAA3I,OACA,IACAzxH,OAAAo6H,KACAG,GAAA,EAEA,MAAApJ,KAEA,IACAwJ,EADAC,GACAD,EAAArrJ,EAAA,MACA,SAAAy+I,GAEA,IADA,IAAAvjJ,EAAAqwJ,EAAAC,EAAA,EACAH,EAAA5M,GAAA+M,GAAA,QACAA,EAeA,OAbAH,EADA5M,GAAA+M,GAAA,KACA,EAEAx7I,EAAAm7I,EADAjwJ,EAAA,KAAAujJ,EACA5vG,EAAAowG,GAAA,KAAA,SAAAr2I,GAKA2iJ,IAEAA,GAAA,EACAv7I,EAAAjT,KAAA7B,EAAA2zC,EAAAjmC,IACA2iJ,GAAA,MAEArwJ,IAKA8vJ,EAAA,SAAAS,GACA,GAAA1uJ,gBAAAiuJ,EACA,MAAA,IAAAn9H,UAAA,+BACA,OAAAk9H,EAAAU,IAIA/wJ,EAAAC,QAAAowJ,EAAA,SAAA5I,EAAAsJ,GACA,IAAAb,EACA,GAAA7tJ,gBAAAolJ,EACA,MAAA,IAAAt0H,UAAA,+BACA,OAAAo9H,EACAH,EAAAW,IACAb,EAAA5qJ,EAAAgrJ,EAAArtJ,WACA8tJ,OAAA91I,IAAA81I,EAAA,GAAA/6H,OAAA+6H,GACA5K,EAAA+J,EAAA,CACAc,gBAAA78G,EAAA,GAAA48G,GACAE,SAAA98G,EAAA,GAAAy8G,EAAAG,QAGA5K,EAAAkK,EAAA,CACAa,IAAA/8G,EAAA,SAAAzlC,GACA,OAAAgiJ,EAAAhiJ,GACAgiJ,EAAAhiJ,GACAgiJ,EAAAhiJ,GAAA2hJ,EAAAr6H,OAAAtnB,MAEAyiJ,OAAAh9G,EAAA,SAAA+G,GACA,IAAAxsC,EAEA,IAAAA,KADA8hJ,EAAAt1G,GACAw1G,EACA,GAAAA,EAAAhiJ,KAAAwsC,EACA,OAAAxsC,IAIA0iJ,YAAAj9G,EAAA,GAAAi8G,GAAAA,EAAAgB,aAAAf,EAAA,gBACAgB,mBAAAl9G,EAAA,GAAAi8G,GAAAA,EAAAiB,oBACAhB,EAAA,uBACAvL,SAAA3wG,EAAA,GAAAi8G,GAAAA,EAAAtL,UAAAuL,EAAA,aACA/+G,MAAA6C,EAAA,GAAAi8G,GAAAA,EAAA9+G,OAAA++G,EAAA,UACA//G,QAAA6D,EAAA,GAAAi8G,GAAAA,EAAA9/G,SAAA+/G,EAAA,YACAt1G,OAAA5G,EAAA,GAAAi8G,GAAAA,EAAAr1G,QAAAs1G,EAAA,WACAiB,QAAAn9G,EAAA,GAAAi8G,GAAAA,EAAAkB,SAAAjB,EAAA,YACAhiJ,MAAA8lC,EAAA,GAAAi8G,GAAAA,EAAA/hJ,OAAAgiJ,EAAA,UACAF,YAAAh8G,EAAA,GAAAi8G,GAAAA,EAAAD,aAAAE,EAAA,gBACAvI,YAAA3zG,EAAA,GAAAi8G,GAAAA,EAAAtI,aAAAuI,EAAA,gBACAkB,YAAAp9G,EAAA,GAAAi8G,GAAAA,EAAAmB,aAAAlB,EAAA,kBAGAlK,EAAAmK,EAAArtJ,UAAA,CACAmb,YAAA+1B,EAAAk8G,GACAzpJ,SAAAutC,EAAA,GAAA,WAAA,OAAA9xC,KAAA4uJ,aAIA9K,EAAAkK,EAAAptJ,UAAA,CACA2D,SAAAutC,EAAA,WAAA,MAAA,WAAAq8G,EAAAnuJ,MAAA2uJ,gBAAA,MACAQ,QAAAr9G,EAAA,WAAA,OAAAq8G,EAAAnuJ,UAEAiT,EAAA+6I,EAAAptJ,UAAAotJ,EAAAF,YAAAh8G,EAAA,GAAA,WACA,IAAA+7G,EAAAM,EAAAnuJ,MACA,MAAA,iBAAA6tJ,EACAA,EACAA,EAAAtpJ,cAEA0O,EAAA+6I,EAAAptJ,UAAAotJ,EAAAvI,YAAA3zG,EAAA,IAAA,WAEA7+B,EAAAg7I,EAAArtJ,UAAAotJ,EAAAvI,YAAA3zG,EAAA,IAAAk8G,EAAAptJ,UAAAotJ,EAAAvI,eAKAxyI,EAAAg7I,EAAArtJ,UAAAotJ,EAAAF,YAAAh8G,EAAA,IAAAk8G,EAAAptJ,UAAAotJ,EAAAF,gBC3GA,SAAApwJ,EAAAC,EAAAC,GACA,IAAAwxJ,EAAA1xJ,EAAA,KACAC,EAAAC,QAAA,SAAAiO,GACA,IAAAujJ,EAAAvjJ,GACA,MAAA,IAAAilB,UAAAjlB,EAAA,oBACA,OAAAA,ICLA,SAAAnO,EAAAC,EAAAC,GACAF,EAAA,IAAAA,IACAsB,OAAAiU,eAAAvV,EAAA,KAAA,UAAA,CAAAmO,MAAAnO,EAAA,KAAA4V,cAAA,EAAAD,YAAA,EACAuuI,UAAA,KCHA,SAAAlkJ,EAAAC,EAAAC,GACAD,EAAAC,QAAA,WACA,IAAAyxJ,EAAA5mJ,EACA,GAAA,mBAAA+yB,QACA,OAAA,EACA,IAEA6zH,EAAA,IAAA7zH,QAAA,CAAA,CAAA/yB,EAAA,GAAA,OAAA,CAAA,GAAA,OAAA,CAAA,GAAA,WAEA,MAAApE,GACA,OAAA,EAEA,MAAA,qBAAAsvB,OAAA07H,IAEA,mBAAAA,EAAAx0I,KAEAw0I,EAAAx0I,IAAA,GAAA,KAAAw0I,GAEA,mBAAAA,EAAAzI,QAEA,mBAAAyI,EAAA97I,KAEA,QAAA87I,EAAAn8I,IAAAzK,KCtBA,SAAA/K,EAAAC,EAAAC,GACAD,EAAAC,QACA,mBAAA49B,SAEA,qBAAAx8B,OAAA4B,UAAA2D,SAAAsD,KAAA,IAAA2zB,UCJA,SAAA99B,EAAAC,EAAAC,GACA,IAAA0xJ,EAAAlL,EAAA1mJ,EAAA,KAAAi1C,EAAAj1C,EAAA,KAAAmO,EAAAnO,EAAA,KAAA6xJ,EAAA7xJ,EAAA,KAAAo0C,EAAAp0C,EAAA,KAAAklJ,EAAAllJ,EAAA,KAAA8pJ,EAAA9pJ,EAAA,KAAAqpJ,EAAArpJ,EAAA,KAAA+nJ,YAAAgC,EAAA/pJ,EAAA,KAAAuO,EAAAwD,MAAAxD,QAAAgH,EAAAjU,OAAAiU,eAAArU,EAAAI,OAAA4B,UAAAhC,eAAAylJ,EAAArlJ,OAAAqlJ,eACA1mJ,EAAAC,QAAA0xJ,EAAA,WACA,IAAAzqD,EAAA6gD,EAAAl+I,UAAA,GACA,KAAAxH,gBAAAsvJ,GACA,MAAA,IAAAx+H,UAAA,8BAYA,OAVA+zE,EADA4iD,GAAArD,GAAA5oH,UAAA8zH,EACAlL,EAAA,IAAA5oH,QAAA6oH,EAAArkJ,OAGAA,KAEA,MAAA0lJ,IACAz5I,EAAAy5I,KACAA,EAAA9C,EAAA8C,KAEAzyI,EAAA4xF,EAAA,kBAAA/yD,EAAA,IAAA,YAAAy9G,MACA7J,GAEA8B,EAAA9B,EAAA,SAAArpI,GACAxQ,EAAAwQ,GACAwoF,EAAAhqF,IAAAwB,EAAA,GAAAA,EAAA,MAEAwoF,GALAA,GAOA4iD,IACArD,GACAA,EAAAkL,EAAA9zH,SACA8zH,EAAA1uJ,UAAA5B,OAAAiE,OAAAu4B,QAAA56B,UAAA,CACAmb,YAAA+1B,EAAAw9G,MAGAtwJ,OAAA8kJ,iBAAAwL,EAAA1uJ,UAAA,CACAgmJ,OAAA90G,EAAA,SAAAzlC,GACA,QAAAzN,EAAAiJ,KAAA8qC,EAAAtmC,GAAArM,KAAAwvJ,0BACAnjJ,EAAArM,KAAAwvJ,kBACA,KAIAt8I,IAAA4+B,EAAA,SAAAzlC,GACA,GAAAzN,EAAAiJ,KAAA8qC,EAAAtmC,GAAArM,KAAAwvJ,iBACA,OAAAnjJ,EAAArM,KAAAwvJ,mBAGAj8I,IAAAu+B,EAAA,SAAAzlC,GACA,OAAAzN,EAAAiJ,KAAA8qC,EAAAtmC,GAAArM,KAAAwvJ,mBAEA30I,IAAAi3B,EAAA,SAAAzlC,EAAAR,GAEA,OADAoH,EAAA0/B,EAAAtmC,GAAArM,KAAAwvJ,gBAAA19G,EAAA,IAAAjmC,IACA7L,OAEAuE,SAAAutC,EAAA,WAAA,MAAA,uBAEA7+B,EAAAq8I,EAAA1uJ,UAAAmmJ,EAAAj1G,EAAA,IAAA,aCtDA,SAAAp0C,EAAAC,EAAAC,GACA,IAAA8gC,EAAA0L,EAAAvY,EAAAnW,EAAA+zI,EAAAC,EAAAztH,EAAA6P,EAAAp0C,EAAA,KAAA8jJ,EAAA9jJ,EAAA,KAAA6J,EAAAwxE,SAAAn4E,UAAA2G,MAAAM,EAAAkxE,SAAAn4E,UAAAiH,KAAA5E,EAAAjE,OAAAiE,OAAAgQ,EAAAjU,OAAAiU,eAAA6wI,EAAA9kJ,OAAA8kJ,iBAAAllJ,EAAAI,OAAA4B,UAAAhC,eAAA+wJ,EAAA,CAAAr8I,cAAA,EAAAD,YAAA,EAAAuuI,UAAA,GAoBAx3G,EAAA,SAAA7wB,EAAAq2I,GACA,IAAAxlH,EAAAy6D,EAQA,OAPA28C,EAAAoO,GACA/qD,EAAA7kG,KACA0+B,EAAA72B,KAAA7H,KAAAuZ,EAAA6wB,EAAA,WACAvY,EAAAhqB,KAAAg9F,EAAAtrF,EAAA6wB,GACA7iC,EAAAM,KAAA+nJ,EAAA5vJ,KAAAwH,aAEA4iC,EAAAylH,mBAAAD,EACA5vJ,MAoEAyvJ,EAAA,CACA/wH,GAjGAA,EAAA,SAAAnlB,EAAAq2I,GACA,IAAAxrJ,EAgBA,OAfAo9I,EAAAoO,GACAhxJ,EAAAiJ,KAAA7H,KAAA,UAMAoE,EAAApE,KAAA8vJ,QALA1rJ,EAAAurJ,EAAA9jJ,MAAA5I,EAAA,MACAgQ,EAAAjT,KAAA,SAAA2vJ,GACAA,EAAA9jJ,MAAA,MAKAzH,EAAAmV,GAEA,iBAAAnV,EAAAmV,GACAnV,EAAAmV,GAAAvO,KAAA4kJ,GAEAxrJ,EAAAmV,GAAA,CAAAnV,EAAAmV,GAAAq2I,GAJAxrJ,EAAAmV,GAAAq2I,EAKA5vJ,MAiFAoqC,KAAAA,EACAvY,IArEAA,EAAA,SAAAtY,EAAAq2I,GACA,IAAAxrJ,EAAA2rJ,EAAAC,EAAA//I,EAEA,GADAuxI,EAAAoO,IACAhxJ,EAAAiJ,KAAA7H,KAAA,UACA,OAAAA,KAEA,KADAoE,EAAApE,KAAA8vJ,QACAv2I,GACA,OAAAvZ,KAEA,GAAA,iBADA+vJ,EAAA3rJ,EAAAmV,IAEA,IAAAtJ,EAAA,EAAA+/I,EAAAD,EAAA9/I,KAAAA,EACA+/I,IAAAJ,GACAI,EAAAH,qBAAAD,IACA,IAAAG,EAAA7uJ,OACAkD,EAAAmV,GAAAw2I,EAAA9/I,EAAA,EAAA,GAEA8/I,EAAAppH,OAAA12B,EAAA,SAKA8/I,IAAAH,GACAG,EAAAF,qBAAAD,UACAxrJ,EAAAmV,GAGA,OAAAvZ,MA4CA0b,KA1CAA,EAAA,SAAAnC,GACA,IAAAtJ,EAAAk3E,EAAAyoE,EAAAG,EAAAp1H,EACA,GAAA/7B,EAAAiJ,KAAA7H,KAAA,YAEA+vJ,EAAA/vJ,KAAA8vJ,OAAAv2I,IAGA,GAAA,iBAAAw2I,EAAA,CAGA,IAFA5oE,EAAA3/E,UAAAtG,OACAy5B,EAAA,IAAAlrB,MAAA03E,EAAA,GACAl3E,EAAA,EAAAA,EAAAk3E,IAAAl3E,EACA0qB,EAAA1qB,EAAA,GAAAzI,UAAAyI,GAEA,IADA8/I,EAAAA,EAAAtrH,QACAx0B,EAAA,EAAA2/I,EAAAG,EAAA9/I,KAAAA,EACA1I,EAAAM,KAAA+nJ,EAAA5vJ,KAAA26B,QAIA,OAAAnzB,UAAAtG,QACA,KAAA,EACA2G,EAAAA,KAAAkoJ,EAAA/vJ,MACA,MACA,KAAA,EACA6H,EAAAA,KAAAkoJ,EAAA/vJ,KAAAwH,UAAA,IACA,MACA,KAAA,EACAK,EAAAA,KAAAkoJ,EAAA/vJ,KAAAwH,UAAA,GAAAA,UAAA,IACA,MACA,QAGA,IAFA2/E,EAAA3/E,UAAAtG,OACAy5B,EAAA,IAAAlrB,MAAA03E,EAAA,GACAl3E,EAAA,EAAAA,EAAAk3E,IAAAl3E,EACA0qB,EAAA1qB,EAAA,GAAAzI,UAAAyI,GAEA1I,EAAAM,KAAAkoJ,EAAA/vJ,KAAA26B,MAUA+0H,EAAA,CACAhxH,GAAAoT,EAAApT,GACA0L,KAAA0H,EAAA1H,GACAvY,IAAAigB,EAAAjgB,GACAnW,KAAAo2B,EAAAp2B,IAEAumB,EAAA6hH,EAAA,GAAA4L,GACA/xJ,EAAAC,QAAAA,EAAA,SAAAo9I,GACA,OAAA,MAAAA,EAAA/3I,EAAAg/B,GAAA6hH,EAAA9kJ,OAAAg8I,GAAA0U,IAEA9xJ,EAAA6xJ,QAAAA,GClHA,SAAA/xJ,EAAAC,EAAAC,GACA,IAAA8pJ,EAAAC,EAAAD,EAIA1nJ,KAJA2nJ,EAIA,WACA,aACA,IAAAsI,EAAA,WACAjwJ,KAAAkwJ,IAAA,GACAlwJ,KAAAmT,OAAA,GACAnT,KAAAkB,OAAA,GAEA+uJ,EAAArvJ,UAAAgT,MAAA,WACA5T,KAAAkB,OAAAlB,KAAAkwJ,IAAAhvJ,OAAAlB,KAAAmT,OAAAjS,OAAA,GAEA+uJ,EAAArvJ,UAAAoK,KAAA,SAAApL,EAAAiM,GACA7L,KAAAkwJ,IAAAllJ,KAAApL,GACAI,KAAAmT,OAAAnI,KAAAa,GAEA,IADA,IAAAk+H,EAAA/pI,KAAAkB,SACA6oI,EAAA,GAAA,CACA,IAAAn5H,EAAAm5H,EAAA,GAAA,EACAomB,EAAAnwJ,KAAAmT,OAAAvC,GACA,GAAA/E,GAAAskJ,EACA,MAEAnwJ,KAAAkwJ,IAAAnmB,GAAA/pI,KAAAkwJ,IAAAt/I,GACA5Q,KAAAmT,OAAA42H,GAAAomB,EACApmB,EAAAn5H,EAEA5Q,KAAAkwJ,IAAAnmB,GAAAnqI,EACAI,KAAAmT,OAAA42H,GAAAl+H,GAEAokJ,EAAArvJ,UAAA2wC,IAAA,WACA,GAAA,IAAAvxC,KAAAkB,OAAA,CAGA,IAAA8M,EAAAhO,KAAAkwJ,IAAA,GAEA,GADAlwJ,KAAAkB,SACAlB,KAAAkB,OAAA,EAAA,CAKA,IAJA,IAAAtB,EAAAI,KAAAkwJ,IAAA,GAAAlwJ,KAAAkwJ,IAAAlwJ,KAAAkB,QACA2K,EAAA7L,KAAAmT,OAAA,GAAAnT,KAAAmT,OAAAnT,KAAAkB,QACAkvJ,EAAApwJ,KAAAkB,QAAA,EACA6oI,EAAA,EACAA,EAAAqmB,GAAA,CACA,IAAAhiJ,EAAA,GAAA27H,GAAA,GACAz7H,EAAAF,EAAA,EACAiiJ,EAAArwJ,KAAAkwJ,IAAA9hJ,GACAkiJ,EAAAtwJ,KAAAmT,OAAA/E,GACAmiJ,EAAAvwJ,KAAAmT,OAAA7E,GAMA,GALAA,EAAAtO,KAAAkB,QAAAqvJ,EAAAD,IACAliJ,EAAAE,EACA+hJ,EAAArwJ,KAAAkwJ,IAAA5hJ,GACAgiJ,EAAAC,GAEAD,GAAAzkJ,EACA,MAEA7L,KAAAkwJ,IAAAnmB,GAAAsmB,EACArwJ,KAAAmT,OAAA42H,GAAAumB,EACAvmB,EAAA37H,EAEApO,KAAAkwJ,IAAAnmB,GAAAnqI,EACAI,KAAAmT,OAAA42H,GAAAl+H,EAIA,OAFA7L,KAAAkwJ,IAAA3+G,MACAvxC,KAAAmT,OAAAo+B,MACAvjC,IAEAiiJ,EAAArvJ,UAAA4vJ,KAAA,WACA,OAAAxwJ,KAAAkwJ,IAAA,IAEAD,EAAArvJ,UAAA6vJ,UAAA,WACA,OAAAzwJ,KAAAmT,OAAA,IAEA,IAAAsiC,EAAA,CACAkB,UAAAxiB,WAAAu0H,kBAAA7xG,WAAAD,YACAE,WAAAlH,YAAAmH,aAAA7jB,cAGAw9H,EAAA,SAAAC,EAAAC,EAAAC,EAAAzsJ,GAKA,QAJA,IAAAwsJ,IACAA,EAAA,SACA,IAAAC,IACAA,EAAA39H,mBACAta,IAAA+3I,EACA,MAAA,IAAAtyJ,MAAA,wCAEA,GAAAkjF,MAAAovE,IAAAA,GAAA,EACA,MAAA,IAAAtyJ,MAAA,+BAAAsyJ,EAAA,KAEA3wJ,KAAA2wJ,UAAAA,EACA3wJ,KAAA4wJ,SAAAthJ,KAAA4b,IAAA5b,KAAAsD,KAAAg+I,EAAA,GAAA,OAGA,IAAAtrH,EAAAqrH,EACAG,EAAAxrH,EACAtlC,KAAA+wJ,aAAA,CAAA,EAAAzrH,GACA,GACAA,EAAAh2B,KAAAC,KAAA+1B,EAAAtlC,KAAA4wJ,UACAE,GAAAxrH,EACAtlC,KAAA+wJ,aAAA/lJ,KAAA,EAAA8lJ,SACA,IAAAxrH,GACAtlC,KAAA6wJ,UAAAA,GAAA39H,aACAlzB,KAAAgxJ,eAAAF,EAAA,MAAAl6G,YAAAhH,YACA,IAAAqhH,EAAAx7G,EAAA9Q,QAAA3kC,KAAA6wJ,WACAK,EAAA,EAAAJ,EAAA9wJ,KAAA6wJ,UAAAl7G,kBACA,GAAAs7G,EAAA,EACA,MAAA,IAAA5yJ,MAAA,iCAAAwyJ,EAAA,KAEAzsJ,GAAAA,aAAAua,aACA3e,KAAAoE,KAAAA,EACApE,KAAAmxJ,OAAA,IAAAnxJ,KAAA6wJ,UAAA7wJ,KAAAoE,KAAA,EAAA,EAAA0sJ,GACA9wJ,KAAAyrF,SAAA,IAAAzrF,KAAAgxJ,eAAAhxJ,KAAAoE,KAAA,EAAA8sJ,EAAAJ,GACA9wJ,KAAAoxJ,KAAA,EAAAN,EACA9wJ,KAAAuiB,KAAAviB,KAAAmxJ,OAAAnxJ,KAAAoxJ,KAAA,GACApxJ,KAAAwiB,KAAAxiB,KAAAmxJ,OAAAnxJ,KAAAoxJ,KAAA,GACApxJ,KAAAyiB,KAAAziB,KAAAmxJ,OAAAnxJ,KAAAoxJ,KAAA,GACApxJ,KAAA0iB,KAAA1iB,KAAAmxJ,OAAAnxJ,KAAAoxJ,KAAA,KAGApxJ,KAAAoE,KAAA,IAAAua,YAAA,EAAAuyI,EAAAJ,EAAA9wJ,KAAAgxJ,eAAAr7G,mBACA31C,KAAAmxJ,OAAA,IAAAnxJ,KAAA6wJ,UAAA7wJ,KAAAoE,KAAA,EAAA,EAAA0sJ,GACA9wJ,KAAAyrF,SAAA,IAAAzrF,KAAAgxJ,eAAAhxJ,KAAAoE,KAAA,EAAA8sJ,EAAAJ,GACA9wJ,KAAAoxJ,KAAA,EACApxJ,KAAAuiB,KAAAtO,EAAAA,EACAjU,KAAAwiB,KAAAvO,EAAAA,EACAjU,KAAAyiB,MAAA,EAAA,EACAziB,KAAA0iB,MAAA,EAAA,EACA,IAAAyR,WAAAn0B,KAAAoE,KAAA,EAAA,GAAAyW,IAAA,CAAA,IAAA,GAAAo2I,IACA,IAAAr6G,YAAA52C,KAAAoE,KAAA,EAAA,GAAA,GAAAwsJ,EACA,IAAAhhH,YAAA5vC,KAAAoE,KAAA,EAAA,GAAA,GAAAusJ,GAGA3wJ,KAAAqxJ,OAAA,IAAApB,GA+LA,SAAAqB,EAAAhzI,EAAA4M,EAAAtY,GACA,OAAA0L,EAAA4M,EAAAA,EAAA5M,EAAAA,GAAA1L,EAAA,EAAA0L,EAAA1L,EAGA,SAAA2+I,EAAA1lJ,EAAA2pC,GAGA,IAFA,IAAAvlC,EAAA,EACAs1B,EAAAiQ,EAAAt0C,OAAA,EACA+O,EAAAs1B,GAAA,CACA,IAAA0oB,EAAAh+C,EAAAs1B,GAAA,EACAiQ,EAAAyY,GAAApiD,EACA05B,EAAA0oB,EAGAh+C,EAAAg+C,EAAA,EAGA,OAAAzY,EAAAvlC,GA0BA,SAAAuhJ,EAAAr+I,EAAAs+I,EAAArvI,EAAAnS,EAAAs1B,GACA,IAAAmsH,EAAAv+I,EAAAlD,GACAkD,EAAAlD,GAAAkD,EAAAoyB,GACApyB,EAAAoyB,GAAAmsH,EACA,IAAApzI,EAAA,EAAArO,EACAg+C,EAAA,EAAA1oB,EACAv1B,EAAAyhJ,EAAAnzI,GACAiD,EAAAkwI,EAAAnzI,EAAA,GACAwH,EAAA2rI,EAAAnzI,EAAA,GACAwzB,EAAA2/G,EAAAnzI,EAAA,GACAmzI,EAAAnzI,GAAAmzI,EAAAxjG,GACAwjG,EAAAnzI,EAAA,GAAAmzI,EAAAxjG,EAAA,GACAwjG,EAAAnzI,EAAA,GAAAmzI,EAAAxjG,EAAA,GACAwjG,EAAAnzI,EAAA,GAAAmzI,EAAAxjG,EAAA,GACAwjG,EAAAxjG,GAAAj+C,EACAyhJ,EAAAxjG,EAAA,GAAA1sC,EACAkwI,EAAAxjG,EAAA,GAAAnoC,EACA2rI,EAAAxjG,EAAA,GAAAnc,EACA,IAAAztC,EAAA+d,EAAAnS,GACAmS,EAAAnS,GAAAmS,EAAAmjB,GACAnjB,EAAAmjB,GAAAlhC,EAIA,SAAAstJ,EAAAlpJ,EAAAC,GACA,IAAAsH,EAAAvH,EAAAC,EACA6Y,EAAA,MAAAvR,EACA8V,EAAA,OAAArd,EAAAC,GACAopC,EAAArpC,GAAA,MAAAC,GACAgZ,EAAA1R,EAAAuR,GAAA,EACAO,EAAA9R,GAAA,EAAAA,EACA+R,EAAA+D,GAAA,EAAAvE,EAAAuwB,GAAA,EAAAhsB,EACA8rI,EAAA5hJ,EAAA8V,GAAA,EAAAgsB,GAAA,EAAAA,EAMAhwB,GALA9R,EAAA0R,IACAH,EAAAO,IAIA,EAAAP,GAAAvR,EAAAuR,IAAA,EACAQ,GAAA/R,GAJA8V,EAAA/D,IAIA,EAAAR,GAHAuwB,EAAA8/G,IAGA,EACAA,GAAArwI,EAAAuE,GAAA,GAAA9V,EAAAuR,GAAAuwB,GAAA,EAMAhwB,GALA9R,EAJA0R,EAAA1R,EAAAA,GAAA,EAAAuR,EAAAA,GAAA,IAKAA,EAAAO,IAIA,EAAAP,GAAAvR,EAAAuR,IAAA,EACAQ,GAAA/R,GAJA8V,EAAA/D,IAIA,EAAAR,GAHAuwB,EAAA8/G,IAGA,EACAA,GAAArwI,EAAAuE,GAAA,GAAA9V,EAAAuR,GAAAuwB,GAAA,EAKA/vB,IAJA/R,EAJA0R,EAAA1R,EAAAA,GAAA,EAAAuR,EAAAA,GAAA,IAMAuE,EAAA/D,IAEA,GAHAR,EAAAO,IAEAgwB,EAAA8/G,IACA,EAIA,IAAAC,EAAAppJ,EAAAC,EACAopJ,GAFAvwI,GAFAqwI,GAAArwI,EAAAuE,GAAA,GAAA9V,EAAAuR,GAAAuwB,GAAA,GAEA8/G,GAAA,GAEA,OAAAC,GAHA7hJ,EAAA+R,EAAAA,GAAA,IAYA,QADA+vI,EAAA,aADAA,EAAA,YADAA,EAAA,YADAA,EAAA,UAAAA,EAAAA,GAAA,IACAA,GAAA,IACAA,GAAA,IACAA,GAAA,KACA,GALAD,EAAA,aADAA,EAAA,YADAA,EAAA,YADAA,EAAA,UAAAA,EAAAA,GAAA,IACAA,GAAA,IACAA,GAAA,IACAA,GAAA,OAKA,EAEA,OA5SAnB,EAAAhhJ,KAAA,SAAAtL,GACA,KAAAA,aAAAua,aACA,MAAA,IAAAtgB,MAAA,4CAEA,IAAAwe,EAAA,IAAAsX,WAAA/vB,EAAA,EAAA,GACA2tJ,EAAAl1I,EAAA,GACAm1I,EAAAn1I,EAAA,GACA,GAAA,MAAAk1I,EACA,MAAA,IAAA1zJ,MAAA,oDAEA,GAAA2zJ,GAAA,GAnEA,EAoEA,MAAA,IAAA3zJ,MAAA,SAAA2zJ,GAAA,GAAA,2BAEA,IAAAC,EAAA,IAAAr7G,YAAAxyC,EAAA,EAAA,GACAwsJ,EAAAqB,EAAA,GACAC,EAAA,IAAAtiH,YAAAxrC,EAAA,EAAA,GACAusJ,EAAAuB,EAAA,GACA,OAAA,IAAAxB,EAAAC,EAAAC,EAAAn7G,EAAA,GAAAu8G,GAAA5tJ,IAEAssJ,EAAA9vJ,UAAAgL,IAAA,SAAA2W,EAAAC,EAAAC,EAAAC,GACA,IAAAqd,EAAA//B,KAAAoxJ,MAAA,EACApxJ,KAAAyrF,SAAA1rD,GAAAA,EACA//B,KAAAmxJ,OAAAnxJ,KAAAoxJ,QAAA7uI,EACAviB,KAAAmxJ,OAAAnxJ,KAAAoxJ,QAAA5uI,EACAxiB,KAAAmxJ,OAAAnxJ,KAAAoxJ,QAAA3uI,EACAziB,KAAAmxJ,OAAAnxJ,KAAAoxJ,QAAA1uI,EACAH,EAAAviB,KAAAuiB,OACAviB,KAAAuiB,KAAAA,GAEAC,EAAAxiB,KAAAwiB,OACAxiB,KAAAwiB,KAAAA,GAEAC,EAAAziB,KAAAyiB,OACAziB,KAAAyiB,KAAAA,GAEAC,EAAA1iB,KAAA0iB,OACA1iB,KAAA0iB,KAAAA,IAGAguI,EAAA9vJ,UAAA43C,OAAA,WACA,GAAAx4C,KAAAoxJ,MAAA,IAAApxJ,KAAA2wJ,SACA,MAAA,IAAAtyJ,MAAA,UAAA2B,KAAAoxJ,MAAA,GAAA,wBAAApxJ,KAAA,SAAA,KAOA,IALA,IAAAqP,EAAArP,KAAAyiB,KAAAziB,KAAAuiB,KACA/S,EAAAxP,KAAA0iB,KAAA1iB,KAAAwiB,KACA2vI,EAAA,IAAAviH,YAAA5vC,KAAA2wJ,UAGA1gJ,EAAA,EAAAA,EAAAjQ,KAAA2wJ,SAAA1gJ,IAAA,CACA,IAAA85H,EAAA,EAAA95H,EACAsS,EAAAviB,KAAAmxJ,OAAApnB,KACAvnH,EAAAxiB,KAAAmxJ,OAAApnB,KACAtnH,EAAAziB,KAAAmxJ,OAAApnB,KACArnH,EAAA1iB,KAAAmxJ,OAAApnB,KACAthI,EAAA6G,KAAA64B,MARA,QAQA5lB,EAAAE,GAAA,EAAAziB,KAAAuiB,MAAAlT,GACA3G,EAAA4G,KAAA64B,MATA,QASA3lB,EAAAE,GAAA,EAAA1iB,KAAAwiB,MAAAhT,GACA2iJ,EAAAliJ,GAAA0hJ,EAAAlpJ,EAAAC,IAwJA,SAAAs9B,EAAA7yB,EAAAs+I,EAAArvI,EAAAhU,EAAAE,GACA,KAAAF,GAAAE,GAAA,CAMA,IAHA,IAAA8jJ,EAAAj/I,EAAA/E,EAAAE,GAAA,GACA2B,EAAA7B,EAAA,EACAm3B,EAAAj3B,EAAA,IACA,CACA,GACA2B,UACAkD,EAAAlD,GAAAmiJ,GACA,GACA7sH,UACApyB,EAAAoyB,GAAA6sH,GACA,GAAAniJ,GAAAs1B,EACA,MAEAisH,EAAAr+I,EAAAs+I,EAAArvI,EAAAnS,EAAAs1B,GAEAS,EAAA7yB,EAAAs+I,EAAArvI,EAAAhU,EAAAm3B,GACAS,EAAA7yB,EAAAs+I,EAAArvI,EAAAmjB,EAAA,EAAAj3B,IAzKA03B,CAAAmsH,EAAAnyJ,KAAAmxJ,OAAAnxJ,KAAAyrF,SAAA,EAAAzrF,KAAA2wJ,SAAA,GAEA,IAAA,IAAA0B,EAAA,EAAAC,EAAA,EAAAD,EAAAryJ,KAAA+wJ,aAAA7vJ,OAAA,EAAAmxJ,IAGA,IAFA,IAAAroI,EAAAhqB,KAAA+wJ,aAAAsB,GAEAC,EAAAtoI,GAAA,CAOA,IANA,IAAAuoI,EAAAt+I,EAAAA,EACAu+I,EAAAv+I,EAAAA,EACAw+I,GAAA,EAAA,EACAC,GAAA,EAAA,EACAC,EAAAL,EAEAM,EAAA,EAAAA,EAAA5yJ,KAAA4wJ,UAAA0B,EAAAtoI,EAAA4oI,IAAA,CACA,IAAAC,EAAA7yJ,KAAAmxJ,OAAAmB,KACAQ,EAAA9yJ,KAAAmxJ,OAAAmB,KACAS,EAAA/yJ,KAAAmxJ,OAAAmB,KACAU,EAAAhzJ,KAAAmxJ,OAAAmB,KACAO,EAAAN,IACAA,EAAAM,GAEAC,EAAAN,IACAA,EAAAM,GAEAC,EAAAN,IACAA,EAAAM,GAEAC,EAAAN,IACAA,EAAAM,GAIAhzJ,KAAAyrF,SAAAzrF,KAAAoxJ,MAAA,GAAAuB,EACA3yJ,KAAAmxJ,OAAAnxJ,KAAAoxJ,QAAAmB,EACAvyJ,KAAAmxJ,OAAAnxJ,KAAAoxJ,QAAAoB,EACAxyJ,KAAAmxJ,OAAAnxJ,KAAAoxJ,QAAAqB,EACAzyJ,KAAAmxJ,OAAAnxJ,KAAAoxJ,QAAAsB,IAIAhC,EAAA9vJ,UAAA83C,OAAA,SAAAn2B,EAAAC,EAAAC,EAAAC,EAAAuwI,GACA,GAAAjzJ,KAAAoxJ,OAAApxJ,KAAAmxJ,OAAAjwJ,OACA,MAAA,IAAA7C,MAAA,+CAMA,IAJA,IAAAs0J,EAAA3yJ,KAAAmxJ,OAAAjwJ,OAAA,EACAqvB,EAAAvwB,KAAA+wJ,aAAA7vJ,OAAA,EACA8mJ,EAAA,GACAviH,EAAA,QACA7sB,IAAA+5I,GAAA,CAIA,IAFA,IAAA3oI,EAAA1a,KAAA4b,IAAAynI,EAAA,EAAA3yJ,KAAA4wJ,SAAA5wJ,KAAA+wJ,aAAAxgI,IAEAw5G,EAAA4oB,EAAA5oB,EAAA//G,EAAA+/G,GAAA,EAAA,CACA,IAAAhqG,EAAA,EAAA//B,KAAAyrF,SAAAs+C,GAAA,GAEAtnH,EAAAziB,KAAAmxJ,OAAApnB,IAGArnH,EAAA1iB,KAAAmxJ,OAAApnB,EAAA,IAGAxnH,EAAAviB,KAAAmxJ,OAAApnB,EAAA,IAGAvnH,EAAAxiB,KAAAmxJ,OAAApnB,EAAA,KAGA4oB,EAAA,EAAA3yJ,KAAA2wJ,eACA/3I,IAAAq6I,GAAAA,EAAAlzH,KACA0F,EAAAz6B,KAAA+0B,IAIAioH,EAAAh9I,KAAA+0B,GACAioH,EAAAh9I,KAAAulB,EAAA,KAGAA,EAAAy3H,EAAAz2G,MACAohH,EAAA3K,EAAAz2G,MAEA,OAAA9L,GAEAirH,EAAA9vJ,UAAAsyJ,UAAA,SAAAzqJ,EAAAC,EAAAyqJ,EAAAC,EAAAH,GAKA,QAJA,IAAAE,IACAA,EAAAl/I,EAAAA,QACA,IAAAm/I,IACAA,EAAAn/I,EAAAA,GACAjU,KAAAoxJ,OAAApxJ,KAAAmxJ,OAAAjwJ,OACA,MAAA,IAAA7C,MAAA,+CAMA,IAJA,IAAAs0J,EAAA3yJ,KAAAmxJ,OAAAjwJ,OAAA,EACA0f,EAAA5gB,KAAAqxJ,OACA5rH,EAAA,GACA4tH,EAAAD,EAAAA,OACAx6I,IAAA+5I,GAAA,CAIA,IAFA,IAAA3oI,EAAA1a,KAAA4b,IAAAynI,EAAA,EAAA3yJ,KAAA4wJ,SAAAW,EAAAoB,EAAA3yJ,KAAA+wJ,eAEAhnB,EAAA4oB,EAAA5oB,EAAA//G,EAAA+/G,GAAA,EAAA,CACA,IAAAhqG,EAAA,EAAA//B,KAAAyrF,SAAAs+C,GAAA,GACAn7C,EAAA0iE,EAAA7oJ,EAAAzI,KAAAmxJ,OAAApnB,GAAA/pI,KAAAmxJ,OAAApnB,EAAA,IACAl7C,EAAAyiE,EAAA5oJ,EAAA1I,KAAAmxJ,OAAApnB,EAAA,GAAA/pI,KAAAmxJ,OAAApnB,EAAA,IACAnmD,EAAAgL,EAAAA,EAAAC,EAAAA,EACA8jE,EAAA,EAAA3yJ,KAAA2wJ,eACA/3I,IAAAq6I,GAAAA,EAAAlzH,KAEAnf,EAAA5V,MAAA+0B,EAAA,EAAA6jD,GAIAhjE,EAAA5V,KAAA+0B,EAAA6jD,GAIA,KAAAhjE,EAAA1f,QAAA0f,EAAA4vI,OAAA,GAAA,CACA,IAAA8C,EAAA1yI,EAAA6vI,YACA,GAAA6C,EAAAD,EAEA,OADAzyI,EAAAhN,QACA6xB,EAGA,GADAA,EAAAz6B,MAAA4V,EAAA2wB,MAAA,GACA9L,EAAAvkC,SAAAiyJ,EAEA,OADAvyI,EAAAhN,QACA6xB,EAGAktH,EAAA/xI,EAAA2wB,MAGA,OADA3wB,EAAAhN,QACA6xB,GAiHAirH,GAjbA,iBAAA9yJ,QAAA,IAAAD,EAAAA,EAAAC,QAAA+pJ,KAEAD,EAAAA,GAAA7iD,MAAA6rD,SAAA/I,KCJA,SAAAjqJ,EAAAC,EAAAC;;;;;;CAMA,SAAAoU,EAAAlO,EAAAyvJ,EAAA36I,GACA,aACA,IAuFAmpI,EAvFAyR,EAAA,CAAA,GAAA,SAAA,MAAA,KAAA,KAAA,KACAC,EAAA3vJ,EAAA4H,cAAA,OACAgoJ,EAAA,WACAzuI,EAAA3V,KAAA2V,MACA2H,EAAAtd,KAAAsd,IACAod,EAAAD,KAAAC,IAQA,SAAA2pH,EAAA3/I,EAAA21B,EAAA1P,GACA,OAAA73B,WAAAwxJ,EAAA5/I,EAAAimB,GAAA0P,GAWA,SAAAkqH,EAAA3zH,EAAAlsB,EAAAimB,GACA,QAAAxqB,MAAAxD,QAAAi0B,KACA4zH,EAAA5zH,EAAAjG,EAAAjmB,GAAAimB,IACA,GAUA,SAAA65H,EAAAt5I,EAAAioI,EAAAxoH,GACA,IAAAhqB,EACA,GAAAuK,EAGA,GAAAA,EAAAyhB,QACAzhB,EAAAyhB,QAAAwmH,EAAAxoH,QAEA,GAAAzf,EAAAtZ,SAAA0X,EAEA,IADA3I,EAAA,EACAA,EAAAuK,EAAAtZ,QACAuhJ,EAAA56I,KAAAoyB,EAAAzf,EAAAvK,GAAAA,EAAAuK,GACAvK,SAIA,IAAAA,KAAAuK,EACAA,EAAA5b,eAAAqR,IAAAwyI,EAAA56I,KAAAoyB,EAAAzf,EAAAvK,GAAAA,EAAAuK,GAWA,SAAAu5I,EAAA5vC,EAAAhmH,EAAAoE,GACA,IAAAyxJ,EAAA,sBAAA71J,EAAA,KAAAoE,EAAA,SACA,OAAA,WACA,IAAA8B,EAAA,IAAAhG,MAAA,mBACA41J,EAAA5vJ,GAAAA,EAAA4vJ,MAAA5vJ,EAAA4vJ,MAAAhmH,QAAA,kBAAA,IACAA,QAAA,cAAA,IACAA,QAAA,6BAAA,kBAAA,sBACAjc,EAAAhgB,EAAAnT,UAAAmT,EAAAnT,QAAAC,MAAAkT,EAAAnT,QAAAmzB,KAIA,OAHAA,GACAA,EAAAnqB,KAAAmK,EAAAnT,QAAAm1J,EAAAC,GAEA9vC,EAAA58G,MAAAvH,KAAAwH,YAYAu6I,EADA,mBAAA/iJ,OAAA+iJ,OACA,SAAAhgH,GACA,GAAAA,IAAAnpB,GAAA,OAAAmpB,EACA,MAAA,IAAAjR,UAAA,8CAGA,IADA,IAAA4f,EAAA1xC,OAAA+iC,GACAhC,EAAA,EAAAA,EAAAv4B,UAAAtG,OAAA6+B,IAAA,CACA,IAAArgB,EAAAlY,UAAAu4B,GACA,GAAArgB,IAAA9G,GAAA,OAAA8G,EACA,IAAA,IAAAw0I,KAAAx0I,EACAA,EAAA9gB,eAAAs1J,KACAxjH,EAAAwjH,GAAAx0I,EAAAw0I,IAKA,OAAAxjH,GAIA1xC,OAAA+iJ,OAUA,IAAAlqH,EAAAk8H,EAAA,SAAAthH,EAAAC,EAAAE,GAGA,IAFA,IAAA3zC,EAAAD,OAAAC,KAAAyzC,GACAziC,EAAA,EACAA,EAAAhR,EAAAiC,UACA0xC,GAAAA,GAAAH,EAAAxzC,EAAAgR,MAAA2I,KACA65B,EAAAxzC,EAAAgR,IAAAyiC,EAAAzzC,EAAAgR,KAEAA,IAEA,OAAAwiC,GACA,SAAA,iBAQAG,EAAAmhH,EAAA,SAAAthH,EAAAC,GACA,OAAA7a,EAAA4a,EAAAC,GAAA,IACA,QAAA,iBAOA,SAAAyhH,EAAA1nJ,EAAAw1B,EAAA/oB,GACA,IAAAk7I,EAAAC,EAAApyH,EAAArhC,WACAwzJ,EAAA3nJ,EAAA7L,UAAA5B,OAAAiE,OAAAoxJ,IACAt4I,YAAAtP,EACA2nJ,EAAA9sJ,OAAA+sJ,EACAn7I,GACA6oI,EAAAqS,EAAAl7I,GASA,SAAA06I,EAAA5/I,EAAAimB,GACA,OAAA,WACA,OAAAjmB,EAAAzM,MAAA0yB,EAAAzyB,YAUA,SAAA8sJ,EAAAj4I,EAAAse,GACA,cAAAte,GAAAq3I,EACAr3I,EAAA9U,MAAAozB,GAAAA,EAAA,IAAA/hB,EAAA+hB,GAEAte,EAQA,SAAAk4I,EAAAC,EAAAC,GACA,OAAAD,IAAA57I,EAAA67I,EAAAD,EAQA,SAAAE,EAAA3yH,EAAA4yH,EAAAC,GACAd,EAAAe,EAAAF,GAAA,SAAAp7I,GACAwoB,EAAAjE,iBAAAvkB,EAAAq7I,GAAA,KASA,SAAAE,EAAA/yH,EAAA4yH,EAAAC,GACAd,EAAAe,EAAAF,GAAA,SAAAp7I,GACAwoB,EAAA5D,oBAAA5kB,EAAAq7I,GAAA,KAUA,SAAAG,EAAAxjJ,EAAAX,GACA,KAAAW,GAAA,CACA,GAAAA,GAAAX,EACA,OAAA,EAEAW,EAAAA,EAAAV,WAEA,OAAA,EAQA,SAAAmkJ,EAAAh8G,EAAAtd,GACA,OAAAsd,EAAArU,QAAAjJ,IAAA,EAOA,SAAAm5H,EAAA77G,GACA,OAAAA,EAAAi8G,OAAAjpJ,MAAA,QASA,SAAAkpJ,EAAAxiH,EAAAhX,EAAAy5H,GACA,GAAAziH,EAAA/N,UAAAwwH,EACA,OAAAziH,EAAA/N,QAAAjJ,GAIA,IADA,IAAAzrB,EAAA,EACAA,EAAAyiC,EAAAxxC,QAAA,CACA,GAAAi0J,GAAAziH,EAAAziC,GAAAklJ,IAAAz5H,IAAAy5H,GAAAziH,EAAAziC,KAAAyrB,EACA,OAAAzrB,EAEAA,IAEA,OAAA,EAQA,SAAAmlJ,EAAA56I,GACA,OAAA/K,MAAA7O,UAAA6jC,MAAA58B,KAAA2S,EAAA,GASA,SAAA66I,EAAA3iH,EAAArmC,EAAA25B,GAIA,IAHA,IAAAP,EAAA,GACAtyB,EAAA,GACAlD,EAAA,EACAA,EAAAyiC,EAAAxxC,QAAA,CACA,IAAAmb,EAAAhQ,EAAAqmC,EAAAziC,GAAA5D,GAAAqmC,EAAAziC,GACAilJ,EAAA/hJ,EAAAkJ,GAAA,GACAopB,EAAAz6B,KAAA0nC,EAAAziC,IAEAkD,EAAAlD,GAAAoM,EACApM,IAYA,OAVA+1B,IAKAP,EAJAp5B,EAIAo5B,EAAAO,KAAA,SAAAh2B,EAAAuR,GACA,OAAAvR,EAAA3D,GAAAkV,EAAAlV,KAJAo5B,EAAAO,QAQAP,EAQA,SAAA6vH,EAAA96I,EAAAwtC,GAIA,IAHA,IAAAtyB,EAAAvpB,EACAopJ,EAAAvtG,EAAA,GAAAwtG,cAAAxtG,EAAAvjB,MAAA,GACAx0B,EAAA,EACAA,EAAAujJ,EAAAtyJ,QAAA,CAGA,GAFAw0B,EAAA89H,EAAAvjJ,IACA9D,EAAA,EAAAupB,EAAA6/H,EAAAvtG,KACAxtC,EACA,OAAArO,EAEA8D,IAEA,OAAA2I,EAMA,IAAA68I,EAAA,EASA,SAAAC,EAAAjqJ,GACA,IAAAtI,EAAAsI,EAAAkqJ,eAAAlqJ,EACA,OAAAtI,EAAAyyJ,aAAAzyJ,EAAA0yJ,cAAA7jJ,EAEA,IACA8jJ,EAAA,iBAAA9jJ,EACA+jJ,EAAAT,EAAAtjJ,EAAA,kBAAA4G,EACAo9I,EAAAF,GAHA,wCAGAtnH,KAAAa,UAAAC,WAKA2mH,EAAA,GACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,GACAC,EAAAJ,EAAAC,EACAI,EAAAH,EAAAC,EACA33H,EAAA43H,EAAAC,EACAC,EAAA,CAAA,IAAA,KACAC,EAAA,CAAA,UAAA,WAQA,SAAAC,EAAAC,EAAA5xG,GACA,IAAAy/C,EAAA7kG,KACAA,KAAAg3J,QAAAA,EACAh3J,KAAAolD,SAAAA,EACAplD,KAAAyL,QAAAurJ,EAAAvrJ,QACAzL,KAAA+hC,OAAAi1H,EAAAjtJ,QAAAktJ,YAGAj3J,KAAAk3J,WAAA,SAAA70H,GACAiyH,EAAA0C,EAAAjtJ,QAAAo1B,OAAA,CAAA63H,KACAnyD,EAAA+vD,QAAAvyH,IAGAriC,KAAA2yB,OAyDA,SAAAwkI,EAAAH,EAAAI,EAAA/mJ,GACA,IAAAgnJ,EAAAhnJ,EAAAinJ,SAAAp2J,OACAq2J,EAAAlnJ,EAAAmnJ,gBAAAt2J,OACAu2J,EAAAL,EAAAlB,GAAAmB,EAAAE,GAAA,EACAG,EAAAN,GAAAhB,EAAAC,IAAAgB,EAAAE,GAAA,EACAlnJ,EAAAonJ,UAAAA,EACApnJ,EAAAqnJ,UAAAA,EACAD,IACAT,EAAA72J,QAAA,IAIAkQ,EAAA+mJ,UAAAA,EAaA,SAAAJ,EAAA3mJ,GACA,IAAAlQ,EAAA62J,EAAA72J,QACAm3J,EAAAjnJ,EAAAinJ,SACAK,EAAAL,EAAAp2J,OAEAf,EAAAy3J,aACAz3J,EAAAy3J,WAAAC,EAAAxnJ,IAGAsnJ,EAAA,IAAAx3J,EAAA23J,cACA33J,EAAA23J,cAAAD,EAAAxnJ,GAEA,IAAAsnJ,IACAx3J,EAAA23J,eAAA,GAEA,IAAAF,EAAAz3J,EAAAy3J,WACAE,EAAA33J,EAAA23J,cACAC,EAAAD,EAAAA,EAAAvxG,OAAAqxG,EAAArxG,OACAA,EAAAl2C,EAAAk2C,OAAA4nD,GAAAmpD,GACAjnJ,EAAA2nJ,UAAAhuH,IACA35B,EAAA4nJ,UAAA5nJ,EAAA2nJ,UAAAJ,EAAAI,UACA3nJ,EAAAiR,MAAAi9H,GAAAwZ,EAAAxxG,GACAl2C,EAAA6nJ,SAAAC,GAAAJ,EAAAxxG,GAmBA,SAAApmD,EAAAkQ,GACA,IAAAk2C,EAAAl2C,EAAAk2C,OACAx0C,EAAA5R,EAAAi4J,aAAA,GACAC,EAAAl4J,EAAAk4J,WAAA,GACAC,EAAAn4J,EAAAm4J,WAAA,GACAjoJ,EAAA+mJ,YAAAlB,GAAAoC,EAAAlB,YAAAhB,IACAiC,EAAAl4J,EAAAk4J,UAAA,CACA5vJ,EAAA6vJ,EAAA11H,QAAA,EACAl6B,EAAA4vJ,EAAAz1H,QAAA,GAEA9wB,EAAA5R,EAAAi4J,YAAA,CACA3vJ,EAAA89C,EAAA99C,EACAC,EAAA69C,EAAA79C,IAGA2H,EAAAuyB,OAAAy1H,EAAA5vJ,GAAA89C,EAAA99C,EAAAsJ,EAAAtJ,GACA4H,EAAAwyB,OAAAw1H,EAAA3vJ,GAAA69C,EAAA79C,EAAAqJ,EAAArJ,GAlCA6vJ,CAAAp4J,EAAAkQ,GACAA,EAAAmoJ,gBAAAC,GAAApoJ,EAAAuyB,OAAAvyB,EAAAwyB,QACA,IAyLA9Y,EAAAC,EAzLA0uI,EAAAC,GAAAtoJ,EAAA4nJ,UAAA5nJ,EAAAuyB,OAAAvyB,EAAAwyB,QACAxyB,EAAAuoJ,iBAAAF,EAAAjwJ,EACA4H,EAAAwoJ,iBAAAH,EAAAhwJ,EACA2H,EAAAqoJ,gBAAA9rI,EAAA8rI,EAAAjwJ,GAAAmkB,EAAA8rI,EAAAhwJ,GAAAgwJ,EAAAjwJ,EAAAiwJ,EAAAhwJ,EACA2H,EAAAtH,MAAA+uJ,GAqLA/tI,EArLA+tI,EAAAR,SAsLAa,IADAnuI,EArLAstI,GAsLA,GAAAttI,EAAA,GAAA8sI,GAAAqB,GAAApuI,EAAA,GAAAA,EAAA,GAAA+sI,IAtLA,EACAzmJ,EAAA+7B,SAAA0rH,EA0KA,SAAA/tI,EAAAC,GACA,OAAAu0H,GAAAv0H,EAAA,GAAAA,EAAA,GAAA8sI,GAAAvY,GAAAx0H,EAAA,GAAAA,EAAA,GAAA+sI,GA3KAgC,CAAAhB,EAAAR,SAAAA,GAAA,EACAjnJ,EAAA0oJ,YAAA54J,EAAAm4J,UAAAjoJ,EAAAinJ,SAAAp2J,OACAf,EAAAm4J,UAAAS,YAAA1oJ,EAAAinJ,SAAAp2J,OAAAf,EAAAm4J,UAAAS,YADA1oJ,EAAAinJ,SAAAp2J,OAiCA,SAAAf,EAAAkQ,GACA,IAAA2oJ,EAAAC,EAAAC,EAAAp6H,EAAAqG,EAAAhlC,EAAAg5J,cAAA9oJ,EAAA4nJ,EAAA5nJ,EAAA2nJ,UAAA7yH,EAAA6yH,UACA,GAAA3nJ,EAAA+mJ,WAAAf,IAAA4B,EAAAhC,GAAA9wH,EAAA6zH,WAAApgJ,GAAA,CACA,IAAAgqB,EAAAvyB,EAAAuyB,OAAAuC,EAAAvC,OACAC,EAAAxyB,EAAAwyB,OAAAsC,EAAAtC,OACAtlB,EAAAo7I,GAAAV,EAAAr1H,EAAAC,GACAo2H,EAAA17I,EAAA9U,EACAywJ,EAAA37I,EAAA7U,EACAswJ,EAAApsI,EAAArP,EAAA9U,GAAAmkB,EAAArP,EAAA7U,GAAA6U,EAAA9U,EAAA8U,EAAA7U,EACAo2B,EAAA25H,GAAA71H,EAAAC,GACA1iC,EAAAg5J,aAAA9oJ,OAIA2oJ,EAAA7zH,EAAA6zH,SACAC,EAAA9zH,EAAA8zH,UACAC,EAAA/zH,EAAA+zH,UACAp6H,EAAAqG,EAAArG,UAEAzuB,EAAA2oJ,SAAAA,EACA3oJ,EAAA4oJ,UAAAA,EACA5oJ,EAAA6oJ,UAAAA,EACA7oJ,EAAAyuB,UAAAA,EArDAs6H,CAAAj5J,EAAAkQ,GAEA,IAAA0xB,EAAAi1H,EAAAvrJ,QACAspJ,EAAA1kJ,EAAA+wB,SAAAW,OAAAA,KACAA,EAAA1xB,EAAA+wB,SAAAW,QAEA1xB,EAAA0xB,OAAAA,EAlDAs3H,CAAArC,EAAA3mJ,GAEA2mJ,EAAAt7I,KAAA,eAAArL,GACA2mJ,EAAAsC,UAAAjpJ,GACA2mJ,EAAA72J,QAAAm4J,UAAAjoJ,EAoGA,SAAAwnJ,EAAAxnJ,GAKA,IAFA,IAAAinJ,EAAA,GACArnJ,EAAA,EACAA,EAAAI,EAAAinJ,SAAAp2J,QACAo2J,EAAArnJ,GAAA,CACAspJ,QAAAt0I,EAAA5U,EAAAinJ,SAAArnJ,GAAAspJ,SACAC,QAAAv0I,EAAA5U,EAAAinJ,SAAArnJ,GAAAupJ,UAEAvpJ,IAEA,MAAA,CACA+nJ,UAAAhuH,IACAstH,SAAAA,EACA/wG,OAAA4nD,GAAAmpD,GACA10H,OAAAvyB,EAAAuyB,OACAC,OAAAxyB,EAAAwyB,QAQA,SAAAsrE,GAAAmpD,GACA,IAAAK,EAAAL,EAAAp2J,OAEA,GAAA,IAAAy2J,EACA,MAAA,CACAlvJ,EAAAwc,EAAAqyI,EAAA,GAAAiC,SACA7wJ,EAAAuc,EAAAqyI,EAAA,GAAAkC,UAIA,IADA,IAAA/wJ,EAAA,EAAAC,EAAA,EAAAuH,EAAA,EACAA,EAAA0nJ,GACAlvJ,GAAA6uJ,EAAArnJ,GAAAspJ,QACA7wJ,GAAA4uJ,EAAArnJ,GAAAupJ,QACAvpJ,IAEA,MAAA,CACAxH,EAAAwc,EAAAxc,EAAAkvJ,GACAjvJ,EAAAuc,EAAAvc,EAAAivJ,IAUA,SAAAgB,GAAAV,EAAAxvJ,EAAAC,GACA,MAAA,CACAD,EAAAA,EAAAwvJ,GAAA,EACAvvJ,EAAAA,EAAAuvJ,GAAA,GASA,SAAAQ,GAAAhwJ,EAAAC,GACA,OAAAD,IAAAC,EACA4tJ,EAEA1pI,EAAAnkB,IAAAmkB,EAAAlkB,GACAD,EAAA,EAAA8tJ,EAAAC,EAEA9tJ,EAAA,EAAA+tJ,EAAAC,EASA,SAAAyB,GAAA53I,EAAAk5I,EAAAngJ,GACAA,IACAA,EAAAu9I,GAEA,IAAApuJ,EAAAgxJ,EAAAngJ,EAAA,IAAAiH,EAAAjH,EAAA,IAAA5Q,EAAA+wJ,EAAAngJ,EAAA,IAAAiH,EAAAjH,EAAA,IACA,OAAAhK,KAAAsT,KAAAna,EAAAA,EAAAC,EAAAA,GASA,SAAA61I,GAAAh+H,EAAAk5I,EAAAngJ,GACAA,IACAA,EAAAu9I,GAEA,IAAApuJ,EAAAgxJ,EAAAngJ,EAAA,IAAAiH,EAAAjH,EAAA,IAAA5Q,EAAA+wJ,EAAAngJ,EAAA,IAAAiH,EAAAjH,EAAA,IACA,OAAA,IAAAhK,KAAA2iC,MAAAvpC,EAAAD,GAAA6G,KAAA0e,GAhRA+oI,EAAAn2J,UAAA,CAKAg0J,QAAA,aAIAjiI,KAAA,WACA3yB,KAAA05J,MAAAhF,EAAA10J,KAAAyL,QAAAzL,KAAA05J,KAAA15J,KAAAk3J,YACAl3J,KAAA25J,UAAAjF,EAAA10J,KAAA+hC,OAAA/hC,KAAA25J,SAAA35J,KAAAk3J,YACAl3J,KAAA45J,OAAAlF,EAAAgB,EAAA11J,KAAAyL,SAAAzL,KAAA45J,MAAA55J,KAAAk3J,aAKAp7I,QAAA,WACA9b,KAAA05J,MAAA5E,EAAA90J,KAAAyL,QAAAzL,KAAA05J,KAAA15J,KAAAk3J,YACAl3J,KAAA25J,UAAA7E,EAAA90J,KAAA+hC,OAAA/hC,KAAA25J,SAAA35J,KAAAk3J,YACAl3J,KAAA45J,OAAA9E,EAAAY,EAAA11J,KAAAyL,SAAAzL,KAAA45J,MAAA55J,KAAAk3J,cAiRA,IAAA2C,GAAA,CACAC,UAAA5D,EACA6D,UAAA5D,EACA6D,QAAA5D,GAEA6D,GAAA,YACAC,GAAA,oBAMA,SAAAC,KACAn6J,KAAA05J,KAAAO,GACAj6J,KAAA45J,MAAAM,GACAl6J,KAAAo6J,SAAA,EACArD,EAAAxvJ,MAAAvH,KAAAwH,WAEA2sJ,EAAAgG,GAAApD,EAAA,CAKAnC,QAAA,SAAAvyH,GACA,IAAA+0H,EAAAyC,GAAAx3H,EAAA9oB,MAEA69I,EAAAlB,GAAA,IAAA7zH,EAAAlyB,SACAnQ,KAAAo6J,SAAA,GAEAhD,EAAAjB,GAAA,IAAA9zH,EAAAg4H,QACAjD,EAAAhB,GAGAp2J,KAAAo6J,UAGAhD,EAAAhB,IACAp2J,KAAAo6J,SAAA,GAEAp6J,KAAAolD,SAAAplD,KAAAg3J,QAAAI,EAAA,CACAE,SAAA,CAAAj1H,GACAm1H,gBAAA,CAAAn1H,GACAi4H,YAtXA,QAuXAl5H,SAAAiB,QAIA,IAAAk4H,GAAA,CACAC,YAAAtE,EACAuE,YAAAtE,EACAuE,UAAAtE,EACAuE,cAAAtE,EACAuE,WAAAvE,GAGAwE,GAAA,CACAC,EAtYA,QAuYAC,EAtYA,MAuYAC,EAtYA,QAuYAC,EAtYA,UAwYAC,GAAA,cACAC,GAAA,sCAWA,SAAAC,KACAp7J,KAAA05J,KAAAwB,GACAl7J,KAAA45J,MAAAuB,GACApE,EAAAxvJ,MAAAvH,KAAAwH,WACAxH,KAAAq7J,MAAAr7J,KAAAg3J,QAAA72J,QAAAm7J,cAAA,GAbAtpJ,EAAAupJ,iBAAAvpJ,EAAAwpJ,eACAN,GAAA,gBACAC,GAAA,6CAaAhH,EAAAiH,GAAArE,EAAA,CAKAnC,QAAA,SAAAvyH,GACA,IAAAg5H,EAAAr7J,KAAAq7J,MACAI,GAAA,EACAC,EAAAr5H,EAAA9oB,KAAAm1B,cAAAT,QAAA,KAAA,IACAmpH,EAAAmD,GAAAmB,GACApB,EAAAO,GAAAx4H,EAAAi4H,cAAAj4H,EAAAi4H,YACAqB,EAxaA,SAwaArB,EAEAsB,EAAA1G,EAAAmG,EAAAh5H,EAAAw5H,UAAA,aAEAzE,EAAAlB,IAAA,IAAA7zH,EAAAlyB,QAAAwrJ,GACAC,EAAA,IACAP,EAAArwJ,KAAAq3B,GACAu5H,EAAAP,EAAAn6J,OAAA,GAGAk2J,GAAAhB,EAAAC,KACAoF,GAAA,GAGAG,EAAA,IAIAP,EAAAO,GAAAv5H,EACAriC,KAAAolD,SAAAplD,KAAAg3J,QAAAI,EAAA,CACAE,SAAA+D,EACA7D,gBAAA,CAAAn1H,GACAi4H,YAAAA,EACAl5H,SAAAiB,IAEAo5H,GAEAJ,EAAA10H,OAAAi1H,EAAA,OAIA,IAAAE,GAAA,CACAC,WAAA7F,EACA8F,UAAA7F,EACA8F,SAAA7F,EACA8F,YAAA7F,GAEA8F,GAAA,aACAC,GAAA,4CAMA,SAAAC,KACAr8J,KAAA25J,SAAAwC,GACAn8J,KAAA45J,MAAAwC,GACAp8J,KAAAs8J,SAAA,EACAvF,EAAAxvJ,MAAAvH,KAAAwH,WAEA2sJ,EAAAkI,GAAAtF,EAAA,CACAnC,QAAA,SAAAvyH,GACA,IAAA9oB,EAAAuiJ,GAAAz5H,EAAA9oB,MAKA,GAHAA,IAAA28I,IACAl2J,KAAAs8J,SAAA,GAEAt8J,KAAAs8J,QAAA,CAGA,IAAAp5H,EAmBA,SAAAb,EAAA9oB,GACA,IAAA0zI,EAAAmI,EAAA/yH,EAAAa,SACAq5H,EAAAnH,EAAA/yH,EAAAc,gBAIA,OAHA5pB,GAAA68I,EAAAC,KACApJ,EAAAoI,EAAApI,EAAAt9I,OAAA4sJ,GAAA,cAAA,IAEA,CAAAtP,EAAAsP,IAzBA10J,KAAA7H,KAAAqiC,EAAA9oB,GAEAA,GAAA68I,EAAAC,IAAAnzH,EAAA,GAAAhiC,OAAAgiC,EAAA,GAAAhiC,QAAA,IACAlB,KAAAs8J,SAAA,GAEAt8J,KAAAolD,SAAAplD,KAAAg3J,QAAAz9I,EAAA,CACA+9I,SAAAp0H,EAAA,GACAs0H,gBAAAt0H,EAAA,GACAo3H,YA5eA,QA6eAl5H,SAAAiB,QAkBA,IAAAm6H,GAAA,CACAT,WAAA7F,EACA8F,UAAA7F,EACA8F,SAAA7F,EACA8F,YAAA7F,GAEAoG,GAAA,4CAMA,SAAAC,KACA18J,KAAA25J,SAAA8C,GACAz8J,KAAA28J,UAAA,GACA5F,EAAAxvJ,MAAAvH,KAAAwH,WAEA2sJ,EAAAuI,GAAA3F,EAAA,CACAnC,QAAA,SAAAvyH,GACA,IAAA9oB,EAAAijJ,GAAAn6H,EAAA9oB,MACA2pB,EAkBA,SAAAb,EAAA9oB,GACA,IAAAqjJ,EAAAxH,EAAA/yH,EAAAa,SACAy5H,EAAA38J,KAAA28J,UAEA,GAAApjJ,GAAA28I,EAAAC,IAAA,IAAAyG,EAAA17J,OAEA,OADAy7J,EAAAC,EAAA,GAAAC,aAAA,EACA,CAAAD,EAAAA,GAEA,IAAA3sJ,EAAA6sJ,EAAA35H,EAAAiyH,EAAA/yH,EAAAc,gBAAA45H,EAAA,GAAAh7H,EAAA/hC,KAAA+hC,OAMA,GAJA+6H,EAAAF,EAAAnyJ,OAAA,SAAAuyJ,GACA,OAAAjI,EAAAiI,EAAAj7H,OAAAA,KAGAxoB,IAAA28I,EAEA,IADAjmJ,EAAA,EACAA,EAAA6sJ,EAAA57J,QACAy7J,EAAAG,EAAA7sJ,GAAA4sJ,aAAA,EACA5sJ,IAKA,IADAA,EAAA,EACAA,EAAAkzB,EAAAjiC,QACAy7J,EAAAx5H,EAAAlzB,GAAA4sJ,aACAE,EAAA/xJ,KAAAm4B,EAAAlzB,IAGAsJ,GAAA68I,EAAAC,WACAsG,EAAAx5H,EAAAlzB,GAAA4sJ,YAEA5sJ,IAEA,OAAA8sJ,EAAA77J,OAGA,CAEAm0J,EAAAyH,EAAAntJ,OAAAotJ,GAAA,cAAA,GACAA,QANA,GAnDAl1J,KAAA7H,KAAAqiC,EAAA9oB,GACA2pB,GAGAljC,KAAAolD,SAAAplD,KAAAg3J,QAAAz9I,EAAA,CACA+9I,SAAAp0H,EAAA,GACAs0H,gBAAAt0H,EAAA,GACAo3H,YA1hBA,QA2hBAl5H,SAAAiB,OA6DA,IAAA46H,GAAA,KACAC,GAAA,GACA,SAAAC,KACApG,EAAAxvJ,MAAAvH,KAAAwH,WACA,IAAAotJ,EAAAhB,EAAA5zJ,KAAA40J,QAAA50J,MACAA,KAAAg9J,MAAA,IAAAN,GAAA18J,KAAAg3J,QAAApC,GACA50J,KAAAo9J,MAAA,IAAAjD,GAAAn6J,KAAAg3J,QAAApC,GACA50J,KAAAq9J,aAAA,KACAr9J,KAAAs9J,YAAA,GAwCA,SAAAC,GAAAC,GACA,IAAAR,EAAAQ,EAAAhG,gBAAA,GACA,GAAAwF,EAAAH,aAAA78J,KAAAq9J,aAAA,CACA,IAAAI,EAAA,CAAAh1J,EAAAu0J,EAAAzD,QAAA7wJ,EAAAs0J,EAAAxD,SACAx5J,KAAAs9J,YAAAtyJ,KAAAyyJ,GACA,IAAAC,EAAA19J,KAAAs9J,YAOAl7J,WANA,WACA,IAAA6N,EAAAytJ,EAAA/4H,QAAA84H,GACAxtJ,GAAA,GACAytJ,EAAA/2H,OAAA12B,EAAA,IAGAgtJ,KAlDA9I,EAAAgJ,GAAApG,EAAA,CAOAnC,QAAA,SAAAoC,EAAA2G,EAAAC,GACA,IAAAjC,EA1mBA,SA0mBAiC,EAAAtD,YAAAuD,EAxmBA,SAwmBAD,EAAAtD,YACA,KAAAuD,GAAAD,EAAAE,oBAAAF,EAAAE,mBAAAC,kBAAA,CAIA,GAAApC,GAgBA,SAAAvE,EAAAoG,GACApG,EAAAlB,GACAl2J,KAAAq9J,aAAAG,EAAAhG,gBAAA,GAAAqF,WACAU,GAAA11J,KAAA7H,KAAAw9J,IAEApG,GAAAhB,EAAAC,IACAkH,GAAA11J,KAAA7H,KAAAw9J,KArBA31J,KAAA7H,KAAA29J,EAAAC,QAEA,GAAAC,GAqCA,SAAAL,GAEA,IADA,IAAA/0J,EAAA+0J,EAAAp8H,SAAAm4H,QAAA7wJ,EAAA80J,EAAAp8H,SAAAo4H,QACAvpJ,EAAA,EAAAA,EAAAjQ,KAAAs9J,YAAAp8J,OAAA+O,IAAA,CACA,IAAA0Q,EAAA3gB,KAAAs9J,YAAArtJ,GACA2+E,EAAAt/E,KAAAsd,IAAAnkB,EAAAkY,EAAAlY,GAAAomF,EAAAv/E,KAAAsd,IAAAlkB,EAAAiY,EAAAjY,GACA,GAAAkmF,GAAAsuE,IAAAruE,GAAAquE,GACA,OAAA,EAGA,OAAA,GA9CAr1J,KAAA7H,KAAA49J,GACA,OAEA59J,KAAAolD,SAAA4xG,EAAA2G,EAAAC,KAKA9hJ,QAAA,WACA9b,KAAAg9J,MAAAlhJ,UACA9b,KAAAo9J,MAAAthJ,aAsCA,IAAAkiJ,GAAA1I,EAAA7B,EAAArnJ,MAAA,eACA6xJ,GAAAD,KAAAplJ,EAGAslJ,GAAA,OACAC,GAAA,eACAC,GAAA,OACAC,GAAA,QACAC,GAAA,QACAC,GAuHA,WACA,IAAAN,GACA,OAAA,EAEA,IAAAO,EAAA,GACAC,EAAAzsJ,EAAA0sJ,KAAA1sJ,EAAA0sJ,IAAAC,SAMA,MALA,CAAA,OAAA,eAAA,QAAA,QAAA,cAAA,QAAA1iI,QAAA,SAAA5f,GAGAmiJ,EAAAniJ,IAAAoiJ,GAAAzsJ,EAAA0sJ,IAAAC,SAAA,eAAAtiJ,KAEAmiJ,EAlIAI,GAQA,SAAAC,GAAA7H,EAAAnrJ,GACA7L,KAAAg3J,QAAAA,EACAh3J,KAAA6a,IAAAhP,GAEAgzJ,GAAAj+J,UAAA,CAKAia,IAAA,SAAAhP,GAvBA,WAyBAA,IACAA,EAAA7L,KAAAytB,WAEAwwI,IAAAj+J,KAAAg3J,QAAAvrJ,QAAAW,OAAAmyJ,GAAA1yJ,KACA7L,KAAAg3J,QAAAvrJ,QAAAW,MAAA4xJ,IAAAnyJ,GAEA7L,KAAAqyI,QAAAxmI,EAAA6iC,cAAAumH,QAKA15I,OAAA,WACAvb,KAAA6a,IAAA7a,KAAAg3J,QAAAjtJ,QAAA6zB,cAMAnQ,QAAA,WACA,IAAA4kH,EAAA,GAMA,OALAyhB,EAAA9zJ,KAAAg3J,QAAA8H,YAAA,SAAAC,GACAzK,EAAAyK,EAAAh1J,QAAAo1B,OAAA,CAAA4/H,MACA1sB,EAAAA,EAAA1iI,OAAAovJ,EAAAC,qBAsDA,SAAA3sB,GAEA,GAAA2iB,EAAA3iB,EAAA+rB,IACA,OAAAA,GAEA,IAAAa,EAAAjK,EAAA3iB,EAAAgsB,IACAa,EAAAlK,EAAA3iB,EAAAisB,IAKA,OAAAW,GAAAC,EACAd,GAGAa,GAAAC,EACAD,EAAAZ,GAAAC,GAGAtJ,EAAA3iB,EAAA8rB,IACAA,GAEAD,GAzEAiB,CAAA9sB,EAAAlgH,KAAA,OAMAitI,gBAAA,SAAA/uJ,GACA,IAAA+wB,EAAA/wB,EAAA+wB,SACAtC,EAAAzuB,EAAAmoJ,gBAEA,GAAAx4J,KAAAg3J,QAAA72J,QAAAk/J,UACAj+H,EAAAc,qBADA,CAIA,IAAAmwG,EAAAryI,KAAAqyI,QACAitB,EAAAtK,EAAA3iB,EAAA+rB,MAAAG,GAAAH,IACAc,EAAAlK,EAAA3iB,EAAAisB,MAAAC,GAAAD,IACAW,EAAAjK,EAAA3iB,EAAAgsB,MAAAE,GAAAF,IACA,GAAAiB,EAAA,CAEA,IAAAC,EAAA,IAAAlvJ,EAAAinJ,SAAAp2J,OACAs+J,EAAAnvJ,EAAA6nJ,SAAA,EACAuH,EAAApvJ,EAAA4nJ,UAAA,IACA,GAAAsH,GAAAC,GAAAC,EACA,OAGA,IAAAR,IAAAC,EAIA,OAAAI,GACAJ,GAAApgI,EAAA63H,GACAsI,GAAAngI,EAAA83H,EACA52J,KAAA0/J,WAAAt+H,QAHA,IAUAs+H,WAAA,SAAAt+H,GACAphC,KAAAg3J,QAAA72J,QAAAk/J,WAAA,EACAj+H,EAAAc,mBAwEA,IAAAy9H,GAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAAD,GACAE,GAAA,GAQA,SAAAC,GAAAl2J,GACA/J,KAAA+J,QAAAg4I,EAAA,GAAA/hJ,KAAAyc,SAAA1S,GAAA,IACA/J,KAAAJ,GAx2BA61J,IAy2BAz1J,KAAAg3J,QAAA,KAEAh3J,KAAA+J,QAAAo1B,OAAAo1H,EAAAv0J,KAAA+J,QAAAo1B,QAAA,GACAn/B,KAAAo6D,MAAAulG,GACA3/J,KAAAkgK,aAAA,GACAlgK,KAAAmgK,YAAA,GAuMA,SAAAC,GAAAhmG,GACA,OAAAA,EAAA4lG,GACA,SAEA5lG,EAAA0lG,GACA,MAEA1lG,EAAAylG,GACA,OAEAzlG,EAAAwlG,GACA,QAEA,GAOA,SAAAS,GAAAvhI,GACA,OAAAA,GAAA43H,EACA,OAEA53H,GAAA23H,EACA,KAEA33H,GAAAy3H,EACA,OAEAz3H,GAAA03H,EACA,QAEA,GAQA,SAAA8J,GAAAC,EAAAxB,GACA,IAAA/H,EAAA+H,EAAA/H,QACA,OAAAA,EACAA,EAAA9jJ,IAAAqtJ,GAEAA,EAOA,SAAAC,KACAP,GAAA14J,MAAAvH,KAAAwH,WAyDA,SAAAi5J,KACAD,GAAAj5J,MAAAvH,KAAAwH,WACAxH,KAAA0gK,GAAA,KACA1gK,KAAA2gK,GAAA,KAmEA,SAAAC,KACAJ,GAAAj5J,MAAAvH,KAAAwH,WAiCA,SAAAq5J,KACAZ,GAAA14J,MAAAvH,KAAAwH,WACAxH,KAAA8gK,OAAA,KACA9gK,KAAA+gK,OAAA,KA6DA,SAAAC,KACAR,GAAAj5J,MAAAvH,KAAAwH,WA0BA,SAAAy5J,KACAT,GAAAj5J,MAAAvH,KAAAwH,WAqDA,SAAA05J,KACAjB,GAAA14J,MAAAvH,KAAAwH,WAGAxH,KAAAmhK,OAAA,EACAnhK,KAAAohK,SAAA,EACAphK,KAAA8gK,OAAA,KACA9gK,KAAA+gK,OAAA,KACA/gK,KAAAy2I,MAAA,EAuFA,SAAAt6G,GAAA1wB,EAAA1B,GAGA,OAFAA,EAAAA,GAAA,IACA+0J,YAAAvK,EAAAxqJ,EAAA+0J,YAAA3iI,GAAA1f,SAAA4kJ,QACA,IAAAC,GAAA71J,EAAA1B,GAkHA,SAAAu3J,GAAA71J,EAAA1B,GA5hDA,IAAAitJ,EA6hDAh3J,KAAA+J,QAAAg4I,EAAA,GAAA5lH,GAAA1f,SAAA1S,GAAA,IACA/J,KAAA+J,QAAAktJ,YAAAj3J,KAAA+J,QAAAktJ,aAAAxrJ,EACAzL,KAAAuhK,SAAA,GACAvhK,KAAAG,QAAA,GACAH,KAAA8+J,YAAA,GACA9+J,KAAAwhK,YAAA,GACAxhK,KAAAyL,QAAAA,EACAzL,KAAAqQ,MAlhDA,KAlBA2mJ,EAoiDAh3J,MAliDA+J,QAAA03J,aAIA1L,EACAqF,GAEApF,EACA0G,GAEA5G,EAIAqH,GAHAhD,KAKAnD,EAAAG,GAmhDAn3J,KAAA49B,YAAA,IAAAihI,GAAA7+J,KAAAA,KAAA+J,QAAA6zB,aACA8jI,GAAA1hK,MAAA,GACA8zJ,EAAA9zJ,KAAA+J,QAAA+0J,YAAA,SAAAl3J,GACA,IAAAm3J,EAAA/+J,KAAA4L,IAAA,IAAAhE,EAAA,GAAAA,EAAA,KACAA,EAAA,IAAAm3J,EAAAxgI,cAAA32B,EAAA,IACAA,EAAA,IAAAm3J,EAAAvgI,eAAA52B,EAAA,KACA5H,MA6NA,SAAA0hK,GAAA1K,EAAAprJ,GACA,IAIAO,EAJAV,EAAAurJ,EAAAvrJ,QACAA,EAAAW,QAIA0nJ,EAAAkD,EAAAjtJ,QAAA43J,SAAA,SAAA91J,EAAA1N,GACAgO,EAAAmpJ,EAAA7pJ,EAAAW,MAAAjO,GACAyN,GACAorJ,EAAAwK,YAAAr1J,GAAAV,EAAAW,MAAAD,GACAV,EAAAW,MAAAD,GAAAN,GAGAJ,EAAAW,MAAAD,GAAA6qJ,EAAAwK,YAAAr1J,IAAA,KAGAP,IACAorJ,EAAAwK,YAAA,KA9/BAvB,GAAAr/J,UAAA,CAKA6b,SAAA,GAMA5B,IAAA,SAAA9Q,GAIA,OAHAg4I,EAAA/hJ,KAAA+J,QAAAA,GAEA/J,KAAAg3J,SAAAh3J,KAAAg3J,QAAAp5H,YAAAriB,SACAvb,MAOAu+B,cAAA,SAAAgiI,GACA,GAAA1M,EAAA0M,EAAA,gBAAAvgK,MACA,OAAAA,KAEA,IAAAkgK,EAAAlgK,KAAAkgK,aAMA,OALAK,EAAAD,GAAAC,EAAAvgK,MACAkgK,EAAAK,EAAA3gK,MACAsgK,EAAAK,EAAA3gK,IAAA2gK,EACAA,EAAAhiI,cAAAv+B,OAEAA,MAOA4hK,kBAAA,SAAArB,GACA,OAAA1M,EAAA0M,EAAA,oBAAAvgK,MACAA,MAEAugK,EAAAD,GAAAC,EAAAvgK,aACAA,KAAAkgK,aAAAK,EAAA3gK,IACAI,OAOAw+B,eAAA,SAAA+hI,GACA,GAAA1M,EAAA0M,EAAA,iBAAAvgK,MACA,OAAAA,KAEA,IAAAmgK,EAAAngK,KAAAmgK,YAMA,OALAI,EAAAD,GAAAC,EAAAvgK,OACA,IAAAk1J,EAAAiL,EAAAI,KACAJ,EAAAn1J,KAAAu1J,GACAA,EAAA/hI,eAAAx+B,OAEAA,MAOAy+B,mBAAA,SAAA8hI,GACA,GAAA1M,EAAA0M,EAAA,qBAAAvgK,MACA,OAAAA,KAEAugK,EAAAD,GAAAC,EAAAvgK,MACA,IAAA+/B,EAAAm1H,EAAAl1J,KAAAmgK,YAAAI,GAIA,OAHAxgI,GAAA,GACA//B,KAAAmgK,YAAAx5H,OAAA5G,EAAA,GAEA//B,MAMA6hK,mBAAA,WACA,OAAA7hK,KAAAmgK,YAAAj/J,OAAA,GAOA4gK,iBAAA,SAAAvB,GACA,QAAAvgK,KAAAkgK,aAAAK,EAAA3gK,KAOA8b,KAAA,SAAArL,GACA,IAAAw0F,EAAA7kG,KACAo6D,EAAAp6D,KAAAo6D,MACA,SAAA1+C,EAAAja,GACAojG,EAAAmyD,QAAAt7I,KAAAja,EAAA4O,GAGA+pD,EAAA0lG,IACApkJ,EAAAmpF,EAAA96F,QAAAtI,MAAA2+J,GAAAhmG,IAEA1+C,EAAAmpF,EAAA96F,QAAAtI,OACA4O,EAAA0xJ,iBACArmJ,EAAArL,EAAA0xJ,iBAGA3nG,GAAA0lG,IACApkJ,EAAAmpF,EAAA96F,QAAAtI,MAAA2+J,GAAAhmG,KASA4nG,QAAA,SAAA3xJ,GACA,GAAArQ,KAAAiiK,UACA,OAAAjiK,KAAA0b,KAAArL,GAGArQ,KAAAo6D,MAnJA,IAyJA6nG,QAAA,WAEA,IADA,IAAAhyJ,EAAA,EACAA,EAAAjQ,KAAAmgK,YAAAj/J,QAAA,CACA,KAAAlB,KAAAmgK,YAAAlwJ,GAAAmqD,OA5JA,GA4JAulG,KACA,OAAA,EAEA1vJ,IAEA,OAAA,GAMAqpJ,UAAA,SAAAsE,GAGA,IAAAsE,EAAAngB,EAAA,GAAA6b,GAEA,IAAAtJ,EAAAt0J,KAAA+J,QAAAo1B,OAAA,CAAAn/B,KAAAkiK,IAGA,OAFAliK,KAAAuwG,aACAvwG,KAAAo6D,MA9KA,IAkLAp6D,KAAAo6D,OAAA2lG,GAAAC,GAlLA,MAmLAhgK,KAAAo6D,MAAAulG,IAEA3/J,KAAAo6D,MAAAp6D,KAAAmkJ,QAAA+d,GAGAliK,KAAAo6D,OAAAwlG,GAAAC,GAAAC,GAAAE,KACAhgK,KAAAgiK,QAAAE,IAUA/d,QAAA,SAAAyZ,KAMAoB,eAAA,aAMAzuD,MAAA,cA+DA4jD,EAAAqM,GAAAP,GAAA,CAKAxjJ,SAAA,CAKA66I,SAAA,GAQA6K,SAAA,SAAA9xJ,GACA,IAAA+xJ,EAAApiK,KAAA+J,QAAAutJ,SACA,OAAA,IAAA8K,GAAA/xJ,EAAAinJ,SAAAp2J,SAAAkhK,GAQAje,QAAA,SAAA9zI,GACA,IAAA+pD,EAAAp6D,KAAAo6D,MACAg9F,EAAA/mJ,EAAA+mJ,UACAiL,EAAAjoG,GAAAwlG,GAAAC,IACAyC,EAAAtiK,KAAAmiK,SAAA9xJ,GAEA,OAAAgyJ,IAAAjL,EAAAf,IAAAiM,GACAloG,EAAA4lG,GAEAqC,GAAAC,EACAlL,EAAAhB,EACAh8F,EAAA0lG,GAEA1lG,EAAAwlG,GAGAxlG,EAAAylG,GAFAD,GAxTA,MA0UAzL,EAAAsM,GAAAD,GAAA,CAKA/jJ,SAAA,CACAhb,MAAA,MACAwxF,UAAA,GACAqkE,SAAA,EACAx4H,UAAAC,GAEAigI,eAAA,WACA,IAAAlgI,EAAA9+B,KAAA+J,QAAA+0B,UACAuzG,EAAA,GAOA,OANAvzG,EAAA63H,GACAtkB,EAAArnI,KAAAszJ,IAEAx/H,EAAA83H,GACAvkB,EAAArnI,KAAAqzJ,IAEAhsB,GAEAkwB,cAAA,SAAAlyJ,GACA,IAAAtG,EAAA/J,KAAA+J,QACAy4J,GAAA,EACAtK,EAAA7nJ,EAAA6nJ,SACAp5H,EAAAzuB,EAAAyuB,UACAr2B,EAAA4H,EAAAuyB,OACAl6B,EAAA2H,EAAAwyB,OAeA,OAbA/D,EAAA/0B,EAAA+0B,YACA/0B,EAAA+0B,UAAA63H,GACA73H,EAAA,IAAAr2B,EAAA6tJ,EAAA7tJ,EAAA,EAAA8tJ,EAAAC,EACAgM,EAAA/5J,GAAAzI,KAAA0gK,GACAxI,EAAA5oJ,KAAAsd,IAAAvc,EAAAuyB,UAGA9D,EAAA,IAAAp2B,EAAA4tJ,EAAA5tJ,EAAA,EAAA+tJ,EAAAC,EACA8L,EAAA95J,GAAA1I,KAAA2gK,GACAzI,EAAA5oJ,KAAAsd,IAAAvc,EAAAwyB,UAGAxyB,EAAAyuB,UAAAA,EACA0jI,GAAAtK,EAAAnuJ,EAAAkpF,WAAAn0D,EAAA/0B,EAAA+0B,WAEAqjI,SAAA,SAAA9xJ,GACA,OAAAmwJ,GAAA5/J,UAAAuhK,SAAAt6J,KAAA7H,KAAAqQ,KACArQ,KAAAo6D,MAAAwlG,MAAA5/J,KAAAo6D,MAAAwlG,KAAA5/J,KAAAuiK,cAAAlyJ,KAEAqL,KAAA,SAAArL,GACArQ,KAAA0gK,GAAArwJ,EAAAuyB,OACA5iC,KAAA2gK,GAAAtwJ,EAAAwyB,OACA,IAAA/D,EAAAuhI,GAAAhwJ,EAAAyuB,WACAA,IACAzuB,EAAA0xJ,gBAAA/hK,KAAA+J,QAAAtI,MAAAq9B,GAEA9+B,KAAAsH,OAAAoU,KAAA7T,KAAA7H,KAAAqQ,MAYA8jJ,EAAAyM,GAAAJ,GAAA,CAKA/jJ,SAAA,CACAhb,MAAA,QACAwxF,UAAA,EACAqkE,SAAA,GAEA0H,eAAA,WACA,MAAA,CAAAZ,KAEA+D,SAAA,SAAA9xJ,GACA,OAAArQ,KAAAsH,OAAA66J,SAAAt6J,KAAA7H,KAAAqQ,KACAf,KAAAsd,IAAAvc,EAAAtH,MAAA,GAAA/I,KAAA+J,QAAAkpF,WAAAjzF,KAAAo6D,MAAAwlG,KAEAlkJ,KAAA,SAAArL,GACA,GAAA,IAAAA,EAAAtH,MAAA,CACA,IAAA05J,EAAApyJ,EAAAtH,MAAA,EAAA,KAAA,MACAsH,EAAA0xJ,gBAAA/hK,KAAA+J,QAAAtI,MAAAghK,EAEAziK,KAAAsH,OAAAoU,KAAA7T,KAAA7H,KAAAqQ,MAcA8jJ,EAAA0M,GAAAZ,GAAA,CAKAxjJ,SAAA,CACAhb,MAAA,QACA61J,SAAA,EACAoL,KAAA,IACAzvE,UAAA,GAEA+rE,eAAA,WACA,MAAA,CAAAd,KAEA/Z,QAAA,SAAA9zI,GACA,IAAAtG,EAAA/J,KAAA+J,QACA44J,EAAAtyJ,EAAAinJ,SAAAp2J,SAAA6I,EAAAutJ,SACAsL,EAAAvyJ,EAAA6nJ,SAAAnuJ,EAAAkpF,UACA4vE,EAAAxyJ,EAAA4nJ,UAAAluJ,EAAA24J,KAIA,GAHA1iK,KAAA+gK,OAAA1wJ,GAGAuyJ,IAAAD,GAAAtyJ,EAAA+mJ,WAAAhB,EAAAC,KAAAwM,EACA7iK,KAAAuwG,aAEA,GAAAlgG,EAAA+mJ,UAAAlB,EACAl2J,KAAAuwG,QACAvwG,KAAA8gK,OAAAnN,EAAA,WACA3zJ,KAAAo6D,MAAA2lG,GACA//J,KAAAgiK,WACAj4J,EAAA24J,KAAA1iK,WAEA,GAAAqQ,EAAA+mJ,UAAAhB,EACA,OAAA2J,GAEA,OArdA,IAudAxvD,MAAA,WACArmE,aAAAlqC,KAAA8gK,SAEAplJ,KAAA,SAAArL,GACArQ,KAAAo6D,QAAA2lG,KAGA1vJ,GAAAA,EAAA+mJ,UAAAhB,EACAp2J,KAAAg3J,QAAAt7I,KAAA1b,KAAA+J,QAAAtI,MAAA,KAAA4O,IAGArQ,KAAA+gK,OAAA/I,UAAAhuH,IACAhqC,KAAAg3J,QAAAt7I,KAAA1b,KAAA+J,QAAAtI,MAAAzB,KAAA+gK,aAaA5M,EAAA6M,GAAAR,GAAA,CAKA/jJ,SAAA,CACAhb,MAAA,SACAwxF,UAAA,EACAqkE,SAAA,GAEA0H,eAAA,WACA,MAAA,CAAAZ,KAEA+D,SAAA,SAAA9xJ,GACA,OAAArQ,KAAAsH,OAAA66J,SAAAt6J,KAAA7H,KAAAqQ,KACAf,KAAAsd,IAAAvc,EAAA+7B,UAAApsC,KAAA+J,QAAAkpF,WAAAjzF,KAAAo6D,MAAAwlG,OAYAzL,EAAA8M,GAAAT,GAAA,CAKA/jJ,SAAA,CACAhb,MAAA,QACAwxF,UAAA,GACA+lE,SAAA,GACAl6H,UAAA63H,EAAAC,EACAU,SAAA,GAEA0H,eAAA,WACA,OAAAyB,GAAA7/J,UAAAo+J,eAAAn3J,KAAA7H,OAEAmiK,SAAA,SAAA9xJ,GACA,IACA2oJ,EADAl6H,EAAA9+B,KAAA+J,QAAA+0B,UAWA,OATAA,GAAA63H,EAAAC,GACAoC,EAAA3oJ,EAAAqoJ,gBAEA55H,EAAA63H,EACAqC,EAAA3oJ,EAAAuoJ,iBAEA95H,EAAA83H,IACAoC,EAAA3oJ,EAAAwoJ,kBAEA74J,KAAAsH,OAAA66J,SAAAt6J,KAAA7H,KAAAqQ,IACAyuB,EAAAzuB,EAAAmoJ,iBACAnoJ,EAAA6nJ,SAAAl4J,KAAA+J,QAAAkpF,WACA5iF,EAAA0oJ,aAAA/4J,KAAA+J,QAAAutJ,UACA1qI,EAAAosI,GAAAh5J,KAAA+J,QAAAivJ,UAAA3oJ,EAAA+mJ,UAAAhB,GAEA16I,KAAA,SAAArL,GACA,IAAAyuB,EAAAuhI,GAAAhwJ,EAAAmoJ,iBACA15H,GACA9+B,KAAAg3J,QAAAt7I,KAAA1b,KAAA+J,QAAAtI,MAAAq9B,EAAAzuB,GAEArQ,KAAAg3J,QAAAt7I,KAAA1b,KAAA+J,QAAAtI,MAAA4O,MAuBA8jJ,EAAA+M,GAAAjB,GAAA,CAKAxjJ,SAAA,CACAhb,MAAA,MACA61J,SAAA,EACAwL,KAAA,EACAz+C,SAAA,IACAq+C,KAAA,IACAzvE,UAAA,EACA8vE,aAAA,IAEA/D,eAAA,WACA,MAAA,CAAAb,KAEAha,QAAA,SAAA9zI,GACA,IAAAtG,EAAA/J,KAAA+J,QACA44J,EAAAtyJ,EAAAinJ,SAAAp2J,SAAA6I,EAAAutJ,SACAsL,EAAAvyJ,EAAA6nJ,SAAAnuJ,EAAAkpF,UACA+vE,EAAA3yJ,EAAA4nJ,UAAAluJ,EAAA24J,KAEA,GADA1iK,KAAAuwG,QACAlgG,EAAA+mJ,UAAAlB,GAAA,IAAAl2J,KAAAy2I,MACA,OAAAz2I,KAAAijK,cAIA,GAAAL,GAAAI,GAAAL,EAAA,CACA,GAAAtyJ,EAAA+mJ,WAAAhB,EACA,OAAAp2J,KAAAijK,cAEA,IAAAC,GAAAljK,KAAAmhK,OAAA9wJ,EAAA2nJ,UAAAh4J,KAAAmhK,MAAAp3J,EAAAs6G,SACA8+C,GAAAnjK,KAAAohK,SAAAjJ,GAAAn4J,KAAAohK,QAAA/wJ,EAAAk2C,QAAAx8C,EAAAg5J,aACA/iK,KAAAmhK,MAAA9wJ,EAAA2nJ,UACAh4J,KAAAohK,QAAA/wJ,EAAAk2C,OACA48G,GAAAD,EAIAljK,KAAAy2I,OAAA,EAHAz2I,KAAAy2I,MAAA,EAKAz2I,KAAA+gK,OAAA1wJ,EAGA,IAAA+yJ,EAAApjK,KAAAy2I,MAAA1sI,EAAA+4J,KACA,GAAA,IAAAM,EAGA,OAAApjK,KAAA6hK,sBAIA7hK,KAAA8gK,OAAAnN,EAAA,WACA3zJ,KAAAo6D,MAAA2lG,GACA//J,KAAAgiK,WACAj4J,EAAAs6G,SAAArkH,MACA4/J,IAPAG,GAWA,OAroBA,IAuoBAkD,YAAA,WAIA,OAHAjjK,KAAA8gK,OAAAnN,EAAA,WACA3zJ,KAAAo6D,MAzoBA,IA0oBAp6D,KAAA+J,QAAAs6G,SAAArkH,MA1oBA,IA6oBAuwG,MAAA,WACArmE,aAAAlqC,KAAA8gK,SAEAplJ,KAAA,WACA1b,KAAAo6D,OAAA2lG,KACA//J,KAAA+gK,OAAAqC,SAAApjK,KAAAy2I,MACAz2I,KAAAg3J,QAAAt7I,KAAA1b,KAAA+J,QAAAtI,MAAAzB,KAAA+gK,YAkBA5kI,GAAAknI,QAAA,QAKAlnI,GAAA1f,SAAA,CAOA6mJ,WAAA,EAOA1lI,YAn2BA,UAw2BAuB,QAAA,EAQA83H,YAAA,KAMAwK,WAAA,KAMAJ,OAAA,CAEA,CAAAL,GAAA,CAAA7hI,QAAA,IACA,CAAAyhI,GAAA,CAAAzhI,QAAA,GAAA,CAAA,WACA,CAAA8hI,GAAA,CAAAniI,UAAA63H,IACA,CAAA8J,GAAA,CAAA3hI,UAAA63H,GAAA,CAAA,UACA,CAAAuK,IACA,CAAAA,GAAA,CAAAz/J,MAAA,YAAAqhK,KAAA,GAAA,CAAA,QACA,CAAAjC,KAOAc,SAAA,CAMA4B,WAAA,OAMAC,YAAA,OAQAC,aAAA,OAMAC,eAAA,OAMAC,SAAA,OAOAC,kBAAA,kBA4BAtC,GAAA1gK,UAAA,CAMAia,IAAA,SAAA9Q,GAYA,OAXAg4I,EAAA/hJ,KAAA+J,QAAAA,GAEAA,EAAA6zB,aACA59B,KAAA49B,YAAAriB,SAEAxR,EAAAktJ,cAEAj3J,KAAAqQ,MAAAyL,UACA9b,KAAAqQ,MAAA0xB,OAAAh4B,EAAAktJ,YACAj3J,KAAAqQ,MAAAsiB,QAEA3yB,MAQA6kC,KAAA,SAAApmC,GACAuB,KAAAG,QAAA0jK,QAAAplK,EAnDA,EADA,GA4DA66J,UAAA,SAAAsE,GACA,IAAAz9J,EAAAH,KAAAG,QACA,IAAAA,EAAA0jK,QAAA,CAKA,IAAA9E,EADA/+J,KAAA49B,YAAAwhI,gBAAAxB,GAEA,IAAAkB,EAAA9+J,KAAA8+J,YAIAgF,EAAA3jK,EAAA2jK,gBAGAA,GAAAA,GAAAA,EAAA1pG,MAAA2lG,MACA+D,EAAA3jK,EAAA2jK,cAAA,MAGA,IADA,IAAA7zJ,EAAA,EACAA,EAAA6uJ,EAAA59J,QACA69J,EAAAD,EAAA7uJ,GA/EA,IAsFA9P,EAAA0jK,SACAC,GAAA/E,GAAA+E,IACA/E,EAAA+C,iBAAAgC,GAIA/E,EAAAxuD,QAHAwuD,EAAAzF,UAAAsE,IAOAkG,GAAA/E,EAAA3kG,OAAAwlG,GAAAC,GAAAC,MACAgE,EAAA3jK,EAAA2jK,cAAA/E,GAEA9uJ,MAQAiD,IAAA,SAAA6rJ,GACA,GAAAA,aAAAkB,GACA,OAAAlB,EAGA,IADA,IAAAD,EAAA9+J,KAAA8+J,YACA7uJ,EAAA,EAAAA,EAAA6uJ,EAAA59J,OAAA+O,IACA,GAAA6uJ,EAAA7uJ,GAAAlG,QAAAtI,OAAAs9J,EACA,OAAAD,EAAA7uJ,GAGA,OAAA,MAQArE,IAAA,SAAAmzJ,GACA,GAAAlL,EAAAkL,EAAA,MAAA/+J,MACA,OAAAA,KAGA,IAAAkwC,EAAAlwC,KAAAkT,IAAA6rJ,EAAAh1J,QAAAtI,OAOA,OANAyuC,GACAlwC,KAAAsK,OAAA4lC,GAEAlwC,KAAA8+J,YAAA9zJ,KAAA+zJ,GACAA,EAAA/H,QAAAh3J,KACAA,KAAA49B,YAAAriB,SACAwjJ,GAOAz0J,OAAA,SAAAy0J,GACA,GAAAlL,EAAAkL,EAAA,SAAA/+J,MACA,OAAAA,KAIA,GAFA++J,EAAA/+J,KAAAkT,IAAA6rJ,GAEA,CACA,IAAAD,EAAA9+J,KAAA8+J,YACA/+H,EAAAm1H,EAAA4J,EAAAC,IACA,IAAAh/H,IACA++H,EAAAn4H,OAAA5G,EAAA,GACA//B,KAAA49B,YAAAriB,UAGA,OAAAvb,MAQA0+B,GAAA,SAAA/6B,EAAAixJ,GACA,GAAAjxJ,IAAAiV,GAGAg8I,IAAAh8I,EAAA,CAGA,IAAA2oJ,EAAAvhK,KAAAuhK,SAKA,OAJAzN,EAAAe,EAAAlxJ,GAAA,SAAAlC,GACA8/J,EAAA9/J,GAAA8/J,EAAA9/J,IAAA,GACA8/J,EAAA9/J,GAAAuJ,KAAA4pJ,KAEA50J,OAQA6xB,IAAA,SAAAluB,EAAAixJ,GACA,GAAAjxJ,IAAAiV,EAAA,CAGA,IAAA2oJ,EAAAvhK,KAAAuhK,SASA,OARAzN,EAAAe,EAAAlxJ,GAAA,SAAAlC,GACAmzJ,EAIA2M,EAAA9/J,IAAA8/J,EAAA9/J,GAAAklC,OAAAuuH,EAAAqM,EAAA9/J,GAAAmzJ,GAAA,UAHA2M,EAAA9/J,KAMAzB,OAOA0b,KAAA,SAAAja,EAAA2C,GAEApE,KAAA+J,QAAAu5J,WA4DA,SAAA7hK,EAAA2C,GACA,IAAA2/J,EAAAjgK,EAAAkgK,YAAA,SACAD,EAAAE,UAAAxiK,GAAA,GAAA,GACAsiK,EAAArxB,QAAAtuI,EACAA,EAAA29B,OAAA63E,cAAAmqD,GA/DAG,CAAAziK,EAAA2C,GAGA,IAAAm9J,EAAAvhK,KAAAuhK,SAAA9/J,IAAAzB,KAAAuhK,SAAA9/J,GAAAgjC,QACA,GAAA88H,GAAAA,EAAArgK,OAAA,CAGAkD,EAAAmV,KAAA9X,EACA2C,EAAA89B,eAAA,WACA99B,EAAAg9B,SAAAc,kBAGA,IADA,IAAAjyB,EAAA,EACAA,EAAAsxJ,EAAArgK,QACAqgK,EAAAtxJ,GAAA7L,GACA6L,MAOA6L,QAAA,WACA9b,KAAAyL,SAAAi2J,GAAA1hK,MAAA,GACAA,KAAAuhK,SAAA,GACAvhK,KAAAG,QAAA,GACAH,KAAAqQ,MAAAyL,UACA9b,KAAAyL,QAAA,OAuCAs2I,EAAA5lH,GAAA,CACA+5H,YAAAA,EACAC,WAAAA,EACAC,UAAAA,EACAC,aAAAA,EACAsJ,eAAAA,GACAC,YAAAA,GACAC,cAAAA,GACAC,YAAAA,GACAC,iBAAAA,GACAC,gBAAAA,GACAmE,aAxiCA,GAyiCA7N,eAAAA,EACAC,eAAAA,EACAC,gBAAAA,EACAC,aAAAA,EACAC,eAAAA,EACAC,qBAAAA,EACAC,mBAAAA,EACA73H,cAAAA,EACAuiI,QAAAA,GACAvK,MAAAA,EACA8H,YAAAA,GACAnC,WAAAA,GACAvC,WAAAA,GACAiB,kBAAAA,GACA+B,gBAAAA,GACAd,iBAAAA,GACA4D,WAAAA,GACAO,eAAAA,GACAn3J,IAAA63J,GACAv4J,IAAA83J,GACA2D,MAAAnD,GACAn4J,MAAA83J,GACAyD,OAAArD,GACAz3J,MAAAs3J,GACAniI,GAAAg2H,EACA7iI,IAAAijI,EACAhB,KAAAA,EACAlhH,MAAAA,EACA/a,OAAAA,EACAkqH,OAAAA,EACAoS,QAAAA,EACAP,OAAAA,EACA0B,SAAAA,IAIA,IAAAgP,QAAA,IAAAtyJ,EAAAA,EAAA,oBAAA6yF,KAAAA,KAAA,GACAy/D,GAAAnoI,OAAAA,QAMA,IAAAx+B,GAAAA,EAAAC,QACAD,EAAAC,QAAAu+B,GAGAnqB,EAAA,OAAAmqB,GAlwEA,CAowEAnqB,OAAAlO,WC1wEA,SAAApG,EAAAC,EAAAC;;;;;;;;AAWA,IAAA2mK,EAEAC,EAAA,GAEAC,EAAAD,EAAAE,EAAA,QAAAC,EAAA,KAAAC,EAAA,MAuCA,SAAAhiH,EAAAg0F,GACA52I,KAAA8yB,OAAA8jH,EAEA,SAAAiuB,EAAApuB,GACA,IAAAxmI,EAAA+iB,EAAA,GACA,IAAA/iB,EAAA,EAAAA,EAAAwmI,EAAAxmI,IACA+iB,GAAA,IAEA,OAAAA,EA0BA,SAAA+rD,EAAAlzE,EAAAsyE,EAAA2mF,EAAAC,GACA,IAAAC,EAAAt0H,EAAAu0H,EAAA31J,KAAAqS,IAAA,GAAAw8D,GAeA,OAXAztC,EAHA7kC,EAAAkzE,QAAA,GAAArmC,OAAA,MAAA,EArBA,SAAA7sC,EAAAsyE,GACA,IAAAqtC,EAAA05C,EAAAC,EAAAC,EAAApsH,EAUA,OATAA,EAAAntC,EAAAtH,WACAinH,EAAAxyE,EAAAhtC,MAAA,KAAA,GACAo5J,EAAApsH,EAAAhtC,MAAA,KAAA,GACAk5J,EAAA15C,EAAAx/G,MAAA,KAAA,GACAm5J,EAAA35C,EAAAx/G,MAAA,KAAA,IAAA,GACAgtC,EAAAksH,EAAAC,EAAAN,EAAAO,EAAAD,EAAAjkK,QACAi9E,EAAA,IACAnlC,GAAA,IAAA6rH,EAAA1mF,IAEAnlC,EAaAqsH,CAAAx5J,EAAAsyE,IAKA2mF,EAAAj5J,EAAAo5J,GAAAA,GAAAlmF,QAAAZ,GAEA4mF,IACAC,EAAA,IAAAz2H,OAAA,OAAAw2H,EAAA,MACAr0H,EAAAA,EAAAzC,QAAA+2H,EAAA,KAEAt0H,EAMA,SAAA40H,EAAAz5J,EAAAk3C,EAAA+hH,GAiBA,OAbA/hH,EAAApe,QAAA,MAAA,EAeA,SAAA94B,EAAA05J,EAAAT,GACA,IAAAU,EAAA90H,EAAAqS,EAAAwiH,EAAAE,EAAA1iH,EAAApe,QAAA,KAAA+gI,EAAA3iH,EAAApe,QAAA,KAAAghI,EAAA5iH,EAAApe,QAAA,KAAAihI,EAAA7iH,EAAApe,QAAA,KAAAkhI,EAAA,GAAAC,EAAA,GA6BA,IA5BA,IAAA/iH,EAAApe,QAAA,KAEA,UAAA6/H,EAAAE,GAAAqB,SAAAlzJ,UACAizJ,EAAAtB,EAAAE,GAAAqB,SAAAlY,OACA2W,EAAAE,GAAAqB,SAAAC,iBACAF,EAAA,IAAAA,EAAA,MAGAtB,EAAAE,GAAAqB,SAAAC,iBACAH,EAAA,KAKA9iH,EAAApe,QAAA,OAAA,GACAkhI,EAAA,IACA9iH,EAAAA,EAAA9U,QAAA,KAAA,KAEA8U,EAAApe,QAAA,OAAA,GACAkhI,EAAA,IACA9iH,EAAAA,EAAA9U,QAAA,KAAA,KAGA8U,EAAAA,EAAA9U,QAAA,IAAA,IAIAyC,EAAAu1H,EAAAp6J,EAAAk3C,EAAA+hH,EAAAgB,IACA,IAAAP,EAAA5gI,QAAA,KAEA,OAAA6/H,EAAAE,GAAAqB,SAAAlzJ,UACA,IAAA,UACA69B,EAAA/L,QAAA,MAAA,IACA+L,EAAAA,EAAA1kC,MAAA,KACA26B,QAAA,EAAA,EAAAk/H,EAAArB,EAAAE,GAAAqB,SAAAlY,QACAn9G,EAAAA,EAAAve,KAAA,KAGAue,EAAAA,EAAAm1H,EAAArB,EAAAE,GAAAqB,SAAAlY,OAEA,MACA,IAAA,QACA,MACA,IAAA,SACAn9G,EAAA/L,QAAA,MAAA,GAAA+L,EAAA/L,QAAA,MAAA,GACA+L,EAAAA,EAAA1kC,MAAA,IACAw5J,EAAAl2J,KAAAsD,IAAA8yJ,EAAAE,GAAA,EACAl1H,EAAA/J,OAAA6+H,EAAA,EAAAhB,EAAAE,GAAAqB,SAAAlY,OAAAgY,GACAn1H,EAAAA,EAAAve,KAAA,KAGAue,EAAA8zH,EAAAE,GAAAqB,SAAAlY,OAAAgY,EAAAn1H,EAEA,MACA,QACA,MAAAryC,MAAA,yEAKAonK,GAAA,EACA/0H,EAAA/L,QAAA,MAAA,GAAA+L,EAAA/L,QAAA,MAAA,GAAA+L,EAAA/L,QAAA,MAAA,GACA+L,EAAAA,EAAA1kC,MAAA,IACAw5J,EAAA,GACAC,EAAAC,GAAAD,EAAAE,GAAAF,EAAAG,KAEAJ,EAAA,GAEA90H,EAAA/J,OAAA6+H,EAAA,EAAAhB,EAAAE,GAAAqB,SAAAlY,OAAAgY,GACAn1H,EAAAA,EAAAve,KAAA,KAGAue,EAAA8zH,EAAAE,GAAAqB,SAAAlY,OAAAgY,EAAAn1H,EAIAA,EAAA/L,QAAA,MAAA,IACA+L,EAAAA,EAAA1kC,MAAA,KACA26B,QAAA,EAAA,EAAAk/H,EAAArB,EAAAE,GAAAqB,SAAAlY,QACAn9G,EAAAA,EAAAve,KAAA,KAGAue,EAAAA,EAAAm1H,EAAArB,EAAAE,GAAAqB,SAAAlY,OAIA,OAAAn9G,EAtGAw1H,CAAAr6J,EAAAk3C,EAAA+hH,GAEA/hH,EAAApe,QAAA,MAAA,EAsGA,SAAA94B,EAAAk3C,EAAA+hH,GACA,IAAAp0H,EAAAm1H,EAAA,GAmBA,OAlBAh6J,GAAA,IAEAk3C,EAAApe,QAAA,OAAA,GACAkhI,EAAA,IACA9iH,EAAAA,EAAA9U,QAAA,KAAA,KAGA8U,EAAAA,EAAA9U,QAAA,IAAA,KAEAyC,EAAAu1H,EAAAp6J,EAAAk3C,EAAA+hH,IACAngI,QAAA,MAAA,IACA+L,EAAAA,EAAA1kC,MAAA,KACA26B,QAAA,EAAA,EAAAk/H,EAAA,KACAn1H,EAAAA,EAAAve,KAAA,KAGAue,EAAAA,EAAAm1H,EAAA,IAEAn1H,EAzHAy1H,CAAAt6J,EAAAk3C,EAAA+hH,GAEA/hH,EAAApe,QAAA,MAAA,EAyHA,SAAA94B,GACA,IAAAi0E,EAAAxwE,KAAA64B,MAAAt8B,EAAA,GAAA,IAAA+zE,EAAAtwE,KAAA64B,OAAAt8B,EAAA,GAAAi0E,EAAA,IAAA,IAAAJ,EAAApwE,KAAA2V,MAAApZ,EAAA,GAAAi0E,EAAA,GAAA,GAAAF,GACA,OAAAE,EAAA,KACAF,EAAA,GAAA,IAAAA,EAAAA,GAAA,KACAF,EAAA,GAAA,IAAAA,EAAAA,GA5HA0mF,CAAAv6J,GAGAo6J,EAAAp6J,EAAAk3C,EAAA+hH,GA2HA,SAAAmB,EAAAp6J,EAAAk3C,EAAA+hH,EAAAuB,GACA,IAAAp2J,EAKAib,EAAAtY,EAAAqyJ,EAAAqB,EAAAplK,EAAAqlK,EAAA5kJ,EAAAlB,EAAA+lJ,EAAAroF,EAAAzoD,EAAA+4H,EAAAgY,EAAAC,EAAAx3J,EAAAy3J,EAAAC,EA+BAvkK,EApCAwkK,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,EAAA,GAAAC,GAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,EACAC,GAAA,EACAlyH,EAAA,GAAAmyH,EAAA,GAAA16I,EAAAtd,KAAAsd,IAAA/gB,GAAA07J,EAAA,CAAA,IAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,OAAAC,EAAA,CAAA,IAAA,KAAA,KAAA,KAAA,KAAA,KAAA,KAAA,KAAA,MAAA11H,EAAA,GAAA21H,GAAA,EAAAC,GAAA,EAEA,GAAA,IAAA77J,GAAA,OAAA84J,EACA,OAAAA,EAEA,IAAAj/G,SAAA75C,GACA,MAAA,GAAAA,EAEA,GAAA,IAAAk3C,EAAApe,QAAA,KAAA,CACA,IAAA3a,EAAA+4B,EAAApe,QAAA,KACA,IAAA,IAAA3a,EACA,MAAA3rB,MAAA,oCAEAq3B,EAAAqtB,EAAAte,MAAA,EAAAza,GACA+4B,EAAAA,EAAAte,MAAAza,EAAA,QAGA0L,EAAA,GAEA,GAAAqtB,EAAApe,QAAA,OAAAoe,EAAA7hD,OAAA,EAAA,CACA,IAAA6oB,EAAAg5B,EAAApe,QAAA,KACA,IAAA,IAAA5a,EACA,MAAA1rB,MAAA,oCAEAowJ,EAAA1rG,EAAAte,MAAA1a,EAAA,GAAA,GACAg5B,EAAAA,EAAAte,MAAA,EAAA1a,EAAA,QAGA0kI,EAAA,GAyBA,GApBApsJ,GADA,IAAA0gD,EAAApe,QAAA,KACAoe,EAAA9T,MAAA,cAGA8T,EAAA9T,MAAA,gBAEA23H,EAAA,OAAAvkK,GAAA,EAAAA,EAAA,GAAAnB,QAGA,IAAA6hD,EAAApe,QAAA,OACA8iI,GAAA,GAEA1kH,EAAApe,QAAA,MAAA,GACAkiI,GAAA,EACA9jH,EAAAA,EAAAte,MAAA,GAAA,IAEAse,EAAApe,QAAA,MAAA,IACAmiI,GAAA,EACA/jH,EAAAA,EAAA9U,QAAA,MAAA,KAGA8U,EAAApe,QAAA,MAAA,EAAA,CAoBA,GAnBA6hI,EAAAzjH,EAAA/2C,MAAA,KAAA,GAAAijC,MAAA,YAAA,CAAA,KACAu3H,EAAAt3H,SAAAs3H,EAAA,GAAA,IAEAS,EAAAlkH,EAAApe,QAAA,OAAA,EACAuiI,EAAAnkH,EAAApe,QAAA,OAAA,EACAwiI,EAAApkH,EAAApe,QAAA,OAAA,EACAyiI,EAAArkH,EAAApe,QAAA,OAAA,EACA0iI,EAAAJ,GAAAC,GAAAC,GAAAC,EAEArkH,EAAApe,QAAA,OAAA,GACAqiI,EAAA,IACAjkH,EAAAA,EAAA9U,QAAA,KAAA,KAGA8U,EAAAA,EAAA9U,QAAA,IAAA,IAEAq4H,EAAAh3J,KAAA64B,MAAA74B,KAAA0iB,IAAApF,GAAAtd,KAAAq4J,MAAA,EAEApB,EAAA,IADAA,EAAAD,EAAA,GACA,EAAAC,EACAC,GAAA,IAAA55I,IACA1rB,EAAAoO,KAAA64B,MAAA74B,KAAA0iB,IAAApF,GAAAtd,KAAAq4J,MAAA,EAAAnB,EACA7kJ,EAAA,MAAArS,KAAA4b,IAAAs7I,EAAAF,GAAAC,GAAA,GACA35I,GAAAtd,KAAAqS,IAAA,GAAAA,IACA,IAAAohC,EAAApe,QAAA,MAAA6hI,EAAA,GAIA,IAHAzjH,GAAA,MAEA7zC,GADAA,EAAA,IAAAhO,EAAA,EAAA,KAAAA,EAAA,GAAAA,GACA,EAAAgO,EAAA,EAAAA,EACAe,EAAA,EAAAA,EAAAf,EAAAe,IACA8yC,GAAA,IAIAzzC,KAAA64B,MAAA74B,KAAA0iB,IAAA1iB,KAAAsd,IAAA/gB,IAAAyD,KAAAq4J,MAAA,IAAAnB,IACA55I,GAAAtd,KAAAqS,IAAA,GAAA,MAAA0lJ,GAAAD,GAEAJ,GAAAxC,EAAAE,GAAAkD,cAAAC,SACAh8J,GAAAyD,KAAAqS,IAAA,GAAA,KAEAiL,EAAAtd,KAAAqS,IAAA,GAAA,KAAAiL,GAAAtd,KAAAqS,IAAA,GAAA,KAAA0lJ,GAAAF,GAEAH,GAAAxC,EAAAE,GAAAkD,cAAAE,QACAj8J,GAAAyD,KAAAqS,IAAA,GAAA,IAEAiL,EAAAtd,KAAAqS,IAAA,GAAA,IAAAiL,GAAAtd,KAAAqS,IAAA,GAAA,KAAA0lJ,GAAAH,GAEAF,GAAAxC,EAAAE,GAAAkD,cAAAG,QACAl8J,GAAAyD,KAAAqS,IAAA,GAAA,KAEAiL,EAAAtd,KAAAqS,IAAA,GAAA,IAAAiL,GAAAtd,KAAAqS,IAAA,GAAA,KAAA0lJ,GAAAJ,KAEAD,GAAAxC,EAAAE,GAAAkD,cAAAI,SACAn8J,GAAAyD,KAAAqS,IAAA,GAAA,KAKA,GAAAohC,EAAApe,QAAA,MAAA,EASA,IAPAoe,EAAApe,QAAA,OAAA,GACAwQ,EAAA,IACA4N,EAAAA,EAAA9U,QAAA,KAAA,KAGA8U,EAAAA,EAAA9U,QAAA,IAAA,IAEAg3H,EAAA,EAAAA,GAAAsC,EAAArmK,OAAA+jK,IAGA,GAFA/5I,EAAA5b,KAAAqS,IAAA,KAAAsjJ,GACAryJ,EAAAtD,KAAAqS,IAAA,KAAAsjJ,EAAA,GACAp5J,GAAAqf,GAAArf,EAAA+G,EAAA,CACAuiC,GAAAoyH,EAAAtC,GACA/5I,EAAA,IACArf,GAAAqf,GAEA,MAKA,GAAA63B,EAAApe,QAAA,MAAA,EASA,IAPAoe,EAAApe,QAAA,OAAA,GACAwQ,EAAA,IACA4N,EAAAA,EAAA9U,QAAA,KAAA,KAGA8U,EAAAA,EAAA9U,QAAA,IAAA,IAEAg3H,EAAA,EAAAA,GAAAuC,EAAAtmK,OAAA+jK,IAGA,GAFA/5I,EAAA5b,KAAAqS,IAAA,IAAAsjJ,GACAryJ,EAAAtD,KAAAqS,IAAA,IAAAsjJ,EAAA,GACAp5J,GAAAqf,GAAArf,EAAA+G,EAAA,CACAuiC,GAAAqyH,EAAAvC,GACA/5I,EAAA,IACArf,GAAAqf,GAEA,MAyBA,GApBA63B,EAAApe,QAAA,MAAA,IAEAoe,EAAApe,QAAA,OAAA,GACA2iI,EAAA,IACAvkH,EAAAA,EAAA9U,QAAA,KAAA,KAGA8U,EAAAA,EAAA9U,QAAA,IAAA,IAEAu2H,EAAAE,GAAAuD,UACAX,GAAA9C,EAAAE,GAAAuD,QAAAp8J,KAGAk3C,EAAApe,QAAA,QAAA,IACAoiI,GAAA,EACAhkH,EAAAA,EAAA9U,QAAA,MAAA,MAEAxtB,EAAA5U,EAAAtH,WAAAyH,MAAA,KAAA,GACAmyE,EAAAp7B,EAAA/2C,MAAA,KAAA,GACAy6J,EAAA1jH,EAAApe,QAAA,KACAw5C,EAAA,CAeA,IAdA,IAAAA,EAAAx5C,QAAA,KACAmN,EAAAitC,EAAAlzE,EAAAA,EAAAtH,WAAAyH,MAAA,KAAA,GAAA9K,OAAA4jK,GAGA3mF,EAAAx5C,QAAA,MAAA,GAEAw5C,GADAA,EAAAA,EAAAlwC,QAAA,IAAA,KACAjiC,MAAA,KACA8lC,EAAAitC,EAAAlzE,EAAAsyE,EAAA,GAAAj9E,OAAAi9E,EAAA,GAAAj9E,OAAA4jK,EAAA3mF,EAAA,GAAAj9E,SAGA4wC,EAAAitC,EAAAlzE,EAAAsyE,EAAAj9E,OAAA4jK,GAGArkJ,EAAAqxB,EAAA9lC,MAAA,KAAA,GACA8lC,EAAA9lC,MAAA,KAAA,GAAA9K,OAAA,CACA,IAAAmM,EAAAg5J,EAAAW,EAAAX,EAAA7B,EAAAE,GAAAwD,WAAAC,QACAr2H,EAAAzkC,EAAAykC,EAAA9lC,MAAA,KAAA,QAGA8lC,EAAA,GAEAi1H,GAAA,IAAAxzI,OAAAue,EAAArN,MAAA,MACAqN,EAAA,SAIArxB,EAAAs+D,EAAAlzE,EAAA,KAAAi5J,GAyBA,OAtBArkJ,EAAAkkB,QAAA,MAAA,IACAlkB,EAAAA,EAAAgkB,MAAA,GACAijI,GAAA,GAEAjnJ,EAAAvf,OAAA0lK,IACAnmJ,EAAA,IAAAhR,MAAAm3J,EAAAnmJ,EAAAvf,OAAA,GAAAixB,KAAA,KAAA1R,GAEAgmJ,GAAA,IACAhmJ,EAAAA,EAAAlc,WAAA0pC,QAAA,0BAAA,KACAu2H,EAAAE,GAAAwD,WAAAzB,YAEA,IAAA1jH,EAAApe,QAAA,OACAlkB,EAAA,IAEAimJ,EAAA3jH,EAAApe,QAAA,KACAgiI,EAAA5jH,EAAApe,QAAA,KAOAjP,GANAgxI,EAAAC,GACAE,GAAAa,EAAA,IAAA,KAAAD,GAAAC,IAAAb,GAAAa,EAAA,IAAA,KAGAD,GAAAC,IAAAb,GAAAa,EAAA,IAAA,KAAAb,GAAAa,EAAA,IAAA,OAGAA,GAAAZ,GAAA,IAAAj7J,EAAA,IAAA,IACA4U,EAAAqxB,GACA,GAAA,KACAk1H,IAAAX,EAAAW,EAAA,KACA,GAAA,KACAH,GAAAa,EAAA,IAAA,IACAjZ,EAmPA,SAAA2Z,EAAA1jK,EAAAyO,GACAqxJ,EAAA9/J,GAAAyO,EAEA,SAAAk1J,EAAA3jK,GACAggK,EAAAhgK,EACA,IAAA+X,EAAA+nJ,EAAA9/J,GAAA+X,SACAA,GAAAA,EAAAsmC,QACAwhH,EAAAK,cAAAnoJ,EAAAsmC,QAEAtmC,GAAAA,EAAA6rJ,gBACA/D,EAAAgE,sBAAA9rJ,EAAA6rJ,qBAltBA,IAAA3qK,GAAAA,EAAAC,SA0dA2mK,EAAA,SAAAl0J,GAUA,OATAk0J,EAAAiE,SAAAn4J,GACAA,EAAAA,EAAAxE,QAEA,IAAAwE,QAAA,IAAAA,EACAA,EAAA,EAEAkjB,OAAAljB,KACAA,EAAAk0J,EAAAvwJ,GAAAy0J,SAAAp4J,IAEA,IAAAuyC,EAAArvB,OAAAljB,MAGAmiD,QA7eA,QA+eA+xG,EAAAiE,SAAA,SAAAhuJ,GACA,OAAAA,aAAAooC,GAUA2hH,EAAAmE,YAAA,SAAAC,EAAAC,GACA/pK,QAAAC,KAAA,6EACA,IAAAuN,EAAAs8J,EAAAjzI,EAAAizI,EAAA38J,MAAA,KAAA,GAAA68J,EAAA,KACApE,EAAAp4J,KACArN,OAAAC,KAAAwlK,GAAAxoI,QAAA,SAAAmmD,GACAymF,GAAAzmF,EAAAp2E,MAAA,KAAA,KAAA0pB,IACAmzI,EAAAzmF,KAGA/1E,EAAAw8J,GAAAD,GAAA,SAEAP,EAAAh8J,IAOAk4J,EAAA6D,WAAA,SAAAU,EAAAC,GACA,IAAA18J,EAAAy8J,EAAAE,EAAAF,EAAA98J,MAAA,KAAA,GAAAi9J,EAAA,KACAzE,EAAAn4J,KACA28J,GACAhqK,OAAAC,KAAAulK,GAAAvoI,QAAA,SAAAmmD,GACA6mF,GAAA7mF,EAAAp2E,MAAA,KAAA,KAAAg9J,IACAC,EAAA7mF,KAIA/1E,EAAA48J,GAAAF,GAAA,SAEAV,EAAAh8J,IAUAk4J,EAAAniF,SAAA,SAAA/1E,EAAA8G,GAEA,GADAtU,QAAAC,KAAA,wEACAuN,EACA,OAAAq4J,EAEA,GAAAr4J,IAAA8G,EAAA,CACA,IAAAsxJ,EAAAp4J,GACA,MAAA,IAAAhO,MAAA,sBAAAgO,GAEAg8J,EAAAh8J,GAKA,OAHA8G,GAAAsxJ,EAAAp4J,IACA+7J,EAAA/7J,EAAA8G,GAEAoxJ,GAOAA,EAAA2E,QAAA,SAAAxkK,EAAAyO,GACA,IAAAzO,EACA,OAAAggK,EAEA,GAAAhgK,IAAAyO,EAAA,CACA,IAAAqxJ,EAAA9/J,GACA,MAAA,IAAArG,MAAA,qBAAAqG,GAEA2jK,EAAA3jK,GAKA,OAHAyO,GAAAqxJ,EAAA9/J,IACA0jK,EAAA1jK,EAAAyO,GAEAoxJ,GAUAA,EAAA4E,aAAA,SAAA98J,GAEA,GADAxN,QAAAC,KAAA,gFACAuN,EACA,OAAAo4J,EAAAC,GAEA,IAAAD,EAAAp4J,GACA,MAAA,IAAAhO,MAAA,sBAAAgO,GAEA,OAAAo4J,EAAAp4J,IAOAk4J,EAAA6E,YAAA,SAAA1kK,GACA,IAAAA,EACA,OAAA8/J,EAAAE,GAEA,IAAAF,EAAA9/J,GACA,MAAA,IAAArG,MAAA,qBAAAqG,GAEA,OAAA8/J,EAAA9/J,IAEA6/J,EAAA2E,QAAA,QA9lBA,CACAhB,WAAA,CACAzB,UAAA,IACA0B,QAAA,KAEAP,cAAA,CACAI,SAAA,IACAD,QAAA,IACAD,QAAA,IACAD,SAAA,KAEAI,QAAA,SAAArxB,GACA,IAAAr1H,EAAAq1H,EAAA,GACA,OAAA,MAAAA,EAAA,IAAA,IAAA,KACA,IAAAr1H,EAAA,KACA,IAAAA,EAAA,KACA,IAAAA,EAAA,KAAA,MAEAwkJ,SAAA,CACAlY,OAAA,IACAh7I,SAAA,UAEA4J,SAAA,CACA6rJ,eAAA,WAEAe,QAAA,CACAC,WAAA,SACAC,oBAAA,UACAC,8BAAA,WAukBAjF,EAAAE,UAAA,WAEA,OADA5lK,QAAAC,KAAA,yEACA2lK,GAEAF,EAAAC,SAAA,WACA,OAAAA,GAEAD,EAAAI,WAAA,SAAA5hH,GACA4hH,EAAA,iBAAA,EAAA5hH,EAAA,MAEAwhH,EAAAK,cAAA,SAAA7hH,GACA6hH,EAAA,iBAAA,EAAA7hH,EAAA,OAEAwhH,EAAAgE,sBAAA,SAAAxlH,KAGAwhH,EAAA3xI,SAAA,SAAAvW,EAAA6sJ,GACA,IAAAO,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAV,EAAA1X,EAWA,GATA,iBAAAr1I,IACAA,GAAA,GACAxd,QAAAC,MACAD,QAAAC,KAAA,4DAAAud,KAIAA,EAAAA,EAAA44I,QAEAhmH,MAAA,SACA,OAAA,EAGA,GAAA,KAAA5yB,EACA,OAAA,EAGA,IAEA+sJ,EAAA7E,EAAA6E,YAAAF,GAEA,MAAA7kK,GACA+kK,EAAA7E,EAAA6E,YAAA7E,EAAA2E,WAcA,OAXAS,EAAAP,EAAArD,SAAAlY,OACAgc,EAAAT,EAAAxB,cACA6B,EAAAL,EAAAlB,WAAAC,QAEAuB,EADA,MAAAN,EAAAlB,WAAAzB,UACA,MAGA2C,EAAAlB,WAAAzB,YAIA,QADA/U,EAAAr1I,EAAA4yB,MAAA,cAEA5yB,EAAAA,EAAAy8B,OAAA,GACA44G,EAAA,KAAAiY,IAMA,QADAjY,EAAAr1I,EAAA4yB,MAAA,cAEA5yB,EAAAA,EAAAooB,MAAA,GAAA,GACAitH,EAAA,KAAAmY,EAAA7B,UAAAtW,EAAA,KAAAmY,EAAA9B,SACArW,EAAA,KAAAmY,EAAA/B,SAAApW,EAAA,KAAAmY,EAAAhC,YAIAiC,EAAA,IAAAv7H,OAAAm7H,EAAA,OACArtJ,EAAA4yB,MAAA,cACA26H,EAAAvtJ,EAAArQ,MAAAy9J,IACAvoK,OAAA,IAIA0oK,EAAA1oK,OAAA,GACA0oK,EAAA,GAAA36H,MAAA,cAAA26H,EAAA,GAAA36H,MAAA66H,GAGA,IAAAF,EAAA,GAAA1oK,QACA0oK,EAAA,GAAA36H,MAAA,UACA26H,EAAA,GAAA36H,MAAA66H,KACAF,EAAA,GAAA36H,MAAA,UAGA26H,EAAA,GAAA36H,MAAA,cACA26H,EAAA,GAAA36H,MAAA66H,KACAF,EAAA,GAAA36H,MAAA,aA6BAtxC,EAAAC,QAAA,CAAAmlD,OANA,SAAA1yC,EAAA05J,EAAA3nF,EAAA0iF,GAIA,OAHA,MAAA1iF,GAAAA,IAAAmiF,EAAA2E,WACA3E,EAAA6D,WAAAhmF,GAEAkjF,EAAA/xI,OAAAljB,GAAA,MAAA05J,EAAAA,EAAAnF,EAAA,MAAAE,EAAAx1J,KAAA2V,MAAA6/I,MC1uBA,SAAApnK,EAAAC,EAAAC,GACA,IAAAosK,EAAAtsK,EAAA,KACAm6B,EAAAn6B,EAAA,KACAusK,EAAAvsK,EAAA,KACAwsK,EAAAxsK,EAAA,KACAysK,EAAAzsK,EAAA,KACA0sK,EAAA1sK,EAAA,KACA,SAAAy1C,EAAAk3H,EAAAjlH,GACA,KAAAplD,gBAAAmzC,GACA,OAAA,IAAAA,EAAAk3H,GAEAjlH,EAAAA,GAAA,SAAArjD,GACA,GAAAA,EACA,MAAAA,GAGA,IAAA8vD,EAAAm4G,EAAAK,GACA,GAAA,iBAAAx4G,EAAA,CAIA,IAAAy4G,EAAAn3H,EAAA82H,YAAA/2J,IAAA2+C,EAAA04G,UACA,GAAAD,EAAA,CAIA,GAAAz4G,EAAA24G,WAAA,SAAA34G,EAAA24G,UAAA,CACA,IAAAC,EAAAN,EAAAt4G,EAAA24G,WACAC,IACA54G,EAAA64G,aAAAD,EAAAE,QAAAF,EAAAE,QAAA3+J,MAAA,KAAA,KACA6lD,EAAA+4G,MAAAH,EAAAx+H,QACA4lB,EAAAg5G,UAAAJ,EAAAI,UAAAJ,EAAAI,UAAAh5G,EAAA24G,WAGA34G,EAAAi5G,GAAAj5G,EAAAi5G,IAAA,EACAj5G,EAAAk5G,KAAAl5G,EAAAk5G,MAAA,MACA,IAAAC,EAAAd,EAAAc,OAAAn5G,EAAA7hD,EAAA6hD,EAAAtwC,EAAAswC,EAAAo5G,GAAAp5G,EAAA+4G,MAAA/4G,EAAAm5G,QACAE,EAAAhB,EAAAiB,aAAAH,EAAAh7J,EAAAg7J,EAAAzpJ,EAAAypJ,EAAAC,GAAAp5G,EAAAu5G,KACAC,EAAAx5G,EAAAu4G,OAAAA,EAAAv4G,EAAA24G,UAAA34G,EAAA64G,aAAAM,EAAAh7J,EAAAg7J,EAAAzpJ,EAAA2pJ,EAAAI,GAAAJ,EAAAK,KACA1zI,EAAA73B,KAAA6xD,GACAh6B,EAAA73B,KAAAsqK,GAEAtqK,KAAAgQ,EAAAg7J,EAAAh7J,EACAhQ,KAAAuhB,EAAAypJ,EAAAzpJ,EACAvhB,KAAAirK,GAAAD,EAAAC,GACAjrK,KAAAgrK,OAAAA,EAAAA,OAEAhrK,KAAAsrK,GAAAJ,EAAAI,GACAtrK,KAAAqE,EAAA6mK,EAAA7mK,EACArE,KAAAurK,IAAAL,EAAAK,IAEAvrK,KAAAoqK,MAAAiB,EAEArrK,KAAA2yB,OAEAyyB,EAAA,KAAAplD,WAhCAolD,EAAAilH,QALAjlH,EAAAilH,GAuCAl3H,EAAA82H,YAAAA,EACA92H,EAAA82H,YAAAlgJ,QACApsB,EAAAC,QAAAu1C,GC3DA,SAAAz1C,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAA4tK,EAAAC,EAAA14E,GACA,IACAx1E,EAAAoD,EAAA1Q,EADAy7J,EAAA34E,EAAAtqF,EAAAkjK,EAAA54E,EAAArqF,EAAAkjK,EAAA74E,EAAAq1B,GAAA,EAEAyjD,EAAA,GACA,IAAA57J,EAAA,EAAAA,EAAA,EAAAA,IACA,IAAAw7J,GAAA,IAAAx7J,QAAA2I,IAAAm6E,EAAAq1B,EAeA,OAZA,IAAAn4G,GACAsN,EAAAmuJ,EACA/qJ,EAAA,KAEA,IAAA1Q,GACAsN,EAAAouJ,EACAhrJ,EAAA,MAGApD,EAAAquJ,EACAjrJ,EAAA,KAEA6qJ,EAAAT,KAAA96J,IACA,IAAA,IACA47J,EAAAlrJ,GAAApD,EACA,MACA,IAAA,IACAsuJ,EAAAlrJ,IAAApD,EACA,MACA,IAAA,IACAsuJ,EAAAlrJ,GAAApD,EACA,MACA,IAAA,IACAsuJ,EAAAlrJ,IAAApD,EACA,MACA,IAAA,SACA3E,IAAAm6E,EAAApyE,KACAkrJ,EAAAzjD,EAAA7qG,GAEA,MACA,IAAA,SACA3E,IAAAm6E,EAAApyE,KACAkrJ,EAAAzjD,GAAA7qG,GAEA,MACA,QAEA,OAAA,KAGA,OAAAsuJ,ICjDA,SAAAnuK,EAAAC,EAAAC,GACA,IAAAkuK,EAAA,EAAAx8J,KAAA0e,GAMA+0H,EAAArlJ,EAAA,KACAC,EAAAC,QAAA,SAAA6K,GACA,OAAA6G,KAAAsd,IAAAnkB,IAHA,cAGAA,EAAAA,EAAAs6I,EAAAt6I,GAAAqjK,ICTA,SAAApuK,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAAmuK,EAAAC,EAAAC,GACA,IAAAC,EAAAH,EAAAC,EACA,OAAAC,EAAA38J,KAAAsT,KAAA,EAAAspJ,EAAAA,KCHA,SAAAxuK,EAAAC,EAAAC,GACA,IAAAuuK,EAAA78J,KAAA0e,GAAA,EACArwB,EAAAC,QAAA,SAAAmuK,EAAAK,GAIA,IAHA,IACAF,EAAAG,EADAC,EAAA,GAAAP,EAEAQ,EAAAJ,EAAA,EAAA78J,KAAAk9J,KAAAJ,GACAn8J,EAAA,EAAAA,GAAA,GAAAA,IAIA,GAHAi8J,EAAAH,EAAAz8J,KAAAuS,IAAA0qJ,GACAF,EAAAF,EAAA,EAAA78J,KAAAk9J,KAAAJ,EAAA98J,KAAAqS,KAAA,EAAAuqJ,IAAA,EAAAA,GAAAI,IAAAC,EACAA,GAAAF,EACA/8J,KAAAsd,IAAAy/I,IAAA,MACA,OAAAE,EAIA,OAAA,OCfA,SAAA7uK,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAA6K,GACA,OAAAA,EAAA,GAAA,EAAA,ICFA,SAAA/K,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAAkiB,GACA,IAAA+rJ,EAAA,CACApjK,EAAAqX,EAAA,GACApX,EAAAoX,EAAA,IAQA,OANAA,EAAA5e,OAAA,IACA2qK,EAAAzjD,EAAAtoG,EAAA,IAEAA,EAAA5e,OAAA,IACA2qK,EAAA59G,EAAAnuC,EAAA,IAEA+rJ,ICZA,SAAAnuK,EAAAC,EAAAC,GACA,IAAAuuK,EAAA78J,KAAA0e,GAAA,EACArwB,EAAAC,QAAA,SAAAmuK,EAAAQ,EAAAP,GACA,IAAAE,EAAAH,EAAAC,EACAS,EAAA,GAAAV,EAEA,OADAG,EAAA58J,KAAAqS,KAAA,EAAAuqJ,IAAA,EAAAA,GAAAO,GACAn9J,KAAAwwC,IAAA,IAAAqsH,EAAAI,IAAAL,ICNA,SAAAxuK,EAAAC,EAAAC,GACAA,EAAAy1C,MAAA,CACAs3H,QAAA,QACA1+H,QAAA,QACA4+H,UAAA,SAEAjtK,EAAA8uK,OAAA,CACA/B,QAAA,yBACA1+H,QAAA,SACA4+H,UAAA,SAEAjtK,EAAA+uK,OAAA,CACAhC,QAAA,uBACA1+H,QAAA,QACA4+H,UAAA,wCAEAjtK,EAAAgvK,MAAA,CACAjC,QAAA,QACA1+H,QAAA,QACA4+H,UAAA,6BAEAjtK,EAAAivK,MAAA,CACAC,SAAA,2CACA7gI,QAAA,SACA4+H,UAAA,6BAEAjtK,EAAAmvK,QAAA,CACApC,QAAA,mBACA1+H,QAAA,SACA4+H,UAAA,+BAEAjtK,EAAAovK,SAAA,CACArC,QAAA,mBACA1+H,QAAA,UACA4+H,UAAA,yBAEAjtK,EAAAqvK,cAAA,CACAtC,QAAA,qBACA1+H,QAAA,SACA4+H,UAAA,iBAEAjtK,EAAAsvK,MAAA,CACAvC,QAAA,qDACA1+H,QAAA,WACA4+H,UAAA,gBAEAjtK,EAAAuvK,WAAA,CACAxC,QAAA,yBACA1+H,QAAA,OACA4+H,UAAA,cAEAjtK,EAAAwvK,OAAA,CACAzC,QAAA,6CACA1+H,QAAA,OACA4+H,UAAA,mCAEAjtK,EAAAyvK,OAAA,CACA1C,QAAA,yDACA1+H,QAAA,OACA4+H,UAAA,aAEAjtK,EAAA0vK,OAAA,CACA3C,QAAA,aACA1+H,QAAA,SACA4+H,UAAA,kBAEAjtK,EAAA2vK,SAAA,CACA5C,QAAA,eACA1+H,QAAA,SACA4+H,UAAA,YAEAjtK,EAAA4vK,cAAA,CACA7C,QAAA,cACA1+H,QAAA,SACA4+H,UAAA,yBAEAjtK,EAAA6vK,MAAA,CACA9C,QAAA,wDACA1+H,QAAA,OACA4+H,UAAA,+BC/EA,SAAAntK,EAAAC,EAAAC,GACAA,EAAA8vK,MAAA,CACA19J,EAAA,QACAi7J,GAAA,QACA0C,YAAA,cAEA/vK,EAAAgwK,MAAA,CACA59J,EAAA,QACAi7J,GAAA,QACA0C,YAAA,6BAEA/vK,EAAAiwK,MAAA,CACA79J,EAAA,QACAi7J,GAAA,cACA0C,YAAA,wBAEA/vK,EAAAkwK,MAAA,CACA99J,EAAA,QACAi7J,GAAA,QACA0C,YAAA,YAEA/vK,EAAAmwK,KAAA,CACA/9J,EAAA,YACAuR,EAAA,WACAosJ,YAAA,aAEA/vK,EAAAowK,KAAA,CACAh+J,EAAA,QACAi7J,GAAA,OACA0C,YAAA,uBAEA/vK,EAAAqwK,MAAA,CACAj+J,EAAA,QACAi7J,GAAA,OACA0C,YAAA,4BAEA/vK,EAAAswK,SAAA,CACAl+J,EAAA,YACAuR,EAAA,YACAosJ,YAAA,iBAEA/vK,EAAAuwK,OAAA,CACAn+J,EAAA,WACAi7J,GAAA,IACA0C,YAAA,8BAEA/vK,EAAAwwK,QAAA,CACAp+J,EAAA,QACAi7J,GAAA,OACA0C,YAAA,mCAEA/vK,EAAAywK,MAAA,CACAr+J,EAAA,QACAi7J,GAAA,cACA0C,YAAA,qBAEA/vK,EAAA0wK,OAAA,CACAt+J,EAAA,YACAi7J,GAAA,YACA0C,YAAA,eAEA/vK,EAAA2wK,SAAA,CACAv+J,EAAA,YACAi7J,GAAA,YACA0C,YAAA,yBAEA/vK,EAAA4wK,OAAA,CACAx+J,EAAA,UACAuR,EAAA,UACAosJ,YAAA,eAEA/vK,EAAA6wK,OAAA,CACAz+J,EAAA,YACAi7J,GAAA,SACA0C,YAAA,oBAEA/vK,EAAA8wK,OAAA,CACA1+J,EAAA,kBACAi7J,GAAA,kBACA0C,YAAA,eAEA/vK,EAAA+wK,IAAA,CACA3+J,EAAA,UACAi7J,GAAA,OACA0C,YAAA,mCAEA/vK,EAAAgxK,OAAA,CACA5+J,EAAA,QACAi7J,GAAA,MACA0C,YAAA,2BAEA/vK,EAAAixK,QAAA,CACA7+J,EAAA,WACAi7J,GAAA,SACA0C,YAAA,gBAEA/vK,EAAAkxK,QAAA,CACA9+J,EAAA,YACAi7J,GAAA,SACA0C,YAAA,gBAEA/vK,EAAAmxK,QAAA,CACA/+J,EAAA,YACAi7J,GAAA,SACA0C,YAAA,gBAEA/vK,EAAAoxK,QAAA,CACAh/J,EAAA,YACAi7J,GAAA,SACA0C,YAAA,gBAEA/vK,EAAAqxK,QAAA,CACAj/J,EAAA,YACAi7J,GAAA,SACA0C,YAAA,gBAEA/vK,EAAAsxK,QAAA,CACAl/J,EAAA,YACAi7J,GAAA,SACA0C,YAAA,6BAEA/vK,EAAAuxK,QAAA,CACAn/J,EAAA,QACAi7J,GAAA,MACA0C,YAAA,gCAEA/vK,EAAAwxK,SAAA,CACAp/J,EAAA,QACAi7J,GAAA,MACA0C,YAAA,gBAEA/vK,EAAAyxK,QAAA,CACAr/J,EAAA,QACAi7J,GAAA,MACA0C,YAAA,gBAEA/vK,EAAA0xK,QAAA,CACAt/J,EAAA,QACAi7J,GAAA,MACA0C,YAAA,gBAEA/vK,EAAA2xK,MAAA,CACAv/J,EAAA,QACAi7J,GAAA,IACA0C,YAAA,SAEA/vK,EAAA4xK,KAAA,CACAx/J,EAAA,QACAi7J,GAAA,IACA0C,YAAA,gCAEA/vK,EAAA6xK,MAAA,CACAz/J,EAAA,QACAi7J,GAAA,OACA0C,YAAA,cAEA/vK,EAAA8xK,MAAA,CACA1/J,EAAA,QACAi7J,GAAA,QACA0C,YAAA,cAEA/vK,EAAA+xK,MAAA,CACA3/J,EAAA,QACAi7J,GAAA,IACA0C,YAAA,mBAEA/vK,EAAAgyK,SAAA,CACA5/J,EAAA,UACAuR,EAAA,UACAosJ,YAAA,0BAEA/vK,EAAAiyK,QAAA,CACA7/J,EAAA,QACAi7J,GAAA,QACA0C,YAAA,yBAEA/vK,EAAAkyK,MAAA,CACA9/J,EAAA,QACAi7J,GAAA,MACA0C,YAAA,oBAEA/vK,EAAAmyK,OAAA,CACA//J,EAAA,QACAuR,EAAA,aACAosJ,YAAA,kBAEA/vK,EAAAoyK,QAAA,CACAhgK,EAAA,QACAuR,EAAA,aACAosJ,YAAA,WAEA/vK,EAAAqyK,MAAA,CACAjgK,EAAA,QACAi7J,GAAA,MACA0C,YAAA,UAEA/vK,EAAAsyK,MAAA,CACAlgK,EAAA,QACAi7J,GAAA,OACA0C,YAAA,UAEA/vK,EAAAuyK,KAAA,CACAngK,EAAA,QACAi7J,GAAA,OACA0C,YAAA,UAEA/vK,EAAAwyK,MAAA,CACApgK,EAAA,QACAi7J,GAAA,cACA0C,YAAA,UAEA/vK,EAAAotK,OAAA,CACAh7J,EAAA,QACAuR,EAAA,QACAosJ,YAAA,8BCtNA,SAAAjwK,EAAAC,EAAAC,GACAA,EAAAyyK,UAAA,EACAzyK,EAAA0yK,QAAA,eACA1yK,EAAA2yK,MAAA,eACA3yK,EAAA4yK,QAAA,gBACA5yK,EAAA6yK,QAAA,eACA7yK,EAAA8yK,KAAA,gBACA9yK,EAAA+yK,KAAA,eACA/yK,EAAAgzK,QAAA,iBACAhzK,EAAAizK,OAAA,gBACAjzK,EAAAkzK,SAAA,SACAlzK,EAAAmzK,UAAA,gBACAnzK,EAAAozK,OAAA,WACApzK,EAAAqzK,KAAA,iBCbA,SAAAvzK,EAAAC,EAAAC,GACAA,EAAAszK,GAAA,CAAAC,SAAA,OACAvzK,EAAA,SAAA,CAAAuzK,SAAA,KAAA,OCFA,SAAAzzK,EAAAC,EAAAC,GACA,IAAA47D,EAAA97D,EAAA,KACA+d,EAAA/d,EAAA,KACA21C,EAAAmmB,EAAA,SACA,SAAA43G,EAAA1hK,EAAA2hK,EAAAjtG,GACA,IAAAktG,EACA,OAAA7hK,MAAAxD,QAAAm4D,IACAktG,EAAA71J,EAAA/L,EAAA2hK,EAAAjtG,GACA,IAAAA,EAAAljE,OACA,CAAAowK,EAAA7oK,EAAA6oK,EAAA5oK,EAAA4oK,EAAAlpD,GAGA,CAAAkpD,EAAA7oK,EAAA6oK,EAAA5oK,IAIA+S,EAAA/L,EAAA2hK,EAAAjtG,GAGA,SAAAmtG,EAAA3pK,GACA,OAAAA,aAAA4xD,EACA5xD,EAEAA,EAAA4pK,MACA5pK,EAAA4pK,MAEAh4G,EAAA5xD,GAoCAjK,EAAAC,QAlCA,SAAA6zK,EAAAC,EAAAvqG,GACAsqG,EAAAF,EAAAE,GACA,IACAj3J,EADAm3J,GAAA,EAcA,YAZA,IAAAD,GACAA,EAAAD,EACAA,EAAAp+H,EACAs+H,GAAA,SAEA,IAAAD,EAAAjpK,GAAAgH,MAAAxD,QAAAylK,MACAvqG,EAAAuqG,EACAA,EAAAD,EACAA,EAAAp+H,EACAs+H,GAAA,GAEAD,EAAAH,EAAAG,GACAvqG,EACAiqG,EAAAK,EAAAC,EAAAvqG,IAGA3sD,EAAA,CACAs5B,QAAA,SAAAswB,GACA,OAAAgtG,EAAAK,EAAAC,EAAAttG,IAEA+d,QAAA,SAAA/d,GACA,OAAAgtG,EAAAM,EAAAD,EAAArtG,KAGAutG,IACAn3J,EAAAg3J,MAAAE,GAEAl3J,KC3DA,SAAA9c,EAAAC,EAAAC,GACA,IAAAg0K,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,EACAC,EAAA,oBA4BAr0K,EAAAC,QA3BA,SAAA4sK,EAAAE,EAAA16J,EAAAuR,EAAA+pJ,EAAAC,GACA,IAAAM,EAAA,GAwBA,OAvBAA,EAAAoG,WAAAH,EACAtH,GAAA,SAAAA,IACAqB,EAAAoG,WAAAF,GAEArH,IACAmB,EAAAnB,aAAAA,EAAAvgK,IAAAyD,YACA,IAAAi+J,EAAAnB,aAAA,IAAA,IAAAmB,EAAAnB,aAAA,IAAA,IAAAmB,EAAAnB,aAAA,KACAmB,EAAAoG,WAAAL,GAEA/F,EAAAnB,aAAAxpK,OAAA,IACA,IAAA2qK,EAAAnB,aAAA,IAAA,IAAAmB,EAAAnB,aAAA,IAAA,IAAAmB,EAAAnB,aAAA,IAAA,IAAAmB,EAAAnB,aAAA,KACAmB,EAAAoG,WAAAJ,EACAhG,EAAAnB,aAAA,IAAAsH,EACAnG,EAAAnB,aAAA,IAAAsH,EACAnG,EAAAnB,aAAA,IAAAsH,EACAnG,EAAAnB,aAAA,GAAAmB,EAAAnB,aAAA,GAAA,IAAA,KAIAmB,EAAA77J,EAAAA,EACA67J,EAAAtqJ,EAAAA,EACAsqJ,EAAAP,GAAAA,EACAO,EAAAN,IAAAA,EACAM,IC/BA,SAAAnuK,EAAAC,EAAAC,GACA,IAEAuuK,EAAA78J,KAAA0e,GAAA,EACApwB,EAAAs0K,cAAA,SAAAxyJ,EAAA+yB,GACA,OAAA/yB,EAAAuyJ,aAAAx/H,EAAAw/H,cAGAvyJ,EAAA1P,IAAAyiC,EAAAziC,GAAAV,KAAAsd,IAAA5sB,KAAAsrK,GAAA74H,EAAA64H,IAAA,SAPA,IAYA5rJ,EAAAuyJ,WACAjyK,KAAA0qK,aAAA,KAAAj4H,EAAAi4H,aAAA,IAAAhrJ,EAAAgrJ,aAAA,KAAAj4H,EAAAi4H,aAAA,IAAAhrJ,EAAAgrJ,aAAA,KAAAj4H,EAAAi4H,aAAA,GAZA,IAcAhrJ,EAAAuyJ,YACAvyJ,EAAAgrJ,aAAA,KAAAj4H,EAAAi4H,aAAA,IAAAhrJ,EAAAgrJ,aAAA,KAAAj4H,EAAAi4H,aAAA,IAAAhrJ,EAAAgrJ,aAAA,KAAAj4H,EAAAi4H,aAAA,IAAAhrJ,EAAAgrJ,aAAA,KAAAj4H,EAAAi4H,aAAA,IAAAhrJ,EAAAgrJ,aAAA,KAAAj4H,EAAAi4H,aAAA,IAAAhrJ,EAAAgrJ,aAAA,KAAAj4H,EAAAi4H,aAAA,IAAAhrJ,EAAAgrJ,aAAA,KAAAj4H,EAAAi4H,aAAA,KAmBA9sK,EAAAu0K,qBAAA,SAAA9kK,EAAAi+J,EAAAt7J,GACA,IAGAoiK,EACAC,EACAC,EACAC,EANAC,EAAAnlK,EAAA5E,EACAgqK,EAAAplK,EAAA3E,EACAgqK,EAAArlK,EAAA+6G,EAAA/6G,EAAA+6G,EAAA,EAUA,GAAAqqD,GAAAtG,GAAAsG,GAAA,MAAAtG,EACAsG,GAAAtG,OAEA,GAAAsG,EAAAtG,GAAAsG,EAAA,MAAAtG,EACAsG,EAAAtG,OAEA,GAAAsG,GAAAtG,GAAAsG,EAAAtG,EAGA,OAAA,KASA,OAPAqG,EAAAljK,KAAA0e,KACAwkJ,GAAA,EAAAljK,KAAA0e,IAEAqkJ,EAAA/iK,KAAAuS,IAAA4wJ,GACAF,EAAAjjK,KAAAsS,IAAA6wJ,GACAH,EAAAD,EAAAA,EAEA,CACA5pK,IAFA2pK,EAAApiK,EAAAV,KAAAsT,KAAA,EAAA0oJ,EAAAgH,IAEAI,GAAAH,EAAAjjK,KAAAsS,IAAA4wJ,GACA9pK,GAAA0pK,EAAAM,GAAAH,EAAAjjK,KAAAuS,IAAA2wJ,GACApqD,GAAAgqD,GAAA,EAAA9G,GAAAoH,GAAAL,IAGAz0K,EAAA+0K,qBAAA,SAAAtlK,EAAAi+J,EAAAt7J,EAAAuR,GAGA,IAGAksI,EACAmlB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAIAf,EACAC,EACAC,EALArqE,EAAAh7F,EAAA5E,EACA+qK,EAAAnmK,EAAA3E,EACA+qK,EAAApmK,EAAA+6G,EAAA/6G,EAAA+6G,EAAA,EAOA,GAHAqlC,EAAAn+I,KAAAsT,KAAAylF,EAAAA,EAAAmrE,EAAAA,GACAZ,EAAAtjK,KAAAsT,KAAAylF,EAAAA,EAAAmrE,EAAAA,EAAAC,EAAAA,GAEAhmB,EAAAz9I,EAzBA,OA8BA,GAHAwiK,EAAA,EAGAI,EAAA5iK,EA9BA,MAiCA,OAFAyiK,EAAAtG,EACAuG,GAAAnxJ,EACA,CACA9Y,EAAA4E,EAAA5E,EACAC,EAAA2E,EAAA3E,EACA0/G,EAAA/6G,EAAA+6G,QAOAoqD,EAAAljK,KAAA2iC,MAAAuhI,EAAAnrE,GAWAwqE,EAAAY,EAAAb,EACAE,EAAArlB,EAAAmlB,EACAG,EAAA,EAAAzjK,KAAAsT,KAAA,EAAA0oJ,GAAA,EAAAA,GAAAwH,EAAAA,GACAI,EAAAJ,GAAA,EAAAxH,GAAAyH,EACAI,EAAAN,EAAAE,EACAQ,EAAA,EAGA,GACAA,IACAN,EAAAjjK,EAAAV,KAAAsT,KAAA,EAAA0oJ,EAAA6H,EAAAA,GAGAH,EAAA1H,EAAA2H,GAAAA,GADAP,EAAAjlB,EAAAylB,EAAAO,EAAAN,EAAAF,GAAA,EAAA3H,EAAA6H,EAAAA,KAEAJ,EAAA,EAAAzjK,KAAAsT,KAAA,EAAAowJ,GAAA,EAAAA,GAAAF,EAAAA,GAGAQ,GADAD,EAAAR,EAAAE,GACAG,GAFAE,EAAAN,GAAA,EAAAE,GAAAD,GAEAI,EACAD,EAAAE,EACAD,EAAAE,QACAC,EAAAA,EAzEA,OAyEAC,EAxEA,IA2EA,OADAd,EAAAnjK,KAAAk9J,KAAA6G,EAAA/jK,KAAAsd,IAAAwmJ,IACA,CACA3qK,EAAA+pK,EACA9pK,EAAA+pK,EACArqD,EAAAsqD,IAWA90K,EAAA81K,kBAAA,SAAArmK,EAAA4kK,EAAAvH,GACA,GAvKA,IAuKAuH,EAGA,MAAA,CACAxpK,EAAA4E,EAAA5E,EAAAiiK,EAAA,GACAhiK,EAAA2E,EAAA3E,EAAAgiK,EAAA,GACAtiD,EAAA/6G,EAAA+6G,EAAAsiD,EAAA,IAGA,GA/KA,IA+KAuH,EAAA,CACA,IAAA0B,EAAAjJ,EAAA,GACAkJ,EAAAlJ,EAAA,GACAmJ,EAAAnJ,EAAA,GACAoJ,EAAApJ,EAAA,GACAqJ,EAAArJ,EAAA,GACAsJ,EAAAtJ,EAAA,GACAuJ,EAAAvJ,EAAA,GAGA,MAAA,CACAjiK,EAAAwrK,GAAA5mK,EAAA5E,EAAAurK,EAAA3mK,EAAA3E,EAAAqrK,EAAA1mK,EAAA+6G,GAAAurD,EACAjrK,EAAAurK,GAAAD,EAAA3mK,EAAA5E,EAAA4E,EAAA3E,EAAAorK,EAAAzmK,EAAA+6G,GAAAwrD,EACAxrD,EAAA6rD,IAAAF,EAAA1mK,EAAA5E,EAAAqrK,EAAAzmK,EAAA3E,EAAA2E,EAAA+6G,GAAAyrD,KAQAj2K,EAAAs2K,oBAAA,SAAA7mK,EAAA4kK,EAAAvH,GACA,GAtMA,IAsMAuH,EAGA,MAAA,CACAxpK,EAAA4E,EAAA5E,EAAAiiK,EAAA,GACAhiK,EAAA2E,EAAA3E,EAAAgiK,EAAA,GACAtiD,EAAA/6G,EAAA+6G,EAAAsiD,EAAA,IAGA,GA9MA,IA8MAuH,EAAA,CACA,IAAA0B,EAAAjJ,EAAA,GACAkJ,EAAAlJ,EAAA,GACAmJ,EAAAnJ,EAAA,GACAoJ,EAAApJ,EAAA,GACAqJ,EAAArJ,EAAA,GACAsJ,EAAAtJ,EAAA,GACAuJ,EAAAvJ,EAAA,GACAyJ,GAAA9mK,EAAA5E,EAAAkrK,GAAAM,EACAG,GAAA/mK,EAAA3E,EAAAkrK,GAAAK,EACAI,GAAAhnK,EAAA+6G,EAAAyrD,GAAAI,EAGA,MAAA,CACAxrK,EAAA0rK,EAAAH,EAAAI,EAAAL,EAAAM,EACA3rK,GAAAsrK,EAAAG,EAAAC,EAAAN,EAAAO,EACAjsD,EAAA2rD,EAAAI,EAAAL,EAAAM,EAAAC,MChOA,SAAA32K,EAAAC,EAAAC,GACA,IAAAg0K,EAAA,EACAC,EAAA,EAEAzH,EAAA1sK,EAAA,KACA,SAAA42K,EAAA/6J,GACA,OAAAA,IAAAq4J,GAAAr4J,IAAAs4J,EAEAl0K,EAAAC,QAAA,SAAA8hB,EAAA+yB,EAAAsgD,GAEA,OAAAq3E,EAAA8H,cAAAxyJ,EAAA+yB,GACAsgD,EARA,IAaArzE,EAAAuyJ,YAbA,IAaAx/H,EAAAw/H,WACAl/E,EAIArzE,EAAA4rJ,KAAA74H,EAAA64H,IAAA5rJ,EAAA1P,IAAAyiC,EAAAziC,GAAAskK,EAAA50J,EAAAuyJ,aAAAqC,EAAA7hI,EAAAw/H,aAIAl/E,EAAAq3E,EAAA+H,qBAAAp/E,EAAArzE,EAAA4rJ,GAAA5rJ,EAAA1P,GAEAskK,EAAA50J,EAAAuyJ,cACAl/E,EAAAq3E,EAAAsJ,kBAAA3gF,EAAArzE,EAAAuyJ,WAAAvyJ,EAAAgrJ,eAEA4J,EAAA7hI,EAAAw/H,cACAl/E,EAAAq3E,EAAA8J,oBAAAnhF,EAAAtgD,EAAAw/H,WAAAx/H,EAAAi4H,eAEAN,EAAAuI,qBAAA5/E,EAAAtgD,EAAA64H,GAAA74H,EAAAziC,EAAAyiC,EAAAlxB,IAXAwxE,ICtBA,SAAAr1F,EAAAC,EAAAC,GACA,IAAA22K,EAAA72K,EAAA,KACA82K,EAAA92K,EAAA,KACA+2K,EAAA/2K,EAAA,KACA,SAAAgjJ,EAAAviJ,GAEA,IAAA2qC,EAAA9oC,KACA,GAAA,IAAAwH,UAAAtG,OAAA,CACA,IAAAikB,EAAA3d,UAAA,GACA,iBAAA2d,EACA,MAAAA,EAAA6lE,OAAA,GACA01D,EAAAviJ,GAAAq2K,EAAAhtK,UAAA,IAGAk5I,EAAAviJ,GAAAs2K,EAAAjtK,UAAA,IAIAk5I,EAAAviJ,GAAAgnB,OAGA,GAAA,IAAA3d,UAAAtG,OAAA,CACA,GAAAuO,MAAAxD,QAAA9N,GACA,OAAAA,EAAAgM,IAAA,SAAAoT,GACA9N,MAAAxD,QAAAsR,GACAmjI,EAAAn5I,MAAAuhC,EAAAvrB,GAGAmjI,EAAAnjI,KAIA,GAAA,iBAAApf,GACA,GAAAA,KAAAuiJ,EACA,OAAAA,EAAAviJ,OAGA,SAAAA,EACAuiJ,EAAA,QAAAviJ,EAAAu2K,MAAAv2K,EAEA,SAAAA,EACAuiJ,EAAA,QAAAviJ,EAAAw2K,MAAAx2K,EAEA,YAAAA,EACAuiJ,EAAA,WAAAviJ,EAAAy2K,SAAAz2K,EAGAU,QAAAmzB,IAAA7zB,GAEA,QAGAo2K,EAAA7zB,GACA/iJ,EAAAC,QAAA8iJ,GCrDA,SAAAhjJ,EAAAC,EAAAC,GAEA,IAMAi3K,EAAAn3K,EAAA,KACAE,EAAAutK,aAAA,SAAAn7J,EAAAuR,EAAA0pJ,EAAAG,GACA,IAAA0J,EAAA9kK,EAAAA,EACA+kK,EAAAxzJ,EAAAA,EACA+pJ,GAAAwJ,EAAAC,GAAAD,EACAzwK,EAAA,EACA+mK,GAEA0J,GADA9kK,GAAA,EAAAs7J,GAbA,mBAaAA,GAXA,mBAEA,oBASAA,KACAt7J,EACAs7J,EAAA,GAGAjnK,EAAAiL,KAAAsT,KAAA0oJ,GAEA,IAAAC,GAAAuJ,EAAAC,GAAAA,EACA,MAAA,CACAzJ,GAAAA,EACAjnK,EAAAA,EACAknK,IAAAA,IAGA3tK,EAAAotK,OAAA,SAAAh7J,EAAAuR,EAAA0pJ,EAAAL,EAAAI,GACA,IAAAh7J,EAAA,CACA,IAAAi8B,EAAA4oI,EAAAjK,GACA3+H,IACAA,EAAA4oI,EAAAzE,OAEApgK,EAAAi8B,EAAAj8B,EACAuR,EAAA0qB,EAAA1qB,EACA0pJ,EAAAh/H,EAAAg/H,GASA,OAPAA,IAAA1pJ,IACAA,GAAA,EAAA,EAAA0pJ,GAAAj7J,IAEA,IAAAi7J,GAAA37J,KAAAsd,IAAA5c,EAAAuR,GAnCA,SAoCAypJ,GAAA,EACAzpJ,EAAAvR,GAEA,CACAA,EAAAA,EACAuR,EAAAA,EACA0pJ,GAAAA,EACAD,OAAAA,KClDA,SAAAttK,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAAo3K,EAAAt1J,GAEA,IAAA7T,EAAAm8C,EACA,GAFAgtH,EAAAA,GAAA,IAEAt1J,EACA,OAAAs1J,EAEA,IAAAhtH,KAAAtoC,OAEA9G,KADA/M,EAAA6T,EAAAsoC,MAEAgtH,EAAAhtH,GAAAn8C,GAGA,OAAAmpK,ICbA,SAAAt3K,EAAAC,EAAAC,GACAD,EAAAC,QAAA,SAAA8iJ,GACAA,EAAA,YAAA,mFACAA,EAAA,YAAA,mHACAA,EAAA,YAAA,oJACAA,EAAA0vB,MAAA1vB,EAAA,aACAA,EAAA,aAAAA,EAAA,aACAA,EAAAu0B,OAAAv0B,EAAA,aACAA,EAAA,eAAAA,EAAA,aACAA,EAAA,eAAAA,EAAA,eCTA,SAAAhjJ,EAAAC,EAAAC,GACA,IAAA8iJ,EAAAhjJ,EAAA,KACA+2K,EAAA/2K,EAAA,KACAw3K,EAAAx3K,EAAA,KAOAy3K,EAAA,CAAA,SAAA,SAAA,SAAA,YA0BAx3K,EAAAC,QAjBA,SAAA8G,GACA,OAhBA,SAAAA,GACA,MAAA,iBAAAA,EAeA0wK,CAAA1wK,GAbA,SAAAA,GACA,OAAAA,KAAAg8I,EAcA20B,CAAA3wK,GACAg8I,EAAAh8I,GAZA,SAAAA,GACA,OAAAywK,EAAApuJ,KAAA,SAAAuuJ,GACA,OAAA5wK,EAAAigC,QAAA2wI,IAAA,IAYAC,CAAA7wK,GACA+vK,EAAA/vK,GAVA,SAAAA,GACA,MAAA,MAAAA,EAAA,GAWA8wK,CAAA9wK,GACAwwK,EAAAxwK,QADA,EAKAA,ICjCA,SAAAhH,EAAAC,EAAAC,GACA,IAAA63K,EAAA,oBACAC,EAAAh4K,EAAA,KACAk3B,EAAAl3B,EAAA,KACAC,EAAAC,QAAA,SAAA+3K,GACA,IAWAC,EAAAC,EAAAC,EAXAjxE,EAAA,GACAkxE,EAAAJ,EAAA3pK,MAAA,KAAA7B,IAAA,SAAAoT,GACA,OAAAA,EAAA03I,SACAxqJ,OAAA,SAAAuF,GACA,OAAAA,IACAg0B,OAAA,SAAA32B,EAAA2C,GACA,IAAAhE,EAAAgE,EAAAhE,MAAA,KAGA,OAFAA,EAAAhB,MAAA,GACAqC,EAAArB,EAAA,GAAA0iC,eAAA1iC,EAAA,GACAqB,GACA,IAEA+gC,EAAA,CACAorB,KAAA,WACA4wG,MAAA,YACAa,GAAA,SAAA1tJ,GACAsnF,EAAAomE,GAAAr9J,WAAA2P,IAEAy4J,MAAA,SAAAz4J,GACAsnF,EAAAoxE,KAAA14J,EAAAk4J,GAEAS,MAAA,SAAA34J,GACAsnF,EAAAsxE,KAAA54J,EAAAk4J,GAEAW,MAAA,SAAA74J,GACAsnF,EAAAwxE,KAAA94J,EAAAk4J,GAEAa,OAAA,SAAA/4J,GACAsnF,EAAAyxE,OAAA/4J,EAAAk4J,GAEAc,MAAA,SAAAh5J,GACAsnF,EAAA2xE,MAAAj5J,EAAAk4J,GAEAgB,MAAA,SAAAl5J,GACAsnF,EAAA6xE,MAAAn5J,EAAAk4J,GAEAkB,MAAA,SAAAp5J,GACAsnF,EAAA+xE,MAAAr5J,EAAAk4J,GAEAnnI,MAAA,SAAA/wB,GACAsnF,EAAAv2D,MAAA1gC,WAAA2P,GAAAk4J,GAEAoB,KAAA,SAAAt5J,GACAsnF,EAAAiyE,MAAAv5J,EAAAk4J,GAEAsB,IAAA,SAAAx5J,GACAsnF,EAAArjF,GAAA5T,WAAA2P,IAEAy5J,IAAA,SAAAz5J,GACAsnF,EAAApjF,GAAA7T,WAAA2P,IAEA05J,IAAA,SAAA15J,GACAsnF,EAAAimE,GAAAl9J,WAAA2P,IAEAe,EAAA,SAAAf,GACAsnF,EAAAimE,GAAAl9J,WAAA2P,IAEAvN,EAAA,SAAAuN,GACAsnF,EAAA70F,EAAApC,WAAA2P,IAEAgE,EAAA,SAAAhE,GACAsnF,EAAAtjF,EAAA3T,WAAA2P,IAEA25J,IAAA,WACAryE,EAAAumE,KAAA,GAEA+L,KAAA,SAAA55J,GACAsnF,EAAAsyE,KAAAjoI,SAAA3xB,EAAA,KAEA65J,MAAA,WACAvyE,EAAAwyE,UAAA,GAEA1M,QAAA,SAAAptJ,GACAsnF,EAAA6lE,aAAAntJ,EAAAvR,MAAA,KAAA7B,IAAA,SAAA6F,GACA,OAAApC,WAAAoC,MAGAmhK,SAAA,SAAA5zJ,GACAsnF,EAAAssE,SAAAvjK,WAAA2P,IAEAqX,MAAA,SAAArX,GACAsnF,EAAAjwE,MAAArX,EACAqX,EAAArX,KACAsnF,EAAAssE,SAAAv8I,EAAArX,GAAA4zJ,WAGAmG,eAAA,SAAA/5J,GACAsnF,EAAAyyE,eAAA/5J,EAAAk4J,GAEA8B,GAAA,SAAAh6J,GACAsnF,EAAAyyE,gBAAA5B,EAAAn4J,GAAAm4J,EAAAn4J,GAAA3P,WAAA2P,IAAAk4J,GAEA3I,SAAA,SAAAvvJ,GACA,UAAAA,EACAsnF,EAAA2lE,UAAA,OAGA3lE,EAAAioE,SAAAvvJ,GAGAwtJ,KAAA,SAAAxtJ,GAEA,IAAAA,EAAArc,SAAA,IADA,SACAyjC,QAAApnB,EAAAu7B,OAAA,EAAA,MAAA,IADA,SACAnU,QAAApnB,EAAAu7B,OAAA,EAAA,MAAA,IADA,SACAnU,QAAApnB,EAAAu7B,OAAA,EAAA,MACA+rD,EAAAkmE,KAAAxtJ,KAIA,IAAAq4J,KAAAG,EACAF,EAAAE,EAAAH,GACAA,KAAAxnI,EAEA,mBADA0nI,EAAA1nI,EAAAwnI,IAEAE,EAAAD,GAGAhxE,EAAAixE,GAAAD,EAIAhxE,EAAA+wE,GAAAC,EAMA,MAHA,iBAAAhxE,EAAA2lE,WAAA,UAAA3lE,EAAA2lE,YACA3lE,EAAA2lE,UAAA3lE,EAAA2lE,UAAA97H,eAEAm2D,IClIA,SAAAnnG,EAAAC,EAAAC,GACA,IAAA45K,EAAA,CACA95K,EAAA,KACAA,EAAA,MAEAyd,EAAA,GACAs8J,EAAA,GACA,SAAA7rK,EAAA4tD,EAAAvpD,GACA,IAAAg3B,EAAAwwI,EAAAv2K,OACA,OAAAs4D,EAAAr+C,OAIAs8J,EAAAxwI,GAAAuyB,EACAA,EAAAr+C,MAAA8gB,QAAA,SAAAqJ,GACAnqB,EAAAmqB,EAAAoJ,eAAAzH,IAEAjnC,OAPAnB,QAAAmzB,IAAA/hB,IACA,GAQArS,EAAAgO,IAAAA,EACAhO,EAAAsV,IAAA,SAAA/U,GACA,IAAAA,EACA,OAAA,EAEA,IAAAmnC,EAAAnnC,EAAAuwC,cACA,YAAA,IAAAvzB,EAAAmqB,IAAAmyI,EAAAt8J,EAAAmqB,IACAmyI,EAAAt8J,EAAAmqB,SADA,GAIA1nC,EAAAmsB,MAAA,WACAytJ,EAAAv7I,QAAArwB,KC9BA,SAAAlO,EAAAC,EAAAC,GAIA,SAAA85K,EAAA7hG,GACA,OAAAA,EAJAj4E,EAAA+0B,KAAA,aAMA/0B,EAAAk2C,QAAA4jI,EACA95K,EAAAukF,QAAAu1F,EACA95K,EAAAud,MAAA,CAAA,UAAA,aCTA,SAAAzd,EAAAC,EAAAC,GACA,IAAA+5K,EAAAj6K,EAAA,KACAyuK,EAAA78J,KAAA0e,GAAA,EAEA4pJ,EAAA,kBACAC,EAAAn6K,EAAA,KACAo6K,EAAAxoK,KAAA0e,GAAA,EACA+pJ,EAAAr6K,EAAA,KACAs6K,EAAAt6K,EAAA,KACAE,EAAA+0B,KAAA,WACA,IAAAu5I,EAAAlsK,KAAAuhB,EAAAvhB,KAAAgQ,EACAhQ,KAAAsrK,GAAA,EAAAY,EAAAA,EACA,OAAAlsK,OACAA,KAAAwhB,GAAA,GAEA,OAAAxhB,OACAA,KAAAyhB,GAAA,GAEAzhB,KAAAqE,EAAAiL,KAAAsT,KAAA5iB,KAAAsrK,IACAtrK,KAAAs2K,OACAt2K,KAAAgrK,OACAhrK,KAAA8qK,GAAAx7J,KAAAsS,IAAA5hB,KAAAs2K,QAGAt2K,KAAA8qK,GAAA6M,EAAA33K,KAAAqE,EAAAiL,KAAAuS,IAAA7hB,KAAAs2K,QAAAhnK,KAAAsS,IAAA5hB,KAAAs2K,SAIAt2K,KAAA8qK,KACA9qK,KAAAse,EACAte,KAAA8qK,GAAA9qK,KAAAse,EAGAte,KAAA8qK,GAAA,IAOAltK,EAAAk2C,QAAA,SAAAzmC,GACA,IAMA5E,EAAAC,EANA8qC,EAAAnmC,EAAA5E,EACAgrC,EAAApmC,EAAA3E,EAEA,GAAA+qC,EAAAmkI,EAAA,IAAAnkI,EAAAmkI,GAAA,IAAApkI,EAAAokI,EAAA,KAAApkI,EAAAokI,GAAA,IACA,OAAA,KAGA,GAAAtoK,KAAAsd,IAAAtd,KAAAsd,IAAA6mB,GAAA04H,IA7CA,MA8CA,OAAA,KAGA,GAAAnsK,KAAAgrK,OACAviK,EAAAzI,KAAAwhB,GAAAxhB,KAAAgQ,EAAAhQ,KAAA8qK,GAAA+M,EAAArkI,EAAAxzC,KAAAw2K,OACA9tK,EAAA1I,KAAAyhB,GAAAzhB,KAAAgQ,EAAAhQ,KAAA8qK,GAAAx7J,KAAA0iB,IAAA1iB,KAAAwwC,IAAAg4H,EAAA,GAAArkI,QAEA,CACA,IAAAu4H,EAAA18J,KAAAuS,IAAA4xB,GACA24H,EAAA2L,EAAA/3K,KAAAqE,EAAAovC,EAAAu4H,GACAvjK,EAAAzI,KAAAwhB,GAAAxhB,KAAAgQ,EAAAhQ,KAAA8qK,GAAA+M,EAAArkI,EAAAxzC,KAAAw2K,OACA9tK,EAAA1I,KAAAyhB,GAAAzhB,KAAAgQ,EAAAhQ,KAAA8qK,GAAAx7J,KAAA0iB,IAAAo6I,GAIA,OAFA/+J,EAAA5E,EAAAA,EACA4E,EAAA3E,EAAAA,EACA2E,GAKAzP,EAAAukF,QAAA,SAAA90E,GACA,IAEAmmC,EAAAC,EAFAhrC,EAAA4E,EAAA5E,EAAAzI,KAAAwhB,GACA9Y,EAAA2E,EAAA3E,EAAA1I,KAAAyhB,GAEA,GAAAzhB,KAAAgrK,OACAv3H,EAAA04H,EAAA,EAAA78J,KAAAk9J,KAAAl9J,KAAAqzG,KAAAj6G,GAAA1I,KAAAgQ,EAAAhQ,KAAA8qK,UAEA,CACA,IAAAsB,EAAA98J,KAAAqzG,KAAAj6G,GAAA1I,KAAAgQ,EAAAhQ,KAAA8qK,KAEA,IAAA,QADAr3H,EAAAukI,EAAAh4K,KAAAqE,EAAA+nK,IAEA,OAAA,KAMA,OAHA54H,EAAAqkI,EAAA73K,KAAAw2K,MAAA/tK,GAAAzI,KAAAgQ,EAAAhQ,KAAA8qK,KACAz9J,EAAA5E,EAAA+qC,EACAnmC,EAAA3E,EAAA+qC,EACApmC,GAEAzP,EAAAud,MAAA,CAAA,WAAA,wCAAA,eAAA,4BAAA,SCxFA,SAAAzd,EAAAC,EAAAC,GACA,IAAA63K,EAAA,oBACAmC,EAAA,kBACAhG,EAAA,EACAC,EAAA,EACAoG,EAAAv6K,EAAA,KACAw6K,EAAAx6K,EAAA,KACA87D,EAAA97D,EAAA,KACAy6K,EAAAz6K,EAAA,KAIAC,EAAAC,QAAA,SAAA6d,EAAAiE,EAAA+yB,EAAAsgD,GACA,IAAA1/C,EA4DA,OA3DA5jC,MAAAxD,QAAA8mF,KACAA,EAAAolF,EAAAplF,IAGArzE,EAAA0qJ,OAAA33H,EAAA23H,OATA,SAAA1qJ,EAAA+yB,GACA,OAAA/yB,EAAA0qJ,MAAA6H,aAAAL,GAAAlyJ,EAAA0qJ,MAAA6H,aAAAJ,IAAA,UAAAp/H,EAAA+3H,YAAA/3H,EAAA23H,MAAA6H,aAAAL,GAAAn/H,EAAA23H,MAAA6H,aAAAJ,IAAA,UAAAnyJ,EAAA8qJ,UAQA4N,CAAA14J,EAAA+yB,KACAY,EAAA,IAAAmmB,EAAA,SACAu5B,EAAAt3E,EAAAiE,EAAA2zB,EAAA0/C,GACArzE,EAAA2zB,GAGA,QAAA3zB,EAAAqrJ,OACAh4E,EAAAmlF,EAAAx4J,GAAA,EAAAqzE,IAGA,YAAArzE,EAAA6qJ,SACAx3E,EAAA,CACAtqF,EAAAsqF,EAAAtqF,EAAAgtK,EACA/sK,EAAAqqF,EAAArqF,EAAA+sK,IAIA/1J,EAAAyxJ,WACAp+E,EAAA,CACAtqF,EAAAsqF,EAAAtqF,EAAAiX,EAAAyxJ,SACAzoK,EAAAqqF,EAAArqF,EAAAgX,EAAAyxJ,WAGAp+E,EAAArzE,EAAAyiE,QAAA4Q,IAGArzE,EAAA43J,iBACAvkF,EAAAtqF,GAAAiX,EAAA43J,gBAGAvkF,EAAAklF,EAAAv4J,EAAA0qJ,MAAA33H,EAAA23H,MAAAr3E,GAEAtgD,EAAA6kI,iBACAvkF,EAAA,CACAtqF,EAAAsqF,EAAAtqF,EAAAgqC,EAAA4lI,eACA3vK,EAAAqqF,EAAArqF,IAGA,YAAA+pC,EAAA83H,SAEAx3E,EAAA,CACAtqF,EAAAsqF,EAAAtqF,EAAAmvK,EACAlvK,EAAAqqF,EAAArqF,EAAAkvK,IAIA7kF,EAAAtgD,EAAAqB,QAAAi/C,GACAtgD,EAAA0+H,WACAp+E,EAAA,CACAtqF,EAAAsqF,EAAAtqF,EAAAgqC,EAAA0+H,SACAzoK,EAAAqqF,EAAArqF,EAAA+pC,EAAA0+H,YAKA,QAAA1+H,EAAAs4H,KACAmN,EAAAzlI,GAAA,EAAAsgD,GAEAA,IC5EA,SAAAr1F,EAAAC,EAAAC,GACA,IAAA63K,EAAA,oBACA59I,EAAAn6B,EAAA,KACA,SAAA46K,EAAA99J,EAAAnO,EAAAkR,GACA/C,EAAAnO,GAAAkR,EAAApT,IAAA,SAAAouK,GACA,IAAAv9B,EAAA,GAEA,OADAw9B,EAAAD,EAAAv9B,GACAA,IACAh3G,OAAA,SAAAh0B,EAAAuR,GACA,OAAAsW,EAAA7nB,EAAAuR,IACA,IAEA,SAAAi3J,EAAAj7J,EAAA/C,GACA,IAAAnO,EACAoD,MAAAxD,QAAAsR,IAMA,eADAlR,EAAAkR,EAAAgpI,WAEAl6I,EAAAkR,EAAAgpI,SAEA,IAAAhpI,EAAArc,OACAuO,MAAAxD,QAAAsR,EAAA,KACA/C,EAAAnO,GAAA,GACAmsK,EAAAj7J,EAAA,GAAA/C,EAAAnO,KAGAmO,EAAAnO,GAAAkR,EAAA,GAGAA,EAAArc,OAGA,YAAAmL,EACAmO,EAAAnO,GAAAkR,GAGA/C,EAAAnO,GAAA,GACA,CAAA,OAAA,SAAA,cAAAs4B,QAAAt4B,IAAA,GACAmO,EAAAnO,GAAA,CACAlO,KAAAof,EAAA,GAAAmxB,cACA+pI,QAAAl7J,EAAA,IAEA,IAAAA,EAAArc,SACAsZ,EAAAnO,GAAAqsK,KAAAn7J,EAAA,KAGA,aAAAlR,GACAmO,EAAAnO,GAAA,CACAlO,KAAAof,EAAA,GACAvN,EAAAuN,EAAA,GACA0tJ,GAAA1tJ,EAAA,IAEA,IAAAA,EAAArc,SACAsZ,EAAAnO,GAAAqsK,KAAAn7J,EAAA,KAGA,CAAA,SAAA,SAAA,QAAA,UAAA,WAAA,WAAA,YAAA,eAAAonB,QAAAt4B,IAAA,GACAkR,EAAA,GAAA,CAAA,OAAAA,EAAA,IACA+6J,EAAA99J,EAAAnO,EAAAkR,IAEAA,EAAA6mB,MAAA,SAAAm0I,GACA,OAAA9oK,MAAAxD,QAAAssK,KAEAD,EAAA99J,EAAAnO,EAAAkR,GAGAi7J,EAAAj7J,EAAA/C,EAAAnO,KApCAmO,EAAAnO,IAAA,GAlBAmO,EAAA+C,IAAA,EAqEA,SAAAo7J,EAAAtoK,GACA,OAAAA,EAAAolK,EAwHA93K,EAAAC,QAAA,SAAA62K,EAAA5vE,GACA,IAAA+zE,EAAA5yK,KAAAsvC,OAAA,IAAAm/H,GAAAxmI,QAAA,6BAAA,WAAAxJ,MAAA,GAAAwJ,QAAA,2BAAA,UAAAA,QAAA,gBAAA,KACA10B,EAAAq/J,EAAAryB,QACApoJ,EAAAy6K,EAAAryB,QACAqyB,EAAAC,QAAA,CAAA,OAAA16K,IACAy6K,EAAAC,QAAA,CAAA,OAAAt/J,IACAq/J,EAAAC,QAAA,UACA,IAAAr+J,EAAA,GAGA,OAFAg+J,EAAAI,EAAAp+J,GA9HA,SAAAi6J,GA8EA,SAAAqE,EAAAzoK,GACA,IAAA6jG,EAAAugE,EAAAtD,UAAA,EACA,OAAAvjK,WAAAyC,EAAA,IAAA6jG,EA/EA,WAAAugE,EAAAl7J,KACAk7J,EAAAlK,SAAA,UAEA,aAAAkK,EAAAl7J,MACAk7J,EAAAlK,SAAA,WACAkK,EAAAjnB,OAAA,GAGA,iBAAAinB,EAAAsE,WACAtE,EAAAlK,SAAAvrK,OAAAC,KAAAw1K,EAAAsE,YAAA,GAGAtE,EAAAlK,SAAAkK,EAAAsE,WAGAtE,EAAAuE,OACAvE,EAAA7/I,MAAA6/I,EAAAuE,KAAA76K,KAAAuwC,cACA,UAAA+lI,EAAA7/I,QACA6/I,EAAA7/I,MAAA,SAEA6/I,EAAAuE,KAAAP,UACA,WAAAhE,EAAAl7J,KACAk7J,EAAAwE,OAAAxE,EAAAwE,MAAAC,WACAzE,EAAAtD,SAAAvjK,WAAA6mK,EAAAuE,KAAAP,QAAA,IAAAhE,EAAAwE,MAAAC,SAAAlpK,GAIAykK,EAAAtD,SAAAvjK,WAAA6mK,EAAAuE,KAAAP,QAAA,MAIAhE,EAAA0E,SAIA1E,EAAA0E,OAAAF,MACAxE,EAAAjK,UAAAiK,EAAA0E,OAAAF,MAAA96K,KAAAuwC,cAGA+lI,EAAAjK,UAAAiK,EAAA0E,OAAAh7K,KAAAuwC,cAEA,OAAA+lI,EAAAjK,UAAA/lI,MAAA,EAAA,KACAgwI,EAAAjK,UAAAiK,EAAAjK,UAAA/lI,MAAA,IAEA,oCAAAgwI,EAAAjK,WAAA,qBAAAiK,EAAAjK,YACAiK,EAAAjK,UAAA,UAEA,aAAAiK,EAAAjK,YACA,8BAAAiK,EAAAsE,aACAtE,EAAAzJ,QAAA,GAEAyJ,EAAAjK,UAAA,SAEA,WAAAiK,EAAAjK,UAAA/lI,OAAA,KACAgwI,EAAAjK,UAAAiK,EAAAjK,UAAA/lI,MAAA,GAAA,IAEA,aAAAgwI,EAAAjK,UAAA/lI,OAAA,KACAgwI,EAAAjK,UAAAiK,EAAAjK,UAAA/lI,MAAA,GAAA,KAEAgwI,EAAAjK,UAAA7lI,QAAA,WACA8vI,EAAAjK,UAAA,SAEAiK,EAAA0E,OAAAF,OAAAxE,EAAA0E,OAAAF,MAAAC,WACAzE,EAAA7J,MAAA6J,EAAA0E,OAAAF,MAAAC,SAAA/6K,KAAA8vC,QAAA,MAAA,IAAAA,QAAA,gBAAA,QACA,kBAAAwmI,EAAA7J,MAAAl8H,cAAAjK,MAAA,EAAA,MACAgwI,EAAA7J,MAAA,QAEA6J,EAAAzkK,EAAAykK,EAAA0E,OAAAF,MAAAC,SAAAlpK,EACAykK,EAAAxJ,GAAAr9J,WAAA6mK,EAAA0E,OAAAF,MAAAC,SAAAjO,GAAA,MAEAwJ,EAAAjK,UAAA7lI,QAAA,eACA8vI,EAAAjK,UAAA,WAGAiK,EAAAlzJ,IAAAmkC,SAAA+uH,EAAAlzJ,KACAkzJ,EAAAlzJ,EAAAkzJ,EAAAzkK,GASA,CACA,CAAA,sBAAA,uBACA,CAAA,sBAAA,uBACA,CAAA,gBAAA,iBACA,CAAA,iBAAA,kBACA,CAAA,mBAAA,oBACA,CAAA,qBAAA,sBACA,CAAA,qBAAA,oBACA,CAAA,eAAA,gBACA,CAAA,KAAA,gBACA,CAAA,qBAAA,sBACA,CAAA,OAAA,qBAAA2oK,GACA,CAAA,sBAAA,uBACA,CAAA,QAAA,sBAAAA,GACA,CAAA,KAAA,gBAAAG,GACA,CAAA,KAAA,iBAAAA,GACA,CAAA,QAAA,mBAAAH,GACA,CAAA,OAAA,qBAAAA,GACA,CAAA,OAAA,sBAAAA,GACA,CAAA,OAAA,sBAAAA,GACA,CAAA,OAAA,sBAAAA,GACA,CAAA,QAAA,UAAAA,GACA,CAAA,UAAA,SAEA18I,QA3BA,SAAAjsB,GACA,OAhGAwK,EAgGAi6J,EA/FA2E,GADAhrI,EAgGAp+B,GA/FA,GACAqpK,EAAAjrI,EAAA,UACAgrI,KAAA5+J,IAAA6+J,KAAA7+J,IACAA,EAAA4+J,GAAA5+J,EAAA6+J,GACA,IAAAjrI,EAAAltC,SACAsZ,EAAA4+J,GAAAhrI,EAAA,GAAA5zB,EAAA4+J,OANA,IAAA5+J,EAAA4zB,EACAgrI,EACAC,IAyHA5E,EAAA+B,QAAA/B,EAAAqC,OAAA,4BAAArC,EAAAlK,UAAA,iCAAAkK,EAAAlK,WACAkK,EAAA+B,MAAA/B,EAAAqC,OAEArC,EAAA6B,SAAA7B,EAAA0B,MAAA,6BAAA1B,EAAAlK,UAAA,oCAAAkK,EAAAlK,WACAkK,EAAAwB,KAAA0C,EAAAlE,EAAA0B,KAAA,EAAA,IAAA,IACA1B,EAAA6B,OAAA7B,EAAA0B,MAYAmD,CAAA9+J,EAAAk2B,QACA7Y,EAAAgtE,EAAArqF,EAAAk2B,UCvNA,SAAAhzC,EAAAC,EAAAC,IAEA,WACA,aACA,IAAA27K,EAAA,CACAC,WAAA,OACAC,SAAA,OACAC,SAAA,OACAC,cAAA,OACA/iC,OAAA,UACAgjC,YAAA,eACA/nH,KAAA,MACAgoH,SAAA,OACA/2K,KAAA,YACAg3K,OAAA,WACAC,YAAA,2FACA1tK,IAAA,sBACA2tK,WAAA,wBACAC,aAAA,aACAl3B,KAAA,SAEA,SAAAjgG,EAAAz2C,GAEA,OAKA,SAAA6tK,EAAAC,GACA,IAAAj6I,EAAAjwB,EAAAqO,EAAA87J,EAAAC,EAAAC,EAAAC,EAAAC,EAAAz3B,EAAApuI,EAAA,EAAA8lK,EAAAP,EAAAh5K,OAAAwvC,EAAA,GACA,IAAAzgC,EAAA,EAAAA,EAAAwqK,EAAAxqK,IACA,GAAA,iBAAAiqK,EAAAjqK,GACAygC,GAAAwpI,EAAAjqK,QAEA,GAAA,iBAAAiqK,EAAAjqK,GAAA,CAEA,IADAmqK,EAAAF,EAAAjqK,IACAhR,KAEA,IADAihC,EAAAi6I,EAAAxlK,GACA2J,EAAA,EAAAA,EAAA87J,EAAAn7K,KAAAiC,OAAAod,IAAA,CACA,GAAA1F,MAAAsnB,EACA,MAAA,IAAA7hC,MAAAykD,EAAA,gEAAAs3H,EAAAn7K,KAAAqf,GAAA87J,EAAAn7K,KAAAqf,EAAA,KAEA4hB,EAAAA,EAAAk6I,EAAAn7K,KAAAqf,SAIA4hB,EADAk6I,EAAAM,SACAP,EAAAC,EAAAM,UAGAP,EAAAxlK,KAKA,GAHA4kK,EAAAG,SAAAlrI,KAAA4rI,EAAA7gK,OAAAggK,EAAAI,cAAAnrI,KAAA4rI,EAAA7gK,OAAA2mB,aAAA64C,WACA74C,EAAAA,KAEAq5I,EAAAK,YAAAprI,KAAA4rI,EAAA7gK,OAAA,iBAAA2mB,GAAAqhD,MAAArhD,GACA,MAAA,IAAApP,UAAAgyB,EAAA,0CAAA5iB,IAKA,OAHAq5I,EAAA3iC,OAAApoG,KAAA4rI,EAAA7gK,QACAihK,EAAAt6I,GAAA,GAEAk6I,EAAA7gK,MACA,IAAA,IACA2mB,EAAAgP,SAAAhP,EAAA,IAAA37B,SAAA,GACA,MACA,IAAA,IACA27B,EAAAvM,OAAAsiB,aAAA/G,SAAAhP,EAAA,KACA,MACA,IAAA,IACA,IAAA,IACAA,EAAAgP,SAAAhP,EAAA,IACA,MACA,IAAA,IACAA,EAAAl6B,KAAAC,UAAAi6B,EAAA,KAAAk6I,EAAA/qK,MAAA6/B,SAAAkrI,EAAA/qK,OAAA,GACA,MACA,IAAA,IACA6wB,EAAAk6I,EAAAj8F,UAAAvwE,WAAAsyB,GAAA4+C,cAAAs7F,EAAAj8F,WAAAvwE,WAAAsyB,GAAA4+C,gBACA,MACA,IAAA,IACA5+C,EAAAk6I,EAAAj8F,UAAAvwE,WAAAsyB,GAAA6+C,QAAAq7F,EAAAj8F,WAAAvwE,WAAAsyB,GACA,MACA,IAAA,IACAA,EAAAk6I,EAAAj8F,UAAAxqD,OAAAJ,OAAA2M,EAAAy6I,YAAAP,EAAAj8F,aAAAvwE,WAAAsyB,GACA,MACA,IAAA,IACAA,GAAAgP,SAAAhP,EAAA,MAAA,GAAA37B,SAAA,GACA,MACA,IAAA,IACA27B,EAAAvM,OAAAuM,GACAA,EAAAk6I,EAAAj8F,UAAAj+C,EAAAmO,UAAA,EAAA+rI,EAAAj8F,WAAAj+C,EACA,MACA,IAAA,IACAA,EAAAvM,SAAAuM,GACAA,EAAAk6I,EAAAj8F,UAAAj+C,EAAAmO,UAAA,EAAA+rI,EAAAj8F,WAAAj+C,EACA,MACA,IAAA,IACAA,EAAAlhC,OAAA4B,UAAA2D,SAAAsD,KAAAq4B,GAAAuE,MAAA,GAAA,GAAAiK,cACAxO,EAAAk6I,EAAAj8F,UAAAj+C,EAAAmO,UAAA,EAAA+rI,EAAAj8F,WAAAj+C,EACA,MACA,IAAA,IACAA,EAAAgP,SAAAhP,EAAA,MAAA,EACA,MACA,IAAA,IACAA,EAAAA,EAAAivH,UACAjvH,EAAAk6I,EAAAj8F,UAAAj+C,EAAAmO,UAAA,EAAA+rI,EAAAj8F,WAAAj+C,EACA,MACA,IAAA,IACAA,GAAAgP,SAAAhP,EAAA,MAAA,GAAA37B,SAAA,IACA,MACA,IAAA,IACA27B,GAAAgP,SAAAhP,EAAA,MAAA,GAAA37B,SAAA,IAAAixJ,cAGA+jB,EAAA1nH,KAAArjB,KAAA4rI,EAAA7gK,MACAm3B,GAAAxQ,IAGAq5I,EAAA3iC,OAAApoG,KAAA4rI,EAAA7gK,OAAAihK,IAAAJ,EAAAr3B,KAKAA,EAAA,IAJAA,EAAAy3B,EAAA,IAAA,IACAt6I,EAAAA,EAAA37B,WAAA0pC,QAAAsrI,EAAAx2B,KAAA,KAKAu3B,EAAAF,EAAAQ,SAAA,MAAAR,EAAAQ,SAAA,IAAAR,EAAAQ,SAAA5vF,OAAA,GAAA,IACAuvF,EAAAH,EAAA/qK,OAAA0zI,EAAA7iH,GAAAh/B,OACAm5K,EAAAD,EAAA/qK,OAAAkrK,EAAA,EAAAD,EAAA7lJ,OAAA8lJ,GAAA,GACA7pI,GAAA0pI,EAAA1yJ,MAAAq7H,EAAA7iH,EAAAm6I,EAAA,MAAAC,EAAAv3B,EAAAs3B,EAAAn6I,EAAAm6I,EAAAt3B,EAAA7iH,GAIA,OAAAwQ,EA3GAmqI,CA8GA,SAAA55F,GACA,GAAA65F,EAAA75F,GACA,OAAA65F,EAAA75F,GAGA,IADA,IAAAhyC,EAAA8rI,EAAA95F,EAAAi5F,EAAA,GAAAc,EAAA,EACAD,GAAA,CACA,GAAA,QAAA9rI,EAAAsqI,EAAAz2K,KAAAi4I,KAAAggC,IACAb,EAAAlvK,KAAAikC,EAAA,SAEA,GAAA,QAAAA,EAAAsqI,EAAAO,OAAA/+B,KAAAggC,IACAb,EAAAlvK,KAAA,SAEA,CAAA,GAAA,QAAAikC,EAAAsqI,EAAAQ,YAAAh/B,KAAAggC,IA0CA,MAAA,IAAAE,YAAA,oCAzCA,GAAAhsI,EAAA,GAAA,CACA+rI,GAAA,EACA,IAAAE,EAAA,GAAAC,EAAAlsI,EAAA,GAAAmsI,EAAA,GACA,GAAA,QAAAA,EAAA7B,EAAAltK,IAAA0uI,KAAAogC,IAeA,MAAA,IAAAF,YAAA,gDAbA,IADAC,EAAAlwK,KAAAowK,EAAA,IACA,MAAAD,EAAAA,EAAA9sI,UAAA+sI,EAAA,GAAAl6K,UACA,GAAA,QAAAk6K,EAAA7B,EAAAS,WAAAj/B,KAAAogC,IACAD,EAAAlwK,KAAAowK,EAAA,QAEA,CAAA,GAAA,QAAAA,EAAA7B,EAAAU,aAAAl/B,KAAAogC,IAIA,MAAA,IAAAF,YAAA,gDAHAC,EAAAlwK,KAAAowK,EAAA,IAUAnsI,EAAA,GAAAisI,OAGAF,GAAA,EAEA,GAAA,IAAAA,EACA,MAAA,IAAA38K,MAAA,6EAEA67K,EAAAlvK,KAAA,CACA+uK,YAAA9qI,EAAA,GACAyrI,SAAAzrI,EAAA,GACAhwC,KAAAgwC,EAAA,GACA8zG,KAAA9zG,EAAA,GACA2rI,SAAA3rI,EAAA,GACAvnB,MAAAunB,EAAA,GACA5/B,MAAA4/B,EAAA,GACAkvC,UAAAlvC,EAAA,GACA11B,KAAA01B,EAAA,KAMA8rI,EAAAA,EAAA1sI,UAAAY,EAAA,GAAA/tC,QAEA,OAAA45K,EAAA75F,GAAAi5F,EAxKAmB,CAAAhvK,GAAA7E,WAEA,SAAA8zK,EAAAr6F,EAAAk5F,GACA,OAAAr3H,EAAAv7C,MAAA,KAAA,CAAA05E,GAAAtxE,OAAAwqK,GAAA,KA0GA,IAAAW,EAAA97K,OAAAiE,OAAA,WAiEA,IAAArF,IACAA,EAAA,QAAAklD,EACAllD,EAAA,SAAA09K,GAEA,oBAAAtpK,SACAA,OAAA,QAAA8wC,EACA9wC,OAAA,SAAAspK,GAzMA,ICFA,SAAA59K,EAAAC,EAAAC,IACA,SAAA29K,GACA,iBAAA59K,GAAAA,EAAAC,QACAD,EAAAC,QAAA29K,IAIAv7K,KAAA6iD,GAAA04H,IANA,CAOA,WASA,SAAAC,EAAAnvB,EAAAovB,EAAArpD,GACA,IAAAspD,EAAA7sD,EAAA4sD,EAAArsD,IAAA,GACA,GACAssD,EAAA,IAAA3xI,KAAAA,KAAAsoF,IAAAD,EAAAqpD,EAAAhqD,MAAAniH,KAAAsd,IAAAiiG,aACA4sD,EAAArsD,IAAA,GAAA,GAAAssD,EAAAC,aAAAF,EAAArsD,IAAA,IAeA,OAdAssD,EAAA,CACAE,MAAAH,EAAAG,MACA51I,KAAA01I,EAAAlsD,UACAisD,KAAAA,EACA7/G,KAAA,IAAA6/G,EAAA7/G,KACA7pD,OAAAs6I,EAAAt6I,SAEA2pK,EAAAE,OAAAF,EAAA11I,KAAA,IAAAy1I,EAAA/Y,KACAgZ,EAAAG,MACAH,EAAAI,UAAAJ,EAAAA,EAAAE,QAAAvvB,EAAAt6I,OAAA0pK,EAAAM,OAGAL,EAAAG,MAAAH,EAAAA,EAAAE,QAAAvvB,EAAAt6I,OAAA0pK,EAAAM,OAEAL,EAEA,SAAAhgJ,EAAAsgJ,EAAAJ,EAAAlZ,GACA,IAAAzyJ,EAAAgsK,EAAA5vB,EAAA6vB,EAAAC,EAAAC,EAAA72I,EAAA4xI,EAAA6E,EAAAA,EAAA7E,MAAAuE,EAAA,GAAAtpD,EAAA,IAAAroF,KAAA24H,GAAApxC,iBAAAz/F,EAAA,EACA,IAAA5hB,EAAA,EAAAgsK,EAAA9E,EAAAj2K,OAAA+O,EAAAgsK,KACA9E,EAAAlnK,GAAA2rK,IAAAlZ,GADAzyJ,KAIA,IADAo8I,EAAA8qB,EAAAlnK,IACAmsK,MAAA,CAEA,IADAA,EAAAJ,EAAA3vB,EAAA+vB,OACA72I,EAAA6sF,EAAA,EAAA7sF,GAAA6sF,EAAAvgG,IAAA0T,EACA,IAAAt1B,EAAA,EAAAgsK,EAAAG,EAAAl7K,OAAA+O,EAAAgsK,EAAAhsK,IACAmsK,EAAAnsK,GAAAP,MAAA61B,GAAAA,GAAA62I,EAAAnsK,GAAAohK,GACAqK,EAAA1wK,KAAAwwK,EAAAnvB,EAAA+vB,EAAAnsK,GAAAs1B,IACA62I,EAAAnsK,GAAAohK,GAAA9rI,GAAA,GAAA1T,IACAA,EAAA0T,EAAA62I,EAAAnsK,GAAAohK,IAEA,IADAqK,EAAA11I,KAAA,SAAAh2B,EAAAuR,GAAA,OAAAvR,EAAAg2B,KAAAzkB,EAAAykB,OACA/1B,EAAA,EAAAgsK,EAAAP,EAAAx6K,OAAA+O,EAAAgsK,EAAAhsK,IACAyyJ,GAAAgZ,EAAAzrK,GAAA2rK,IAAAF,EAAAzrK,GAAAyrK,EAAAzrK,GAAA2rK,OAAAvvB,EAAAqvB,EAAAzrK,GAAA2rK,SACAM,EAAAR,EAAAzrK,IAWA,OARAisK,KACAC,EAAA,eAAAphC,KAAAsR,EAAAtpG,SACAm5H,EAAAC,OAAAA,EAAAD,EAAAtgH,KAAA,EAAA,GAGAsgH,EAAAC,OAAA9vB,EAAAtpG,OAAA9U,QAAA,KAAAiuI,EAAAT,KAAAY,SAGAH,GAAA7vB,EAEA,SAAAiwB,EAAAN,EAAAH,GACA,MAAA,OAAAG,EAAA7E,KACA0E,GACAG,EAAA3vB,MAAA3wH,EAAAsgJ,EAAA,QAAAH,GACAA,EAAAG,EAAA3vB,MAAAt6I,OAAAiqK,EAAA3vB,MAAAzwF,MAEA,SAAA2gH,EAAAP,EAAAF,GACA,MAAA,OAAAE,EAAA7E,KACA2E,GAEAE,EAAA3vB,MAAAA,EAAA3wH,EAAAsgJ,EAAA,YAAAF,GAEA,GADAnrI,EAAAmrI,EAAAzvB,EAAAyvB,YACAnrI,EAAA07G,EAAAzwF,KAAA,KAAAkgH,EAAAzvB,EAAAt6I,OAAAs6I,EAAAzwF,MAHA,IAAAywF,EAAA17G,EAKA,SAAA6rI,EAAAR,EAAAH,EAAA5sI,GACA,IACA4/E,EADA4tD,IAAAxtI,EAAA,GAAA,GACAl9B,EAAAk9B,EAAA,GAAAwtI,EAAA18I,EAAA28I,EAAA/3I,QAAAsK,EAAA,GAAAP,eACA,GAAA3O,EAAA,EACA87I,GAAA9pK,EAAA4qK,EAAA58I,EAAA,QAEA,CAEA,GADA8uF,EAAA,IAAA9kF,KAAAuyI,EAAAN,EAAAH,IACA97I,EAAA,EACA,KAAAhuB,GACA88G,EAAAS,WAAAT,EAAA+tD,aAAAH,GACA5tD,EAAA8sD,aAAA57I,IACAhuB,GAAA0qK,QAGA,GAAA18I,EACA8uF,EAAAwC,eAAAxC,EAAAyC,iBAAAv/G,GAEA,GAAAguB,EACA8uF,EAAAH,YAAAG,EAAAF,cAAA58G,GAGA88G,EAAAS,WAAAT,EAAA+tD,aAAA7qK,GAEA,OAAA8pK,EAAAU,EAAAP,EAAAntD,EAAAW,cACAqsD,EAAAU,EAAAP,EAAAntD,EAAAW,UAAA,MAAAitD,GAAA,MAAAA,GAGA,OAAAZ,EAsHA,IAAA5hJ,EAAA,CAAA2hJ,MAAA,WAAA,OAAA,IAAA7xI,MACAotI,KAAA,MACA9qB,MAAA,CAAA8vB,OAAA,MAAApqK,OAAA,EAAA6pD,KAAA,GACAy2D,IAAA,EACAjK,EAAA,SAAAyG,EAAAgtD,EAAAh4D,EAAAqkD,GACA,IAAAj4J,EAAAm4G,EAAAr2G,EAAA/R,KAAAqsJ,MAAAt6I,OAAA/R,KAAAqsJ,MAAAzwF,KAAA8jB,EAAApwE,KAAAsd,IAAA7a,EAAA,KAAA8qK,EAAA,GAAAC,EAAA,KACA,IAAA7sK,EAAA,EAAAA,EAAA,EAAAA,IACA4sK,EAAA7xK,MAAA,IAAAsE,KAAA64B,MAAAu3C,EAAAo9F,IAAAr4I,OAAA,IACAi7C,GAAAo9F,EACAA,GAAA,GAEA,MAAA,KAAAj5D,GAAA9xG,GAEA,KAAA8xG,IACAqkD,EAAA,GACA,GAAAA,GAEA9/C,GADAA,EAAAy0D,EAAA1qJ,KAAA,MACA8b,QAAA,OAAA,IACA,KAAA41E,IACAuE,EAAAA,EAAAn6E,QAAA,OAAA,MAEAi6H,GACA9/C,EAAAy0D,EAAAp4I,MAAA,EAAAyjI,EAAA,GAAA/1I,KAAA,KACA,KAAA0xF,IACAuE,EAAAA,EAAAn6E,QAAA,OAAA,MAGAm6E,EAAAy0D,EAAAp4I,MAAA,EAAA,GAAAtS,KAAA,IAGAi2F,GADAA,GAAAr2G,EAAA,EAAA,IAAA,KAAAq2G,GACAn6E,QAAA,YAAA,CAAA3oC,EAAA,MAAAy3K,IAAA,MAAAl5D,IAAA,SAlBA,KAqBAm5D,IAAA,SAAAnuD,GAAA,MAAA,KACAvpF,EAAA,SAAAupF,GAAA,MAAA,MACAluG,EAAA,SAAAkuG,GAAA,MAAA,MACAouD,EAAA,SAAApuD,GAAA,OAAAquD,EAAAruD,EAAA,IACAsuD,EAAA,SAAAtuD,GAAA,OAAAquD,EAAAruD,EAAA,IACAuuD,EAAA,SAAAvuD,GAAA,OAAAwuD,EAAAxuD,GAAA,IACA//E,EAAA,SAAA+/E,GAAA,OAAAwuD,EAAAxuD,GAAA,IACAjgF,EAAA,SAAAigF,GAAA,OAAAwuD,EAAAxuD,GAAA,GAAA,KACAtpF,EAAA,SAAAspF,GAAA,OAAAv/G,KAAA64B,OAAA0mF,EAAAW,UAAAzlF,KAAAsoF,IAAAxD,EAAAyC,iBAAA,IAAA,OAAA,GACAz4E,EAAA,SAAAg2E,GAAA,OAAAv/G,KAAA64B,MAAA0mF,EAAAW,UAAA,MACAztG,EAAA,SAAA8sG,GAAA,OAAAv/G,KAAA64B,MAAA0mF,EAAAyC,iBAAA,MACAvtB,EAAA,SAAA8qB,GAAA,OAAAA,EAAAW,UAAA,IAAA,KACAvhE,EAAA,SAAA4gE,GAAA,OAAAA,EAAAF,cAAA,GACA6kD,EAAA,SAAA3kD,GAAA,OAAAA,EAAAyC,kBACA5oH,EAAA,SAAAmmH,GAAA,OAAAA,EAAAyC,iBAAA,KACAgsD,EAAA,SAAAzuD,GAAA,OAAAA,EAAA0uD,eACAC,EAAA,SAAA3uD,GAAA,OAAAA,EAAA4uD,iBACAC,EAAA,SAAA7uD,GAAA,OAAAA,EAAA8uD,iBACAt5K,EAAA,SAAAwqH,GAAA,OAAAA,EAAA+tD,cACA9qI,EAAA,SAAA+8E,GAAA,OAAAA,EAAA+tD,cACAlnF,EAAA,SAAAm5B,GAAA,OAAAA,EAAA8sD,aAAA,GACAl7J,EAAA,SAAAouG,GAAA,OAAAA,EAAA8sD,aACAx0F,EAAA,SAAA0nC,GAAA,OAAAA,EAAA0uD,cAAA,IAAA,IACAtB,EAAA,SAAAptD,GAAA,OAAAA,EAAA0uD,cAAA,IAAA,IACAj/J,EAAA,SAAAuwG,GAAA,OAAAA,EAAA0uD,eACA9J,EAAA,SAAA5kD,GAAA,OAAA7uH,KAAAqsJ,MAAA8vB,QACAnsK,EAAA,SAAA6+G,GAAA,OAAA7uH,KAAAA,KAAA49K,QAAAxuD,IAAA+sD,OAAAttD,EAAA8sD,cACAj6J,EAAA,SAAAmtG,GAAA,OAAA7uH,KAAAA,KAAA49K,QAAAxuD,IAAAyuD,KAAAhvD,EAAA8sD,cACAhuI,EAAA,SAAAkhF,GAAA,OAAA7uH,KAAAA,KAAA49K,QAAAnsD,MAAA0qD,OAAAttD,EAAAF,gBACAptG,EAAA,SAAAstG,GAAA,OAAA7uH,KAAAA,KAAA49K,QAAAnsD,MAAA0qD,OAAAttD,EAAAF,gBACA7sG,EAAA,SAAA+sG,GAAA,OAAA7uH,KAAAA,KAAA49K,QAAAnsD,MAAAosD,KAAAhvD,EAAAF,gBACA8+B,EAAA,SAAA5+B,GAAA,OAAA7uH,KAAAA,KAAA49K,QAAAE,SAAAxuK,KAAA64B,MAAA0mF,EAAA0uD,cAAA,KAAA7uI,eACArhC,EAAA,SAAAwhH,GAAA,OAAA7uH,KAAAA,KAAA49K,QAAAE,SAAAxuK,KAAA64B,MAAA0mF,EAAA0uD,cAAA,MACA1uI,EAAA,SAAAggF,EAAAgtD,GAAA,OAAA77K,KAAAy4K,QAAA,CAAAoD,EAAA,WACA9kC,EAAA,SAAAloB,EAAAgtD,GAAA,OAAA77K,KAAAy4K,QAAA,CAAAoD,EAAA,cACAjqB,EAAA,SAAA/iC,EAAAgtD,GAAA,OAAA77K,KAAAy4K,QAAA,CAAAoD,EAAA,cACAkC,EAAA,SAAAlvD,EAAAgtD,GAAA,OAAA77K,KAAAy4K,QAAA,CAAAoD,EAAA,cACApzK,EAAA,SAAAomH,EAAAgtD,GAAA,OAAA77K,KAAAy4K,QAAA,CAAAoD,EAAA77K,KAAAA,KAAA49K,QAAA/uD,QACAhpG,EAAA,SAAAgpG,EAAAgtD,GAAA,OAAA77K,KAAAy4K,QAAA,CAAAoD,EAAA77K,KAAAA,KAAA49K,QAAAI,QAAA,cACA31E,EAAA,SAAAwmB,EAAAgtD,GAAA,OAAA77K,KAAAy4K,QAAA,CAAAoD,EAAA77K,KAAAA,KAAA49K,QAAAK,UACAn4J,EAAA,SAAA+oG,EAAAgtD,GAAA,OAAA77K,KAAAy4K,QAAA,CAAAoD,EAAA77K,KAAAA,KAAA49K,QAAAM,YACAzF,QA9LA,SAAA0F,GACA,IAAAA,EAAAj9K,OACA,MAAA,SACA,IAAA+O,EAAAgsK,EAAAmC,EAAAC,EAAAxvD,EAAAmtD,EAAAh9K,OAAAiE,OAAAjD,MAAAs+K,EAAA,GACA,IAAAruK,EAAA,EAAAA,EAAAkuK,EAAAj9K,OAAA+O,IAGA,GAFAouK,EAAAF,EAAAluK,GAEAR,MAAAxD,QAAAoyK,GACApuK,GAAAsxE,MAAA88F,EAAA,IAIAA,EAAA13I,OAAAp/B,MAAA42K,EAAA,CAAAluK,IAAA,GAAAN,OAAA0uK,IAHAxvD,EAAAwvD,OAMA,GAAA98F,MAAA88F,IAEA,GAAA,WADAD,SAAAC,IAEAA,EAAA15I,QAAA,KACAq3I,EAAAj5H,OAAAs7H,EAEApuK,GAAA,KAAAouK,GAGApuK,IAAAmuK,EAAA,+GAAArjC,KAAAsjC,MACAxvD,EAAA,IACA7jH,KAAAzD,MAAAsnH,EAAAuvD,EAAA35I,MAAA,EAAA,IACA25I,EAAA,IACAvvD,EAAA7jH,KAAAozK,EAAA,IAAA,GACAvvD,EAAA7jH,KAAAzD,MAAAsnH,EAAAuvD,EAAA,IAAApyK,MAAA,OAEAoyK,EAAA,IACAvvD,EAAA7jH,KAAA,IAGA,kBAAAwjC,KAAA6vI,GACArC,EAAA4B,OAAAS,GAEAD,EAAAG,EAAAxjC,KAAAsjC,IACAC,EAAAtzK,KAAAozK,GAGApC,EAAA7E,KAAAkH,EApBAxvD,EAAAwvD,OAuBA,GAAA,YAAAD,GACA,GAAAA,EAAAC,EAAAx2K,KAAAm0K,GACA,OAAAoC,OAEA,GAAA,kBAAA5vI,KAAA6vI,EAAAlgL,MACA69K,EAAAqC,EAAAlgL,MAAAkgL,OAEA,GAAAA,EAAAG,MAAA,CACA,IAAAJ,KAAAC,EAAAG,MACAxC,EAAAoC,GAAAC,EAAAG,MAAAJ,GACA,IAAAA,KAAAC,EAAAjC,MACAJ,EAAAoC,GAAAC,EAAAjC,MAAAgC,SAGAnuK,IACA4+G,EAAAwvD,GAOA,GAJArC,EAAAA,EAAA4B,gBACA5B,EAAA4B,OACA5B,EAAAA,EAAA7E,cACA6E,EAAA7E,KACA,MAAAtoD,EAAA,CACA,GAAA,KAAAA,EACAA,EAAAmtD,EAAAJ,aAEA,GAAAnsK,MAAAxD,QAAA4iH,GAAA,CAGA,IAFAuvD,EAAA,GACAnC,GAAAptD,EAAA,GACA5+G,EAAA,EAAAA,EAAA,GAAAA,IACAmuK,EAAAnuK,KAAA4+G,EAAA5+G,IAAA,KACAmuK,EAAA,GACAvvD,EAAA9kF,KAAAsoF,IAAA9qH,MAAAwiC,KAAAsoF,IAAA+rD,IAAAA,EAAA,IAAA,KAAAA,EAAA,GAAA,IAAAA,EAAA,GAAA,IAAAA,EAAA,UAGAvvD,EAAAv/G,KAAA64B,MAAA0mF,GAEA,IAAAttC,MAAAstC,GAAA,CAGA,GAFAotD,IACAptD,EAAA0tD,EAAAP,EAAAntD,IACA,MAAAA,EACA,OAAAA,EACA,IAAA5+G,EAAA,EAAAgsK,EAAAqC,EAAAp9K,OAAA+O,EAAAgsK,EAAAhsK,IACA4+G,EAAA2tD,EAAAR,EAAAntD,EAAAyvD,EAAAruK,IAEA,OAAA+rK,EAAAj5H,QAEAq7H,EAAA,IAAAr0I,KAAAuyI,EAAAN,EAAAntD,IACAmtD,EAAAj5H,OAAA9U,QAAA,8BAAA,SAAApiC,EAAAg4G,EAAA46D,EAAA5vK,EAAA6vK,GACA,IAAAnxK,EAAA8sK,EAAA9jJ,EAAA,IACA,GAAAhpB,EAAAyuK,EAAA0C,GAAA,CAKA,IAJA7yK,EAAA8nB,OAAApmB,EAAA1F,KAAAm0K,EAAAoC,EAAAvvD,EAAAhL,EAAA46D,EAAAv9K,SACA,MAAA2iH,GAAAt2G,EAAAnB,SACAmqB,EAAA,KACA8jJ,EAAA,KAAAx2D,EAAA,EAAAt2G,EAAA8sK,KAAA,EACAxuK,EAAA3K,OAAAm5K,GACAxuK,EAAA0qB,EAAA1qB,EAEA,IADAwuK,EAAA,KAAAx2D,EAAA,EAAAh1G,GAAAtB,EAAA8sK,IACAxuK,EAAA3K,OAAAm5K,GACAxuK,EAAA0qB,EAAA1qB,EACA,KAAA6yK,GAAArE,EAAAxuK,EAAA3K,SACA2K,EAAAA,EAAA44B,MAAA,EAAA41I,IACA,KAAAx2D,IACAh4G,EAAAA,EAAA2pJ,eAEA,OAAA3pJ,KAnBAgjH,GAuBA,OAAA,WAAA,OAAAmtD,EAAAvD,QAAAjxK,aA6EAo2K,OAAA,QACAe,MAAA,CACA9vD,KAAA,WACAovD,OAAA,cACAD,OAAA,cACAE,SAAA,6BACAJ,SAAA,CAAA,KAAA,MACArsD,MAAA,CACA0qD,OAAA,kDAAAnwK,MAAA,KACA6xK,KAAA,wFAAA7xK,MAAA,MAEAojH,IAAA,CACA+sD,OAAA,8BAAAnwK,MAAA,KACA6xK,KAAA,2DAAA7xK,MAAA,QAIA0wK,EAAA,yGAAA6B,EAAA,IAAAhwI,OAAA,yBAAAmuI,EAAA,WAAA,KAAAC,EAAA,CAAA,KAAA,IAAA,IAAA,GAQA,SAAAO,EAAAruD,EAAA+vD,GACA,IAAAjuI,EAAA8iC,EAAAorG,EAYA,OAXAprG,EAAA,IAAA1pC,KAAAA,KAAAsoF,IAAAxD,EAAAyC,iBAAA,IACA3gF,EAAArhC,KAAA64B,OAAA0mF,EAAAW,UAAA/7C,EAAA+7C,WAAA,OACA/7C,EAAAkoG,aAAAiD,EACAC,EAAA,EAIA,IADAA,EAAA,EAAAprG,EAAAkoG,YAAAiD,KAEAC,EAAA,GAGAluI,GAAAkuI,EAAAvvK,KAAA64B,OAAAwI,EAAAkuI,GAAA,GAAA,EAAA,EAEA,SAAAxB,EAAAxuD,GACA,IAAAp7C,EAAAqrG,EAAAC,EAIA,OAHAD,EAAAjwD,EAAAyC,iBACA79C,EAAA,IAAA1pC,KAAAA,KAAAsoF,IAAAysD,EAAA,IAAAnD,aACAoD,EAAA7B,EAAAruD,EAAA,IAAAp7C,EAAA,GAAAA,GAAA,EAAA,EAAA,IAOA,IAAAsrG,GAAA,GAAAtrG,GAAA,GAAAA,GAAA,IAAA,IAAA1pC,KAAA+0I,EAAA,EAAA,IAAAE,UAIA,CAAAD,EAAAlwD,EAAAyC,kBAHA,CAAA,EAAAzC,EAAAyC,iBAAA,IANAwtD,EAAAjwD,EAAAyC,iBAAA,EACA79C,EAAA,IAAA1pC,KAAAA,KAAAsoF,IAAAysD,EAAA,IAAAnD,YAEA,CADAoD,EAAA,GAAAtrG,GAAA,GAAAA,GAAA,IAAA,IAAA1pC,KAAA+0I,EAAA,EAAA,IAAAE,UAAA,GAAA,GACAnwD,EAAAyC,iBAAA,IASA,OAxCAorD,EAAAA,EAAAhuI,cAAA1iC,MAAA,KACA,kBAAAiiC,QAAA,KAAA,SAAA5pC,GAAA41B,EAAA51B,GAAAg2K,IAAA,IACApgJ,EAAA8pE,EAAAs2E,IAAA,EACApgJ,EAAAsL,EAAA80I,IAAA,EACApgJ,EAAA3b,EAAAlS,MAAA,IACA6tB,EAAAktD,EAAA/6E,MAAA,IACA6tB,EAAA51B,EAAA+H,MAAA,IAkCA,WAAA,OAAA6tB,EAAAw+I,QAAAjxK,eCzWA,SAAA9J,EAAAC,EAAAC;;;;;;;;;;;;;;;AAgBA,IAAA6J,EACAK,EACA0yG,EACA9yG,EACAu3K,EACAC,EACAC,EACAC,EACA7qH,EACA8qH,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,GACA,SAAAn4B,GACA,IAAA7/F,EAAA,iBAAA4/F,OAAAA,OAAA,iBAAA7iD,KAAAA,KAAA,iBAAA7kG,KAAAA,KAAA,GAUA,SAAA+/K,EAAAniL,EAAAgsC,GASA,OARAhsC,IAAAkqD,IACA,mBAAA9oD,OAAAiE,OACAjE,OAAAiU,eAAArV,EAAA,aAAA,CAAAiO,OAAA,IAGAjO,EAAAoiL,YAAA,GAGA,SAAApgL,EAAA2d,GAAA,OAAA3f,EAAAgC,GAAAgqC,EAAAA,EAAAhqC,EAAA2d,GAAAA,GAfA,iBAAA5f,GAAA,iBAAAA,EAAAC,QACA+pJ,EAAAo4B,EAAAj4H,EAAAi4H,EAAApiL,EAAAC,WAGA+pJ,EAAAo4B,EAAAj4H,IATA,CAsBA,SAAAm4H,GACA,IAAAC,EAAAlhL,OAAAolJ,gBACA,CAAAW,UAAA,cAAAt1I,OAAA,SAAAqiC,EAAAvwB,GAAAuwB,EAAAizG,UAAAxjI,IACA,SAAAuwB,EAAAvwB,GAAA,IAAA,IAAAlU,KAAAkU,EACAA,EAAA3iB,eAAAyO,KACAykC,EAAAzkC,GAAAkU,EAAAlU,KACA5F,EAAA,SAAAqqC,EAAAvwB,GAEA,SAAA4+J,IAAAngL,KAAA+b,YAAA+1B,EADAouI,EAAApuI,EAAAvwB,GAEAuwB,EAAAlxC,UAAA,OAAA2gB,EAAAviB,OAAAiE,OAAAse,IAAA4+J,EAAAv/K,UAAA2gB,EAAA3gB,UAAA,IAAAu/K,IAEAr4K,EAAA9I,OAAA+iJ,QAAA,SAAAphI,GACA,IAAA,IAAAk4B,EAAA5oC,EAAA,EAAAq1B,EAAA99B,UAAAtG,OAAA+O,EAAAq1B,EAAAr1B,IAEA,IAAA,IAAA5C,KADAwrC,EAAArxC,UAAAyI,GAEAjR,OAAA4B,UAAAhC,eAAAiJ,KAAAgxC,EAAAxrC,KACAsT,EAAAtT,GAAAwrC,EAAAxrC,IAEA,OAAAsT,GAEA65F,EAAA,SAAA3hE,EAAAx0C,GACA,IAAAsc,EAAA,GACA,IAAA,IAAAtT,KAAAwrC,EACA75C,OAAA4B,UAAAhC,eAAAiJ,KAAAgxC,EAAAxrC,IAAAhJ,EAAAsgC,QAAAt3B,GAAA,IACAsT,EAAAtT,GAAAwrC,EAAAxrC,IACA,GAAA,MAAAwrC,GAAA,mBAAA75C,OAAAohL,sBACA,IAAA,IAAAnwK,EAAA,EAAA5C,EAAArO,OAAAohL,sBAAAvnI,GAAA5oC,EAAA5C,EAAAnM,OAAA+O,IACA5L,EAAAsgC,QAAAt3B,EAAA4C,IAAA,IACA0Q,EAAAtT,EAAA4C,IAAA4oC,EAAAxrC,EAAA4C,KACA,OAAA0Q,GAEAjZ,EAAA,SAAA24K,EAAAt+I,EAAA11B,EAAAq1I,GACA,IAAA5vG,EAAAhsB,EAAAte,UAAAtG,OAAA2kB,EAAAC,EAAA,EAAAic,EAAA,OAAA2/G,EAAAA,EAAA1iJ,OAAA6lJ,yBAAA9iH,EAAA11B,GAAAq1I,EACA,GAAA,iBAAA4+B,SAAA,mBAAAA,QAAAC,SACA16J,EAAAy6J,QAAAC,SAAAF,EAAAt+I,EAAA11B,EAAAq1I,QAEA,IAAA,IAAAzxI,EAAAowK,EAAAn/K,OAAA,EAAA+O,GAAA,EAAAA,KACA6hC,EAAAuuI,EAAApwK,MACA4V,GAAAC,EAAA,EAAAgsB,EAAAjsB,GAAAC,EAAA,EAAAgsB,EAAA/P,EAAA11B,EAAAwZ,GAAAisB,EAAA/P,EAAA11B,KAAAwZ,GACA,OAAAC,EAAA,GAAAD,GAAA7mB,OAAAiU,eAAA8uB,EAAA11B,EAAAwZ,GAAAA,GAEAo5J,EAAA,SAAAuB,EAAAC,GACA,OAAA,SAAA1+I,EAAA11B,GAAAo0K,EAAA1+I,EAAA11B,EAAAm0K,KAEAtB,EAAA,SAAAwB,EAAAC,GACA,GAAA,iBAAAL,SAAA,mBAAAA,QAAAppC,SACA,OAAAopC,QAAAppC,SAAAwpC,EAAAC,IAEAxB,EAAA,SAAAvuI,EAAAgwI,EAAAnzB,EAAAozB,GACA,OAAA,IAAApzB,IAAAA,EAAA1sJ,UAAA,SAAAK,EAAAJ,GACA,SAAA8/K,EAAAj1K,GAAA,IACAi5B,EAAA+7I,EAAAh+B,KAAAh3I,IAEA,MAAAxH,GACArD,EAAAqD,IAEA,SAAA08K,EAAAl1K,GAAA,IACAi5B,EAAA+7I,EAAA,MAAAh1K,IAEA,MAAAxH,GACArD,EAAAqD,IAEA,SAAAygC,EAAA/mB,GAAAA,EAAAusB,KAAAlpC,EAAA2c,EAAAlS,OAAA,IAAA4hJ,EAAA,SAAArsJ,GAAAA,EAAA2c,EAAAlS,SAAAlJ,KAAAm+K,EAAAC,GACAj8I,GAAA+7I,EAAAA,EAAAt5K,MAAAqpC,EAAAgwI,GAAA,KAAA/9B,WAGAu8B,EAAA,SAAAxuI,EAAA37B,GACA,IACA1H,EAAA7E,EAAAiY,EAAAiuB,EADAtpC,EAAA,CAAA8K,MAAA,EAAA4wK,KAAA,WAAA,GAAA,EAAArgK,EAAA,GACA,MAAAA,EAAA,GAAA,OAAAA,EAAA,IAAAsgK,KAAA,GAAAC,IAAA,IACA,OAAAtyI,EAAA,CAAAi0G,KAAAs+B,EAAA,GAAAC,MAAAD,EAAA,GAAAE,OAAAF,EAAA,IAAA,mBAAA/7B,SAAAx2G,EAAAw2G,OAAA3C,UAAA,WAAA,OAAAziJ,OAAA4uC,EACA,SAAAuyI,EAAA77I,GAAA,OAAA,SAAA/nB,GAAA,OACA,SAAA+jK,GACA,GAAA/zK,EACA,MAAA,IAAAujB,UAAA,mCACA,KAAAxrB,GACA,IACA,GAAAiI,EAAA,EAAA7E,IAAAiY,EAAA,EAAA2gK,EAAA,GAAA54K,EAAA,OAAA44K,EAAA,GAAA54K,EAAA,SAAAiY,EAAAjY,EAAA,SAAAiY,EAAA9Y,KAAAa,GAAA,GAAAA,EAAAm6I,SAAAliI,EAAAA,EAAA9Y,KAAAa,EAAA44K,EAAA,KAAAh3I,KACA,OAAA3pB,EAGA,OAFAjY,EAAA,EAAAiY,IACA2gK,EAAA,CAAA,EAAAA,EAAA,GAAA3gK,EAAA9U,QACAy1K,EAAA,IACA,KAAA,EACA,KAAA,EACA3gK,EAAA2gK,EACA,MACA,KAAA,EAEA,OADAh8K,EAAA8K,QACA,CAAAvE,MAAAy1K,EAAA,GAAAh3I,MAAA,GACA,KAAA,EACAhlC,EAAA8K,QACA1H,EAAA44K,EAAA,GACAA,EAAA,CAAA,GACA,SACA,KAAA,EACAA,EAAAh8K,EAAA47K,IAAA3vI,MACAjsC,EAAA27K,KAAA1vI,MACA,SACA,QACA,KAAA5wB,GAAAA,EAAArb,EAAA27K,MAAA//K,OAAA,GAAAyf,EAAAA,EAAAzf,OAAA,MAAA,IAAAogL,EAAA,IAAA,IAAAA,EAAA,IAAA,CACAh8K,EAAA,EACA,SAEA,GAAA,IAAAg8K,EAAA,MAAA3gK,GAAA2gK,EAAA,GAAA3gK,EAAA,IAAA2gK,EAAA,GAAA3gK,EAAA,IAAA,CACArb,EAAA8K,MAAAkxK,EAAA,GACA,MAEA,GAAA,IAAAA,EAAA,IAAAh8K,EAAA8K,MAAAuQ,EAAA,GAAA,CACArb,EAAA8K,MAAAuQ,EAAA,GACAA,EAAA2gK,EACA,MAEA,GAAA3gK,GAAArb,EAAA8K,MAAAuQ,EAAA,GAAA,CACArb,EAAA8K,MAAAuQ,EAAA,GACArb,EAAA47K,IAAAl2K,KAAAs2K,GACA,MAEA3gK,EAAA,IACArb,EAAA47K,IAAA3vI,MACAjsC,EAAA27K,KAAA1vI,MACA,SAEA+vI,EAAArsK,EAAApN,KAAA+oC,EAAAtrC,GAEA,MAAAjB,GACAi9K,EAAA,CAAA,EAAAj9K,GACAqE,EAAA,EAEA,QACA6E,EAAAoT,EAAA,EAEA,GAAA,EAAA2gK,EAAA,GACA,MAAAA,EAAA,GACA,MAAA,CAAAz1K,MAAAy1K,EAAA,GAAAA,EAAA,QAAA,EAAAh3I,MAAA,GA9DAxF,CAAA,CAAAQ,EAAA/nB,OAiEAg3C,EAAA,SAAAtG,EAAArwD,GACA,IAAA,IAAAyP,KAAA4gD,EACArwD,EAAAgB,eAAAyO,KACAzP,EAAAyP,GAAA4gD,EAAA5gD,KAEAgyK,EAAA,SAAArkC,GACA,IAAA/sF,EAAA,mBAAAm3F,QAAApK,EAAAoK,OAAA3C,UAAAxyI,EAAA,EACA,OAAAg+C,EACAA,EAAApmD,KAAAmzI,GACA,CACA6H,KAAA,WAGA,OAFA7H,GAAA/qI,GAAA+qI,EAAA95I,SACA85I,OAAA,GACA,CAAAnvI,MAAAmvI,GAAAA,EAAA/qI,KAAAq6B,MAAA0wG,MAIAskC,EAAA,SAAAtkC,EAAA11G,GACA,IAAA2oB,EAAA,mBAAAm3F,QAAApK,EAAAoK,OAAA3C,UACA,IAAAx0F,EACA,OAAA+sF,EACA,IAAAn1H,EAAAxhB,EAAA4L,EAAAg+C,EAAApmD,KAAAmzI,GAAAumC,EAAA,GACA,IACA,WAAA,IAAAj8I,GAAAA,KAAA,MAAAzf,EAAA5V,EAAA4yI,QAAAv4G,MACAi3I,EAAAv2K,KAAA6a,EAAAha,OAEA,MAAA9J,GACAsC,EAAA,CAAAtC,MAAAA,GAEA,QACA,IACA8jB,IAAAA,EAAAykB,OAAA2jB,EAAAh+C,EAAA,SACAg+C,EAAApmD,KAAAoI,GAEA,QACA,GAAA5L,EACA,MAAAA,EAAAtC,OAGA,OAAAw/K,GAEAhC,EAAA,WACA,IAAA,IAAAgC,EAAA,GAAAtxK,EAAA,EAAAA,EAAAzI,UAAAtG,OAAA+O,IACAsxK,EAAAA,EAAA5xK,OAAA2vK,EAAA93K,UAAAyI,KACA,OAAAsxK,GAEA/B,EAAA,SAAAjiK,GACA,OAAAvd,gBAAAw/K,GAAAx/K,KAAAud,EAAAA,EAAAvd,MAAA,IAAAw/K,EAAAjiK,IAEAkiK,EAAA,SAAA7uI,EAAAgwI,EAAAC,GACA,IAAAz7B,OAAAo8B,cACA,MAAA,IAAA1wJ,UAAA,wCACA,IAAA7gB,EAAA2+B,EAAAiyI,EAAAt5K,MAAAqpC,EAAAgwI,GAAA,IAAAhgK,EAAA,GACA,OAAA3Q,EAAA,GAAAkxK,EAAA,QAAAA,EAAA,SAAAA,EAAA,UAAAlxK,EAAAm1I,OAAAo8B,eAAA,WAAA,OAAAxhL,MAAAiQ,EACA,SAAAkxK,EAAA77I,GAAAsJ,EAAAtJ,KACAr1B,EAAAq1B,GAAA,SAAA/nB,GAAA,OAAA,IAAAxc,QAAA,SAAAiP,EAAAuR,GAAAX,EAAA5V,KAAA,CAAAs6B,EAAA/nB,EAAAvN,EAAAuR,IAAA,GAAAkgK,EAAAn8I,EAAA/nB,OACA,SAAAkkK,EAAAn8I,EAAA/nB,GAAA,KAMAsI,EALA+oB,EAAAtJ,GAAA/nB,IAKA1R,iBAAA2zK,EAAAz+K,QAAAK,QAAAykB,EAAAha,MAAA0R,GAAA5a,KAAAkoJ,EAAA7pJ,GAAA0gL,EAAA9gK,EAAA,GAAA,GAAAiF,GAHA,MAAAxhB,GACAq9K,EAAA9gK,EAAA,GAAA,GAAAvc,GAEA,IAAAwhB,EACA,SAAAglI,EAAAh/I,GAAA41K,EAAA,OAAA51K,GACA,SAAA7K,EAAA6K,GAAA41K,EAAA,QAAA51K,GACA,SAAA61K,EAAAn0K,EAAAgQ,GAAAhQ,EAAAgQ,GAAAqD,EAAA2lI,QAAA3lI,EAAA1f,QACAugL,EAAA7gK,EAAA,GAAA,GAAAA,EAAA,GAAA,MAEA8+J,EAAA,SAAA1kC,GACA,IAAA/qI,EAAA5C,EACA,OAAA4C,EAAA,GAAAkxK,EAAA,QAAAA,EAAA,QAAA,SAAA98K,GAAA,MAAAA,IAAA88K,EAAA,UAAAlxK,EAAAm1I,OAAA3C,UAAA,WAAA,OAAAziJ,MAAAiQ,EACA,SAAAkxK,EAAA77I,EAAA/3B,GAAA0C,EAAAq1B,GAAA01G,EAAA11G,GAAA,SAAA/nB,GAAA,OAAAlQ,GAAAA,GAAA,CAAAxB,MAAA2zK,EAAAxkC,EAAA11G,GAAA/nB,IAAA+sB,KAAA,WAAAhF,GAAA/3B,EAAAA,EAAAgQ,GAAAA,GAAAhQ,IAEAoyK,EAAA,SAAA3kC,GACA,IAAAoK,OAAAo8B,cACA,MAAA,IAAA1wJ,UAAA,wCACA,IAAA7gB,EAAAg+C,EAAA+sF,EAAAoK,OAAAo8B,eACA,OAAAvzH,EAAAA,EAAApmD,KAAAmzI,IAAAA,EAAAqkC,EAAArkC,GAAA/qI,EAAA,GAAAkxK,EAAA,QAAAA,EAAA,SAAAA,EAAA,UAAAlxK,EAAAm1I,OAAAo8B,eAAA,WAAA,OAAAxhL,MAAAiQ,GACA,SAAAkxK,EAAA77I,GAAAr1B,EAAAq1B,GAAA01G,EAAA11G,IAAA,SAAA/nB,GAAA,OAAA,IAAAxc,QAAA,SAAAK,EAAAJ,GAAAuc,EAAAy9H,EAAA11G,GAAA/nB,GACA,SAAAnc,EAAAJ,EAAA8wC,EAAAv0B,GAAAxc,QAAAK,QAAAmc,GAAA5a,KAAA,SAAA4a,GAAAnc,EAAA,CAAAyK,MAAA0R,EAAA+sB,KAAAwH,KAAA9wC,GADA0gL,CAAAtgL,EAAAJ,EAAAuc,EAAA+sB,KAAA/sB,EAAA1R,YAGA+zK,EAAA,SAAA+B,EAAAC,GAOA,OANA5iL,OAAAiU,eACAjU,OAAAiU,eAAA0uK,EAAA,MAAA,CAAA91K,MAAA+1K,IAGAD,EAAAC,IAAAA,EAEAD,GAEA9B,EAAA,SAAAgC,GACA,GAAAA,GAAAA,EAAA7B,WACA,OAAA6B,EACA,IAAA9jK,EAAA,GACA,GAAA,MAAA8jK,EACA,IAAA,IAAAvjK,KAAAujK,EACA7iL,OAAAJ,eAAAiJ,KAAAg6K,EAAAvjK,KACAP,EAAAO,GAAAujK,EAAAvjK,IAEA,OADAP,EAAA,QAAA8jK,EACA9jK,GAEA+hK,EAAA,SAAA+B,GACA,OAAAA,GAAAA,EAAA7B,WAAA6B,EAAA,CAAAr/I,QAAAq/I,IAEA5B,EAAA,YAAAx4K,GACAw4K,EAAA,WAAAn4K,GACAm4K,EAAA,SAAAzlE,GACAylE,EAAA,aAAAv4K,GACAu4K,EAAA,UAAAhB,GACAgB,EAAA,aAAAf,GACAe,EAAA,YAAAd,GACAc,EAAA,cAAAb,GACAa,EAAA,eAAA1rH,GACA0rH,EAAA,WAAAZ,GACAY,EAAA,SAAAX,GACAW,EAAA,WAAAV,GACAU,EAAA,UAAAT,GACAS,EAAA,mBAAAR,GACAQ,EAAA,mBAAAP,GACAO,EAAA,gBAAAN,GACAM,EAAA,uBAAAL,GACAK,EAAA,eAAAJ,GACAI,EAAA,kBAAAH","file":"bokeh.min.js","sourcesContent":["/* base */ function _(require, module, exports) {\n var models = require(160) /* ./models/index */;\n var object_1 = require(35) /* ./core/util/object */;\n exports.overrides = {};\n var _all_models = object_1.clone(models);\n exports.Models = (function (name) {\n var model = exports.overrides[name] || _all_models[name];\n if (model == null) {\n throw new Error(\"Model '\" + name + \"' does not exist. This could be due to a widget\\n or a custom model not being registered before first usage.\");\n }\n return model;\n });\n exports.Models.register = function (name, model) {\n exports.overrides[name] = model;\n };\n exports.Models.unregister = function (name) {\n delete exports.overrides[name];\n };\n exports.Models.register_models = function (models, force, errorFn) {\n if (force === void 0) {\n force = false;\n }\n if (models == null)\n return;\n for (var name_1 in models) {\n var model = models[name_1];\n if (force || !_all_models.hasOwnProperty(name_1))\n _all_models[name_1] = model;\n else if (errorFn != null)\n errorFn(name_1);\n else\n console.warn(\"Model '\" + name_1 + \"' was already registered\");\n }\n };\n exports.register_models = exports.Models.register_models;\n exports.Models.registered_names = function () { return Object.keys(_all_models); };\n}\n","/* client/connection */ function _(require, module, exports) {\n var logging_1 = require(17) /* ../core/logging */;\n var document_1 = require(54) /* ../document */;\n var message_1 = require(300) /* ../protocol/message */;\n var receiver_1 = require(301) /* ../protocol/receiver */;\n var session_1 = require(2) /* ./session */;\n exports.DEFAULT_SERVER_WEBSOCKET_URL = \"ws://localhost:5006/ws\";\n exports.DEFAULT_SESSION_ID = \"default\";\n var _connection_count = 0;\n var ClientConnection = /** @class */ (function () {\n function ClientConnection(url, id, args_string, _on_have_session_hook, _on_closed_permanently_hook) {\n if (url === void 0) {\n url = exports.DEFAULT_SERVER_WEBSOCKET_URL;\n }\n if (id === void 0) {\n id = exports.DEFAULT_SESSION_ID;\n }\n if (args_string === void 0) {\n args_string = null;\n }\n if (_on_have_session_hook === void 0) {\n _on_have_session_hook = null;\n }\n if (_on_closed_permanently_hook === void 0) {\n _on_closed_permanently_hook = null;\n }\n this.url = url;\n this.id = id;\n this.args_string = args_string;\n this._on_have_session_hook = _on_have_session_hook;\n this._on_closed_permanently_hook = _on_closed_permanently_hook;\n this._number = _connection_count++;\n this.socket = null;\n this.session = null;\n this.closed_permanently = false;\n this._current_handler = null;\n this._pending_ack = null; // null or [resolve,reject]\n this._pending_replies = {}; // map reqid to [resolve,reject]\n this._receiver = new receiver_1.Receiver();\n logging_1.logger.debug(\"Creating websocket \" + this._number + \" to '\" + this.url + \"' session '\" + this.id + \"'\");\n }\n ClientConnection.prototype.connect = function () {\n var _this = this;\n if (this.closed_permanently)\n return Promise.reject(new Error(\"Cannot connect() a closed ClientConnection\"));\n if (this.socket != null)\n return Promise.reject(new Error(\"Already connected\"));\n this._pending_replies = {};\n this._current_handler = null;\n try {\n var versioned_url = this.url + \"?bokeh-protocol-version=1.0&bokeh-session-id=\" + this.id;\n if (this.args_string != null && this.args_string.length > 0)\n versioned_url += \"&\" + this.args_string;\n this.socket = new WebSocket(versioned_url);\n return new Promise(function (resolve, reject) {\n // \"arraybuffer\" gives us binary data we can look at;\n // if we just needed an opaque blob we could use \"blob\"\n _this.socket.binaryType = \"arraybuffer\";\n _this.socket.onopen = function () { return _this._on_open(resolve, reject); };\n _this.socket.onmessage = function (event) { return _this._on_message(event); };\n _this.socket.onclose = function (event) { return _this._on_close(event); };\n _this.socket.onerror = function () { return _this._on_error(reject); };\n });\n }\n catch (error) {\n logging_1.logger.error(\"websocket creation failed to url: \" + this.url);\n logging_1.logger.error(\" - \" + error);\n return Promise.reject(error);\n }\n };\n ClientConnection.prototype.close = function () {\n if (!this.closed_permanently) {\n logging_1.logger.debug(\"Permanently closing websocket connection \" + this._number);\n this.closed_permanently = true;\n if (this.socket != null)\n this.socket.close(1000, \"close method called on ClientConnection \" + this._number);\n this.session._connection_closed();\n if (this._on_closed_permanently_hook != null) {\n this._on_closed_permanently_hook();\n this._on_closed_permanently_hook = null;\n }\n }\n };\n ClientConnection.prototype._schedule_reconnect = function (milliseconds) {\n var _this = this;\n var retry = function () {\n // TODO commented code below until we fix reconnection to repull\n // the document when required. Otherwise, we get a lot of\n // confusing errors that are causing trouble when debugging.\n /*\n if (this.closed_permanently) {\n */\n if (!_this.closed_permanently)\n logging_1.logger.info(\"Websocket connection \" + _this._number + \" disconnected, will not attempt to reconnect\");\n return;\n /*\n } else {\n logger.debug(`Attempting to reconnect websocket ${this._number}`)\n this.connect()\n }\n */\n };\n setTimeout(retry, milliseconds);\n };\n ClientConnection.prototype.send = function (message) {\n if (this.socket == null)\n throw new Error(\"not connected so cannot send \" + message);\n message.send(this.socket);\n };\n ClientConnection.prototype.send_with_reply = function (message) {\n var _this = this;\n var promise = new Promise(function (resolve, reject) {\n _this._pending_replies[message.msgid()] = [resolve, reject];\n _this.send(message);\n });\n return promise.then(function (message) {\n if (message.msgtype() === \"ERROR\")\n throw new Error(\"Error reply \" + message.content.text);\n else\n return message;\n }, function (error) {\n throw error;\n });\n };\n ClientConnection.prototype._pull_doc_json = function () {\n var message = message_1.Message.create(\"PULL-DOC-REQ\", {});\n var promise = this.send_with_reply(message);\n return promise.then(function (reply) {\n if (!('doc' in reply.content))\n throw new Error(\"No 'doc' field in PULL-DOC-REPLY\");\n return reply.content.doc;\n }, function (error) {\n throw error;\n });\n };\n ClientConnection.prototype._repull_session_doc = function () {\n var _this = this;\n if (this.session == null)\n logging_1.logger.debug(\"Pulling session for first time\");\n else\n logging_1.logger.debug(\"Repulling session\");\n this._pull_doc_json().then(function (doc_json) {\n if (_this.session == null) {\n if (_this.closed_permanently)\n logging_1.logger.debug(\"Got new document after connection was already closed\");\n else {\n var document_2 = document_1.Document.from_json(doc_json);\n // Constructing models changes some of their attributes, we deal with that\n // here. This happens when models set attributes during construction\n // or initialization.\n var patch = document_1.Document._compute_patch_since_json(doc_json, document_2);\n if (patch.events.length > 0) {\n logging_1.logger.debug(\"Sending \" + patch.events.length + \" changes from model construction back to server\");\n var patch_message = message_1.Message.create('PATCH-DOC', {}, patch);\n _this.send(patch_message);\n }\n _this.session = new session_1.ClientSession(_this, document_2, _this.id);\n logging_1.logger.debug(\"Created a new session from new pulled doc\");\n if (_this._on_have_session_hook != null) {\n _this._on_have_session_hook(_this.session);\n _this._on_have_session_hook = null;\n }\n }\n }\n else {\n _this.session.document.replace_with_json(doc_json);\n logging_1.logger.debug(\"Updated existing session with new pulled doc\");\n }\n }, function (error) {\n // handling the error here is useless because we wouldn't\n // get errors from the resolve handler above, so see\n // the catch below instead\n throw error;\n }).catch(function (error) {\n if (console.trace != null)\n console.trace(error);\n logging_1.logger.error(\"Failed to repull session \" + error);\n });\n };\n ClientConnection.prototype._on_open = function (resolve, reject) {\n var _this = this;\n logging_1.logger.info(\"Websocket connection \" + this._number + \" is now open\");\n this._pending_ack = [resolve, reject];\n this._current_handler = function (message) {\n _this._awaiting_ack_handler(message);\n };\n };\n ClientConnection.prototype._on_message = function (event) {\n if (this._current_handler == null)\n logging_1.logger.error(\"Got a message with no current handler set\");\n try {\n this._receiver.consume(event.data);\n }\n catch (e) {\n this._close_bad_protocol(e.toString());\n }\n if (this._receiver.message == null)\n return;\n var msg = this._receiver.message;\n var problem = msg.problem();\n if (problem != null)\n this._close_bad_protocol(problem);\n this._current_handler(msg);\n };\n ClientConnection.prototype._on_close = function (event) {\n var _this = this;\n logging_1.logger.info(\"Lost websocket \" + this._number + \" connection, \" + event.code + \" (\" + event.reason + \")\");\n this.socket = null;\n if (this._pending_ack != null) {\n this._pending_ack[1](new Error(\"Lost websocket connection, \" + event.code + \" (\" + event.reason + \")\"));\n this._pending_ack = null;\n }\n var pop_pending = function () {\n for (var reqid in _this._pending_replies) {\n var promise_funcs_1 = _this._pending_replies[reqid];\n delete _this._pending_replies[reqid];\n return promise_funcs_1;\n }\n return null;\n };\n var promise_funcs = pop_pending();\n while (promise_funcs != null) {\n promise_funcs[1](\"Disconnected\");\n promise_funcs = pop_pending();\n }\n if (!this.closed_permanently)\n this._schedule_reconnect(2000);\n };\n ClientConnection.prototype._on_error = function (reject) {\n logging_1.logger.debug(\"Websocket error on socket \" + this._number);\n reject(new Error(\"Could not open websocket\"));\n };\n ClientConnection.prototype._close_bad_protocol = function (detail) {\n logging_1.logger.error(\"Closing connection: \" + detail);\n if (this.socket != null)\n this.socket.close(1002, detail); // 1002 = protocol error\n };\n ClientConnection.prototype._awaiting_ack_handler = function (message) {\n var _this = this;\n if (message.msgtype() === \"ACK\") {\n this._current_handler = function (message) { return _this._steady_state_handler(message); };\n // Reload any sessions\n // TODO (havocp) there's a race where we might get a PATCH before\n // we send and get a reply to our pulls.\n this._repull_session_doc();\n if (this._pending_ack != null) {\n this._pending_ack[0](this);\n this._pending_ack = null;\n }\n }\n else\n this._close_bad_protocol(\"First message was not an ACK\");\n };\n ClientConnection.prototype._steady_state_handler = function (message) {\n if (message.reqid() in this._pending_replies) {\n var promise_funcs = this._pending_replies[message.reqid()];\n delete this._pending_replies[message.reqid()];\n promise_funcs[0](message);\n }\n else\n this.session.handle(message);\n };\n return ClientConnection;\n }());\n exports.ClientConnection = ClientConnection;\n // Returns a promise of a ClientSession\n // The returned promise has a close() method in case you want to close before\n // getting a session; session.close() works too once you have a session.\n function pull_session(url, session_id, args_string) {\n var promise = new Promise(function (resolve, reject) {\n var connection = new ClientConnection(url, session_id, args_string, function (session) {\n try {\n resolve(session);\n }\n catch (error) {\n logging_1.logger.error(\"Promise handler threw an error, closing session \" + error);\n session.close();\n throw error;\n }\n }, function () {\n // we rely on reject() as a no-op if we already resolved\n reject(new Error(\"Connection was closed before we successfully pulled a session\"));\n });\n connection.connect().then(function (_) { return undefined; }, function (error) {\n logging_1.logger.error(\"Failed to connect to Bokeh server \" + error);\n throw error;\n });\n });\n return promise;\n }\n exports.pull_session = pull_session;\n}\n","/* client/session */ function _(require, module, exports) {\n var document_1 = require(54) /* ../document */;\n var message_1 = require(300) /* ../protocol/message */;\n var logging_1 = require(17) /* ../core/logging */;\n var ClientSession = /** @class */ (function () {\n function ClientSession(_connection, document, id) {\n var _this = this;\n this._connection = _connection;\n this.document = document;\n this.id = id;\n this._document_listener = function (event) { return _this._document_changed(event); };\n this.document.on_change(this._document_listener);\n this.event_manager = this.document.event_manager;\n this.event_manager.session = this;\n }\n ClientSession.prototype.handle = function (message) {\n var msgtype = message.msgtype();\n if (msgtype === 'PATCH-DOC')\n this._handle_patch(message);\n else if (msgtype === 'OK')\n this._handle_ok(message);\n else if (msgtype === 'ERROR')\n this._handle_error(message);\n else\n logging_1.logger.debug(\"Doing nothing with message \" + message.msgtype());\n };\n ClientSession.prototype.close = function () {\n this._connection.close();\n };\n ClientSession.prototype.send_event = function (event) {\n var message = message_1.Message.create('EVENT', {}, JSON.stringify(event.to_json()));\n this._connection.send(message);\n };\n /*protected*/ ClientSession.prototype._connection_closed = function () {\n this.document.remove_on_change(this._document_listener);\n };\n // Sends a request to the server for info about the server, such as its Bokeh\n // version. Returns a promise, the value of the promise is a free-form dictionary\n // of server details.\n ClientSession.prototype.request_server_info = function () {\n var message = message_1.Message.create('SERVER-INFO-REQ', {});\n var promise = this._connection.send_with_reply(message);\n return promise.then(function (reply) { return reply.content; });\n };\n // Sends some request to the server (no guarantee about which one) and returns\n // a promise which is completed when the server replies. The purpose of this\n // is that if you wait for the promise to be completed, you know the server\n // has processed the request. This is useful when writing tests because once\n // the server has processed this request it should also have processed any\n // events or requests you sent previously, which means you can check for the\n // results of that processing without a race condition. (This assumes the\n // server processes events in sequence, which it mostly has to semantically,\n // since reordering events might change the final state.)\n ClientSession.prototype.force_roundtrip = function () {\n return this.request_server_info().then(function (_) { return undefined; });\n };\n ClientSession.prototype._document_changed = function (event) {\n // Filter out events that were initiated by the ClientSession itself\n if (event.setter_id === this.id) // XXX: not all document events define this\n return;\n // Filter out changes to attributes that aren't server-visible\n if (event instanceof document_1.ModelChangedEvent && !(event.attr in event.model.serializable_attributes()))\n return;\n // TODO (havocp) the connection may be closed here, which will\n // cause this send to throw an error - need to deal with it more cleanly.\n var message = message_1.Message.create('PATCH-DOC', {}, this.document.create_json_patch([event]));\n this._connection.send(message);\n };\n ClientSession.prototype._handle_patch = function (message) {\n this.document.apply_json_patch(message.content, message.buffers, this.id);\n };\n ClientSession.prototype._handle_ok = function (message) {\n logging_1.logger.trace(\"Unhandled OK reply to \" + message.reqid());\n };\n ClientSession.prototype._handle_error = function (message) {\n logging_1.logger.error(\"Unhandled ERROR reply to \" + message.reqid() + \": \" + message.content.text);\n };\n return ClientSession;\n }());\n exports.ClientSession = ClientSession;\n}\n","/* core/bokeh_events */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n function event(event_name) {\n return function (cls) {\n cls.prototype.event_name = event_name;\n };\n }\n var BokehEvent = /** @class */ (function () {\n function BokehEvent() {\n }\n BokehEvent.prototype.to_json = function () {\n var event_name = this.event_name;\n return { event_name: event_name, event_values: this._to_json() };\n };\n BokehEvent.prototype._to_json = function () {\n var origin = this.origin;\n return { model_id: origin != null ? origin.id : null };\n };\n return BokehEvent;\n }());\n exports.BokehEvent = BokehEvent;\n var ButtonClick = /** @class */ (function (_super) {\n tslib_1.__extends(ButtonClick, _super);\n function ButtonClick() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ButtonClick = tslib_1.__decorate([\n event(\"button_click\")\n ], ButtonClick);\n return ButtonClick;\n }(BokehEvent));\n exports.ButtonClick = ButtonClick;\n var MenuItemClick = /** @class */ (function (_super) {\n tslib_1.__extends(MenuItemClick, _super);\n function MenuItemClick(item) {\n var _this = _super.call(this) || this;\n _this.item = item;\n return _this;\n }\n MenuItemClick.prototype._to_json = function () {\n var item = this.item;\n return tslib_1.__assign({}, _super.prototype._to_json.call(this), { item: item });\n };\n MenuItemClick = tslib_1.__decorate([\n event(\"menu_item_click\")\n ], MenuItemClick);\n return MenuItemClick;\n }(BokehEvent));\n exports.MenuItemClick = MenuItemClick;\n // A UIEvent is an event originating on a canvas this includes.\n // DOM events such as keystrokes as well as hammer events and LOD events.\n var UIEvent = /** @class */ (function (_super) {\n tslib_1.__extends(UIEvent, _super);\n function UIEvent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return UIEvent;\n }(BokehEvent));\n exports.UIEvent = UIEvent;\n var LODStart = /** @class */ (function (_super) {\n tslib_1.__extends(LODStart, _super);\n function LODStart() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LODStart = tslib_1.__decorate([\n event(\"lodstart\")\n ], LODStart);\n return LODStart;\n }(UIEvent));\n exports.LODStart = LODStart;\n var LODEnd = /** @class */ (function (_super) {\n tslib_1.__extends(LODEnd, _super);\n function LODEnd() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LODEnd = tslib_1.__decorate([\n event(\"lodend\")\n ], LODEnd);\n return LODEnd;\n }(UIEvent));\n exports.LODEnd = LODEnd;\n var SelectionGeometry = /** @class */ (function (_super) {\n tslib_1.__extends(SelectionGeometry, _super);\n function SelectionGeometry(geometry, final) {\n var _this = _super.call(this) || this;\n _this.geometry = geometry;\n _this.final = final;\n return _this;\n }\n SelectionGeometry.prototype._to_json = function () {\n var _a = this, geometry = _a.geometry, final = _a.final;\n return tslib_1.__assign({}, _super.prototype._to_json.call(this), { geometry: geometry, final: final });\n };\n SelectionGeometry = tslib_1.__decorate([\n event(\"selectiongeometry\")\n ], SelectionGeometry);\n return SelectionGeometry;\n }(UIEvent));\n exports.SelectionGeometry = SelectionGeometry;\n var Reset = /** @class */ (function (_super) {\n tslib_1.__extends(Reset, _super);\n function Reset() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Reset = tslib_1.__decorate([\n event(\"reset\")\n ], Reset);\n return Reset;\n }(UIEvent));\n exports.Reset = Reset;\n var PointEvent = /** @class */ (function (_super) {\n tslib_1.__extends(PointEvent, _super);\n function PointEvent(sx, sy, x, y) {\n var _this = _super.call(this) || this;\n _this.sx = sx;\n _this.sy = sy;\n _this.x = x;\n _this.y = y;\n return _this;\n }\n PointEvent.prototype._to_json = function () {\n var _a = this, sx = _a.sx, sy = _a.sy, x = _a.x, y = _a.y;\n return tslib_1.__assign({}, _super.prototype._to_json.call(this), { sx: sx, sy: sy, x: x, y: y });\n };\n return PointEvent;\n }(UIEvent));\n exports.PointEvent = PointEvent;\n var Pan = /** @class */ (function (_super) {\n tslib_1.__extends(Pan, _super);\n function Pan(sx, sy, x, y, delta_x, delta_y) {\n var _this = _super.call(this, sx, sy, x, y) || this;\n _this.sx = sx;\n _this.sy = sy;\n _this.x = x;\n _this.y = y;\n _this.delta_x = delta_x;\n _this.delta_y = delta_y;\n return _this;\n }\n Pan.prototype._to_json = function () {\n var _a = this, delta_x = _a.delta_x, delta_y = _a.delta_y /*, direction*/;\n return tslib_1.__assign({}, _super.prototype._to_json.call(this), { delta_x: delta_x, delta_y: delta_y /*, direction*/ });\n };\n Pan = tslib_1.__decorate([\n event(\"pan\")\n ], Pan);\n return Pan;\n }(PointEvent));\n exports.Pan = Pan;\n var Pinch = /** @class */ (function (_super) {\n tslib_1.__extends(Pinch, _super);\n function Pinch(sx, sy, x, y, scale) {\n var _this = _super.call(this, sx, sy, x, y) || this;\n _this.sx = sx;\n _this.sy = sy;\n _this.x = x;\n _this.y = y;\n _this.scale = scale;\n return _this;\n }\n Pinch.prototype._to_json = function () {\n var scale = this.scale;\n return tslib_1.__assign({}, _super.prototype._to_json.call(this), { scale: scale });\n };\n Pinch = tslib_1.__decorate([\n event(\"pinch\")\n ], Pinch);\n return Pinch;\n }(PointEvent));\n exports.Pinch = Pinch;\n var MouseWheel = /** @class */ (function (_super) {\n tslib_1.__extends(MouseWheel, _super);\n function MouseWheel(sx, sy, x, y, delta) {\n var _this = _super.call(this, sx, sy, x, y) || this;\n _this.sx = sx;\n _this.sy = sy;\n _this.x = x;\n _this.y = y;\n _this.delta = delta;\n return _this;\n }\n MouseWheel.prototype._to_json = function () {\n var delta = this.delta;\n return tslib_1.__assign({}, _super.prototype._to_json.call(this), { delta: delta });\n };\n MouseWheel = tslib_1.__decorate([\n event(\"wheel\")\n ], MouseWheel);\n return MouseWheel;\n }(PointEvent));\n exports.MouseWheel = MouseWheel;\n var MouseMove = /** @class */ (function (_super) {\n tslib_1.__extends(MouseMove, _super);\n function MouseMove() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MouseMove = tslib_1.__decorate([\n event(\"mousemove\")\n ], MouseMove);\n return MouseMove;\n }(PointEvent));\n exports.MouseMove = MouseMove;\n var MouseEnter = /** @class */ (function (_super) {\n tslib_1.__extends(MouseEnter, _super);\n function MouseEnter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MouseEnter = tslib_1.__decorate([\n event(\"mouseenter\")\n ], MouseEnter);\n return MouseEnter;\n }(PointEvent));\n exports.MouseEnter = MouseEnter;\n var MouseLeave = /** @class */ (function (_super) {\n tslib_1.__extends(MouseLeave, _super);\n function MouseLeave() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MouseLeave = tslib_1.__decorate([\n event(\"mouseleave\")\n ], MouseLeave);\n return MouseLeave;\n }(PointEvent));\n exports.MouseLeave = MouseLeave;\n var Tap = /** @class */ (function (_super) {\n tslib_1.__extends(Tap, _super);\n function Tap() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Tap = tslib_1.__decorate([\n event(\"tap\")\n ], Tap);\n return Tap;\n }(PointEvent));\n exports.Tap = Tap;\n var DoubleTap = /** @class */ (function (_super) {\n tslib_1.__extends(DoubleTap, _super);\n function DoubleTap() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DoubleTap = tslib_1.__decorate([\n event(\"doubletap\")\n ], DoubleTap);\n return DoubleTap;\n }(PointEvent));\n exports.DoubleTap = DoubleTap;\n var Press = /** @class */ (function (_super) {\n tslib_1.__extends(Press, _super);\n function Press() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Press = tslib_1.__decorate([\n event(\"press\")\n ], Press);\n return Press;\n }(PointEvent));\n exports.Press = Press;\n var PanStart = /** @class */ (function (_super) {\n tslib_1.__extends(PanStart, _super);\n function PanStart() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PanStart = tslib_1.__decorate([\n event(\"panstart\")\n ], PanStart);\n return PanStart;\n }(PointEvent));\n exports.PanStart = PanStart;\n var PanEnd = /** @class */ (function (_super) {\n tslib_1.__extends(PanEnd, _super);\n function PanEnd() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PanEnd = tslib_1.__decorate([\n event(\"panend\")\n ], PanEnd);\n return PanEnd;\n }(PointEvent));\n exports.PanEnd = PanEnd;\n var PinchStart = /** @class */ (function (_super) {\n tslib_1.__extends(PinchStart, _super);\n function PinchStart() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PinchStart = tslib_1.__decorate([\n event(\"pinchstart\")\n ], PinchStart);\n return PinchStart;\n }(PointEvent));\n exports.PinchStart = PinchStart;\n var PinchEnd = /** @class */ (function (_super) {\n tslib_1.__extends(PinchEnd, _super);\n function PinchEnd() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PinchEnd = tslib_1.__decorate([\n event(\"pinchend\")\n ], PinchEnd);\n return PinchEnd;\n }(PointEvent));\n exports.PinchEnd = PinchEnd;\n}\n","/* core/build_views */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var array_1 = require(24) /* ./util/array */;\n function build_views(view_storage, models, options, cls) {\n if (cls === void 0) {\n cls = function (model) { return model.default_view; };\n }\n var to_remove = array_1.difference(Object.keys(view_storage), models.map(function (model) { return model.id; }));\n for (var _i = 0, to_remove_1 = to_remove; _i < to_remove_1.length; _i++) {\n var model_id = to_remove_1[_i];\n view_storage[model_id].remove();\n delete view_storage[model_id];\n }\n var created_views = [];\n var new_models = models.filter(function (model) { return view_storage[model.id] == null; });\n for (var _a = 0, new_models_1 = new_models; _a < new_models_1.length; _a++) {\n var model = new_models_1[_a];\n var view_cls = cls(model);\n var view_options = tslib_1.__assign({}, options, { model: model, connect_signals: false });\n var view = new view_cls(view_options);\n view_storage[model.id] = view;\n created_views.push(view);\n }\n for (var _b = 0, created_views_1 = created_views; _b < created_views_1.length; _b++) {\n var view = created_views_1[_b];\n view.connect_signals();\n }\n return created_views;\n }\n exports.build_views = build_views;\n function remove_views(view_storage) {\n for (var id in view_storage) {\n view_storage[id].remove();\n delete view_storage[id];\n }\n }\n exports.remove_views = remove_views;\n}\n","/* core/dom */ function _(require, module, exports) {\n var types_1 = require(46) /* ./util/types */;\n var _createElement = function (tag) {\n return function (attrs) {\n if (attrs === void 0) {\n attrs = {};\n }\n var children = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n children[_i - 1] = arguments[_i];\n }\n var element = document.createElement(tag);\n element.classList.add(\"bk\");\n for (var attr in attrs) {\n var value = attrs[attr];\n if (value == null || types_1.isBoolean(value) && !value)\n continue;\n if (attr === \"class\") {\n if (types_1.isString(value))\n value = value.split(/\\s+/);\n if (types_1.isArray(value)) {\n for (var _a = 0, _b = value; _a < _b.length; _a++) {\n var cls = _b[_a];\n if (cls != null)\n element.classList.add(cls);\n }\n continue;\n }\n }\n if (attr === \"style\" && types_1.isPlainObject(value)) {\n for (var prop in value) {\n element.style[prop] = value[prop];\n }\n continue;\n }\n if (attr === \"data\" && types_1.isPlainObject(value)) {\n for (var key in value) {\n element.dataset[key] = value[key]; // XXX: attrs needs a better type\n }\n continue;\n }\n element.setAttribute(attr, value);\n }\n function append(child) {\n if (child instanceof HTMLElement)\n element.appendChild(child);\n else if (types_1.isString(child))\n element.appendChild(document.createTextNode(child));\n else if (child != null && child !== false)\n throw new Error(\"expected an HTMLElement, string, false or null, got \" + JSON.stringify(child));\n }\n for (var _c = 0, children_1 = children; _c < children_1.length; _c++) {\n var child = children_1[_c];\n if (types_1.isArray(child)) {\n for (var _d = 0, child_1 = child; _d < child_1.length; _d++) {\n var _child = child_1[_d];\n append(_child);\n }\n }\n else\n append(child);\n }\n return element;\n };\n };\n function createElement(tag, attrs) {\n var children = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n children[_i - 2] = arguments[_i];\n }\n return _createElement(tag).apply(void 0, [attrs].concat(children));\n }\n exports.createElement = createElement;\n exports.div = _createElement(\"div\"), exports.span = _createElement(\"span\"), exports.canvas = _createElement(\"canvas\"), exports.link = _createElement(\"link\"), exports.style = _createElement(\"style\"), exports.a = _createElement(\"a\"), exports.p = _createElement(\"p\"), exports.i = _createElement(\"i\"), exports.pre = _createElement(\"pre\"), exports.button = _createElement(\"button\"), exports.label = _createElement(\"label\"), exports.input = _createElement(\"input\"), exports.select = _createElement(\"select\"), exports.option = _createElement(\"option\"), exports.optgroup = _createElement(\"optgroup\"), exports.textarea = _createElement(\"textarea\");\n function nbsp() {\n return document.createTextNode(\"\\u00a0\");\n }\n exports.nbsp = nbsp;\n function removeElement(element) {\n var parent = element.parentNode;\n if (parent != null) {\n parent.removeChild(element);\n }\n }\n exports.removeElement = removeElement;\n function replaceWith(element, replacement) {\n var parent = element.parentNode;\n if (parent != null) {\n parent.replaceChild(replacement, element);\n }\n }\n exports.replaceWith = replaceWith;\n function prepend(element) {\n var nodes = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n nodes[_i - 1] = arguments[_i];\n }\n var first = element.firstChild;\n for (var _a = 0, nodes_1 = nodes; _a < nodes_1.length; _a++) {\n var node = nodes_1[_a];\n element.insertBefore(node, first);\n }\n }\n exports.prepend = prepend;\n function empty(element) {\n var child;\n while (child = element.firstChild) {\n element.removeChild(child);\n }\n }\n exports.empty = empty;\n function display(element) {\n element.style.display = \"\";\n }\n exports.display = display;\n function undisplay(element) {\n element.style.display = \"none\";\n }\n exports.undisplay = undisplay;\n function show(element) {\n element.style.visibility = \"\";\n }\n exports.show = show;\n function hide(element) {\n element.style.visibility = \"hidden\";\n }\n exports.hide = hide;\n function offset(element) {\n var rect = element.getBoundingClientRect();\n return {\n top: rect.top + window.pageYOffset - document.documentElement.clientTop,\n left: rect.left + window.pageXOffset - document.documentElement.clientLeft,\n };\n }\n exports.offset = offset;\n function matches(el, selector) {\n var p = Element.prototype;\n var f = p.matches || p.webkitMatchesSelector || p.mozMatchesSelector || p.msMatchesSelector;\n return f.call(el, selector);\n }\n exports.matches = matches;\n function parent(el, selector) {\n var node = el;\n while (node = node.parentElement) {\n if (matches(node, selector))\n return node;\n }\n return null;\n }\n exports.parent = parent;\n function num(value) {\n return parseFloat(value) || 0;\n }\n function extents(el) {\n var style = getComputedStyle(el);\n return {\n border: {\n top: num(style.borderTopWidth),\n bottom: num(style.borderBottomWidth),\n left: num(style.borderLeftWidth),\n right: num(style.borderRightWidth),\n },\n margin: {\n top: num(style.marginTop),\n bottom: num(style.marginBottom),\n left: num(style.marginLeft),\n right: num(style.marginRight),\n },\n padding: {\n top: num(style.paddingTop),\n bottom: num(style.paddingBottom),\n left: num(style.paddingLeft),\n right: num(style.paddingRight),\n },\n };\n }\n exports.extents = extents;\n function size(el) {\n var rect = el.getBoundingClientRect();\n return {\n width: Math.ceil(rect.width),\n height: Math.ceil(rect.height),\n };\n }\n exports.size = size;\n function scroll_size(el) {\n return {\n width: Math.ceil(el.scrollWidth),\n height: Math.ceil(el.scrollHeight),\n };\n }\n exports.scroll_size = scroll_size;\n function outer_size(el) {\n var _a = extents(el).margin, left = _a.left, right = _a.right, top = _a.top, bottom = _a.bottom;\n var _b = size(el), width = _b.width, height = _b.height;\n return {\n width: Math.ceil(width + left + right),\n height: Math.ceil(height + top + bottom),\n };\n }\n exports.outer_size = outer_size;\n function content_size(el) {\n var _a = el.getBoundingClientRect(), left = _a.left, top = _a.top;\n var padding = extents(el).padding;\n var width = 0;\n var height = 0;\n for (var _i = 0, _b = children(el); _i < _b.length; _i++) {\n var child = _b[_i];\n var rect = child.getBoundingClientRect();\n width = Math.max(width, Math.ceil(rect.left - left - padding.left + rect.width));\n height = Math.max(height, Math.ceil(rect.top - top - padding.top + rect.height));\n }\n return { width: width, height: height };\n }\n exports.content_size = content_size;\n function position(el, box, margin) {\n var style = el.style;\n style.left = box.left + \"px\";\n style.top = box.top + \"px\";\n style.width = box.width + \"px\";\n style.height = box.height + \"px\";\n if (margin == null)\n style.margin = \"\";\n else {\n var top_1 = margin.top, right = margin.right, bottom = margin.bottom, left = margin.left;\n style.margin = top_1 + \"px \" + right + \"px \" + bottom + \"px \" + left + \"px\";\n }\n }\n exports.position = position;\n function children(el) {\n return Array.from(el.children);\n }\n exports.children = children;\n var ClassList = /** @class */ (function () {\n function ClassList(el) {\n this.el = el;\n this.classList = el.classList;\n }\n Object.defineProperty(ClassList.prototype, \"values\", {\n get: function () {\n var values = [];\n for (var i_1 = 0; i_1 < this.classList.length; i_1++) {\n var item = this.classList.item(i_1);\n if (item != null)\n values.push(item);\n }\n return values;\n },\n enumerable: true,\n configurable: true\n });\n ClassList.prototype.has = function (cls) {\n return this.classList.contains(cls);\n };\n ClassList.prototype.add = function () {\n var classes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n classes[_i] = arguments[_i];\n }\n for (var _a = 0, classes_1 = classes; _a < classes_1.length; _a++) {\n var cls = classes_1[_a];\n this.classList.add(cls);\n }\n return this;\n };\n ClassList.prototype.remove = function () {\n var classes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n classes[_i] = arguments[_i];\n }\n for (var _a = 0, classes_2 = classes; _a < classes_2.length; _a++) {\n var cls = classes_2[_a];\n this.classList.remove(cls);\n }\n return this;\n };\n ClassList.prototype.clear = function () {\n for (var _i = 0, _a = this.values; _i < _a.length; _i++) {\n var cls = _a[_i];\n if (cls != \"bk\")\n this.classList.remove(cls);\n }\n return this;\n };\n ClassList.prototype.toggle = function (cls, activate) {\n var add = activate != null ? activate : !this.has(cls);\n if (add)\n this.add(cls);\n else\n this.remove(cls);\n return this;\n };\n return ClassList;\n }());\n exports.ClassList = ClassList;\n function classes(el) {\n return new ClassList(el);\n }\n exports.classes = classes;\n var Keys;\n (function (Keys) {\n Keys[Keys[\"Backspace\"] = 8] = \"Backspace\";\n Keys[Keys[\"Tab\"] = 9] = \"Tab\";\n Keys[Keys[\"Enter\"] = 13] = \"Enter\";\n Keys[Keys[\"Esc\"] = 27] = \"Esc\";\n Keys[Keys[\"PageUp\"] = 33] = \"PageUp\";\n Keys[Keys[\"PageDown\"] = 34] = \"PageDown\";\n Keys[Keys[\"Left\"] = 37] = \"Left\";\n Keys[Keys[\"Up\"] = 38] = \"Up\";\n Keys[Keys[\"Right\"] = 39] = \"Right\";\n Keys[Keys[\"Down\"] = 40] = \"Down\";\n Keys[Keys[\"Delete\"] = 46] = \"Delete\";\n })(Keys = exports.Keys || (exports.Keys = {}));\n function undisplayed(el, fn) {\n var display = el.style.display;\n el.style.display = \"none\";\n try {\n return fn();\n }\n finally {\n el.style.display = display;\n }\n }\n exports.undisplayed = undisplayed;\n function unsized(el, fn) {\n return sized(el, {}, fn);\n }\n exports.unsized = unsized;\n function sized(el, size, fn) {\n var _a = el.style, width = _a.width, height = _a.height, position = _a.position, display = _a.display;\n el.style.position = \"absolute\";\n el.style.display = \"\";\n el.style.width = size.width != null && size.width != Infinity ? size.width + \"px\" : \"auto\";\n el.style.height = size.height != null && size.height != Infinity ? size.height + \"px\" : \"auto\";\n try {\n return fn();\n }\n finally {\n el.style.position = position;\n el.style.display = display;\n el.style.width = width;\n el.style.height = height;\n }\n }\n exports.sized = sized;\n}\n","/* core/dom_view */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var view_1 = require(50) /* ./view */;\n var DOM = require(5) /* ./dom */;\n var DOMView = /** @class */ (function (_super) {\n tslib_1.__extends(DOMView, _super);\n function DOMView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n DOMView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._has_finished = false;\n this.el = this._createElement();\n };\n DOMView.prototype.remove = function () {\n DOM.removeElement(this.el);\n _super.prototype.remove.call(this);\n };\n DOMView.prototype.css_classes = function () {\n return [];\n };\n DOMView.prototype.cursor = function (_sx, _sy) {\n return null;\n };\n DOMView.prototype.render = function () { };\n DOMView.prototype.renderTo = function (element) {\n element.appendChild(this.el);\n this.render();\n };\n DOMView.prototype.has_finished = function () {\n return this._has_finished;\n };\n Object.defineProperty(DOMView.prototype, \"_root_element\", {\n get: function () {\n return DOM.parent(this.el, \".bk-root\") || document.body;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DOMView.prototype, \"is_idle\", {\n get: function () {\n return this.has_finished();\n },\n enumerable: true,\n configurable: true\n });\n DOMView.prototype._createElement = function () {\n return DOM.createElement(this.tagName, { class: this.css_classes() });\n };\n return DOMView;\n }(view_1.View));\n exports.DOMView = DOMView;\n DOMView.prototype.tagName = \"div\";\n}\n","/* core/enums */ function _(require, module, exports) {\n exports.Align = [\"start\", \"center\", \"end\"];\n exports.Anchor = [\n \"top_left\", \"top_center\", \"top_right\",\n \"center_left\", \"center\", \"center_right\",\n \"bottom_left\", \"bottom_center\", \"bottom_right\",\n ];\n exports.AngleUnits = [\"deg\", \"rad\"];\n exports.BoxOrigin = [\"corner\", \"center\"];\n exports.ButtonType = [\"default\", \"primary\", \"success\", \"warning\", \"danger\"];\n exports.Dimension = [\"width\", \"height\"];\n exports.Dimensions = [\"width\", \"height\", \"both\"];\n exports.Direction = [\"clock\", \"anticlock\"];\n exports.Distribution = [\"uniform\", \"normal\"];\n exports.FontStyle = [\"normal\", \"italic\", \"bold\", \"bold italic\"];\n exports.HatchPatternType = [\n 'blank', 'dot', 'ring', 'horizontal_line', 'vertical_line', 'cross', 'horizontal_dash',\n 'vertical_dash', 'spiral', 'right_diagonal_line', 'left_diagonal_line', 'diagonal_cross',\n 'right_diagonal_dash', 'left_diagonal_dash', 'horizontal_wave', 'vertical_wave', 'criss_cross',\n ' ', '.', 'o', '-', '|', '+', '\"', ':', '@', '/', '\\\\', 'x', ',', '`', 'v', '>', '*',\n ];\n exports.HTTPMethod = [\"POST\", \"GET\"];\n exports.HexTileOrientation = [\"pointytop\", \"flattop\"];\n exports.HoverMode = [\"mouse\", \"hline\", \"vline\"];\n exports.LatLon = [\"lat\", \"lon\"];\n exports.LegendClickPolicy = [\"none\", \"hide\", \"mute\"];\n exports.LegendLocation = exports.Anchor;\n exports.LineCap = [\"butt\", \"round\", \"square\"];\n exports.LineJoin = [\"miter\", \"round\", \"bevel\"];\n exports.LinePolicy = [\"prev\", \"next\", \"nearest\", \"interp\", \"none\"];\n exports.Location = [\"above\", \"below\", \"left\", \"right\"];\n exports.Logo = [\"normal\", \"grey\"];\n exports.MarkerType = [\n \"asterisk\", \"circle\", \"circle_cross\", \"circle_x\", \"cross\",\n \"dash\", \"diamond\", \"diamond_cross\", \"hex\", \"inverted_triangle\",\n \"square\", \"square_cross\", \"square_x\", \"triangle\", \"x\",\n ];\n exports.Orientation = [\"vertical\", \"horizontal\"];\n exports.OutputBackend = [\"canvas\", \"svg\", \"webgl\"];\n exports.PaddingUnits = [\"percent\", \"absolute\"];\n exports.Place = [\"above\", \"below\", \"left\", \"right\", \"center\"];\n exports.PointPolicy = [\"snap_to_data\", \"follow_mouse\", \"none\"];\n exports.RadiusDimension = [\"x\", \"y\", \"max\", \"min\"];\n exports.RenderLevel = [\"image\", \"underlay\", \"glyph\", \"annotation\", \"overlay\"];\n exports.RenderMode = [\"canvas\", \"css\"];\n exports.ResetPolicy = [\"standard\", \"event_only\"];\n exports.RoundingFunction = [\"round\", \"nearest\", \"floor\", \"rounddown\", \"ceil\", \"roundup\"];\n exports.Side = [\"above\", \"below\", \"left\", \"right\"];\n exports.SizingMode = [\"stretch_width\", \"stretch_height\", \"stretch_both\", \"scale_width\", \"scale_height\", \"scale_both\", \"fixed\"];\n exports.SliderCallbackPolicy = [\"continuous\", \"throttle\", \"mouseup\"];\n exports.Sort = [\"ascending\", \"descending\"];\n exports.SpatialUnits = [\"screen\", \"data\"];\n exports.StartEnd = [\"start\", \"end\"];\n exports.StepMode = [\"after\", \"before\", \"center\"];\n exports.TapBehavior = [\"select\", \"inspect\"];\n exports.TextAlign = [\"left\", \"right\", \"center\"];\n exports.TextBaseline = [\"top\", \"middle\", \"bottom\", \"alphabetic\", \"hanging\", \"ideographic\"];\n exports.TextureRepetition = [\"repeat\", \"repeat_x\", \"repeat_y\", \"no_repeat\"];\n exports.TickLabelOrientation = [\"vertical\", \"horizontal\", \"parallel\", \"normal\"];\n exports.TooltipAttachment = [\"horizontal\", \"vertical\", \"left\", \"right\", \"above\", \"below\"];\n exports.UpdateMode = [\"replace\", \"append\"];\n exports.VerticalAlign = [\"top\", \"middle\", \"bottom\"];\n}\n","/* core/has_props */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var signaling_1 = require(22) /* ./signaling */;\n var property_mixins = require(19) /* ./property_mixins */;\n var refs_1 = require(37) /* ./util/refs */;\n var p = require(18) /* ./properties */;\n var string_1 = require(40) /* ./util/string */;\n var array_1 = require(24) /* ./util/array */;\n var object_1 = require(35) /* ./util/object */;\n var types_1 = require(46) /* ./util/types */;\n var eq_1 = require(33) /* ./util/eq */;\n var HasProps = /** @class */ (function (_super) {\n tslib_1.__extends(HasProps, _super);\n function HasProps(attrs) {\n if (attrs === void 0) {\n attrs = {};\n }\n var _this = _super.call(this) || this;\n _this._subtype = undefined;\n _this.document = null;\n _this.destroyed = new signaling_1.Signal0(_this, \"destroyed\");\n _this.change = new signaling_1.Signal0(_this, \"change\");\n _this.transformchange = new signaling_1.Signal0(_this, \"transformchange\");\n _this.attributes = {};\n _this.properties = {};\n _this._set_after_defaults = {};\n _this._pending = false;\n _this._changing = false;\n for (var name_1 in _this.props) {\n var _a = _this.props[name_1], type = _a.type, default_value = _a.default_value;\n if (type != null)\n _this.properties[name_1] = new type(_this, name_1, default_value);\n else\n throw new Error(\"undefined property type for \" + _this.type + \".\" + name_1);\n }\n // auto generating ID\n if (attrs.id == null)\n _this.setv({ id: string_1.uniqueId() }, { silent: true });\n var deferred = attrs.__deferred__ || false;\n if (deferred) {\n attrs = object_1.clone(attrs);\n delete attrs.__deferred__;\n }\n _this.setv(attrs, { silent: true });\n // allowing us to defer initialization when loading many models\n // when loading a bunch of models, we want to do initialization as a second pass\n // because other objects that this one depends on might not be loaded yet\n if (!deferred)\n _this.finalize();\n return _this;\n }\n HasProps.initClass = function () {\n this.prototype.type = \"HasProps\";\n this.prototype.props = {};\n this.prototype.mixins = [];\n this.define({\n id: [p.Any],\n });\n };\n // }}}\n HasProps._fix_default = function (default_value, _attr) {\n if (default_value === undefined)\n return undefined;\n else if (types_1.isFunction(default_value))\n return default_value;\n else if (!types_1.isObject(default_value))\n return function () { return default_value; };\n else {\n //logger.warn(`${this.prototype.type}.${attr} uses unwrapped non-primitive default value`)\n if (types_1.isArray(default_value))\n return function () { return array_1.copy(default_value); };\n else\n return function () { return object_1.clone(default_value); };\n }\n };\n // TODO: don't use Partial<>, but exclude inherited properties\n HasProps.define = function (obj) {\n var _loop_1 = function (name_2) {\n var prop = obj[name_2];\n if (this_1.prototype.props[name_2] != null)\n throw new Error(\"attempted to redefine property '\" + this_1.prototype.type + \".\" + name_2 + \"'\");\n if (this_1.prototype[name_2] != null)\n throw new Error(\"attempted to redefine attribute '\" + this_1.prototype.type + \".\" + name_2 + \"'\");\n Object.defineProperty(this_1.prototype, name_2, {\n // XXX: don't use tail calls in getters/setters due to https://bugs.webkit.org/show_bug.cgi?id=164306\n get: function () {\n var value = this.getv(name_2);\n return value;\n },\n set: function (value) {\n var _a;\n this.setv((_a = {}, _a[name_2] = value, _a));\n return this;\n },\n configurable: false,\n enumerable: true,\n });\n var _a = prop, type = _a[0], default_value = _a[1], internal = _a[2];\n var refined_prop = {\n type: type,\n default_value: this_1._fix_default(default_value, name_2),\n internal: internal || false,\n };\n var props = object_1.clone(this_1.prototype.props);\n props[name_2] = refined_prop;\n this_1.prototype.props = props;\n };\n var this_1 = this;\n for (var name_2 in obj) {\n _loop_1(name_2);\n }\n };\n HasProps.internal = function (obj) {\n var _object = {};\n for (var name_3 in obj) {\n var prop = obj[name_3];\n var type = prop[0], default_value = prop[1];\n _object[name_3] = [type, default_value, true];\n }\n this.define(_object);\n };\n HasProps.mixin = function () {\n var names = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n names[_i] = arguments[_i];\n }\n this.define(property_mixins.create(names));\n var mixins = this.prototype.mixins.concat(names);\n this.prototype.mixins = mixins;\n };\n HasProps.mixins = function (names) {\n this.mixin.apply(this, names);\n };\n HasProps.override = function (obj) {\n for (var name_4 in obj) {\n var default_value = this._fix_default(obj[name_4], name_4);\n var value = this.prototype.props[name_4];\n if (value == null)\n throw new Error(\"attempted to override nonexistent '\" + this.prototype.type + \".\" + name_4 + \"'\");\n var props = object_1.clone(this.prototype.props);\n props[name_4] = tslib_1.__assign({}, value, { default_value: default_value });\n this.prototype.props = props;\n }\n };\n HasProps.prototype.toString = function () {\n return this.type + \"(\" + this.id + \")\";\n };\n HasProps.prototype.finalize = function () {\n var _this = this;\n // This is necessary because the initial creation of properties relies on\n // model.get which is not usable at that point yet in the constructor. This\n // initializer is called when deferred initialization happens for all models\n // and insures that the Bokeh properties are initialized from Backbone\n // attributes in a consistent way.\n //\n // TODO (bev) split property creation up into two parts so that only the\n // portion of init that can be done happens in HasProps constructor and so\n // that subsequent updates do not duplicate that setup work.\n for (var name_5 in this.properties) {\n var prop = this.properties[name_5];\n prop.update();\n if (prop.spec.transform != null)\n this.connect(prop.spec.transform.change, function () { return _this.transformchange.emit(); });\n }\n this.initialize();\n this.connect_signals();\n };\n HasProps.prototype.initialize = function () { };\n HasProps.prototype.connect_signals = function () { };\n HasProps.prototype.disconnect_signals = function () {\n signaling_1.Signal.disconnectReceiver(this);\n };\n HasProps.prototype.destroy = function () {\n this.disconnect_signals();\n this.destroyed.emit();\n };\n // Create a new model with identical attributes to this one.\n HasProps.prototype.clone = function () {\n return new this.constructor(this.attributes);\n };\n // Set a hash of model attributes on the object, firing `\"change\"`. This is\n // the core primitive operation of a model, updating the data and notifying\n // anyone who needs to know about the change in state. The heart of the beast.\n HasProps.prototype._setv = function (attrs, options) {\n // Extract attributes and options.\n var check_eq = options.check_eq;\n var silent = options.silent;\n var changes = [];\n var changing = this._changing;\n this._changing = true;\n var current = this.attributes;\n // For each `set` attribute, update or delete the current value.\n for (var attr in attrs) {\n var val = attrs[attr];\n if (check_eq !== false) {\n if (!eq_1.isEqual(current[attr], val))\n changes.push(attr);\n }\n else\n changes.push(attr);\n current[attr] = val;\n }\n // Trigger all relevant attribute changes.\n if (!silent) {\n if (changes.length > 0)\n this._pending = true;\n for (var i = 0; i < changes.length; i++)\n this.properties[changes[i]].change.emit();\n }\n // You might be wondering why there's a `while` loop here. Changes can\n // be recursively nested within `\"change\"` events.\n if (changing)\n return;\n if (!silent && !options.no_change) {\n while (this._pending) {\n this._pending = false;\n this.change.emit();\n }\n }\n this._pending = false;\n this._changing = false;\n };\n HasProps.prototype.setv = function (attrs, options) {\n if (options === void 0) {\n options = {};\n }\n for (var key in attrs) {\n if (!attrs.hasOwnProperty(key))\n continue;\n var prop_name = key;\n if (this.props[prop_name] == null)\n throw new Error(\"property \" + this.type + \".\" + prop_name + \" wasn't declared\");\n if (!(options != null && options.defaults))\n this._set_after_defaults[key] = true;\n }\n if (!object_1.isEmpty(attrs)) {\n var old = {};\n for (var key in attrs)\n old[key] = this.getv(key);\n this._setv(attrs, options);\n var silent = options.silent;\n if (silent == null || !silent) {\n for (var key in attrs)\n this._tell_document_about_change(key, old[key], this.getv(key), options);\n }\n }\n };\n HasProps.prototype.getv = function (prop_name) {\n if (this.props[prop_name] == null)\n throw new Error(\"property \" + this.type + \".\" + prop_name + \" wasn't declared\");\n else\n return this.attributes[prop_name];\n };\n HasProps.prototype.ref = function () {\n return refs_1.create_ref(this);\n };\n // we only keep the subtype so we match Python;\n // only Python cares about this\n HasProps.prototype.set_subtype = function (subtype) {\n this._subtype = subtype;\n };\n HasProps.prototype.attribute_is_serializable = function (attr) {\n var prop = this.props[attr];\n if (prop == null)\n throw new Error(this.type + \".attribute_is_serializable('\" + attr + \"'): \" + attr + \" wasn't declared\");\n else\n return !prop.internal;\n };\n // dict of attributes that should be serialized to the server. We\n // sometimes stick things in attributes that aren't part of the\n // Document's models, subtypes that do that have to remove their\n // extra attributes here.\n HasProps.prototype.serializable_attributes = function () {\n var attrs = {};\n for (var name_6 in this.attributes) {\n var value = this.attributes[name_6];\n if (this.attribute_is_serializable(name_6))\n attrs[name_6] = value;\n }\n return attrs;\n };\n HasProps._value_to_json = function (_key, value, _optional_parent_object) {\n if (value instanceof HasProps)\n return value.ref();\n else if (types_1.isArray(value)) {\n var ref_array = [];\n for (var i = 0; i < value.length; i++) {\n var v = value[i];\n ref_array.push(HasProps._value_to_json(i.toString(), v, value));\n }\n return ref_array;\n }\n else if (types_1.isPlainObject(value)) {\n var ref_obj = {};\n for (var subkey in value) {\n if (value.hasOwnProperty(subkey))\n ref_obj[subkey] = HasProps._value_to_json(subkey, value[subkey], value);\n }\n return ref_obj;\n }\n else\n return value;\n };\n // Convert attributes to \"shallow\" JSON (values which are themselves models\n // are included as just references)\n HasProps.prototype.attributes_as_json = function (include_defaults, value_to_json) {\n if (include_defaults === void 0) {\n include_defaults = true;\n }\n if (value_to_json === void 0) {\n value_to_json = HasProps._value_to_json;\n }\n var serializable = this.serializable_attributes();\n var attrs = {};\n for (var key in serializable) {\n if (serializable.hasOwnProperty(key)) {\n var value = serializable[key];\n if (include_defaults)\n attrs[key] = value;\n else if (key in this._set_after_defaults)\n attrs[key] = value;\n }\n }\n return value_to_json(\"attributes\", attrs, this);\n };\n // this is like _value_record_references but expects to find refs\n // instead of models, and takes a doc to look up the refs in\n HasProps._json_record_references = function (doc, v, result, recurse) {\n if (v == null) {\n }\n else if (refs_1.is_ref(v)) {\n if (!(v.id in result)) {\n var model = doc.get_model_by_id(v.id);\n HasProps._value_record_references(model, result, recurse);\n }\n }\n else if (types_1.isArray(v)) {\n for (var _i = 0, v_1 = v; _i < v_1.length; _i++) {\n var elem = v_1[_i];\n HasProps._json_record_references(doc, elem, result, recurse);\n }\n }\n else if (types_1.isPlainObject(v)) {\n for (var k in v) {\n if (v.hasOwnProperty(k)) {\n var elem = v[k];\n HasProps._json_record_references(doc, elem, result, recurse);\n }\n }\n }\n };\n // add all references from 'v' to 'result', if recurse\n // is true then descend into refs, if false only\n // descend into non-refs\n HasProps._value_record_references = function (v, result, recurse) {\n if (v == null) {\n }\n else if (v instanceof HasProps) {\n if (!(v.id in result)) {\n result[v.id] = v;\n if (recurse) {\n var immediate = v._immediate_references();\n for (var _i = 0, immediate_1 = immediate; _i < immediate_1.length; _i++) {\n var obj = immediate_1[_i];\n HasProps._value_record_references(obj, result, true);\n } // true=recurse\n }\n }\n }\n else if (v.buffer instanceof ArrayBuffer) {\n }\n else if (types_1.isArray(v)) {\n for (var _a = 0, v_2 = v; _a < v_2.length; _a++) {\n var elem = v_2[_a];\n HasProps._value_record_references(elem, result, recurse);\n }\n }\n else if (types_1.isPlainObject(v)) {\n for (var k in v) {\n if (v.hasOwnProperty(k)) {\n var elem = v[k];\n HasProps._value_record_references(elem, result, recurse);\n }\n }\n }\n };\n // Get models that are immediately referenced by our properties\n // (do not recurse, do not include ourselves)\n HasProps.prototype._immediate_references = function () {\n var result = {};\n var attrs = this.serializable_attributes();\n for (var key in attrs) {\n var value = attrs[key];\n HasProps._value_record_references(value, result, false); // false = no recurse\n }\n return object_1.values(result);\n };\n HasProps.prototype.references = function () {\n var references = {};\n HasProps._value_record_references(this, references, true);\n return object_1.values(references);\n };\n HasProps.prototype._doc_attached = function () { };\n HasProps.prototype.attach_document = function (doc) {\n // This should only be called by the Document implementation to set the document field\n if (this.document != null && this.document != doc)\n throw new Error(\"models must be owned by only a single document\");\n this.document = doc;\n this._doc_attached();\n };\n HasProps.prototype.detach_document = function () {\n // This should only be called by the Document implementation to unset the document field\n this.document = null;\n };\n HasProps.prototype._tell_document_about_change = function (attr, old, new_, options) {\n if (!this.attribute_is_serializable(attr))\n return;\n if (this.document != null) {\n var new_refs = {};\n HasProps._value_record_references(new_, new_refs, false);\n var old_refs = {};\n HasProps._value_record_references(old, old_refs, false);\n var need_invalidate = false;\n for (var new_id in new_refs) {\n if (!(new_id in old_refs)) {\n need_invalidate = true;\n break;\n }\n }\n if (!need_invalidate) {\n for (var old_id in old_refs) {\n if (!(old_id in new_refs)) {\n need_invalidate = true;\n break;\n }\n }\n }\n if (need_invalidate)\n this.document._invalidate_all_models();\n this.document._notify_change(this, attr, old, new_, options);\n }\n };\n HasProps.prototype.materialize_dataspecs = function (source) {\n // Note: this should be moved to a function separate from HasProps\n var data = {};\n for (var name_7 in this.properties) {\n var prop = this.properties[name_7];\n if (!(prop instanceof p.VectorSpec))\n continue;\n // this skips optional properties like radius for circles\n if (prop.optional && prop.spec.value == null && !(name_7 in this._set_after_defaults))\n continue;\n var array = prop.array(source);\n data[\"_\" + name_7] = array;\n // the shapes are indexed by the column name, but when we materialize the dataspec, we should\n // store under the canonical field name, e.g. _image_shape, even if the column name is \"foo\"\n if (prop.spec.field != null && prop.spec.field in source._shapes)\n data[\"_\" + name_7 + \"_shape\"] = source._shapes[prop.spec.field];\n if (prop instanceof p.DistanceSpec)\n data[\"max_\" + name_7] = array_1.max(array);\n }\n return data;\n };\n return HasProps;\n }(signaling_1.Signalable()));\n exports.HasProps = HasProps;\n HasProps.initClass();\n}\n","/* core/hittest */ function _(require, module, exports) {\n var array_1 = require(24) /* ./util/array */;\n var selection_1 = require(209) /* ../models/selections/selection */;\n function point_in_poly(x, y, px, py) {\n var inside = false;\n var x1 = px[px.length - 1];\n var y1 = py[py.length - 1];\n for (var i = 0; i < px.length; i++) {\n var x2 = px[i];\n var y2 = py[i];\n if ((y1 < y) != (y2 < y)) {\n if (x1 + (y - y1) / (y2 - y1) * (x2 - x1) < x)\n inside = !inside;\n }\n x1 = x2;\n y1 = y2;\n }\n return inside;\n }\n exports.point_in_poly = point_in_poly;\n function point_in_ellipse(x, y, angle, b, a, x0, y0) {\n var A = (Math.pow((Math.cos(angle) / a), 2) + Math.pow((Math.sin(angle) / b), 2));\n var B = 2 * Math.cos(angle) * Math.sin(angle) * (Math.pow((1 / a), 2) - Math.pow((1 / b), 2));\n var C = (Math.pow((Math.cos(angle) / b), 2) + Math.pow((Math.sin(angle) / a), 2));\n var eqn = A * Math.pow((x - x0), 2) + B * (x - x0) * (y - y0) + C * Math.pow((y - y0), 2);\n var inside = eqn <= 1;\n return inside;\n }\n exports.point_in_ellipse = point_in_ellipse;\n function create_empty_hit_test_result() {\n return new selection_1.Selection();\n }\n exports.create_empty_hit_test_result = create_empty_hit_test_result;\n function create_hit_test_result_from_hits(hits) {\n var result = new selection_1.Selection();\n result.indices = array_1.sort_by(hits, function (_a) {\n var _i = _a[0], dist = _a[1];\n return dist;\n }).map(function (_a) {\n var i = _a[0], _dist = _a[1];\n return i;\n });\n return result;\n }\n exports.create_hit_test_result_from_hits = create_hit_test_result_from_hits;\n function validate_bbox_coords(_a, _b) {\n var _c, _d;\n var x0 = _a[0], x1 = _a[1];\n var y0 = _b[0], y1 = _b[1];\n // spatial index (flatbush) expects x0, y0 to be min, x1, y1 max\n if (x0 > x1)\n _c = [x1, x0], x0 = _c[0], x1 = _c[1];\n if (y0 > y1)\n _d = [y1, y0], y0 = _d[0], y1 = _d[1];\n return { minX: x0, minY: y0, maxX: x1, maxY: y1 };\n }\n exports.validate_bbox_coords = validate_bbox_coords;\n function sqr(x) {\n return x * x;\n }\n function dist_2_pts(p0, p1) {\n return sqr(p0.x - p1.x) + sqr(p0.y - p1.y);\n }\n exports.dist_2_pts = dist_2_pts;\n function dist_to_segment_squared(p, v, w) {\n var l2 = dist_2_pts(v, w);\n if (l2 == 0)\n return dist_2_pts(p, v);\n var t = ((p.x - v.x) * (w.x - v.x) + (p.y - v.y) * (w.y - v.y)) / l2;\n if (t < 0)\n return dist_2_pts(p, v);\n if (t > 1)\n return dist_2_pts(p, w);\n var q = { x: v.x + t * (w.x - v.x), y: v.y + t * (w.y - v.y) };\n return dist_2_pts(p, q);\n }\n exports.dist_to_segment_squared = dist_to_segment_squared;\n function dist_to_segment(p, v, w) {\n return Math.sqrt(dist_to_segment_squared(p, v, w));\n }\n exports.dist_to_segment = dist_to_segment;\n function check_2_segments_intersect(l0_x0, l0_y0, l0_x1, l0_y1, l1_x0, l1_y0, l1_x1, l1_y1) {\n /*\n * Check if 2 segments (l0 and l1) intersect. Returns a structure with\n * the following attributes:\n * * hit (boolean): whether the 2 segments intersect\n * * x (float): x coordinate of the intersection point\n * * y (float): y coordinate of the intersection point\n */\n var den = ((l1_y1 - l1_y0) * (l0_x1 - l0_x0)) - ((l1_x1 - l1_x0) * (l0_y1 - l0_y0));\n if (den == 0) {\n return { hit: false, x: null, y: null };\n }\n else {\n var a = l0_y0 - l1_y0;\n var b = l0_x0 - l1_x0;\n var num1 = ((l1_x1 - l1_x0) * a) - ((l1_y1 - l1_y0) * b);\n var num2 = ((l0_x1 - l0_x0) * a) - ((l0_y1 - l0_y0) * b);\n a = num1 / den;\n b = num2 / den;\n var x = l0_x0 + (a * (l0_x1 - l0_x0));\n var y = l0_y0 + (a * (l0_y1 - l0_y0));\n return { hit: (a > 0 && a < 1) && (b > 0 && b < 1), x: x, y: y };\n }\n }\n exports.check_2_segments_intersect = check_2_segments_intersect;\n}\n","/* core/layout/alignments */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var layoutable_1 = require(14) /* ./layoutable */;\n var bbox_1 = require(27) /* ../util/bbox */;\n var Stack = /** @class */ (function (_super) {\n tslib_1.__extends(Stack, _super);\n function Stack() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.children = [];\n return _this;\n }\n return Stack;\n }(layoutable_1.Layoutable));\n exports.Stack = Stack;\n var HStack = /** @class */ (function (_super) {\n tslib_1.__extends(HStack, _super);\n function HStack() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HStack.prototype._measure = function (_viewport) {\n var width = 0;\n var height = 0;\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var size_hint = child.measure({ width: 0, height: 0 });\n width += size_hint.width;\n height = Math.max(height, size_hint.height);\n }\n return { width: width, height: height };\n };\n HStack.prototype._set_geometry = function (outer, inner) {\n _super.prototype._set_geometry.call(this, outer, inner);\n var top = outer.top, bottom = outer.bottom;\n var left = outer.left;\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var width = child.measure({ width: 0, height: 0 }).width;\n child.set_geometry(new bbox_1.BBox({ left: left, width: width, top: top, bottom: bottom }));\n left += width;\n }\n };\n return HStack;\n }(Stack));\n exports.HStack = HStack;\n var VStack = /** @class */ (function (_super) {\n tslib_1.__extends(VStack, _super);\n function VStack() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VStack.prototype._measure = function (_viewport) {\n var width = 0;\n var height = 0;\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var size_hint = child.measure({ width: 0, height: 0 });\n width = Math.max(width, size_hint.width);\n height += size_hint.height;\n }\n return { width: width, height: height };\n };\n VStack.prototype._set_geometry = function (outer, inner) {\n _super.prototype._set_geometry.call(this, outer, inner);\n var left = outer.left, right = outer.right;\n var top = outer.top;\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var child = _a[_i];\n var height = child.measure({ width: 0, height: 0 }).height;\n child.set_geometry(new bbox_1.BBox({ top: top, height: height, left: left, right: right }));\n top += height;\n }\n };\n return VStack;\n }(Stack));\n exports.VStack = VStack;\n var AnchorLayout = /** @class */ (function (_super) {\n tslib_1.__extends(AnchorLayout, _super);\n function AnchorLayout() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.children = [];\n return _this;\n }\n AnchorLayout.prototype._measure = function (viewport) {\n var width = 0;\n var height = 0;\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var layout = _a[_i].layout;\n var size_hint = layout.measure(viewport);\n width = Math.max(width, size_hint.width);\n height = Math.max(height, size_hint.height);\n }\n return { width: width, height: height };\n };\n AnchorLayout.prototype._set_geometry = function (outer, inner) {\n _super.prototype._set_geometry.call(this, outer, inner);\n for (var _i = 0, _a = this.children; _i < _a.length; _i++) {\n var _b = _a[_i], layout = _b.layout, anchor = _b.anchor, margin = _b.margin;\n var left = outer.left, right = outer.right, top_1 = outer.top, bottom = outer.bottom, hcenter = outer.hcenter, vcenter = outer.vcenter;\n var _c = layout.measure(outer), width = _c.width, height = _c.height;\n var bbox = void 0;\n switch (anchor) {\n case 'top_left':\n bbox = new bbox_1.BBox({ left: left + margin, top: top_1 + margin, width: width, height: height });\n break;\n case 'top_center':\n bbox = new bbox_1.BBox({ hcenter: hcenter, top: top_1 + margin, width: width, height: height });\n break;\n case 'top_right':\n bbox = new bbox_1.BBox({ right: right - margin, top: top_1 + margin, width: width, height: height });\n break;\n case 'bottom_right':\n bbox = new bbox_1.BBox({ right: right - margin, bottom: bottom - margin, width: width, height: height });\n break;\n case 'bottom_center':\n bbox = new bbox_1.BBox({ hcenter: hcenter, bottom: bottom - margin, width: width, height: height });\n break;\n case 'bottom_left':\n bbox = new bbox_1.BBox({ left: left + margin, bottom: bottom - margin, width: width, height: height });\n break;\n case 'center_left':\n bbox = new bbox_1.BBox({ left: left + margin, vcenter: vcenter, width: width, height: height });\n break;\n case 'center':\n bbox = new bbox_1.BBox({ hcenter: hcenter, vcenter: vcenter, width: width, height: height });\n break;\n case 'center_right':\n bbox = new bbox_1.BBox({ right: right - margin, vcenter: vcenter, width: width, height: height });\n break;\n default:\n throw new Error(\"unreachable\");\n }\n layout.set_geometry(bbox);\n }\n };\n return AnchorLayout;\n }(layoutable_1.Layoutable));\n exports.AnchorLayout = AnchorLayout;\n}\n","/* core/layout/grid */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var types_1 = require(16) /* ./types */;\n var layoutable_1 = require(14) /* ./layoutable */;\n var types_2 = require(46) /* ../util/types */;\n var bbox_1 = require(27) /* ../util/bbox */;\n var array_1 = require(24) /* ../util/array */;\n var max = Math.max, round = Math.round;\n var DefaultMap = /** @class */ (function () {\n function DefaultMap(def) {\n this.def = def;\n this._map = new Map();\n }\n DefaultMap.prototype.get = function (key) {\n var value = this._map.get(key);\n if (value === undefined) {\n value = this.def();\n this._map.set(key, value);\n }\n return value;\n };\n DefaultMap.prototype.apply = function (key, fn) {\n var value = this.get(key);\n this._map.set(key, fn(value));\n };\n return DefaultMap;\n }());\n var Container = /** @class */ (function () {\n function Container() {\n this._items = [];\n this._nrows = 0;\n this._ncols = 0;\n }\n Object.defineProperty(Container.prototype, \"nrows\", {\n get: function () {\n return this._nrows;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Container.prototype, \"ncols\", {\n get: function () {\n return this._ncols;\n },\n enumerable: true,\n configurable: true\n });\n Container.prototype.add = function (span, data) {\n var r1 = span.r1, c1 = span.c1;\n this._nrows = max(this._nrows, r1 + 1);\n this._ncols = max(this._ncols, c1 + 1);\n this._items.push({ span: span, data: data });\n };\n Container.prototype.at = function (r, c) {\n var selected = this._items.filter(function (_a) {\n var span = _a.span;\n return span.r0 <= r && r <= span.r1 &&\n span.c0 <= c && c <= span.c1;\n });\n return selected.map(function (_a) {\n var data = _a.data;\n return data;\n });\n };\n Container.prototype.row = function (r) {\n var selected = this._items.filter(function (_a) {\n var span = _a.span;\n return span.r0 <= r && r <= span.r1;\n });\n return selected.map(function (_a) {\n var data = _a.data;\n return data;\n });\n };\n Container.prototype.col = function (c) {\n var selected = this._items.filter(function (_a) {\n var span = _a.span;\n return span.c0 <= c && c <= span.c1;\n });\n return selected.map(function (_a) {\n var data = _a.data;\n return data;\n });\n };\n Container.prototype.foreach = function (fn) {\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\n var _b = _a[_i], span = _b.span, data = _b.data;\n fn(span, data);\n }\n };\n Container.prototype.map = function (fn) {\n var result = new Container();\n for (var _i = 0, _a = this._items; _i < _a.length; _i++) {\n var _b = _a[_i], span = _b.span, data = _b.data;\n result.add(span, fn(span, data));\n }\n return result;\n };\n return Container;\n }());\n var Grid = /** @class */ (function (_super) {\n tslib_1.__extends(Grid, _super);\n function Grid(items) {\n if (items === void 0) {\n items = [];\n }\n var _this = _super.call(this) || this;\n _this.items = items;\n _this.rows = \"auto\";\n _this.cols = \"auto\";\n _this.spacing = 0;\n _this.absolute = false;\n return _this;\n }\n Grid.prototype.is_width_expanding = function () {\n if (_super.prototype.is_width_expanding.call(this))\n return true;\n if (this.sizing.width_policy == \"fixed\")\n return false;\n var cols = this._state.cols;\n return array_1.some(cols, function (col) { return col.policy == \"max\"; });\n };\n Grid.prototype.is_height_expanding = function () {\n if (_super.prototype.is_height_expanding.call(this))\n return true;\n if (this.sizing.height_policy == \"fixed\")\n return false;\n var rows = this._state.rows;\n return array_1.some(rows, function (row) { return row.policy == \"max\"; });\n };\n Grid.prototype._init = function () {\n var _this = this;\n _super.prototype._init.call(this);\n var items = new Container();\n for (var _i = 0, _a = this.items; _i < _a.length; _i++) {\n var _b = _a[_i], layout = _b.layout, row = _b.row, col = _b.col, row_span = _b.row_span, col_span = _b.col_span;\n if (layout.sizing.visible) {\n var r0 = row;\n var c0 = col;\n var r1 = row + (row_span != null ? row_span : 1) - 1;\n var c1 = col + (col_span != null ? col_span : 1) - 1;\n items.add({ r0: r0, c0: c0, r1: r1, c1: c1 }, layout);\n }\n }\n var nrows = items.nrows, ncols = items.ncols;\n var rows = new Array(nrows);\n var _loop_1 = function (y) {\n var row = (function () {\n var sizing = types_2.isPlainObject(_this.rows) ? _this.rows[y] || _this.rows[\"*\"] : _this.rows;\n if (sizing == null)\n return { policy: \"auto\" };\n else if (types_2.isNumber(sizing))\n return { policy: \"fixed\", height: sizing };\n else if (types_2.isString(sizing))\n return { policy: sizing };\n else\n return sizing;\n })();\n var align = row.align || \"auto\";\n if (row.policy == \"fixed\")\n rows[y] = { policy: \"fixed\", height: row.height, align: align };\n else if (row.policy == \"min\")\n rows[y] = { policy: \"min\", align: align };\n else if (row.policy == \"fit\" || row.policy == \"max\")\n rows[y] = { policy: row.policy, flex: row.flex || 1, align: align };\n else if (row.policy == \"auto\") {\n if (array_1.some(items.row(y), function (layout) { return layout.is_height_expanding(); }))\n rows[y] = { policy: \"max\", flex: 1, align: align };\n else\n rows[y] = { policy: \"min\", align: align };\n }\n else\n throw new Error(\"unrechable\");\n };\n for (var y = 0; y < nrows; y++) {\n _loop_1(y);\n }\n var cols = new Array(ncols);\n var _loop_2 = function (x) {\n var col = (function () {\n var sizing = types_2.isPlainObject(_this.cols) ? _this.cols[x] || _this.cols[\"*\"] : _this.cols;\n if (sizing == null)\n return { policy: \"auto\" };\n else if (types_2.isNumber(sizing))\n return { policy: \"fixed\", width: sizing };\n else if (types_2.isString(sizing))\n return { policy: sizing };\n else\n return sizing;\n })();\n var align = col.align || \"auto\";\n if (col.policy == \"fixed\")\n cols[x] = { policy: \"fixed\", width: col.width, align: align };\n else if (col.policy == \"min\")\n cols[x] = { policy: \"min\", align: align };\n else if (col.policy == \"fit\" || col.policy == \"max\")\n cols[x] = { policy: col.policy, flex: col.flex || 1, align: align };\n else if (col.policy == \"auto\") {\n if (array_1.some(items.col(x), function (layout) { return layout.is_width_expanding(); }))\n cols[x] = { policy: \"max\", flex: 1, align: align };\n else\n cols[x] = { policy: \"min\", align: align };\n }\n else\n throw new Error(\"unrechable\");\n };\n for (var x = 0; x < ncols; x++) {\n _loop_2(x);\n }\n var _c = types_2.isNumber(this.spacing) ? [this.spacing, this.spacing] : this.spacing, rspacing = _c[0], cspacing = _c[1];\n this._state = { items: items, nrows: nrows, ncols: ncols, rows: rows, cols: cols, rspacing: rspacing, cspacing: cspacing };\n };\n Grid.prototype._measure_totals = function (row_heights, col_widths) {\n var _a = this._state, nrows = _a.nrows, ncols = _a.ncols, rspacing = _a.rspacing, cspacing = _a.cspacing;\n return {\n height: array_1.sum(row_heights) + (nrows - 1) * rspacing,\n width: array_1.sum(col_widths) + (ncols - 1) * cspacing,\n };\n };\n Grid.prototype._measure_cells = function (cell_viewport) {\n var _a = this._state, items = _a.items, nrows = _a.nrows, ncols = _a.ncols, rows = _a.rows, cols = _a.cols, rspacing = _a.rspacing, cspacing = _a.cspacing;\n var row_heights = new Array(nrows);\n for (var r = 0; r < nrows; r++) {\n var row = rows[r];\n row_heights[r] = row.policy == \"fixed\" ? row.height : 0;\n }\n var col_widths = new Array(ncols);\n for (var c = 0; c < ncols; c++) {\n var col = cols[c];\n col_widths[c] = col.policy == \"fixed\" ? col.width : 0;\n }\n var size_hints = new Container();\n items.foreach(function (span, layout) {\n var r0 = span.r0, c0 = span.c0, r1 = span.r1, c1 = span.c1;\n var rspace = (r1 - r0) * rspacing;\n var cspace = (c1 - c0) * cspacing;\n var height = 0;\n for (var r = r0; r <= r1; r++) {\n height += cell_viewport(r, c0).height;\n }\n height += rspace;\n var width = 0;\n for (var c = c0; c <= c1; c++) {\n width += cell_viewport(r0, c).width;\n }\n width += cspace;\n var size_hint = layout.measure({ width: width, height: height });\n size_hints.add(span, { layout: layout, size_hint: size_hint });\n var size = new types_1.Sizeable(size_hint).grow_by(layout.sizing.margin);\n size.height -= rspace;\n size.width -= cspace;\n var radjustable = [];\n for (var r = r0; r <= r1; r++) {\n var row = rows[r];\n if (row.policy == \"fixed\")\n size.height -= row.height;\n else\n radjustable.push(r);\n }\n if (size.height > 0) {\n var rheight = round(size.height / radjustable.length);\n for (var _i = 0, radjustable_1 = radjustable; _i < radjustable_1.length; _i++) {\n var r = radjustable_1[_i];\n row_heights[r] = max(row_heights[r], rheight);\n }\n }\n var cadjustable = [];\n for (var c = c0; c <= c1; c++) {\n var col = cols[c];\n if (col.policy == \"fixed\")\n size.width -= col.width;\n else\n cadjustable.push(c);\n }\n if (size.width > 0) {\n var cwidth = round(size.width / cadjustable.length);\n for (var _a = 0, cadjustable_1 = cadjustable; _a < cadjustable_1.length; _a++) {\n var c = cadjustable_1[_a];\n col_widths[c] = max(col_widths[c], cwidth);\n }\n }\n });\n var size = this._measure_totals(row_heights, col_widths);\n return { size: size, row_heights: row_heights, col_widths: col_widths, size_hints: size_hints };\n };\n Grid.prototype._measure_grid = function (viewport) {\n var _a = this._state, nrows = _a.nrows, ncols = _a.ncols, rows = _a.rows, cols = _a.cols, rspacing = _a.rspacing, cspacing = _a.cspacing;\n var preferred = this._measure_cells(function (y, x) {\n var row = rows[y];\n var col = cols[x];\n return {\n width: col.policy == \"fixed\" ? col.width : Infinity,\n height: row.policy == \"fixed\" ? row.height : Infinity,\n };\n });\n var available_height;\n if (this.sizing.height_policy == \"fixed\" && this.sizing.height != null)\n available_height = this.sizing.height;\n else if (viewport.height != Infinity && this.is_height_expanding())\n available_height = viewport.height;\n else\n available_height = preferred.size.height;\n var height_flex = 0;\n for (var y = 0; y < nrows; y++) {\n var row = rows[y];\n if (row.policy == \"fit\" || row.policy == \"max\")\n height_flex += row.flex;\n else\n available_height -= preferred.row_heights[y];\n }\n available_height -= (nrows - 1) * rspacing;\n if (height_flex != 0 && available_height > 0) {\n for (var y = 0; y < nrows; y++) {\n var row = rows[y];\n if (row.policy == \"fit\" || row.policy == \"max\") {\n var height = round(available_height * (row.flex / height_flex));\n available_height -= height;\n preferred.row_heights[y] = height;\n height_flex -= row.flex;\n }\n }\n }\n else if (available_height < 0) {\n var nadjustable = 0;\n for (var y = 0; y < nrows; y++) {\n var row = rows[y];\n if (row.policy != \"fixed\")\n nadjustable++;\n }\n var overflow_height = -available_height;\n for (var y = 0; y < nrows; y++) {\n var row = rows[y];\n if (row.policy != \"fixed\") {\n var height = preferred.row_heights[y];\n var cutoff = round(overflow_height / nadjustable);\n preferred.row_heights[y] = max(height - cutoff, 0);\n overflow_height -= cutoff > height ? height : cutoff;\n nadjustable--;\n }\n }\n }\n var available_width;\n if (this.sizing.width_policy == \"fixed\" && this.sizing.width != null)\n available_width = this.sizing.width;\n else if (viewport.width != Infinity && this.is_width_expanding())\n available_width = viewport.width;\n else\n available_width = preferred.size.width;\n var width_flex = 0;\n for (var x = 0; x < ncols; x++) {\n var col = cols[x];\n if (col.policy == \"fit\" || col.policy == \"max\")\n width_flex += col.flex;\n else\n available_width -= preferred.col_widths[x];\n }\n available_width -= (ncols - 1) * cspacing;\n if (width_flex != 0 && available_width > 0) {\n for (var x = 0; x < ncols; x++) {\n var col = cols[x];\n if (col.policy == \"fit\" || col.policy == \"max\") {\n var width = round(available_width * (col.flex / width_flex));\n available_width -= width;\n preferred.col_widths[x] = width;\n width_flex -= col.flex;\n }\n }\n }\n else if (available_width < 0) {\n var nadjustable = 0;\n for (var x = 0; x < ncols; x++) {\n var col = cols[x];\n if (col.policy != \"fixed\")\n nadjustable++;\n }\n var overflow_width = -available_width;\n for (var x = 0; x < ncols; x++) {\n var col = cols[x];\n if (col.policy != \"fixed\") {\n var width = preferred.col_widths[x];\n var cutoff = round(overflow_width / nadjustable);\n preferred.col_widths[x] = max(width - cutoff, 0);\n overflow_width -= cutoff > width ? width : cutoff;\n nadjustable--;\n }\n }\n }\n var _b = this._measure_cells(function (y, x) {\n return {\n width: preferred.col_widths[x],\n height: preferred.row_heights[y],\n };\n }), row_heights = _b.row_heights, col_widths = _b.col_widths, size_hints = _b.size_hints;\n var size = this._measure_totals(row_heights, col_widths);\n return { size: size, row_heights: row_heights, col_widths: col_widths, size_hints: size_hints };\n };\n Grid.prototype._measure = function (viewport) {\n var size = this._measure_grid(viewport).size;\n return size;\n };\n Grid.prototype._set_geometry = function (outer, inner) {\n _super.prototype._set_geometry.call(this, outer, inner);\n var _a = this._state, nrows = _a.nrows, ncols = _a.ncols, rspacing = _a.rspacing, cspacing = _a.cspacing;\n var _b = this._measure_grid(outer), row_heights = _b.row_heights, col_widths = _b.col_widths, size_hints = _b.size_hints;\n var rows = this._state.rows.map(function (row, r) {\n return tslib_1.__assign({}, row, { top: 0, height: row_heights[r], get bottom() { return this.top + this.height; } });\n });\n var cols = this._state.cols.map(function (col, c) {\n return tslib_1.__assign({}, col, { left: 0, width: col_widths[c], get right() { return this.left + this.width; } });\n });\n var items = size_hints.map(function (_, item) {\n return tslib_1.__assign({}, item, { outer: new bbox_1.BBox(), inner: new bbox_1.BBox() });\n });\n for (var r = 0, top_1 = !this.absolute ? 0 : outer.top; r < nrows; r++) {\n var row = rows[r];\n row.top = top_1;\n top_1 += row.height + rspacing;\n }\n for (var c = 0, left = !this.absolute ? 0 : outer.left; c < ncols; c++) {\n var col = cols[c];\n col.left = left;\n left += col.width + cspacing;\n }\n function span_width(c0, c1) {\n var width = (c1 - c0) * cspacing;\n for (var c = c0; c <= c1; c++) {\n width += cols[c].width;\n }\n return width;\n }\n function span_height(r0, r1) {\n var height = (r1 - r0) * rspacing;\n for (var r = r0; r <= r1; r++) {\n height += rows[r].height;\n }\n return height;\n }\n items.foreach(function (_a, item) {\n var r0 = _a.r0, c0 = _a.c0, r1 = _a.r1, c1 = _a.c1;\n var layout = item.layout, size_hint = item.size_hint;\n var sizing = layout.sizing;\n var width = size_hint.width, height = size_hint.height;\n var span = {\n width: span_width(c0, c1),\n height: span_height(r0, r1),\n };\n var halign = c0 == c1 && cols[c0].align != \"auto\" ? cols[c0].align : sizing.halign;\n var valign = r0 == r1 && rows[r0].align != \"auto\" ? rows[r0].align : sizing.valign;\n var left = cols[c0].left;\n if (halign == \"start\")\n left += sizing.margin.left;\n else if (halign == \"center\")\n left += round((span.width - width) / 2);\n else if (halign == \"end\")\n left += span.width - sizing.margin.right - width;\n var top = rows[r0].top;\n if (valign == \"start\")\n top += sizing.margin.top;\n else if (valign == \"center\")\n top += round((span.height - height) / 2);\n else if (valign == \"end\")\n top += span.height - sizing.margin.bottom - height;\n item.outer = new bbox_1.BBox({ left: left, top: top, width: width, height: height });\n });\n var row_aligns = rows.map(function () {\n return {\n start: new DefaultMap(function () { return 0; }),\n end: new DefaultMap(function () { return 0; }),\n };\n });\n var col_aligns = cols.map(function () {\n return {\n start: new DefaultMap(function () { return 0; }),\n end: new DefaultMap(function () { return 0; }),\n };\n });\n items.foreach(function (_a, _b) {\n var r0 = _a.r0, c0 = _a.c0, r1 = _a.r1, c1 = _a.c1;\n var size_hint = _b.size_hint, outer = _b.outer;\n var inner = size_hint.inner;\n if (inner != null) {\n row_aligns[r0].start.apply(outer.top, function (v) { return max(v, inner.top); });\n row_aligns[r1].end.apply(rows[r1].bottom - outer.bottom, function (v) { return max(v, inner.bottom); });\n col_aligns[c0].start.apply(outer.left, function (v) { return max(v, inner.left); });\n col_aligns[c1].end.apply(cols[c1].right - outer.right, function (v) { return max(v, inner.right); });\n }\n });\n items.foreach(function (_a, item) {\n var r0 = _a.r0, c0 = _a.c0, r1 = _a.r1, c1 = _a.c1;\n var size_hint = item.size_hint, outer = item.outer;\n function inner_bbox(_a) {\n var left = _a.left, right = _a.right, top = _a.top, bottom = _a.bottom;\n var width = outer.width - left - right;\n var height = outer.height - top - bottom;\n return new bbox_1.BBox({ left: left, top: top, width: width, height: height });\n }\n if (size_hint.inner != null) {\n var inner_1 = inner_bbox(size_hint.inner);\n if (size_hint.align !== false) {\n var top_2 = row_aligns[r0].start.get(outer.top);\n var bottom = row_aligns[r1].end.get(rows[r1].bottom - outer.bottom);\n var left = col_aligns[c0].start.get(outer.left);\n var right = col_aligns[c1].end.get(cols[c1].right - outer.right);\n try {\n inner_1 = inner_bbox({ top: top_2, bottom: bottom, left: left, right: right });\n }\n catch (_b) { }\n }\n item.inner = inner_1;\n }\n else\n item.inner = outer;\n });\n items.foreach(function (_, _a) {\n var layout = _a.layout, outer = _a.outer, inner = _a.inner;\n layout.set_geometry(outer, inner);\n });\n };\n return Grid;\n }(layoutable_1.Layoutable));\n exports.Grid = Grid;\n var Row = /** @class */ (function (_super) {\n tslib_1.__extends(Row, _super);\n function Row(items) {\n var _this = _super.call(this) || this;\n _this.items = items.map(function (item, i) { return ({ layout: item, row: 0, col: i }); });\n _this.rows = \"fit\";\n return _this;\n }\n return Row;\n }(Grid));\n exports.Row = Row;\n var Column = /** @class */ (function (_super) {\n tslib_1.__extends(Column, _super);\n function Column(items) {\n var _this = _super.call(this) || this;\n _this.items = items.map(function (item, i) { return ({ layout: item, row: i, col: 0 }); });\n _this.cols = \"fit\";\n return _this;\n }\n return Column;\n }(Grid));\n exports.Column = Column;\n}\n","/* core/layout/html */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var layoutable_1 = require(14) /* ./layoutable */;\n var types_1 = require(16) /* ./types */;\n var dom_1 = require(5) /* ../dom */;\n var ContentBox = /** @class */ (function (_super) {\n tslib_1.__extends(ContentBox, _super);\n function ContentBox(el) {\n var _this = _super.call(this) || this;\n _this.content_size = dom_1.unsized(el, function () { return new types_1.Sizeable(dom_1.size(el)); });\n return _this;\n }\n ContentBox.prototype._content_size = function () {\n return this.content_size;\n };\n return ContentBox;\n }(layoutable_1.ContentLayoutable));\n exports.ContentBox = ContentBox;\n var VariadicBox = /** @class */ (function (_super) {\n tslib_1.__extends(VariadicBox, _super);\n function VariadicBox(el) {\n var _this = _super.call(this) || this;\n _this.el = el;\n return _this;\n }\n VariadicBox.prototype._measure = function (viewport) {\n var _this = this;\n var bounded = new types_1.Sizeable(viewport).bounded_to(this.sizing.size);\n return dom_1.sized(this.el, bounded, function () {\n var content = new types_1.Sizeable(dom_1.content_size(_this.el));\n var _a = dom_1.extents(_this.el), border = _a.border, padding = _a.padding;\n return content.grow_by(border).grow_by(padding).map(Math.ceil);\n });\n };\n return VariadicBox;\n }(layoutable_1.Layoutable));\n exports.VariadicBox = VariadicBox;\n}\n","/* core/layout/index */ function _(require, module, exports) {\n var types_1 = require(16) /* ./types */;\n exports.Sizeable = types_1.Sizeable;\n var layoutable_1 = require(14) /* ./layoutable */;\n exports.Layoutable = layoutable_1.Layoutable;\n exports.LayoutItem = layoutable_1.LayoutItem;\n var alignments_1 = require(10) /* ./alignments */;\n exports.HStack = alignments_1.HStack;\n exports.VStack = alignments_1.VStack;\n exports.AnchorLayout = alignments_1.AnchorLayout;\n var grid_1 = require(11) /* ./grid */;\n exports.Grid = grid_1.Grid;\n exports.Row = grid_1.Row;\n exports.Column = grid_1.Column;\n var html_1 = require(12) /* ./html */;\n exports.ContentBox = html_1.ContentBox;\n exports.VariadicBox = html_1.VariadicBox;\n}\n","/* core/layout/layoutable */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var types_1 = require(16) /* ./types */;\n var bbox_1 = require(27) /* ../util/bbox */;\n var min = Math.min, max = Math.max, round = Math.round;\n var Layoutable = /** @class */ (function () {\n function Layoutable() {\n this._bbox = new bbox_1.BBox();\n this._inner_bbox = new bbox_1.BBox();\n var layout = this;\n this._top = { get value() { return layout.bbox.top; } };\n this._left = { get value() { return layout.bbox.left; } };\n this._width = { get value() { return layout.bbox.width; } };\n this._height = { get value() { return layout.bbox.height; } };\n this._right = { get value() { return layout.bbox.right; } };\n this._bottom = { get value() { return layout.bbox.bottom; } };\n this._hcenter = { get value() { return layout.bbox.hcenter; } };\n this._vcenter = { get value() { return layout.bbox.vcenter; } };\n }\n Object.defineProperty(Layoutable.prototype, \"bbox\", {\n get: function () {\n return this._bbox;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Layoutable.prototype, \"inner_bbox\", {\n get: function () {\n return this._inner_bbox;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Layoutable.prototype, \"sizing\", {\n get: function () {\n return this._sizing;\n },\n enumerable: true,\n configurable: true\n });\n Layoutable.prototype.set_sizing = function (sizing) {\n var width_policy = sizing.width_policy || \"fit\";\n var width = sizing.width;\n var min_width = sizing.min_width != null ? sizing.min_width : 0;\n var max_width = sizing.max_width != null ? sizing.max_width : Infinity;\n var height_policy = sizing.height_policy || \"fit\";\n var height = sizing.height;\n var min_height = sizing.min_height != null ? sizing.min_height : 0;\n var max_height = sizing.max_height != null ? sizing.max_height : Infinity;\n var aspect = sizing.aspect;\n var margin = sizing.margin || { top: 0, right: 0, bottom: 0, left: 0 };\n var visible = sizing.visible !== false;\n var halign = sizing.halign || \"start\";\n var valign = sizing.valign || \"start\";\n this._sizing = {\n width_policy: width_policy, min_width: min_width, width: width, max_width: max_width,\n height_policy: height_policy, min_height: min_height, height: height, max_height: max_height,\n aspect: aspect,\n margin: margin,\n visible: visible,\n halign: halign,\n valign: valign,\n size: { width: width, height: height },\n min_size: { width: min_width, height: min_height },\n max_size: { width: max_width, height: max_height },\n };\n this._init();\n };\n Layoutable.prototype._init = function () { };\n Layoutable.prototype._set_geometry = function (outer, inner) {\n this._bbox = outer;\n this._inner_bbox = inner;\n };\n Layoutable.prototype.set_geometry = function (outer, inner) {\n this._set_geometry(outer, inner || outer);\n };\n Layoutable.prototype.is_width_expanding = function () {\n return this.sizing.width_policy == \"max\";\n };\n Layoutable.prototype.is_height_expanding = function () {\n return this.sizing.height_policy == \"max\";\n };\n Layoutable.prototype.apply_aspect = function (viewport, _a) {\n var width = _a.width, height = _a.height;\n var aspect = this.sizing.aspect;\n if (aspect != null) {\n var _b = this.sizing, width_policy = _b.width_policy, height_policy = _b.height_policy;\n var gt = function (width, height) {\n var policies = { max: 4, fit: 3, min: 2, fixed: 1 };\n return policies[width] > policies[height];\n };\n if (width_policy != \"fixed\" && height_policy != \"fixed\") {\n if (width_policy == height_policy) {\n var w_width = width;\n var w_height = round(width / aspect);\n var h_width = round(height * aspect);\n var h_height = height;\n var w_diff = Math.abs(viewport.width - w_width) + Math.abs(viewport.height - w_height);\n var h_diff = Math.abs(viewport.width - h_width) + Math.abs(viewport.height - h_height);\n if (w_diff <= h_diff) {\n width = w_width;\n height = w_height;\n }\n else {\n width = h_width;\n height = h_height;\n }\n }\n else if (gt(width_policy, height_policy)) {\n height = round(width / aspect);\n }\n else {\n width = round(height * aspect);\n }\n }\n else if (width_policy == \"fixed\") {\n height = round(width / aspect);\n }\n else if (height_policy == \"fixed\") {\n width = round(height * aspect);\n }\n }\n return { width: width, height: height };\n };\n Layoutable.prototype.measure = function (viewport_size) {\n var _this = this;\n if (!this.sizing.visible)\n return { width: 0, height: 0 };\n var exact_width = function (width) {\n return _this.sizing.width_policy == \"fixed\" && _this.sizing.width != null ? _this.sizing.width : width;\n };\n var exact_height = function (height) {\n return _this.sizing.height_policy == \"fixed\" && _this.sizing.height != null ? _this.sizing.height : height;\n };\n var viewport = new types_1.Sizeable(viewport_size)\n .shrink_by(this.sizing.margin)\n .map(exact_width, exact_height);\n var computed = this._measure(viewport);\n var clipped = this.clip_size(computed);\n var width = exact_width(clipped.width);\n var height = exact_height(clipped.height);\n var size = this.apply_aspect(viewport, { width: width, height: height });\n return tslib_1.__assign({}, computed, size);\n };\n Layoutable.prototype.compute = function (viewport) {\n if (viewport === void 0) {\n viewport = {};\n }\n var size_hint = this.measure({\n width: viewport.width != null && this.is_width_expanding() ? viewport.width : Infinity,\n height: viewport.height != null && this.is_height_expanding() ? viewport.height : Infinity,\n });\n var width = size_hint.width, height = size_hint.height;\n var outer = new bbox_1.BBox({ left: 0, top: 0, width: width, height: height });\n var inner = undefined;\n if (size_hint.inner != null) {\n var _a = size_hint.inner, left = _a.left, top_1 = _a.top, right = _a.right, bottom = _a.bottom;\n inner = new bbox_1.BBox({ left: left, top: top_1, right: width - right, bottom: height - bottom });\n }\n this.set_geometry(outer, inner);\n };\n Object.defineProperty(Layoutable.prototype, \"xview\", {\n get: function () {\n return this.bbox.xview;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Layoutable.prototype, \"yview\", {\n get: function () {\n return this.bbox.yview;\n },\n enumerable: true,\n configurable: true\n });\n Layoutable.prototype.clip_width = function (width) {\n return max(this.sizing.min_width, min(width, this.sizing.max_width));\n };\n Layoutable.prototype.clip_height = function (height) {\n return max(this.sizing.min_height, min(height, this.sizing.max_height));\n };\n Layoutable.prototype.clip_size = function (_a) {\n var width = _a.width, height = _a.height;\n return {\n width: this.clip_width(width),\n height: this.clip_height(height),\n };\n };\n return Layoutable;\n }());\n exports.Layoutable = Layoutable;\n var LayoutItem = /** @class */ (function (_super) {\n tslib_1.__extends(LayoutItem, _super);\n function LayoutItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n /*\n constructor(readonly measure_fn: (viewport: Size) => Size) {\n super()\n }\n protected _measure(viewport: Size): SizeHint {\n return this.measure_fn(viewport)\n }\n protected _measure(viewport: Size): SizeHint {\n return {\n width: viewport.width != Infinity ? viewport.width : this.sizing.min_width,\n height: viewport.height != Infinity ? viewport.height : this.sizing.min_width,\n }\n }\n */\n LayoutItem.prototype._measure = function (viewport) {\n var _a = this.sizing, width_policy = _a.width_policy, height_policy = _a.height_policy;\n var width;\n if (viewport.width == Infinity) {\n width = this.sizing.width != null ? this.sizing.width : 0;\n }\n else {\n if (width_policy == \"fixed\")\n width = this.sizing.width != null ? this.sizing.width : 0;\n else if (width_policy == \"min\")\n width = this.sizing.width != null ? min(viewport.width, this.sizing.width) : 0;\n else if (width_policy == \"fit\")\n width = this.sizing.width != null ? min(viewport.width, this.sizing.width) : viewport.width;\n else if (width_policy == \"max\")\n width = this.sizing.width != null ? max(viewport.width, this.sizing.width) : viewport.width;\n else\n throw new Error(\"unrechable\");\n }\n var height;\n if (viewport.height == Infinity) {\n height = this.sizing.height != null ? this.sizing.height : 0;\n }\n else {\n if (height_policy == \"fixed\")\n height = this.sizing.height != null ? this.sizing.height : 0;\n else if (height_policy == \"min\")\n height = this.sizing.height != null ? min(viewport.height, this.sizing.height) : 0;\n else if (height_policy == \"fit\")\n height = this.sizing.height != null ? min(viewport.height, this.sizing.height) : viewport.height;\n else if (height_policy == \"max\")\n height = this.sizing.height != null ? max(viewport.height, this.sizing.height) : viewport.height;\n else\n throw new Error(\"unrechable\");\n }\n return { width: width, height: height };\n };\n return LayoutItem;\n }(Layoutable));\n exports.LayoutItem = LayoutItem;\n var ContentLayoutable = /** @class */ (function (_super) {\n tslib_1.__extends(ContentLayoutable, _super);\n function ContentLayoutable() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ContentLayoutable.prototype._measure = function (viewport) {\n var _this = this;\n var content_size = this._content_size();\n var bounds = viewport.bounded_to(this.sizing.size)\n .bounded_to(content_size);\n var width = (function () {\n switch (_this.sizing.width_policy) {\n case \"fixed\":\n return _this.sizing.width != null ? _this.sizing.width : content_size.width;\n case \"min\":\n return content_size.width;\n case \"fit\":\n return bounds.width;\n case \"max\":\n return Math.max(content_size.width, bounds.width);\n default:\n throw new Error(\"unexpected\");\n }\n })();\n var height = (function () {\n switch (_this.sizing.height_policy) {\n case \"fixed\":\n return _this.sizing.height != null ? _this.sizing.height : content_size.height;\n case \"min\":\n return content_size.height;\n case \"fit\":\n return bounds.height;\n case \"max\":\n return Math.max(content_size.height, bounds.height);\n default:\n throw new Error(\"unexpected\");\n }\n })();\n return { width: width, height: height };\n };\n return ContentLayoutable;\n }(Layoutable));\n exports.ContentLayoutable = ContentLayoutable;\n}\n","/* core/layout/side_panel */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var types_1 = require(16) /* ./types */;\n var layoutable_1 = require(14) /* ./layoutable */;\n var types_2 = require(46) /* ../util/types */;\n // This table lays out the rules for configuring the baseline, alignment, etc. of\n // title text, based on it's location and orientation\n //\n // side orient baseline align angle normal-dist\n // ------------------------------------------------------------------------------\n // above parallel bottom center 0 height\n // normal middle left -90 width\n // horizontal bottom center 0 height\n // [angle > 0] middle left width * sin + height * cos\n // [angle < 0] middle right width * sin + height * cos\n //\n // below parallel top center 0 height\n // normal middle right 90 width\n // horizontal top center 0 height\n // [angle > 0] middle right width * sin + height * cos\n // [angle < 0] middle left width * sin + height * cos\n //\n // left parallel bottom center 90 height\n // normal middle right 0 width\n // horizontal middle right 0 width\n // [angle > 0] middle right width * cos + height * sin\n // [angle < 0] middle right width * cos + height + sin\n //\n // right parallel bottom center -90 height\n // normal middle left 0 width\n // horizontal middle left 0 width\n // [angle > 0] middle left width * cos + height * sin\n // [angle < 0] middle left width * cos + height + sin\n var pi2 = Math.PI / 2;\n var ALPHABETIC = 'alphabetic';\n var TOP = 'top';\n var BOTTOM = 'bottom';\n var MIDDLE = 'middle';\n var HANGING = 'hanging';\n var LEFT = 'left';\n var RIGHT = 'right';\n var CENTER = 'center';\n var _angle_lookup = {\n above: {\n parallel: 0,\n normal: -pi2,\n horizontal: 0,\n vertical: -pi2,\n },\n below: {\n parallel: 0,\n normal: pi2,\n horizontal: 0,\n vertical: pi2,\n },\n left: {\n parallel: -pi2,\n normal: 0,\n horizontal: 0,\n vertical: -pi2,\n },\n right: {\n parallel: pi2,\n normal: 0,\n horizontal: 0,\n vertical: pi2,\n },\n };\n var _baseline_lookup = {\n above: {\n justified: TOP,\n parallel: ALPHABETIC,\n normal: MIDDLE,\n horizontal: ALPHABETIC,\n vertical: MIDDLE,\n },\n below: {\n justified: BOTTOM,\n parallel: HANGING,\n normal: MIDDLE,\n horizontal: HANGING,\n vertical: MIDDLE,\n },\n left: {\n justified: TOP,\n parallel: ALPHABETIC,\n normal: MIDDLE,\n horizontal: MIDDLE,\n vertical: ALPHABETIC,\n },\n right: {\n justified: TOP,\n parallel: ALPHABETIC,\n normal: MIDDLE,\n horizontal: MIDDLE,\n vertical: ALPHABETIC,\n },\n };\n var _align_lookup = {\n above: {\n justified: CENTER,\n parallel: CENTER,\n normal: LEFT,\n horizontal: CENTER,\n vertical: LEFT,\n },\n below: {\n justified: CENTER,\n parallel: CENTER,\n normal: LEFT,\n horizontal: CENTER,\n vertical: LEFT,\n },\n left: {\n justified: CENTER,\n parallel: CENTER,\n normal: RIGHT,\n horizontal: RIGHT,\n vertical: CENTER,\n },\n right: {\n justified: CENTER,\n parallel: CENTER,\n normal: LEFT,\n horizontal: LEFT,\n vertical: CENTER,\n },\n };\n var _align_lookup_negative = {\n above: RIGHT,\n below: LEFT,\n left: RIGHT,\n right: LEFT,\n };\n var _align_lookup_positive = {\n above: LEFT,\n below: RIGHT,\n left: RIGHT,\n right: LEFT,\n };\n var SidePanel = /** @class */ (function (_super) {\n tslib_1.__extends(SidePanel, _super);\n function SidePanel(side, obj) {\n var _this = _super.call(this) || this;\n _this.side = side;\n _this.obj = obj;\n switch (_this.side) {\n case \"above\":\n _this._dim = 0;\n _this._normals = [0, -1];\n break;\n case \"below\":\n _this._dim = 0;\n _this._normals = [0, 1];\n break;\n case \"left\":\n _this._dim = 1;\n _this._normals = [-1, 0];\n break;\n case \"right\":\n _this._dim = 1;\n _this._normals = [1, 0];\n break;\n default:\n throw new Error(\"unreachable\");\n }\n if (_this.is_horizontal)\n _this.set_sizing({ width_policy: \"max\", height_policy: \"fixed\" });\n else\n _this.set_sizing({ width_policy: \"fixed\", height_policy: \"max\" });\n return _this;\n }\n SidePanel.prototype._content_size = function () {\n return new types_1.Sizeable(this.get_oriented_size());\n };\n SidePanel.prototype.get_oriented_size = function () {\n var _a = this.obj.get_size(), width = _a.width, height = _a.height;\n if (!this.obj.rotate || this.is_horizontal)\n return { width: width, height: height };\n else\n return { width: height, height: width };\n };\n SidePanel.prototype.has_size_changed = function () {\n var _a = this.get_oriented_size(), width = _a.width, height = _a.height;\n if (this.is_horizontal)\n return this.bbox.height != height;\n else\n return this.bbox.width != width;\n };\n Object.defineProperty(SidePanel.prototype, \"dimension\", {\n get: function () {\n return this._dim;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SidePanel.prototype, \"normals\", {\n get: function () {\n return this._normals;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SidePanel.prototype, \"is_horizontal\", {\n get: function () {\n return this._dim == 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SidePanel.prototype, \"is_vertical\", {\n get: function () {\n return this._dim == 1;\n },\n enumerable: true,\n configurable: true\n });\n SidePanel.prototype.apply_label_text_heuristics = function (ctx, orient) {\n var side = this.side;\n var baseline;\n var align;\n if (types_2.isString(orient)) {\n baseline = _baseline_lookup[side][orient];\n align = _align_lookup[side][orient];\n }\n else {\n if (orient === 0) {\n baseline = \"whatever\"; // XXX: _baseline_lookup[side][orient]\n align = \"whatever\"; // XXX: _align_lookup[side][orient]\n }\n else if (orient < 0) {\n baseline = 'middle';\n align = _align_lookup_negative[side];\n }\n else {\n baseline = 'middle';\n align = _align_lookup_positive[side];\n }\n }\n ctx.textBaseline = baseline;\n ctx.textAlign = align;\n };\n SidePanel.prototype.get_label_angle_heuristic = function (orient) {\n return _angle_lookup[this.side][orient];\n };\n return SidePanel;\n }(layoutable_1.ContentLayoutable));\n exports.SidePanel = SidePanel;\n}\n","/* core/layout/types */ function _(require, module, exports) {\n var min = Math.min, max = Math.max;\n var Sizeable = /** @class */ (function () {\n function Sizeable(size) {\n if (size === void 0) {\n size = {};\n }\n this.width = size.width != null ? size.width : 0;\n this.height = size.height != null ? size.height : 0;\n }\n Sizeable.prototype.bounded_to = function (_a) {\n var width = _a.width, height = _a.height;\n return new Sizeable({\n width: this.width == Infinity && width != null ? width : this.width,\n height: this.height == Infinity && height != null ? height : this.height,\n });\n };\n Sizeable.prototype.expanded_to = function (_a) {\n var width = _a.width, height = _a.height;\n return new Sizeable({\n width: width != Infinity ? max(this.width, width) : this.width,\n height: height != Infinity ? max(this.height, height) : this.height,\n });\n };\n Sizeable.prototype.expand_to = function (_a) {\n var width = _a.width, height = _a.height;\n this.width = max(this.width, width);\n this.height = max(this.height, height);\n };\n Sizeable.prototype.narrowed_to = function (_a) {\n var width = _a.width, height = _a.height;\n return new Sizeable({\n width: min(this.width, width),\n height: min(this.height, height),\n });\n };\n Sizeable.prototype.narrow_to = function (_a) {\n var width = _a.width, height = _a.height;\n this.width = min(this.width, width);\n this.height = min(this.height, height);\n };\n Sizeable.prototype.grow_by = function (_a) {\n var left = _a.left, right = _a.right, top = _a.top, bottom = _a.bottom;\n var width = this.width + left + right;\n var height = this.height + top + bottom;\n return new Sizeable({ width: width, height: height });\n };\n Sizeable.prototype.shrink_by = function (_a) {\n var left = _a.left, right = _a.right, top = _a.top, bottom = _a.bottom;\n var width = max(this.width - left - right, 0);\n var height = max(this.height - top - bottom, 0);\n return new Sizeable({ width: width, height: height });\n };\n Sizeable.prototype.map = function (w_fn, h_fn) {\n return new Sizeable({\n width: w_fn(this.width),\n height: (h_fn != null ? h_fn : w_fn)(this.height),\n });\n };\n return Sizeable;\n }());\n exports.Sizeable = Sizeable;\n}\n","/* core/logging */ function _(require, module, exports) {\n var types_1 = require(46) /* ./util/types */;\n var _loggers = {};\n var LogLevel = /** @class */ (function () {\n function LogLevel(name, level) {\n this.name = name;\n this.level = level;\n }\n return LogLevel;\n }());\n exports.LogLevel = LogLevel;\n var Logger = /** @class */ (function () {\n function Logger(name, level) {\n if (level === void 0) {\n level = Logger.INFO;\n }\n this._name = name;\n this.set_level(level);\n }\n Object.defineProperty(Logger, \"levels\", {\n get: function () {\n return Object.keys(Logger.log_levels);\n },\n enumerable: true,\n configurable: true\n });\n Logger.get = function (name, level) {\n if (level === void 0) {\n level = Logger.INFO;\n }\n if (name.length > 0) {\n var logger_1 = _loggers[name];\n if (logger_1 == null)\n _loggers[name] = logger_1 = new Logger(name, level);\n return logger_1;\n }\n else\n throw new TypeError(\"Logger.get() expects a non-empty string name and an optional log-level\");\n };\n Object.defineProperty(Logger.prototype, \"level\", {\n get: function () {\n return this.get_level();\n },\n enumerable: true,\n configurable: true\n });\n Logger.prototype.get_level = function () {\n return this._log_level;\n };\n Logger.prototype.set_level = function (log_level) {\n if (log_level instanceof LogLevel)\n this._log_level = log_level;\n else if (types_1.isString(log_level) && Logger.log_levels[log_level] != null)\n this._log_level = Logger.log_levels[log_level];\n else\n throw new Error(\"Logger.set_level() expects a log-level object or a string name of a log-level\");\n var logger_name = \"[\" + this._name + \"]\";\n for (var name_1 in Logger.log_levels) {\n var log_level_1 = Logger.log_levels[name_1];\n if (log_level_1.level < this._log_level.level || this._log_level.level === Logger.OFF.level)\n this[name_1] = function () { };\n else\n this[name_1] = _method_factory(name_1, logger_name);\n }\n };\n Logger.prototype.trace = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n };\n Logger.prototype.debug = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n };\n Logger.prototype.info = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n };\n Logger.prototype.warn = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n };\n Logger.prototype.error = function () {\n var _args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n _args[_i] = arguments[_i];\n }\n };\n Logger.TRACE = new LogLevel(\"trace\", 0);\n Logger.DEBUG = new LogLevel(\"debug\", 1);\n Logger.INFO = new LogLevel(\"info\", 2);\n Logger.WARN = new LogLevel(\"warn\", 6);\n Logger.ERROR = new LogLevel(\"error\", 7);\n Logger.FATAL = new LogLevel(\"fatal\", 8);\n Logger.OFF = new LogLevel(\"off\", 9);\n Logger.log_levels = {\n trace: Logger.TRACE,\n debug: Logger.DEBUG,\n info: Logger.INFO,\n warn: Logger.WARN,\n error: Logger.ERROR,\n fatal: Logger.FATAL,\n off: Logger.OFF,\n };\n return Logger;\n }());\n exports.Logger = Logger;\n function _method_factory(method_name, logger_name) {\n if (console[method_name] != null)\n return console[method_name].bind(console, logger_name);\n else if (console.log != null)\n return console.log.bind(console, logger_name);\n else\n return function () { };\n }\n exports.logger = Logger.get(\"bokeh\");\n function set_log_level(level) {\n if (Logger.log_levels[level] == null) {\n console.log(\"[bokeh] unrecognized logging level '\" + level + \"' passed to Bokeh.set_log_level(), ignoring\");\n console.log(\"[bokeh] valid log levels are: \" + Logger.levels.join(', '));\n }\n else {\n console.log(\"[bokeh] setting log level to: '\" + level + \"'\");\n exports.logger.set_level(level);\n }\n }\n exports.set_log_level = set_log_level;\n}\n","/* core/properties */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var signaling_1 = require(22) /* ./signaling */;\n var enums = require(7) /* ./enums */;\n var array_1 = require(24) /* ./util/array */;\n var arrayable_1 = require(25) /* ./util/arrayable */;\n var color_1 = require(30) /* ./util/color */;\n var types_1 = require(46) /* ./util/types */;\n signaling_1.Signal; // XXX: silence TS, because `Signal` appears in declarations due to Signalable\n function valueToString(value) {\n try {\n return JSON.stringify(value);\n }\n catch (_a) {\n return value.toString();\n }\n }\n function isSpec(obj) {\n return types_1.isPlainObject(obj) &&\n ((obj.value === undefined ? 0 : 1) +\n (obj.field === undefined ? 0 : 1) +\n (obj.expr === undefined ? 0 : 1) == 1); // garbage JS XOR\n }\n exports.isSpec = isSpec;\n var Property = /** @class */ (function (_super) {\n tslib_1.__extends(Property, _super);\n function Property(obj, attr, default_value) {\n var _this = _super.call(this) || this;\n _this.obj = obj;\n _this.attr = attr;\n _this.default_value = default_value;\n _this.optional = false;\n _this.change = new signaling_1.Signal0(_this.obj, \"change\");\n _this._init();\n _this.connect(_this.change, function () { return _this._init(); });\n return _this;\n }\n Property.prototype.update = function () {\n this._init();\n };\n // ----- customizable policies\n Property.prototype.init = function () { };\n Property.prototype.transform = function (values) {\n return values;\n };\n Property.prototype.validate = function (value) {\n if (!this.valid(value))\n throw new Error(this.obj.type + \".\" + this.attr + \" given invalid value: \" + valueToString(value));\n };\n Property.prototype.valid = function (_value) {\n return true;\n };\n // ----- property accessors\n Property.prototype.value = function (do_spec_transform) {\n if (do_spec_transform === void 0) {\n do_spec_transform = true;\n }\n if (this.spec.value === undefined)\n throw new Error(\"attempted to retrieve property value for property without value specification\");\n var ret = this.transform([this.spec.value])[0];\n if (this.spec.transform != null && do_spec_transform)\n ret = this.spec.transform.compute(ret);\n return ret;\n };\n // ----- private methods\n /*protected*/ Property.prototype._init = function () {\n var _a;\n var obj = this.obj;\n var attr = this.attr;\n var attr_value = obj.getv(attr);\n if (attr_value === undefined) {\n var default_value = this.default_value;\n if (default_value !== undefined)\n attr_value = default_value(obj);\n else\n attr_value = null;\n obj.setv((_a = {}, _a[attr] = attr_value, _a), { silent: true, defaults: true });\n }\n if (types_1.isArray(attr_value))\n this.spec = { value: attr_value };\n else if (isSpec(attr_value))\n this.spec = attr_value;\n else\n this.spec = { value: attr_value };\n //if (this.dataspec && this.spec.field != null && !isString(this.spec.field))\n // throw new Error(`field value for property '${attr}' is not a string`)\n if (this.spec.value != null)\n this.validate(this.spec.value);\n this.init();\n };\n Property.prototype.toString = function () {\n /*${this.name}*/\n return \"Prop(\" + this.obj + \".\" + this.attr + \", spec: \" + valueToString(this.spec) + \")\";\n };\n return Property;\n }(signaling_1.Signalable()));\n exports.Property = Property;\n //\n // Primitive Properties\n //\n var Any = /** @class */ (function (_super) {\n tslib_1.__extends(Any, _super);\n function Any() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return Any;\n }(Property));\n exports.Any = Any;\n var Array = /** @class */ (function (_super) {\n tslib_1.__extends(Array, _super);\n function Array() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Array.prototype.valid = function (value) {\n return types_1.isArray(value) || value instanceof Float64Array;\n };\n return Array;\n }(Property));\n exports.Array = Array;\n var Boolean = /** @class */ (function (_super) {\n tslib_1.__extends(Boolean, _super);\n function Boolean() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Boolean.prototype.valid = function (value) {\n return types_1.isBoolean(value);\n };\n return Boolean;\n }(Property));\n exports.Boolean = Boolean;\n var Color = /** @class */ (function (_super) {\n tslib_1.__extends(Color, _super);\n function Color() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Color.prototype.valid = function (value) {\n return types_1.isString(value) && color_1.is_color(value);\n };\n return Color;\n }(Property));\n exports.Color = Color;\n var Instance = /** @class */ (function (_super) {\n tslib_1.__extends(Instance, _super);\n function Instance() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return Instance;\n }(Property));\n exports.Instance = Instance;\n var Number = /** @class */ (function (_super) {\n tslib_1.__extends(Number, _super);\n function Number() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Number.prototype.valid = function (value) {\n return types_1.isNumber(value);\n };\n return Number;\n }(Property));\n exports.Number = Number;\n var Int = /** @class */ (function (_super) {\n tslib_1.__extends(Int, _super);\n function Int() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Int.prototype.valid = function (value) {\n return types_1.isNumber(value) && (value | 0) == value;\n };\n return Int;\n }(Number));\n exports.Int = Int;\n var Angle = /** @class */ (function (_super) {\n tslib_1.__extends(Angle, _super);\n function Angle() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return Angle;\n }(Number));\n exports.Angle = Angle;\n var Percent = /** @class */ (function (_super) {\n tslib_1.__extends(Percent, _super);\n function Percent() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Percent.prototype.valid = function (value) {\n return types_1.isNumber(value) && 0 <= value && value <= 1.0;\n };\n return Percent;\n }(Number));\n exports.Percent = Percent;\n var String = /** @class */ (function (_super) {\n tslib_1.__extends(String, _super);\n function String() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n String.prototype.valid = function (value) {\n return types_1.isString(value);\n };\n return String;\n }(Property));\n exports.String = String;\n var FontSize = /** @class */ (function (_super) {\n tslib_1.__extends(FontSize, _super);\n function FontSize() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return FontSize;\n }(String));\n exports.FontSize = FontSize;\n var Font = /** @class */ (function (_super) {\n tslib_1.__extends(Font, _super);\n function Font() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return Font;\n }(String)); // TODO (bev) don't think this exists python side\n exports.Font = Font;\n //\n // Enum properties\n //\n var EnumProperty = /** @class */ (function (_super) {\n tslib_1.__extends(EnumProperty, _super);\n function EnumProperty() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EnumProperty.prototype.valid = function (value) {\n return types_1.isString(value) && array_1.includes(this.enum_values, value);\n };\n return EnumProperty;\n }(Property));\n exports.EnumProperty = EnumProperty;\n function Enum(values) {\n return /** @class */ (function (_super) {\n tslib_1.__extends(class_1, _super);\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(class_1.prototype, \"enum_values\", {\n get: function () {\n return values;\n },\n enumerable: true,\n configurable: true\n });\n return class_1;\n }(EnumProperty));\n }\n exports.Enum = Enum;\n var Direction = /** @class */ (function (_super) {\n tslib_1.__extends(Direction, _super);\n function Direction() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Direction.prototype, \"enum_values\", {\n get: function () {\n return enums.Direction;\n },\n enumerable: true,\n configurable: true\n });\n Direction.prototype.transform = function (values) {\n var result = new Uint8Array(values.length);\n for (var i = 0; i < values.length; i++) {\n switch (values[i]) {\n case \"clock\":\n result[i] = 0;\n break;\n case \"anticlock\":\n result[i] = 1;\n break;\n }\n }\n return result;\n };\n return Direction;\n }(EnumProperty));\n exports.Direction = Direction;\n exports.Anchor = Enum(enums.Anchor);\n exports.AngleUnits = Enum(enums.AngleUnits);\n exports.BoxOrigin = Enum(enums.BoxOrigin);\n exports.ButtonType = Enum(enums.ButtonType);\n exports.Dimension = Enum(enums.Dimension);\n exports.Dimensions = Enum(enums.Dimensions);\n exports.Distribution = Enum(enums.Distribution);\n exports.FontStyle = Enum(enums.FontStyle);\n exports.HatchPatternType = Enum(enums.HatchPatternType);\n exports.HTTPMethod = Enum(enums.HTTPMethod);\n exports.HexTileOrientation = Enum(enums.HexTileOrientation);\n exports.HoverMode = Enum(enums.HoverMode);\n exports.LatLon = Enum(enums.LatLon);\n exports.LegendClickPolicy = Enum(enums.LegendClickPolicy);\n exports.LegendLocation = Enum(enums.LegendLocation);\n exports.LineCap = Enum(enums.LineCap);\n exports.LineJoin = Enum(enums.LineJoin);\n exports.LinePolicy = Enum(enums.LinePolicy);\n exports.Location = Enum(enums.Location);\n exports.Logo = Enum(enums.Logo);\n exports.MarkerType = Enum(enums.MarkerType);\n exports.Orientation = Enum(enums.Orientation);\n exports.OutputBackend = Enum(enums.OutputBackend);\n exports.PaddingUnits = Enum(enums.PaddingUnits);\n exports.Place = Enum(enums.Place);\n exports.PointPolicy = Enum(enums.PointPolicy);\n exports.RadiusDimension = Enum(enums.RadiusDimension);\n exports.RenderLevel = Enum(enums.RenderLevel);\n exports.RenderMode = Enum(enums.RenderMode);\n exports.ResetPolicy = Enum(enums.ResetPolicy);\n exports.RoundingFunction = Enum(enums.RoundingFunction);\n exports.Side = Enum(enums.Side);\n exports.SizingMode = Enum(enums.SizingMode);\n exports.SliderCallbackPolicy = Enum(enums.SliderCallbackPolicy);\n exports.Sort = Enum(enums.Sort);\n exports.SpatialUnits = Enum(enums.SpatialUnits);\n exports.StartEnd = Enum(enums.StartEnd);\n exports.StepMode = Enum(enums.StepMode);\n exports.TapBehavior = Enum(enums.TapBehavior);\n exports.TextAlign = Enum(enums.TextAlign);\n exports.TextBaseline = Enum(enums.TextBaseline);\n exports.TextureRepetition = Enum(enums.TextureRepetition);\n exports.TickLabelOrientation = Enum(enums.TickLabelOrientation);\n exports.TooltipAttachment = Enum(enums.TooltipAttachment);\n exports.UpdateMode = Enum(enums.UpdateMode);\n exports.VerticalAlign = Enum(enums.VerticalAlign);\n //\n // DataSpec properties\n //\n var ScalarSpec = /** @class */ (function (_super) {\n tslib_1.__extends(ScalarSpec, _super);\n function ScalarSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ScalarSpec;\n }(Property));\n exports.ScalarSpec = ScalarSpec;\n var VectorSpec = /** @class */ (function (_super) {\n tslib_1.__extends(VectorSpec, _super);\n function VectorSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VectorSpec.prototype.array = function (source) {\n var ret;\n if (this.spec.field != null) {\n ret = this.transform(source.get_column(this.spec.field));\n if (ret == null)\n throw new Error(\"attempted to retrieve property array for nonexistent field '\" + this.spec.field + \"'\");\n }\n else if (this.spec.expr != null) {\n ret = this.transform(this.spec.expr.v_compute(source));\n }\n else {\n var length_1 = source.get_length();\n if (length_1 == null)\n length_1 = 1;\n var value = this.value(false); // don't apply any spec transform\n ret = array_1.repeat(value, length_1);\n }\n if (this.spec.transform != null)\n ret = this.spec.transform.v_compute(ret);\n return ret;\n };\n return VectorSpec;\n }(Property));\n exports.VectorSpec = VectorSpec;\n var DataSpec = /** @class */ (function (_super) {\n tslib_1.__extends(DataSpec, _super);\n function DataSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return DataSpec;\n }(VectorSpec));\n exports.DataSpec = DataSpec;\n var UnitsSpec = /** @class */ (function (_super) {\n tslib_1.__extends(UnitsSpec, _super);\n function UnitsSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n UnitsSpec.prototype.init = function () {\n if (this.spec.units == null)\n this.spec.units = this.default_units;\n var units = this.spec.units;\n if (!array_1.includes(this.valid_units, units))\n throw new Error(\"units must be one of \" + this.valid_units.join(\", \") + \"; got: \" + units);\n };\n Object.defineProperty(UnitsSpec.prototype, \"units\", {\n get: function () {\n return this.spec.units;\n },\n set: function (units) {\n this.spec.units = units;\n },\n enumerable: true,\n configurable: true\n });\n return UnitsSpec;\n }(VectorSpec));\n exports.UnitsSpec = UnitsSpec;\n var AngleSpec = /** @class */ (function (_super) {\n tslib_1.__extends(AngleSpec, _super);\n function AngleSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(AngleSpec.prototype, \"default_units\", {\n get: function () { return \"rad\"; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AngleSpec.prototype, \"valid_units\", {\n get: function () { return enums.AngleUnits; },\n enumerable: true,\n configurable: true\n });\n AngleSpec.prototype.transform = function (values) {\n if (this.spec.units == \"deg\")\n values = arrayable_1.map(values, function (x) { return x * Math.PI / 180.0; });\n values = arrayable_1.map(values, function (x) { return -x; });\n return _super.prototype.transform.call(this, values);\n };\n return AngleSpec;\n }(UnitsSpec));\n exports.AngleSpec = AngleSpec;\n var BooleanSpec = /** @class */ (function (_super) {\n tslib_1.__extends(BooleanSpec, _super);\n function BooleanSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return BooleanSpec;\n }(DataSpec));\n exports.BooleanSpec = BooleanSpec;\n var ColorSpec = /** @class */ (function (_super) {\n tslib_1.__extends(ColorSpec, _super);\n function ColorSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ColorSpec;\n }(DataSpec));\n exports.ColorSpec = ColorSpec;\n var CoordinateSpec = /** @class */ (function (_super) {\n tslib_1.__extends(CoordinateSpec, _super);\n function CoordinateSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return CoordinateSpec;\n }(DataSpec));\n exports.CoordinateSpec = CoordinateSpec;\n var CoordinateSeqSpec = /** @class */ (function (_super) {\n tslib_1.__extends(CoordinateSeqSpec, _super);\n function CoordinateSeqSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return CoordinateSeqSpec;\n }(DataSpec));\n exports.CoordinateSeqSpec = CoordinateSeqSpec;\n var DistanceSpec = /** @class */ (function (_super) {\n tslib_1.__extends(DistanceSpec, _super);\n function DistanceSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(DistanceSpec.prototype, \"default_units\", {\n get: function () { return \"data\"; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DistanceSpec.prototype, \"valid_units\", {\n get: function () { return enums.SpatialUnits; },\n enumerable: true,\n configurable: true\n });\n return DistanceSpec;\n }(UnitsSpec));\n exports.DistanceSpec = DistanceSpec;\n var FontSizeSpec = /** @class */ (function (_super) {\n tslib_1.__extends(FontSizeSpec, _super);\n function FontSizeSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return FontSizeSpec;\n }(DataSpec));\n exports.FontSizeSpec = FontSizeSpec;\n var MarkerSpec = /** @class */ (function (_super) {\n tslib_1.__extends(MarkerSpec, _super);\n function MarkerSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MarkerSpec;\n }(DataSpec));\n exports.MarkerSpec = MarkerSpec;\n var NumberSpec = /** @class */ (function (_super) {\n tslib_1.__extends(NumberSpec, _super);\n function NumberSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return NumberSpec;\n }(DataSpec));\n exports.NumberSpec = NumberSpec;\n var StringSpec = /** @class */ (function (_super) {\n tslib_1.__extends(StringSpec, _super);\n function StringSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return StringSpec;\n }(DataSpec));\n exports.StringSpec = StringSpec;\n var NullStringSpec = /** @class */ (function (_super) {\n tslib_1.__extends(NullStringSpec, _super);\n function NullStringSpec() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return NullStringSpec;\n }(DataSpec));\n exports.NullStringSpec = NullStringSpec;\n}\n","/* core/property_mixins */ function _(require, module, exports) {\n var p = require(18) /* ./properties */;\n var object_1 = require(35) /* ./util/object */;\n function _gen_mixin(mixin, prefix) {\n var result = {};\n for (var name_1 in mixin) {\n var prop = mixin[name_1];\n result[prefix + name_1] = prop;\n }\n return result;\n }\n var _line_mixin = {\n line_color: [p.ColorSpec, 'black'],\n line_width: [p.NumberSpec, 1],\n line_alpha: [p.NumberSpec, 1.0],\n line_join: [p.LineJoin, 'bevel'],\n line_cap: [p.LineCap, 'butt'],\n line_dash: [p.Array, []],\n line_dash_offset: [p.Number, 0],\n };\n exports.line = function (prefix) {\n if (prefix === void 0) {\n prefix = \"\";\n }\n return _gen_mixin(_line_mixin, prefix);\n };\n var _fill_mixin = {\n fill_color: [p.ColorSpec, 'gray'],\n fill_alpha: [p.NumberSpec, 1.0],\n };\n exports.fill = function (prefix) {\n if (prefix === void 0) {\n prefix = \"\";\n }\n return _gen_mixin(_fill_mixin, prefix);\n };\n var _hatch_mixin = {\n hatch_color: [p.ColorSpec, 'black'],\n hatch_alpha: [p.NumberSpec, 1.0],\n hatch_scale: [p.NumberSpec, 12.0],\n hatch_pattern: [p.StringSpec, null],\n hatch_weight: [p.NumberSpec, 1.0],\n hatch_extra: [p.Any, {}],\n };\n exports.hatch = function (prefix) {\n if (prefix === void 0) {\n prefix = \"\";\n }\n return _gen_mixin(_hatch_mixin, prefix);\n };\n var _text_mixin = {\n text_font: [p.Font, 'helvetica'],\n text_font_size: [p.FontSizeSpec, '12pt'],\n text_font_style: [p.FontStyle, 'normal'],\n text_color: [p.ColorSpec, '#444444'],\n text_alpha: [p.NumberSpec, 1.0],\n text_align: [p.TextAlign, 'left'],\n text_baseline: [p.TextBaseline, 'bottom'],\n text_line_height: [p.Number, 1.2],\n };\n exports.text = function (prefix) {\n if (prefix === void 0) {\n prefix = \"\";\n }\n return _gen_mixin(_text_mixin, prefix);\n };\n function create(configs) {\n var result = {};\n for (var _i = 0, configs_1 = configs; _i < configs_1.length; _i++) {\n var config = configs_1[_i];\n var _a = config.split(\":\"), kind = _a[0], prefix = _a[1];\n var mixin = void 0;\n switch (kind) {\n case \"line\":\n mixin = exports.line;\n break;\n case \"fill\":\n mixin = exports.fill;\n break;\n case \"hatch\":\n mixin = exports.hatch;\n break;\n case \"text\":\n mixin = exports.text;\n break;\n default:\n throw new Error(\"Unknown property mixin kind '\" + kind + \"'\");\n }\n object_1.extend(result, mixin(prefix));\n }\n return result;\n }\n exports.create = create;\n}\n","/* core/selection_manager */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var has_props_1 = require(8) /* ./has_props */;\n var selection_1 = require(209) /* ../models/selections/selection */;\n var glyph_renderer_1 = require(197) /* ../models/renderers/glyph_renderer */;\n var graph_renderer_1 = require(198) /* ../models/renderers/graph_renderer */;\n var p = require(18) /* ./properties */;\n var SelectionManager = /** @class */ (function (_super) {\n tslib_1.__extends(SelectionManager, _super);\n function SelectionManager(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.inspectors = {};\n return _this;\n }\n SelectionManager.initClass = function () {\n this.prototype.type = \"SelectionManager\";\n this.internal({\n source: [p.Any],\n });\n };\n SelectionManager.prototype.select = function (renderer_views, geometry, final, append) {\n if (append === void 0) {\n append = false;\n }\n // divide renderers into glyph_renderers or graph_renderers\n var glyph_renderer_views = [];\n var graph_renderer_views = [];\n for (var _i = 0, renderer_views_1 = renderer_views; _i < renderer_views_1.length; _i++) {\n var r = renderer_views_1[_i];\n if (r instanceof glyph_renderer_1.GlyphRendererView)\n glyph_renderer_views.push(r);\n else if (r instanceof graph_renderer_1.GraphRendererView)\n graph_renderer_views.push(r);\n }\n var did_hit = false;\n // graph renderer case\n for (var _a = 0, graph_renderer_views_1 = graph_renderer_views; _a < graph_renderer_views_1.length; _a++) {\n var r = graph_renderer_views_1[_a];\n var hit_test_result = r.model.selection_policy.hit_test(geometry, r);\n did_hit = did_hit || r.model.selection_policy.do_selection(hit_test_result, r.model, final, append);\n }\n // glyph renderers\n if (glyph_renderer_views.length > 0) {\n var hit_test_result = this.source.selection_policy.hit_test(geometry, glyph_renderer_views);\n did_hit = did_hit || this.source.selection_policy.do_selection(hit_test_result, this.source, final, append);\n }\n return did_hit;\n };\n SelectionManager.prototype.inspect = function (renderer_view, geometry) {\n var did_hit = false;\n if (renderer_view instanceof glyph_renderer_1.GlyphRendererView) {\n var hit_test_result = renderer_view.hit_test(geometry);\n if (hit_test_result != null) {\n did_hit = !hit_test_result.is_empty();\n var inspection = this.get_or_create_inspector(renderer_view.model);\n inspection.update(hit_test_result, true, false);\n this.source.setv({ inspected: inspection }, { silent: true });\n this.source.inspect.emit([renderer_view, { geometry: geometry }]);\n }\n }\n else if (renderer_view instanceof graph_renderer_1.GraphRendererView) {\n var hit_test_result = renderer_view.model.inspection_policy.hit_test(geometry, renderer_view);\n did_hit = did_hit || renderer_view.model.inspection_policy.do_inspection(hit_test_result, geometry, renderer_view, false, false);\n }\n return did_hit;\n };\n SelectionManager.prototype.clear = function (rview) {\n this.source.selected.clear();\n if (rview != null)\n this.get_or_create_inspector(rview.model).clear();\n };\n SelectionManager.prototype.get_or_create_inspector = function (rmodel) {\n if (this.inspectors[rmodel.id] == null)\n this.inspectors[rmodel.id] = new selection_1.Selection();\n return this.inspectors[rmodel.id];\n };\n return SelectionManager;\n }(has_props_1.HasProps));\n exports.SelectionManager = SelectionManager;\n SelectionManager.initClass();\n}\n","/* core/settings */ function _(require, module, exports) {\n var Settings = /** @class */ (function () {\n function Settings() {\n this._dev = false;\n }\n Object.defineProperty(Settings.prototype, \"dev\", {\n get: function () {\n return this._dev;\n },\n set: function (dev) {\n this._dev = dev;\n },\n enumerable: true,\n configurable: true\n });\n return Settings;\n }());\n exports.Settings = Settings;\n exports.settings = new Settings();\n}\n","/* core/signaling */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var data_structures_1 = require(32) /* ./util/data_structures */;\n var callback_1 = require(28) /* ./util/callback */;\n var array_1 = require(24) /* ./util/array */;\n var Signal = /** @class */ (function () {\n function Signal(sender, name) {\n this.sender = sender;\n this.name = name;\n }\n Signal.prototype.connect = function (slot, context) {\n if (context === void 0) {\n context = null;\n }\n if (!receiversForSender.has(this.sender)) {\n receiversForSender.set(this.sender, []);\n }\n var receivers = receiversForSender.get(this.sender);\n if (findConnection(receivers, this, slot, context) != null) {\n return false;\n }\n var receiver = context || slot;\n if (!sendersForReceiver.has(receiver)) {\n sendersForReceiver.set(receiver, []);\n }\n var senders = sendersForReceiver.get(receiver);\n var connection = { signal: this, slot: slot, context: context };\n receivers.push(connection);\n senders.push(connection);\n return true;\n };\n Signal.prototype.disconnect = function (slot, context) {\n if (context === void 0) {\n context = null;\n }\n var receivers = receiversForSender.get(this.sender);\n if (receivers == null || receivers.length === 0) {\n return false;\n }\n var connection = findConnection(receivers, this, slot, context);\n if (connection == null) {\n return false;\n }\n var receiver = context || slot;\n var senders = sendersForReceiver.get(receiver);\n connection.signal = null;\n scheduleCleanup(receivers);\n scheduleCleanup(senders);\n return true;\n };\n Signal.prototype.emit = function (args) {\n var receivers = receiversForSender.get(this.sender) || [];\n for (var _i = 0, receivers_1 = receivers; _i < receivers_1.length; _i++) {\n var _a = receivers_1[_i], signal = _a.signal, slot = _a.slot, context = _a.context;\n if (signal === this) {\n slot.call(context, args, this.sender);\n }\n }\n };\n return Signal;\n }());\n exports.Signal = Signal;\n var Signal0 = /** @class */ (function (_super) {\n tslib_1.__extends(Signal0, _super);\n function Signal0() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Signal0.prototype.emit = function () {\n _super.prototype.emit.call(this, undefined);\n };\n return Signal0;\n }(Signal));\n exports.Signal0 = Signal0;\n (function (Signal) {\n function disconnectBetween(sender, receiver) {\n var receivers = receiversForSender.get(sender);\n if (receivers == null || receivers.length === 0)\n return;\n var senders = sendersForReceiver.get(receiver);\n if (senders == null || senders.length === 0)\n return;\n for (var _i = 0, senders_1 = senders; _i < senders_1.length; _i++) {\n var connection = senders_1[_i];\n if (connection.signal == null)\n return;\n if (connection.signal.sender === sender)\n connection.signal = null;\n }\n scheduleCleanup(receivers);\n scheduleCleanup(senders);\n }\n Signal.disconnectBetween = disconnectBetween;\n function disconnectSender(sender) {\n var receivers = receiversForSender.get(sender);\n if (receivers == null || receivers.length === 0)\n return;\n for (var _i = 0, receivers_2 = receivers; _i < receivers_2.length; _i++) {\n var connection = receivers_2[_i];\n if (connection.signal == null)\n return;\n var receiver = connection.context || connection.slot;\n connection.signal = null;\n scheduleCleanup(sendersForReceiver.get(receiver));\n }\n scheduleCleanup(receivers);\n }\n Signal.disconnectSender = disconnectSender;\n function disconnectReceiver(receiver) {\n var senders = sendersForReceiver.get(receiver);\n if (senders == null || senders.length === 0)\n return;\n for (var _i = 0, senders_2 = senders; _i < senders_2.length; _i++) {\n var connection = senders_2[_i];\n if (connection.signal == null)\n return;\n var sender = connection.signal.sender;\n connection.signal = null;\n scheduleCleanup(receiversForSender.get(sender));\n }\n scheduleCleanup(senders);\n }\n Signal.disconnectReceiver = disconnectReceiver;\n function disconnectAll(obj) {\n var receivers = receiversForSender.get(obj);\n if (receivers != null && receivers.length !== 0) {\n for (var _i = 0, receivers_3 = receivers; _i < receivers_3.length; _i++) {\n var connection = receivers_3[_i];\n connection.signal = null;\n }\n scheduleCleanup(receivers);\n }\n var senders = sendersForReceiver.get(obj);\n if (senders != null && senders.length !== 0) {\n for (var _a = 0, senders_3 = senders; _a < senders_3.length; _a++) {\n var connection = senders_3[_a];\n connection.signal = null;\n }\n scheduleCleanup(senders);\n }\n }\n Signal.disconnectAll = disconnectAll;\n })(Signal = exports.Signal || (exports.Signal = {}));\n exports.Signal = Signal;\n function Signalable(Base) {\n // XXX: `class Foo extends Signalable(Object)` doesn't work (compiles, but fails at runtime), so\n // we have to do this to allow signalable classes without an explict base class.\n if (Base != null) {\n return /** @class */ (function (_super) {\n tslib_1.__extends(class_1, _super);\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n class_1.prototype.connect = function (signal, slot) {\n return signal.connect(slot, this);\n };\n class_1.prototype.disconnect = function (signal, slot) {\n return signal.disconnect(slot, this);\n };\n return class_1;\n }(Base));\n }\n else {\n return /** @class */ (function () {\n function class_2() {\n }\n class_2.prototype.connect = function (signal, slot) {\n return signal.connect(slot, this);\n };\n class_2.prototype.disconnect = function (signal, slot) {\n return signal.disconnect(slot, this);\n };\n return class_2;\n }());\n }\n }\n exports.Signalable = Signalable;\n var _Signalable;\n (function (_Signalable) {\n function connect(signal, slot) {\n return signal.connect(slot, this);\n }\n _Signalable.connect = connect;\n function disconnect(signal, slot) {\n return signal.disconnect(slot, this);\n }\n _Signalable.disconnect = disconnect;\n })(_Signalable = exports._Signalable || (exports._Signalable = {}));\n var receiversForSender = new WeakMap();\n var sendersForReceiver = new WeakMap();\n function findConnection(conns, signal, slot, context) {\n return array_1.find(conns, function (conn) { return conn.signal === signal && conn.slot === slot && conn.context === context; });\n }\n var dirtySet = new data_structures_1.Set();\n function scheduleCleanup(connections) {\n if (dirtySet.size === 0) {\n callback_1.defer(cleanupDirtySet);\n }\n dirtySet.add(connections);\n }\n function cleanupDirtySet() {\n dirtySet.forEach(function (connections) {\n array_1.remove_by(connections, function (connection) { return connection.signal == null; });\n });\n dirtySet.clear();\n }\n}\n","/* core/ui_events */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var Hammer = require(377) /* hammerjs */;\n var signaling_1 = require(22) /* ./signaling */;\n var logging_1 = require(17) /* ./logging */;\n var dom_1 = require(5) /* ./dom */;\n var wheel_1 = require(47) /* ./util/wheel */;\n var array_1 = require(24) /* ./util/array */;\n var object_1 = require(35) /* ./util/object */;\n var types_1 = require(46) /* ./util/types */;\n var compat_1 = require(31) /* ./util/compat */;\n var events = require(3) /* ./bokeh_events */;\n var UIEvents = /** @class */ (function () {\n function UIEvents(plot_view, toolbar, hit_area) {\n var _this = this;\n this.plot_view = plot_view;\n this.toolbar = toolbar;\n this.hit_area = hit_area;\n this.pan_start = new signaling_1.Signal(this, 'pan:start');\n this.pan = new signaling_1.Signal(this, 'pan');\n this.pan_end = new signaling_1.Signal(this, 'pan:end');\n this.pinch_start = new signaling_1.Signal(this, 'pinch:start');\n this.pinch = new signaling_1.Signal(this, 'pinch');\n this.pinch_end = new signaling_1.Signal(this, 'pinch:end');\n this.rotate_start = new signaling_1.Signal(this, 'rotate:start');\n this.rotate = new signaling_1.Signal(this, 'rotate');\n this.rotate_end = new signaling_1.Signal(this, 'rotate:end');\n this.tap = new signaling_1.Signal(this, 'tap');\n this.doubletap = new signaling_1.Signal(this, 'doubletap');\n this.press = new signaling_1.Signal(this, 'press');\n this.move_enter = new signaling_1.Signal(this, 'move:enter');\n this.move = new signaling_1.Signal(this, 'move');\n this.move_exit = new signaling_1.Signal(this, 'move:exit');\n this.scroll = new signaling_1.Signal(this, 'scroll');\n this.keydown = new signaling_1.Signal(this, 'keydown');\n this.keyup = new signaling_1.Signal(this, 'keyup');\n this.hammer = new Hammer(this.hit_area, { touchAction: 'auto' });\n this._configure_hammerjs();\n // Mouse & keyboard events not handled through hammerjs\n // We can 'add and forget' these event listeners because this.hit_area is a DOM element\n // that will be thrown away when the view is removed\n this.hit_area.addEventListener(\"mousemove\", function (e) { return _this._mouse_move(e); });\n this.hit_area.addEventListener(\"mouseenter\", function (e) { return _this._mouse_enter(e); });\n this.hit_area.addEventListener(\"mouseleave\", function (e) { return _this._mouse_exit(e); });\n this.hit_area.addEventListener(\"wheel\", function (e) { return _this._mouse_wheel(e); });\n // But we MUST remove listeners registered on document or we'll leak memory: register\n // 'this' as the listener (it implements the event listener interface, i.e. handleEvent)\n // instead of an anonymous function so we can easily refer back to it for removing\n document.addEventListener(\"keydown\", this);\n document.addEventListener(\"keyup\", this);\n }\n UIEvents.prototype.destroy = function () {\n this.hammer.destroy();\n document.removeEventListener(\"keydown\", this);\n document.removeEventListener(\"keyup\", this);\n };\n UIEvents.prototype.handleEvent = function (e) {\n if (e.type == \"keydown\")\n this._key_down(e);\n else if (e.type == \"keyup\")\n this._key_up(e);\n };\n UIEvents.prototype._configure_hammerjs = function () {\n var _this = this;\n // This is to be able to distinguish double taps from single taps\n this.hammer.get('doubletap').recognizeWith('tap');\n this.hammer.get('tap').requireFailure('doubletap');\n this.hammer.get('doubletap').dropRequireFailure('tap');\n this.hammer.on('doubletap', function (e) { return _this._doubletap(e); });\n this.hammer.on('tap', function (e) { return _this._tap(e); });\n this.hammer.on('press', function (e) { return _this._press(e); });\n this.hammer.get('pan').set({ direction: Hammer.DIRECTION_ALL });\n this.hammer.on('panstart', function (e) { return _this._pan_start(e); });\n this.hammer.on('pan', function (e) { return _this._pan(e); });\n this.hammer.on('panend', function (e) { return _this._pan_end(e); });\n this.hammer.get('pinch').set({ enable: true });\n this.hammer.on('pinchstart', function (e) { return _this._pinch_start(e); });\n this.hammer.on('pinch', function (e) { return _this._pinch(e); });\n this.hammer.on('pinchend', function (e) { return _this._pinch_end(e); });\n this.hammer.get('rotate').set({ enable: true });\n this.hammer.on('rotatestart', function (e) { return _this._rotate_start(e); });\n this.hammer.on('rotate', function (e) { return _this._rotate(e); });\n this.hammer.on('rotateend', function (e) { return _this._rotate_end(e); });\n };\n UIEvents.prototype.register_tool = function (tool_view) {\n var _this = this;\n var et = tool_view.model.event_type;\n if (et != null) {\n if (types_1.isString(et))\n this._register_tool(tool_view, et);\n else {\n // Multi-tools should only registered shared events once\n et.forEach(function (e, index) { return _this._register_tool(tool_view, e, index < 1); });\n }\n }\n };\n UIEvents.prototype._register_tool = function (tool_view, et, shared) {\n if (shared === void 0) {\n shared = true;\n }\n var v = tool_view;\n var id = v.model.id;\n var conditionally = function (fn) {\n return function (arg) {\n if (arg.id == id)\n fn(arg.e);\n };\n };\n var unconditionally = function (fn) {\n return function (arg) {\n fn(arg.e);\n };\n };\n switch (et) {\n case \"pan\": {\n if (v._pan_start != null)\n v.connect(this.pan_start, conditionally(v._pan_start.bind(v)));\n if (v._pan != null)\n v.connect(this.pan, conditionally(v._pan.bind(v)));\n if (v._pan_end != null)\n v.connect(this.pan_end, conditionally(v._pan_end.bind(v)));\n break;\n }\n case \"pinch\": {\n if (v._pinch_start != null)\n v.connect(this.pinch_start, conditionally(v._pinch_start.bind(v)));\n if (v._pinch != null)\n v.connect(this.pinch, conditionally(v._pinch.bind(v)));\n if (v._pinch_end != null)\n v.connect(this.pinch_end, conditionally(v._pinch_end.bind(v)));\n break;\n }\n case \"rotate\": {\n if (v._rotate_start != null)\n v.connect(this.rotate_start, conditionally(v._rotate_start.bind(v)));\n if (v._rotate != null)\n v.connect(this.rotate, conditionally(v._rotate.bind(v)));\n if (v._rotate_end != null)\n v.connect(this.rotate_end, conditionally(v._rotate_end.bind(v)));\n break;\n }\n case \"move\": {\n if (v._move_enter != null)\n v.connect(this.move_enter, conditionally(v._move_enter.bind(v)));\n if (v._move != null)\n v.connect(this.move, conditionally(v._move.bind(v)));\n if (v._move_exit != null)\n v.connect(this.move_exit, conditionally(v._move_exit.bind(v)));\n break;\n }\n case \"tap\": {\n if (v._tap != null)\n v.connect(this.tap, conditionally(v._tap.bind(v)));\n break;\n }\n case \"press\": {\n if (v._press != null)\n v.connect(this.press, conditionally(v._press.bind(v)));\n break;\n }\n case \"scroll\": {\n if (v._scroll != null)\n v.connect(this.scroll, conditionally(v._scroll.bind(v)));\n break;\n }\n default:\n throw new Error(\"unsupported event_type: \" + et);\n }\n // Skip shared events if registering multi-tool\n if (!shared)\n return;\n if (v._doubletap != null)\n v.connect(this.doubletap, unconditionally(v._doubletap.bind(v)));\n if (v._keydown != null)\n v.connect(this.keydown, unconditionally(v._keydown.bind(v)));\n if (v._keyup != null)\n v.connect(this.keyup, unconditionally(v._keyup.bind(v)));\n // Dual touch hack part 1/2\n // This is a hack for laptops with touch screen who may be pinching or scrolling\n // in order to use the wheel zoom tool. If it's a touch screen the WheelZoomTool event\n // will be linked to pinch. But we also want to trigger in the case of a scroll.\n if (compat_1.is_mobile && v._scroll != null && et == 'pinch') {\n logging_1.logger.debug(\"Registering scroll on touch screen\");\n v.connect(this.scroll, conditionally(v._scroll.bind(v)));\n }\n };\n UIEvents.prototype._hit_test_renderers = function (sx, sy) {\n var views = this.plot_view.get_renderer_views();\n for (var _i = 0, _a = array_1.reversed(views); _i < _a.length; _i++) {\n var view = _a[_i];\n var level = view.model.level;\n if ((level == 'annotation' || level == 'overlay') && view.interactive_hit != null) {\n if (view.interactive_hit(sx, sy))\n return view;\n }\n }\n return null;\n };\n UIEvents.prototype._hit_test_frame = function (sx, sy) {\n return this.plot_view.frame.bbox.contains(sx, sy);\n };\n UIEvents.prototype._hit_test_canvas = function (sx, sy) {\n return this.plot_view.layout.bbox.contains(sx, sy);\n };\n UIEvents.prototype._trigger = function (signal, e, srcEvent) {\n var _this = this;\n var gestures = this.toolbar.gestures;\n var event_type = signal.name;\n var base_type = event_type.split(\":\")[0];\n var view = this._hit_test_renderers(e.sx, e.sy);\n var on_canvas = this._hit_test_canvas(e.sx, e.sy);\n switch (base_type) {\n case \"move\": {\n var active_gesture = gestures[base_type].active;\n if (active_gesture != null)\n this.trigger(signal, e, active_gesture.id);\n var active_inspectors = this.toolbar.inspectors.filter(function (t) { return t.active; });\n var cursor = \"default\";\n // the event happened on a renderer\n if (view != null) {\n cursor = view.cursor(e.sx, e.sy) || cursor;\n if (!object_1.isEmpty(active_inspectors)) {\n // override event_type to cause inspectors to clear overlays\n signal = this.move_exit; // XXX\n event_type = signal.name;\n }\n // the event happened on the plot frame but off a renderer\n }\n else if (this._hit_test_frame(e.sx, e.sy)) {\n if (!object_1.isEmpty(active_inspectors)) {\n cursor = \"crosshair\";\n }\n }\n this.plot_view.set_cursor(cursor);\n this.plot_view.set_toolbar_visibility(on_canvas);\n active_inspectors.map(function (inspector) { return _this.trigger(signal, e, inspector.id); });\n break;\n }\n case \"tap\": {\n var target = srcEvent.target;\n if (target != null && target != this.hit_area)\n return; // don't trigger bokeh events\n if (view != null && view.on_hit != null)\n view.on_hit(e.sx, e.sy);\n var active_gesture = gestures[base_type].active;\n if (active_gesture != null)\n this.trigger(signal, e, active_gesture.id);\n break;\n }\n case \"scroll\": {\n // Dual touch hack part 2/2\n // This is a hack for laptops with touch screen who may be pinching or scrolling\n // in order to use the wheel zoom tool. If it's a touch screen the WheelZoomTool event\n // will be linked to pinch. But we also want to trigger in the case of a scroll.\n var base = compat_1.is_mobile ? \"pinch\" : \"scroll\";\n var active_gesture = gestures[base].active;\n if (active_gesture != null) {\n srcEvent.preventDefault();\n srcEvent.stopPropagation();\n this.trigger(signal, e, active_gesture.id);\n }\n break;\n }\n case \"pan\": {\n var active_gesture = gestures[base_type].active;\n if (active_gesture != null) {\n srcEvent.preventDefault();\n this.trigger(signal, e, active_gesture.id);\n }\n break;\n }\n default: {\n var active_gesture = gestures[base_type].active;\n if (active_gesture != null)\n this.trigger(signal, e, active_gesture.id);\n }\n }\n this._trigger_bokeh_event(e);\n };\n UIEvents.prototype.trigger = function (signal, e, id) {\n if (id === void 0) {\n id = null;\n }\n signal.emit({ id: id, e: e });\n };\n UIEvents.prototype._trigger_bokeh_event = function (e) {\n var _this = this;\n var ev = (function () {\n var xscale = _this.plot_view.frame.xscales.default;\n var yscale = _this.plot_view.frame.yscales.default;\n var sx = e.sx, sy = e.sy;\n var x = xscale.invert(sx);\n var y = yscale.invert(sy);\n switch (e.type) {\n case \"wheel\":\n return new events.MouseWheel(sx, sy, x, y, e.delta);\n case \"mousemove\":\n return new events.MouseMove(sx, sy, x, y);\n case \"mouseenter\":\n return new events.MouseEnter(sx, sy, x, y);\n case \"mouseleave\":\n return new events.MouseLeave(sx, sy, x, y);\n case \"tap\":\n return new events.Tap(sx, sy, x, y);\n case \"doubletap\":\n return new events.DoubleTap(sx, sy, x, y);\n case \"press\":\n return new events.Press(sx, sy, x, y);\n case \"pan\":\n return new events.Pan(sx, sy, x, y, e.deltaX, e.deltaY);\n case \"panstart\":\n return new events.PanStart(sx, sy, x, y);\n case \"panend\":\n return new events.PanEnd(sx, sy, x, y);\n case \"pinch\":\n return new events.Pinch(sx, sy, x, y, e.scale);\n case \"pinchstart\":\n return new events.PinchStart(sx, sy, x, y);\n case \"pinchend\":\n return new events.PinchEnd(sx, sy, x, y);\n default:\n throw new Error(\"unreachable\");\n }\n })();\n this.plot_view.model.trigger_event(ev);\n };\n UIEvents.prototype._get_sxy = function (event) {\n // XXX: jsdom doesn't support TouchEvent constructor\n function is_touch(event) {\n return typeof TouchEvent !== \"undefined\" && event instanceof TouchEvent;\n }\n var _a = is_touch(event) ? (event.touches.length != 0 ? event.touches : event.changedTouches)[0] : event, pageX = _a.pageX, pageY = _a.pageY;\n var _b = dom_1.offset(this.hit_area), left = _b.left, top = _b.top;\n return {\n sx: pageX - left,\n sy: pageY - top,\n };\n };\n UIEvents.prototype._gesture_event = function (e) {\n return tslib_1.__assign({ type: e.type }, this._get_sxy(e.srcEvent), { deltaX: e.deltaX, deltaY: e.deltaY, scale: e.scale, shiftKey: e.srcEvent.shiftKey });\n };\n UIEvents.prototype._tap_event = function (e) {\n return tslib_1.__assign({ type: e.type }, this._get_sxy(e.srcEvent), { shiftKey: e.srcEvent.shiftKey });\n };\n UIEvents.prototype._move_event = function (e) {\n return tslib_1.__assign({ type: e.type }, this._get_sxy(e));\n };\n UIEvents.prototype._scroll_event = function (e) {\n return tslib_1.__assign({ type: e.type }, this._get_sxy(e), { delta: wheel_1.getDeltaY(e) });\n };\n UIEvents.prototype._key_event = function (e) {\n return {\n type: e.type,\n keyCode: e.keyCode,\n };\n };\n UIEvents.prototype._pan_start = function (e) {\n var ev = this._gesture_event(e);\n // back out delta to get original center point\n ev.sx -= e.deltaX;\n ev.sy -= e.deltaY;\n this._trigger(this.pan_start, ev, e.srcEvent);\n };\n UIEvents.prototype._pan = function (e) {\n this._trigger(this.pan, this._gesture_event(e), e.srcEvent);\n };\n UIEvents.prototype._pan_end = function (e) {\n this._trigger(this.pan_end, this._gesture_event(e), e.srcEvent);\n };\n UIEvents.prototype._pinch_start = function (e) {\n this._trigger(this.pinch_start, this._gesture_event(e), e.srcEvent);\n };\n UIEvents.prototype._pinch = function (e) {\n this._trigger(this.pinch, this._gesture_event(e), e.srcEvent);\n };\n UIEvents.prototype._pinch_end = function (e) {\n this._trigger(this.pinch_end, this._gesture_event(e), e.srcEvent);\n };\n UIEvents.prototype._rotate_start = function (e) {\n this._trigger(this.rotate_start, this._gesture_event(e), e.srcEvent);\n };\n UIEvents.prototype._rotate = function (e) {\n this._trigger(this.rotate, this._gesture_event(e), e.srcEvent);\n };\n UIEvents.prototype._rotate_end = function (e) {\n this._trigger(this.rotate_end, this._gesture_event(e), e.srcEvent);\n };\n UIEvents.prototype._tap = function (e) {\n this._trigger(this.tap, this._tap_event(e), e.srcEvent);\n };\n UIEvents.prototype._doubletap = function (e) {\n // NOTE: doubletap event triggered unconditionally\n var ev = this._tap_event(e);\n this._trigger_bokeh_event(ev);\n this.trigger(this.doubletap, ev);\n };\n UIEvents.prototype._press = function (e) {\n this._trigger(this.press, this._tap_event(e), e.srcEvent);\n };\n UIEvents.prototype._mouse_enter = function (e) {\n this._trigger(this.move_enter, this._move_event(e), e);\n };\n UIEvents.prototype._mouse_move = function (e) {\n this._trigger(this.move, this._move_event(e), e);\n };\n UIEvents.prototype._mouse_exit = function (e) {\n this._trigger(this.move_exit, this._move_event(e), e);\n };\n UIEvents.prototype._mouse_wheel = function (e) {\n this._trigger(this.scroll, this._scroll_event(e), e);\n };\n UIEvents.prototype._key_down = function (e) {\n // NOTE: keyup event triggered unconditionally\n this.trigger(this.keydown, this._key_event(e));\n };\n UIEvents.prototype._key_up = function (e) {\n // NOTE: keyup event triggered unconditionally\n this.trigger(this.keyup, this._key_event(e));\n };\n return UIEvents;\n }());\n exports.UIEvents = UIEvents;\n}\n","/* core/util/array */ function _(require, module, exports) {\n var math_1 = require(34) /* ./math */;\n var assert_1 = require(26) /* ./assert */;\n var arrayable_1 = require(25) /* ./arrayable */;\n exports.map = arrayable_1.map;\n exports.reduce = arrayable_1.reduce;\n exports.min = arrayable_1.min;\n exports.min_by = arrayable_1.min_by;\n exports.max = arrayable_1.max;\n exports.max_by = arrayable_1.max_by;\n exports.sum = arrayable_1.sum;\n exports.cumsum = arrayable_1.cumsum;\n exports.every = arrayable_1.every;\n exports.some = arrayable_1.some;\n exports.find = arrayable_1.find;\n exports.find_last = arrayable_1.find_last;\n exports.find_index = arrayable_1.find_index;\n exports.find_last_index = arrayable_1.find_last_index;\n exports.sorted_index = arrayable_1.sorted_index;\n var slice = Array.prototype.slice;\n function head(array) {\n return array[0];\n }\n exports.head = head;\n function tail(array) {\n return array[array.length - 1];\n }\n exports.tail = tail;\n function last(array) {\n return array[array.length - 1];\n }\n exports.last = last;\n function copy(array) {\n return slice.call(array);\n }\n exports.copy = copy;\n function concat(arrays) {\n var _a;\n return (_a = []).concat.apply(_a, arrays);\n }\n exports.concat = concat;\n function includes(array, value) {\n return array.indexOf(value) !== -1;\n }\n exports.includes = includes;\n exports.contains = includes;\n function nth(array, index) {\n return array[index >= 0 ? index : array.length + index];\n }\n exports.nth = nth;\n function zip() {\n var arrays = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n arrays[_i] = arguments[_i];\n }\n if (arrays.length == 0)\n return [];\n var n = arrayable_1.min(arrays.map(function (a) { return a.length; }));\n var k = arrays.length;\n var result = new Array(n);\n for (var i = 0; i < n; i++) {\n result[i] = new Array(k);\n for (var j = 0; j < k; j++)\n result[i][j] = arrays[j][i];\n }\n return result;\n }\n exports.zip = zip;\n function unzip(array) {\n var n = array.length;\n var k = arrayable_1.min(array.map(function (a) { return a.length; }));\n var results = Array(k);\n for (var j = 0; j < k; j++)\n results[j] = new Array(n);\n for (var i = 0; i < n; i++) {\n for (var j = 0; j < k; j++)\n results[j][i] = array[i][j];\n }\n return results;\n }\n exports.unzip = unzip;\n function range(start, stop, step) {\n if (step === void 0) {\n step = 1;\n }\n assert_1.assert(step > 0, \"'step' must be a positive number\");\n if (stop == null) {\n stop = start;\n start = 0;\n }\n var max = Math.max, ceil = Math.ceil, abs = Math.abs;\n var delta = start <= stop ? step : -step;\n var length = max(ceil(abs(stop - start) / step), 0);\n var range = Array(length);\n for (var i = 0; i < length; i++, start += delta) {\n range[i] = start;\n }\n return range;\n }\n exports.range = range;\n function linspace(start, stop, num) {\n if (num === void 0) {\n num = 100;\n }\n var step = (stop - start) / (num - 1);\n var array = new Array(num);\n for (var i = 0; i < num; i++) {\n array[i] = start + step * i;\n }\n return array;\n }\n exports.linspace = linspace;\n function transpose(array) {\n var rows = array.length;\n var cols = array[0].length;\n var transposed = [];\n for (var j = 0; j < cols; j++) {\n transposed[j] = [];\n for (var i = 0; i < rows; i++) {\n transposed[j][i] = array[i][j];\n }\n }\n return transposed;\n }\n exports.transpose = transpose;\n function argmin(array) {\n return arrayable_1.min_by(range(array.length), function (i) { return array[i]; });\n }\n exports.argmin = argmin;\n function argmax(array) {\n return arrayable_1.max_by(range(array.length), function (i) { return array[i]; });\n }\n exports.argmax = argmax;\n function sort_by(array, key) {\n var tmp = array.map(function (value, index) {\n return { value: value, index: index, key: key(value) };\n });\n tmp.sort(function (left, right) {\n var a = left.key;\n var b = right.key;\n if (a !== b) {\n if (a > b || a === undefined)\n return 1;\n if (a < b || b === undefined)\n return -1;\n }\n return left.index - right.index;\n });\n return tmp.map(function (item) { return item.value; });\n }\n exports.sort_by = sort_by;\n function uniq(array) {\n var result = [];\n for (var _i = 0, array_1 = array; _i < array_1.length; _i++) {\n var value = array_1[_i];\n if (!includes(result, value)) {\n result.push(value);\n }\n }\n return result;\n }\n exports.uniq = uniq;\n function uniq_by(array, key) {\n var result = [];\n var seen = [];\n for (var _i = 0, array_2 = array; _i < array_2.length; _i++) {\n var value = array_2[_i];\n var computed = key(value);\n if (!includes(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n }\n return result;\n }\n exports.uniq_by = uniq_by;\n function union() {\n var arrays = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n arrays[_i] = arguments[_i];\n }\n return uniq(concat(arrays));\n }\n exports.union = union;\n function intersection(array) {\n var arrays = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n arrays[_i - 1] = arguments[_i];\n }\n var result = [];\n top: for (var _a = 0, array_3 = array; _a < array_3.length; _a++) {\n var item = array_3[_a];\n if (includes(result, item))\n continue;\n for (var _b = 0, arrays_1 = arrays; _b < arrays_1.length; _b++) {\n var other = arrays_1[_b];\n if (!includes(other, item))\n continue top;\n }\n result.push(item);\n }\n return result;\n }\n exports.intersection = intersection;\n function difference(array) {\n var arrays = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n arrays[_i - 1] = arguments[_i];\n }\n var rest = concat(arrays);\n return array.filter(function (value) { return !includes(rest, value); });\n }\n exports.difference = difference;\n function remove_at(array, i) {\n var result = copy(array);\n result.splice(i, 1);\n return result;\n }\n exports.remove_at = remove_at;\n function remove_by(array, key) {\n for (var i = 0; i < array.length;) {\n if (key(array[i]))\n array.splice(i, 1);\n else\n i++;\n }\n }\n exports.remove_by = remove_by;\n // Shuffle a collection, using the modern version of the\n // [Fisher-Yates shuffle](http://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n function shuffle(array) {\n var length = array.length;\n var shuffled = new Array(length);\n for (var i = 0; i < length; i++) {\n var rand = math_1.randomIn(0, i);\n if (rand !== i)\n shuffled[i] = shuffled[rand];\n shuffled[rand] = array[i];\n }\n return shuffled;\n }\n exports.shuffle = shuffle;\n function pairwise(array, fn) {\n var n = array.length;\n var result = new Array(n - 1);\n for (var i = 0; i < n - 1; i++) {\n result[i] = fn(array[i], array[i + 1]);\n }\n return result;\n }\n exports.pairwise = pairwise;\n function reversed(array) {\n var n = array.length;\n var result = new Array(n);\n for (var i = 0; i < n; i++) {\n result[n - i - 1] = array[i];\n }\n return result;\n }\n exports.reversed = reversed;\n function repeat(value, n) {\n var result = new Array(n);\n for (var i = 0; i < n; i++) {\n result[i] = value;\n }\n return result;\n }\n exports.repeat = repeat;\n}\n","/* core/util/arrayable */ function _(require, module, exports) {\n function splice(array, start, k) {\n var items = [];\n for (var _i = 3; _i < arguments.length; _i++) {\n items[_i - 3] = arguments[_i];\n }\n var len = array.length;\n if (start < 0)\n start += len;\n if (start < 0)\n start = 0;\n else if (start > len)\n start = len;\n if (k == null || k > len - start)\n k = len - start;\n else if (k < 0)\n k = 0;\n var n = len - k + items.length;\n var result = new array.constructor(n);\n var i = 0;\n for (; i < start; i++) {\n result[i] = array[i];\n }\n for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {\n var item = items_1[_a];\n result[i++] = item;\n }\n for (var j = start + k; j < len; j++) {\n result[i++] = array[j];\n }\n return result;\n }\n exports.splice = splice;\n function insert(array, item, i) {\n return splice(array, i, 0, item);\n }\n exports.insert = insert;\n function append(array, item) {\n return splice(array, array.length, 0, item);\n }\n exports.append = append;\n function prepend(array, item) {\n return splice(array, 0, 0, item);\n }\n exports.prepend = prepend;\n function indexOf(array, item) {\n for (var i = 0, n = array.length; i < n; i++) {\n if (array[i] === item)\n return i;\n }\n return -1;\n }\n exports.indexOf = indexOf;\n function map(array, fn) {\n var n = array.length;\n var result = new array.constructor(n);\n for (var i = 0; i < n; i++) {\n result[i] = fn(array[i], i, array);\n }\n return result;\n }\n exports.map = map;\n function reduce(array, fn, initial) {\n var n = array.length;\n if (initial === undefined && n == 0)\n throw new Error(\"can't reduce an empty array without an initial value\");\n var value;\n var i;\n if (initial === undefined) {\n value = array[0];\n i = 1;\n }\n else {\n value = initial;\n i = 0;\n }\n for (; i < n; i++) {\n value = fn(value, array[i], i, array);\n }\n return value;\n }\n exports.reduce = reduce;\n function min(array) {\n var value;\n var result = Infinity;\n for (var i = 0, length_1 = array.length; i < length_1; i++) {\n value = array[i];\n if (value < result) {\n result = value;\n }\n }\n return result;\n }\n exports.min = min;\n function min_by(array, key) {\n if (array.length == 0)\n throw new Error(\"min_by() called with an empty array\");\n var result = array[0];\n var resultComputed = key(result);\n for (var i = 1, length_2 = array.length; i < length_2; i++) {\n var value = array[i];\n var computed = key(value);\n if (computed < resultComputed) {\n result = value;\n resultComputed = computed;\n }\n }\n return result;\n }\n exports.min_by = min_by;\n function max(array) {\n var value;\n var result = -Infinity;\n for (var i = 0, length_3 = array.length; i < length_3; i++) {\n value = array[i];\n if (value > result) {\n result = value;\n }\n }\n return result;\n }\n exports.max = max;\n function max_by(array, key) {\n if (array.length == 0)\n throw new Error(\"max_by() called with an empty array\");\n var result = array[0];\n var resultComputed = key(result);\n for (var i = 1, length_4 = array.length; i < length_4; i++) {\n var value = array[i];\n var computed = key(value);\n if (computed > resultComputed) {\n result = value;\n resultComputed = computed;\n }\n }\n return result;\n }\n exports.max_by = max_by;\n function sum(array) {\n var result = 0;\n for (var i = 0, n = array.length; i < n; i++) {\n result += array[i];\n }\n return result;\n }\n exports.sum = sum;\n function cumsum(array) {\n var result = new array.constructor(array.length);\n reduce(array, function (a, b, i) { return result[i] = a + b; }, 0);\n return result;\n }\n exports.cumsum = cumsum;\n function every(array, predicate) {\n for (var i = 0, length_5 = array.length; i < length_5; i++) {\n if (!predicate(array[i]))\n return false;\n }\n return true;\n }\n exports.every = every;\n function some(array, predicate) {\n for (var i = 0, length_6 = array.length; i < length_6; i++) {\n if (predicate(array[i]))\n return true;\n }\n return false;\n }\n exports.some = some;\n function index_of(array, value) {\n for (var i = 0, length_7 = array.length; i < length_7; i++) {\n if (array[i] === value)\n return i;\n }\n return -1;\n }\n exports.index_of = index_of;\n function _find_index(dir) {\n return function (array, predicate) {\n var length = array.length;\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index]))\n return index;\n }\n return -1;\n };\n }\n exports.find_index = _find_index(1);\n exports.find_last_index = _find_index(-1);\n function find(array, predicate) {\n var index = exports.find_index(array, predicate);\n return index == -1 ? undefined : array[index];\n }\n exports.find = find;\n function find_last(array, predicate) {\n var index = exports.find_last_index(array, predicate);\n return index == -1 ? undefined : array[index];\n }\n exports.find_last = find_last;\n function sorted_index(array, value) {\n var low = 0;\n var high = array.length;\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (array[mid] < value)\n low = mid + 1;\n else\n high = mid;\n }\n return low;\n }\n exports.sorted_index = sorted_index;\n}\n","/* core/util/assert */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var AssertionError = /** @class */ (function (_super) {\n tslib_1.__extends(AssertionError, _super);\n function AssertionError() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return AssertionError;\n }(Error));\n exports.AssertionError = AssertionError;\n function assert(condition, message) {\n if (condition === true || (condition !== false && condition()))\n return;\n throw new AssertionError(message || \"Assertion failed\");\n }\n exports.assert = assert;\n}\n","/* core/util/bbox */ function _(require, module, exports) {\n var min = Math.min, max = Math.max;\n function empty() {\n return {\n minX: Infinity,\n minY: Infinity,\n maxX: -Infinity,\n maxY: -Infinity,\n };\n }\n exports.empty = empty;\n function positive_x() {\n return {\n minX: Number.MIN_VALUE,\n minY: -Infinity,\n maxX: Infinity,\n maxY: Infinity,\n };\n }\n exports.positive_x = positive_x;\n function positive_y() {\n return {\n minX: -Infinity,\n minY: Number.MIN_VALUE,\n maxX: Infinity,\n maxY: Infinity,\n };\n }\n exports.positive_y = positive_y;\n function union(a, b) {\n return {\n minX: min(a.minX, b.minX),\n maxX: max(a.maxX, b.maxX),\n minY: min(a.minY, b.minY),\n maxY: max(a.maxY, b.maxY),\n };\n }\n exports.union = union;\n var BBox = /** @class */ (function () {\n function BBox(box) {\n if (box == null) {\n this.x0 = 0;\n this.y0 = 0;\n this.x1 = 0;\n this.y1 = 0;\n }\n else if ('x0' in box) {\n var _a = box, x0 = _a.x0, y0 = _a.y0, x1 = _a.x1, y1 = _a.y1;\n if (!(x0 <= x1 && y0 <= y1))\n throw new Error(\"invalid bbox {x0: \" + x0 + \", y0: \" + y0 + \", x1: \" + x1 + \", y1: \" + y1 + \"}\");\n this.x0 = x0;\n this.y0 = y0;\n this.x1 = x1;\n this.y1 = y1;\n }\n else if (\"x\" in box) {\n var _b = box, left = _b.left, top_1 = _b.top, width = _b.width, height = _b.height;\n if (!(width >= 0 && height >= 0))\n throw new Error(\"invalid bbox {left: \" + left + \", top: \" + top_1 + \", width: \" + width + \", height: \" + height + \"}\");\n this.x0 = left;\n this.y0 = top_1;\n this.x1 = left + width;\n this.y1 = top_1 + height;\n }\n else {\n var left = void 0, right = void 0;\n var top_2, bottom = void 0;\n if (\"width\" in box) {\n if (\"left\" in box) {\n left = box.left;\n right = left + box.width;\n }\n else if (\"right\" in box) {\n right = box.right;\n left = right - box.width;\n }\n else {\n var w2 = box.width / 2;\n left = box.hcenter - w2;\n right = box.hcenter + w2;\n }\n }\n else {\n left = box.left;\n right = box.right;\n }\n if (\"height\" in box) {\n if (\"top\" in box) {\n top_2 = box.top;\n bottom = top_2 + box.height;\n }\n else if (\"bottom\" in box) {\n bottom = box.bottom;\n top_2 = bottom - box.height;\n }\n else {\n var h2 = box.height / 2;\n top_2 = box.vcenter - h2;\n bottom = box.vcenter + h2;\n }\n }\n else {\n top_2 = box.top;\n bottom = box.bottom;\n }\n if (!(left <= right && top_2 <= bottom))\n throw new Error(\"invalid bbox {left: \" + left + \", top: \" + top_2 + \", right: \" + right + \", bottom: \" + bottom + \"}\");\n this.x0 = left;\n this.y0 = top_2;\n this.x1 = right;\n this.y1 = bottom;\n }\n }\n BBox.prototype.toString = function () {\n return \"BBox({left: \" + this.left + \", top: \" + this.top + \", width: \" + this.width + \", height: \" + this.height + \"})\";\n };\n Object.defineProperty(BBox.prototype, \"minX\", {\n get: function () { return this.x0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"minY\", {\n get: function () { return this.y0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"maxX\", {\n get: function () { return this.x1; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"maxY\", {\n get: function () { return this.y1; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"left\", {\n get: function () { return this.x0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"top\", {\n get: function () { return this.y0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"right\", {\n get: function () { return this.x1; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"bottom\", {\n get: function () { return this.y1; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"p0\", {\n get: function () { return [this.x0, this.y0]; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"p1\", {\n get: function () { return [this.x1, this.y1]; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"x\", {\n get: function () { return this.x0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"y\", {\n get: function () { return this.y0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"width\", {\n get: function () { return this.x1 - this.x0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"height\", {\n get: function () { return this.y1 - this.y0; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"rect\", {\n get: function () { return { left: this.left, top: this.top, width: this.width, height: this.height }; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"h_range\", {\n get: function () { return { start: this.x0, end: this.x1 }; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"v_range\", {\n get: function () { return { start: this.y0, end: this.y1 }; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"ranges\", {\n get: function () { return [this.h_range, this.v_range]; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"aspect\", {\n get: function () { return this.width / this.height; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"hcenter\", {\n get: function () { return (this.left + this.right) / 2; },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"vcenter\", {\n get: function () { return (this.top + this.bottom) / 2; },\n enumerable: true,\n configurable: true\n });\n BBox.prototype.contains = function (x, y) {\n return x >= this.x0 && x <= this.x1 && y >= this.y0 && y <= this.y1;\n };\n BBox.prototype.clip = function (x, y) {\n if (x < this.x0)\n x = this.x0;\n else if (x > this.x1)\n x = this.x1;\n if (y < this.y0)\n y = this.y0;\n else if (y > this.y1)\n y = this.y1;\n return [x, y];\n };\n BBox.prototype.union = function (that) {\n return new BBox({\n x0: min(this.x0, that.x0),\n y0: min(this.y0, that.y0),\n x1: max(this.x1, that.x1),\n y1: max(this.y1, that.y1),\n });\n };\n BBox.prototype.equals = function (that) {\n return this.x0 == that.x0 && this.y0 == that.y0 && this.x1 == that.x1 && this.y1 == that.y1;\n };\n Object.defineProperty(BBox.prototype, \"xview\", {\n get: function () {\n var _this = this;\n return {\n compute: function (x) {\n return _this.left + x;\n },\n v_compute: function (xx) {\n var _xx = new Float64Array(xx.length);\n var left = _this.left;\n for (var i = 0; i < xx.length; i++) {\n _xx[i] = left + xx[i];\n }\n return _xx;\n },\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BBox.prototype, \"yview\", {\n get: function () {\n var _this = this;\n return {\n compute: function (y) {\n return _this.bottom - y;\n },\n v_compute: function (yy) {\n var _yy = new Float64Array(yy.length);\n var bottom = _this.bottom;\n for (var i = 0; i < yy.length; i++) {\n _yy[i] = bottom - yy[i];\n }\n return _yy;\n },\n };\n },\n enumerable: true,\n configurable: true\n });\n return BBox;\n }());\n exports.BBox = BBox;\n}\n","/* core/util/callback */ function _(require, module, exports) {\n function delay(func, wait) {\n return setTimeout(func, wait);\n }\n exports.delay = delay;\n var _defer = typeof requestAnimationFrame === \"function\" ? requestAnimationFrame : setImmediate;\n function defer(func) {\n return _defer(func);\n }\n exports.defer = defer;\n function throttle(func, wait, options) {\n if (options === void 0) {\n options = {};\n }\n var context, args, result;\n var timeout = null;\n var previous = 0;\n var later = function () {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout)\n context = args = null;\n };\n return function () {\n var now = Date.now();\n if (!previous && options.leading === false)\n previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = now;\n result = func.apply(context, args);\n if (!timeout)\n context = args = null;\n }\n else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n }\n exports.throttle = throttle;\n function once(func) {\n var done = false;\n var memo;\n return function () {\n if (!done) {\n done = true;\n memo = func();\n }\n return memo;\n };\n }\n exports.once = once;\n}\n","/* core/util/canvas */ function _(require, module, exports) {\n function fixup_line_dash(ctx) {\n if (!ctx.setLineDash) {\n ctx.setLineDash = function (dash) {\n ctx.mozDash = dash;\n ctx.webkitLineDash = dash;\n };\n }\n if (!ctx.getLineDash) {\n ctx.getLineDash = function () {\n return ctx.mozDash;\n };\n }\n }\n function fixup_line_dash_offset(ctx) {\n ctx.setLineDashOffset = function (offset) {\n ctx.lineDashOffset = offset;\n ctx.mozDashOffset = offset;\n ctx.webkitLineDashOffset = offset;\n };\n ctx.getLineDashOffset = function () {\n return ctx.mozDashOffset;\n };\n }\n function fixup_image_smoothing(ctx) {\n ctx.setImageSmoothingEnabled = function (value) {\n ctx.imageSmoothingEnabled = value;\n ctx.mozImageSmoothingEnabled = value;\n ctx.oImageSmoothingEnabled = value;\n ctx.webkitImageSmoothingEnabled = value;\n ctx.msImageSmoothingEnabled = value;\n };\n ctx.getImageSmoothingEnabled = function () {\n var val = ctx.imageSmoothingEnabled;\n return val != null ? val : true;\n };\n }\n function fixup_measure_text(ctx) {\n if (ctx.measureText && ctx.html5MeasureText == null) {\n ctx.html5MeasureText = ctx.measureText;\n ctx.measureText = function (text) {\n var textMetrics = ctx.html5MeasureText(text);\n // fake it til you make it\n textMetrics.ascent = ctx.html5MeasureText(\"m\").width * 1.6;\n return textMetrics;\n };\n }\n }\n function fixup_ellipse(ctx) {\n // implementing the ctx.ellipse function with bezier curves\n // we don't implement the startAngle, endAngle and anticlockwise arguments.\n function ellipse_bezier(x, y, radiusX, radiusY, rotation, _startAngle, _endAngle, anticlockwise) {\n if (anticlockwise === void 0) {\n anticlockwise = false;\n }\n var c = 0.551784; // see http://www.tinaja.com/glib/ellipse4.pdf\n ctx.translate(x, y);\n ctx.rotate(rotation);\n var rx = radiusX;\n var ry = radiusY;\n if (anticlockwise) {\n rx = -radiusX;\n ry = -radiusY;\n }\n ctx.moveTo(-rx, 0); // start point of first curve\n ctx.bezierCurveTo(-rx, ry * c, -rx * c, ry, 0, ry);\n ctx.bezierCurveTo(rx * c, ry, rx, ry * c, rx, 0);\n ctx.bezierCurveTo(rx, -ry * c, rx * c, -ry, 0, -ry);\n ctx.bezierCurveTo(-rx * c, -ry, -rx, -ry * c, -rx, 0);\n ctx.rotate(-rotation);\n ctx.translate(-x, -y);\n }\n if (!ctx.ellipse)\n ctx.ellipse = ellipse_bezier;\n }\n function fixup_ctx(ctx) {\n fixup_line_dash(ctx);\n fixup_line_dash_offset(ctx);\n fixup_image_smoothing(ctx);\n fixup_measure_text(ctx);\n fixup_ellipse(ctx);\n }\n exports.fixup_ctx = fixup_ctx;\n function get_scale_ratio(ctx, hidpi, backend) {\n if (backend == \"svg\")\n return 1;\n else if (hidpi) {\n var devicePixelRatio_1 = window.devicePixelRatio || 1;\n var backingStoreRatio = ctx.webkitBackingStorePixelRatio ||\n ctx.mozBackingStorePixelRatio ||\n ctx.msBackingStorePixelRatio ||\n ctx.oBackingStorePixelRatio ||\n ctx.backingStorePixelRatio || 1;\n return devicePixelRatio_1 / backingStoreRatio;\n }\n else\n return 1;\n }\n exports.get_scale_ratio = get_scale_ratio;\n}\n","/* core/util/color */ function _(require, module, exports) {\n var svg_colors_1 = require(41) /* ./svg_colors */;\n var array_1 = require(24) /* ./array */;\n function is_color(value) {\n return svg_colors_1.is_svg_color(value.toLowerCase()) || value.substring(0, 1) == \"#\" || valid_rgb(value);\n }\n exports.is_color = is_color;\n function _component2hex(v) {\n var h = Number(v).toString(16);\n return h.length == 1 ? \"0\" + h : h;\n }\n function rgb2hex(r, g, b) {\n var R = _component2hex(r & 0xFF);\n var G = _component2hex(g & 0xFF);\n var B = _component2hex(b & 0xFF);\n return \"#\" + R + G + B;\n }\n exports.rgb2hex = rgb2hex;\n function color2hex(color) {\n color = color + '';\n if (color.indexOf('#') == 0)\n return color;\n else if (svg_colors_1.is_svg_color(color))\n return svg_colors_1.svg_colors[color];\n else if (color.indexOf('rgb') == 0) {\n var rgb = color.replace(/^rgba?\\(|\\s+|\\)$/g, '').split(',');\n var hex = rgb.slice(0, 3).map(_component2hex).join('');\n if (rgb.length == 4)\n hex += _component2hex(Math.floor(parseFloat(rgb[3]) * 255));\n return \"#\" + hex.slice(0, 8); // can also be rgba\n }\n else\n return color;\n }\n exports.color2hex = color2hex;\n function color2rgba(color, alpha) {\n if (alpha === void 0) {\n alpha = 1.0;\n }\n if (!color) // NaN, null, '', etc.\n return [0, 0, 0, 0]; // transparent\n // Convert to hex and then to clean version of 6 or 8 chars\n var hex = color2hex(color);\n hex = hex.replace(/ |#/g, '');\n if (hex.length <= 4) {\n hex = hex.replace(/(.)/g, '$1$1');\n }\n // Convert pairs to numbers\n var rgba = hex.match(/../g).map(function (i) { return parseInt(i, 16) / 255; });\n // Ensure correct length, add alpha if necessary\n while (rgba.length < 3)\n rgba.push(0);\n if (rgba.length < 4)\n rgba.push(alpha);\n return rgba.slice(0, 4);\n }\n exports.color2rgba = color2rgba;\n function valid_rgb(value) {\n var params;\n switch (value.substring(0, 4)) {\n case \"rgba\": {\n params = { start: \"rgba(\", len: 4, alpha: true };\n break;\n }\n case \"rgb(\": {\n params = { start: \"rgb(\", len: 3, alpha: false };\n break;\n }\n default:\n return false;\n }\n // if '.' and then ',' found, we know decimals are used on rgb\n if (new RegExp(\".*?(\\\\.).*(,)\").test(value))\n throw new Error(\"color expects integers for rgb in rgb/rgba tuple, received \" + value);\n // extract the numerical values from inside parens\n var contents = value.replace(params.start, \"\").replace(\")\", \"\").split(',').map(parseFloat);\n // check length of array based on rgb/rgba\n if (contents.length != params.len)\n throw new Error(\"color expects rgba \" + params.len + \"-tuple, received \" + value);\n // check for valid numerical values for rgba\n if (params.alpha && !(0 <= contents[3] && contents[3] <= 1))\n throw new Error(\"color expects rgba 4-tuple to have alpha value between 0 and 1\");\n if (array_1.includes(contents.slice(0, 3).map(function (rgb) { return 0 <= rgb && rgb <= 255; }), false))\n throw new Error(\"color expects rgb to have value between 0 and 255\");\n return true;\n }\n exports.valid_rgb = valid_rgb;\n}\n","/* core/util/compat */ function _(require, module, exports) {\n exports.is_ie = (function () {\n var ua = typeof navigator !== \"undefined\" ? navigator.userAgent : \"\";\n return ua.indexOf('MSIE') >= 0 || ua.indexOf('Trident') > 0 || ua.indexOf('Edge') > 0;\n })();\n exports.is_mobile = (function () {\n return typeof window !== \"undefined\" && (\"ontouchstart\" in window || navigator.maxTouchPoints > 0);\n })();\n exports.is_little_endian = (function () {\n var buf = new ArrayBuffer(4);\n var buf8 = new Uint8Array(buf);\n var buf32 = new Uint32Array(buf);\n buf32[1] = 0x0a0b0c0d;\n var little_endian = true;\n if (buf8[4] == 0x0a && buf8[5] == 0x0b && buf8[6] == 0x0c && buf8[7] == 0x0d) {\n little_endian = false;\n }\n return little_endian;\n })();\n}\n","/* core/util/data_structures */ function _(require, module, exports) {\n var array_1 = require(24) /* ./array */;\n var eq_1 = require(33) /* ./eq */;\n var types_1 = require(46) /* ./types */;\n var MultiDict = /** @class */ (function () {\n function MultiDict() {\n this._dict = {};\n }\n MultiDict.prototype._existing = function (key) {\n if (key in this._dict)\n return this._dict[key];\n else\n return null;\n };\n MultiDict.prototype.add_value = function (key, value) {\n /*\n if value == null\n throw new Error(\"Can't put null in this dict\")\n if isArray(value)\n throw new Error(\"Can't put arrays in this dict\")\n */\n var existing = this._existing(key);\n if (existing == null) {\n this._dict[key] = value;\n }\n else if (types_1.isArray(existing)) {\n existing.push(value);\n }\n else {\n this._dict[key] = [existing, value];\n }\n };\n MultiDict.prototype.remove_value = function (key, value) {\n var existing = this._existing(key);\n if (types_1.isArray(existing)) {\n var new_array = array_1.difference(existing, [value]);\n if (new_array.length > 0)\n this._dict[key] = new_array;\n else\n delete this._dict[key];\n }\n else if (eq_1.isEqual(existing, value)) {\n delete this._dict[key];\n }\n };\n MultiDict.prototype.get_one = function (key, duplicate_error) {\n var existing = this._existing(key);\n if (types_1.isArray(existing)) {\n if (existing.length === 1)\n return existing[0];\n else\n throw new Error(duplicate_error);\n }\n else\n return existing;\n };\n return MultiDict;\n }());\n exports.MultiDict = MultiDict;\n var Set = /** @class */ (function () {\n function Set(obj) {\n if (obj == null)\n this._values = [];\n else if (obj instanceof Set)\n this._values = array_1.copy(obj._values);\n else {\n this._values = [];\n for (var _i = 0, obj_1 = obj; _i < obj_1.length; _i++) {\n var item = obj_1[_i];\n this.add(item);\n }\n }\n }\n Object.defineProperty(Set.prototype, \"values\", {\n get: function () {\n return array_1.copy(this._values).sort();\n },\n enumerable: true,\n configurable: true\n });\n Set.prototype.toString = function () {\n return \"Set([\" + this.values.join(\",\") + \"])\";\n };\n Object.defineProperty(Set.prototype, \"size\", {\n get: function () {\n return this._values.length;\n },\n enumerable: true,\n configurable: true\n });\n Set.prototype.has = function (item) {\n return this._values.indexOf(item) !== -1;\n };\n Set.prototype.add = function (item) {\n if (!this.has(item))\n this._values.push(item);\n };\n Set.prototype.remove = function (item) {\n var i = this._values.indexOf(item);\n if (i !== -1)\n this._values.splice(i, 1);\n };\n Set.prototype.toggle = function (item) {\n var i = this._values.indexOf(item);\n if (i === -1)\n this._values.push(item);\n else\n this._values.splice(i, 1);\n };\n Set.prototype.clear = function () {\n this._values = [];\n };\n Set.prototype.union = function (input) {\n input = new Set(input);\n return new Set(this._values.concat(input._values));\n };\n Set.prototype.intersect = function (input) {\n input = new Set(input);\n var output = new Set();\n for (var _i = 0, _a = input._values; _i < _a.length; _i++) {\n var item = _a[_i];\n if (this.has(item) && input.has(item))\n output.add(item);\n }\n return output;\n };\n Set.prototype.diff = function (input) {\n input = new Set(input);\n var output = new Set();\n for (var _i = 0, _a = this._values; _i < _a.length; _i++) {\n var item = _a[_i];\n if (!input.has(item))\n output.add(item);\n }\n return output;\n };\n Set.prototype.forEach = function (fn, thisArg) {\n for (var _i = 0, _a = this._values; _i < _a.length; _i++) {\n var value = _a[_i];\n fn.call(thisArg || this, value, value, this);\n }\n };\n return Set;\n }());\n exports.Set = Set;\n var Matrix = /** @class */ (function () {\n function Matrix(nrows, ncols, init) {\n this.nrows = nrows;\n this.ncols = ncols;\n this._matrix = new Array(nrows);\n for (var y = 0; y < nrows; y++) {\n this._matrix[y] = new Array(ncols);\n for (var x = 0; x < ncols; x++) {\n this._matrix[y][x] = init(y, x);\n }\n }\n }\n Matrix.prototype.at = function (row, col) {\n return this._matrix[row][col];\n };\n Matrix.prototype.map = function (fn) {\n var _this = this;\n return new Matrix(this.nrows, this.ncols, function (row, col) { return fn(_this.at(row, col), row, col); });\n };\n Matrix.prototype.apply = function (obj) {\n var _this = this;\n var fn = Matrix.from(obj);\n var _a = this, nrows = _a.nrows, ncols = _a.ncols;\n if (nrows == fn.nrows && ncols == fn.ncols)\n return new Matrix(nrows, ncols, function (row, col) { return fn.at(row, col)(_this.at(row, col), row, col); });\n else\n throw new Error(\"dimensions don't match\");\n };\n Matrix.prototype.to_sparse = function () {\n var items = [];\n for (var y = 0; y < this.nrows; y++) {\n for (var x = 0; x < this.ncols; x++) {\n var value = this._matrix[y][x];\n items.push([value, y, x]);\n }\n }\n return items;\n };\n Matrix.from = function (obj) {\n if (obj instanceof Matrix)\n return obj;\n else {\n var nrows = obj.length;\n var ncols = array_1.min(obj.map(function (row) { return row.length; }));\n return new Matrix(nrows, ncols, function (row, col) { return obj[row][col]; });\n }\n };\n return Matrix;\n }());\n exports.Matrix = Matrix;\n}\n","/* core/util/eq */ function _(require, module, exports) {\n var types_1 = require(46) /* ./types */;\n var toString = Object.prototype.toString;\n // Internal recursive comparison function for `isEqual`.\n function eq(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b)\n return a !== 0 || 1 / a === 1 / b;\n // A strict comparison is necessary because `null == undefined`.\n if (a == null || b == null)\n return a === b;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b))\n return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN\n if (+a !== +a)\n return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n }\n var areArrays = className === '[object Array]';\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object')\n return false;\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(types_1.isFunction(aCtor) && aCtor instanceof aCtor &&\n types_1.isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a)\n return bStack[length] === b;\n }\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length)\n return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack))\n return false;\n }\n }\n else {\n // Deep compare objects.\n var keys = Object.keys(a);\n var key = void 0;\n length = keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (Object.keys(b).length !== length)\n return false;\n while (length--) {\n // Deep compare each member\n key = keys[length];\n if (!(b.hasOwnProperty(key) && eq(a[key], b[key], aStack, bStack)))\n return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n }\n // Perform a deep comparison to check if two objects are equal.\n function isEqual(a, b) {\n return eq(a, b);\n }\n exports.isEqual = isEqual;\n}\n","/* core/util/math */ function _(require, module, exports) {\n function angle_norm(angle) {\n while (angle < 0) {\n angle += 2 * Math.PI;\n }\n while (angle > 2 * Math.PI) {\n angle -= 2 * Math.PI;\n }\n return angle;\n }\n exports.angle_norm = angle_norm;\n function angle_dist(lhs, rhs) {\n return Math.abs(angle_norm(lhs - rhs));\n }\n exports.angle_dist = angle_dist;\n function angle_between(mid, lhs, rhs, direction) {\n var d = angle_dist(lhs, rhs);\n if (d == 0)\n return false;\n var norm_mid = angle_norm(mid);\n var cond = angle_dist(lhs, norm_mid) <= d && angle_dist(norm_mid, rhs) <= d;\n return (direction == 0 /* clock */) ? cond : !cond;\n }\n exports.angle_between = angle_between;\n function random() {\n return Math.random();\n }\n exports.random = random;\n function randomIn(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n }\n exports.randomIn = randomIn;\n function atan2(start, end) {\n /*\n * Calculate the angle between a line containing start and end points (composed\n * of [x, y] arrays) and the positive x-axis.\n */\n return Math.atan2(end[1] - start[1], end[0] - start[0]);\n }\n exports.atan2 = atan2;\n // http://www2.econ.osaka-u.ac.jp/~tanizaki/class/2013/econome3/13.pdf (Page 432)\n function rnorm(mu, sigma) {\n // Generate a random normal with a mean of 0 and a sigma of 1\n var r1;\n var r2;\n while (true) {\n r1 = random();\n r2 = random();\n r2 = (2 * r2 - 1) * Math.sqrt(2 * (1 / Math.E));\n if (-4 * r1 * r1 * Math.log(r1) >= r2 * r2)\n break;\n }\n var rn = r2 / r1;\n // Transform the standard normal to meet the characteristics that we want (mu, sigma)\n rn = mu + sigma * rn;\n return rn;\n }\n exports.rnorm = rnorm;\n function clamp(val, min, max) {\n if (val > max)\n return max;\n if (val < min)\n return min;\n return val;\n }\n exports.clamp = clamp;\n}\n","/* core/util/object */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var array_1 = require(24) /* ./array */;\n exports.keys = Object.keys;\n function values(object) {\n var keys = Object.keys(object);\n var length = keys.length;\n var values = new Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = object[keys[i]];\n }\n return values;\n }\n exports.values = values;\n function extend(dest, src) {\n return tslib_1.__assign(dest, src);\n }\n exports.extend = extend;\n function clone(obj) {\n return extend({}, obj); // XXX: can't use {...obj} due to https://github.com/Microsoft/TypeScript/issues/14409\n }\n exports.clone = clone;\n function merge(obj1, obj2) {\n /*\n * Returns an object with the array values for obj1 and obj2 unioned by key.\n */\n var result = Object.create(Object.prototype);\n var keys = array_1.concat([Object.keys(obj1), Object.keys(obj2)]);\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n var arr1 = obj1.hasOwnProperty(key) ? obj1[key] : [];\n var arr2 = obj2.hasOwnProperty(key) ? obj2[key] : [];\n result[key] = array_1.union(arr1, arr2);\n }\n return result;\n }\n exports.merge = merge;\n function size(obj) {\n return Object.keys(obj).length;\n }\n exports.size = size;\n function isEmpty(obj) {\n return size(obj) === 0;\n }\n exports.isEmpty = isEmpty;\n}\n","/* core/util/projections */ function _(require, module, exports) {\n var proj4 = require(391) /* proj4/lib/core */;\n var Projection = require(379) /* proj4/lib/Proj */;\n var mercator = new Projection('GOOGLE');\n var wgs84 = new Projection('WGS84');\n exports.wgs84_mercator = proj4(wgs84, mercator);\n var mercator_bounds = {\n lon: [-20026376.39, 20026376.39],\n lat: [-20048966.10, 20048966.10],\n };\n var latlon_bounds = {\n lon: [-180, 180],\n lat: [-85.06, 85.06],\n };\n function clip_mercator(low, high, dimension) {\n var _a = mercator_bounds[dimension], min = _a[0], max = _a[1];\n return [Math.max(low, min), Math.min(high, max)];\n }\n exports.clip_mercator = clip_mercator;\n function in_bounds(value, dimension) {\n return value > latlon_bounds[dimension][0] && value < latlon_bounds[dimension][1];\n }\n exports.in_bounds = in_bounds;\n function project_xy(x, y) {\n var n = Math.min(x.length, y.length);\n var merc_x_s = new Array(n);\n var merc_y_s = new Array(n);\n for (var i = 0; i < n; i++) {\n var _a = exports.wgs84_mercator.forward([x[i], y[i]]), merc_x = _a[0], merc_y = _a[1];\n merc_x_s[i] = merc_x;\n merc_y_s[i] = merc_y;\n }\n return [merc_x_s, merc_y_s];\n }\n exports.project_xy = project_xy;\n function project_xsys(xs, ys) {\n var n = Math.min(xs.length, ys.length);\n var merc_xs_s = new Array(n);\n var merc_ys_s = new Array(n);\n for (var i = 0; i < n; i++) {\n var _a = project_xy(xs[i], ys[i]), merc_x_s = _a[0], merc_y_s = _a[1];\n merc_xs_s[i] = merc_x_s;\n merc_ys_s[i] = merc_y_s;\n }\n return [merc_xs_s, merc_ys_s];\n }\n exports.project_xsys = project_xsys;\n}\n","/* core/util/refs */ function _(require, module, exports) {\n var types_1 = require(46) /* ./types */;\n // Create a Bokeh reference from a HasProps subclass\n //\n // @param obj [HasProps] the object to create a reference for\n // @return [Object] a Bokeh reference for `obj`\n // @throw Error if `obj` is not a HasProps\n //\n function create_ref(obj) {\n var ref = {\n type: obj.type,\n id: obj.id,\n };\n if (obj._subtype != null) {\n ref.subtype = obj._subtype;\n }\n return ref;\n }\n exports.create_ref = create_ref;\n // Determine whether an object has the proper format of a Bokeh reference\n //\n // @param arg [Object] the object to test\n // @return [bool] whether the object is a refererence\n //\n // @note this function does not check that the id and types are valid,\n // only that the format is correct (all required keys are present)\n //\n function is_ref(arg) {\n if (types_1.isObject(arg)) {\n var keys = Object.keys(arg).sort();\n if (keys.length == 2)\n return keys[0] == 'id' && keys[1] == 'type';\n if (keys.length == 3)\n return keys[0] == 'id' && keys[1] == 'subtype' && keys[2] == 'type';\n }\n return false;\n }\n exports.is_ref = is_ref;\n}\n","/* core/util/serialization */ function _(require, module, exports) {\n var types_1 = require(46) /* ./types */;\n var compat_1 = require(31) /* ./compat */;\n exports.ARRAY_TYPES = {\n uint8: Uint8Array,\n int8: Int8Array,\n uint16: Uint16Array,\n int16: Int16Array,\n uint32: Uint32Array,\n int32: Int32Array,\n float32: Float32Array,\n float64: Float64Array,\n };\n exports.DTYPES = {\n Uint8Array: \"uint8\",\n Int8Array: \"int8\",\n Uint16Array: \"uint16\",\n Int16Array: \"int16\",\n Uint32Array: \"uint32\",\n Int32Array: \"int32\",\n Float32Array: \"float32\",\n Float64Array: \"float64\",\n };\n function arrayName(array) {\n if (\"name\" in array.constructor)\n return array.constructor.name;\n else {\n switch (true) {\n case array instanceof Uint8Array: return \"Uint8Array\";\n case array instanceof Int8Array: return \"Int8Array\";\n case array instanceof Uint16Array: return \"Uint16Array\";\n case array instanceof Int16Array: return \"Int16Array\";\n case array instanceof Uint32Array: return \"Uint32Array\";\n case array instanceof Int32Array: return \"Int32Array\";\n case array instanceof Float32Array: return \"Float32Array\";\n case array instanceof Float64Array: return \"Float64Array\";\n default:\n throw new Error(\"unsupported typed array\");\n }\n }\n }\n exports.BYTE_ORDER = compat_1.is_little_endian ? \"little\" : \"big\";\n function swap16(a) {\n var x = new Uint8Array(a.buffer, a.byteOffset, a.length * 2);\n for (var i = 0, end = x.length; i < end; i += 2) {\n var t = x[i];\n x[i] = x[i + 1];\n x[i + 1] = t;\n }\n }\n exports.swap16 = swap16;\n function swap32(a) {\n var x = new Uint8Array(a.buffer, a.byteOffset, a.length * 4);\n for (var i = 0, end = x.length; i < end; i += 4) {\n var t = x[i];\n x[i] = x[i + 3];\n x[i + 3] = t;\n t = x[i + 1];\n x[i + 1] = x[i + 2];\n x[i + 2] = t;\n }\n }\n exports.swap32 = swap32;\n function swap64(a) {\n var x = new Uint8Array(a.buffer, a.byteOffset, a.length * 8);\n for (var i = 0, end = x.length; i < end; i += 8) {\n var t = x[i];\n x[i] = x[i + 7];\n x[i + 7] = t;\n t = x[i + 1];\n x[i + 1] = x[i + 6];\n x[i + 6] = t;\n t = x[i + 2];\n x[i + 2] = x[i + 5];\n x[i + 5] = t;\n t = x[i + 3];\n x[i + 3] = x[i + 4];\n x[i + 4] = t;\n }\n }\n exports.swap64 = swap64;\n function process_buffer(specification, buffers) {\n var need_swap = specification.order !== exports.BYTE_ORDER;\n var shape = specification.shape;\n var bytes = null;\n for (var _i = 0, buffers_1 = buffers; _i < buffers_1.length; _i++) {\n var buf = buffers_1[_i];\n var header = JSON.parse(buf[0]);\n if (header.id === specification.__buffer__) {\n bytes = buf[1];\n break;\n }\n }\n var arr = new (exports.ARRAY_TYPES[specification.dtype])(bytes);\n if (need_swap) {\n if (arr.BYTES_PER_ELEMENT === 2) {\n swap16(arr);\n }\n else if (arr.BYTES_PER_ELEMENT === 4) {\n swap32(arr);\n }\n else if (arr.BYTES_PER_ELEMENT === 8) {\n swap64(arr);\n }\n }\n return [arr, shape];\n }\n exports.process_buffer = process_buffer;\n function process_array(obj, buffers) {\n if (types_1.isObject(obj) && '__ndarray__' in obj)\n return decode_base64(obj);\n else if (types_1.isObject(obj) && '__buffer__' in obj)\n return process_buffer(obj, buffers);\n else if (types_1.isArray(obj) || types_1.isTypedArray(obj))\n return [obj, []];\n else\n return undefined;\n }\n exports.process_array = process_array;\n function arrayBufferToBase64(buffer) {\n var bytes = new Uint8Array(buffer);\n var chars = Array.from(bytes).map(function (b) { return String.fromCharCode(b); });\n return btoa(chars.join(\"\"));\n }\n exports.arrayBufferToBase64 = arrayBufferToBase64;\n function base64ToArrayBuffer(base64) {\n var binary_string = atob(base64);\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0, end = len; i < end; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n return bytes.buffer;\n }\n exports.base64ToArrayBuffer = base64ToArrayBuffer;\n function decode_base64(input) {\n var bytes = base64ToArrayBuffer(input.__ndarray__);\n var dtype = input.dtype;\n var shape = input.shape;\n var array;\n if (dtype in exports.ARRAY_TYPES)\n array = new (exports.ARRAY_TYPES[dtype])(bytes);\n else\n throw new Error(\"unknown dtype: \" + dtype);\n return [array, shape];\n }\n exports.decode_base64 = decode_base64;\n function encode_base64(array, shape) {\n var b64 = arrayBufferToBase64(array.buffer);\n var name = arrayName(array);\n var dtype;\n if (name in exports.DTYPES)\n dtype = exports.DTYPES[name];\n else\n throw new Error(\"unknown array type: \" + name);\n var data = {\n __ndarray__: b64,\n shape: shape,\n dtype: dtype,\n };\n return data;\n }\n exports.encode_base64 = encode_base64;\n function decode_traverse_data(v, buffers) {\n // v is just a regular array of scalars\n if (v.length == 0 || !(types_1.isObject(v[0]) || types_1.isArray(v[0]))) {\n return [v, []];\n }\n var arrays = [];\n var shapes = [];\n for (var _i = 0, v_1 = v; _i < v_1.length; _i++) {\n var obj = v_1[_i];\n var _a = types_1.isArray(obj) ? decode_traverse_data(obj, buffers) :\n process_array(obj, buffers), arr = _a[0], shape = _a[1];\n arrays.push(arr);\n shapes.push(shape);\n }\n // If there is a list of empty lists, reduce that to just a list\n var filtered_shapes = shapes.map(function (shape) { return shape.filter(function (v) { return v.length != 0; }); });\n return [arrays, filtered_shapes];\n }\n function decode_column_data(data, buffers) {\n if (buffers === void 0) {\n buffers = [];\n }\n var new_data = {};\n var new_shapes = {};\n for (var k in data) {\n // might be array of scalars, or might be ragged array or arrays\n var v = data[k];\n if (types_1.isArray(v)) {\n // v is just a regular array of scalars\n if (v.length == 0 || !(types_1.isObject(v[0]) || types_1.isArray(v[0]))) {\n new_data[k] = v;\n continue;\n }\n // v is a ragged array of arrays\n var _a = decode_traverse_data(v, buffers), arrays = _a[0], shapes = _a[1];\n new_data[k] = arrays;\n new_shapes[k] = shapes;\n // must be object or array (single array case)\n }\n else {\n var _b = process_array(v, buffers), arr = _b[0], shape = _b[1];\n new_data[k] = arr;\n new_shapes[k] = shape;\n }\n }\n return [new_data, new_shapes];\n }\n exports.decode_column_data = decode_column_data;\n function encode_traverse_data(v, shapes) {\n var new_array = [];\n for (var i = 0, end = v.length; i < end; i++) {\n var item = v[i];\n if (types_1.isTypedArray(item)) {\n var shape = shapes[i] ? shapes[i] : undefined;\n new_array.push(encode_base64(item, shape));\n }\n else if (types_1.isArray(item)) {\n new_array.push(encode_traverse_data(item, shapes ? shapes[i] : []));\n }\n else\n new_array.push(item);\n }\n return new_array;\n }\n function encode_column_data(data, shapes) {\n var new_data = {};\n for (var k in data) {\n var v = data[k];\n var shapes_k = shapes != null ? shapes[k] : undefined;\n var new_v = void 0;\n if (types_1.isTypedArray(v)) {\n new_v = encode_base64(v, shapes_k);\n }\n else if (types_1.isArray(v)) {\n new_v = encode_traverse_data(v, shapes_k || []);\n }\n else\n new_v = v;\n new_data[k] = new_v;\n }\n return new_data;\n }\n exports.encode_column_data = encode_column_data;\n}\n","/* core/util/spatial */ function _(require, module, exports) {\n var FlatBush = require(376) /* flatbush */;\n var bbox_1 = require(27) /* ./bbox */;\n var SpatialIndex = /** @class */ (function () {\n function SpatialIndex(points) {\n this.points = points;\n this.index = null;\n if (points.length > 0) {\n this.index = new FlatBush(points.length);\n for (var _i = 0, points_1 = points; _i < points_1.length; _i++) {\n var p = points_1[_i];\n var minX = p.minX, minY = p.minY, maxX = p.maxX, maxY = p.maxY;\n this.index.add(minX, minY, maxX, maxY);\n }\n this.index.finish();\n }\n }\n SpatialIndex.prototype._normalize = function (rect) {\n var _a, _b;\n var minX = rect.minX, minY = rect.minY, maxX = rect.maxX, maxY = rect.maxY;\n if (minX > maxX)\n _a = [maxX, minX], minX = _a[0], maxX = _a[1];\n if (minY > maxY)\n _b = [maxY, minY], minY = _b[0], maxY = _b[1];\n return { minX: minX, minY: minY, maxX: maxX, maxY: maxY };\n };\n Object.defineProperty(SpatialIndex.prototype, \"bbox\", {\n get: function () {\n if (this.index == null)\n return bbox_1.empty();\n else {\n var _a = this.index, minX = _a.minX, minY = _a.minY, maxX = _a.maxX, maxY = _a.maxY;\n return { minX: minX, minY: minY, maxX: maxX, maxY: maxY };\n }\n },\n enumerable: true,\n configurable: true\n });\n SpatialIndex.prototype.search = function (rect) {\n var _this = this;\n if (this.index == null)\n return [];\n else {\n var _a = this._normalize(rect), minX = _a.minX, minY = _a.minY, maxX = _a.maxX, maxY = _a.maxY;\n var indices = this.index.search(minX, minY, maxX, maxY);\n return indices.map(function (j) { return _this.points[j]; });\n }\n };\n SpatialIndex.prototype.indices = function (rect) {\n return this.search(rect).map(function (_a) {\n var i = _a.i;\n return i;\n });\n };\n return SpatialIndex;\n }());\n exports.SpatialIndex = SpatialIndex;\n}\n","/* core/util/string */ function _(require, module, exports) {\n var settings_1 = require(21) /* ../settings */;\n function startsWith(str, searchString, position) {\n if (position === void 0) {\n position = 0;\n }\n return str.substr(position, searchString.length) == searchString;\n }\n exports.startsWith = startsWith;\n function uuid4() {\n // from ipython project\n // http://www.ietf.org/rfc/rfc4122.txt\n var s = new Array(32);\n var hexDigits = \"0123456789ABCDEF\";\n for (var i = 0; i < 32; i++) {\n s[i] = hexDigits.substr(Math.floor(Math.random() * 0x10), 1);\n }\n s[12] = \"4\"; // bits 12-15 of the time_hi_and_version field to 0010\n s[16] = hexDigits.substr((s[16].charCodeAt(0) & 0x3) | 0x8, 1); // bits 6-7 of the clock_seq_hi_and_reserved to 01\n return s.join(\"\");\n }\n exports.uuid4 = uuid4;\n var counter = 1000;\n function uniqueId(prefix) {\n var id = settings_1.settings.dev ? \"j\" + counter++ : uuid4();\n if (prefix != null)\n return prefix + \"-\" + id;\n else\n return id;\n }\n exports.uniqueId = uniqueId;\n function escape(s) {\n return s.replace(/(?:[&<>\"'`])/g, function (ch) {\n switch (ch) {\n case '&': return '&';\n case '<': return '<';\n case '>': return '>';\n case '\"': return '"';\n case \"'\": return ''';\n case '`': return '`';\n default: return ch;\n }\n });\n }\n exports.escape = escape;\n function unescape(s) {\n return s.replace(/&(amp|lt|gt|quot|#x27|#x60);/g, function (_, entity) {\n switch (entity) {\n case 'amp': return '&';\n case 'lt': return '<';\n case 'gt': return '>';\n case 'quot': return '\"';\n case '#x27': return \"'\";\n case '#x60': return '`';\n default: return entity;\n }\n });\n }\n exports.unescape = unescape;\n function use_strict(code) {\n return \"'use strict';\\n\" + code;\n }\n exports.use_strict = use_strict;\n}\n","/* core/util/svg_colors */ function _(require, module, exports) {\n exports.svg_colors = {\n indianred: \"#CD5C5C\",\n lightcoral: \"#F08080\",\n salmon: \"#FA8072\",\n darksalmon: \"#E9967A\",\n lightsalmon: \"#FFA07A\",\n crimson: \"#DC143C\",\n red: \"#FF0000\",\n firebrick: \"#B22222\",\n darkred: \"#8B0000\",\n pink: \"#FFC0CB\",\n lightpink: \"#FFB6C1\",\n hotpink: \"#FF69B4\",\n deeppink: \"#FF1493\",\n mediumvioletred: \"#C71585\",\n palevioletred: \"#DB7093\",\n coral: \"#FF7F50\",\n tomato: \"#FF6347\",\n orangered: \"#FF4500\",\n darkorange: \"#FF8C00\",\n orange: \"#FFA500\",\n gold: \"#FFD700\",\n yellow: \"#FFFF00\",\n lightyellow: \"#FFFFE0\",\n lemonchiffon: \"#FFFACD\",\n lightgoldenrodyellow: \"#FAFAD2\",\n papayawhip: \"#FFEFD5\",\n moccasin: \"#FFE4B5\",\n peachpuff: \"#FFDAB9\",\n palegoldenrod: \"#EEE8AA\",\n khaki: \"#F0E68C\",\n darkkhaki: \"#BDB76B\",\n lavender: \"#E6E6FA\",\n thistle: \"#D8BFD8\",\n plum: \"#DDA0DD\",\n violet: \"#EE82EE\",\n orchid: \"#DA70D6\",\n fuchsia: \"#FF00FF\",\n magenta: \"#FF00FF\",\n mediumorchid: \"#BA55D3\",\n mediumpurple: \"#9370DB\",\n blueviolet: \"#8A2BE2\",\n darkviolet: \"#9400D3\",\n darkorchid: \"#9932CC\",\n darkmagenta: \"#8B008B\",\n purple: \"#800080\",\n indigo: \"#4B0082\",\n slateblue: \"#6A5ACD\",\n darkslateblue: \"#483D8B\",\n mediumslateblue: \"#7B68EE\",\n greenyellow: \"#ADFF2F\",\n chartreuse: \"#7FFF00\",\n lawngreen: \"#7CFC00\",\n lime: \"#00FF00\",\n limegreen: \"#32CD32\",\n palegreen: \"#98FB98\",\n lightgreen: \"#90EE90\",\n mediumspringgreen: \"#00FA9A\",\n springgreen: \"#00FF7F\",\n mediumseagreen: \"#3CB371\",\n seagreen: \"#2E8B57\",\n forestgreen: \"#228B22\",\n green: \"#008000\",\n darkgreen: \"#006400\",\n yellowgreen: \"#9ACD32\",\n olivedrab: \"#6B8E23\",\n olive: \"#808000\",\n darkolivegreen: \"#556B2F\",\n mediumaquamarine: \"#66CDAA\",\n darkseagreen: \"#8FBC8F\",\n lightseagreen: \"#20B2AA\",\n darkcyan: \"#008B8B\",\n teal: \"#008080\",\n aqua: \"#00FFFF\",\n cyan: \"#00FFFF\",\n lightcyan: \"#E0FFFF\",\n paleturquoise: \"#AFEEEE\",\n aquamarine: \"#7FFFD4\",\n turquoise: \"#40E0D0\",\n mediumturquoise: \"#48D1CC\",\n darkturquoise: \"#00CED1\",\n cadetblue: \"#5F9EA0\",\n steelblue: \"#4682B4\",\n lightsteelblue: \"#B0C4DE\",\n powderblue: \"#B0E0E6\",\n lightblue: \"#ADD8E6\",\n skyblue: \"#87CEEB\",\n lightskyblue: \"#87CEFA\",\n deepskyblue: \"#00BFFF\",\n dodgerblue: \"#1E90FF\",\n cornflowerblue: \"#6495ED\",\n royalblue: \"#4169E1\",\n blue: \"#0000FF\",\n mediumblue: \"#0000CD\",\n darkblue: \"#00008B\",\n navy: \"#000080\",\n midnightblue: \"#191970\",\n cornsilk: \"#FFF8DC\",\n blanchedalmond: \"#FFEBCD\",\n bisque: \"#FFE4C4\",\n navajowhite: \"#FFDEAD\",\n wheat: \"#F5DEB3\",\n burlywood: \"#DEB887\",\n tan: \"#D2B48C\",\n rosybrown: \"#BC8F8F\",\n sandybrown: \"#F4A460\",\n goldenrod: \"#DAA520\",\n darkgoldenrod: \"#B8860B\",\n peru: \"#CD853F\",\n chocolate: \"#D2691E\",\n saddlebrown: \"#8B4513\",\n sienna: \"#A0522D\",\n brown: \"#A52A2A\",\n maroon: \"#800000\",\n white: \"#FFFFFF\",\n snow: \"#FFFAFA\",\n honeydew: \"#F0FFF0\",\n mintcream: \"#F5FFFA\",\n azure: \"#F0FFFF\",\n aliceblue: \"#F0F8FF\",\n ghostwhite: \"#F8F8FF\",\n whitesmoke: \"#F5F5F5\",\n seashell: \"#FFF5EE\",\n beige: \"#F5F5DC\",\n oldlace: \"#FDF5E6\",\n floralwhite: \"#FFFAF0\",\n ivory: \"#FFFFF0\",\n antiquewhite: \"#FAEBD7\",\n linen: \"#FAF0E6\",\n lavenderblush: \"#FFF0F5\",\n mistyrose: \"#FFE4E1\",\n gainsboro: \"#DCDCDC\",\n lightgray: \"#D3D3D3\",\n lightgrey: \"#D3D3D3\",\n silver: \"#C0C0C0\",\n darkgray: \"#A9A9A9\",\n darkgrey: \"#A9A9A9\",\n gray: \"#808080\",\n grey: \"#808080\",\n dimgray: \"#696969\",\n dimgrey: \"#696969\",\n lightslategray: \"#778899\",\n lightslategrey: \"#778899\",\n slategray: \"#708090\",\n slategrey: \"#708090\",\n darkslategray: \"#2F4F4F\",\n darkslategrey: \"#2F4F4F\",\n black: \"#000000\",\n };\n function is_svg_color(color) {\n return color in exports.svg_colors;\n }\n exports.is_svg_color = is_svg_color;\n}\n","/* core/util/templating */ function _(require, module, exports) {\n var sprintf_js_1 = require(406) /* sprintf-js */;\n var Numbro = require(378) /* numbro */;\n var tz = require(407) /* timezone */;\n var string_1 = require(40) /* ./string */;\n var types_1 = require(46) /* ./types */;\n function sprintf(format) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n return sprintf_js_1.sprintf.apply(void 0, [format].concat(args));\n }\n exports.sprintf = sprintf;\n exports.DEFAULT_FORMATTERS = {\n numeral: function (value, format, _special_vars) { return Numbro.format(value, format); },\n datetime: function (value, format, _special_vars) { return tz(value, format); },\n printf: function (value, format, _special_vars) { return sprintf(format, value); },\n };\n function basic_formatter(value, _format, _special_vars) {\n if (types_1.isNumber(value)) {\n var format = (function () {\n switch (false) {\n case Math.floor(value) != value:\n return \"%d\";\n case !(Math.abs(value) > 0.1) || !(Math.abs(value) < 1000):\n return \"%0.3f\";\n default:\n return \"%0.3e\";\n }\n })();\n return sprintf(format, value);\n }\n else\n return \"\" + value; // get strings for categorical types\n }\n exports.basic_formatter = basic_formatter;\n function get_formatter(name, raw_spec, format, formatters) {\n // no format, use default built in formatter\n if (format == null)\n return basic_formatter;\n // format spec in the formatters dict, use that\n if (formatters != null && (name in formatters || raw_spec in formatters)) {\n // some day (Bokeh 2.0) we can get rid of the check for name, and just check the raw spec\n // keep it now for compatibility but do not demonstrate it anywhere\n var key = raw_spec in formatters ? raw_spec : name;\n var formatter_1 = formatters[key];\n if (types_1.isString(formatter_1)) {\n if (formatter_1 in exports.DEFAULT_FORMATTERS)\n return exports.DEFAULT_FORMATTERS[formatter_1];\n else\n throw new Error(\"Unknown tooltip field formatter type '\" + formatter_1 + \"'\");\n }\n return function (value, format, special_vars) {\n return formatter_1.format(value, format, special_vars);\n };\n }\n // otherwise use \"numeral\" as default\n return exports.DEFAULT_FORMATTERS.numeral;\n }\n exports.get_formatter = get_formatter;\n function get_value(name, data_source, i, special_vars) {\n if (name[0] == \"$\") {\n if (name.substring(1) in special_vars)\n return special_vars[name.substring(1)];\n else\n throw new Error(\"Unknown special variable '\" + name + \"'\");\n }\n var column = data_source.get_column(name);\n // missing column\n if (column == null)\n return null;\n // typical (non-image) index\n if (types_1.isNumber(i))\n return column[i];\n // image index\n var data = column[i.index];\n if (types_1.isTypedArray(data) || types_1.isArray(data)) {\n // inspect array of arrays\n if (types_1.isArray(data[0])) {\n var row = data[i.dim2];\n return row[i.dim1];\n }\n else\n return data[i.flat_index]; // inspect flat array\n }\n else\n return data; // inspect per-image scalar data\n }\n exports.get_value = get_value;\n function replace_placeholders(str, data_source, i, formatters, special_vars) {\n if (special_vars === void 0) {\n special_vars = {};\n }\n // this extracts the $x, @x, @{x} without any trailing {format}\n var raw_spec = str.replace(/(?:^|[^@])([@|\\$](?:\\w+|{[^{}]+}))(?:{[^{}]+})?/g, function (_match, raw_spec, _format) { return \"\" + raw_spec; });\n // this handles the special case @$name, replacing it with an @var corresponding to special_vars.name\n str = str.replace(/@\\$name/g, function (_match) { return \"@{\" + special_vars.name + \"}\"; });\n // this prepends special vars with \"@\", e.g \"$x\" becomes \"@$x\", so subsequent processing is simpler\n str = str.replace(/(^|[^\\$])\\$(\\w+)/g, function (_match, prefix, name) { return prefix + \"@$\" + name; });\n str = str.replace(/(^|[^@])@(?:(\\$?\\w+)|{([^{}]+)})(?:{([^{}]+)})?/g, function (_match, prefix, name, long_name, format) {\n name = long_name != null ? long_name : name;\n var value = get_value(name, data_source, i, special_vars);\n // missing value, return ???\n if (value == null)\n return \"\" + prefix + string_1.escape(\"???\");\n // 'safe' format, return the value as-is\n if (format == 'safe')\n return \"\" + prefix + value;\n // format and escape everything else\n var formatter = get_formatter(name, raw_spec, format, formatters);\n return \"\" + prefix + string_1.escape(formatter(value, format, special_vars));\n });\n return str;\n }\n exports.replace_placeholders = replace_placeholders;\n}\n","/* core/util/text */ function _(require, module, exports) {\n var dom_1 = require(5) /* ../dom */;\n var cache = {};\n function measure_font(font) {\n if (cache[font] != null)\n return cache[font];\n var text = dom_1.span({ style: { font: font } }, \"Hg\");\n var block = dom_1.div({ style: { display: \"inline-block\", width: \"1px\", height: \"0px\" } });\n var elem = dom_1.div({}, text, block);\n document.body.appendChild(elem);\n try {\n block.style.verticalAlign = \"baseline\";\n var ascent = dom_1.offset(block).top - dom_1.offset(text).top;\n block.style.verticalAlign = \"bottom\";\n var height = dom_1.offset(block).top - dom_1.offset(text).top;\n var result = { height: height, ascent: ascent, descent: height - ascent };\n cache[font] = result;\n return result;\n }\n finally {\n document.body.removeChild(elem);\n }\n }\n exports.measure_font = measure_font;\n var _cache = {};\n function measure_text(text, font) {\n var text_cache = _cache[font];\n if (text_cache != null) {\n var size = text_cache[text];\n if (size != null)\n return size;\n }\n else\n _cache[font] = {};\n var el = dom_1.div({ style: { display: \"inline-block\", \"white-space\": \"nowrap\", font: font } }, text);\n document.body.appendChild(el);\n try {\n var _a = el.getBoundingClientRect(), width = _a.width, height = _a.height;\n _cache[font][text] = { width: width, height: height };\n return { width: width, height: height };\n }\n finally {\n document.body.removeChild(el);\n }\n }\n exports.measure_text = measure_text;\n}\n","/* core/util/throttle */ function _(require, module, exports) {\n function _delay_animation(callback) {\n callback(Date.now()); // XXX: performance.now()\n return -1;\n }\n var delay_animation = (typeof window !== 'undefined' ? window.requestAnimationFrame : undefined) ||\n (typeof window !== 'undefined' ? window.webkitRequestAnimationFrame : undefined) ||\n (typeof window !== 'undefined' ? window.mozRequestAnimationFrame : undefined) ||\n (typeof window !== 'undefined' ? window.msRequestAnimationFrame : undefined) || _delay_animation;\n // Returns a function, that, when invoked, will only be triggered at\n // most once during a given window of time.\n //\n // In addition, if the browser supports requestAnimationFrame, the\n // throttled function will be run no more frequently than request\n // animation frame allows.\n //\n // @param func [function] the function to throttle\n // @param wait [number] time in milliseconds to use for window\n // @return [function] throttled function\n //\n function throttle(func, wait) {\n var timeout = null;\n var previous = 0;\n var pending = false;\n var later = function () {\n previous = Date.now();\n timeout = null;\n pending = false;\n func();\n };\n return function () {\n var now = Date.now();\n var remaining = wait - (now - previous);\n if (remaining <= 0 && !pending) {\n if (timeout != null)\n clearTimeout(timeout);\n pending = true;\n delay_animation(later);\n }\n else if (!timeout && !pending)\n timeout = setTimeout(function () { return delay_animation(later); }, remaining);\n };\n }\n exports.throttle = throttle;\n}\n","/* core/util/typed_array */ function _(require, module, exports) {\n function concat(array0) {\n var arrays = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n arrays[_i - 1] = arguments[_i];\n }\n var n = array0.length;\n for (var _a = 0, arrays_1 = arrays; _a < arrays_1.length; _a++) {\n var array = arrays_1[_a];\n n += array.length;\n }\n var result = new array0.constructor(n);\n result.set(array0, 0);\n var i = array0.length;\n for (var _b = 0, arrays_2 = arrays; _b < arrays_2.length; _b++) {\n var array = arrays_2[_b];\n result.set(array, i);\n i += array.length;\n }\n return result;\n }\n exports.concat = concat;\n}\n","/* core/util/types */ function _(require, module, exports) {\n var array_1 = require(24) /* ./array */;\n var toString = Object.prototype.toString;\n function isBoolean(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n }\n exports.isBoolean = isBoolean;\n function isNumber(obj) {\n return toString.call(obj) === \"[object Number]\";\n }\n exports.isNumber = isNumber;\n function isInteger(obj) {\n return isNumber(obj) && isFinite(obj) && Math.floor(obj) === obj;\n }\n exports.isInteger = isInteger;\n function isString(obj) {\n return toString.call(obj) === \"[object String]\";\n }\n exports.isString = isString;\n function isStrictNaN(obj) {\n return isNumber(obj) && obj !== +obj;\n }\n exports.isStrictNaN = isStrictNaN;\n function isFunction(obj) {\n return toString.call(obj) === \"[object Function]\";\n }\n exports.isFunction = isFunction;\n function isArray(obj) {\n return Array.isArray(obj);\n }\n exports.isArray = isArray;\n function isArrayOf(arr, predicate) {\n return array_1.every(arr, predicate);\n }\n exports.isArrayOf = isArrayOf;\n function isArrayableOf(arr, predicate) {\n for (var i = 0, end = arr.length; i < end; i++) {\n if (!predicate(arr[i]))\n return false;\n }\n return true;\n }\n exports.isArrayableOf = isArrayableOf;\n function isTypedArray(obj) {\n return obj != null && obj.buffer instanceof ArrayBuffer;\n }\n exports.isTypedArray = isTypedArray;\n function isObject(obj) {\n var tp = typeof obj;\n return tp === 'function' || tp === 'object' && !!obj;\n }\n exports.isObject = isObject;\n function isPlainObject(obj) {\n return isObject(obj) && (obj.constructor == null || obj.constructor === Object);\n }\n exports.isPlainObject = isPlainObject;\n}\n","/* core/util/wheel */ function _(require, module, exports) {\n function fontSize(element) {\n var value = getComputedStyle(element).fontSize;\n if (value != null)\n return parseInt(value, 10);\n return null;\n }\n function lineHeight(element) {\n var parent = element.offsetParent || document.body;\n return fontSize(parent) || fontSize(element) || 16;\n }\n function pageHeight(element) {\n return element.clientHeight; // XXX: should be content height?\n }\n function getDeltaY(event) {\n var deltaY = -event.deltaY;\n if (event.target instanceof HTMLElement) {\n switch (event.deltaMode) {\n case event.DOM_DELTA_LINE:\n deltaY *= lineHeight(event.target);\n break;\n case event.DOM_DELTA_PAGE:\n deltaY *= pageHeight(event.target);\n break;\n }\n }\n return deltaY;\n }\n exports.getDeltaY = getDeltaY;\n}\n","/* core/util/zoom */ function _(require, module, exports) {\n var math_1 = require(34) /* ./math */;\n // Module for zoom-related functions\n function scale_highlow(range, factor, center) {\n var _a = [range.start, range.end], low = _a[0], high = _a[1];\n var x = center != null ? center : (high + low) / 2.0;\n var x0 = low - (low - x) * factor;\n var x1 = high - (high - x) * factor;\n return [x0, x1];\n }\n exports.scale_highlow = scale_highlow;\n function get_info(scales, _a) {\n var sxy0 = _a[0], sxy1 = _a[1];\n var info = {};\n for (var name_1 in scales) {\n var scale = scales[name_1];\n var _b = scale.r_invert(sxy0, sxy1), start = _b[0], end = _b[1];\n info[name_1] = { start: start, end: end };\n }\n return info;\n }\n exports.get_info = get_info;\n function scale_range(frame, factor, h_axis, v_axis, center) {\n /*\n * Utility function for zoom tools to calculate/create the zoom_info object\n * of the form required by ``PlotView.update_range``\n *\n * Parameters:\n * frame : CartesianFrame\n * factor : Number\n * h_axis : Boolean, optional\n * whether to zoom the horizontal axis (default = true)\n * v_axis : Boolean, optional\n * whether to zoom the horizontal axis (default = true)\n * center : object, optional\n * of form {'x': Number, 'y', Number}\n *\n * Returns:\n * object:\n */\n if (h_axis === void 0) {\n h_axis = true;\n }\n if (v_axis === void 0) {\n v_axis = true;\n }\n // clamp the magnitude of factor, if it is > 1 bad things happen\n factor = math_1.clamp(factor, -0.9, 0.9);\n var hfactor = h_axis ? factor : 0;\n var _a = scale_highlow(frame.bbox.h_range, hfactor, center != null ? center.x : undefined), sx0 = _a[0], sx1 = _a[1];\n var xrs = get_info(frame.xscales, [sx0, sx1]);\n var vfactor = v_axis ? factor : 0;\n var _b = scale_highlow(frame.bbox.v_range, vfactor, center != null ? center.y : undefined), sy0 = _b[0], sy1 = _b[1];\n var yrs = get_info(frame.yscales, [sy0, sy1]);\n // OK this sucks we can't set factor independently in each direction. It is used\n // for GMap plots, and GMap plots always preserve aspect, so effective the value\n // of 'dimensions' is ignored.\n return { xrs: xrs, yrs: yrs, factor: factor };\n }\n exports.scale_range = scale_range;\n}\n","/* core/vectorization */ function _(require, module, exports) {\n var types_1 = require(46) /* ./util/types */;\n function isValue(obj) {\n return types_1.isPlainObject(obj) && \"value\" in obj;\n }\n exports.isValue = isValue;\n function isField(obj) {\n return types_1.isPlainObject(obj) && \"field\" in obj;\n }\n exports.isField = isField;\n}\n","/* core/view */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var signaling_1 = require(22) /* ./signaling */;\n var types_1 = require(46) /* ./util/types */;\n var string_1 = require(40) /* ./util/string */;\n var View = /** @class */ (function (_super) {\n tslib_1.__extends(View, _super);\n function View(options) {\n var _this = _super.call(this) || this;\n _this.removed = new signaling_1.Signal0(_this, \"removed\");\n if (options.model != null)\n _this.model = options.model;\n else\n throw new Error(\"model of a view wasn't configured\");\n _this._parent = options.parent;\n _this.id = options.id || string_1.uniqueId();\n _this.initialize();\n if (options.connect_signals !== false)\n _this.connect_signals();\n return _this;\n }\n View.prototype.initialize = function () { };\n View.prototype.remove = function () {\n this._parent = undefined;\n this.disconnect_signals();\n this.removed.emit();\n };\n View.prototype.toString = function () {\n return this.model.type + \"View(\" + this.id + \")\";\n };\n View.prototype.serializable_state = function () {\n return { type: this.model.type };\n };\n Object.defineProperty(View.prototype, \"parent\", {\n get: function () {\n if (this._parent !== undefined)\n return this._parent;\n else\n throw new Error(\"parent of a view wasn't configured\");\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(View.prototype, \"is_root\", {\n get: function () {\n return this.parent === null;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(View.prototype, \"root\", {\n get: function () {\n return this.is_root ? this : this.parent.root;\n },\n enumerable: true,\n configurable: true\n });\n View.prototype.assert_root = function () {\n if (!this.is_root)\n throw new Error(this.toString() + \" is not a root layout\");\n };\n View.prototype.connect_signals = function () { };\n View.prototype.disconnect_signals = function () {\n signaling_1.Signal.disconnectReceiver(this);\n };\n View.prototype.on_change = function (properties, fn) {\n for (var _i = 0, _a = types_1.isArray(properties) ? properties : [properties]; _i < _a.length; _i++) {\n var property = _a[_i];\n this.connect(property.change, fn);\n }\n };\n return View;\n }(signaling_1.Signalable()));\n exports.View = View;\n}\n","/* core/visuals */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var mixins = require(19) /* ./property_mixins */;\n var color_1 = require(30) /* ./util/color */;\n function _horz(ctx, h, h2) {\n ctx.moveTo(0, h2 + 0.5);\n ctx.lineTo(h, h2 + 0.5);\n ctx.stroke();\n }\n function _vert(ctx, h, h2) {\n ctx.moveTo(h2 + 0.5, 0);\n ctx.lineTo(h2 + 0.5, h);\n ctx.stroke();\n }\n function _x(ctx, h) {\n ctx.moveTo(0, h);\n ctx.lineTo(h, 0);\n ctx.stroke();\n ctx.moveTo(0, 0);\n ctx.lineTo(h, h);\n ctx.stroke();\n }\n function _get_canvas(size) {\n var canvas = document.createElement('canvas');\n canvas.width = size;\n canvas.height = size;\n return canvas;\n }\n function create_hatch_canvas(hatch_pattern, hatch_color, hatch_scale, hatch_weight) {\n var h = hatch_scale;\n var h2 = h / 2;\n var h4 = h2 / 2;\n var canvas = _get_canvas(hatch_scale);\n var ctx = canvas.getContext(\"2d\");\n ctx.strokeStyle = hatch_color;\n ctx.lineCap = \"square\";\n ctx.fillStyle = hatch_color;\n ctx.lineWidth = hatch_weight;\n switch (hatch_pattern) {\n // we should not need these if code conditions on hatch.doit, but\n // include them here just for completeness\n case \" \":\n case \"blank\":\n break;\n case \".\":\n case \"dot\":\n ctx.arc(h2, h2, h2 / 2, 0, 2 * Math.PI, true);\n ctx.fill();\n break;\n case \"o\":\n case \"ring\":\n ctx.arc(h2, h2, h2 / 2, 0, 2 * Math.PI, true);\n ctx.stroke();\n break;\n case \"-\":\n case \"horizontal_line\":\n _horz(ctx, h, h2);\n break;\n case \"|\":\n case \"vertical_line\":\n _vert(ctx, h, h2);\n break;\n case \"+\":\n case \"cross\":\n _horz(ctx, h, h2);\n _vert(ctx, h, h2);\n break;\n case \"\\\"\":\n case \"horizontal_dash\":\n _horz(ctx, h2, h2);\n break;\n case \":\":\n case \"vertical_dash\":\n _vert(ctx, h2, h2);\n break;\n case \"@\":\n case \"spiral\":\n var h30 = h / 30;\n ctx.moveTo(h2, h2);\n for (var i = 0; i < 360; i++) {\n var angle = 0.1 * i;\n var x = h2 + (h30 * angle) * Math.cos(angle);\n var y = h2 + (h30 * angle) * Math.sin(angle);\n ctx.lineTo(x, y);\n }\n ctx.stroke();\n break;\n case \"/\":\n case \"right_diagonal_line\":\n ctx.moveTo(-h4 + 0.5, h);\n ctx.lineTo(h4 + 0.5, 0);\n ctx.stroke();\n ctx.moveTo(h4 + 0.5, h);\n ctx.lineTo(3 * h4 + 0.5, 0);\n ctx.stroke();\n ctx.moveTo(3 * h4 + 0.5, h);\n ctx.lineTo(5 * h4 + 0.5, 0);\n ctx.stroke();\n ctx.stroke();\n break;\n case \"\\\\\":\n case \"left_diagonal_line\":\n ctx.moveTo(h4 + 0.5, h);\n ctx.lineTo(-h4 + 0.5, 0);\n ctx.stroke();\n ctx.moveTo(3 * h4 + 0.5, h);\n ctx.lineTo(h4 + 0.5, 0);\n ctx.stroke();\n ctx.moveTo(5 * h4 + 0.5, h);\n ctx.lineTo(3 * h4 + 0.5, 0);\n ctx.stroke();\n ctx.stroke();\n break;\n case \"x\":\n case \"diagonal_cross\":\n _x(ctx, h);\n break;\n case \",\":\n case \"right_diagonal_dash\":\n ctx.moveTo(h4 + 0.5, 3 * h4 + 0.5);\n ctx.lineTo(3 * h4 + 0.5, h4 + 0.5);\n ctx.stroke();\n break;\n case \"`\":\n case \"left_diagonal_dash\":\n ctx.moveTo(h4 + 0.5, h4 + 0.5);\n ctx.lineTo(3 * h4 + 0.5, 3 * h4 + 0.5);\n ctx.stroke();\n break;\n case \"v\":\n case \"horizontal_wave\":\n ctx.moveTo(0, h4);\n ctx.lineTo(h2, 3 * h4);\n ctx.lineTo(h, h4);\n ctx.stroke();\n break;\n case \">\":\n case \"vertical_wave\":\n ctx.moveTo(h4, 0);\n ctx.lineTo(3 * h4, h2);\n ctx.lineTo(h4, h);\n ctx.stroke();\n break;\n case \"*\":\n case \"criss_cross\":\n _x(ctx, h);\n _horz(ctx, h, h2);\n _vert(ctx, h, h2);\n break;\n }\n return canvas;\n }\n var ContextProperties = /** @class */ (function () {\n function ContextProperties(obj, prefix) {\n if (prefix === void 0) {\n prefix = \"\";\n }\n this.obj = obj;\n this.prefix = prefix;\n // }\n this.cache = {};\n for (var _i = 0, _a = this.attrs; _i < _a.length; _i++) {\n var attr = _a[_i];\n this[attr] = obj.properties[prefix + attr];\n }\n }\n ContextProperties.prototype.warm_cache = function (source) {\n for (var _i = 0, _a = this.attrs; _i < _a.length; _i++) {\n var attr = _a[_i];\n var prop = this.obj.properties[this.prefix + attr];\n if (prop.spec.value !== undefined) // TODO (bev) better test?\n this.cache[attr] = prop.spec.value;\n else if (source != null)\n this.cache[attr + \"_array\"] = prop.array(source);\n else\n throw new Error(\"source is required with a vectorized visual property\");\n }\n };\n ContextProperties.prototype.cache_select = function (attr, i) {\n var prop = this.obj.properties[this.prefix + attr];\n var value;\n if (prop.spec.value !== undefined) // TODO (bev) better test?\n this.cache[attr] = value = prop.spec.value;\n else\n this.cache[attr] = value = this.cache[attr + \"_array\"][i];\n return value;\n };\n ContextProperties.prototype.set_vectorize = function (ctx, i) {\n if (this.all_indices != null) // all_indices is set by a Visuals instance associated with a CDSView\n this._set_vectorize(ctx, this.all_indices[i]);\n else // all_indices is not set for annotations which may have vectorized visual props\n this._set_vectorize(ctx, i);\n };\n return ContextProperties;\n }());\n exports.ContextProperties = ContextProperties;\n var Line = /** @class */ (function (_super) {\n tslib_1.__extends(Line, _super);\n function Line() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Line.prototype.set_value = function (ctx) {\n ctx.strokeStyle = this.line_color.value();\n ctx.globalAlpha = this.line_alpha.value();\n ctx.lineWidth = this.line_width.value();\n ctx.lineJoin = this.line_join.value();\n ctx.lineCap = this.line_cap.value();\n ctx.setLineDash(this.line_dash.value());\n ctx.setLineDashOffset(this.line_dash_offset.value());\n };\n Object.defineProperty(Line.prototype, \"doit\", {\n get: function () {\n return !(this.line_color.spec.value === null ||\n this.line_alpha.spec.value == 0 ||\n this.line_width.spec.value == 0);\n },\n enumerable: true,\n configurable: true\n });\n Line.prototype._set_vectorize = function (ctx, i) {\n this.cache_select(\"line_color\", i);\n if (ctx.strokeStyle !== this.cache.line_color)\n ctx.strokeStyle = this.cache.line_color;\n this.cache_select(\"line_alpha\", i);\n if (ctx.globalAlpha !== this.cache.line_alpha)\n ctx.globalAlpha = this.cache.line_alpha;\n this.cache_select(\"line_width\", i);\n if (ctx.lineWidth !== this.cache.line_width)\n ctx.lineWidth = this.cache.line_width;\n this.cache_select(\"line_join\", i);\n if (ctx.lineJoin !== this.cache.line_join)\n ctx.lineJoin = this.cache.line_join;\n this.cache_select(\"line_cap\", i);\n if (ctx.lineCap !== this.cache.line_cap)\n ctx.lineCap = this.cache.line_cap;\n this.cache_select(\"line_dash\", i);\n if (ctx.getLineDash() !== this.cache.line_dash)\n ctx.setLineDash(this.cache.line_dash);\n this.cache_select(\"line_dash_offset\", i);\n if (ctx.getLineDashOffset() !== this.cache.line_dash_offset)\n ctx.setLineDashOffset(this.cache.line_dash_offset);\n };\n Line.prototype.color_value = function () {\n var _a = color_1.color2rgba(this.line_color.value(), this.line_alpha.value()), r = _a[0], g = _a[1], b = _a[2], a = _a[3];\n return \"rgba(\" + r * 255 + \",\" + g * 255 + \",\" + b * 255 + \",\" + a + \")\";\n };\n return Line;\n }(ContextProperties));\n exports.Line = Line;\n Line.prototype.attrs = Object.keys(mixins.line());\n var Fill = /** @class */ (function (_super) {\n tslib_1.__extends(Fill, _super);\n function Fill() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Fill.prototype.set_value = function (ctx) {\n ctx.fillStyle = this.fill_color.value();\n ctx.globalAlpha = this.fill_alpha.value();\n };\n Object.defineProperty(Fill.prototype, \"doit\", {\n get: function () {\n return !(this.fill_color.spec.value === null ||\n this.fill_alpha.spec.value == 0);\n },\n enumerable: true,\n configurable: true\n });\n Fill.prototype._set_vectorize = function (ctx, i) {\n this.cache_select(\"fill_color\", i);\n if (ctx.fillStyle !== this.cache.fill_color)\n ctx.fillStyle = this.cache.fill_color;\n this.cache_select(\"fill_alpha\", i);\n if (ctx.globalAlpha !== this.cache.fill_alpha)\n ctx.globalAlpha = this.cache.fill_alpha;\n };\n Fill.prototype.color_value = function () {\n var _a = color_1.color2rgba(this.fill_color.value(), this.fill_alpha.value()), r = _a[0], g = _a[1], b = _a[2], a = _a[3];\n return \"rgba(\" + r * 255 + \",\" + g * 255 + \",\" + b * 255 + \",\" + a + \")\";\n };\n return Fill;\n }(ContextProperties));\n exports.Fill = Fill;\n Fill.prototype.attrs = Object.keys(mixins.fill());\n var Hatch = /** @class */ (function (_super) {\n tslib_1.__extends(Hatch, _super);\n function Hatch() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Hatch.prototype.cache_select = function (name, i) {\n var value;\n if (name == \"pattern\") {\n this.cache_select(\"hatch_color\", i);\n this.cache_select(\"hatch_scale\", i);\n this.cache_select(\"hatch_pattern\", i);\n this.cache_select(\"hatch_weight\", i);\n var _a = this.cache, hatch_color_1 = _a.hatch_color, hatch_scale_1 = _a.hatch_scale, hatch_pattern_1 = _a.hatch_pattern, hatch_weight_1 = _a.hatch_weight, hatch_extra = _a.hatch_extra;\n if (hatch_extra != null && hatch_extra.hasOwnProperty(hatch_pattern_1)) {\n var custom = hatch_extra[hatch_pattern_1];\n this.cache.pattern = custom.get_pattern(hatch_color_1, hatch_scale_1, hatch_weight_1);\n }\n else {\n this.cache.pattern = function (ctx) {\n var canvas = create_hatch_canvas(hatch_pattern_1, hatch_color_1, hatch_scale_1, hatch_weight_1);\n return ctx.createPattern(canvas, 'repeat');\n };\n }\n }\n else\n value = _super.prototype.cache_select.call(this, name, i);\n return value;\n };\n Hatch.prototype._try_defer = function (defer_func) {\n var _a = this.cache, hatch_pattern = _a.hatch_pattern, hatch_extra = _a.hatch_extra;\n if (hatch_extra != null && hatch_extra.hasOwnProperty(hatch_pattern)) {\n var custom = hatch_extra[hatch_pattern];\n custom.onload(defer_func);\n }\n };\n Object.defineProperty(Hatch.prototype, \"doit\", {\n get: function () {\n return !(this.hatch_color.spec.value === null ||\n this.hatch_alpha.spec.value == 0 ||\n this.hatch_pattern.spec.value == \" \" ||\n this.hatch_pattern.spec.value == \"blank\" ||\n this.hatch_pattern.spec.value === null);\n },\n enumerable: true,\n configurable: true\n });\n Hatch.prototype.doit2 = function (ctx, i, ready_func, defer_func) {\n if (!this.doit) {\n return;\n }\n this.cache_select(\"pattern\", i);\n var pattern = this.cache.pattern(ctx);\n if (pattern == null) {\n this._try_defer(defer_func);\n }\n else {\n this.set_vectorize(ctx, i);\n ready_func();\n }\n };\n Hatch.prototype._set_vectorize = function (ctx, i) {\n this.cache_select(\"pattern\", i);\n ctx.fillStyle = this.cache.pattern(ctx);\n this.cache_select(\"hatch_alpha\", i);\n if (ctx.globalAlpha !== this.cache.hatch_alpha)\n ctx.globalAlpha = this.cache.hatch_alpha;\n };\n Hatch.prototype.color_value = function () {\n var _a = color_1.color2rgba(this.hatch_color.value(), this.hatch_alpha.value()), r = _a[0], g = _a[1], b = _a[2], a = _a[3];\n return \"rgba(\" + r * 255 + \",\" + g * 255 + \",\" + b * 255 + \",\" + a + \")\";\n };\n return Hatch;\n }(ContextProperties));\n exports.Hatch = Hatch;\n Hatch.prototype.attrs = Object.keys(mixins.hatch());\n var Text = /** @class */ (function (_super) {\n tslib_1.__extends(Text, _super);\n function Text() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Text.prototype.cache_select = function (name, i) {\n var value;\n if (name == \"font\") {\n _super.prototype.cache_select.call(this, \"text_font_style\", i);\n _super.prototype.cache_select.call(this, \"text_font_size\", i);\n _super.prototype.cache_select.call(this, \"text_font\", i);\n var _a = this.cache, text_font_style = _a.text_font_style, text_font_size = _a.text_font_size, text_font = _a.text_font;\n this.cache.font = value = text_font_style + \" \" + text_font_size + \" \" + text_font;\n }\n else\n value = _super.prototype.cache_select.call(this, name, i);\n return value;\n };\n Text.prototype.font_value = function () {\n var font = this.text_font.value();\n var font_size = this.text_font_size.value();\n var font_style = this.text_font_style.value();\n return font_style + \" \" + font_size + \" \" + font;\n };\n Text.prototype.color_value = function () {\n var _a = color_1.color2rgba(this.text_color.value(), this.text_alpha.value()), r = _a[0], g = _a[1], b = _a[2], a = _a[3];\n return \"rgba(\" + r * 255 + \",\" + g * 255 + \",\" + b * 255 + \",\" + a + \")\";\n };\n Text.prototype.set_value = function (ctx) {\n ctx.font = this.font_value();\n ctx.fillStyle = this.text_color.value();\n ctx.globalAlpha = this.text_alpha.value();\n ctx.textAlign = this.text_align.value();\n ctx.textBaseline = this.text_baseline.value();\n };\n Object.defineProperty(Text.prototype, \"doit\", {\n get: function () {\n return !(this.text_color.spec.value === null ||\n this.text_alpha.spec.value == 0);\n },\n enumerable: true,\n configurable: true\n });\n Text.prototype._set_vectorize = function (ctx, i) {\n this.cache_select(\"font\", i);\n if (ctx.font !== this.cache.font)\n ctx.font = this.cache.font;\n this.cache_select(\"text_color\", i);\n if (ctx.fillStyle !== this.cache.text_color)\n ctx.fillStyle = this.cache.text_color;\n this.cache_select(\"text_alpha\", i);\n if (ctx.globalAlpha !== this.cache.text_alpha)\n ctx.globalAlpha = this.cache.text_alpha;\n this.cache_select(\"text_align\", i);\n if (ctx.textAlign !== this.cache.text_align)\n ctx.textAlign = this.cache.text_align;\n this.cache_select(\"text_baseline\", i);\n if (ctx.textBaseline !== this.cache.text_baseline)\n ctx.textBaseline = this.cache.text_baseline;\n };\n return Text;\n }(ContextProperties));\n exports.Text = Text;\n Text.prototype.attrs = Object.keys(mixins.text());\n var Visuals = /** @class */ (function () {\n function Visuals(model) {\n for (var _i = 0, _a = model.mixins; _i < _a.length; _i++) {\n var mixin = _a[_i];\n var _b = mixin.split(\":\"), name_1 = _b[0], _c = _b[1], prefix = _c === void 0 ? \"\" : _c;\n var cls = void 0;\n switch (name_1) {\n case \"line\":\n cls = Line;\n break;\n case \"fill\":\n cls = Fill;\n break;\n case \"hatch\":\n cls = Hatch;\n break;\n case \"text\":\n cls = Text;\n break;\n default:\n throw new Error(\"unknown visual: \" + name_1);\n }\n this[prefix + name_1] = new cls(model, prefix);\n }\n }\n Visuals.prototype.warm_cache = function (source) {\n for (var name_2 in this) {\n if (this.hasOwnProperty(name_2)) {\n var prop = this[name_2];\n if (prop instanceof ContextProperties)\n prop.warm_cache(source);\n }\n }\n };\n Visuals.prototype.set_all_indices = function (all_indices) {\n for (var name_3 in this) {\n if (this.hasOwnProperty(name_3)) {\n var prop = this[name_3];\n if (prop instanceof ContextProperties)\n prop.all_indices = all_indices;\n }\n }\n };\n return Visuals;\n }());\n exports.Visuals = Visuals;\n}\n","/* document/document */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var base_1 = require(0) /* ../base */;\n var version_1 = require(304) /* ../version */;\n var logging_1 = require(17) /* ../core/logging */;\n var bokeh_events_1 = require(3) /* ../core/bokeh_events */;\n var has_props_1 = require(8) /* ../core/has_props */;\n var signaling_1 = require(22) /* ../core/signaling */;\n var refs_1 = require(37) /* ../core/util/refs */;\n var serialization_1 = require(38) /* ../core/util/serialization */;\n var data_structures_1 = require(32) /* ../core/util/data_structures */;\n var array_1 = require(24) /* ../core/util/array */;\n var object_1 = require(35) /* ../core/util/object */;\n var eq_1 = require(33) /* ../core/util/eq */;\n var types_1 = require(46) /* ../core/util/types */;\n var layout_dom_1 = require(166) /* ../models/layouts/layout_dom */;\n var column_data_source_1 = require(212) /* ../models/sources/column_data_source */;\n var model_1 = require(62) /* ../model */;\n var events_1 = require(53) /* ./events */;\n var EventManager = /** @class */ (function () {\n function EventManager(document) {\n this.document = document;\n // Dispatches events to the subscribed models\n this.session = null;\n this.subscribed_models = new data_structures_1.Set();\n }\n EventManager.prototype.send_event = function (event) {\n if (this.session != null)\n this.session.send_event(event);\n };\n EventManager.prototype.trigger = function (event) {\n for (var _i = 0, _a = this.subscribed_models.values; _i < _a.length; _i++) {\n var id = _a[_i];\n if (event.origin != null && event.origin.id !== id)\n continue;\n var model = this.document._all_models[id];\n if (model != null && model instanceof model_1.Model)\n model._process_event(event);\n }\n };\n return EventManager;\n }());\n exports.EventManager = EventManager;\n exports.documents = [];\n exports.DEFAULT_TITLE = \"Bokeh Application\";\n // This class should match the API of the Python Document class\n // as much as possible.\n var Document = /** @class */ (function () {\n function Document() {\n exports.documents.push(this);\n this._init_timestamp = Date.now();\n this._title = exports.DEFAULT_TITLE;\n this._roots = [];\n this._all_models = {};\n this._all_models_by_name = new data_structures_1.MultiDict();\n this._all_models_freeze_count = 0;\n this._callbacks = [];\n this.event_manager = new EventManager(this);\n this.idle = new signaling_1.Signal0(this, \"idle\");\n this._idle_roots = new WeakMap(); // TODO: WeakSet would be better\n this._interactive_timestamp = null;\n this._interactive_plot = null;\n }\n Object.defineProperty(Document.prototype, \"layoutables\", {\n get: function () {\n return this._roots.filter(function (root) { return root instanceof layout_dom_1.LayoutDOM; });\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Document.prototype, \"is_idle\", {\n get: function () {\n for (var _i = 0, _a = this.layoutables; _i < _a.length; _i++) {\n var root = _a[_i];\n if (!this._idle_roots.has(root))\n return false;\n }\n return true;\n },\n enumerable: true,\n configurable: true\n });\n Document.prototype.notify_idle = function (model) {\n this._idle_roots.set(model, true);\n if (this.is_idle) {\n logging_1.logger.info(\"document idle at \" + (Date.now() - this._init_timestamp) + \" ms\");\n this.idle.emit();\n }\n };\n Document.prototype.clear = function () {\n this._push_all_models_freeze();\n try {\n while (this._roots.length > 0) {\n this.remove_root(this._roots[0]);\n }\n }\n finally {\n this._pop_all_models_freeze();\n }\n };\n Document.prototype.interactive_start = function (plot) {\n if (this._interactive_plot == null) {\n this._interactive_plot = plot;\n this._interactive_plot.trigger_event(new bokeh_events_1.LODStart());\n }\n this._interactive_timestamp = Date.now();\n };\n Document.prototype.interactive_stop = function (plot) {\n if (this._interactive_plot != null && this._interactive_plot.id === plot.id) {\n this._interactive_plot.trigger_event(new bokeh_events_1.LODEnd());\n }\n this._interactive_plot = null;\n this._interactive_timestamp = null;\n };\n Document.prototype.interactive_duration = function () {\n if (this._interactive_timestamp == null)\n return -1;\n else\n return Date.now() - this._interactive_timestamp;\n };\n Document.prototype.destructively_move = function (dest_doc) {\n if (dest_doc === this) {\n throw new Error(\"Attempted to overwrite a document with itself\");\n }\n dest_doc.clear();\n // we have to remove ALL roots before adding any\n // to the new doc or else models referenced from multiple\n // roots could be in both docs at once, which isn't allowed.\n var roots = array_1.copy(this._roots);\n this.clear();\n for (var _i = 0, roots_1 = roots; _i < roots_1.length; _i++) {\n var root = roots_1[_i];\n if (root.document != null)\n throw new Error(\"Somehow we didn't detach \" + root);\n }\n if (Object.keys(this._all_models).length !== 0) {\n throw new Error(\"this._all_models still had stuff in it: \" + this._all_models);\n }\n for (var _a = 0, roots_2 = roots; _a < roots_2.length; _a++) {\n var root = roots_2[_a];\n dest_doc.add_root(root);\n }\n dest_doc.set_title(this._title);\n };\n // TODO other fields of doc\n Document.prototype._push_all_models_freeze = function () {\n this._all_models_freeze_count += 1;\n };\n Document.prototype._pop_all_models_freeze = function () {\n this._all_models_freeze_count -= 1;\n if (this._all_models_freeze_count === 0) {\n this._recompute_all_models();\n }\n };\n /*protected*/ Document.prototype._invalidate_all_models = function () {\n logging_1.logger.debug(\"invalidating document models\");\n // if freeze count is > 0, we'll recompute on unfreeze\n if (this._all_models_freeze_count === 0) {\n this._recompute_all_models();\n }\n };\n Document.prototype._recompute_all_models = function () {\n var new_all_models_set = new data_structures_1.Set();\n for (var _i = 0, _a = this._roots; _i < _a.length; _i++) {\n var r = _a[_i];\n new_all_models_set = new_all_models_set.union(r.references());\n }\n var old_all_models_set = new data_structures_1.Set(object_1.values(this._all_models));\n var to_detach = old_all_models_set.diff(new_all_models_set);\n var to_attach = new_all_models_set.diff(old_all_models_set);\n var recomputed = {};\n for (var _b = 0, _c = new_all_models_set.values; _b < _c.length; _b++) {\n var m = _c[_b];\n recomputed[m.id] = m;\n }\n for (var _d = 0, _e = to_detach.values; _d < _e.length; _d++) {\n var d = _e[_d];\n d.detach_document();\n if (d instanceof model_1.Model && d.name != null)\n this._all_models_by_name.remove_value(d.name, d);\n }\n for (var _f = 0, _g = to_attach.values; _f < _g.length; _f++) {\n var a = _g[_f];\n a.attach_document(this);\n if (a instanceof model_1.Model && a.name != null)\n this._all_models_by_name.add_value(a.name, a);\n }\n this._all_models = recomputed;\n };\n Document.prototype.roots = function () {\n return this._roots;\n };\n Document.prototype.add_root = function (model, setter_id) {\n logging_1.logger.debug(\"Adding root: \" + model);\n if (array_1.includes(this._roots, model))\n return;\n this._push_all_models_freeze();\n try {\n this._roots.push(model);\n }\n finally {\n this._pop_all_models_freeze();\n }\n this._trigger_on_change(new events_1.RootAddedEvent(this, model, setter_id));\n };\n Document.prototype.remove_root = function (model, setter_id) {\n var i = this._roots.indexOf(model);\n if (i < 0)\n return;\n this._push_all_models_freeze();\n try {\n this._roots.splice(i, 1);\n }\n finally {\n this._pop_all_models_freeze();\n }\n this._trigger_on_change(new events_1.RootRemovedEvent(this, model, setter_id));\n };\n Document.prototype.title = function () {\n return this._title;\n };\n Document.prototype.set_title = function (title, setter_id) {\n if (title !== this._title) {\n this._title = title;\n this._trigger_on_change(new events_1.TitleChangedEvent(this, title, setter_id));\n }\n };\n Document.prototype.get_model_by_id = function (model_id) {\n if (model_id in this._all_models) {\n return this._all_models[model_id];\n }\n else {\n return null;\n }\n };\n Document.prototype.get_model_by_name = function (name) {\n return this._all_models_by_name.get_one(name, \"Multiple models are named '\" + name + \"'\");\n };\n Document.prototype.on_change = function (callback) {\n if (!array_1.includes(this._callbacks, callback))\n this._callbacks.push(callback);\n };\n Document.prototype.remove_on_change = function (callback) {\n var i = this._callbacks.indexOf(callback);\n if (i >= 0)\n this._callbacks.splice(i, 1);\n };\n Document.prototype._trigger_on_change = function (event) {\n for (var _i = 0, _a = this._callbacks; _i < _a.length; _i++) {\n var cb = _a[_i];\n cb(event);\n }\n };\n // called by the model\n Document.prototype._notify_change = function (model, attr, old, new_, options) {\n if (attr === 'name') {\n this._all_models_by_name.remove_value(old, model);\n if (new_ != null)\n this._all_models_by_name.add_value(new_, model);\n }\n var setter_id = options != null ? options.setter_id : void 0;\n var hint = options != null ? options.hint : void 0;\n this._trigger_on_change(new events_1.ModelChangedEvent(this, model, attr, old, new_, setter_id, hint));\n };\n Document._references_json = function (references, include_defaults) {\n if (include_defaults === void 0) {\n include_defaults = true;\n }\n var references_json = [];\n for (var _i = 0, references_1 = references; _i < references_1.length; _i++) {\n var r = references_1[_i];\n var ref = r.ref();\n ref.attributes = r.attributes_as_json(include_defaults);\n // server doesn't want id in here since it's already in ref above\n delete ref.attributes.id;\n references_json.push(ref);\n }\n return references_json;\n };\n Document._instantiate_object = function (obj_id, obj_type, obj_attrs) {\n var full_attrs = tslib_1.__assign({}, obj_attrs, { id: obj_id, __deferred__: true });\n var model = base_1.Models(obj_type);\n return new model(full_attrs);\n };\n // given a JSON representation of all models in a graph, return a\n // dict of new model objects\n Document._instantiate_references_json = function (references_json, existing_models) {\n // Create all instances, but without setting their props\n var references = {};\n for (var _i = 0, references_json_1 = references_json; _i < references_json_1.length; _i++) {\n var obj = references_json_1[_i];\n var obj_id = obj.id;\n var obj_type = obj.type;\n var obj_attrs = obj.attributes || {};\n var instance = void 0;\n if (obj_id in existing_models)\n instance = existing_models[obj_id];\n else {\n instance = Document._instantiate_object(obj_id, obj_type, obj_attrs);\n if (obj.subtype != null)\n instance.set_subtype(obj.subtype);\n }\n references[instance.id] = instance;\n }\n return references;\n };\n // if v looks like a ref, or a collection, resolve it, otherwise return it unchanged\n // recurse into collections but not into HasProps\n Document._resolve_refs = function (value, old_references, new_references) {\n function resolve_ref(v) {\n if (refs_1.is_ref(v)) {\n if (v.id in old_references)\n return old_references[v.id];\n else if (v.id in new_references)\n return new_references[v.id];\n else\n throw new Error(\"reference \" + JSON.stringify(v) + \" isn't known (not in Document?)\");\n }\n else if (types_1.isArray(v))\n return resolve_array(v);\n else if (types_1.isPlainObject(v))\n return resolve_dict(v);\n else\n return v;\n }\n function resolve_array(array) {\n var results = [];\n for (var _i = 0, array_2 = array; _i < array_2.length; _i++) {\n var v = array_2[_i];\n results.push(resolve_ref(v));\n }\n return results;\n }\n function resolve_dict(dict) {\n var resolved = {};\n for (var k in dict) {\n var v = dict[k];\n resolved[k] = resolve_ref(v);\n }\n return resolved;\n }\n return resolve_ref(value);\n };\n // given a JSON representation of all models in a graph and new\n // model instances, set the properties on the models from the\n // JSON\n Document._initialize_references_json = function (references_json, old_references, new_references) {\n var to_update = {};\n for (var _i = 0, references_json_2 = references_json; _i < references_json_2.length; _i++) {\n var obj = references_json_2[_i];\n var obj_id = obj.id;\n var obj_attrs = obj.attributes;\n var was_new = !(obj_id in old_references);\n var instance = !was_new ? old_references[obj_id] : new_references[obj_id];\n // replace references with actual instances in obj_attrs\n var resolved_attrs = Document._resolve_refs(obj_attrs, old_references, new_references);\n to_update[instance.id] = [instance, resolved_attrs, was_new];\n }\n function foreach_depth_first(items, f) {\n var already_started = {};\n function foreach_value(v) {\n if (v instanceof has_props_1.HasProps) {\n // note that we ignore instances that aren't updated (not in to_update)\n if (!(v.id in already_started) && v.id in items) {\n already_started[v.id] = true;\n var _a = items[v.id], attrs = _a[1], was_new = _a[2];\n for (var a in attrs) {\n var e = attrs[a];\n foreach_value(e);\n }\n f(v, attrs, was_new);\n }\n }\n else if (types_1.isArray(v)) {\n for (var _i = 0, v_1 = v; _i < v_1.length; _i++) {\n var e = v_1[_i];\n foreach_value(e);\n }\n }\n else if (types_1.isPlainObject(v)) {\n for (var k in v) {\n var e = v[k];\n foreach_value(e);\n }\n }\n }\n for (var k in items) {\n var _a = items[k], instance = _a[0];\n foreach_value(instance);\n }\n }\n // this first pass removes all 'refs' replacing them with real instances\n foreach_depth_first(to_update, function (instance, attrs, was_new) {\n if (was_new)\n instance.setv(attrs, { silent: true });\n });\n // after removing all the refs, we can run the initialize code safely\n foreach_depth_first(to_update, function (instance, _attrs, was_new) {\n if (was_new)\n instance.finalize();\n });\n };\n Document._event_for_attribute_change = function (changed_obj, key, new_value, doc, value_refs) {\n var changed_model = doc.get_model_by_id(changed_obj.id); // XXX!\n if (!changed_model.attribute_is_serializable(key))\n return null;\n else {\n var event_1 = {\n kind: \"ModelChanged\",\n model: {\n id: changed_obj.id,\n type: changed_obj.type,\n },\n attr: key,\n new: new_value,\n };\n has_props_1.HasProps._json_record_references(doc, new_value, value_refs, true); // true = recurse\n return event_1;\n }\n };\n Document._events_to_sync_objects = function (from_obj, to_obj, to_doc, value_refs) {\n var from_keys = Object.keys(from_obj.attributes); //XXX!\n var to_keys = Object.keys(to_obj.attributes); //XXX!\n var removed = array_1.difference(from_keys, to_keys);\n var added = array_1.difference(to_keys, from_keys);\n var shared = array_1.intersection(from_keys, to_keys);\n var events = [];\n for (var _i = 0, removed_1 = removed; _i < removed_1.length; _i++) {\n var key = removed_1[_i];\n // we don't really have a \"remove\" event - not sure this ever\n // happens even. One way this could happen is if the server\n // does include_defaults=True and we do\n // include_defaults=false ... in that case it'd be best to\n // just ignore this probably. Warn about it, could mean\n // there's a bug if we don't have a key that the server sent.\n logging_1.logger.warn(\"Server sent key \" + key + \" but we don't seem to have it in our JSON\");\n }\n for (var _a = 0, added_1 = added; _a < added_1.length; _a++) {\n var key = added_1[_a];\n var new_value = to_obj.attributes[key]; // XXX!\n events.push(Document._event_for_attribute_change(from_obj, key, new_value, to_doc, value_refs));\n }\n for (var _b = 0, shared_1 = shared; _b < shared_1.length; _b++) {\n var key = shared_1[_b];\n var old_value = from_obj.attributes[key]; // XXX!\n var new_value = to_obj.attributes[key]; // XXX!\n if (old_value == null && new_value == null) {\n }\n else if (old_value == null || new_value == null) {\n events.push(Document._event_for_attribute_change(from_obj, key, new_value, to_doc, value_refs));\n }\n else {\n if (!eq_1.isEqual(old_value, new_value))\n events.push(Document._event_for_attribute_change(from_obj, key, new_value, to_doc, value_refs));\n }\n }\n return events.filter(function (e) { return e != null; });\n };\n // we use this to detect changes during document deserialization\n // (in model constructors and initializers)\n Document._compute_patch_since_json = function (from_json, to_doc) {\n var to_json = to_doc.to_json(false); // include_defaults=false\n function refs(json) {\n var result = {};\n for (var _i = 0, _a = json.roots.references; _i < _a.length; _i++) {\n var obj = _a[_i];\n result[obj.id] = obj;\n }\n return result;\n }\n var from_references = refs(from_json);\n var from_roots = {};\n var from_root_ids = [];\n for (var _i = 0, _a = from_json.roots.root_ids; _i < _a.length; _i++) {\n var r = _a[_i];\n from_roots[r] = from_references[r];\n from_root_ids.push(r);\n }\n var to_references = refs(to_json);\n var to_roots = {};\n var to_root_ids = [];\n for (var _b = 0, _c = to_json.roots.root_ids; _b < _c.length; _b++) {\n var r = _c[_b];\n to_roots[r] = to_references[r];\n to_root_ids.push(r);\n }\n from_root_ids.sort();\n to_root_ids.sort();\n if (array_1.difference(from_root_ids, to_root_ids).length > 0 ||\n array_1.difference(to_root_ids, from_root_ids).length > 0) {\n // this would arise if someone does add_root/remove_root during\n // document deserialization, hopefully they won't ever do so.\n throw new Error(\"Not implemented: computing add/remove of document roots\");\n }\n var value_refs = {};\n var events = [];\n for (var id in to_doc._all_models) {\n if (id in from_references) {\n var update_model_events = Document._events_to_sync_objects(from_references[id], to_references[id], to_doc, value_refs);\n events = events.concat(update_model_events);\n }\n }\n return {\n references: Document._references_json(object_1.values(value_refs), false),\n events: events,\n };\n };\n Document.prototype.to_json_string = function (include_defaults) {\n if (include_defaults === void 0) {\n include_defaults = true;\n }\n return JSON.stringify(this.to_json(include_defaults));\n };\n Document.prototype.to_json = function (include_defaults) {\n if (include_defaults === void 0) {\n include_defaults = true;\n }\n var root_ids = this._roots.map(function (r) { return r.id; });\n var root_references = object_1.values(this._all_models);\n return {\n version: version_1.version,\n title: this._title,\n roots: {\n root_ids: root_ids,\n references: Document._references_json(root_references, include_defaults),\n },\n };\n };\n Document.from_json_string = function (s) {\n var json = JSON.parse(s);\n return Document.from_json(json);\n };\n Document.from_json = function (json) {\n logging_1.logger.debug(\"Creating Document from JSON\");\n var py_version = json.version; // XXX!\n var is_dev = py_version.indexOf('+') !== -1 || py_version.indexOf('-') !== -1;\n var versions_string = \"Library versions: JS (\" + version_1.version + \") / Python (\" + py_version + \")\";\n if (!is_dev && version_1.version !== py_version) {\n logging_1.logger.warn(\"JS/Python version mismatch\");\n logging_1.logger.warn(versions_string);\n }\n else\n logging_1.logger.debug(versions_string);\n var roots_json = json.roots;\n var root_ids = roots_json.root_ids;\n var references_json = roots_json.references;\n var references = Document._instantiate_references_json(references_json, {});\n Document._initialize_references_json(references_json, {}, references);\n var doc = new Document();\n for (var _i = 0, root_ids_1 = root_ids; _i < root_ids_1.length; _i++) {\n var r = root_ids_1[_i];\n doc.add_root(references[r]);\n } // XXX: HasProps\n doc.set_title(json.title); // XXX!\n return doc;\n };\n Document.prototype.replace_with_json = function (json) {\n var replacement = Document.from_json(json);\n replacement.destructively_move(this);\n };\n Document.prototype.create_json_patch_string = function (events) {\n return JSON.stringify(this.create_json_patch(events));\n };\n Document.prototype.create_json_patch = function (events) {\n var references = {};\n var json_events = [];\n for (var _i = 0, events_2 = events; _i < events_2.length; _i++) {\n var event_2 = events_2[_i];\n if (event_2.document !== this) {\n logging_1.logger.warn(\"Cannot create a patch using events from a different document, event had \", event_2.document, \" we are \", this);\n throw new Error(\"Cannot create a patch using events from a different document\");\n }\n json_events.push(event_2.json(references));\n }\n return {\n events: json_events,\n references: Document._references_json(object_1.values(references)),\n };\n };\n Document.prototype.apply_json_patch = function (patch, buffers, setter_id) {\n var _a;\n if (buffers === void 0) {\n buffers = [];\n }\n var references_json = patch.references;\n var events_json = patch.events;\n var references = Document._instantiate_references_json(references_json, this._all_models);\n // The model being changed isn't always in references so add it in\n for (var _i = 0, events_json_1 = events_json; _i < events_json_1.length; _i++) {\n var event_json = events_json_1[_i];\n switch (event_json.kind) {\n case \"RootAdded\":\n case \"RootRemoved\":\n case \"ModelChanged\": {\n var model_id = event_json.model.id;\n if (model_id in this._all_models) {\n references[model_id] = this._all_models[model_id];\n }\n else {\n if (!(model_id in references)) {\n logging_1.logger.warn(\"Got an event for unknown model \", event_json.model);\n throw new Error(\"event model wasn't known\");\n }\n }\n break;\n }\n }\n }\n // split references into old and new so we know whether to initialize or update\n var old_references = {};\n var new_references = {};\n for (var id in references) {\n var value = references[id];\n if (id in this._all_models)\n old_references[id] = value;\n else\n new_references[id] = value;\n }\n Document._initialize_references_json(references_json, old_references, new_references);\n for (var _b = 0, events_json_2 = events_json; _b < events_json_2.length; _b++) {\n var event_json = events_json_2[_b];\n switch (event_json.kind) {\n case 'ModelChanged': {\n var patched_id = event_json.model.id;\n if (!(patched_id in this._all_models)) {\n throw new Error(\"Cannot apply patch to \" + patched_id + \" which is not in the document\");\n }\n var patched_obj = this._all_models[patched_id];\n var attr = event_json.attr;\n var model_type = event_json.model.type;\n // XXXX currently still need this first branch, some updates (initial?) go through here\n if (attr === 'data' && model_type === 'ColumnDataSource') {\n var _c = serialization_1.decode_column_data(event_json.new, buffers), data = _c[0], shapes = _c[1];\n patched_obj.setv({ _shapes: shapes, data: data }, { setter_id: setter_id });\n }\n else {\n var value = Document._resolve_refs(event_json.new, old_references, new_references);\n patched_obj.setv((_a = {}, _a[attr] = value, _a), { setter_id: setter_id });\n }\n break;\n }\n case 'ColumnDataChanged': {\n var column_source_id = event_json.column_source.id;\n if (!(column_source_id in this._all_models)) {\n throw new Error(\"Cannot stream to \" + column_source_id + \" which is not in the document\");\n }\n var column_source = this._all_models[column_source_id];\n var _d = serialization_1.decode_column_data(event_json.new, buffers), data = _d[0], shapes = _d[1];\n if (event_json.cols != null) {\n for (var k in column_source.data) {\n if (!(k in data)) {\n data[k] = column_source.data[k];\n }\n }\n for (var k in column_source._shapes) {\n if (!(k in shapes)) {\n shapes[k] = column_source._shapes[k];\n }\n }\n }\n column_source.setv({\n _shapes: shapes,\n data: data,\n }, {\n setter_id: setter_id,\n check_eq: false,\n });\n break;\n }\n case 'ColumnsStreamed': {\n var column_source_id = event_json.column_source.id;\n if (!(column_source_id in this._all_models)) {\n throw new Error(\"Cannot stream to \" + column_source_id + \" which is not in the document\");\n }\n var column_source = this._all_models[column_source_id];\n if (!(column_source instanceof column_data_source_1.ColumnDataSource)) {\n throw new Error(\"Cannot stream to non-ColumnDataSource\");\n }\n var data = event_json.data;\n var rollover = event_json.rollover;\n column_source.stream(data, rollover, setter_id);\n break;\n }\n case 'ColumnsPatched': {\n var column_source_id = event_json.column_source.id;\n if (!(column_source_id in this._all_models)) {\n throw new Error(\"Cannot patch \" + column_source_id + \" which is not in the document\");\n }\n var column_source = this._all_models[column_source_id];\n if (!(column_source instanceof column_data_source_1.ColumnDataSource)) {\n throw new Error(\"Cannot patch non-ColumnDataSource\");\n }\n var patches = event_json.patches;\n column_source.patch(patches, setter_id);\n break;\n }\n case 'RootAdded': {\n var root_id = event_json.model.id;\n var root_obj = references[root_id];\n this.add_root(root_obj, setter_id); // XXX: HasProps\n break;\n }\n case 'RootRemoved': {\n var root_id = event_json.model.id;\n var root_obj = references[root_id];\n this.remove_root(root_obj, setter_id); // XXX: HasProps\n break;\n }\n case 'TitleChanged': {\n this.set_title(event_json.title, setter_id);\n break;\n }\n default:\n throw new Error(\"Unknown patch event \" + JSON.stringify(event_json));\n }\n }\n };\n return Document;\n }());\n exports.Document = Document;\n}\n","/* document/events */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var has_props_1 = require(8) /* ../core/has_props */;\n var DocumentChangedEvent = /** @class */ (function () {\n function DocumentChangedEvent(document) {\n this.document = document;\n }\n return DocumentChangedEvent;\n }());\n exports.DocumentChangedEvent = DocumentChangedEvent;\n var ModelChangedEvent = /** @class */ (function (_super) {\n tslib_1.__extends(ModelChangedEvent, _super);\n function ModelChangedEvent(document, model, attr, old, new_, setter_id, hint) {\n var _this = _super.call(this, document) || this;\n _this.model = model;\n _this.attr = attr;\n _this.old = old;\n _this.new_ = new_;\n _this.setter_id = setter_id;\n _this.hint = hint;\n return _this;\n }\n ModelChangedEvent.prototype.json = function (references) {\n if (this.attr === \"id\") {\n throw new Error(\"'id' field should never change, whatever code just set it is wrong\");\n }\n if (this.hint != null)\n return this.hint.json(references);\n var value = this.new_;\n var value_json = has_props_1.HasProps._value_to_json(this.attr, value, this.model);\n var value_refs = {};\n has_props_1.HasProps._value_record_references(value, value_refs, true); // true = recurse\n if (this.model.id in value_refs && this.model !== value) {\n // we know we don't want a whole new copy of the obj we're\n // patching unless it's also the value itself\n delete value_refs[this.model.id];\n }\n for (var id in value_refs) {\n references[id] = value_refs[id];\n }\n return {\n kind: \"ModelChanged\",\n model: this.model.ref(),\n attr: this.attr,\n new: value_json,\n };\n };\n return ModelChangedEvent;\n }(DocumentChangedEvent));\n exports.ModelChangedEvent = ModelChangedEvent;\n var ColumnsPatchedEvent = /** @class */ (function (_super) {\n tslib_1.__extends(ColumnsPatchedEvent, _super);\n function ColumnsPatchedEvent(document, column_source, patches) {\n var _this = _super.call(this, document) || this;\n _this.column_source = column_source;\n _this.patches = patches;\n return _this;\n }\n ColumnsPatchedEvent.prototype.json = function (_references) {\n return {\n kind: \"ColumnsPatched\",\n column_source: this.column_source,\n patches: this.patches,\n };\n };\n return ColumnsPatchedEvent;\n }(DocumentChangedEvent));\n exports.ColumnsPatchedEvent = ColumnsPatchedEvent;\n var ColumnsStreamedEvent = /** @class */ (function (_super) {\n tslib_1.__extends(ColumnsStreamedEvent, _super);\n function ColumnsStreamedEvent(document, column_source, data, rollover) {\n var _this = _super.call(this, document) || this;\n _this.column_source = column_source;\n _this.data = data;\n _this.rollover = rollover;\n return _this;\n }\n ColumnsStreamedEvent.prototype.json = function (_references) {\n return {\n kind: \"ColumnsStreamed\",\n column_source: this.column_source,\n data: this.data,\n rollover: this.rollover,\n };\n };\n return ColumnsStreamedEvent;\n }(DocumentChangedEvent));\n exports.ColumnsStreamedEvent = ColumnsStreamedEvent;\n var TitleChangedEvent = /** @class */ (function (_super) {\n tslib_1.__extends(TitleChangedEvent, _super);\n function TitleChangedEvent(document, title, setter_id) {\n var _this = _super.call(this, document) || this;\n _this.title = title;\n _this.setter_id = setter_id;\n return _this;\n }\n TitleChangedEvent.prototype.json = function (_references) {\n return {\n kind: \"TitleChanged\",\n title: this.title,\n };\n };\n return TitleChangedEvent;\n }(DocumentChangedEvent));\n exports.TitleChangedEvent = TitleChangedEvent;\n var RootAddedEvent = /** @class */ (function (_super) {\n tslib_1.__extends(RootAddedEvent, _super);\n function RootAddedEvent(document, model, setter_id) {\n var _this = _super.call(this, document) || this;\n _this.model = model;\n _this.setter_id = setter_id;\n return _this;\n }\n RootAddedEvent.prototype.json = function (references) {\n has_props_1.HasProps._value_record_references(this.model, references, true);\n return {\n kind: \"RootAdded\",\n model: this.model.ref(),\n };\n };\n return RootAddedEvent;\n }(DocumentChangedEvent));\n exports.RootAddedEvent = RootAddedEvent;\n var RootRemovedEvent = /** @class */ (function (_super) {\n tslib_1.__extends(RootRemovedEvent, _super);\n function RootRemovedEvent(document, model, setter_id) {\n var _this = _super.call(this, document) || this;\n _this.model = model;\n _this.setter_id = setter_id;\n return _this;\n }\n RootRemovedEvent.prototype.json = function (_references) {\n return {\n kind: \"RootRemoved\",\n model: this.model.ref(),\n };\n };\n return RootRemovedEvent;\n }(DocumentChangedEvent));\n exports.RootRemovedEvent = RootRemovedEvent;\n}\n","/* document/index */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n tslib_1.__exportStar(require(52) /* ./document */, exports);\n tslib_1.__exportStar(require(53) /* ./events */, exports);\n}\n","/* embed/dom */ function _(require, module, exports) {\n var dom_1 = require(5) /* ../core/dom */;\n // Matches Bokeh CSS class selector. Setting all Bokeh parent element class names\n // with this var prevents user configurations where css styling is unset.\n exports.BOKEH_ROOT = \"bk-root\";\n function _get_element(elementid) {\n var element = document.getElementById(elementid);\n if (element == null)\n throw new Error(\"Error rendering Bokeh model: could not find #\" + elementid + \" HTML tag\");\n if (!document.body.contains(element))\n throw new Error(\"Error rendering Bokeh model: element #\" + elementid + \" must be under
\");\n // If autoload script, replace script tag with div for embedding.\n if (element.tagName == \"SCRIPT\") {\n var root_el = dom_1.div({ class: exports.BOKEH_ROOT });\n dom_1.replaceWith(element, root_el);\n element = root_el;\n }\n return element;\n }\n function _resolve_element(item) {\n var elementid = item.elementid;\n if (elementid != null)\n return _get_element(elementid);\n else\n return document.body;\n }\n exports._resolve_element = _resolve_element;\n function _resolve_root_elements(item) {\n var roots = {};\n if (item.roots != null) {\n for (var root_id in item.roots)\n roots[root_id] = _get_element(item.roots[root_id]);\n }\n return roots;\n }\n exports._resolve_root_elements = _resolve_root_elements;\n}\n","/* embed/index */ function _(require, module, exports) {\n var document_1 = require(54) /* ../document */;\n var logging_1 = require(17) /* ../core/logging */;\n var callback_1 = require(28) /* ../core/util/callback */;\n var string_1 = require(40) /* ../core/util/string */;\n var types_1 = require(46) /* ../core/util/types */;\n var standalone_1 = require(59) /* ./standalone */;\n var server_1 = require(58) /* ./server */;\n var dom_1 = require(55) /* ./dom */;\n var standalone_2 = require(59) /* ./standalone */;\n exports.add_document_standalone = standalone_2.add_document_standalone;\n exports.index = standalone_2.index;\n var server_2 = require(58) /* ./server */;\n exports.add_document_from_session = server_2.add_document_from_session;\n var notebook_1 = require(57) /* ./notebook */;\n exports.embed_items_notebook = notebook_1.embed_items_notebook;\n exports.kernels = notebook_1.kernels;\n var dom_2 = require(55) /* ./dom */;\n exports.BOKEH_ROOT = dom_2.BOKEH_ROOT;\n function embed_item(item, target_id) {\n var _a;\n var docs_json = {};\n var doc_id = string_1.uuid4();\n docs_json[doc_id] = item.doc;\n if (target_id == null)\n target_id = item.target_id;\n var element = document.getElementById(target_id);\n if (element != null)\n element.classList.add(dom_1.BOKEH_ROOT);\n var roots = (_a = {}, _a[item.root_id] = target_id, _a);\n var render_item = { roots: roots, docid: doc_id };\n callback_1.defer(function () { return _embed_items(docs_json, [render_item]); });\n }\n exports.embed_item = embed_item;\n // TODO (bev) this is currently clunky. Standalone embeds only provide\n // the first two args, whereas server provide the app_app, and *may* prove and\n // absolute_url as well if non-relative links are needed for resources. This function\n // should probably be split in to two pieces to reflect the different usage patterns\n function embed_items(docs_json, render_items, app_path, absolute_url) {\n callback_1.defer(function () { return _embed_items(docs_json, render_items, app_path, absolute_url); });\n }\n exports.embed_items = embed_items;\n function _embed_items(docs_json, render_items, app_path, absolute_url) {\n if (types_1.isString(docs_json))\n docs_json = JSON.parse(string_1.unescape(docs_json));\n var docs = {};\n for (var docid in docs_json) {\n var doc_json = docs_json[docid];\n docs[docid] = document_1.Document.from_json(doc_json);\n }\n for (var _i = 0, render_items_1 = render_items; _i < render_items_1.length; _i++) {\n var item = render_items_1[_i];\n var element = dom_1._resolve_element(item);\n var roots = dom_1._resolve_root_elements(item);\n if (item.docid != null) {\n standalone_1.add_document_standalone(docs[item.docid], element, roots, item.use_for_title);\n }\n else if (item.sessionid != null) {\n var websocket_url = server_1._get_ws_url(app_path, absolute_url);\n logging_1.logger.debug(\"embed: computed ws url: \" + websocket_url);\n var promise = server_1.add_document_from_session(websocket_url, item.sessionid, element, roots, item.use_for_title);\n promise.then(function () {\n console.log(\"Bokeh items were rendered successfully\");\n }, function (error) {\n console.log(\"Error rendering Bokeh items:\", error);\n });\n }\n else\n throw new Error(\"Error rendering Bokeh items: either 'docid' or 'sessionid' was expected.\");\n }\n }\n}\n","/* embed/notebook */ function _(require, module, exports) {\n var document_1 = require(54) /* ../document */;\n var receiver_1 = require(301) /* ../protocol/receiver */;\n var logging_1 = require(17) /* ../core/logging */;\n var object_1 = require(35) /* ../core/util/object */;\n var standalone_1 = require(59) /* ./standalone */;\n var dom_1 = require(55) /* ./dom */;\n // This exists to allow the jupyterlab_bokeh extension to store the\n // notebook kernel so that _init_comms can register the comms target.\n // This has to be available at window.Bokeh.embed.kernels in JupyterLab.\n exports.kernels = {};\n function _handle_notebook_comms(receiver, comm_msg) {\n if (comm_msg.buffers.length > 0)\n receiver.consume(comm_msg.buffers[0].buffer);\n else\n receiver.consume(comm_msg.content.data);\n var msg = receiver.message;\n if (msg != null)\n this.apply_json_patch(msg.content, msg.buffers);\n }\n function _init_comms(target, doc) {\n if (typeof Jupyter !== 'undefined' && Jupyter.notebook.kernel != null) {\n logging_1.logger.info(\"Registering Jupyter comms for target \" + target);\n var comm_manager = Jupyter.notebook.kernel.comm_manager;\n try {\n comm_manager.register_target(target, function (comm) {\n logging_1.logger.info(\"Registering Jupyter comms for target \" + target);\n var r = new receiver_1.Receiver();\n comm.on_msg(_handle_notebook_comms.bind(doc, r));\n });\n }\n catch (e) {\n logging_1.logger.warn(\"Jupyter comms failed to register. push_notebook() will not function. (exception reported: \" + e + \")\");\n }\n }\n else if (doc.roots()[0].id in exports.kernels) {\n logging_1.logger.info(\"Registering JupyterLab comms for target \" + target);\n var kernel = exports.kernels[doc.roots()[0].id];\n try {\n kernel.registerCommTarget(target, function (comm) {\n logging_1.logger.info(\"Registering JupyterLab comms for target \" + target);\n var r = new receiver_1.Receiver();\n comm.onMsg = _handle_notebook_comms.bind(doc, r);\n });\n }\n catch (e) {\n logging_1.logger.warn(\"Jupyter comms failed to register. push_notebook() will not function. (exception reported: \" + e + \")\");\n }\n }\n else {\n console.warn(\"Jupyter notebooks comms not available. push_notebook() will not function. If running JupyterLab ensure the latest jupyterlab_bokeh extension is installed. In an exported notebook this warning is expected.\");\n }\n }\n function embed_items_notebook(docs_json, render_items) {\n if (object_1.size(docs_json) != 1)\n throw new Error(\"embed_items_notebook expects exactly one document in docs_json\");\n var document = document_1.Document.from_json(object_1.values(docs_json)[0]);\n for (var _i = 0, render_items_1 = render_items; _i < render_items_1.length; _i++) {\n var item = render_items_1[_i];\n if (item.notebook_comms_target != null)\n _init_comms(item.notebook_comms_target, document);\n var element = dom_1._resolve_element(item);\n var roots = dom_1._resolve_root_elements(item);\n standalone_1.add_document_standalone(document, element, roots);\n }\n }\n exports.embed_items_notebook = embed_items_notebook;\n}\n","/* embed/server */ function _(require, module, exports) {\n var connection_1 = require(1) /* ../client/connection */;\n var logging_1 = require(17) /* ../core/logging */;\n var standalone_1 = require(59) /* ./standalone */;\n // @internal\n function _get_ws_url(app_path, absolute_url) {\n var protocol = 'ws:';\n if (window.location.protocol == 'https:')\n protocol = 'wss:';\n var loc;\n if (absolute_url != null) {\n loc = document.createElement('a');\n loc.href = absolute_url;\n }\n else\n loc = window.location;\n if (app_path != null) {\n if (app_path == \"/\")\n app_path = \"\";\n }\n else\n app_path = loc.pathname.replace(/\\/+$/, '');\n return protocol + '//' + loc.host + app_path + '/ws';\n }\n exports._get_ws_url = _get_ws_url;\n // map { websocket url to map { session id to promise of ClientSession } }\n var _sessions = {};\n function _get_session(websocket_url, session_id, args_string) {\n if (!(websocket_url in _sessions))\n _sessions[websocket_url] = {};\n var subsessions = _sessions[websocket_url];\n if (!(session_id in subsessions))\n subsessions[session_id] = connection_1.pull_session(websocket_url, session_id, args_string);\n return subsessions[session_id];\n }\n // Fill element with the roots from session_id\n function add_document_from_session(websocket_url, session_id, element, roots, use_for_title) {\n if (roots === void 0) {\n roots = {};\n }\n if (use_for_title === void 0) {\n use_for_title = false;\n }\n var args_string = window.location.search.substr(1);\n var promise = _get_session(websocket_url, session_id, args_string);\n return promise.then(function (session) {\n return standalone_1.add_document_standalone(session.document, element, roots, use_for_title);\n }, function (error) {\n logging_1.logger.error(\"Failed to load Bokeh session \" + session_id + \": \" + error);\n throw error;\n });\n }\n exports.add_document_from_session = add_document_from_session;\n}\n","/* embed/standalone */ function _(require, module, exports) {\n var document_1 = require(54) /* ../document */;\n var dom_1 = require(5) /* ../core/dom */;\n var dom_2 = require(55) /* ./dom */;\n // A map from the root model IDs to their views.\n exports.index = {};\n function _create_view(model) {\n var view = new model.default_view({ model: model, parent: null });\n exports.index[model.id] = view;\n return view;\n }\n function add_document_standalone(document, element, roots, use_for_title) {\n if (roots === void 0) {\n roots = {};\n }\n if (use_for_title === void 0) {\n use_for_title = false;\n }\n // this is a LOCAL index of views used only by this particular rendering\n // call, so we can remove the views we create.\n var views = {};\n function render_model(model) {\n var root_el;\n if (model.id in roots)\n root_el = roots[model.id];\n else if (element.classList.contains(dom_2.BOKEH_ROOT))\n root_el = element;\n else {\n root_el = dom_1.div({ class: dom_2.BOKEH_ROOT });\n element.appendChild(root_el);\n }\n var view = _create_view(model);\n view.renderTo(root_el);\n views[model.id] = view;\n }\n function unrender_model(model) {\n var id = model.id;\n if (id in views) {\n var view = views[id];\n view.remove();\n delete views[id];\n delete exports.index[id];\n }\n }\n for (var _i = 0, _a = document.roots(); _i < _a.length; _i++) {\n var model = _a[_i];\n render_model(model);\n }\n if (use_for_title)\n window.document.title = document.title();\n document.on_change(function (event) {\n if (event instanceof document_1.RootAddedEvent)\n render_model(event.model);\n else if (event instanceof document_1.RootRemovedEvent)\n unrender_model(event.model);\n else if (use_for_title && event instanceof document_1.TitleChangedEvent)\n window.document.title = event.title;\n });\n return views;\n }\n exports.add_document_standalone = add_document_standalone;\n}\n","/* index */ function _(require, module, exports) {\n require(298) /* ./polyfill */;\n var version_1 = require(304) /* ./version */;\n exports.version = version_1.version;\n var embed = require(56) /* ./embed */;\n exports.embed = embed;\n var embed_1 = require(56) /* ./embed */;\n exports.index = embed_1.index;\n var protocol = require(299) /* ./protocol */;\n exports.protocol = protocol;\n var _testing = require(303) /* ./testing */;\n exports._testing = _testing;\n var logging_1 = require(17) /* ./core/logging */;\n exports.logger = logging_1.logger;\n exports.set_log_level = logging_1.set_log_level;\n var settings_1 = require(21) /* ./core/settings */;\n exports.settings = settings_1.settings;\n var base_1 = require(0) /* ./base */;\n exports.Models = base_1.Models;\n var document_1 = require(54) /* ./document */;\n exports.documents = document_1.documents;\n var safely_1 = require(302) /* ./safely */;\n exports.safely = safely_1.safely;\n}\n","/* main */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n tslib_1.__exportStar(require(60) /* ./index */, exports);\n}\n","/* model */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var has_props_1 = require(8) /* ./core/has_props */;\n var p = require(18) /* ./core/properties */;\n var types_1 = require(46) /* ./core/util/types */;\n var object_1 = require(35) /* ./core/util/object */;\n var logging_1 = require(17) /* ./core/logging */;\n var Model = /** @class */ (function (_super) {\n tslib_1.__extends(Model, _super);\n function Model(attrs) {\n return _super.call(this, attrs) || this;\n }\n Model.initClass = function () {\n this.prototype.type = \"Model\";\n this.define({\n tags: [p.Array, []],\n name: [p.String],\n js_property_callbacks: [p.Any, {}],\n js_event_callbacks: [p.Any, {}],\n subscribed_events: [p.Array, []],\n });\n };\n Model.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this._update_property_callbacks();\n this.connect(this.properties.js_property_callbacks.change, function () { return _this._update_property_callbacks(); });\n this.connect(this.properties.js_event_callbacks.change, function () { return _this._update_event_callbacks(); });\n this.connect(this.properties.subscribed_events.change, function () { return _this._update_event_callbacks(); });\n };\n /*protected*/ Model.prototype._process_event = function (event) {\n for (var _i = 0, _a = this.js_event_callbacks[event.event_name] || []; _i < _a.length; _i++) {\n var callback = _a[_i];\n callback.execute(event);\n }\n if (this.document != null && this.subscribed_events.some(function (m) { return m == event.event_name; }))\n this.document.event_manager.send_event(event);\n };\n Model.prototype.trigger_event = function (event) {\n if (this.document != null) {\n event.origin = this;\n this.document.event_manager.trigger(event);\n }\n };\n Model.prototype._update_event_callbacks = function () {\n if (this.document == null) {\n // File an issue: SidePanel in particular seems to have this issue\n logging_1.logger.warn('WARNING: Document not defined for updating event callbacks');\n return;\n }\n this.document.event_manager.subscribed_models.add(this.id);\n };\n Model.prototype._update_property_callbacks = function () {\n var _this = this;\n var signal_for = function (event) {\n var _a = event.split(\":\"), evt = _a[0], _b = _a[1], attr = _b === void 0 ? null : _b;\n return attr != null ? _this.properties[attr][evt] : _this[evt];\n };\n for (var event_1 in this._js_callbacks) {\n var callbacks = this._js_callbacks[event_1];\n var signal = signal_for(event_1);\n for (var _i = 0, callbacks_1 = callbacks; _i < callbacks_1.length; _i++) {\n var cb = callbacks_1[_i];\n this.disconnect(signal, cb);\n }\n }\n this._js_callbacks = {};\n for (var event_2 in this.js_property_callbacks) {\n var callbacks = this.js_property_callbacks[event_2];\n var wrappers = callbacks.map(function (cb) { return function () { return cb.execute(_this); }; });\n this._js_callbacks[event_2] = wrappers;\n var signal = signal_for(event_2);\n for (var _a = 0, wrappers_1 = wrappers; _a < wrappers_1.length; _a++) {\n var cb = wrappers_1[_a];\n this.connect(signal, cb);\n }\n }\n };\n Model.prototype._doc_attached = function () {\n if (!object_1.isEmpty(this.js_event_callbacks) || !object_1.isEmpty(this.subscribed_events))\n this._update_event_callbacks();\n };\n Model.prototype.select = function (selector) {\n if (types_1.isString(selector))\n return this.references().filter(function (ref) { return ref instanceof Model && ref.name === selector; });\n else if (selector.prototype instanceof has_props_1.HasProps)\n return this.references().filter(function (ref) { return ref instanceof selector; });\n else\n throw new Error(\"invalid selector\");\n };\n Model.prototype.select_one = function (selector) {\n var result = this.select(selector);\n switch (result.length) {\n case 0:\n return null;\n case 1:\n return result[0];\n default:\n throw new Error(\"found more than one object matching given selector\");\n }\n };\n return Model;\n }(has_props_1.HasProps));\n exports.Model = Model;\n Model.initClass();\n}\n","/* models/annotations/annotation */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var proj = require(36) /* ../../core/util/projections */;\n var object_1 = require(35) /* ../../core/util/object */;\n var renderer_1 = require(201) /* ../renderers/renderer */;\n var AnnotationView = /** @class */ (function (_super) {\n tslib_1.__extends(AnnotationView, _super);\n function AnnotationView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(AnnotationView.prototype, \"panel\", {\n get: function () {\n return this.layout;\n },\n enumerable: true,\n configurable: true\n });\n AnnotationView.prototype.get_size = function () {\n if (this.model.visible) {\n var _a = this._get_size(), width = _a.width, height = _a.height;\n return { width: Math.round(width), height: Math.round(height) };\n }\n else\n return { width: 0, height: 0 };\n };\n AnnotationView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n var p = this.model.properties;\n this.on_change(p.visible, function () { return _this.plot_view.request_layout(); });\n };\n AnnotationView.prototype._get_size = function () {\n throw new Error(\"not implemented\");\n };\n Object.defineProperty(AnnotationView.prototype, \"ctx\", {\n get: function () {\n return this.plot_view.canvas_view.ctx;\n },\n enumerable: true,\n configurable: true\n });\n AnnotationView.prototype.set_data = function (source) {\n var _a, _b;\n var data = this.model.materialize_dataspecs(source);\n object_1.extend(this, data);\n if (this.plot_model.use_map) {\n var self_1 = this;\n if (self_1._x != null)\n _a = proj.project_xy(self_1._x, self_1._y), self_1._x = _a[0], self_1._y = _a[1];\n if (self_1._xs != null)\n _b = proj.project_xsys(self_1._xs, self_1._ys), self_1._xs = _b[0], self_1._ys = _b[1];\n }\n };\n Object.defineProperty(AnnotationView.prototype, \"needs_clip\", {\n get: function () {\n return this.layout == null; // TODO: change this, when center layout is fully implemented\n },\n enumerable: true,\n configurable: true\n });\n AnnotationView.prototype.serializable_state = function () {\n var state = _super.prototype.serializable_state.call(this);\n return this.layout == null ? state : tslib_1.__assign({}, state, { bbox: this.layout.bbox.rect });\n };\n return AnnotationView;\n }(renderer_1.RendererView));\n exports.AnnotationView = AnnotationView;\n var Annotation = /** @class */ (function (_super) {\n tslib_1.__extends(Annotation, _super);\n function Annotation(attrs) {\n return _super.call(this, attrs) || this;\n }\n Annotation.initClass = function () {\n this.prototype.type = 'Annotation';\n this.override({\n level: 'annotation',\n });\n };\n return Annotation;\n }(renderer_1.Renderer));\n exports.Annotation = Annotation;\n Annotation.initClass();\n}\n","/* models/annotations/arrow */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var arrow_head_1 = require(65) /* ./arrow_head */;\n var column_data_source_1 = require(212) /* ../sources/column_data_source */;\n var p = require(18) /* ../../core/properties */;\n var math_1 = require(34) /* ../../core/util/math */;\n var ArrowView = /** @class */ (function (_super) {\n tslib_1.__extends(ArrowView, _super);\n function ArrowView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArrowView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n if (this.model.source == null)\n this.model.source = new column_data_source_1.ColumnDataSource();\n this.set_data(this.model.source);\n };\n ArrowView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.change, function () { return _this.set_data(_this.model.source); });\n this.connect(this.model.source.streaming, function () { return _this.set_data(_this.model.source); });\n this.connect(this.model.source.patching, function () { return _this.set_data(_this.model.source); });\n };\n ArrowView.prototype.set_data = function (source) {\n _super.prototype.set_data.call(this, source);\n this.visuals.warm_cache(source);\n this.plot_view.request_render();\n };\n ArrowView.prototype._map_data = function () {\n var frame = this.plot_view.frame;\n var sx_start, sy_start;\n if (this.model.start_units == 'data') {\n sx_start = frame.xscales[this.model.x_range_name].v_compute(this._x_start);\n sy_start = frame.yscales[this.model.y_range_name].v_compute(this._y_start);\n }\n else {\n sx_start = frame.xview.v_compute(this._x_start);\n sy_start = frame.yview.v_compute(this._y_start);\n }\n var sx_end, sy_end;\n if (this.model.end_units == 'data') {\n sx_end = frame.xscales[this.model.x_range_name].v_compute(this._x_end);\n sy_end = frame.yscales[this.model.y_range_name].v_compute(this._y_end);\n }\n else {\n sx_end = frame.xview.v_compute(this._x_end);\n sy_end = frame.yview.v_compute(this._y_end);\n }\n return [[sx_start, sy_start], [sx_end, sy_end]];\n };\n ArrowView.prototype.render = function () {\n if (!this.model.visible)\n return;\n var ctx = this.plot_view.canvas_view.ctx;\n ctx.save();\n // Order in this function is important. First we draw all the arrow heads.\n var _a = this._map_data(), start = _a[0], end = _a[1];\n if (this.model.end != null)\n this._arrow_head(ctx, \"render\", this.model.end, start, end);\n if (this.model.start != null)\n this._arrow_head(ctx, \"render\", this.model.start, end, start);\n // Next we call .clip on all the arrow heads, inside an initial canvas sized\n // rect, to create an \"inverted\" clip region for the arrow heads\n ctx.beginPath();\n var _b = this.plot_view.layout.bbox.rect, x = _b.left, y = _b.top, width = _b.width, height = _b.height;\n ctx.rect(x, y, width, height);\n if (this.model.end != null)\n this._arrow_head(ctx, \"clip\", this.model.end, start, end);\n if (this.model.start != null)\n this._arrow_head(ctx, \"clip\", this.model.start, end, start);\n ctx.closePath();\n ctx.clip();\n // Finally we draw the arrow body, with the clipping regions set up. This prevents\n // \"fat\" arrows from overlapping the arrow head in a bad way.\n this._arrow_body(ctx, start, end);\n ctx.restore();\n };\n ArrowView.prototype._arrow_head = function (ctx, action, head, start, end) {\n for (var i = 0, _end = this._x_start.length; i < _end; i++) {\n // arrow head runs orthogonal to arrow body\n var angle = Math.PI / 2 + math_1.atan2([start[0][i], start[1][i]], [end[0][i], end[1][i]]);\n ctx.save();\n ctx.translate(end[0][i], end[1][i]);\n ctx.rotate(angle);\n if (action == \"render\")\n head.render(ctx, i);\n else if (action == \"clip\")\n head.clip(ctx, i);\n ctx.restore();\n }\n };\n ArrowView.prototype._arrow_body = function (ctx, start, end) {\n if (!this.visuals.line.doit)\n return;\n for (var i = 0, n = this._x_start.length; i < n; i++) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.beginPath();\n ctx.moveTo(start[0][i], start[1][i]);\n ctx.lineTo(end[0][i], end[1][i]);\n ctx.stroke();\n }\n };\n return ArrowView;\n }(annotation_1.AnnotationView));\n exports.ArrowView = ArrowView;\n var Arrow = /** @class */ (function (_super) {\n tslib_1.__extends(Arrow, _super);\n function Arrow(attrs) {\n return _super.call(this, attrs) || this;\n }\n Arrow.initClass = function () {\n this.prototype.type = 'Arrow';\n this.prototype.default_view = ArrowView;\n this.mixins(['line']);\n this.define({\n x_start: [p.NumberSpec,],\n y_start: [p.NumberSpec,],\n start_units: [p.SpatialUnits, 'data'],\n start: [p.Instance, null],\n x_end: [p.NumberSpec,],\n y_end: [p.NumberSpec,],\n end_units: [p.SpatialUnits, 'data'],\n end: [p.Instance, function () { return new arrow_head_1.OpenHead({}); }],\n source: [p.Instance],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n };\n return Arrow;\n }(annotation_1.Annotation));\n exports.Arrow = Arrow;\n Arrow.initClass();\n}\n","/* models/annotations/arrow_head */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var visuals_1 = require(51) /* ../../core/visuals */;\n var p = require(18) /* ../../core/properties */;\n var ArrowHead = /** @class */ (function (_super) {\n tslib_1.__extends(ArrowHead, _super);\n function ArrowHead(attrs) {\n return _super.call(this, attrs) || this;\n }\n ArrowHead.initClass = function () {\n this.prototype.type = 'ArrowHead';\n this.define({\n size: [p.Number, 25],\n });\n };\n ArrowHead.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.visuals = new visuals_1.Visuals(this);\n };\n return ArrowHead;\n }(annotation_1.Annotation));\n exports.ArrowHead = ArrowHead;\n ArrowHead.initClass();\n var OpenHead = /** @class */ (function (_super) {\n tslib_1.__extends(OpenHead, _super);\n function OpenHead(attrs) {\n return _super.call(this, attrs) || this;\n }\n OpenHead.initClass = function () {\n this.prototype.type = 'OpenHead';\n this.mixins(['line']);\n };\n OpenHead.prototype.clip = function (ctx, i) {\n // This method should not begin or close a path\n this.visuals.line.set_vectorize(ctx, i);\n ctx.moveTo(0.5 * this.size, this.size);\n ctx.lineTo(0.5 * this.size, -2);\n ctx.lineTo(-0.5 * this.size, -2);\n ctx.lineTo(-0.5 * this.size, this.size);\n ctx.lineTo(0, 0);\n ctx.lineTo(0.5 * this.size, this.size);\n };\n OpenHead.prototype.render = function (ctx, i) {\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.beginPath();\n ctx.moveTo(0.5 * this.size, this.size);\n ctx.lineTo(0, 0);\n ctx.lineTo(-0.5 * this.size, this.size);\n ctx.stroke();\n }\n };\n return OpenHead;\n }(ArrowHead));\n exports.OpenHead = OpenHead;\n OpenHead.initClass();\n var NormalHead = /** @class */ (function (_super) {\n tslib_1.__extends(NormalHead, _super);\n function NormalHead(attrs) {\n return _super.call(this, attrs) || this;\n }\n NormalHead.initClass = function () {\n this.prototype.type = 'NormalHead';\n this.mixins(['line', 'fill']);\n this.override({\n fill_color: 'black',\n });\n };\n NormalHead.prototype.clip = function (ctx, i) {\n // This method should not begin or close a path\n this.visuals.line.set_vectorize(ctx, i);\n ctx.moveTo(0.5 * this.size, this.size);\n ctx.lineTo(0.5 * this.size, -2);\n ctx.lineTo(-0.5 * this.size, -2);\n ctx.lineTo(-0.5 * this.size, this.size);\n ctx.lineTo(0.5 * this.size, this.size);\n };\n NormalHead.prototype.render = function (ctx, i) {\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_vectorize(ctx, i);\n this._normal(ctx, i);\n ctx.fill();\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n this._normal(ctx, i);\n ctx.stroke();\n }\n };\n NormalHead.prototype._normal = function (ctx, _i) {\n ctx.beginPath();\n ctx.moveTo(0.5 * this.size, this.size);\n ctx.lineTo(0, 0);\n ctx.lineTo(-0.5 * this.size, this.size);\n ctx.closePath();\n };\n return NormalHead;\n }(ArrowHead));\n exports.NormalHead = NormalHead;\n NormalHead.initClass();\n var VeeHead = /** @class */ (function (_super) {\n tslib_1.__extends(VeeHead, _super);\n function VeeHead(attrs) {\n return _super.call(this, attrs) || this;\n }\n VeeHead.initClass = function () {\n this.prototype.type = 'VeeHead';\n this.mixins(['line', 'fill']);\n this.override({\n fill_color: 'black',\n });\n };\n VeeHead.prototype.clip = function (ctx, i) {\n // This method should not begin or close a path\n this.visuals.line.set_vectorize(ctx, i);\n ctx.moveTo(0.5 * this.size, this.size);\n ctx.lineTo(0.5 * this.size, -2);\n ctx.lineTo(-0.5 * this.size, -2);\n ctx.lineTo(-0.5 * this.size, this.size);\n ctx.lineTo(0, 0.5 * this.size);\n ctx.lineTo(0.5 * this.size, this.size);\n };\n VeeHead.prototype.render = function (ctx, i) {\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_vectorize(ctx, i);\n this._vee(ctx, i);\n ctx.fill();\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n this._vee(ctx, i);\n ctx.stroke();\n }\n };\n VeeHead.prototype._vee = function (ctx, _i) {\n ctx.beginPath();\n ctx.moveTo(0.5 * this.size, this.size);\n ctx.lineTo(0, 0);\n ctx.lineTo(-0.5 * this.size, this.size);\n ctx.lineTo(0, 0.5 * this.size);\n ctx.closePath();\n };\n return VeeHead;\n }(ArrowHead));\n exports.VeeHead = VeeHead;\n VeeHead.initClass();\n var TeeHead = /** @class */ (function (_super) {\n tslib_1.__extends(TeeHead, _super);\n function TeeHead(attrs) {\n return _super.call(this, attrs) || this;\n }\n TeeHead.initClass = function () {\n this.prototype.type = 'TeeHead';\n this.mixins(['line']);\n };\n TeeHead.prototype.render = function (ctx, i) {\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.beginPath();\n ctx.moveTo(0.5 * this.size, 0);\n ctx.lineTo(-0.5 * this.size, 0);\n ctx.stroke();\n }\n };\n TeeHead.prototype.clip = function (_ctx, _i) { };\n return TeeHead;\n }(ArrowHead));\n exports.TeeHead = TeeHead;\n TeeHead.initClass();\n}\n","/* models/annotations/band */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var column_data_source_1 = require(212) /* ../sources/column_data_source */;\n var p = require(18) /* ../../core/properties */;\n var BandView = /** @class */ (function (_super) {\n tslib_1.__extends(BandView, _super);\n function BandView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BandView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.set_data(this.model.source);\n };\n BandView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.source.streaming, function () { return _this.set_data(_this.model.source); });\n this.connect(this.model.source.patching, function () { return _this.set_data(_this.model.source); });\n this.connect(this.model.source.change, function () { return _this.set_data(_this.model.source); });\n };\n BandView.prototype.set_data = function (source) {\n _super.prototype.set_data.call(this, source);\n this.visuals.warm_cache(source);\n this.plot_view.request_render();\n };\n BandView.prototype._map_data = function () {\n var frame = this.plot_view.frame;\n var dim = this.model.dimension;\n var xscale = frame.xscales[this.model.x_range_name];\n var yscale = frame.yscales[this.model.y_range_name];\n var limit_scale = dim == \"height\" ? yscale : xscale;\n var base_scale = dim == \"height\" ? xscale : yscale;\n var limit_view = dim == \"height\" ? frame.yview : frame.xview;\n var base_view = dim == \"height\" ? frame.xview : frame.yview;\n var _lower_sx;\n if (this.model.properties.lower.units == \"data\")\n _lower_sx = limit_scale.v_compute(this._lower);\n else\n _lower_sx = limit_view.v_compute(this._lower);\n var _upper_sx;\n if (this.model.properties.upper.units == \"data\")\n _upper_sx = limit_scale.v_compute(this._upper);\n else\n _upper_sx = limit_view.v_compute(this._upper);\n var _base_sx;\n if (this.model.properties.base.units == \"data\")\n _base_sx = base_scale.v_compute(this._base);\n else\n _base_sx = base_view.v_compute(this._base);\n var _a = dim == 'height' ? [1, 0] : [0, 1], i = _a[0], j = _a[1];\n var _lower = [_lower_sx, _base_sx];\n var _upper = [_upper_sx, _base_sx];\n this._lower_sx = _lower[i];\n this._lower_sy = _lower[j];\n this._upper_sx = _upper[i];\n this._upper_sy = _upper[j];\n };\n BandView.prototype.render = function () {\n if (!this.model.visible)\n return;\n this._map_data();\n var ctx = this.plot_view.canvas_view.ctx;\n // Draw the band body\n ctx.beginPath();\n ctx.moveTo(this._lower_sx[0], this._lower_sy[0]);\n for (var i = 0, end = this._lower_sx.length; i < end; i++) {\n ctx.lineTo(this._lower_sx[i], this._lower_sy[i]);\n }\n // iterate backwards so that the upper end is below the lower start\n for (var start = this._upper_sx.length - 1, i = start; i >= 0; i--) {\n ctx.lineTo(this._upper_sx[i], this._upper_sy[i]);\n }\n ctx.closePath();\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_value(ctx);\n ctx.fill();\n }\n // Draw the lower band edge\n ctx.beginPath();\n ctx.moveTo(this._lower_sx[0], this._lower_sy[0]);\n for (var i = 0, end = this._lower_sx.length; i < end; i++) {\n ctx.lineTo(this._lower_sx[i], this._lower_sy[i]);\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_value(ctx);\n ctx.stroke();\n }\n // Draw the upper band edge\n ctx.beginPath();\n ctx.moveTo(this._upper_sx[0], this._upper_sy[0]);\n for (var i = 0, end = this._upper_sx.length; i < end; i++) {\n ctx.lineTo(this._upper_sx[i], this._upper_sy[i]);\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_value(ctx);\n ctx.stroke();\n }\n };\n return BandView;\n }(annotation_1.AnnotationView));\n exports.BandView = BandView;\n var Band = /** @class */ (function (_super) {\n tslib_1.__extends(Band, _super);\n function Band(attrs) {\n return _super.call(this, attrs) || this;\n }\n Band.initClass = function () {\n this.prototype.type = 'Band';\n this.prototype.default_view = BandView;\n this.mixins(['line', 'fill']);\n this.define({\n lower: [p.DistanceSpec],\n upper: [p.DistanceSpec],\n base: [p.DistanceSpec],\n dimension: [p.Dimension, 'height'],\n source: [p.Instance, function () { return new column_data_source_1.ColumnDataSource(); }],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n this.override({\n fill_color: \"#fff9ba\",\n fill_alpha: 0.4,\n line_color: \"#cccccc\",\n line_alpha: 0.3,\n });\n };\n return Band;\n }(annotation_1.Annotation));\n exports.Band = Band;\n Band.initClass();\n}\n","/* models/annotations/box_annotation */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var signaling_1 = require(22) /* ../../core/signaling */;\n var dom_1 = require(5) /* ../../core/dom */;\n var p = require(18) /* ../../core/properties */;\n var bbox_1 = require(27) /* ../../core/util/bbox */;\n exports.EDGE_TOLERANCE = 2.5;\n var BoxAnnotationView = /** @class */ (function (_super) {\n tslib_1.__extends(BoxAnnotationView, _super);\n function BoxAnnotationView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoxAnnotationView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.plot_view.canvas_overlays.appendChild(this.el);\n this.el.classList.add(\"bk-shading\");\n dom_1.undisplay(this.el);\n };\n BoxAnnotationView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n // need to respond to either normal BB change events or silent\n // \"data only updates\" that tools might want to use\n if (this.model.render_mode == 'css') {\n // dispatch CSS update immediately\n this.connect(this.model.change, function () { return _this.render(); });\n this.connect(this.model.data_update, function () { return _this.render(); });\n }\n else {\n this.connect(this.model.change, function () { return _this.plot_view.request_render(); });\n this.connect(this.model.data_update, function () { return _this.plot_view.request_render(); });\n }\n };\n BoxAnnotationView.prototype.render = function () {\n var _this = this;\n if (!this.model.visible && this.model.render_mode == 'css')\n dom_1.undisplay(this.el);\n if (!this.model.visible)\n return;\n // don't render if *all* position are null\n if (this.model.left == null && this.model.right == null && this.model.top == null && this.model.bottom == null) {\n dom_1.undisplay(this.el);\n return;\n }\n var frame = this.plot_view.frame;\n var xscale = frame.xscales[this.model.x_range_name];\n var yscale = frame.yscales[this.model.y_range_name];\n var _calc_dim = function (dim, dim_units, scale, view, frame_extrema) {\n var sdim;\n if (dim != null) {\n if (_this.model.screen)\n sdim = dim;\n else {\n if (dim_units == 'data')\n sdim = scale.compute(dim);\n else\n sdim = view.compute(dim);\n }\n }\n else\n sdim = frame_extrema;\n return sdim;\n };\n this.sleft = _calc_dim(this.model.left, this.model.left_units, xscale, frame.xview, frame._left.value);\n this.sright = _calc_dim(this.model.right, this.model.right_units, xscale, frame.xview, frame._right.value);\n this.stop = _calc_dim(this.model.top, this.model.top_units, yscale, frame.yview, frame._top.value);\n this.sbottom = _calc_dim(this.model.bottom, this.model.bottom_units, yscale, frame.yview, frame._bottom.value);\n var draw = this.model.render_mode == 'css' ? this._css_box.bind(this) : this._canvas_box.bind(this);\n draw(this.sleft, this.sright, this.sbottom, this.stop);\n };\n BoxAnnotationView.prototype._css_box = function (sleft, sright, sbottom, stop) {\n var line_width = this.model.properties.line_width.value();\n var sw = Math.floor(sright - sleft) - line_width;\n var sh = Math.floor(sbottom - stop) - line_width;\n this.el.style.left = sleft + \"px\";\n this.el.style.width = sw + \"px\";\n this.el.style.top = stop + \"px\";\n this.el.style.height = sh + \"px\";\n this.el.style.borderWidth = line_width + \"px\";\n this.el.style.borderColor = this.model.properties.line_color.value();\n this.el.style.backgroundColor = this.model.properties.fill_color.value();\n this.el.style.opacity = this.model.properties.fill_alpha.value();\n // try our best to honor line dashing in some way, if we can\n var ld = this.model.properties.line_dash.value().length < 2 ? \"solid\" : \"dashed\";\n this.el.style.borderStyle = ld;\n dom_1.display(this.el);\n };\n BoxAnnotationView.prototype._canvas_box = function (sleft, sright, sbottom, stop) {\n var ctx = this.plot_view.canvas_view.ctx;\n ctx.save();\n ctx.beginPath();\n ctx.rect(sleft, stop, sright - sleft, sbottom - stop);\n this.visuals.fill.set_value(ctx);\n ctx.fill();\n this.visuals.line.set_value(ctx);\n ctx.stroke();\n ctx.restore();\n };\n BoxAnnotationView.prototype.interactive_bbox = function () {\n var tol = this.model.properties.line_width.value() + exports.EDGE_TOLERANCE;\n return new bbox_1.BBox({\n x0: this.sleft - tol,\n y0: this.stop - tol,\n x1: this.sright + tol,\n y1: this.sbottom + tol,\n });\n };\n BoxAnnotationView.prototype.interactive_hit = function (sx, sy) {\n if (this.model.in_cursor == null)\n return false;\n var bbox = this.interactive_bbox();\n return bbox.contains(sx, sy);\n };\n BoxAnnotationView.prototype.cursor = function (sx, sy) {\n var tol = 3;\n if (Math.abs(sx - this.sleft) < tol || Math.abs(sx - this.sright) < tol)\n return this.model.ew_cursor;\n else if (Math.abs(sy - this.sbottom) < tol || Math.abs(sy - this.stop) < tol)\n return this.model.ns_cursor;\n else if (sx > this.sleft && sx < this.sright && sy > this.stop && sy < this.sbottom)\n return this.model.in_cursor;\n else\n return null;\n };\n return BoxAnnotationView;\n }(annotation_1.AnnotationView));\n exports.BoxAnnotationView = BoxAnnotationView;\n var BoxAnnotation = /** @class */ (function (_super) {\n tslib_1.__extends(BoxAnnotation, _super);\n function BoxAnnotation(attrs) {\n return _super.call(this, attrs) || this;\n }\n BoxAnnotation.initClass = function () {\n this.prototype.type = 'BoxAnnotation';\n this.prototype.default_view = BoxAnnotationView;\n this.mixins(['line', 'fill']);\n this.define({\n render_mode: [p.RenderMode, 'canvas'],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n top: [p.Number, null],\n top_units: [p.SpatialUnits, 'data'],\n bottom: [p.Number, null],\n bottom_units: [p.SpatialUnits, 'data'],\n left: [p.Number, null],\n left_units: [p.SpatialUnits, 'data'],\n right: [p.Number, null],\n right_units: [p.SpatialUnits, 'data'],\n });\n this.internal({\n screen: [p.Boolean, false],\n ew_cursor: [p.String, null],\n ns_cursor: [p.String, null],\n in_cursor: [p.String, null],\n });\n this.override({\n fill_color: '#fff9ba',\n fill_alpha: 0.4,\n line_color: '#cccccc',\n line_alpha: 0.3,\n });\n };\n BoxAnnotation.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.data_update = new signaling_1.Signal0(this, \"data_update\");\n };\n BoxAnnotation.prototype.update = function (_a) {\n var left = _a.left, right = _a.right, top = _a.top, bottom = _a.bottom;\n this.setv({ left: left, right: right, top: top, bottom: bottom, screen: true }, { silent: true });\n this.data_update.emit();\n };\n return BoxAnnotation;\n }(annotation_1.Annotation));\n exports.BoxAnnotation = BoxAnnotation;\n BoxAnnotation.initClass();\n}\n","/* models/annotations/color_bar */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var basic_ticker_1 = require(225) /* ../tickers/basic_ticker */;\n var basic_tick_formatter_1 = require(107) /* ../formatters/basic_tick_formatter */;\n var linear_color_mapper_1 = require(178) /* ../mappers/linear_color_mapper */;\n var linear_scale_1 = require(204) /* ../scales/linear_scale */;\n var log_scale_1 = require(205) /* ../scales/log_scale */;\n var range1d_1 = require(195) /* ../ranges/range1d */;\n var p = require(18) /* ../../core/properties */;\n var text_util = require(43) /* ../../core/util/text */;\n var array_1 = require(24) /* ../../core/util/array */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var object_1 = require(35) /* ../../core/util/object */;\n var types_1 = require(46) /* ../../core/util/types */;\n var SHORT_DIM = 25;\n var LONG_DIM_MIN_SCALAR = 0.3;\n var LONG_DIM_MAX_SCALAR = 0.8;\n var ColorBarView = /** @class */ (function (_super) {\n tslib_1.__extends(ColorBarView, _super);\n function ColorBarView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColorBarView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._set_canvas_image();\n };\n ColorBarView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.properties.visible.change, function () { return _this.plot_view.request_render(); });\n this.connect(this.model.ticker.change, function () { return _this.plot_view.request_render(); });\n this.connect(this.model.formatter.change, function () { return _this.plot_view.request_render(); });\n if (this.model.color_mapper != null) {\n this.connect(this.model.color_mapper.change, function () {\n _this._set_canvas_image();\n _this.plot_view.request_render();\n });\n }\n };\n ColorBarView.prototype._get_size = function () {\n if (this.model.color_mapper == null)\n return { width: 0, height: 0 };\n else {\n var _a = this.compute_legend_dimensions(), width = _a.width, height = _a.height;\n return { width: width, height: height };\n }\n };\n ColorBarView.prototype._set_canvas_image = function () {\n var _a, _b;\n if (this.model.color_mapper == null)\n return;\n var palette = this.model.color_mapper.palette;\n if (this.model.orientation == 'vertical')\n palette = array_1.reversed(palette);\n var w, h;\n switch (this.model.orientation) {\n case \"vertical\": {\n _a = [1, palette.length], w = _a[0], h = _a[1];\n break;\n }\n case \"horizontal\": {\n _b = [palette.length, 1], w = _b[0], h = _b[1];\n break;\n }\n default:\n throw new Error(\"unreachable code\");\n }\n var canvas = document.createElement('canvas');\n canvas.width = w;\n canvas.height = h;\n var image_ctx = canvas.getContext('2d');\n var image_data = image_ctx.getImageData(0, 0, w, h);\n // We always want to draw the entire palette linearly, so we create a new\n // LinearColorMapper instance and map a monotonic range of values with\n // length = palette.length to get each palette color in order.\n var cmap = new linear_color_mapper_1.LinearColorMapper({ palette: palette }).rgba_mapper;\n var buf8 = cmap.v_compute(array_1.range(0, palette.length));\n image_data.data.set(buf8);\n image_ctx.putImageData(image_data, 0, 0);\n this.image = canvas;\n };\n ColorBarView.prototype.compute_legend_dimensions = function () {\n var image_dimensions = this._computed_image_dimensions();\n var _a = [image_dimensions.height, image_dimensions.width], image_height = _a[0], image_width = _a[1];\n var label_extent = this._get_label_extent();\n var title_extent = this._title_extent();\n var tick_extent = this._tick_extent();\n var padding = this.model.padding;\n var legend_height, legend_width;\n switch (this.model.orientation) {\n case \"vertical\":\n legend_height = image_height + title_extent + 2 * padding;\n legend_width = image_width + tick_extent + label_extent + 2 * padding;\n break;\n case \"horizontal\":\n legend_height = image_height + title_extent + tick_extent + label_extent + 2 * padding;\n legend_width = image_width + 2 * padding;\n break;\n default:\n throw new Error(\"unreachable code\");\n }\n return { width: legend_width, height: legend_height };\n };\n ColorBarView.prototype.compute_legend_location = function () {\n var legend_dimensions = this.compute_legend_dimensions();\n var _a = [legend_dimensions.height, legend_dimensions.width], legend_height = _a[0], legend_width = _a[1];\n var legend_margin = this.model.margin;\n var panel = this.panel != null ? this.panel : this.plot_view.frame;\n var _b = panel.bbox.ranges, hr = _b[0], vr = _b[1];\n var location = this.model.location;\n var sx, sy;\n if (types_1.isString(location)) {\n switch (location) {\n case 'top_left':\n sx = hr.start + legend_margin;\n sy = vr.start + legend_margin;\n break;\n case 'top_center':\n sx = (hr.end + hr.start) / 2 - legend_width / 2;\n sy = vr.start + legend_margin;\n break;\n case 'top_right':\n sx = hr.end - legend_margin - legend_width;\n sy = vr.start + legend_margin;\n break;\n case 'bottom_right':\n sx = hr.end - legend_margin - legend_width;\n sy = vr.end - legend_margin - legend_height;\n break;\n case 'bottom_center':\n sx = (hr.end + hr.start) / 2 - legend_width / 2;\n sy = vr.end - legend_margin - legend_height;\n break;\n case 'bottom_left':\n sx = hr.start + legend_margin;\n sy = vr.end - legend_margin - legend_height;\n break;\n case 'center_left':\n sx = hr.start + legend_margin;\n sy = (vr.end + vr.start) / 2 - legend_height / 2;\n break;\n case 'center':\n sx = (hr.end + hr.start) / 2 - legend_width / 2;\n sy = (vr.end + vr.start) / 2 - legend_height / 2;\n break;\n case 'center_right':\n sx = hr.end - legend_margin - legend_width;\n sy = (vr.end + vr.start) / 2 - legend_height / 2;\n break;\n default:\n throw new Error(\"unreachable code\");\n }\n }\n else if (types_1.isArray(location) && location.length == 2) {\n var vx = location[0], vy = location[1];\n sx = panel.xview.compute(vx);\n sy = panel.yview.compute(vy) - legend_height;\n }\n else\n throw new Error(\"unreachable code\");\n return { sx: sx, sy: sy };\n };\n ColorBarView.prototype.render = function () {\n if (!this.model.visible || this.model.color_mapper == null)\n return;\n var ctx = this.plot_view.canvas_view.ctx;\n ctx.save();\n var _a = this.compute_legend_location(), sx = _a.sx, sy = _a.sy;\n ctx.translate(sx, sy);\n this._draw_bbox(ctx);\n var image_offset = this._get_image_offset();\n ctx.translate(image_offset.x, image_offset.y);\n this._draw_image(ctx);\n if (this.model.color_mapper.low != null && this.model.color_mapper.high != null) {\n var tick_info = this.tick_info();\n this._draw_major_ticks(ctx, tick_info);\n this._draw_minor_ticks(ctx, tick_info);\n this._draw_major_labels(ctx, tick_info);\n }\n if (this.model.title)\n this._draw_title(ctx);\n ctx.restore();\n };\n ColorBarView.prototype._draw_bbox = function (ctx) {\n var bbox = this.compute_legend_dimensions();\n ctx.save();\n if (this.visuals.background_fill.doit) {\n this.visuals.background_fill.set_value(ctx);\n ctx.fillRect(0, 0, bbox.width, bbox.height);\n }\n if (this.visuals.border_line.doit) {\n this.visuals.border_line.set_value(ctx);\n ctx.strokeRect(0, 0, bbox.width, bbox.height);\n }\n ctx.restore();\n };\n ColorBarView.prototype._draw_image = function (ctx) {\n var image = this._computed_image_dimensions();\n ctx.save();\n ctx.setImageSmoothingEnabled(false);\n ctx.globalAlpha = this.model.scale_alpha;\n ctx.drawImage(this.image, 0, 0, image.width, image.height);\n if (this.visuals.bar_line.doit) {\n this.visuals.bar_line.set_value(ctx);\n ctx.strokeRect(0, 0, image.width, image.height);\n }\n ctx.restore();\n };\n ColorBarView.prototype._draw_major_ticks = function (ctx, tick_info) {\n if (!this.visuals.major_tick_line.doit)\n return;\n var _a = this._normals(), nx = _a[0], ny = _a[1];\n var image = this._computed_image_dimensions();\n var _b = [image.width * nx, image.height * ny], x_offset = _b[0], y_offset = _b[1];\n var _c = tick_info.coords.major, sx = _c[0], sy = _c[1];\n var tin = this.model.major_tick_in;\n var tout = this.model.major_tick_out;\n ctx.save();\n ctx.translate(x_offset, y_offset);\n this.visuals.major_tick_line.set_value(ctx);\n for (var i = 0, end = sx.length; i < end; i++) {\n ctx.beginPath();\n ctx.moveTo(Math.round(sx[i] + nx * tout), Math.round(sy[i] + ny * tout));\n ctx.lineTo(Math.round(sx[i] - nx * tin), Math.round(sy[i] - ny * tin));\n ctx.stroke();\n }\n ctx.restore();\n };\n ColorBarView.prototype._draw_minor_ticks = function (ctx, tick_info) {\n if (!this.visuals.minor_tick_line.doit)\n return;\n var _a = this._normals(), nx = _a[0], ny = _a[1];\n var image = this._computed_image_dimensions();\n var _b = [image.width * nx, image.height * ny], x_offset = _b[0], y_offset = _b[1];\n var _c = tick_info.coords.minor, sx = _c[0], sy = _c[1];\n var tin = this.model.minor_tick_in;\n var tout = this.model.minor_tick_out;\n ctx.save();\n ctx.translate(x_offset, y_offset);\n this.visuals.minor_tick_line.set_value(ctx);\n for (var i = 0, end = sx.length; i < end; i++) {\n ctx.beginPath();\n ctx.moveTo(Math.round(sx[i] + nx * tout), Math.round(sy[i] + ny * tout));\n ctx.lineTo(Math.round(sx[i] - nx * tin), Math.round(sy[i] - ny * tin));\n ctx.stroke();\n }\n ctx.restore();\n };\n ColorBarView.prototype._draw_major_labels = function (ctx, tick_info) {\n if (!this.visuals.major_label_text.doit)\n return;\n var _a = this._normals(), nx = _a[0], ny = _a[1];\n var image = this._computed_image_dimensions();\n var _b = [image.width * nx, image.height * ny], x_offset = _b[0], y_offset = _b[1];\n var standoff = (this.model.label_standoff + this._tick_extent());\n var _c = [standoff * nx, standoff * ny], x_standoff = _c[0], y_standoff = _c[1];\n var _d = tick_info.coords.major, sx = _d[0], sy = _d[1];\n var formatted_labels = tick_info.labels.major;\n this.visuals.major_label_text.set_value(ctx);\n ctx.save();\n ctx.translate(x_offset + x_standoff, y_offset + y_standoff);\n for (var i = 0, end = sx.length; i < end; i++) {\n ctx.fillText(formatted_labels[i], Math.round(sx[i] + nx * this.model.label_standoff), Math.round(sy[i] + ny * this.model.label_standoff));\n }\n ctx.restore();\n };\n ColorBarView.prototype._draw_title = function (ctx) {\n if (!this.visuals.title_text.doit)\n return;\n ctx.save();\n this.visuals.title_text.set_value(ctx);\n ctx.fillText(this.model.title, 0, -this.model.title_standoff);\n ctx.restore();\n };\n /*protected*/ ColorBarView.prototype._get_label_extent = function () {\n var major_labels = this.tick_info().labels.major;\n var label_extent;\n if (this.model.color_mapper.low != null && this.model.color_mapper.high != null && !object_1.isEmpty(major_labels)) {\n var ctx_1 = this.plot_view.canvas_view.ctx;\n ctx_1.save();\n this.visuals.major_label_text.set_value(ctx_1);\n switch (this.model.orientation) {\n case \"vertical\":\n label_extent = array_1.max((major_labels.map(function (label) { return ctx_1.measureText(label.toString()).width; })));\n break;\n case \"horizontal\":\n label_extent = text_util.measure_font(this.visuals.major_label_text.font_value()).height;\n break;\n default:\n throw new Error(\"unreachable code\");\n }\n label_extent += this.model.label_standoff;\n ctx_1.restore();\n }\n else\n label_extent = 0;\n return label_extent;\n };\n /*protected*/ ColorBarView.prototype._get_image_offset = function () {\n // Returns image offset relative to legend bounding box\n var x = this.model.padding;\n var y = this.model.padding + this._title_extent();\n return { x: x, y: y };\n };\n // {{{ TODO: state\n ColorBarView.prototype._normals = function () {\n return this.model.orientation == 'vertical' ? [1, 0] : [0, 1];\n };\n ColorBarView.prototype._title_extent = function () {\n var font_value = this.model.title_text_font + \" \" + this.model.title_text_font_size + \" \" + this.model.title_text_font_style;\n var title_extent = this.model.title ? text_util.measure_font(font_value).height + this.model.title_standoff : 0;\n return title_extent;\n };\n ColorBarView.prototype._tick_extent = function () {\n if (this.model.color_mapper.low != null && this.model.color_mapper.high != null)\n return array_1.max([this.model.major_tick_out, this.model.minor_tick_out]);\n else\n return 0;\n };\n ColorBarView.prototype._computed_image_dimensions = function () {\n /*\n Heuristics to determine ColorBar image dimensions if set to \"auto\"\n \n Note: Returns the height/width values for the ColorBar's scale image, not\n the dimensions of the entire ColorBar.\n \n If the short dimension (the width of a vertical bar or height of a\n horizontal bar) is set to \"auto\", the resulting dimension will be set to\n 25 px.\n \n For a ColorBar in a side panel with the long dimension (the height of a\n vertical bar or width of a horizontal bar) set to \"auto\", the\n resulting dimension will be as long as the adjacent frame edge, so that the\n bar \"fits\" to the plot.\n \n For a ColorBar in the plot frame with the long dimension set to \"auto\", the\n resulting dimension will be the greater of:\n * The length of the color palette * 25px\n * The parallel frame dimension * 0.30\n (i.e the frame height for a vertical ColorBar)\n But not greater than:\n * The parallel frame dimension * 0.80\n */\n var frame_height = this.plot_view.frame._height.value;\n var frame_width = this.plot_view.frame._width.value;\n var title_extent = this._title_extent();\n var height, width;\n switch (this.model.orientation) {\n case \"vertical\": {\n if (this.model.height == 'auto') {\n if (this.panel != null)\n height = frame_height - 2 * this.model.padding - title_extent;\n else {\n height = array_1.max([this.model.color_mapper.palette.length * SHORT_DIM, frame_height * LONG_DIM_MIN_SCALAR]);\n height = array_1.min([height, frame_height * LONG_DIM_MAX_SCALAR - 2 * this.model.padding - title_extent]);\n }\n }\n else\n height = this.model.height;\n width = this.model.width == 'auto' ? SHORT_DIM : this.model.width;\n break;\n }\n case \"horizontal\": {\n height = this.model.height == 'auto' ? SHORT_DIM : this.model.height;\n if (this.model.width == 'auto') {\n if (this.panel != null)\n width = frame_width - 2 * this.model.padding;\n else {\n width = array_1.max([this.model.color_mapper.palette.length * SHORT_DIM, frame_width * LONG_DIM_MIN_SCALAR]);\n width = array_1.min([width, frame_width * LONG_DIM_MAX_SCALAR - 2 * this.model.padding]);\n }\n }\n else\n width = this.model.width;\n break;\n }\n default:\n throw new Error(\"unreachable code\");\n }\n return { width: width, height: height };\n };\n /*protected*/ ColorBarView.prototype._tick_coordinate_scale = function (scale_length) {\n /*\n Creates and returns a scale instance that maps the `color_mapper` range\n (low to high) to a screen space range equal to the length of the ColorBar's\n scale image. The scale is used to calculate the tick coordinates in screen\n coordinates for plotting purposes.\n \n Note: the type of color_mapper has to match the type of scale (i.e.\n a LinearColorMapper will require a corresponding LinearScale instance).\n */\n var ranges = {\n source_range: new range1d_1.Range1d({\n start: this.model.color_mapper.low,\n end: this.model.color_mapper.high,\n }),\n target_range: new range1d_1.Range1d({\n start: 0,\n end: scale_length,\n }),\n };\n switch (this.model.color_mapper.type) {\n case \"LinearColorMapper\": return new linear_scale_1.LinearScale(ranges);\n case \"LogColorMapper\": return new log_scale_1.LogScale(ranges);\n default:\n throw new Error(\"unreachable code\");\n }\n };\n ColorBarView.prototype._format_major_labels = function (initial_labels, major_ticks) {\n // XXX: passing null as cross_loc probably means MercatorTickFormatters, etc\n // will not function properly in conjunction with colorbars\n var formatted_labels = this.model.formatter.doFormat(initial_labels, null);\n for (var i = 0, end = major_ticks.length; i < end; i++) {\n if (major_ticks[i] in this.model.major_label_overrides)\n formatted_labels[i] = this.model.major_label_overrides[major_ticks[i]];\n }\n return formatted_labels;\n };\n ColorBarView.prototype.tick_info = function () {\n var image_dimensions = this._computed_image_dimensions();\n var scale_length;\n switch (this.model.orientation) {\n case \"vertical\": {\n scale_length = image_dimensions.height;\n break;\n }\n case \"horizontal\": {\n scale_length = image_dimensions.width;\n break;\n }\n default:\n throw new Error(\"unreachable code\");\n }\n var scale = this._tick_coordinate_scale(scale_length);\n var _a = this._normals(), i = _a[0], j = _a[1];\n var _b = [this.model.color_mapper.low, this.model.color_mapper.high], start = _b[0], end = _b[1];\n // XXX: passing null as cross_loc probably means MercatorTickers, etc\n // will not function properly in conjunction with colorbars\n var ticks = this.model.ticker.get_ticks(start, end, null, null, this.model.ticker.desired_num_ticks);\n var majors = ticks.major;\n var minors = ticks.minor;\n var major_coords = [[], []];\n var minor_coords = [[], []];\n for (var ii = 0, _end = majors.length; ii < _end; ii++) {\n if (majors[ii] < start || majors[ii] > end)\n continue;\n major_coords[i].push(majors[ii]);\n major_coords[j].push(0);\n }\n for (var ii = 0, _end = minors.length; ii < _end; ii++) {\n if (minors[ii] < start || minors[ii] > end)\n continue;\n minor_coords[i].push(minors[ii]);\n minor_coords[j].push(0);\n }\n var labels = { major: this._format_major_labels(major_coords[i], majors) };\n var coords = {\n major: [[], []],\n minor: [[], []],\n };\n coords.major[i] = scale.v_compute(major_coords[i]);\n coords.minor[i] = scale.v_compute(minor_coords[i]);\n coords.major[j] = major_coords[j];\n coords.minor[j] = minor_coords[j];\n // Because we want the scale to be reversed\n if (this.model.orientation == 'vertical') {\n coords.major[i] = arrayable_1.map(coords.major[i], function (coord) { return scale_length - coord; });\n coords.minor[i] = arrayable_1.map(coords.minor[i], function (coord) { return scale_length - coord; });\n }\n return { coords: coords, labels: labels };\n };\n return ColorBarView;\n }(annotation_1.AnnotationView));\n exports.ColorBarView = ColorBarView;\n var ColorBar = /** @class */ (function (_super) {\n tslib_1.__extends(ColorBar, _super);\n function ColorBar(attrs) {\n return _super.call(this, attrs) || this;\n }\n ColorBar.initClass = function () {\n this.prototype.type = 'ColorBar';\n this.prototype.default_view = ColorBarView;\n this.mixins([\n 'text:major_label_',\n 'text:title_',\n 'line:major_tick_',\n 'line:minor_tick_',\n 'line:border_',\n 'line:bar_',\n 'fill:background_',\n ]);\n this.define({\n location: [p.Any, 'top_right'],\n orientation: [p.Orientation, 'vertical'],\n title: [p.String,],\n title_standoff: [p.Number, 2],\n width: [p.Any, 'auto'],\n height: [p.Any, 'auto'],\n scale_alpha: [p.Number, 1.0],\n ticker: [p.Instance, function () { return new basic_ticker_1.BasicTicker(); }],\n formatter: [p.Instance, function () { return new basic_tick_formatter_1.BasicTickFormatter(); }],\n major_label_overrides: [p.Any, {}],\n color_mapper: [p.Instance],\n label_standoff: [p.Number, 5],\n margin: [p.Number, 30],\n padding: [p.Number, 10],\n major_tick_in: [p.Number, 5],\n major_tick_out: [p.Number, 0],\n minor_tick_in: [p.Number, 0],\n minor_tick_out: [p.Number, 0],\n });\n this.override({\n background_fill_color: \"#ffffff\",\n background_fill_alpha: 0.95,\n bar_line_color: null,\n border_line_color: null,\n major_label_text_align: \"center\",\n major_label_text_baseline: \"middle\",\n major_label_text_font_size: \"8pt\",\n major_tick_line_color: \"#ffffff\",\n minor_tick_line_color: null,\n title_text_font_size: \"10pt\",\n title_text_font_style: \"italic\",\n });\n };\n return ColorBar;\n }(annotation_1.Annotation));\n exports.ColorBar = ColorBar;\n ColorBar.initClass();\n}\n","/* models/annotations/index */ function _(require, module, exports) {\n var annotation_1 = require(63) /* ./annotation */;\n exports.Annotation = annotation_1.Annotation;\n var arrow_1 = require(64) /* ./arrow */;\n exports.Arrow = arrow_1.Arrow;\n var arrow_head_1 = require(65) /* ./arrow_head */;\n exports.ArrowHead = arrow_head_1.ArrowHead;\n var arrow_head_2 = require(65) /* ./arrow_head */;\n exports.OpenHead = arrow_head_2.OpenHead;\n var arrow_head_3 = require(65) /* ./arrow_head */;\n exports.NormalHead = arrow_head_3.NormalHead;\n var arrow_head_4 = require(65) /* ./arrow_head */;\n exports.TeeHead = arrow_head_4.TeeHead;\n var arrow_head_5 = require(65) /* ./arrow_head */;\n exports.VeeHead = arrow_head_5.VeeHead;\n var band_1 = require(66) /* ./band */;\n exports.Band = band_1.Band;\n var box_annotation_1 = require(67) /* ./box_annotation */;\n exports.BoxAnnotation = box_annotation_1.BoxAnnotation;\n var color_bar_1 = require(68) /* ./color_bar */;\n exports.ColorBar = color_bar_1.ColorBar;\n var label_1 = require(70) /* ./label */;\n exports.Label = label_1.Label;\n var label_set_1 = require(71) /* ./label_set */;\n exports.LabelSet = label_set_1.LabelSet;\n var legend_1 = require(72) /* ./legend */;\n exports.Legend = legend_1.Legend;\n var legend_item_1 = require(73) /* ./legend_item */;\n exports.LegendItem = legend_item_1.LegendItem;\n var poly_annotation_1 = require(74) /* ./poly_annotation */;\n exports.PolyAnnotation = poly_annotation_1.PolyAnnotation;\n var slope_1 = require(75) /* ./slope */;\n exports.Slope = slope_1.Slope;\n var span_1 = require(76) /* ./span */;\n exports.Span = span_1.Span;\n var text_annotation_1 = require(77) /* ./text_annotation */;\n exports.TextAnnotation = text_annotation_1.TextAnnotation;\n var title_1 = require(78) /* ./title */;\n exports.Title = title_1.Title;\n var toolbar_panel_1 = require(79) /* ./toolbar_panel */;\n exports.ToolbarPanel = toolbar_panel_1.ToolbarPanel;\n var tooltip_1 = require(80) /* ./tooltip */;\n exports.Tooltip = tooltip_1.Tooltip;\n var whisker_1 = require(81) /* ./whisker */;\n exports.Whisker = whisker_1.Whisker;\n}\n","/* models/annotations/label */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var text_annotation_1 = require(77) /* ./text_annotation */;\n var dom_1 = require(5) /* ../../core/dom */;\n var p = require(18) /* ../../core/properties */;\n var LabelView = /** @class */ (function (_super) {\n tslib_1.__extends(LabelView, _super);\n function LabelView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LabelView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.visuals.warm_cache();\n };\n LabelView.prototype._get_size = function () {\n var ctx = this.plot_view.canvas_view.ctx;\n this.visuals.text.set_value(ctx);\n var _a = ctx.measureText(this.model.text), width = _a.width, ascent = _a.ascent;\n return { width: width, height: ascent };\n };\n LabelView.prototype.render = function () {\n if (!this.model.visible && this.model.render_mode == 'css')\n dom_1.undisplay(this.el);\n if (!this.model.visible)\n return;\n // Here because AngleSpec does units tranform and label doesn't support specs\n var angle;\n switch (this.model.angle_units) {\n case \"rad\": {\n angle = -this.model.angle;\n break;\n }\n case \"deg\": {\n angle = (-this.model.angle * Math.PI) / 180.0;\n break;\n }\n default:\n throw new Error(\"unreachable code\");\n }\n var panel = this.panel != null ? this.panel : this.plot_view.frame;\n var xscale = this.plot_view.frame.xscales[this.model.x_range_name];\n var yscale = this.plot_view.frame.yscales[this.model.y_range_name];\n var sx = this.model.x_units == \"data\" ? xscale.compute(this.model.x) : panel.xview.compute(this.model.x);\n var sy = this.model.y_units == \"data\" ? yscale.compute(this.model.y) : panel.yview.compute(this.model.y);\n sx += this.model.x_offset;\n sy -= this.model.y_offset;\n var draw = this.model.render_mode == 'canvas' ? this._canvas_text.bind(this) : this._css_text.bind(this);\n draw(this.plot_view.canvas_view.ctx, this.model.text, sx, sy, angle);\n };\n return LabelView;\n }(text_annotation_1.TextAnnotationView));\n exports.LabelView = LabelView;\n var Label = /** @class */ (function (_super) {\n tslib_1.__extends(Label, _super);\n function Label(attrs) {\n return _super.call(this, attrs) || this;\n }\n Label.initClass = function () {\n this.prototype.type = 'Label';\n this.prototype.default_view = LabelView;\n this.mixins(['text', 'line:border_', 'fill:background_']);\n this.define({\n x: [p.Number,],\n x_units: [p.SpatialUnits, 'data'],\n y: [p.Number,],\n y_units: [p.SpatialUnits, 'data'],\n text: [p.String,],\n angle: [p.Angle, 0],\n angle_units: [p.AngleUnits, 'rad'],\n x_offset: [p.Number, 0],\n y_offset: [p.Number, 0],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n this.override({\n background_fill_color: null,\n border_line_color: null,\n });\n };\n return Label;\n }(text_annotation_1.TextAnnotation));\n exports.Label = Label;\n Label.initClass();\n}\n","/* models/annotations/label_set */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var text_annotation_1 = require(77) /* ./text_annotation */;\n var column_data_source_1 = require(212) /* ../sources/column_data_source */;\n var dom_1 = require(5) /* ../../core/dom */;\n var p = require(18) /* ../../core/properties */;\n var LabelSetView = /** @class */ (function (_super) {\n tslib_1.__extends(LabelSetView, _super);\n function LabelSetView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LabelSetView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.set_data(this.model.source);\n if (this.model.render_mode == 'css') {\n for (var i = 0, end = this._text.length; i < end; i++) {\n var el = dom_1.div({ class: 'bk-annotation-child', style: { display: \"none\" } });\n this.el.appendChild(el);\n }\n }\n };\n LabelSetView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n if (this.model.render_mode == 'css') {\n // dispatch CSS update immediately\n this.connect(this.model.change, function () {\n _this.set_data(_this.model.source);\n _this.render();\n });\n this.connect(this.model.source.streaming, function () {\n _this.set_data(_this.model.source);\n _this.render();\n });\n this.connect(this.model.source.patching, function () {\n _this.set_data(_this.model.source);\n _this.render();\n });\n this.connect(this.model.source.change, function () {\n _this.set_data(_this.model.source);\n _this.render();\n });\n }\n else {\n this.connect(this.model.change, function () {\n _this.set_data(_this.model.source);\n _this.plot_view.request_render();\n });\n this.connect(this.model.source.streaming, function () {\n _this.set_data(_this.model.source);\n _this.plot_view.request_render();\n });\n this.connect(this.model.source.patching, function () {\n _this.set_data(_this.model.source);\n _this.plot_view.request_render();\n });\n this.connect(this.model.source.change, function () {\n _this.set_data(_this.model.source);\n _this.plot_view.request_render();\n });\n }\n };\n LabelSetView.prototype.set_data = function (source) {\n _super.prototype.set_data.call(this, source);\n this.visuals.warm_cache(source);\n };\n LabelSetView.prototype._map_data = function () {\n var xscale = this.plot_view.frame.xscales[this.model.x_range_name];\n var yscale = this.plot_view.frame.yscales[this.model.y_range_name];\n var panel = this.panel != null ? this.panel : this.plot_view.frame;\n var sx = this.model.x_units == \"data\" ? xscale.v_compute(this._x) : panel.xview.v_compute(this._x);\n var sy = this.model.y_units == \"data\" ? yscale.v_compute(this._y) : panel.yview.v_compute(this._y);\n return [sx, sy];\n };\n LabelSetView.prototype.render = function () {\n if (!this.model.visible && this.model.render_mode == 'css')\n dom_1.undisplay(this.el);\n if (!this.model.visible)\n return;\n var draw = this.model.render_mode == 'canvas' ? this._v_canvas_text.bind(this) : this._v_css_text.bind(this);\n var ctx = this.plot_view.canvas_view.ctx;\n var _a = this._map_data(), sx = _a[0], sy = _a[1];\n for (var i = 0, end = this._text.length; i < end; i++) {\n draw(ctx, i, this._text[i], sx[i] + this._x_offset[i], sy[i] - this._y_offset[i], this._angle[i]);\n }\n };\n LabelSetView.prototype._get_size = function () {\n var ctx = this.plot_view.canvas_view.ctx;\n this.visuals.text.set_value(ctx);\n var _a = ctx.measureText(this._text[0]), width = _a.width, ascent = _a.ascent;\n return { width: width, height: ascent };\n };\n LabelSetView.prototype._v_canvas_text = function (ctx, i, text, sx, sy, angle) {\n this.visuals.text.set_vectorize(ctx, i);\n var bbox_dims = this._calculate_bounding_box_dimensions(ctx, text);\n ctx.save();\n ctx.beginPath();\n ctx.translate(sx, sy);\n ctx.rotate(angle);\n ctx.rect(bbox_dims[0], bbox_dims[1], bbox_dims[2], bbox_dims[3]);\n if (this.visuals.background_fill.doit) {\n this.visuals.background_fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (this.visuals.border_line.doit) {\n this.visuals.border_line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n if (this.visuals.text.doit) {\n this.visuals.text.set_vectorize(ctx, i);\n ctx.fillText(text, 0, 0);\n }\n ctx.restore();\n };\n LabelSetView.prototype._v_css_text = function (ctx, i, text, sx, sy, angle) {\n var el = this.el.children[i];\n el.textContent = text;\n this.visuals.text.set_vectorize(ctx, i);\n var bbox_dims = this._calculate_bounding_box_dimensions(ctx, text);\n // attempt to support vector-style (\"8 4 8\") line dashing for css mode\n var ld = this.visuals.border_line.line_dash.value();\n var line_dash = ld.length < 2 ? \"solid\" : \"dashed\";\n this.visuals.border_line.set_vectorize(ctx, i);\n this.visuals.background_fill.set_vectorize(ctx, i);\n el.style.position = 'absolute';\n el.style.left = sx + bbox_dims[0] + \"px\";\n el.style.top = sy + bbox_dims[1] + \"px\";\n el.style.color = \"\" + this.visuals.text.text_color.value();\n el.style.opacity = \"\" + this.visuals.text.text_alpha.value();\n el.style.font = \"\" + this.visuals.text.font_value();\n el.style.lineHeight = \"normal\"; // needed to prevent ipynb css override\n if (angle) {\n el.style.transform = \"rotate(\" + angle + \"rad)\";\n }\n if (this.visuals.background_fill.doit) {\n el.style.backgroundColor = \"\" + this.visuals.background_fill.color_value();\n }\n if (this.visuals.border_line.doit) {\n el.style.borderStyle = \"\" + line_dash;\n el.style.borderWidth = this.visuals.border_line.line_width.value() + \"px\";\n el.style.borderColor = \"\" + this.visuals.border_line.color_value();\n }\n dom_1.display(el);\n };\n return LabelSetView;\n }(text_annotation_1.TextAnnotationView));\n exports.LabelSetView = LabelSetView;\n var LabelSet = /** @class */ (function (_super) {\n tslib_1.__extends(LabelSet, _super);\n function LabelSet(attrs) {\n return _super.call(this, attrs) || this;\n }\n LabelSet.initClass = function () {\n this.prototype.type = 'LabelSet';\n this.prototype.default_view = LabelSetView;\n this.mixins(['text', 'line:border_', 'fill:background_']);\n this.define({\n x: [p.NumberSpec],\n y: [p.NumberSpec],\n x_units: [p.SpatialUnits, 'data'],\n y_units: [p.SpatialUnits, 'data'],\n text: [p.StringSpec, { field: \"text\" }],\n angle: [p.AngleSpec, 0],\n x_offset: [p.NumberSpec, { value: 0 }],\n y_offset: [p.NumberSpec, { value: 0 }],\n source: [p.Instance, function () { return new column_data_source_1.ColumnDataSource(); }],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n this.override({\n background_fill_color: null,\n border_line_color: null,\n });\n };\n return LabelSet;\n }(text_annotation_1.TextAnnotation));\n exports.LabelSet = LabelSet;\n LabelSet.initClass();\n}\n","/* models/annotations/legend */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var p = require(18) /* ../../core/properties */;\n var signaling_1 = require(22) /* ../../core/signaling */;\n var text_1 = require(43) /* ../../core/util/text */;\n var bbox_1 = require(27) /* ../../core/util/bbox */;\n var array_1 = require(24) /* ../../core/util/array */;\n var object_1 = require(35) /* ../../core/util/object */;\n var types_1 = require(46) /* ../../core/util/types */;\n var LegendView = /** @class */ (function (_super) {\n tslib_1.__extends(LegendView, _super);\n function LegendView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LegendView.prototype.cursor = function (_sx, _sy) {\n return this.model.click_policy == \"none\" ? null : \"pointer\";\n };\n Object.defineProperty(LegendView.prototype, \"legend_padding\", {\n get: function () {\n return this.visuals.border_line.line_color.value() != null ? this.model.padding : 0;\n },\n enumerable: true,\n configurable: true\n });\n LegendView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.change, function () { return _this.plot_view.request_render(); });\n this.connect(this.model.item_change, function () { return _this.plot_view.request_render(); });\n };\n LegendView.prototype.compute_legend_bbox = function () {\n var legend_names = this.model.get_legend_names();\n var _a = this.model, glyph_height = _a.glyph_height, glyph_width = _a.glyph_width;\n var _b = this.model, label_height = _b.label_height, label_width = _b.label_width;\n this.max_label_height = array_1.max([text_1.measure_font(this.visuals.label_text.font_value()).height, label_height, glyph_height]);\n // this is to measure text properties\n var ctx = this.plot_view.canvas_view.ctx;\n ctx.save();\n this.visuals.label_text.set_value(ctx);\n this.text_widths = {};\n for (var _i = 0, legend_names_1 = legend_names; _i < legend_names_1.length; _i++) {\n var name_1 = legend_names_1[_i];\n this.text_widths[name_1] = array_1.max([ctx.measureText(name_1).width, label_width]);\n }\n this.visuals.title_text.set_value(ctx);\n this.title_height = this.model.title ? text_1.measure_font(this.visuals.title_text.font_value()).height + this.model.title_standoff : 0;\n this.title_width = this.model.title ? ctx.measureText(this.model.title).width : 0;\n ctx.restore();\n var max_label_width = Math.max(array_1.max(object_1.values(this.text_widths)), 0);\n var legend_margin = this.model.margin;\n var legend_padding = this.legend_padding;\n var legend_spacing = this.model.spacing;\n var label_standoff = this.model.label_standoff;\n var legend_height, legend_width;\n if (this.model.orientation == \"vertical\") {\n legend_height = legend_names.length * this.max_label_height + Math.max(legend_names.length - 1, 0) * legend_spacing + 2 * legend_padding + this.title_height;\n legend_width = array_1.max([(max_label_width + glyph_width + label_standoff + 2 * legend_padding), this.title_width + 2 * legend_padding]);\n }\n else {\n var item_width = 2 * legend_padding + Math.max(legend_names.length - 1, 0) * legend_spacing;\n for (var name_2 in this.text_widths) {\n var width = this.text_widths[name_2];\n item_width += array_1.max([width, label_width]) + glyph_width + label_standoff;\n }\n legend_width = array_1.max([this.title_width + 2 * legend_padding, item_width]);\n legend_height = this.max_label_height + this.title_height + 2 * legend_padding;\n }\n var panel = this.panel != null ? this.panel : this.plot_view.frame;\n var _c = panel.bbox.ranges, hr = _c[0], vr = _c[1];\n var location = this.model.location;\n var sx, sy;\n if (types_1.isString(location)) {\n switch (location) {\n case 'top_left':\n sx = hr.start + legend_margin;\n sy = vr.start + legend_margin;\n break;\n case 'top_center':\n sx = (hr.end + hr.start) / 2 - legend_width / 2;\n sy = vr.start + legend_margin;\n break;\n case 'top_right':\n sx = hr.end - legend_margin - legend_width;\n sy = vr.start + legend_margin;\n break;\n case 'bottom_right':\n sx = hr.end - legend_margin - legend_width;\n sy = vr.end - legend_margin - legend_height;\n break;\n case 'bottom_center':\n sx = (hr.end + hr.start) / 2 - legend_width / 2;\n sy = vr.end - legend_margin - legend_height;\n break;\n case 'bottom_left':\n sx = hr.start + legend_margin;\n sy = vr.end - legend_margin - legend_height;\n break;\n case 'center_left':\n sx = hr.start + legend_margin;\n sy = (vr.end + vr.start) / 2 - legend_height / 2;\n break;\n case 'center':\n sx = (hr.end + hr.start) / 2 - legend_width / 2;\n sy = (vr.end + vr.start) / 2 - legend_height / 2;\n break;\n case 'center_right':\n sx = hr.end - legend_margin - legend_width;\n sy = (vr.end + vr.start) / 2 - legend_height / 2;\n break;\n default:\n throw new Error(\"unreachable code\");\n }\n }\n else if (types_1.isArray(location) && location.length == 2) {\n var vx = location[0], vy = location[1];\n sx = panel.xview.compute(vx);\n sy = panel.yview.compute(vy) - legend_height;\n }\n else\n throw new Error(\"unreachable code\");\n return new bbox_1.BBox({ left: sx, top: sy, width: legend_width, height: legend_height });\n };\n LegendView.prototype.interactive_bbox = function () {\n return this.compute_legend_bbox();\n };\n LegendView.prototype.interactive_hit = function (sx, sy) {\n var bbox = this.interactive_bbox();\n return bbox.contains(sx, sy);\n };\n LegendView.prototype.on_hit = function (sx, sy) {\n var _a, _b;\n var yoffset;\n var glyph_width = this.model.glyph_width;\n var legend_padding = this.legend_padding;\n var legend_spacing = this.model.spacing;\n var label_standoff = this.model.label_standoff;\n var xoffset = (yoffset = legend_padding);\n var legend_bbox = this.compute_legend_bbox();\n var vertical = this.model.orientation == \"vertical\";\n for (var _i = 0, _c = this.model.items; _i < _c.length; _i++) {\n var item = _c[_i];\n var labels = item.get_labels_list_from_label_prop();\n for (var _d = 0, labels_1 = labels; _d < labels_1.length; _d++) {\n var label = labels_1[_d];\n var x1 = legend_bbox.x + xoffset;\n var y1 = legend_bbox.y + yoffset + this.title_height;\n var w = void 0, h = void 0;\n if (vertical)\n _a = [legend_bbox.width - 2 * legend_padding, this.max_label_height], w = _a[0], h = _a[1];\n else\n _b = [this.text_widths[label] + glyph_width + label_standoff, this.max_label_height], w = _b[0], h = _b[1];\n var bbox = new bbox_1.BBox({ left: x1, top: y1, width: w, height: h });\n if (bbox.contains(sx, sy)) {\n switch (this.model.click_policy) {\n case \"hide\": {\n for (var _e = 0, _f = item.renderers; _e < _f.length; _e++) {\n var r = _f[_e];\n r.visible = !r.visible;\n }\n break;\n }\n case \"mute\": {\n for (var _g = 0, _h = item.renderers; _g < _h.length; _g++) {\n var r = _h[_g];\n r.muted = !r.muted;\n }\n break;\n }\n }\n return true;\n }\n if (vertical)\n yoffset += this.max_label_height + legend_spacing;\n else\n xoffset += this.text_widths[label] + glyph_width + label_standoff + legend_spacing;\n }\n }\n return false;\n };\n LegendView.prototype.render = function () {\n if (!this.model.visible)\n return;\n if (this.model.items.length == 0)\n return;\n // set a backref on render so that items can later signal item_change upates\n // on the model to trigger a re-render\n for (var _i = 0, _a = this.model.items; _i < _a.length; _i++) {\n var item = _a[_i];\n item.legend = this.model;\n }\n var ctx = this.plot_view.canvas_view.ctx;\n var bbox = this.compute_legend_bbox();\n ctx.save();\n this._draw_legend_box(ctx, bbox);\n this._draw_legend_items(ctx, bbox);\n if (this.model.title)\n this._draw_title(ctx, bbox);\n ctx.restore();\n };\n LegendView.prototype._draw_legend_box = function (ctx, bbox) {\n ctx.beginPath();\n ctx.rect(bbox.x, bbox.y, bbox.width, bbox.height);\n this.visuals.background_fill.set_value(ctx);\n ctx.fill();\n if (this.visuals.border_line.doit) {\n this.visuals.border_line.set_value(ctx);\n ctx.stroke();\n }\n };\n LegendView.prototype._draw_legend_items = function (ctx, bbox) {\n var _this = this;\n var _a = this.model, glyph_width = _a.glyph_width, glyph_height = _a.glyph_height;\n var legend_padding = this.legend_padding;\n var legend_spacing = this.model.spacing;\n var label_standoff = this.model.label_standoff;\n var xoffset = legend_padding;\n var yoffset = legend_padding;\n var vertical = this.model.orientation == \"vertical\";\n var _loop_1 = function (item) {\n var _a, _b;\n var labels = item.get_labels_list_from_label_prop();\n var field = item.get_field_from_label_prop();\n if (labels.length == 0)\n return \"continue\";\n var active = (function () {\n switch (_this.model.click_policy) {\n case \"none\": return true;\n case \"hide\": return array_1.every(item.renderers, function (r) { return r.visible; });\n case \"mute\": return array_1.every(item.renderers, function (r) { return !r.muted; });\n }\n })();\n for (var _i = 0, labels_2 = labels; _i < labels_2.length; _i++) {\n var label = labels_2[_i];\n var x1 = bbox.x + xoffset;\n var y1 = bbox.y + yoffset + this_1.title_height;\n var x2 = x1 + glyph_width;\n var y2 = y1 + glyph_height;\n if (vertical)\n yoffset += this_1.max_label_height + legend_spacing;\n else\n xoffset += this_1.text_widths[label] + glyph_width + label_standoff + legend_spacing;\n this_1.visuals.label_text.set_value(ctx);\n ctx.fillText(label, x2 + label_standoff, y1 + this_1.max_label_height / 2.0);\n for (var _c = 0, _d = item.renderers; _c < _d.length; _c++) {\n var r = _d[_c];\n var view = this_1.plot_view.renderer_views[r.id];\n view.draw_legend(ctx, x1, x2, y1, y2, field, label, item.index);\n }\n if (!active) {\n var w = void 0, h = void 0;\n if (vertical)\n _a = [bbox.width - 2 * legend_padding, this_1.max_label_height], w = _a[0], h = _a[1];\n else\n _b = [this_1.text_widths[label] + glyph_width + label_standoff, this_1.max_label_height], w = _b[0], h = _b[1];\n ctx.beginPath();\n ctx.rect(x1, y1, w, h);\n this_1.visuals.inactive_fill.set_value(ctx);\n ctx.fill();\n }\n }\n };\n var this_1 = this;\n for (var _i = 0, _b = this.model.items; _i < _b.length; _i++) {\n var item = _b[_i];\n _loop_1(item);\n }\n };\n LegendView.prototype._draw_title = function (ctx, bbox) {\n if (!this.visuals.title_text.doit)\n return;\n ctx.save();\n ctx.translate(bbox.x0, bbox.y0 + this.title_height);\n this.visuals.title_text.set_value(ctx);\n ctx.fillText(this.model.title, this.legend_padding, this.legend_padding - this.model.title_standoff);\n ctx.restore();\n };\n LegendView.prototype._get_size = function () {\n var _a = this.compute_legend_bbox(), width = _a.width, height = _a.height;\n return {\n width: width + 2 * this.model.margin,\n height: height + 2 * this.model.margin,\n };\n };\n return LegendView;\n }(annotation_1.AnnotationView));\n exports.LegendView = LegendView;\n var Legend = /** @class */ (function (_super) {\n tslib_1.__extends(Legend, _super);\n function Legend(attrs) {\n return _super.call(this, attrs) || this;\n }\n Legend.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.item_change = new signaling_1.Signal0(this, \"item_change\");\n };\n Legend.initClass = function () {\n this.prototype.type = 'Legend';\n this.prototype.default_view = LegendView;\n this.mixins([\n 'text:label_',\n 'text:title_',\n 'fill:inactive_',\n 'line:border_',\n 'fill:background_',\n ]);\n this.define({\n orientation: [p.Orientation, 'vertical'],\n location: [p.Any, 'top_right'],\n title: [p.String,],\n title_standoff: [p.Number, 5],\n label_standoff: [p.Number, 5],\n glyph_height: [p.Number, 20],\n glyph_width: [p.Number, 20],\n label_height: [p.Number, 20],\n label_width: [p.Number, 20],\n margin: [p.Number, 10],\n padding: [p.Number, 10],\n spacing: [p.Number, 3],\n items: [p.Array, []],\n click_policy: [p.Any, \"none\"],\n });\n this.override({\n border_line_color: \"#e5e5e5\",\n border_line_alpha: 0.5,\n border_line_width: 1,\n background_fill_color: \"#ffffff\",\n background_fill_alpha: 0.95,\n inactive_fill_color: \"white\",\n inactive_fill_alpha: 0.7,\n label_text_font_size: \"10pt\",\n label_text_baseline: \"middle\",\n title_text_font_size: \"10pt\",\n title_text_font_style: \"italic\",\n });\n };\n Legend.prototype.get_legend_names = function () {\n var legend_names = [];\n for (var _i = 0, _a = this.items; _i < _a.length; _i++) {\n var item = _a[_i];\n var labels = item.get_labels_list_from_label_prop();\n legend_names.push.apply(legend_names, labels);\n }\n return legend_names;\n };\n return Legend;\n }(annotation_1.Annotation));\n exports.Legend = Legend;\n Legend.initClass();\n}\n","/* models/annotations/legend_item */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var columnar_data_source_1 = require(213) /* ../sources/columnar_data_source */;\n var vectorization_1 = require(49) /* ../../core/vectorization */;\n var p = require(18) /* ../../core/properties */;\n var logging_1 = require(17) /* ../../core/logging */;\n var array_1 = require(24) /* ../../core/util/array */;\n var LegendItem = /** @class */ (function (_super) {\n tslib_1.__extends(LegendItem, _super);\n function LegendItem(attrs) {\n return _super.call(this, attrs) || this;\n }\n LegendItem.initClass = function () {\n this.prototype.type = \"LegendItem\";\n this.define({\n label: [p.StringSpec, null],\n renderers: [p.Array, []],\n index: [p.Number, null],\n });\n };\n /*protected*/ LegendItem.prototype._check_data_sources_on_renderers = function () {\n var field = this.get_field_from_label_prop();\n if (field != null) {\n if (this.renderers.length < 1) {\n return false;\n }\n var source = this.renderers[0].data_source;\n if (source != null) {\n for (var _i = 0, _a = this.renderers; _i < _a.length; _i++) {\n var r = _a[_i];\n if (r.data_source != source) {\n return false;\n }\n }\n }\n }\n return true;\n };\n /*protected*/ LegendItem.prototype._check_field_label_on_data_source = function () {\n var field = this.get_field_from_label_prop();\n if (field != null) {\n if (this.renderers.length < 1) {\n return false;\n }\n var source = this.renderers[0].data_source;\n if (source != null && !array_1.includes(source.columns(), field)) {\n return false;\n }\n }\n return true;\n };\n LegendItem.prototype.initialize = function () {\n var _this = this;\n _super.prototype.initialize.call(this);\n this.legend = null;\n this.connect(this.change, function () {\n if (_this.legend != null)\n _this.legend.item_change.emit();\n });\n // Validate data_sources match\n var data_source_validation = this._check_data_sources_on_renderers();\n if (!data_source_validation)\n logging_1.logger.error(\"Non matching data sources on legend item renderers\");\n // Validate label in data_source\n var field_validation = this._check_field_label_on_data_source();\n if (!field_validation)\n logging_1.logger.error(\"Bad column name on label: \" + this.label);\n };\n LegendItem.prototype.get_field_from_label_prop = function () {\n var label = this.label;\n return vectorization_1.isField(label) ? label.field : null;\n };\n LegendItem.prototype.get_labels_list_from_label_prop = function () {\n // Always return a list of the labels\n if (vectorization_1.isValue(this.label)) {\n var value = this.label.value;\n return value != null ? [value] : [];\n }\n var field = this.get_field_from_label_prop();\n if (field != null) {\n var source = void 0;\n if (this.renderers[0] && this.renderers[0].data_source != null)\n source = this.renderers[0].data_source;\n else\n return [\"No source found\"];\n if (source instanceof columnar_data_source_1.ColumnarDataSource) {\n var data = source.get_column(field);\n if (data != null)\n return array_1.uniq(Array.from(data));\n else\n return [\"Invalid field\"];\n }\n }\n return [];\n };\n return LegendItem;\n }(model_1.Model));\n exports.LegendItem = LegendItem;\n LegendItem.initClass();\n}\n","/* models/annotations/poly_annotation */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var signaling_1 = require(22) /* ../../core/signaling */;\n var p = require(18) /* ../../core/properties */;\n var PolyAnnotationView = /** @class */ (function (_super) {\n tslib_1.__extends(PolyAnnotationView, _super);\n function PolyAnnotationView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PolyAnnotationView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n // need to respond to either normal BB change events or silent\n // \"data only updates\" that tools might want to use\n this.connect(this.model.change, function () { return _this.plot_view.request_render(); });\n this.connect(this.model.data_update, function () { return _this.plot_view.request_render(); });\n };\n PolyAnnotationView.prototype.render = function () {\n if (!this.model.visible)\n return;\n var _a = this.model, xs = _a.xs, ys = _a.ys;\n if (xs.length != ys.length)\n return;\n if (xs.length < 3 || ys.length < 3)\n return;\n var frame = this.plot_view.frame;\n var ctx = this.plot_view.canvas_view.ctx;\n for (var i = 0, end = xs.length; i < end; i++) {\n var sx = void 0;\n if (this.model.xs_units == 'screen')\n sx = this.model.screen ? xs[i] : frame.xview.compute(xs[i]);\n else\n throw new Error(\"not implemented\");\n var sy = void 0;\n if (this.model.ys_units == 'screen')\n sy = this.model.screen ? ys[i] : frame.yview.compute(ys[i]);\n else\n throw new Error(\"not implemented\");\n if (i == 0) {\n ctx.beginPath();\n ctx.moveTo(sx, sy);\n }\n else {\n ctx.lineTo(sx, sy);\n }\n }\n ctx.closePath();\n if (this.visuals.line.doit) {\n this.visuals.line.set_value(ctx);\n ctx.stroke();\n }\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_value(ctx);\n ctx.fill();\n }\n };\n return PolyAnnotationView;\n }(annotation_1.AnnotationView));\n exports.PolyAnnotationView = PolyAnnotationView;\n var PolyAnnotation = /** @class */ (function (_super) {\n tslib_1.__extends(PolyAnnotation, _super);\n function PolyAnnotation(attrs) {\n return _super.call(this, attrs) || this;\n }\n PolyAnnotation.initClass = function () {\n this.prototype.type = \"PolyAnnotation\";\n this.prototype.default_view = PolyAnnotationView;\n this.mixins(['line', 'fill']);\n this.define({\n xs: [p.Array, []],\n xs_units: [p.SpatialUnits, 'data'],\n ys: [p.Array, []],\n ys_units: [p.SpatialUnits, 'data'],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n this.internal({\n screen: [p.Boolean, false],\n });\n this.override({\n fill_color: \"#fff9ba\",\n fill_alpha: 0.4,\n line_color: \"#cccccc\",\n line_alpha: 0.3,\n });\n };\n PolyAnnotation.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.data_update = new signaling_1.Signal0(this, \"data_update\");\n };\n PolyAnnotation.prototype.update = function (_a) {\n var xs = _a.xs, ys = _a.ys;\n this.setv({ xs: xs, ys: ys, screen: true }, { silent: true });\n this.data_update.emit();\n };\n return PolyAnnotation;\n }(annotation_1.Annotation));\n exports.PolyAnnotation = PolyAnnotation;\n PolyAnnotation.initClass();\n}\n","/* models/annotations/slope */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var p = require(18) /* ../../core/properties */;\n var SlopeView = /** @class */ (function (_super) {\n tslib_1.__extends(SlopeView, _super);\n function SlopeView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SlopeView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n };\n SlopeView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.change, function () { return _this.plot_view.request_render(); });\n };\n SlopeView.prototype.render = function () {\n if (!this.model.visible)\n return;\n this._draw_slope();\n };\n SlopeView.prototype._draw_slope = function () {\n var gradient = this.model.gradient;\n var y_intercept = this.model.y_intercept;\n if (gradient == null || y_intercept == null) {\n return;\n }\n var frame = this.plot_view.frame;\n var xscale = frame.xscales[this.model.x_range_name];\n var yscale = frame.yscales[this.model.y_range_name];\n var sy_start = frame._top.value;\n var sy_end = sy_start + frame._height.value;\n var y_start = yscale.invert(sy_start);\n var y_end = yscale.invert(sy_end);\n var x_start = (y_start - y_intercept) / gradient;\n var x_end = (y_end - y_intercept) / gradient;\n var sx_start = xscale.compute(x_start);\n var sx_end = xscale.compute(x_end);\n var ctx = this.plot_view.canvas_view.ctx;\n ctx.save();\n ctx.beginPath();\n this.visuals.line.set_value(ctx);\n ctx.moveTo(sx_start, sy_start);\n ctx.lineTo(sx_end, sy_end);\n ctx.stroke();\n ctx.restore();\n };\n return SlopeView;\n }(annotation_1.AnnotationView));\n exports.SlopeView = SlopeView;\n var Slope = /** @class */ (function (_super) {\n tslib_1.__extends(Slope, _super);\n function Slope(attrs) {\n return _super.call(this, attrs) || this;\n }\n Slope.initClass = function () {\n this.prototype.type = 'Slope';\n this.prototype.default_view = SlopeView;\n this.mixins(['line']);\n this.define({\n gradient: [p.Number, null],\n y_intercept: [p.Number, null],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n this.override({\n line_color: 'black',\n });\n };\n return Slope;\n }(annotation_1.Annotation));\n exports.Slope = Slope;\n Slope.initClass();\n}\n","/* models/annotations/span */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var dom_1 = require(5) /* ../../core/dom */;\n var p = require(18) /* ../../core/properties */;\n var SpanView = /** @class */ (function (_super) {\n tslib_1.__extends(SpanView, _super);\n function SpanView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SpanView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.plot_view.canvas_overlays.appendChild(this.el);\n this.el.style.position = \"absolute\";\n dom_1.undisplay(this.el);\n };\n SpanView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n if (this.model.for_hover)\n this.connect(this.model.properties.computed_location.change, function () { return _this._draw_span(); });\n else {\n if (this.model.render_mode == 'canvas') {\n this.connect(this.model.change, function () { return _this.plot_view.request_render(); });\n this.connect(this.model.properties.location.change, function () { return _this.plot_view.request_render(); });\n }\n else {\n this.connect(this.model.change, function () { return _this.render(); });\n this.connect(this.model.properties.location.change, function () { return _this._draw_span(); });\n }\n }\n };\n SpanView.prototype.render = function () {\n if (!this.model.visible && this.model.render_mode == 'css')\n dom_1.undisplay(this.el);\n if (!this.model.visible)\n return;\n this._draw_span();\n };\n SpanView.prototype._draw_span = function () {\n var _this = this;\n var loc = this.model.for_hover ? this.model.computed_location : this.model.location;\n if (loc == null) {\n dom_1.undisplay(this.el);\n return;\n }\n var frame = this.plot_view.frame;\n var xscale = frame.xscales[this.model.x_range_name];\n var yscale = frame.yscales[this.model.y_range_name];\n var _calc_dim = function (scale, view) {\n if (_this.model.for_hover)\n return _this.model.computed_location;\n else {\n if (_this.model.location_units == 'data')\n return scale.compute(loc);\n else\n return view.compute(loc);\n }\n };\n var height, sleft, stop, width;\n if (this.model.dimension == 'width') {\n stop = _calc_dim(yscale, frame.yview);\n sleft = frame._left.value;\n width = frame._width.value;\n height = this.model.properties.line_width.value();\n }\n else {\n stop = frame._top.value;\n sleft = _calc_dim(xscale, frame.xview);\n width = this.model.properties.line_width.value();\n height = frame._height.value;\n }\n if (this.model.render_mode == \"css\") {\n this.el.style.top = stop + \"px\";\n this.el.style.left = sleft + \"px\";\n this.el.style.width = width + \"px\";\n this.el.style.height = height + \"px\";\n this.el.style.backgroundColor = this.model.properties.line_color.value();\n this.el.style.opacity = this.model.properties.line_alpha.value();\n dom_1.display(this.el);\n }\n else if (this.model.render_mode == \"canvas\") {\n var ctx = this.plot_view.canvas_view.ctx;\n ctx.save();\n ctx.beginPath();\n this.visuals.line.set_value(ctx);\n ctx.moveTo(sleft, stop);\n if (this.model.dimension == \"width\") {\n ctx.lineTo(sleft + width, stop);\n }\n else {\n ctx.lineTo(sleft, stop + height);\n }\n ctx.stroke();\n ctx.restore();\n }\n };\n return SpanView;\n }(annotation_1.AnnotationView));\n exports.SpanView = SpanView;\n var Span = /** @class */ (function (_super) {\n tslib_1.__extends(Span, _super);\n function Span(attrs) {\n return _super.call(this, attrs) || this;\n }\n Span.initClass = function () {\n this.prototype.type = 'Span';\n this.prototype.default_view = SpanView;\n this.mixins(['line']);\n this.define({\n render_mode: [p.RenderMode, 'canvas'],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n location: [p.Number, null],\n location_units: [p.SpatialUnits, 'data'],\n dimension: [p.Dimension, 'width'],\n });\n this.override({\n line_color: 'black',\n });\n this.internal({\n for_hover: [p.Boolean, false],\n computed_location: [p.Number, null],\n });\n };\n return Span;\n }(annotation_1.Annotation));\n exports.Span = Span;\n Span.initClass();\n}\n","/* models/annotations/text_annotation */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var dom_1 = require(5) /* ../../core/dom */;\n var p = require(18) /* ../../core/properties */;\n var text_1 = require(43) /* ../../core/util/text */;\n var TextAnnotationView = /** @class */ (function (_super) {\n tslib_1.__extends(TextAnnotationView, _super);\n function TextAnnotationView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rotate = true;\n return _this;\n }\n TextAnnotationView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n if (this.model.render_mode == 'css') {\n this.el.classList.add('bk-annotation');\n this.plot_view.canvas_overlays.appendChild(this.el);\n }\n };\n TextAnnotationView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n if (this.model.render_mode == 'css') {\n // dispatch CSS update immediately\n this.connect(this.model.change, function () { return _this.render(); });\n }\n else {\n this.connect(this.model.change, function () { return _this.plot_view.request_render(); });\n }\n };\n TextAnnotationView.prototype._calculate_text_dimensions = function (ctx, text) {\n var width = ctx.measureText(text).width;\n var height = text_1.measure_font(this.visuals.text.font_value()).height;\n return [width, height];\n };\n TextAnnotationView.prototype._calculate_bounding_box_dimensions = function (ctx, text) {\n var _a = this._calculate_text_dimensions(ctx, text), width = _a[0], height = _a[1];\n var x_offset;\n switch (ctx.textAlign) {\n case 'left':\n x_offset = 0;\n break;\n case 'center':\n x_offset = -width / 2;\n break;\n case 'right':\n x_offset = -width;\n break;\n default:\n throw new Error(\"unreachable code\");\n }\n // guestimated from https://www.w3.org/TR/2dcontext/#dom-context-2d-textbaseline\n var y_offset;\n switch (ctx.textBaseline) {\n case 'top':\n y_offset = 0.0;\n break;\n case 'middle':\n y_offset = -0.5 * height;\n break;\n case 'bottom':\n y_offset = -1.0 * height;\n break;\n case 'alphabetic':\n y_offset = -0.8 * height;\n break;\n case 'hanging':\n y_offset = -0.17 * height;\n break;\n case 'ideographic':\n y_offset = -0.83 * height;\n break;\n default:\n throw new Error(\"unreachable code\");\n }\n return [x_offset, y_offset, width, height];\n };\n TextAnnotationView.prototype._canvas_text = function (ctx, text, sx, sy, angle) {\n this.visuals.text.set_value(ctx);\n var bbox_dims = this._calculate_bounding_box_dimensions(ctx, text);\n ctx.save();\n ctx.beginPath();\n ctx.translate(sx, sy);\n if (angle)\n ctx.rotate(angle);\n ctx.rect(bbox_dims[0], bbox_dims[1], bbox_dims[2], bbox_dims[3]);\n if (this.visuals.background_fill.doit) {\n this.visuals.background_fill.set_value(ctx);\n ctx.fill();\n }\n if (this.visuals.border_line.doit) {\n this.visuals.border_line.set_value(ctx);\n ctx.stroke();\n }\n if (this.visuals.text.doit) {\n this.visuals.text.set_value(ctx);\n ctx.fillText(text, 0, 0);\n }\n ctx.restore();\n };\n TextAnnotationView.prototype._css_text = function (ctx, text, sx, sy, angle) {\n dom_1.undisplay(this.el);\n this.visuals.text.set_value(ctx);\n var bbox_dims = this._calculate_bounding_box_dimensions(ctx, text);\n // attempt to support vector string-style (\"8 4 8\") line dashing for css mode\n var ld = this.visuals.border_line.line_dash.value();\n var line_dash = ld.length < 2 ? \"solid\" : \"dashed\";\n this.visuals.border_line.set_value(ctx);\n this.visuals.background_fill.set_value(ctx);\n this.el.style.position = 'absolute';\n this.el.style.left = sx + bbox_dims[0] + \"px\";\n this.el.style.top = sy + bbox_dims[1] + \"px\";\n this.el.style.color = \"\" + this.visuals.text.text_color.value();\n this.el.style.opacity = \"\" + this.visuals.text.text_alpha.value();\n this.el.style.font = \"\" + this.visuals.text.font_value();\n this.el.style.lineHeight = \"normal\"; // needed to prevent ipynb css override\n if (angle) {\n this.el.style.transform = \"rotate(\" + angle + \"rad)\";\n }\n if (this.visuals.background_fill.doit) {\n this.el.style.backgroundColor = \"\" + this.visuals.background_fill.color_value();\n }\n if (this.visuals.border_line.doit) {\n this.el.style.borderStyle = \"\" + line_dash;\n this.el.style.borderWidth = this.visuals.border_line.line_width.value() + \"px\";\n this.el.style.borderColor = \"\" + this.visuals.border_line.color_value();\n }\n this.el.textContent = text;\n dom_1.display(this.el);\n };\n return TextAnnotationView;\n }(annotation_1.AnnotationView));\n exports.TextAnnotationView = TextAnnotationView;\n var TextAnnotation = /** @class */ (function (_super) {\n tslib_1.__extends(TextAnnotation, _super);\n function TextAnnotation(attrs) {\n return _super.call(this, attrs) || this;\n }\n TextAnnotation.initClass = function () {\n this.prototype.type = \"TextAnnotation\";\n this.define({\n render_mode: [p.RenderMode, \"canvas\"],\n });\n };\n return TextAnnotation;\n }(annotation_1.Annotation));\n exports.TextAnnotation = TextAnnotation;\n TextAnnotation.initClass();\n}\n","/* models/annotations/title */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var text_annotation_1 = require(77) /* ./text_annotation */;\n var dom_1 = require(5) /* ../../core/dom */;\n var visuals_1 = require(51) /* ../../core/visuals */;\n var p = require(18) /* ../../core/properties */;\n var TitleView = /** @class */ (function (_super) {\n tslib_1.__extends(TitleView, _super);\n function TitleView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TitleView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.visuals.text = new visuals_1.Text(this.model);\n };\n TitleView.prototype._get_location = function () {\n var panel = this.panel;\n var hmargin = this.model.offset;\n var vmargin = 5;\n var sx, sy;\n switch (panel.side) {\n case 'above':\n case 'below': {\n switch (this.model.vertical_align) {\n case 'top':\n sy = panel._top.value + vmargin;\n break;\n case 'middle':\n sy = panel._vcenter.value;\n break;\n case 'bottom':\n sy = panel._bottom.value - vmargin;\n break;\n default: throw new Error(\"unreachable code\");\n }\n switch (this.model.align) {\n case 'left':\n sx = panel._left.value + hmargin;\n break;\n case 'center':\n sx = panel._hcenter.value;\n break;\n case 'right':\n sx = panel._right.value - hmargin;\n break;\n default: throw new Error(\"unreachable code\");\n }\n break;\n }\n case 'left': {\n switch (this.model.vertical_align) {\n case 'top':\n sx = panel._left.value - vmargin;\n break;\n case 'middle':\n sx = panel._hcenter.value;\n break;\n case 'bottom':\n sx = panel._right.value + vmargin;\n break;\n default: throw new Error(\"unreachable code\");\n }\n switch (this.model.align) {\n case 'left':\n sy = panel._bottom.value - hmargin;\n break;\n case 'center':\n sy = panel._vcenter.value;\n break;\n case 'right':\n sy = panel._top.value + hmargin;\n break;\n default: throw new Error(\"unreachable code\");\n }\n break;\n }\n case 'right': {\n switch (this.model.vertical_align) {\n case 'top':\n sx = panel._right.value - vmargin;\n break;\n case 'middle':\n sx = panel._hcenter.value;\n break;\n case 'bottom':\n sx = panel._left.value + vmargin;\n break;\n default: throw new Error(\"unreachable code\");\n }\n switch (this.model.align) {\n case 'left':\n sy = panel._top.value + hmargin;\n break;\n case 'center':\n sy = panel._vcenter.value;\n break;\n case 'right':\n sy = panel._bottom.value - hmargin;\n break;\n default: throw new Error(\"unreachable code\");\n }\n break;\n }\n default: throw new Error(\"unreachable code\");\n }\n return [sx, sy];\n };\n TitleView.prototype.render = function () {\n if (!this.model.visible) {\n if (this.model.render_mode == 'css')\n dom_1.undisplay(this.el);\n return;\n }\n var text = this.model.text;\n if (text == null || text.length == 0)\n return;\n this.model.text_baseline = this.model.vertical_align;\n this.model.text_align = this.model.align;\n var _a = this._get_location(), sx = _a[0], sy = _a[1];\n var angle = this.panel.get_label_angle_heuristic('parallel');\n var draw = this.model.render_mode == 'canvas' ? this._canvas_text.bind(this) : this._css_text.bind(this);\n draw(this.plot_view.canvas_view.ctx, text, sx, sy, angle);\n };\n TitleView.prototype._get_size = function () {\n var text = this.model.text;\n if (text == null || text.length == 0)\n return { width: 0, height: 0 };\n else {\n this.visuals.text.set_value(this.ctx);\n var _a = this.ctx.measureText(text), width = _a.width, ascent = _a.ascent;\n return { width: width, height: ascent + 10 };\n }\n };\n return TitleView;\n }(text_annotation_1.TextAnnotationView));\n exports.TitleView = TitleView;\n var Title = /** @class */ (function (_super) {\n tslib_1.__extends(Title, _super);\n function Title(attrs) {\n return _super.call(this, attrs) || this;\n }\n Title.initClass = function () {\n this.prototype.type = 'Title';\n this.prototype.default_view = TitleView;\n this.mixins(['line:border_', 'fill:background_']);\n this.define({\n text: [p.String,],\n text_font: [p.Font, 'helvetica'],\n text_font_size: [p.FontSizeSpec, '10pt'],\n text_font_style: [p.FontStyle, 'bold'],\n text_color: [p.ColorSpec, '#444444'],\n text_alpha: [p.NumberSpec, 1.0],\n vertical_align: [p.VerticalAlign, 'bottom'],\n align: [p.TextAlign, 'left'],\n offset: [p.Number, 0],\n });\n this.override({\n background_fill_color: null,\n border_line_color: null,\n });\n this.internal({\n text_align: [p.TextAlign, 'left'],\n text_baseline: [p.TextBaseline, 'bottom'],\n });\n };\n return Title;\n }(text_annotation_1.TextAnnotation));\n exports.Title = Title;\n Title.initClass();\n}\n","/* models/annotations/toolbar_panel */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var build_views_1 = require(4) /* ../../core/build_views */;\n var dom_1 = require(5) /* ../../core/dom */;\n var p = require(18) /* ../../core/properties */;\n var ToolbarPanelView = /** @class */ (function (_super) {\n tslib_1.__extends(ToolbarPanelView, _super);\n function ToolbarPanelView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rotate = true;\n return _this;\n }\n ToolbarPanelView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.plot_view.canvas_events.appendChild(this.el);\n this._toolbar_views = {};\n build_views_1.build_views(this._toolbar_views, [this.model.toolbar], { parent: this });\n var toolbar_view = this._toolbar_views[this.model.toolbar.id];\n this.plot_view.visibility_callbacks.push(function (visible) { return toolbar_view.set_visibility(visible); });\n };\n ToolbarPanelView.prototype.remove = function () {\n build_views_1.remove_views(this._toolbar_views);\n _super.prototype.remove.call(this);\n };\n ToolbarPanelView.prototype.render = function () {\n _super.prototype.render.call(this);\n if (!this.model.visible) {\n dom_1.undisplay(this.el);\n return;\n }\n this.el.style.position = \"absolute\";\n this.el.style.overflow = \"hidden\";\n dom_1.position(this.el, this.panel.bbox);\n var toolbar_view = this._toolbar_views[this.model.toolbar.id];\n toolbar_view.render();\n dom_1.empty(this.el);\n this.el.appendChild(toolbar_view.el);\n dom_1.display(this.el);\n };\n ToolbarPanelView.prototype._get_size = function () {\n var _a = this.model.toolbar, tools = _a.tools, logo = _a.logo;\n return {\n width: tools.length * 30 + (logo != null ? 25 : 0),\n height: 30,\n };\n };\n return ToolbarPanelView;\n }(annotation_1.AnnotationView));\n exports.ToolbarPanelView = ToolbarPanelView;\n var ToolbarPanel = /** @class */ (function (_super) {\n tslib_1.__extends(ToolbarPanel, _super);\n function ToolbarPanel(attrs) {\n return _super.call(this, attrs) || this;\n }\n ToolbarPanel.initClass = function () {\n this.prototype.type = 'ToolbarPanel';\n this.prototype.default_view = ToolbarPanelView;\n this.define({\n toolbar: [p.Instance],\n });\n };\n return ToolbarPanel;\n }(annotation_1.Annotation));\n exports.ToolbarPanel = ToolbarPanel;\n ToolbarPanel.initClass();\n}\n","/* models/annotations/tooltip */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var dom_1 = require(5) /* ../../core/dom */;\n var p = require(18) /* ../../core/properties */;\n function compute_side(attachment, sx, sy, hcenter, vcenter) {\n var side;\n switch (attachment) {\n case \"horizontal\":\n side = sx < hcenter ? 'right' : 'left';\n break;\n case \"vertical\":\n side = sy < vcenter ? 'below' : 'above';\n break;\n default:\n side = attachment;\n }\n return side;\n }\n exports.compute_side = compute_side;\n var TooltipView = /** @class */ (function (_super) {\n tslib_1.__extends(TooltipView, _super);\n function TooltipView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TooltipView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n // TODO (bev) really probably need multiple divs\n this.plot_view.canvas_overlays.appendChild(this.el);\n dom_1.undisplay(this.el);\n };\n TooltipView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.properties.data.change, function () { return _this._draw_tips(); });\n };\n TooltipView.prototype.css_classes = function () {\n return _super.prototype.css_classes.call(this).concat(\"bk-tooltip\");\n };\n TooltipView.prototype.render = function () {\n if (!this.model.visible)\n return;\n this._draw_tips();\n };\n TooltipView.prototype._draw_tips = function () {\n var data = this.model.data;\n dom_1.empty(this.el);\n dom_1.undisplay(this.el);\n if (this.model.custom)\n this.el.classList.add(\"bk-tooltip-custom\");\n else\n this.el.classList.remove(\"bk-tooltip-custom\");\n if (data.length == 0)\n return;\n var frame = this.plot_view.frame;\n for (var _i = 0, data_1 = data; _i < data_1.length; _i++) {\n var _a = data_1[_i], sx_1 = _a[0], sy_1 = _a[1], content = _a[2];\n if (this.model.inner_only && !frame.bbox.contains(sx_1, sy_1))\n continue;\n var tip = dom_1.div({}, content);\n this.el.appendChild(tip);\n }\n var _b = data[data.length - 1], sx = _b[0], sy = _b[1]; // XXX: this previously depended on {sx, sy} leaking from the for-loop\n var side = compute_side(this.model.attachment, sx, sy, frame._hcenter.value, frame._vcenter.value);\n this.el.classList.remove(\"bk-right\");\n this.el.classList.remove(\"bk-left\");\n this.el.classList.remove(\"bk-above\");\n this.el.classList.remove(\"bk-below\");\n var arrow_size = 10; // XXX: keep in sync with less\n dom_1.display(this.el); // XXX: {offset,client}Width() gives 0 when display=\"none\"\n // slightly confusing: side \"left\" (for example) is relative to point that\n // is being annotated but CS class \"bk-left\" is relative to the tooltip itself\n var left, top;\n switch (side) {\n case \"right\":\n this.el.classList.add(\"bk-left\");\n left = sx + (this.el.offsetWidth - this.el.clientWidth) + arrow_size;\n top = sy - this.el.offsetHeight / 2;\n break;\n case \"left\":\n this.el.classList.add(\"bk-right\");\n left = sx - this.el.offsetWidth - arrow_size;\n top = sy - this.el.offsetHeight / 2;\n break;\n case \"below\":\n this.el.classList.add(\"bk-above\");\n top = sy + (this.el.offsetHeight - this.el.clientHeight) + arrow_size;\n left = Math.round(sx - this.el.offsetWidth / 2);\n break;\n case \"above\":\n this.el.classList.add(\"bk-below\");\n top = sy - this.el.offsetHeight - arrow_size;\n left = Math.round(sx - this.el.offsetWidth / 2);\n break;\n default:\n throw new Error(\"unreachable code\");\n }\n if (this.model.show_arrow)\n this.el.classList.add(\"bk-tooltip-arrow\");\n // TODO (bev) this is not currently bulletproof. If there are\n // two hits, not colocated and one is off the screen, that can\n // be problematic\n if (this.el.childNodes.length > 0) {\n this.el.style.top = top + \"px\";\n this.el.style.left = left + \"px\";\n }\n else\n dom_1.undisplay(this.el);\n };\n return TooltipView;\n }(annotation_1.AnnotationView));\n exports.TooltipView = TooltipView;\n var Tooltip = /** @class */ (function (_super) {\n tslib_1.__extends(Tooltip, _super);\n function Tooltip(attrs) {\n return _super.call(this, attrs) || this;\n }\n Tooltip.initClass = function () {\n this.prototype.type = 'Tooltip';\n this.prototype.default_view = TooltipView;\n this.define({\n attachment: [p.TooltipAttachment, 'horizontal'],\n inner_only: [p.Boolean, true],\n show_arrow: [p.Boolean, true],\n });\n this.override({\n level: 'overlay',\n });\n this.internal({\n data: [p.Any, []],\n custom: [p.Any],\n });\n };\n Tooltip.prototype.clear = function () {\n this.data = [];\n };\n Tooltip.prototype.add = function (sx, sy, content) {\n this.data = this.data.concat([[sx, sy, content]]);\n };\n return Tooltip;\n }(annotation_1.Annotation));\n exports.Tooltip = Tooltip;\n Tooltip.initClass();\n}\n","/* models/annotations/whisker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var annotation_1 = require(63) /* ./annotation */;\n var column_data_source_1 = require(212) /* ../sources/column_data_source */;\n var arrow_head_1 = require(65) /* ./arrow_head */;\n var p = require(18) /* ../../core/properties */;\n var WhiskerView = /** @class */ (function (_super) {\n tslib_1.__extends(WhiskerView, _super);\n function WhiskerView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WhiskerView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.set_data(this.model.source);\n };\n WhiskerView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.source.streaming, function () { return _this.set_data(_this.model.source); });\n this.connect(this.model.source.patching, function () { return _this.set_data(_this.model.source); });\n this.connect(this.model.source.change, function () { return _this.set_data(_this.model.source); });\n };\n WhiskerView.prototype.set_data = function (source) {\n _super.prototype.set_data.call(this, source);\n this.visuals.warm_cache(source);\n this.plot_view.request_render();\n };\n WhiskerView.prototype._map_data = function () {\n var frame = this.plot_view.frame;\n var dim = this.model.dimension;\n var xscale = frame.xscales[this.model.x_range_name];\n var yscale = frame.yscales[this.model.y_range_name];\n var limit_scale = dim == \"height\" ? yscale : xscale;\n var base_scale = dim == \"height\" ? xscale : yscale;\n var limit_view = dim == \"height\" ? frame.yview : frame.xview;\n var base_view = dim == \"height\" ? frame.xview : frame.yview;\n var _lower_sx;\n if (this.model.properties.lower.units == \"data\")\n _lower_sx = limit_scale.v_compute(this._lower);\n else\n _lower_sx = limit_view.v_compute(this._lower);\n var _upper_sx;\n if (this.model.properties.upper.units == \"data\")\n _upper_sx = limit_scale.v_compute(this._upper);\n else\n _upper_sx = limit_view.v_compute(this._upper);\n var _base_sx;\n if (this.model.properties.base.units == \"data\")\n _base_sx = base_scale.v_compute(this._base);\n else\n _base_sx = base_view.v_compute(this._base);\n var _a = dim == 'height' ? [1, 0] : [0, 1], i = _a[0], j = _a[1];\n var _lower = [_lower_sx, _base_sx];\n var _upper = [_upper_sx, _base_sx];\n this._lower_sx = _lower[i];\n this._lower_sy = _lower[j];\n this._upper_sx = _upper[i];\n this._upper_sy = _upper[j];\n };\n WhiskerView.prototype.render = function () {\n if (!this.model.visible)\n return;\n this._map_data();\n var ctx = this.plot_view.canvas_view.ctx;\n if (this.visuals.line.doit) {\n for (var i = 0, end = this._lower_sx.length; i < end; i++) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.beginPath();\n ctx.moveTo(this._lower_sx[i], this._lower_sy[i]);\n ctx.lineTo(this._upper_sx[i], this._upper_sy[i]);\n ctx.stroke();\n }\n }\n var angle = this.model.dimension == \"height\" ? 0 : Math.PI / 2;\n if (this.model.lower_head != null) {\n for (var i = 0, end = this._lower_sx.length; i < end; i++) {\n ctx.save();\n ctx.translate(this._lower_sx[i], this._lower_sy[i]);\n ctx.rotate(angle + Math.PI);\n this.model.lower_head.render(ctx, i);\n ctx.restore();\n }\n }\n if (this.model.upper_head != null) {\n for (var i = 0, end = this._upper_sx.length; i < end; i++) {\n ctx.save();\n ctx.translate(this._upper_sx[i], this._upper_sy[i]);\n ctx.rotate(angle);\n this.model.upper_head.render(ctx, i);\n ctx.restore();\n }\n }\n };\n return WhiskerView;\n }(annotation_1.AnnotationView));\n exports.WhiskerView = WhiskerView;\n var Whisker = /** @class */ (function (_super) {\n tslib_1.__extends(Whisker, _super);\n function Whisker(attrs) {\n return _super.call(this, attrs) || this;\n }\n Whisker.initClass = function () {\n this.prototype.type = 'Whisker';\n this.prototype.default_view = WhiskerView;\n this.mixins(['line']);\n this.define({\n lower: [p.DistanceSpec],\n lower_head: [p.Instance, function () { return new arrow_head_1.TeeHead({ level: \"underlay\", size: 10 }); }],\n upper: [p.DistanceSpec],\n upper_head: [p.Instance, function () { return new arrow_head_1.TeeHead({ level: \"underlay\", size: 10 }); }],\n base: [p.DistanceSpec],\n dimension: [p.Dimension, 'height'],\n source: [p.Instance, function () { return new column_data_source_1.ColumnDataSource(); }],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n this.override({\n level: 'underlay',\n });\n };\n return Whisker;\n }(annotation_1.Annotation));\n exports.Whisker = Whisker;\n Whisker.initClass();\n}\n","/* models/axes/axis */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var guide_renderer_1 = require(199) /* ../renderers/guide_renderer */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var types_1 = require(46) /* ../../core/util/types */;\n var factor_range_1 = require(192) /* ../ranges/factor_range */;\n var abs = Math.abs, min = Math.min, max = Math.max;\n var AxisView = /** @class */ (function (_super) {\n tslib_1.__extends(AxisView, _super);\n function AxisView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.rotate = true;\n return _this;\n }\n Object.defineProperty(AxisView.prototype, \"panel\", {\n get: function () {\n return this.layout;\n },\n enumerable: true,\n configurable: true\n });\n AxisView.prototype.render = function () {\n if (!this.model.visible)\n return;\n var extents = {\n tick: this._tick_extent(),\n tick_label: this._tick_label_extents(),\n axis_label: this._axis_label_extent(),\n };\n var tick_coords = this.tick_coords;\n var ctx = this.plot_view.canvas_view.ctx;\n ctx.save();\n this._draw_rule(ctx, extents);\n this._draw_major_ticks(ctx, extents, tick_coords);\n this._draw_minor_ticks(ctx, extents, tick_coords);\n this._draw_major_labels(ctx, extents, tick_coords);\n this._draw_axis_label(ctx, extents, tick_coords);\n if (this._render != null)\n this._render(ctx, extents, tick_coords);\n ctx.restore();\n };\n AxisView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.change, function () { return _this.plot_view.request_paint(); });\n var p = this.model.properties;\n this.on_change(p.visible, function () { return _this.plot_view.request_layout(); });\n };\n AxisView.prototype.get_size = function () {\n if (this.model.visible && this.model.fixed_location == null) {\n var size = this._get_size();\n return { width: 0 /* max */, height: Math.round(size) };\n }\n else\n return { width: 0, height: 0 };\n };\n AxisView.prototype._get_size = function () {\n return this._tick_extent() + this._tick_label_extent() + this._axis_label_extent();\n };\n Object.defineProperty(AxisView.prototype, \"needs_clip\", {\n get: function () {\n return this.model.fixed_location != null;\n },\n enumerable: true,\n configurable: true\n });\n // drawing sub functions -----------------------------------------------------\n AxisView.prototype._draw_rule = function (ctx, _extents) {\n if (!this.visuals.axis_line.doit)\n return;\n var _a = this.rule_coords, xs = _a[0], ys = _a[1];\n var _b = this.plot_view.map_to_screen(xs, ys, this.model.x_range_name, this.model.y_range_name), sxs = _b[0], sys = _b[1];\n var _c = this.normals, nx = _c[0], ny = _c[1];\n var _d = this.offsets, xoff = _d[0], yoff = _d[1];\n this.visuals.axis_line.set_value(ctx);\n ctx.beginPath();\n ctx.moveTo(Math.round(sxs[0] + nx * xoff), Math.round(sys[0] + ny * yoff));\n for (var i = 1; i < sxs.length; i++) {\n var sx = Math.round(sxs[i] + nx * xoff);\n var sy = Math.round(sys[i] + ny * yoff);\n ctx.lineTo(sx, sy);\n }\n ctx.stroke();\n };\n AxisView.prototype._draw_major_ticks = function (ctx, _extents, tick_coords) {\n var tin = this.model.major_tick_in;\n var tout = this.model.major_tick_out;\n var visuals = this.visuals.major_tick_line;\n this._draw_ticks(ctx, tick_coords.major, tin, tout, visuals);\n };\n AxisView.prototype._draw_minor_ticks = function (ctx, _extents, tick_coords) {\n var tin = this.model.minor_tick_in;\n var tout = this.model.minor_tick_out;\n var visuals = this.visuals.minor_tick_line;\n this._draw_ticks(ctx, tick_coords.minor, tin, tout, visuals);\n };\n AxisView.prototype._draw_major_labels = function (ctx, extents, tick_coords) {\n var coords = tick_coords.major;\n var labels = this.compute_labels(coords[this.dimension]);\n var orient = this.model.major_label_orientation;\n var standoff = extents.tick + this.model.major_label_standoff;\n var visuals = this.visuals.major_label_text;\n this._draw_oriented_labels(ctx, labels, coords, orient, this.panel.side, standoff, visuals);\n };\n AxisView.prototype._draw_axis_label = function (ctx, extents, _tick_coords) {\n if (this.model.axis_label == null || this.model.axis_label.length == 0 || this.model.fixed_location != null)\n return;\n var sx;\n var sy;\n switch (this.panel.side) {\n case \"above\":\n sx = this.panel._hcenter.value;\n sy = this.panel._bottom.value;\n break;\n case \"below\":\n sx = this.panel._hcenter.value;\n sy = this.panel._top.value;\n break;\n case \"left\":\n sx = this.panel._right.value;\n sy = this.panel._vcenter.value;\n break;\n case \"right\":\n sx = this.panel._left.value;\n sy = this.panel._vcenter.value;\n break;\n default:\n throw new Error(\"unknown side: \" + this.panel.side);\n }\n var coords = [[sx], [sy]];\n var standoff = extents.tick + array_1.sum(extents.tick_label) + this.model.axis_label_standoff;\n var visuals = this.visuals.axis_label_text;\n this._draw_oriented_labels(ctx, [this.model.axis_label], coords, 'parallel', this.panel.side, standoff, visuals, \"screen\");\n };\n AxisView.prototype._draw_ticks = function (ctx, coords, tin, tout, visuals) {\n if (!visuals.doit)\n return;\n var x = coords[0], y = coords[1];\n var _a = this.plot_view.map_to_screen(x, y, this.model.x_range_name, this.model.y_range_name), sxs = _a[0], sys = _a[1];\n var _b = this.normals, nx = _b[0], ny = _b[1];\n var _c = this.offsets, xoff = _c[0], yoff = _c[1];\n var _d = [nx * (xoff - tin), ny * (yoff - tin)], nxin = _d[0], nyin = _d[1];\n var _e = [nx * (xoff + tout), ny * (yoff + tout)], nxout = _e[0], nyout = _e[1];\n visuals.set_value(ctx);\n for (var i = 0; i < sxs.length; i++) {\n var sx0 = Math.round(sxs[i] + nxout);\n var sy0 = Math.round(sys[i] + nyout);\n var sx1 = Math.round(sxs[i] + nxin);\n var sy1 = Math.round(sys[i] + nyin);\n ctx.beginPath();\n ctx.moveTo(sx0, sy0);\n ctx.lineTo(sx1, sy1);\n ctx.stroke();\n }\n };\n AxisView.prototype._draw_oriented_labels = function (ctx, labels, coords, orient, _side, standoff, visuals, units) {\n var _a, _b, _c;\n if (units === void 0) {\n units = \"data\";\n }\n if (!visuals.doit || labels.length == 0)\n return;\n var sxs, sys;\n var xoff, yoff;\n if (units == \"screen\") {\n sxs = coords[0], sys = coords[1];\n _a = [0, 0], xoff = _a[0], yoff = _a[1];\n }\n else {\n var dxs = coords[0], dys = coords[1];\n _b = this.plot_view.map_to_screen(dxs, dys, this.model.x_range_name, this.model.y_range_name), sxs = _b[0], sys = _b[1];\n _c = this.offsets, xoff = _c[0], yoff = _c[1];\n }\n var _d = this.normals, nx = _d[0], ny = _d[1];\n var nxd = nx * (xoff + standoff);\n var nyd = ny * (yoff + standoff);\n visuals.set_value(ctx);\n this.panel.apply_label_text_heuristics(ctx, orient);\n var angle;\n if (types_1.isString(orient))\n angle = this.panel.get_label_angle_heuristic(orient);\n else\n angle = -orient;\n for (var i = 0; i < sxs.length; i++) {\n var sx = Math.round(sxs[i] + nxd);\n var sy = Math.round(sys[i] + nyd);\n ctx.translate(sx, sy);\n ctx.rotate(angle);\n ctx.fillText(labels[i], 0, 0);\n ctx.rotate(-angle);\n ctx.translate(-sx, -sy);\n }\n };\n // extents sub functions -----------------------------------------------------\n /*protected*/ AxisView.prototype._axis_label_extent = function () {\n if (this.model.axis_label == null || this.model.axis_label == \"\")\n return 0;\n var standoff = this.model.axis_label_standoff;\n var visuals = this.visuals.axis_label_text;\n return this._oriented_labels_extent([this.model.axis_label], \"parallel\", this.panel.side, standoff, visuals);\n };\n /*protected*/ AxisView.prototype._tick_extent = function () {\n return this.model.major_tick_out;\n };\n /*protected*/ AxisView.prototype._tick_label_extent = function () {\n return array_1.sum(this._tick_label_extents());\n };\n AxisView.prototype._tick_label_extents = function () {\n var coords = this.tick_coords.major;\n var labels = this.compute_labels(coords[this.dimension]);\n var orient = this.model.major_label_orientation;\n var standoff = this.model.major_label_standoff;\n var visuals = this.visuals.major_label_text;\n return [this._oriented_labels_extent(labels, orient, this.panel.side, standoff, visuals)];\n };\n AxisView.prototype._oriented_labels_extent = function (labels, orient, side, standoff, visuals) {\n if (labels.length == 0)\n return 0;\n var ctx = this.plot_view.canvas_view.ctx;\n visuals.set_value(ctx);\n var hscale;\n var angle;\n if (types_1.isString(orient)) {\n hscale = 1;\n angle = this.panel.get_label_angle_heuristic(orient);\n }\n else {\n hscale = 2;\n angle = -orient;\n }\n angle = Math.abs(angle);\n var c = Math.cos(angle);\n var s = Math.sin(angle);\n var extent = 0;\n for (var i = 0; i < labels.length; i++) {\n var w = ctx.measureText(labels[i]).width * 1.1;\n var h = ctx.measureText(labels[i]).ascent * 0.9;\n var val = void 0;\n if (side == \"above\" || side == \"below\")\n val = w * s + (h / hscale) * c;\n else\n val = w * c + (h / hscale) * s;\n // update extent if current value is larger\n if (val > extent)\n extent = val;\n }\n // only apply the standoff if we already have non-zero extent\n if (extent > 0)\n extent += standoff;\n return extent;\n };\n Object.defineProperty(AxisView.prototype, \"normals\", {\n // {{{ TODO: state\n get: function () {\n return this.panel.normals;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AxisView.prototype, \"dimension\", {\n get: function () {\n return this.panel.dimension;\n },\n enumerable: true,\n configurable: true\n });\n AxisView.prototype.compute_labels = function (ticks) {\n var labels = this.model.formatter.doFormat(ticks, this);\n for (var i = 0; i < ticks.length; i++) {\n if (ticks[i] in this.model.major_label_overrides)\n labels[i] = this.model.major_label_overrides[ticks[i]];\n }\n return labels;\n };\n Object.defineProperty(AxisView.prototype, \"offsets\", {\n get: function () {\n // If we have a fixed_position then we should respect that exactly and\n // not apply any offsets (https://github.com/bokeh/bokeh/issues/8552)\n if (this.model.fixed_location != null)\n return [0, 0];\n var frame = this.plot_view.frame;\n var _a = [0, 0], xoff = _a[0], yoff = _a[1];\n switch (this.panel.side) {\n case \"below\":\n yoff = abs(this.panel._top.value - frame._bottom.value);\n break;\n case \"above\":\n yoff = abs(this.panel._bottom.value - frame._top.value);\n break;\n case \"right\":\n xoff = abs(this.panel._left.value - frame._right.value);\n break;\n case \"left\":\n xoff = abs(this.panel._right.value - frame._left.value);\n break;\n }\n return [xoff, yoff];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AxisView.prototype, \"ranges\", {\n get: function () {\n var i = this.dimension;\n var j = (i + 1) % 2;\n var frame = this.plot_view.frame;\n var ranges = [\n frame.x_ranges[this.model.x_range_name],\n frame.y_ranges[this.model.y_range_name],\n ];\n return [ranges[i], ranges[j]];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AxisView.prototype, \"computed_bounds\", {\n get: function () {\n var range = this.ranges[0];\n var user_bounds = this.model.bounds; // XXX: ? 'auto'\n var range_bounds = [range.min, range.max];\n if (user_bounds == 'auto')\n return [range.min, range.max];\n else if (types_1.isArray(user_bounds)) {\n var start = void 0;\n var end = void 0;\n var user_start = user_bounds[0], user_end = user_bounds[1];\n var range_start = range_bounds[0], range_end = range_bounds[1];\n if (abs(user_start - user_end) > abs(range_start - range_end)) {\n start = max(min(user_start, user_end), range_start);\n end = min(max(user_start, user_end), range_end);\n }\n else {\n start = min(user_start, user_end);\n end = max(user_start, user_end);\n }\n return [start, end];\n }\n else\n throw new Error(\"user bounds '\" + user_bounds + \"' not understood\");\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AxisView.prototype, \"rule_coords\", {\n get: function () {\n var i = this.dimension;\n var j = (i + 1) % 2;\n var range = this.ranges[0];\n var _a = this.computed_bounds, start = _a[0], end = _a[1];\n var xs = new Array(2);\n var ys = new Array(2);\n var coords = [xs, ys];\n coords[i][0] = Math.max(start, range.min);\n coords[i][1] = Math.min(end, range.max);\n if (coords[i][0] > coords[i][1])\n coords[i][0] = coords[i][1] = NaN;\n coords[j][0] = this.loc;\n coords[j][1] = this.loc;\n return coords;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AxisView.prototype, \"tick_coords\", {\n get: function () {\n var i = this.dimension;\n var j = (i + 1) % 2;\n var range = this.ranges[0];\n var _a = this.computed_bounds, start = _a[0], end = _a[1];\n var ticks = this.model.ticker.get_ticks(start, end, range, this.loc, {});\n var majors = ticks.major;\n var minors = ticks.minor;\n var xs = [];\n var ys = [];\n var coords = [xs, ys];\n var minor_xs = [];\n var minor_ys = [];\n var minor_coords = [minor_xs, minor_ys];\n var _b = [range.min, range.max], range_min = _b[0], range_max = _b[1];\n for (var ii = 0; ii < majors.length; ii++) {\n if (majors[ii] < range_min || majors[ii] > range_max)\n continue;\n coords[i].push(majors[ii]);\n coords[j].push(this.loc);\n }\n for (var ii = 0; ii < minors.length; ii++) {\n if (minors[ii] < range_min || minors[ii] > range_max)\n continue;\n minor_coords[i].push(minors[ii]);\n minor_coords[j].push(this.loc);\n }\n return {\n major: coords,\n minor: minor_coords,\n };\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(AxisView.prototype, \"loc\", {\n get: function () {\n var fixed_location = this.model.fixed_location;\n if (fixed_location != null) {\n if (types_1.isNumber(fixed_location))\n return fixed_location;\n var _a = this.ranges, cross_range_1 = _a[1];\n if (cross_range_1 instanceof factor_range_1.FactorRange)\n return cross_range_1.synthetic(fixed_location);\n throw new Error(\"unexpected\");\n }\n var _b = this.ranges, cross_range = _b[1];\n switch (this.panel.side) {\n case 'left':\n case 'below':\n return cross_range.start;\n case 'right':\n case 'above':\n return cross_range.end;\n }\n },\n enumerable: true,\n configurable: true\n });\n // }}}\n AxisView.prototype.serializable_state = function () {\n return tslib_1.__assign({}, _super.prototype.serializable_state.call(this), { bbox: this.layout.bbox.rect });\n };\n return AxisView;\n }(guide_renderer_1.GuideRendererView));\n exports.AxisView = AxisView;\n var Axis = /** @class */ (function (_super) {\n tslib_1.__extends(Axis, _super);\n function Axis(attrs) {\n return _super.call(this, attrs) || this;\n }\n Axis.initClass = function () {\n this.prototype.type = \"Axis\";\n this.prototype.default_view = AxisView;\n this.mixins([\n 'line:axis_',\n 'line:major_tick_',\n 'line:minor_tick_',\n 'text:major_label_',\n 'text:axis_label_',\n ]);\n this.define({\n bounds: [p.Any, 'auto'],\n ticker: [p.Instance],\n formatter: [p.Instance],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n axis_label: [p.String, ''],\n axis_label_standoff: [p.Int, 5],\n major_label_standoff: [p.Int, 5],\n major_label_orientation: [p.Any, \"horizontal\"],\n major_label_overrides: [p.Any, {}],\n major_tick_in: [p.Number, 2],\n major_tick_out: [p.Number, 6],\n minor_tick_in: [p.Number, 0],\n minor_tick_out: [p.Number, 4],\n fixed_location: [p.Any, null],\n });\n this.override({\n axis_line_color: 'black',\n major_tick_line_color: 'black',\n minor_tick_line_color: 'black',\n major_label_text_font_size: \"8pt\",\n major_label_text_align: \"center\",\n major_label_text_baseline: \"alphabetic\",\n axis_label_text_font_size: \"10pt\",\n axis_label_text_font_style: \"italic\",\n });\n };\n return Axis;\n }(guide_renderer_1.GuideRenderer));\n exports.Axis = Axis;\n Axis.initClass();\n}\n","/* models/axes/categorical_axis */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var axis_1 = require(82) /* ./axis */;\n var categorical_ticker_1 = require(226) /* ../tickers/categorical_ticker */;\n var categorical_tick_formatter_1 = require(108) /* ../formatters/categorical_tick_formatter */;\n var p = require(18) /* ../../core/properties */;\n var CategoricalAxisView = /** @class */ (function (_super) {\n tslib_1.__extends(CategoricalAxisView, _super);\n function CategoricalAxisView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CategoricalAxisView.prototype._render = function (ctx, extents, tick_coords) {\n this._draw_group_separators(ctx, extents, tick_coords);\n };\n CategoricalAxisView.prototype._draw_group_separators = function (ctx, _extents, _tick_coords) {\n var _a;\n var range = this.ranges[0];\n var _b = this.computed_bounds, start = _b[0], end = _b[1];\n if (!range.tops || range.tops.length < 2 || !this.visuals.separator_line.doit)\n return;\n var dim = this.dimension;\n var alt = (dim + 1) % 2;\n var coords = [[], []];\n var ind = 0;\n for (var i = 0; i < range.tops.length - 1; i++) {\n var first = void 0, last = void 0;\n for (var j = ind; j < range.factors.length; j++) {\n if (range.factors[j][0] == range.tops[i + 1]) {\n _a = [range.factors[j - 1], range.factors[j]], first = _a[0], last = _a[1];\n ind = j;\n break;\n }\n }\n var pt = (range.synthetic(first) + range.synthetic(last)) / 2;\n if (pt > start && pt < end) {\n coords[dim].push(pt);\n coords[alt].push(this.loc);\n }\n }\n var tex = this._tick_label_extent();\n this._draw_ticks(ctx, coords, -3, (tex - 6), this.visuals.separator_line);\n };\n CategoricalAxisView.prototype._draw_major_labels = function (ctx, extents, _tick_coords) {\n var info = this._get_factor_info();\n var standoff = extents.tick + this.model.major_label_standoff;\n for (var i = 0; i < info.length; i++) {\n var _a = info[i], labels = _a[0], coords = _a[1], orient = _a[2], visuals_1 = _a[3];\n this._draw_oriented_labels(ctx, labels, coords, orient, this.panel.side, standoff, visuals_1);\n standoff += extents.tick_label[i];\n }\n };\n CategoricalAxisView.prototype._tick_label_extents = function () {\n var info = this._get_factor_info();\n var extents = [];\n for (var _i = 0, info_1 = info; _i < info_1.length; _i++) {\n var _a = info_1[_i], labels = _a[0], orient = _a[2], visuals_2 = _a[3];\n var extent = this._oriented_labels_extent(labels, orient, this.panel.side, this.model.major_label_standoff, visuals_2);\n extents.push(extent);\n }\n return extents;\n };\n CategoricalAxisView.prototype._get_factor_info = function () {\n var range = this.ranges[0];\n var _a = this.computed_bounds, start = _a[0], end = _a[1];\n var loc = this.loc;\n var ticks = this.model.ticker.get_ticks(start, end, range, loc, {});\n var coords = this.tick_coords;\n var info = [];\n if (range.levels == 1) {\n var major = ticks.major;\n var labels = this.model.formatter.doFormat(major, this);\n info.push([labels, coords.major, this.model.major_label_orientation, this.visuals.major_label_text]);\n }\n else if (range.levels == 2) {\n var major = ticks.major.map(function (x) { return x[1]; });\n var labels = this.model.formatter.doFormat(major, this);\n info.push([labels, coords.major, this.model.major_label_orientation, this.visuals.major_label_text]);\n info.push([ticks.tops, coords.tops, this.model.group_label_orientation, this.visuals.group_text]);\n }\n else if (range.levels == 3) {\n var major = ticks.major.map(function (x) { return x[2]; });\n var labels = this.model.formatter.doFormat(major, this);\n var mid_labels = ticks.mids.map(function (x) { return x[1]; });\n info.push([labels, coords.major, this.model.major_label_orientation, this.visuals.major_label_text]);\n info.push([mid_labels, coords.mids, this.model.subgroup_label_orientation, this.visuals.subgroup_text]);\n info.push([ticks.tops, coords.tops, this.model.group_label_orientation, this.visuals.group_text]);\n }\n return info;\n };\n Object.defineProperty(CategoricalAxisView.prototype, \"tick_coords\", {\n // {{{ TODO: state\n get: function () {\n var _this = this;\n var i = this.dimension;\n var j = (i + 1) % 2;\n var range = this.ranges[0];\n var _a = this.computed_bounds, start = _a[0], end = _a[1];\n var ticks = this.model.ticker.get_ticks(start, end, range, this.loc, {});\n var coords = {\n major: [[], []],\n mids: [[], []],\n tops: [[], []],\n minor: [[], []],\n };\n coords.major[i] = ticks.major;\n coords.major[j] = ticks.major.map(function (_x) { return _this.loc; });\n if (range.levels == 3)\n coords.mids[i] = ticks.mids;\n coords.mids[j] = ticks.mids.map(function (_x) { return _this.loc; });\n if (range.levels > 1)\n coords.tops[i] = ticks.tops;\n coords.tops[j] = ticks.tops.map(function (_x) { return _this.loc; });\n return coords;\n },\n enumerable: true,\n configurable: true\n });\n return CategoricalAxisView;\n }(axis_1.AxisView));\n exports.CategoricalAxisView = CategoricalAxisView;\n var CategoricalAxis = /** @class */ (function (_super) {\n tslib_1.__extends(CategoricalAxis, _super);\n function CategoricalAxis(attrs) {\n return _super.call(this, attrs) || this;\n }\n CategoricalAxis.initClass = function () {\n this.prototype.type = \"CategoricalAxis\";\n this.prototype.default_view = CategoricalAxisView;\n this.mixins([\n \"line:separator_\",\n \"text:group_\",\n \"text:subgroup_\",\n ]);\n this.define({\n group_label_orientation: [p.Any, \"parallel\"],\n subgroup_label_orientation: [p.Any, \"parallel\"],\n });\n this.override({\n ticker: function () { return new categorical_ticker_1.CategoricalTicker(); },\n formatter: function () { return new categorical_tick_formatter_1.CategoricalTickFormatter(); },\n separator_line_color: \"lightgrey\",\n separator_line_width: 2,\n group_text_font_style: \"bold\",\n group_text_font_size: \"8pt\",\n group_text_color: \"grey\",\n subgroup_text_font_style: \"bold\",\n subgroup_text_font_size: \"8pt\",\n });\n };\n return CategoricalAxis;\n }(axis_1.Axis));\n exports.CategoricalAxis = CategoricalAxis;\n CategoricalAxis.initClass();\n}\n","/* models/axes/continuous_axis */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var axis_1 = require(82) /* ./axis */;\n var ContinuousAxis = /** @class */ (function (_super) {\n tslib_1.__extends(ContinuousAxis, _super);\n function ContinuousAxis(attrs) {\n return _super.call(this, attrs) || this;\n }\n ContinuousAxis.initClass = function () {\n this.prototype.type = \"ContinuousAxis\";\n };\n return ContinuousAxis;\n }(axis_1.Axis));\n exports.ContinuousAxis = ContinuousAxis;\n ContinuousAxis.initClass();\n}\n","/* models/axes/datetime_axis */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var linear_axis_1 = require(87) /* ./linear_axis */;\n var datetime_tick_formatter_1 = require(109) /* ../formatters/datetime_tick_formatter */;\n var datetime_ticker_1 = require(229) /* ../tickers/datetime_ticker */;\n var DatetimeAxisView = /** @class */ (function (_super) {\n tslib_1.__extends(DatetimeAxisView, _super);\n function DatetimeAxisView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return DatetimeAxisView;\n }(linear_axis_1.LinearAxisView));\n exports.DatetimeAxisView = DatetimeAxisView;\n var DatetimeAxis = /** @class */ (function (_super) {\n tslib_1.__extends(DatetimeAxis, _super);\n function DatetimeAxis(attrs) {\n return _super.call(this, attrs) || this;\n }\n DatetimeAxis.initClass = function () {\n this.prototype.type = \"DatetimeAxis\";\n this.prototype.default_view = DatetimeAxisView;\n this.override({\n ticker: function () { return new datetime_ticker_1.DatetimeTicker(); },\n formatter: function () { return new datetime_tick_formatter_1.DatetimeTickFormatter(); },\n });\n };\n return DatetimeAxis;\n }(linear_axis_1.LinearAxis));\n exports.DatetimeAxis = DatetimeAxis;\n DatetimeAxis.initClass();\n}\n","/* models/axes/index */ function _(require, module, exports) {\n var axis_1 = require(82) /* ./axis */;\n exports.Axis = axis_1.Axis;\n var categorical_axis_1 = require(83) /* ./categorical_axis */;\n exports.CategoricalAxis = categorical_axis_1.CategoricalAxis;\n var continuous_axis_1 = require(84) /* ./continuous_axis */;\n exports.ContinuousAxis = continuous_axis_1.ContinuousAxis;\n var datetime_axis_1 = require(85) /* ./datetime_axis */;\n exports.DatetimeAxis = datetime_axis_1.DatetimeAxis;\n var linear_axis_1 = require(87) /* ./linear_axis */;\n exports.LinearAxis = linear_axis_1.LinearAxis;\n var log_axis_1 = require(88) /* ./log_axis */;\n exports.LogAxis = log_axis_1.LogAxis;\n var mercator_axis_1 = require(89) /* ./mercator_axis */;\n exports.MercatorAxis = mercator_axis_1.MercatorAxis;\n}\n","/* models/axes/linear_axis */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var axis_1 = require(82) /* ./axis */;\n var continuous_axis_1 = require(84) /* ./continuous_axis */;\n var basic_tick_formatter_1 = require(107) /* ../formatters/basic_tick_formatter */;\n var basic_ticker_1 = require(225) /* ../tickers/basic_ticker */;\n var LinearAxisView = /** @class */ (function (_super) {\n tslib_1.__extends(LinearAxisView, _super);\n function LinearAxisView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return LinearAxisView;\n }(axis_1.AxisView));\n exports.LinearAxisView = LinearAxisView;\n var LinearAxis = /** @class */ (function (_super) {\n tslib_1.__extends(LinearAxis, _super);\n function LinearAxis(attrs) {\n return _super.call(this, attrs) || this;\n }\n LinearAxis.initClass = function () {\n this.prototype.type = \"LinearAxis\";\n this.prototype.default_view = LinearAxisView;\n this.override({\n ticker: function () { return new basic_ticker_1.BasicTicker(); },\n formatter: function () { return new basic_tick_formatter_1.BasicTickFormatter(); },\n });\n };\n return LinearAxis;\n }(continuous_axis_1.ContinuousAxis));\n exports.LinearAxis = LinearAxis;\n LinearAxis.initClass();\n}\n","/* models/axes/log_axis */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var axis_1 = require(82) /* ./axis */;\n var continuous_axis_1 = require(84) /* ./continuous_axis */;\n var log_tick_formatter_1 = require(112) /* ../formatters/log_tick_formatter */;\n var log_ticker_1 = require(233) /* ../tickers/log_ticker */;\n var LogAxisView = /** @class */ (function (_super) {\n tslib_1.__extends(LogAxisView, _super);\n function LogAxisView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return LogAxisView;\n }(axis_1.AxisView));\n exports.LogAxisView = LogAxisView;\n var LogAxis = /** @class */ (function (_super) {\n tslib_1.__extends(LogAxis, _super);\n function LogAxis(attrs) {\n return _super.call(this, attrs) || this;\n }\n LogAxis.initClass = function () {\n this.prototype.type = \"LogAxis\";\n this.prototype.default_view = LogAxisView;\n this.override({\n ticker: function () { return new log_ticker_1.LogTicker(); },\n formatter: function () { return new log_tick_formatter_1.LogTickFormatter(); },\n });\n };\n return LogAxis;\n }(continuous_axis_1.ContinuousAxis));\n exports.LogAxis = LogAxis;\n LogAxis.initClass();\n}\n","/* models/axes/mercator_axis */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var axis_1 = require(82) /* ./axis */;\n var linear_axis_1 = require(87) /* ./linear_axis */;\n var mercator_tick_formatter_1 = require(113) /* ../formatters/mercator_tick_formatter */;\n var mercator_ticker_1 = require(234) /* ../tickers/mercator_ticker */;\n var MercatorAxisView = /** @class */ (function (_super) {\n tslib_1.__extends(MercatorAxisView, _super);\n function MercatorAxisView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return MercatorAxisView;\n }(axis_1.AxisView));\n exports.MercatorAxisView = MercatorAxisView;\n var MercatorAxis = /** @class */ (function (_super) {\n tslib_1.__extends(MercatorAxis, _super);\n function MercatorAxis(attrs) {\n return _super.call(this, attrs) || this;\n }\n MercatorAxis.initClass = function () {\n this.prototype.type = \"MercatorAxis\";\n this.prototype.default_view = MercatorAxisView;\n this.override({\n ticker: function () { return new mercator_ticker_1.MercatorTicker({ dimension: \"lat\" }); },\n formatter: function () { return new mercator_tick_formatter_1.MercatorTickFormatter({ dimension: \"lat\" }); },\n });\n };\n return MercatorAxis;\n }(linear_axis_1.LinearAxis));\n exports.MercatorAxis = MercatorAxis;\n MercatorAxis.initClass();\n}\n","/* models/callbacks/callback */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var Callback = /** @class */ (function (_super) {\n tslib_1.__extends(Callback, _super);\n function Callback(attrs) {\n return _super.call(this, attrs) || this;\n }\n Callback.initClass = function () {\n this.prototype.type = 'Callback';\n };\n return Callback;\n }(model_1.Model));\n exports.Callback = Callback;\n Callback.initClass();\n}\n","/* models/callbacks/customjs */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var callback_1 = require(90) /* ./callback */;\n var p = require(18) /* ../../core/properties */;\n var object_1 = require(35) /* ../../core/util/object */;\n var string_1 = require(40) /* ../../core/util/string */;\n var CustomJS = /** @class */ (function (_super) {\n tslib_1.__extends(CustomJS, _super);\n function CustomJS(attrs) {\n return _super.call(this, attrs) || this;\n }\n CustomJS.initClass = function () {\n this.prototype.type = 'CustomJS';\n this.define({\n args: [p.Any, {}],\n code: [p.String, ''],\n use_strict: [p.Boolean, false],\n });\n };\n Object.defineProperty(CustomJS.prototype, \"names\", {\n get: function () {\n return object_1.keys(this.args);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CustomJS.prototype, \"values\", {\n get: function () {\n return object_1.values(this.args);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CustomJS.prototype, \"func\", {\n get: function () {\n var code = this.use_strict ? string_1.use_strict(this.code) : this.code;\n return new (Function.bind.apply(Function, [void 0].concat(this.names, [\"cb_obj\", \"cb_data\", \"require\", \"exports\", code])))();\n },\n enumerable: true,\n configurable: true\n });\n CustomJS.prototype.execute = function (cb_obj, cb_data) {\n if (cb_data === void 0) {\n cb_data = {};\n }\n return this.func.apply(cb_obj, this.values.concat(cb_obj, cb_data, require, {}));\n };\n return CustomJS;\n }(callback_1.Callback));\n exports.CustomJS = CustomJS;\n CustomJS.initClass();\n}\n","/* models/callbacks/index */ function _(require, module, exports) {\n var customjs_1 = require(91) /* ./customjs */;\n exports.CustomJS = customjs_1.CustomJS;\n var open_url_1 = require(93) /* ./open_url */;\n exports.OpenURL = open_url_1.OpenURL;\n}\n","/* models/callbacks/open_url */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var callback_1 = require(90) /* ./callback */;\n var templating_1 = require(42) /* ../../core/util/templating */;\n var p = require(18) /* ../../core/properties */;\n var OpenURL = /** @class */ (function (_super) {\n tslib_1.__extends(OpenURL, _super);\n function OpenURL(attrs) {\n return _super.call(this, attrs) || this;\n }\n OpenURL.initClass = function () {\n this.prototype.type = 'OpenURL';\n this.define({\n url: [p.String, 'http://'],\n same_tab: [p.Boolean, false],\n });\n };\n OpenURL.prototype.execute = function (_cb_obj, _a) {\n var _this = this;\n var source = _a.source;\n var open_url = function (i) {\n var url = templating_1.replace_placeholders(_this.url, source, i);\n if (_this.same_tab)\n window.location.href = url;\n else\n window.open(url);\n };\n var selected = source.selected;\n for (var _i = 0, _b = selected.indices; _i < _b.length; _i++) {\n var i = _b[_i];\n open_url(i);\n }\n for (var _c = 0, _d = selected.line_indices; _c < _d.length; _c++) {\n var i = _d[_c];\n open_url(i);\n }\n // TODO: multiline_indices: {[key: string]: number[]}\n };\n return OpenURL;\n }(callback_1.Callback));\n exports.OpenURL = OpenURL;\n OpenURL.initClass();\n}\n","/* models/canvas/canvas */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var has_props_1 = require(8) /* ../../core/has_props */;\n var dom_view_1 = require(6) /* ../../core/dom_view */;\n var logging_1 = require(17) /* ../../core/logging */;\n var p = require(18) /* ../../core/properties */;\n var dom_1 = require(5) /* ../../core/dom */;\n var bbox_1 = require(27) /* ../../core/util/bbox */;\n var compat_1 = require(31) /* ../../core/util/compat */;\n var canvas_1 = require(29) /* ../../core/util/canvas */;\n // fixes up a problem with some versions of IE11\n // ref: http://stackoverflow.com/questions/22062313/imagedata-set-in-internetexplorer\n if (compat_1.is_ie && typeof CanvasPixelArray !== \"undefined\") {\n CanvasPixelArray.prototype.set = function (arr) {\n for (var i = 0; i < this.length; i++) {\n this[i] = arr[i];\n }\n };\n }\n var canvas2svg = require(305) /* canvas2svg */;\n var CanvasView = /** @class */ (function (_super) {\n tslib_1.__extends(CanvasView, _super);\n function CanvasView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CanvasView.prototype, \"ctx\", {\n get: function () {\n return this._ctx;\n },\n enumerable: true,\n configurable: true\n });\n CanvasView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.map_el = this.model.map ? this.el.appendChild(dom_1.div({ class: \"bk-canvas-map\" })) : null;\n var style = {\n position: \"absolute\",\n top: \"0\",\n left: \"0\",\n width: \"100%\",\n height: \"100%\",\n };\n switch (this.model.output_backend) {\n case \"canvas\":\n case \"webgl\": {\n this.canvas_el = this.el.appendChild(dom_1.canvas({ class: \"bk-canvas\", style: style }));\n var ctx = this.canvas_el.getContext('2d');\n if (ctx == null)\n throw new Error(\"unable to obtain 2D rendering context\");\n this._ctx = ctx;\n break;\n }\n case \"svg\": {\n var ctx = new canvas2svg();\n this._ctx = ctx;\n this.canvas_el = this.el.appendChild(ctx.getSvg());\n break;\n }\n }\n this.overlays_el = this.el.appendChild(dom_1.div({ class: \"bk-canvas-overlays\", style: style }));\n this.events_el = this.el.appendChild(dom_1.div({ class: \"bk-canvas-events\", style: style }));\n canvas_1.fixup_ctx(this._ctx);\n logging_1.logger.debug(\"CanvasView initialized\");\n };\n CanvasView.prototype.get_canvas_element = function () {\n return this.canvas_el;\n };\n CanvasView.prototype.prepare_canvas = function (width, height) {\n // Ensure canvas has the correct size, taking HIDPI into account\n this.bbox = new bbox_1.BBox({ left: 0, top: 0, width: width, height: height });\n this.el.style.width = width + \"px\";\n this.el.style.height = height + \"px\";\n var pixel_ratio = canvas_1.get_scale_ratio(this.ctx, this.model.use_hidpi, this.model.output_backend);\n this.model.pixel_ratio = pixel_ratio;\n this.canvas_el.style.width = width + \"px\";\n this.canvas_el.style.height = height + \"px\";\n // XXX: io.export and canvas2svg don't like this\n // this.canvas_el.width = width*pixel_ratio\n // this.canvas_el.height = height*pixel_ratio\n this.canvas_el.setAttribute(\"width\", \"\" + width * pixel_ratio);\n this.canvas_el.setAttribute(\"height\", \"\" + height * pixel_ratio);\n logging_1.logger.debug(\"Rendering CanvasView with width: \" + width + \", height: \" + height + \", pixel ratio: \" + pixel_ratio);\n };\n return CanvasView;\n }(dom_view_1.DOMView));\n exports.CanvasView = CanvasView;\n var Canvas = /** @class */ (function (_super) {\n tslib_1.__extends(Canvas, _super);\n function Canvas(attrs) {\n return _super.call(this, attrs) || this;\n }\n Canvas.initClass = function () {\n this.prototype.type = \"Canvas\";\n this.prototype.default_view = CanvasView;\n this.internal({\n map: [p.Boolean, false],\n use_hidpi: [p.Boolean, true],\n pixel_ratio: [p.Number, 1],\n output_backend: [p.OutputBackend, \"canvas\"],\n });\n };\n return Canvas;\n }(has_props_1.HasProps));\n exports.Canvas = Canvas;\n Canvas.initClass();\n}\n","/* models/canvas/cartesian_frame */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var categorical_scale_1 = require(202) /* ../scales/categorical_scale */;\n var linear_scale_1 = require(204) /* ../scales/linear_scale */;\n var log_scale_1 = require(205) /* ../scales/log_scale */;\n var range1d_1 = require(195) /* ../ranges/range1d */;\n var data_range1d_1 = require(191) /* ../ranges/data_range1d */;\n var factor_range_1 = require(192) /* ../ranges/factor_range */;\n var layout_1 = require(13) /* ../../core/layout */;\n var CartesianFrame = /** @class */ (function (_super) {\n tslib_1.__extends(CartesianFrame, _super);\n function CartesianFrame(x_scale, y_scale, x_range, y_range, extra_x_ranges, extra_y_ranges) {\n if (extra_x_ranges === void 0) {\n extra_x_ranges = {};\n }\n if (extra_y_ranges === void 0) {\n extra_y_ranges = {};\n }\n var _this = _super.call(this) || this;\n _this.x_scale = x_scale;\n _this.y_scale = y_scale;\n _this.x_range = x_range;\n _this.y_range = y_range;\n _this.extra_x_ranges = extra_x_ranges;\n _this.extra_y_ranges = extra_y_ranges;\n _this._configure_scales();\n return _this;\n }\n CartesianFrame.prototype.map_to_screen = function (x, y, x_name, y_name) {\n if (x_name === void 0) {\n x_name = \"default\";\n }\n if (y_name === void 0) {\n y_name = \"default\";\n }\n var sx = this.xscales[x_name].v_compute(x);\n var sy = this.yscales[y_name].v_compute(y);\n return [sx, sy];\n };\n CartesianFrame.prototype._get_ranges = function (range, extra_ranges) {\n var ranges = {};\n ranges.default = range;\n if (extra_ranges != null) {\n for (var name_1 in extra_ranges)\n ranges[name_1] = extra_ranges[name_1];\n }\n return ranges;\n };\n /*protected*/ CartesianFrame.prototype._get_scales = function (scale, ranges, frame_range) {\n var scales = {};\n for (var name_2 in ranges) {\n var range = ranges[name_2];\n if (range instanceof data_range1d_1.DataRange1d || range instanceof range1d_1.Range1d) {\n if (!(scale instanceof log_scale_1.LogScale) && !(scale instanceof linear_scale_1.LinearScale))\n throw new Error(\"Range \" + range.type + \" is incompatible is Scale \" + scale.type);\n // XXX: special case because CategoricalScale is a subclass of LinearScale, should be removed in future\n if (scale instanceof categorical_scale_1.CategoricalScale)\n throw new Error(\"Range \" + range.type + \" is incompatible is Scale \" + scale.type);\n }\n if (range instanceof factor_range_1.FactorRange) {\n if (!(scale instanceof categorical_scale_1.CategoricalScale))\n throw new Error(\"Range \" + range.type + \" is incompatible is Scale \" + scale.type);\n }\n if (scale instanceof log_scale_1.LogScale && range instanceof data_range1d_1.DataRange1d)\n range.scale_hint = \"log\";\n var s = scale.clone();\n s.setv({ source_range: range, target_range: frame_range });\n scales[name_2] = s;\n }\n return scales;\n };\n CartesianFrame.prototype._configure_frame_ranges = function () {\n // data to/from screen space transform (left-bottom <-> left-top origin)\n this._h_target = new range1d_1.Range1d({ start: this._left.value, end: this._right.value });\n this._v_target = new range1d_1.Range1d({ start: this._bottom.value, end: this._top.value });\n };\n CartesianFrame.prototype._configure_scales = function () {\n this._configure_frame_ranges();\n this._x_ranges = this._get_ranges(this.x_range, this.extra_x_ranges);\n this._y_ranges = this._get_ranges(this.y_range, this.extra_y_ranges);\n this._xscales = this._get_scales(this.x_scale, this._x_ranges, this._h_target);\n this._yscales = this._get_scales(this.y_scale, this._y_ranges, this._v_target);\n };\n CartesianFrame.prototype._update_scales = function () {\n this._configure_frame_ranges();\n for (var name_3 in this._xscales) {\n var scale = this._xscales[name_3];\n scale.target_range = this._h_target;\n }\n for (var name_4 in this._yscales) {\n var scale = this._yscales[name_4];\n scale.target_range = this._v_target;\n }\n };\n CartesianFrame.prototype._set_geometry = function (outer, inner) {\n _super.prototype._set_geometry.call(this, outer, inner);\n this._update_scales();\n };\n Object.defineProperty(CartesianFrame.prototype, \"x_ranges\", {\n get: function () {\n return this._x_ranges;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CartesianFrame.prototype, \"y_ranges\", {\n get: function () {\n return this._y_ranges;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CartesianFrame.prototype, \"xscales\", {\n get: function () {\n return this._xscales;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CartesianFrame.prototype, \"yscales\", {\n get: function () {\n return this._yscales;\n },\n enumerable: true,\n configurable: true\n });\n return CartesianFrame;\n }(layout_1.LayoutItem));\n exports.CartesianFrame = CartesianFrame;\n}\n","/* models/canvas/index */ function _(require, module, exports) {\n var canvas_1 = require(94) /* ./canvas */;\n exports.Canvas = canvas_1.Canvas;\n var cartesian_frame_1 = require(95) /* ./cartesian_frame */;\n exports.CartesianFrame = cartesian_frame_1.CartesianFrame;\n}\n","/* models/expressions/cumsum */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var expression_1 = require(98) /* ./expression */;\n var p = require(18) /* ../../core/properties */;\n var CumSum = /** @class */ (function (_super) {\n tslib_1.__extends(CumSum, _super);\n function CumSum(attrs) {\n return _super.call(this, attrs) || this;\n }\n CumSum.initClass = function () {\n this.prototype.type = \"CumSum\";\n this.define({\n field: [p.String],\n include_zero: [p.Boolean, false],\n });\n };\n CumSum.prototype._v_compute = function (source) {\n var result = new Float64Array(source.get_length() || 0);\n var col = source.data[this.field];\n var offset = this.include_zero ? 1 : 0;\n result[0] = this.include_zero ? 0 : col[0];\n for (var i = 1; i < result.length; i++) {\n result[i] = result[i - 1] + col[i - offset];\n }\n return result;\n };\n return CumSum;\n }(expression_1.Expression));\n exports.CumSum = CumSum;\n CumSum.initClass();\n}\n","/* models/expressions/expression */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var Expression = /** @class */ (function (_super) {\n tslib_1.__extends(Expression, _super);\n function Expression(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this._connected = {};\n _this._result = {};\n return _this;\n }\n Expression.initClass = function () {\n this.prototype.type = \"Expression\";\n };\n Expression.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._connected = {};\n this._result = {};\n };\n Expression.prototype.v_compute = function (source) {\n var _this = this;\n if (this._connected[source.id] == null) {\n this.connect(source.change, function () { return delete _this._result[source.id]; });\n this.connect(source.patching, function () { return delete _this._result[source.id]; });\n this.connect(source.streaming, function () { return delete _this._result[source.id]; });\n this._connected[source.id] = true;\n }\n var result = this._result[source.id];\n if (result == null)\n this._result[source.id] = result = this._v_compute(source);\n return result;\n };\n return Expression;\n }(model_1.Model));\n exports.Expression = Expression;\n Expression.initClass();\n}\n","/* models/expressions/index */ function _(require, module, exports) {\n var expression_1 = require(98) /* ./expression */;\n exports.Expression = expression_1.Expression;\n var stack_1 = require(100) /* ./stack */;\n exports.Stack = stack_1.Stack;\n var cumsum_1 = require(97) /* ./cumsum */;\n exports.CumSum = cumsum_1.CumSum;\n}\n","/* models/expressions/stack */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var expression_1 = require(98) /* ./expression */;\n var p = require(18) /* ../../core/properties */;\n var Stack = /** @class */ (function (_super) {\n tslib_1.__extends(Stack, _super);\n function Stack(attrs) {\n return _super.call(this, attrs) || this;\n }\n Stack.initClass = function () {\n this.prototype.type = \"Stack\";\n this.define({\n fields: [p.Array, []],\n });\n };\n Stack.prototype._v_compute = function (source) {\n var result = new Float64Array(source.get_length() || 0);\n for (var _i = 0, _a = this.fields; _i < _a.length; _i++) {\n var f = _a[_i];\n for (var i = 0; i < source.data[f].length; i++) {\n var x = source.data[f][i];\n result[i] += x;\n }\n }\n return result;\n };\n return Stack;\n }(expression_1.Expression));\n exports.Stack = Stack;\n Stack.initClass();\n}\n","/* models/filters/boolean_filter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var filter_1 = require(103) /* ./filter */;\n var p = require(18) /* ../../core/properties */;\n var logging_1 = require(17) /* ../../core/logging */;\n var array_1 = require(24) /* ../../core/util/array */;\n var types_1 = require(46) /* ../../core/util/types */;\n var BooleanFilter = /** @class */ (function (_super) {\n tslib_1.__extends(BooleanFilter, _super);\n function BooleanFilter(attrs) {\n return _super.call(this, attrs) || this;\n }\n BooleanFilter.initClass = function () {\n this.prototype.type = 'BooleanFilter';\n this.define({\n booleans: [p.Array, null],\n });\n };\n BooleanFilter.prototype.compute_indices = function (source) {\n var booleans = this.booleans;\n if (booleans != null && booleans.length > 0) {\n if (array_1.every(booleans, types_1.isBoolean)) {\n if (booleans.length !== source.get_length()) {\n logging_1.logger.warn(\"BooleanFilter \" + this.id + \": length of booleans doesn't match data source\");\n }\n return array_1.range(0, booleans.length).filter(function (i) { return booleans[i] === true; });\n }\n else {\n logging_1.logger.warn(\"BooleanFilter \" + this.id + \": booleans should be array of booleans, defaulting to no filtering\");\n return null;\n }\n }\n else {\n if (booleans != null && booleans.length == 0)\n logging_1.logger.warn(\"BooleanFilter \" + this.id + \": booleans is empty, defaulting to no filtering\");\n else\n logging_1.logger.warn(\"BooleanFilter \" + this.id + \": booleans was not set, defaulting to no filtering\");\n return null;\n }\n };\n return BooleanFilter;\n }(filter_1.Filter));\n exports.BooleanFilter = BooleanFilter;\n BooleanFilter.initClass();\n}\n","/* models/filters/customjs_filter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var filter_1 = require(103) /* ./filter */;\n var p = require(18) /* ../../core/properties */;\n var object_1 = require(35) /* ../../core/util/object */;\n var string_1 = require(40) /* ../../core/util/string */;\n var CustomJSFilter = /** @class */ (function (_super) {\n tslib_1.__extends(CustomJSFilter, _super);\n function CustomJSFilter(attrs) {\n return _super.call(this, attrs) || this;\n }\n CustomJSFilter.initClass = function () {\n this.prototype.type = 'CustomJSFilter';\n this.define({\n args: [p.Any, {}],\n code: [p.String, ''],\n use_strict: [p.Boolean, false],\n });\n };\n Object.defineProperty(CustomJSFilter.prototype, \"names\", {\n get: function () {\n return object_1.keys(this.args);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CustomJSFilter.prototype, \"values\", {\n get: function () {\n return object_1.values(this.args);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CustomJSFilter.prototype, \"func\", {\n get: function () {\n var code = this.use_strict ? string_1.use_strict(this.code) : this.code;\n return new (Function.bind.apply(Function, [void 0].concat(this.names, [\"source\", \"require\", \"exports\", code])))();\n },\n enumerable: true,\n configurable: true\n });\n CustomJSFilter.prototype.compute_indices = function (source) {\n this.filter = this.func.apply(this, this.values.concat([source, require, {}]));\n return _super.prototype.compute_indices.call(this, source);\n };\n return CustomJSFilter;\n }(filter_1.Filter));\n exports.CustomJSFilter = CustomJSFilter;\n CustomJSFilter.initClass();\n}\n","/* models/filters/filter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var p = require(18) /* ../../core/properties */;\n var types_1 = require(46) /* ../../core/util/types */;\n var array_1 = require(24) /* ../../core/util/array */;\n var logging_1 = require(17) /* ../../core/logging */;\n var Filter = /** @class */ (function (_super) {\n tslib_1.__extends(Filter, _super);\n function Filter(attrs) {\n return _super.call(this, attrs) || this;\n }\n Filter.initClass = function () {\n this.prototype.type = 'Filter';\n this.define({\n filter: [p.Array, null],\n });\n };\n Filter.prototype.compute_indices = function (_source) {\n var filter = this.filter;\n if (filter != null && filter.length >= 0) {\n if (types_1.isArrayOf(filter, types_1.isBoolean)) {\n return array_1.range(0, filter.length).filter(function (i) { return filter[i] === true; });\n }\n if (types_1.isArrayOf(filter, types_1.isInteger)) {\n return filter;\n }\n logging_1.logger.warn(\"Filter \" + this.id + \": filter should either be array of only booleans or only integers, defaulting to no filtering\");\n return null;\n }\n else {\n logging_1.logger.warn(\"Filter \" + this.id + \": filter was not set to be an array, defaulting to no filtering\");\n return null;\n }\n };\n return Filter;\n }(model_1.Model));\n exports.Filter = Filter;\n Filter.initClass();\n}\n","/* models/filters/group_filter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var filter_1 = require(103) /* ./filter */;\n var p = require(18) /* ../../core/properties */;\n var logging_1 = require(17) /* ../../core/logging */;\n var array_1 = require(24) /* ../../core/util/array */;\n var GroupFilter = /** @class */ (function (_super) {\n tslib_1.__extends(GroupFilter, _super);\n function GroupFilter(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.indices = null;\n return _this;\n }\n GroupFilter.initClass = function () {\n this.prototype.type = 'GroupFilter';\n this.define({\n column_name: [p.String],\n group: [p.String],\n });\n };\n GroupFilter.prototype.compute_indices = function (source) {\n var _this = this;\n var column = source.get_column(this.column_name);\n if (column == null) {\n logging_1.logger.warn(\"group filter: groupby column not found in data source\");\n return null;\n }\n else {\n this.indices = array_1.range(0, source.get_length() || 0).filter(function (i) { return column[i] === _this.group; });\n if (this.indices.length === 0) {\n logging_1.logger.warn(\"group filter: group '\" + this.group + \"' did not match any values in column '\" + this.column_name + \"'\");\n }\n return this.indices;\n }\n };\n return GroupFilter;\n }(filter_1.Filter));\n exports.GroupFilter = GroupFilter;\n GroupFilter.initClass();\n}\n","/* models/filters/index */ function _(require, module, exports) {\n var boolean_filter_1 = require(101) /* ./boolean_filter */;\n exports.BooleanFilter = boolean_filter_1.BooleanFilter;\n var customjs_filter_1 = require(102) /* ./customjs_filter */;\n exports.CustomJSFilter = customjs_filter_1.CustomJSFilter;\n var filter_1 = require(103) /* ./filter */;\n exports.Filter = filter_1.Filter;\n var group_filter_1 = require(104) /* ./group_filter */;\n exports.GroupFilter = group_filter_1.GroupFilter;\n var index_filter_1 = require(106) /* ./index_filter */;\n exports.IndexFilter = index_filter_1.IndexFilter;\n}\n","/* models/filters/index_filter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var filter_1 = require(103) /* ./filter */;\n var p = require(18) /* ../../core/properties */;\n var logging_1 = require(17) /* ../../core/logging */;\n var types_1 = require(46) /* ../../core/util/types */;\n var array_1 = require(24) /* ../../core/util/array */;\n var IndexFilter = /** @class */ (function (_super) {\n tslib_1.__extends(IndexFilter, _super);\n function IndexFilter(attrs) {\n return _super.call(this, attrs) || this;\n }\n IndexFilter.initClass = function () {\n this.prototype.type = 'IndexFilter';\n this.define({\n indices: [p.Array, null],\n });\n };\n IndexFilter.prototype.compute_indices = function (_source) {\n if (this.indices != null && this.indices.length >= 0) {\n if (array_1.every(this.indices, types_1.isInteger))\n return this.indices;\n else {\n logging_1.logger.warn(\"IndexFilter \" + this.id + \": indices should be array of integers, defaulting to no filtering\");\n return null;\n }\n }\n else {\n logging_1.logger.warn(\"IndexFilter \" + this.id + \": indices was not set, defaulting to no filtering\");\n return null;\n }\n };\n return IndexFilter;\n }(filter_1.Filter));\n exports.IndexFilter = IndexFilter;\n IndexFilter.initClass();\n}\n","/* models/formatters/basic_tick_formatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var tick_formatter_1 = require(116) /* ./tick_formatter */;\n var p = require(18) /* ../../core/properties */;\n var types_1 = require(46) /* ../../core/util/types */;\n var BasicTickFormatter = /** @class */ (function (_super) {\n tslib_1.__extends(BasicTickFormatter, _super);\n function BasicTickFormatter(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.last_precision = 3;\n return _this;\n }\n BasicTickFormatter.initClass = function () {\n this.prototype.type = 'BasicTickFormatter';\n this.define({\n precision: [p.Any, 'auto'],\n use_scientific: [p.Boolean, true],\n power_limit_high: [p.Number, 5],\n power_limit_low: [p.Number, -3],\n });\n };\n Object.defineProperty(BasicTickFormatter.prototype, \"scientific_limit_low\", {\n get: function () {\n return Math.pow(10.0, this.power_limit_low);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(BasicTickFormatter.prototype, \"scientific_limit_high\", {\n get: function () {\n return Math.pow(10.0, this.power_limit_high);\n },\n enumerable: true,\n configurable: true\n });\n BasicTickFormatter.prototype.doFormat = function (ticks, _opts) {\n if (ticks.length == 0)\n return [];\n var zero_eps = 0;\n if (ticks.length >= 2)\n zero_eps = Math.abs(ticks[1] - ticks[0]) / 10000;\n var need_sci = false;\n if (this.use_scientific) {\n for (var _i = 0, ticks_1 = ticks; _i < ticks_1.length; _i++) {\n var tick = ticks_1[_i];\n var tick_abs = Math.abs(tick);\n if (tick_abs > zero_eps && (tick_abs >= this.scientific_limit_high || tick_abs <= this.scientific_limit_low)) {\n need_sci = true;\n break;\n }\n }\n }\n var labels = new Array(ticks.length);\n var precision = this.precision;\n if (precision == null || types_1.isNumber(precision)) {\n if (need_sci) {\n for (var i = 0, end = ticks.length; i < end; i++) {\n labels[i] = ticks[i].toExponential(precision || undefined);\n }\n }\n else {\n for (var i = 0, end = ticks.length; i < end; i++) {\n labels[i] = ticks[i].toFixed(precision || undefined).replace(/(\\.[0-9]*?)0+$/, \"$1\").replace(/\\.$/, \"\");\n }\n }\n }\n else {\n for (var x = this.last_precision, asc = this.last_precision <= 15; asc ? x <= 15 : x >= 15; asc ? x++ : x--) {\n var is_ok = true;\n if (need_sci) {\n for (var i = 0, end = ticks.length; i < end; i++) {\n labels[i] = ticks[i].toExponential(x);\n if (i > 0) {\n if (labels[i] === labels[i - 1]) {\n is_ok = false;\n break;\n }\n }\n }\n if (is_ok) {\n break;\n }\n }\n else {\n for (var i = 0, end = ticks.length; i < end; i++) {\n labels[i] = ticks[i].toFixed(x).replace(/(\\.[0-9]*?)0+$/, \"$1\").replace(/\\.$/, \"\");\n if (i > 0) {\n if (labels[i] == labels[i - 1]) {\n is_ok = false;\n break;\n }\n }\n }\n if (is_ok) {\n break;\n }\n }\n if (is_ok) {\n this.last_precision = x;\n break;\n }\n }\n }\n return labels;\n };\n return BasicTickFormatter;\n }(tick_formatter_1.TickFormatter));\n exports.BasicTickFormatter = BasicTickFormatter;\n BasicTickFormatter.initClass();\n}\n","/* models/formatters/categorical_tick_formatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var tick_formatter_1 = require(116) /* ./tick_formatter */;\n var array_1 = require(24) /* ../../core/util/array */;\n var CategoricalTickFormatter = /** @class */ (function (_super) {\n tslib_1.__extends(CategoricalTickFormatter, _super);\n function CategoricalTickFormatter(attrs) {\n return _super.call(this, attrs) || this;\n }\n CategoricalTickFormatter.initClass = function () {\n this.prototype.type = 'CategoricalTickFormatter';\n };\n CategoricalTickFormatter.prototype.doFormat = function (ticks, _opts) {\n return array_1.copy(ticks);\n };\n return CategoricalTickFormatter;\n }(tick_formatter_1.TickFormatter));\n exports.CategoricalTickFormatter = CategoricalTickFormatter;\n CategoricalTickFormatter.initClass();\n}\n","/* models/formatters/datetime_tick_formatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var tz = require(407) /* timezone */;\n var tick_formatter_1 = require(116) /* ./tick_formatter */;\n var logging_1 = require(17) /* ../../core/logging */;\n var p = require(18) /* ../../core/properties */;\n var templating_1 = require(42) /* ../../core/util/templating */;\n var array_1 = require(24) /* ../../core/util/array */;\n var types_1 = require(46) /* ../../core/util/types */;\n function _us(t) {\n // From double-precision unix (millisecond) timestamp get\n // microsecond since last second. Precision seems to run\n // out around the hundreds of nanoseconds scale, so rounding\n // to the nearest microsecond should round to a nice\n // microsecond / millisecond tick.\n return Math.round(((t / 1000) % 1) * 1000000);\n }\n function _array(t) {\n return tz(t, \"%Y %m %d %H %M %S\").split(/\\s+/).map(function (e) { return parseInt(e, 10); });\n }\n function _strftime(t, format) {\n if (types_1.isFunction(format)) {\n return format(t);\n }\n else {\n // Python's datetime library augments the microsecond directive %f, which is not\n // supported by the javascript library timezone: http://bigeasy.github.io/timezone/.\n // Use a regular expression to replace %f directive with microseconds.\n // TODO: what should we do for negative microsecond strings?\n var microsecond_replacement_string = templating_1.sprintf(\"$1%06d\", _us(t));\n format = format.replace(/((^|[^%])(%%)*)%f/, microsecond_replacement_string);\n if (format.indexOf(\"%\") == -1) {\n // timezone seems to ignore any strings without any formatting directives,\n // and just return the time argument back instead of the string argument.\n // But we want the string argument, in case a user supplies a format string\n // which doesn't contain a formatting directive or is only using %f.\n return format;\n }\n return tz(t, format);\n }\n }\n // Labels of time units, from finest to coarsest.\n var format_order = [\n 'microseconds', 'milliseconds', 'seconds', 'minsec', 'minutes', 'hourmin', 'hours', 'days', 'months', 'years',\n ];\n var DatetimeTickFormatter = /** @class */ (function (_super) {\n tslib_1.__extends(DatetimeTickFormatter, _super);\n function DatetimeTickFormatter(attrs) {\n var _this = _super.call(this, attrs) || this;\n // Whether or not to strip the leading zeros on tick labels.\n _this.strip_leading_zeros = true;\n return _this;\n }\n DatetimeTickFormatter.initClass = function () {\n this.prototype.type = 'DatetimeTickFormatter';\n this.define({\n microseconds: [p.Array, ['%fus']],\n milliseconds: [p.Array, ['%3Nms', '%S.%3Ns']],\n seconds: [p.Array, ['%Ss']],\n minsec: [p.Array, [':%M:%S']],\n minutes: [p.Array, [':%M', '%Mm']],\n hourmin: [p.Array, ['%H:%M']],\n hours: [p.Array, ['%Hh', '%H:%M']],\n days: [p.Array, ['%m/%d', '%a%d']],\n months: [p.Array, ['%m/%Y', '%b %Y']],\n years: [p.Array, ['%Y']],\n });\n };\n DatetimeTickFormatter.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n // TODO (bev) trigger update on format change\n this._update_width_formats();\n };\n DatetimeTickFormatter.prototype._update_width_formats = function () {\n var now = +tz(new Date());\n var _widths = function (fmt_strings) {\n var sizes = fmt_strings.map(function (fmt_string) { return _strftime(now, fmt_string).length; });\n var sorted = array_1.sort_by(array_1.zip(sizes, fmt_strings), function (_a) {\n var size = _a[0];\n return size;\n });\n return array_1.unzip(sorted);\n };\n this._width_formats = {\n microseconds: _widths(this.microseconds),\n milliseconds: _widths(this.milliseconds),\n seconds: _widths(this.seconds),\n minsec: _widths(this.minsec),\n minutes: _widths(this.minutes),\n hourmin: _widths(this.hourmin),\n hours: _widths(this.hours),\n days: _widths(this.days),\n months: _widths(this.months),\n years: _widths(this.years),\n };\n };\n // FIXME There is some unfortunate flicker when panning/zooming near the\n // span boundaries.\n // FIXME Rounding is weird at the 20-us scale and below.\n DatetimeTickFormatter.prototype._get_resolution_str = function (resolution_secs, span_secs) {\n // Our resolution boundaries should not be round numbers, because we want\n // them to fall between the possible tick intervals (which *are* round\n // numbers, as we've worked hard to ensure). Consequently, we adjust the\n // resolution upwards a small amount (less than any possible step in\n // scales) to make the effective boundaries slightly lower.\n var adjusted_secs = resolution_secs * 1.1;\n switch (false) {\n case !(adjusted_secs < 1e-3): return \"microseconds\";\n case !(adjusted_secs < 1.0): return \"milliseconds\";\n case !(adjusted_secs < 60): return span_secs >= 60 ? \"minsec\" : \"seconds\";\n case !(adjusted_secs < 3600): return span_secs >= 3600 ? \"hourmin\" : \"minutes\";\n case !(adjusted_secs < (24 * 3600)): return \"hours\";\n case !(adjusted_secs < (31 * 24 * 3600)): return \"days\";\n case !(adjusted_secs < (365 * 24 * 3600)): return \"months\";\n default: return \"years\";\n }\n };\n DatetimeTickFormatter.prototype.doFormat = function (ticks, _opts) {\n // In order to pick the right set of labels, we need to determine\n // the resolution of the ticks. We can do this using a ticker if\n // it's provided, or by computing the resolution from the actual\n // ticks we've been given.\n if (ticks.length == 0)\n return [];\n var span = Math.abs(ticks[ticks.length - 1] - ticks[0]) / 1000.0;\n var r = span / (ticks.length - 1);\n var resol = this._get_resolution_str(r, span);\n var _a = this._width_formats[resol], format = _a[1][0];\n // Apply the format to the tick values\n var labels = [];\n var resol_ndx = format_order.indexOf(resol);\n // This dictionary maps the name of a time resolution (in @format_order)\n // to its index in a time.localtime() timetuple. The default is to map\n // everything to index 0, which is year. This is not ideal; it might cause\n // a problem with the tick at midnight, january 1st, 0 a.d. being incorrectly\n // promoted at certain tick resolutions.\n var time_tuple_ndx_for_resol = {};\n for (var _i = 0, format_order_1 = format_order; _i < format_order_1.length; _i++) {\n var fmt = format_order_1[_i];\n time_tuple_ndx_for_resol[fmt] = 0;\n }\n time_tuple_ndx_for_resol.seconds = 5;\n time_tuple_ndx_for_resol.minsec = 4;\n time_tuple_ndx_for_resol.minutes = 4;\n time_tuple_ndx_for_resol.hourmin = 3;\n time_tuple_ndx_for_resol.hours = 3;\n // As we format each tick, check to see if we are at a boundary of the\n // next higher unit of time. If so, replace the current format with one\n // from that resolution. This is not the best heuristic in the world,\n // but it works! There is some trickiness here due to having to deal\n // with hybrid formats in a reasonable manner.\n for (var _b = 0, ticks_1 = ticks; _b < ticks_1.length; _b++) {\n var t = ticks_1[_b];\n var s = void 0, tm = void 0;\n try {\n tm = _array(t);\n s = _strftime(t, format);\n }\n catch (error) {\n logging_1.logger.warn(\"unable to format tick for timestamp value \" + t);\n logging_1.logger.warn(\" - \" + error);\n labels.push(\"ERR\");\n continue;\n }\n var hybrid_handled = false;\n var next_ndx = resol_ndx;\n // The way to check that we are at the boundary of the next unit of\n // time is by checking that we have 0 units of the resolution, i.e.\n // we are at zero minutes, so display hours, or we are at zero seconds,\n // so display minutes (and if that is zero as well, then display hours).\n while (tm[time_tuple_ndx_for_resol[format_order[next_ndx]]] == 0) {\n var next_format = void 0;\n next_ndx += 1;\n if (next_ndx == format_order.length)\n break;\n if ((resol == \"minsec\" || resol == \"hourmin\") && !hybrid_handled) {\n if ((resol == \"minsec\" && tm[4] == 0 && tm[5] != 0) || (resol == \"hourmin\" && tm[3] == 0 && tm[4] != 0)) {\n next_format = this._width_formats[format_order[resol_ndx - 1]][1][0];\n s = _strftime(t, next_format);\n break;\n }\n else {\n hybrid_handled = true;\n }\n }\n next_format = this._width_formats[format_order[next_ndx]][1][0];\n s = _strftime(t, next_format);\n }\n // TODO: should expose this in api. %H, %d, etc use leading zeros and\n // users might prefer to see them lined up correctly.\n if (this.strip_leading_zeros) {\n var ss = s.replace(/^0+/g, \"\");\n if (ss != s && isNaN(parseInt(ss))) {\n // If the string can now be parsed as starting with an integer, then\n // leave all zeros stripped, otherwise start with a zero. Hence:\n // A label such as '000ms' should leave one zero.\n // A label such as '001ms' or '0-1ms' should not leave a leading zero.\n ss = \"0\" + ss;\n }\n labels.push(ss);\n }\n else\n labels.push(s);\n }\n return labels;\n };\n return DatetimeTickFormatter;\n }(tick_formatter_1.TickFormatter));\n exports.DatetimeTickFormatter = DatetimeTickFormatter;\n DatetimeTickFormatter.initClass();\n}\n","/* models/formatters/func_tick_formatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var tick_formatter_1 = require(116) /* ./tick_formatter */;\n var p = require(18) /* ../../core/properties */;\n var object_1 = require(35) /* ../../core/util/object */;\n var string_1 = require(40) /* ../../core/util/string */;\n var FuncTickFormatter = /** @class */ (function (_super) {\n tslib_1.__extends(FuncTickFormatter, _super);\n function FuncTickFormatter(attrs) {\n return _super.call(this, attrs) || this;\n }\n FuncTickFormatter.initClass = function () {\n this.prototype.type = 'FuncTickFormatter';\n this.define({\n args: [p.Any, {}],\n code: [p.String, ''],\n use_strict: [p.Boolean, false],\n });\n };\n Object.defineProperty(FuncTickFormatter.prototype, \"names\", {\n get: function () {\n return object_1.keys(this.args);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(FuncTickFormatter.prototype, \"values\", {\n get: function () {\n return object_1.values(this.args);\n },\n enumerable: true,\n configurable: true\n });\n /*protected*/ FuncTickFormatter.prototype._make_func = function () {\n var code = this.use_strict ? string_1.use_strict(this.code) : this.code;\n return new (Function.bind.apply(Function, [void 0, \"tick\", \"index\", \"ticks\"].concat(this.names, [\"require\", \"exports\", code])))();\n };\n FuncTickFormatter.prototype.doFormat = function (ticks, _opts) {\n var _this = this;\n var cache = {};\n var func = this._make_func().bind(cache);\n return ticks.map(function (tick, index, ticks) { return func.apply(void 0, [tick, index, ticks].concat(_this.values, [require, {}])); });\n };\n return FuncTickFormatter;\n }(tick_formatter_1.TickFormatter));\n exports.FuncTickFormatter = FuncTickFormatter;\n FuncTickFormatter.initClass();\n}\n","/* models/formatters/index */ function _(require, module, exports) {\n var basic_tick_formatter_1 = require(107) /* ./basic_tick_formatter */;\n exports.BasicTickFormatter = basic_tick_formatter_1.BasicTickFormatter;\n var categorical_tick_formatter_1 = require(108) /* ./categorical_tick_formatter */;\n exports.CategoricalTickFormatter = categorical_tick_formatter_1.CategoricalTickFormatter;\n var datetime_tick_formatter_1 = require(109) /* ./datetime_tick_formatter */;\n exports.DatetimeTickFormatter = datetime_tick_formatter_1.DatetimeTickFormatter;\n var func_tick_formatter_1 = require(110) /* ./func_tick_formatter */;\n exports.FuncTickFormatter = func_tick_formatter_1.FuncTickFormatter;\n var log_tick_formatter_1 = require(112) /* ./log_tick_formatter */;\n exports.LogTickFormatter = log_tick_formatter_1.LogTickFormatter;\n var mercator_tick_formatter_1 = require(113) /* ./mercator_tick_formatter */;\n exports.MercatorTickFormatter = mercator_tick_formatter_1.MercatorTickFormatter;\n var numeral_tick_formatter_1 = require(114) /* ./numeral_tick_formatter */;\n exports.NumeralTickFormatter = numeral_tick_formatter_1.NumeralTickFormatter;\n var printf_tick_formatter_1 = require(115) /* ./printf_tick_formatter */;\n exports.PrintfTickFormatter = printf_tick_formatter_1.PrintfTickFormatter;\n var tick_formatter_1 = require(116) /* ./tick_formatter */;\n exports.TickFormatter = tick_formatter_1.TickFormatter;\n}\n","/* models/formatters/log_tick_formatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var tick_formatter_1 = require(116) /* ./tick_formatter */;\n var basic_tick_formatter_1 = require(107) /* ./basic_tick_formatter */;\n var logging_1 = require(17) /* ../../core/logging */;\n var p = require(18) /* ../../core/properties */;\n var LogTickFormatter = /** @class */ (function (_super) {\n tslib_1.__extends(LogTickFormatter, _super);\n function LogTickFormatter(attrs) {\n return _super.call(this, attrs) || this;\n }\n LogTickFormatter.initClass = function () {\n this.prototype.type = 'LogTickFormatter';\n this.define({\n ticker: [p.Instance, null],\n });\n };\n LogTickFormatter.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.basic_formatter = new basic_tick_formatter_1.BasicTickFormatter();\n if (this.ticker == null)\n logging_1.logger.warn(\"LogTickFormatter not configured with a ticker, using default base of 10 (labels will be incorrect if ticker base is not 10)\");\n };\n LogTickFormatter.prototype.doFormat = function (ticks, opts) {\n if (ticks.length == 0)\n return [];\n var base = this.ticker != null ? this.ticker.base : 10;\n var small_interval = false;\n var labels = new Array(ticks.length);\n for (var i = 0, end = ticks.length; i < end; i++) {\n labels[i] = base + \"^\" + Math.round(Math.log(ticks[i]) / Math.log(base));\n if (i > 0 && labels[i] == labels[i - 1]) {\n small_interval = true;\n break;\n }\n }\n if (small_interval)\n return this.basic_formatter.doFormat(ticks, opts);\n else\n return labels;\n };\n return LogTickFormatter;\n }(tick_formatter_1.TickFormatter));\n exports.LogTickFormatter = LogTickFormatter;\n LogTickFormatter.initClass();\n}\n","/* models/formatters/mercator_tick_formatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var basic_tick_formatter_1 = require(107) /* ./basic_tick_formatter */;\n var p = require(18) /* ../../core/properties */;\n var projections_1 = require(36) /* ../../core/util/projections */;\n var MercatorTickFormatter = /** @class */ (function (_super) {\n tslib_1.__extends(MercatorTickFormatter, _super);\n function MercatorTickFormatter(attrs) {\n return _super.call(this, attrs) || this;\n }\n MercatorTickFormatter.initClass = function () {\n this.prototype.type = 'MercatorTickFormatter';\n this.define({\n dimension: [p.LatLon],\n });\n };\n MercatorTickFormatter.prototype.doFormat = function (ticks, opts) {\n if (this.dimension == null)\n throw new Error(\"MercatorTickFormatter.dimension not configured\");\n if (ticks.length == 0)\n return [];\n var n = ticks.length;\n var proj_ticks = new Array(n);\n if (this.dimension == \"lon\") {\n for (var i = 0; i < n; i++) {\n var lon = projections_1.wgs84_mercator.inverse([ticks[i], opts.loc])[0];\n proj_ticks[i] = lon;\n }\n }\n else {\n for (var i = 0; i < n; i++) {\n var _a = projections_1.wgs84_mercator.inverse([opts.loc, ticks[i]]), lat = _a[1];\n proj_ticks[i] = lat;\n }\n }\n return _super.prototype.doFormat.call(this, proj_ticks, opts);\n };\n return MercatorTickFormatter;\n }(basic_tick_formatter_1.BasicTickFormatter));\n exports.MercatorTickFormatter = MercatorTickFormatter;\n MercatorTickFormatter.initClass();\n}\n","/* models/formatters/numeral_tick_formatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var Numbro = require(378) /* numbro */;\n var tick_formatter_1 = require(116) /* ./tick_formatter */;\n var p = require(18) /* ../../core/properties */;\n var NumeralTickFormatter = /** @class */ (function (_super) {\n tslib_1.__extends(NumeralTickFormatter, _super);\n function NumeralTickFormatter(attrs) {\n return _super.call(this, attrs) || this;\n }\n NumeralTickFormatter.initClass = function () {\n this.prototype.type = 'NumeralTickFormatter';\n this.define({\n // TODO (bev) all of these could be tightened up\n format: [p.String, '0,0'],\n language: [p.String, 'en'],\n rounding: [p.RoundingFunction, 'round'],\n });\n };\n Object.defineProperty(NumeralTickFormatter.prototype, \"_rounding_fn\", {\n get: function () {\n switch (this.rounding) {\n case \"round\":\n case \"nearest\":\n return Math.round;\n case \"floor\":\n case \"rounddown\":\n return Math.floor;\n case \"ceil\":\n case \"roundup\":\n return Math.ceil;\n }\n },\n enumerable: true,\n configurable: true\n });\n NumeralTickFormatter.prototype.doFormat = function (ticks, _opts) {\n var _a = this, format = _a.format, language = _a.language, _rounding_fn = _a._rounding_fn;\n return ticks.map(function (tick) { return Numbro.format(tick, format, language, _rounding_fn); });\n };\n return NumeralTickFormatter;\n }(tick_formatter_1.TickFormatter));\n exports.NumeralTickFormatter = NumeralTickFormatter;\n NumeralTickFormatter.initClass();\n}\n","/* models/formatters/printf_tick_formatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var tick_formatter_1 = require(116) /* ./tick_formatter */;\n var templating_1 = require(42) /* ../../core/util/templating */;\n var p = require(18) /* ../../core/properties */;\n var PrintfTickFormatter = /** @class */ (function (_super) {\n tslib_1.__extends(PrintfTickFormatter, _super);\n function PrintfTickFormatter(attrs) {\n return _super.call(this, attrs) || this;\n }\n PrintfTickFormatter.initClass = function () {\n this.prototype.type = 'PrintfTickFormatter';\n this.define({\n format: [p.String, '%s'],\n });\n };\n PrintfTickFormatter.prototype.doFormat = function (ticks, _opts) {\n var _this = this;\n return ticks.map(function (tick) { return templating_1.sprintf(_this.format, tick); });\n };\n return PrintfTickFormatter;\n }(tick_formatter_1.TickFormatter));\n exports.PrintfTickFormatter = PrintfTickFormatter;\n PrintfTickFormatter.initClass();\n}\n","/* models/formatters/tick_formatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var TickFormatter = /** @class */ (function (_super) {\n tslib_1.__extends(TickFormatter, _super);\n function TickFormatter(attrs) {\n return _super.call(this, attrs) || this;\n }\n TickFormatter.initClass = function () {\n this.prototype.type = \"TickFormatter\";\n };\n return TickFormatter;\n }(model_1.Model));\n exports.TickFormatter = TickFormatter;\n TickFormatter.initClass();\n}\n","/* models/glyphs/annular_wedge */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var utils_1 = require(149) /* ./utils */;\n var hittest = require(9) /* ../../core/hittest */;\n var p = require(18) /* ../../core/properties */;\n var math_1 = require(34) /* ../../core/util/math */;\n var AnnularWedgeView = /** @class */ (function (_super) {\n tslib_1.__extends(AnnularWedgeView, _super);\n function AnnularWedgeView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnnularWedgeView.prototype._map_data = function () {\n if (this.model.properties.inner_radius.units == \"data\")\n this.sinner_radius = this.sdist(this.renderer.xscale, this._x, this._inner_radius);\n else\n this.sinner_radius = this._inner_radius;\n if (this.model.properties.outer_radius.units == \"data\")\n this.souter_radius = this.sdist(this.renderer.xscale, this._x, this._outer_radius);\n else\n this.souter_radius = this._outer_radius;\n this._angle = new Float32Array(this._start_angle.length);\n for (var i = 0, end = this._start_angle.length; i < end; i++) {\n this._angle[i] = this._end_angle[i] - this._start_angle[i];\n }\n };\n AnnularWedgeView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, _start_angle = _a._start_angle, _angle = _a._angle, sinner_radius = _a.sinner_radius, souter_radius = _a.souter_radius;\n var direction = this.model.properties.direction.value();\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + sinner_radius[i] + souter_radius[i] + _start_angle[i] + _angle[i]))\n continue;\n ctx.translate(sx[i], sy[i]);\n ctx.rotate(_start_angle[i]);\n ctx.moveTo(souter_radius[i], 0);\n ctx.beginPath();\n ctx.arc(0, 0, souter_radius[i], 0, _angle[i], direction);\n ctx.rotate(_angle[i]);\n ctx.lineTo(sinner_radius[i], 0);\n ctx.arc(0, 0, sinner_radius[i], 0, -_angle[i], !direction);\n ctx.closePath();\n ctx.rotate(-_angle[i] - _start_angle[i]);\n ctx.translate(-sx[i], -sy[i]);\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n };\n AnnularWedgeView.prototype._hit_point = function (geometry) {\n var _a, _b;\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n // check radius first\n var x0, y0;\n var x1, y1;\n if (this.model.properties.outer_radius.units == \"data\") {\n x0 = x - this.max_outer_radius;\n x1 = x + this.max_outer_radius;\n y0 = y - this.max_outer_radius;\n y1 = y + this.max_outer_radius;\n }\n else {\n var sx0 = sx - this.max_outer_radius;\n var sx1 = sx + this.max_outer_radius;\n _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var sy0 = sy - this.max_outer_radius;\n var sy1 = sy + this.max_outer_radius;\n _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n }\n var candidates = [];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n for (var _i = 0, _c = this.index.indices(bbox); _i < _c.length; _i++) {\n var i = _c[_i];\n var or2 = Math.pow(this.souter_radius[i], 2);\n var ir2 = Math.pow(this.sinner_radius[i], 2);\n var _d = this.renderer.xscale.r_compute(x, this._x[i]), sx0 = _d[0], sx1 = _d[1];\n var _e = this.renderer.yscale.r_compute(y, this._y[i]), sy0 = _e[0], sy1 = _e[1];\n var dist = Math.pow(sx0 - sx1, 2) + Math.pow(sy0 - sy1, 2);\n if (dist <= or2 && dist >= ir2)\n candidates.push([i, dist]);\n }\n var direction = this.model.properties.direction.value();\n var hits = [];\n for (var _f = 0, candidates_1 = candidates; _f < candidates_1.length; _f++) {\n var _g = candidates_1[_f], i = _g[0], dist = _g[1];\n // NOTE: minus the angle because JS uses non-mathy convention for angles\n var angle = Math.atan2(sy - this.sy[i], sx - this.sx[i]);\n if (math_1.angle_between(-angle, -this._start_angle[i], -this._end_angle[i], direction)) {\n hits.push([i, dist]);\n }\n }\n return hittest.create_hit_test_result_from_hits(hits);\n };\n AnnularWedgeView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_area_legend(this.visuals, ctx, bbox, index);\n };\n AnnularWedgeView.prototype._scenterxy = function (i) {\n var r = (this.sinner_radius[i] + this.souter_radius[i]) / 2;\n var a = (this._start_angle[i] + this._end_angle[i]) / 2;\n return { x: this.sx[i] + (r * Math.cos(a)), y: this.sy[i] + (r * Math.sin(a)) };\n };\n AnnularWedgeView.prototype.scenterx = function (i) {\n return this._scenterxy(i).x;\n };\n AnnularWedgeView.prototype.scentery = function (i) {\n return this._scenterxy(i).y;\n };\n return AnnularWedgeView;\n }(xy_glyph_1.XYGlyphView));\n exports.AnnularWedgeView = AnnularWedgeView;\n var AnnularWedge = /** @class */ (function (_super) {\n tslib_1.__extends(AnnularWedge, _super);\n function AnnularWedge(attrs) {\n return _super.call(this, attrs) || this;\n }\n AnnularWedge.initClass = function () {\n this.prototype.type = 'AnnularWedge';\n this.prototype.default_view = AnnularWedgeView;\n this.mixins(['line', 'fill']);\n this.define({\n direction: [p.Direction, 'anticlock'],\n inner_radius: [p.DistanceSpec],\n outer_radius: [p.DistanceSpec],\n start_angle: [p.AngleSpec],\n end_angle: [p.AngleSpec],\n });\n };\n return AnnularWedge;\n }(xy_glyph_1.XYGlyph));\n exports.AnnularWedge = AnnularWedge;\n AnnularWedge.initClass();\n}\n","/* models/glyphs/annulus */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var hittest = require(9) /* ../../core/hittest */;\n var p = require(18) /* ../../core/properties */;\n var compat_1 = require(31) /* ../../core/util/compat */;\n var AnnulusView = /** @class */ (function (_super) {\n tslib_1.__extends(AnnulusView, _super);\n function AnnulusView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnnulusView.prototype._map_data = function () {\n if (this.model.properties.inner_radius.units == \"data\")\n this.sinner_radius = this.sdist(this.renderer.xscale, this._x, this._inner_radius);\n else\n this.sinner_radius = this._inner_radius;\n if (this.model.properties.outer_radius.units == \"data\")\n this.souter_radius = this.sdist(this.renderer.xscale, this._x, this._outer_radius);\n else\n this.souter_radius = this._outer_radius;\n };\n AnnulusView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, sinner_radius = _a.sinner_radius, souter_radius = _a.souter_radius;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + sinner_radius[i] + souter_radius[i]))\n continue;\n // Because this visual has a whole in it, it proved \"challenging\"\n // for some browsers to render if drawn in one go --- i.e. it did not\n // work on IE. If we render in two parts (upper and lower part),\n // it is unambiguous what part should be filled. The line is\n // better drawn in one go though, otherwise the part where the pieces\n // meet will not be fully closed due to aa.\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_vectorize(ctx, i);\n ctx.beginPath();\n if (compat_1.is_ie) {\n // Draw two halves of the donut. Works on IE, but causes an aa line on Safari.\n for (var _b = 0, _c = [false, true]; _b < _c.length; _b++) {\n var clockwise = _c[_b];\n ctx.arc(sx[i], sy[i], sinner_radius[i], 0, Math.PI, clockwise);\n ctx.arc(sx[i], sy[i], souter_radius[i], Math.PI, 0, !clockwise);\n }\n }\n else {\n // Draw donut in one go. Does not work on iE.\n ctx.arc(sx[i], sy[i], sinner_radius[i], 0, 2 * Math.PI, true);\n ctx.arc(sx[i], sy[i], souter_radius[i], 2 * Math.PI, 0, false);\n }\n ctx.fill();\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.beginPath();\n ctx.arc(sx[i], sy[i], sinner_radius[i], 0, 2 * Math.PI);\n ctx.moveTo(sx[i] + souter_radius[i], sy[i]);\n ctx.arc(sx[i], sy[i], souter_radius[i], 0, 2 * Math.PI);\n ctx.stroke();\n }\n }\n };\n AnnulusView.prototype._hit_point = function (geometry) {\n var _a, _b;\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n var x0, y0;\n var x1, y1;\n if (this.model.properties.outer_radius.units == \"data\") {\n x0 = x - this.max_outer_radius;\n x1 = x + this.max_outer_radius;\n y0 = y - this.max_outer_radius;\n y1 = y + this.max_outer_radius;\n }\n else {\n var sx0 = sx - this.max_outer_radius;\n var sx1 = sx + this.max_outer_radius;\n _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var sy0 = sy - this.max_outer_radius;\n var sy1 = sy + this.max_outer_radius;\n _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n }\n var hits = [];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n for (var _i = 0, _c = this.index.indices(bbox); _i < _c.length; _i++) {\n var i = _c[_i];\n var or2 = Math.pow(this.souter_radius[i], 2);\n var ir2 = Math.pow(this.sinner_radius[i], 2);\n var _d = this.renderer.xscale.r_compute(x, this._x[i]), sx0 = _d[0], sx1 = _d[1];\n var _e = this.renderer.yscale.r_compute(y, this._y[i]), sy0 = _e[0], sy1 = _e[1];\n var dist = Math.pow(sx0 - sx1, 2) + Math.pow(sy0 - sy1, 2);\n if (dist <= or2 && dist >= ir2)\n hits.push([i, dist]);\n }\n return hittest.create_hit_test_result_from_hits(hits);\n };\n AnnulusView.prototype.draw_legend_for_index = function (ctx, _a, index) {\n var x0 = _a.x0, y0 = _a.y0, x1 = _a.x1, y1 = _a.y1;\n var len = index + 1;\n var sx = new Array(len);\n sx[index] = (x0 + x1) / 2;\n var sy = new Array(len);\n sy[index] = (y0 + y1) / 2;\n var r = Math.min(Math.abs(x1 - x0), Math.abs(y1 - y0)) * 0.5;\n var sinner_radius = new Array(len);\n sinner_radius[index] = r * 0.4;\n var souter_radius = new Array(len);\n souter_radius[index] = r * 0.8;\n this._render(ctx, [index], { sx: sx, sy: sy, sinner_radius: sinner_radius, souter_radius: souter_radius }); // XXX\n };\n return AnnulusView;\n }(xy_glyph_1.XYGlyphView));\n exports.AnnulusView = AnnulusView;\n var Annulus = /** @class */ (function (_super) {\n tslib_1.__extends(Annulus, _super);\n function Annulus(attrs) {\n return _super.call(this, attrs) || this;\n }\n Annulus.initClass = function () {\n this.prototype.type = 'Annulus';\n this.prototype.default_view = AnnulusView;\n this.mixins(['line', 'fill']);\n this.define({\n inner_radius: [p.DistanceSpec],\n outer_radius: [p.DistanceSpec],\n });\n };\n return Annulus;\n }(xy_glyph_1.XYGlyph));\n exports.Annulus = Annulus;\n Annulus.initClass();\n}\n","/* models/glyphs/arc */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var utils_1 = require(149) /* ./utils */;\n var p = require(18) /* ../../core/properties */;\n var ArcView = /** @class */ (function (_super) {\n tslib_1.__extends(ArcView, _super);\n function ArcView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ArcView.prototype._map_data = function () {\n if (this.model.properties.radius.units == \"data\")\n this.sradius = this.sdist(this.renderer.xscale, this._x, this._radius);\n else\n this.sradius = this._radius;\n };\n ArcView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, sradius = _a.sradius, _start_angle = _a._start_angle, _end_angle = _a._end_angle;\n if (this.visuals.line.doit) {\n var direction = this.model.properties.direction.value();\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + sradius[i] + _start_angle[i] + _end_angle[i]))\n continue;\n ctx.beginPath();\n ctx.arc(sx[i], sy[i], sradius[i], _start_angle[i], _end_angle[i], direction);\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n };\n ArcView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_line_legend(this.visuals, ctx, bbox, index);\n };\n return ArcView;\n }(xy_glyph_1.XYGlyphView));\n exports.ArcView = ArcView;\n var Arc = /** @class */ (function (_super) {\n tslib_1.__extends(Arc, _super);\n function Arc(attrs) {\n return _super.call(this, attrs) || this;\n }\n Arc.initClass = function () {\n this.prototype.type = 'Arc';\n this.prototype.default_view = ArcView;\n this.mixins(['line']);\n this.define({\n direction: [p.Direction, 'anticlock'],\n radius: [p.DistanceSpec],\n start_angle: [p.AngleSpec],\n end_angle: [p.AngleSpec],\n });\n };\n return Arc;\n }(xy_glyph_1.XYGlyph));\n exports.Arc = Arc;\n Arc.initClass();\n}\n","/* models/glyphs/area */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var glyph_1 = require(127) /* ./glyph */;\n var utils_1 = require(149) /* ./utils */;\n var AreaView = /** @class */ (function (_super) {\n tslib_1.__extends(AreaView, _super);\n function AreaView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AreaView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_area_legend(this.visuals, ctx, bbox, index);\n };\n return AreaView;\n }(glyph_1.GlyphView));\n exports.AreaView = AreaView;\n var Area = /** @class */ (function (_super) {\n tslib_1.__extends(Area, _super);\n function Area(attrs) {\n return _super.call(this, attrs) || this;\n }\n Area.initClass = function () {\n this.prototype.type = 'Area';\n this.mixins(['fill', 'hatch']);\n };\n return Area;\n }(glyph_1.Glyph));\n exports.Area = Area;\n Area.initClass();\n}\n","/* models/glyphs/bezier */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var glyph_1 = require(127) /* ./glyph */;\n var utils_1 = require(149) /* ./utils */;\n // algorithm adapted from http://stackoverflow.com/a/14429749/3406693\n function _cbb(x0, y0, x1, y1, x2, y2, x3, y3) {\n var tvalues = [];\n var bounds = [[], []];\n for (var i = 0; i <= 2; i++) {\n var a = void 0, b = void 0, c = void 0;\n if (i === 0) {\n b = ((6 * x0) - (12 * x1)) + (6 * x2);\n a = (((-3 * x0) + (9 * x1)) - (9 * x2)) + (3 * x3);\n c = (3 * x1) - (3 * x0);\n }\n else {\n b = ((6 * y0) - (12 * y1)) + (6 * y2);\n a = (((-3 * y0) + (9 * y1)) - (9 * y2)) + (3 * y3);\n c = (3 * y1) - (3 * y0);\n }\n if (Math.abs(a) < 1e-12) { // Numerical robustness\n if (Math.abs(b) < 1e-12) // Numerical robustness\n continue;\n var t = -c / b;\n if (0 < t && t < 1)\n tvalues.push(t);\n continue;\n }\n var b2ac = (b * b) - (4 * c * a);\n var sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0)\n continue;\n var t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1)\n tvalues.push(t1);\n var t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1)\n tvalues.push(t2);\n }\n var j = tvalues.length;\n var jlen = j;\n while (j--) {\n var t = tvalues[j];\n var mt = 1 - t;\n var x = (mt * mt * mt * x0) + (3 * mt * mt * t * x1) + (3 * mt * t * t * x2) + (t * t * t * x3);\n bounds[0][j] = x;\n var y = (mt * mt * mt * y0) + (3 * mt * mt * t * y1) + (3 * mt * t * t * y2) + (t * t * t * y3);\n bounds[1][j] = y;\n }\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n return [\n Math.min.apply(Math, bounds[0]),\n Math.max.apply(Math, bounds[1]),\n Math.max.apply(Math, bounds[0]),\n Math.min.apply(Math, bounds[1]),\n ];\n }\n var BezierView = /** @class */ (function (_super) {\n tslib_1.__extends(BezierView, _super);\n function BezierView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BezierView.prototype._index_data = function () {\n var points = [];\n for (var i = 0, end = this._x0.length; i < end; i++) {\n if (isNaN(this._x0[i] + this._x1[i] + this._y0[i] + this._y1[i] + this._cx0[i] + this._cy0[i] + this._cx1[i] + this._cy1[i]))\n continue;\n var _a = _cbb(this._x0[i], this._y0[i], this._x1[i], this._y1[i], this._cx0[i], this._cy0[i], this._cx1[i], this._cy1[i]), x0 = _a[0], y0 = _a[1], x1 = _a[2], y1 = _a[3];\n points.push({ minX: x0, minY: y0, maxX: x1, maxY: y1, i: i });\n }\n return new spatial_1.SpatialIndex(points);\n };\n BezierView.prototype._render = function (ctx, indices, _a) {\n var sx0 = _a.sx0, sy0 = _a.sy0, sx1 = _a.sx1, sy1 = _a.sy1, scx0 = _a.scx0, scy0 = _a.scy0, scx1 = _a.scx1, scy1 = _a.scy1;\n if (this.visuals.line.doit) {\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx0[i] + sy0[i] + sx1[i] + sy1[i] + scx0[i] + scy0[i] + scx1[i] + scy1[i]))\n continue;\n ctx.beginPath();\n ctx.moveTo(sx0[i], sy0[i]);\n ctx.bezierCurveTo(scx0[i], scy0[i], scx1[i], scy1[i], sx1[i], sy1[i]);\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n };\n BezierView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_line_legend(this.visuals, ctx, bbox, index);\n };\n BezierView.prototype.scenterx = function () {\n throw new Error(\"not implemented\");\n };\n BezierView.prototype.scentery = function () {\n throw new Error(\"not implemented\");\n };\n return BezierView;\n }(glyph_1.GlyphView));\n exports.BezierView = BezierView;\n var Bezier = /** @class */ (function (_super) {\n tslib_1.__extends(Bezier, _super);\n function Bezier(attrs) {\n return _super.call(this, attrs) || this;\n }\n Bezier.initClass = function () {\n this.prototype.type = 'Bezier';\n this.prototype.default_view = BezierView;\n this.coords([['x0', 'y0'], ['x1', 'y1'], ['cx0', 'cy0'], ['cx1', 'cy1']]);\n this.mixins(['line']);\n };\n return Bezier;\n }(glyph_1.Glyph));\n exports.Bezier = Bezier;\n Bezier.initClass();\n}\n","/* models/glyphs/box */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var glyph_1 = require(127) /* ./glyph */;\n var utils_1 = require(149) /* ./utils */;\n var hittest = require(9) /* ../../core/hittest */;\n var BoxView = /** @class */ (function (_super) {\n tslib_1.__extends(BoxView, _super);\n function BoxView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoxView.prototype._index_box = function (len) {\n var points = [];\n for (var i = 0; i < len; i++) {\n var _a = this._lrtb(i), l = _a[0], r = _a[1], t = _a[2], b = _a[3];\n if (isNaN(l + r + t + b) || !isFinite(l + r + t + b))\n continue;\n points.push({\n minX: Math.min(l, r),\n minY: Math.min(t, b),\n maxX: Math.max(r, l),\n maxY: Math.max(t, b),\n i: i,\n });\n }\n return new spatial_1.SpatialIndex(points);\n };\n BoxView.prototype._render = function (ctx, indices, _a) {\n var _this = this;\n var sleft = _a.sleft, sright = _a.sright, stop = _a.stop, sbottom = _a.sbottom;\n var _loop_1 = function (i) {\n if (isNaN(sleft[i] + stop[i] + sright[i] + sbottom[i]))\n return \"continue\";\n ctx.rect(sleft[i], stop[i], sright[i] - sleft[i], sbottom[i] - stop[i]);\n if (this_1.visuals.fill.doit) {\n this_1.visuals.fill.set_vectorize(ctx, i);\n ctx.beginPath();\n ctx.rect(sleft[i], stop[i], sright[i] - sleft[i], sbottom[i] - stop[i]);\n ctx.fill();\n }\n this_1.visuals.hatch.doit2(ctx, i, function () {\n ctx.beginPath();\n ctx.rect(sleft[i], stop[i], sright[i] - sleft[i], sbottom[i] - stop[i]);\n ctx.fill();\n }, function () { return _this.renderer.request_render(); });\n if (this_1.visuals.line.doit) {\n this_1.visuals.line.set_vectorize(ctx, i);\n ctx.beginPath();\n ctx.rect(sleft[i], stop[i], sright[i] - sleft[i], sbottom[i] - stop[i]);\n ctx.stroke();\n }\n };\n var this_1 = this;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n _loop_1(i);\n }\n };\n // We need to clamp the endpoints inside the viewport, because various browser canvas\n // implementations have issues drawing rects with enpoints far outside the viewport\n BoxView.prototype._clamp_viewport = function () {\n var hr = this.renderer.plot_view.frame.bbox.h_range;\n var vr = this.renderer.plot_view.frame.bbox.v_range;\n var n = this.stop.length;\n for (var i = 0; i < n; i++) {\n this.stop[i] = Math.max(this.stop[i], vr.start);\n this.sbottom[i] = Math.min(this.sbottom[i], vr.end);\n this.sleft[i] = Math.max(this.sleft[i], hr.start);\n this.sright[i] = Math.min(this.sright[i], hr.end);\n }\n };\n BoxView.prototype._hit_rect = function (geometry) {\n return this._hit_rect_against_index(geometry);\n };\n BoxView.prototype._hit_point = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n var hits = this.index.indices({ minX: x, minY: y, maxX: x, maxY: y });\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n BoxView.prototype._hit_span = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var hits;\n if (geometry.direction == 'v') {\n var y = this.renderer.yscale.invert(sy);\n var hr = this.renderer.plot_view.frame.bbox.h_range;\n var _a = this.renderer.xscale.r_invert(hr.start, hr.end), minX = _a[0], maxX = _a[1];\n hits = this.index.indices({ minX: minX, minY: y, maxX: maxX, maxY: y });\n }\n else {\n var x = this.renderer.xscale.invert(sx);\n var vr = this.renderer.plot_view.frame.bbox.v_range;\n var _b = this.renderer.yscale.r_invert(vr.start, vr.end), minY = _b[0], maxY = _b[1];\n hits = this.index.indices({ minX: x, minY: minY, maxX: x, maxY: maxY });\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n BoxView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_area_legend(this.visuals, ctx, bbox, index);\n };\n return BoxView;\n }(glyph_1.GlyphView));\n exports.BoxView = BoxView;\n var Box = /** @class */ (function (_super) {\n tslib_1.__extends(Box, _super);\n function Box(attrs) {\n return _super.call(this, attrs) || this;\n }\n Box.initClass = function () {\n this.prototype.type = \"Box\";\n this.mixins(['line', 'fill', 'hatch']);\n };\n return Box;\n }(glyph_1.Glyph));\n exports.Box = Box;\n Box.initClass();\n}\n","/* models/glyphs/center_rotatable */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var p = require(18) /* ../../core/properties */;\n var CenterRotatableView = /** @class */ (function (_super) {\n tslib_1.__extends(CenterRotatableView, _super);\n function CenterRotatableView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return CenterRotatableView;\n }(xy_glyph_1.XYGlyphView));\n exports.CenterRotatableView = CenterRotatableView;\n var CenterRotatable = /** @class */ (function (_super) {\n tslib_1.__extends(CenterRotatable, _super);\n function CenterRotatable(attrs) {\n return _super.call(this, attrs) || this;\n }\n CenterRotatable.initClass = function () {\n this.prototype.type = 'CenterRotatable';\n this.mixins(['line', 'fill']);\n this.define({\n angle: [p.AngleSpec, 0],\n width: [p.DistanceSpec],\n height: [p.DistanceSpec],\n });\n };\n return CenterRotatable;\n }(xy_glyph_1.XYGlyph));\n exports.CenterRotatable = CenterRotatable;\n CenterRotatable.initClass();\n}\n","/* models/glyphs/circle */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var hittest = require(9) /* ../../core/hittest */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var CircleView = /** @class */ (function (_super) {\n tslib_1.__extends(CircleView, _super);\n function CircleView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CircleView.prototype._map_data = function () {\n // XXX: Order is important here: size is always present (at least\n // a default), but radius is only present if a user specifies it.\n if (this._radius != null) {\n if (this.model.properties.radius.spec.units == \"data\") {\n var rd = this.model.properties.radius_dimension.spec.value;\n switch (rd) {\n case \"x\": {\n this.sradius = this.sdist(this.renderer.xscale, this._x, this._radius);\n break;\n }\n case \"y\": {\n this.sradius = this.sdist(this.renderer.yscale, this._y, this._radius);\n break;\n }\n case \"max\": {\n var sradius_x = this.sdist(this.renderer.xscale, this._x, this._radius);\n var sradius_y_1 = this.sdist(this.renderer.yscale, this._y, this._radius);\n this.sradius = arrayable_1.map(sradius_x, function (s, i) { return Math.max(s, sradius_y_1[i]); });\n break;\n }\n case \"min\": {\n var sradius_x = this.sdist(this.renderer.xscale, this._x, this._radius);\n var sradius_y_2 = this.sdist(this.renderer.yscale, this._y, this._radius);\n this.sradius = arrayable_1.map(sradius_x, function (s, i) { return Math.min(s, sradius_y_2[i]); });\n break;\n }\n }\n }\n else {\n this.sradius = this._radius;\n this.max_size = 2 * this.max_radius;\n }\n }\n else\n this.sradius = arrayable_1.map(this._size, function (s) { return s / 2; });\n };\n CircleView.prototype._mask_data = function () {\n var _a, _b, _c, _d;\n var _e = this.renderer.plot_view.frame.bbox.ranges, hr = _e[0], vr = _e[1];\n var x0, y0;\n var x1, y1;\n if (this._radius != null && this.model.properties.radius.units == \"data\") {\n var sx0 = hr.start;\n var sx1 = hr.end;\n _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n x0 -= this.max_radius;\n x1 += this.max_radius;\n var sy0 = vr.start;\n var sy1 = vr.end;\n _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n y0 -= this.max_radius;\n y1 += this.max_radius;\n }\n else {\n var sx0 = hr.start - this.max_size;\n var sx1 = hr.end + this.max_size;\n _c = this.renderer.xscale.r_invert(sx0, sx1), x0 = _c[0], x1 = _c[1];\n var sy0 = vr.start - this.max_size;\n var sy1 = vr.end + this.max_size;\n _d = this.renderer.yscale.r_invert(sy0, sy1), y0 = _d[0], y1 = _d[1];\n }\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n return this.index.indices(bbox);\n };\n CircleView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, sradius = _a.sradius;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + sradius[i]))\n continue;\n ctx.beginPath();\n ctx.arc(sx[i], sy[i], sradius[i], 0, 2 * Math.PI, false);\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n };\n CircleView.prototype._hit_point = function (geometry) {\n var _a, _b, _c, _d, _e, _f;\n var dist, r2, sx0, sx1, sy0, sy1, x0, x1, y0, y1;\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n // check radius first\n if ((this._radius != null) && (this.model.properties.radius.units == \"data\")) {\n x0 = x - this.max_radius;\n x1 = x + this.max_radius;\n y0 = y - this.max_radius;\n y1 = y + this.max_radius;\n }\n else {\n sx0 = sx - this.max_size;\n sx1 = sx + this.max_size;\n _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n _b = [Math.min(x0, x1), Math.max(x0, x1)], x0 = _b[0], x1 = _b[1];\n sy0 = sy - this.max_size;\n sy1 = sy + this.max_size;\n _c = this.renderer.yscale.r_invert(sy0, sy1), y0 = _c[0], y1 = _c[1];\n _d = [Math.min(y0, y1), Math.max(y0, y1)], y0 = _d[0], y1 = _d[1];\n }\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var candidates = this.index.indices(bbox);\n var hits = [];\n if ((this._radius != null) && (this.model.properties.radius.units == \"data\")) {\n for (var _i = 0, candidates_1 = candidates; _i < candidates_1.length; _i++) {\n var i = candidates_1[_i];\n r2 = Math.pow(this.sradius[i], 2);\n _e = this.renderer.xscale.r_compute(x, this._x[i]), sx0 = _e[0], sx1 = _e[1];\n _f = this.renderer.yscale.r_compute(y, this._y[i]), sy0 = _f[0], sy1 = _f[1];\n dist = Math.pow(sx0 - sx1, 2) + Math.pow(sy0 - sy1, 2);\n if (dist <= r2) {\n hits.push([i, dist]);\n }\n }\n }\n else {\n for (var _g = 0, candidates_2 = candidates; _g < candidates_2.length; _g++) {\n var i = candidates_2[_g];\n r2 = Math.pow(this.sradius[i], 2);\n dist = Math.pow(this.sx[i] - sx, 2) + Math.pow(this.sy[i] - sy, 2);\n if (dist <= r2) {\n hits.push([i, dist]);\n }\n }\n }\n return hittest.create_hit_test_result_from_hits(hits);\n };\n CircleView.prototype._hit_span = function (geometry) {\n var _a, _b, _c, _d;\n var ms, x0, x1, y0, y1;\n var sx = geometry.sx, sy = geometry.sy;\n var _e = this.bounds(), minX = _e.minX, minY = _e.minY, maxX = _e.maxX, maxY = _e.maxY;\n var result = hittest.create_empty_hit_test_result();\n if (geometry.direction == 'h') {\n // use circle bounds instead of current pointer y coordinates\n var sx0 = void 0, sx1 = void 0;\n y0 = minY;\n y1 = maxY;\n if (this._radius != null && this.model.properties.radius.units == \"data\") {\n sx0 = sx - this.max_radius;\n sx1 = sx + this.max_radius;\n _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n }\n else {\n ms = this.max_size / 2;\n sx0 = sx - ms;\n sx1 = sx + ms;\n _b = this.renderer.xscale.r_invert(sx0, sx1), x0 = _b[0], x1 = _b[1];\n }\n }\n else {\n // use circle bounds instead of current pointer x coordinates\n var sy0 = void 0, sy1 = void 0;\n x0 = minX;\n x1 = maxX;\n if (this._radius != null && this.model.properties.radius.units == \"data\") {\n sy0 = sy - this.max_radius;\n sy1 = sy + this.max_radius;\n _c = this.renderer.yscale.r_invert(sy0, sy1), y0 = _c[0], y1 = _c[1];\n }\n else {\n ms = this.max_size / 2;\n sy0 = sy - ms;\n sy1 = sy + ms;\n _d = this.renderer.yscale.r_invert(sy0, sy1), y0 = _d[0], y1 = _d[1];\n }\n }\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var hits = this.index.indices(bbox);\n result.indices = hits;\n return result;\n };\n CircleView.prototype._hit_rect = function (geometry) {\n var sx0 = geometry.sx0, sx1 = geometry.sx1, sy0 = geometry.sy0, sy1 = geometry.sy1;\n var _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var result = hittest.create_empty_hit_test_result();\n result.indices = this.index.indices(bbox);\n return result;\n };\n CircleView.prototype._hit_poly = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n // TODO (bev) use spatial index to pare candidate list\n var candidates = array_1.range(0, this.sx.length);\n var hits = [];\n for (var i = 0, end = candidates.length; i < end; i++) {\n var idx = candidates[i];\n if (hittest.point_in_poly(this.sx[i], this.sy[i], sx, sy)) {\n hits.push(idx);\n }\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n // circle does not inherit from marker (since it also accepts radius) so we\n // must supply a draw_legend for it here\n CircleView.prototype.draw_legend_for_index = function (ctx, _a, index) {\n var x0 = _a.x0, y0 = _a.y0, x1 = _a.x1, y1 = _a.y1;\n // using objects like this seems a little wonky, since the keys are coerced to\n // stings, but it works\n var len = index + 1;\n var sx = new Array(len);\n sx[index] = (x0 + x1) / 2;\n var sy = new Array(len);\n sy[index] = (y0 + y1) / 2;\n var sradius = new Array(len);\n sradius[index] = Math.min(Math.abs(x1 - x0), Math.abs(y1 - y0)) * 0.2;\n this._render(ctx, [index], { sx: sx, sy: sy, sradius: sradius }); // XXX\n };\n return CircleView;\n }(xy_glyph_1.XYGlyphView));\n exports.CircleView = CircleView;\n var Circle = /** @class */ (function (_super) {\n tslib_1.__extends(Circle, _super);\n function Circle(attrs) {\n return _super.call(this, attrs) || this;\n }\n Circle.initClass = function () {\n this.prototype.type = 'Circle';\n this.prototype.default_view = CircleView;\n this.mixins(['line', 'fill']);\n this.define({\n angle: [p.AngleSpec, 0],\n size: [p.DistanceSpec, { units: \"screen\", value: 4 }],\n radius: [p.DistanceSpec],\n radius_dimension: [p.RadiusDimension, 'x'],\n });\n };\n Circle.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.properties.radius.optional = true;\n };\n return Circle;\n }(xy_glyph_1.XYGlyph));\n exports.Circle = Circle;\n Circle.initClass();\n}\n","/* models/glyphs/ellipse */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var ellipse_oval_1 = require(126) /* ./ellipse_oval */;\n var EllipseView = /** @class */ (function (_super) {\n tslib_1.__extends(EllipseView, _super);\n function EllipseView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return EllipseView;\n }(ellipse_oval_1.EllipseOvalView));\n exports.EllipseView = EllipseView;\n var Ellipse = /** @class */ (function (_super) {\n tslib_1.__extends(Ellipse, _super);\n function Ellipse(attrs) {\n return _super.call(this, attrs) || this;\n }\n Ellipse.initClass = function () {\n this.prototype.type = 'Ellipse';\n this.prototype.default_view = EllipseView;\n };\n return Ellipse;\n }(ellipse_oval_1.EllipseOval));\n exports.Ellipse = Ellipse;\n Ellipse.initClass();\n}\n","/* models/glyphs/ellipse_oval */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var center_rotatable_1 = require(123) /* ./center_rotatable */;\n var hittest = require(9) /* ../../core/hittest */;\n var EllipseOvalView = /** @class */ (function (_super) {\n tslib_1.__extends(EllipseOvalView, _super);\n function EllipseOvalView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EllipseOvalView.prototype._set_data = function () {\n this.max_w2 = 0;\n if (this.model.properties.width.units == \"data\")\n this.max_w2 = this.max_width / 2;\n this.max_h2 = 0;\n if (this.model.properties.height.units == \"data\")\n this.max_h2 = this.max_height / 2;\n };\n EllipseOvalView.prototype._map_data = function () {\n if (this.model.properties.width.units == \"data\")\n this.sw = this.sdist(this.renderer.xscale, this._x, this._width, 'center');\n else\n this.sw = this._width;\n if (this.model.properties.height.units == \"data\")\n this.sh = this.sdist(this.renderer.yscale, this._y, this._height, 'center');\n else\n this.sh = this._height;\n };\n EllipseOvalView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, sw = _a.sw, sh = _a.sh, _angle = _a._angle;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + sw[i] + sh[i] + _angle[i]))\n continue;\n ctx.beginPath();\n ctx.ellipse(sx[i], sy[i], sw[i] / 2.0, sh[i] / 2.0, _angle[i], 0, 2 * Math.PI);\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n };\n EllipseOvalView.prototype._hit_point = function (geometry) {\n var _a, _b, _c, _d;\n var x0, x1, y0, y1, cond, dist, sx0, sx1, sy0, sy1;\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n if (this.model.properties.width.units == \"data\") {\n x0 = x - this.max_width;\n x1 = x + this.max_width;\n }\n else {\n sx0 = sx - this.max_width;\n sx1 = sx + this.max_width;\n _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n }\n if (this.model.properties.height.units == \"data\") {\n y0 = y - this.max_height;\n y1 = y + this.max_height;\n }\n else {\n sy0 = sy - this.max_height;\n sy1 = sy + this.max_height;\n _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n }\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var candidates = this.index.indices(bbox);\n var hits = [];\n for (var _i = 0, candidates_1 = candidates; _i < candidates_1.length; _i++) {\n var i = candidates_1[_i];\n cond = hittest.point_in_ellipse(sx, sy, this._angle[i], this.sh[i] / 2, this.sw[i] / 2, this.sx[i], this.sy[i]);\n if (cond) {\n _c = this.renderer.xscale.r_compute(x, this._x[i]), sx0 = _c[0], sx1 = _c[1];\n _d = this.renderer.yscale.r_compute(y, this._y[i]), sy0 = _d[0], sy1 = _d[1];\n dist = Math.pow(sx0 - sx1, 2) + Math.pow(sy0 - sy1, 2);\n hits.push([i, dist]);\n }\n }\n return hittest.create_hit_test_result_from_hits(hits);\n };\n EllipseOvalView.prototype.draw_legend_for_index = function (ctx, _a, index) {\n var x0 = _a.x0, y0 = _a.y0, x1 = _a.x1, y1 = _a.y1;\n var len = index + 1;\n var sx = new Array(len);\n sx[index] = (x0 + x1) / 2;\n var sy = new Array(len);\n sy[index] = (y0 + y1) / 2;\n var scale = this.sw[index] / this.sh[index];\n var d = Math.min(Math.abs(x1 - x0), Math.abs(y1 - y0)) * 0.8;\n var sw = new Array(len);\n var sh = new Array(len);\n if (scale > 1) {\n sw[index] = d;\n sh[index] = d / scale;\n }\n else {\n sw[index] = d * scale;\n sh[index] = d;\n }\n this._render(ctx, [index], { sx: sx, sy: sy, sw: sw, sh: sh, _angle: [0] }); // XXX\n };\n EllipseOvalView.prototype._bounds = function (_a) {\n var minX = _a.minX, maxX = _a.maxX, minY = _a.minY, maxY = _a.maxY;\n return {\n minX: minX - this.max_w2,\n maxX: maxX + this.max_w2,\n minY: minY - this.max_h2,\n maxY: maxY + this.max_h2,\n };\n };\n return EllipseOvalView;\n }(center_rotatable_1.CenterRotatableView));\n exports.EllipseOvalView = EllipseOvalView;\n var EllipseOval = /** @class */ (function (_super) {\n tslib_1.__extends(EllipseOval, _super);\n function EllipseOval(attrs) {\n return _super.call(this, attrs) || this;\n }\n EllipseOval.initClass = function () {\n this.prototype.type = 'EllipseOval';\n };\n return EllipseOval;\n }(center_rotatable_1.CenterRotatable));\n exports.EllipseOval = EllipseOval;\n EllipseOval.initClass();\n}\n","/* models/glyphs/glyph */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var hittest = require(9) /* ../../core/hittest */;\n var p = require(18) /* ../../core/properties */;\n var bbox = require(27) /* ../../core/util/bbox */;\n var proj = require(36) /* ../../core/util/projections */;\n var visuals = require(51) /* ../../core/visuals */;\n var view_1 = require(50) /* ../../core/view */;\n var model_1 = require(62) /* ../../model */;\n var logging_1 = require(17) /* ../../core/logging */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var object_1 = require(35) /* ../../core/util/object */;\n var types_1 = require(46) /* ../../core/util/types */;\n var line_1 = require(136) /* ./line */;\n var factor_range_1 = require(192) /* ../ranges/factor_range */;\n var GlyphView = /** @class */ (function (_super) {\n tslib_1.__extends(GlyphView, _super);\n function GlyphView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._nohit_warned = {};\n return _this;\n }\n Object.defineProperty(GlyphView.prototype, \"renderer\", {\n get: function () {\n return this.parent;\n },\n enumerable: true,\n configurable: true\n });\n GlyphView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._nohit_warned = {};\n this.visuals = new visuals.Visuals(this.model);\n // Init gl (this should really be done anytime renderer is set,\n // and not done if it isn't ever set, but for now it only\n // matters in the unit tests because we build a view without a\n // renderer there)\n var gl = this.renderer.plot_view.gl;\n if (gl != null) {\n var webgl_module = null;\n try {\n webgl_module = require(474) /* ./webgl/index */;\n }\n catch (e) {\n if (e.code === 'MODULE_NOT_FOUND') {\n logging_1.logger.warn('WebGL was requested and is supported, but bokeh-gl(.min).js is not available, falling back to 2D rendering.');\n }\n else\n throw e;\n }\n if (webgl_module != null) {\n var Cls = webgl_module[this.model.type + 'GLGlyph'];\n if (Cls != null)\n this.glglyph = new Cls(gl.ctx, this);\n }\n }\n };\n GlyphView.prototype.set_visuals = function (source) {\n this.visuals.warm_cache(source);\n if (this.glglyph != null)\n this.glglyph.set_visuals_changed();\n };\n GlyphView.prototype.render = function (ctx, indices, data) {\n ctx.beginPath();\n if (this.glglyph != null) {\n if (this.glglyph.render(ctx, indices, data))\n return;\n }\n this._render(ctx, indices, data);\n };\n GlyphView.prototype.has_finished = function () {\n return true;\n };\n GlyphView.prototype.notify_finished = function () {\n this.renderer.notify_finished();\n };\n GlyphView.prototype._bounds = function (bounds) {\n return bounds;\n };\n GlyphView.prototype.bounds = function () {\n return this._bounds(this.index.bbox);\n };\n GlyphView.prototype.log_bounds = function () {\n var bb = bbox.empty();\n var positive_x_bbs = this.index.search(bbox.positive_x());\n for (var _i = 0, positive_x_bbs_1 = positive_x_bbs; _i < positive_x_bbs_1.length; _i++) {\n var x = positive_x_bbs_1[_i];\n if (x.minX < bb.minX)\n bb.minX = x.minX;\n if (x.maxX > bb.maxX)\n bb.maxX = x.maxX;\n }\n var positive_y_bbs = this.index.search(bbox.positive_y());\n for (var _a = 0, positive_y_bbs_1 = positive_y_bbs; _a < positive_y_bbs_1.length; _a++) {\n var y = positive_y_bbs_1[_a];\n if (y.minY < bb.minY)\n bb.minY = y.minY;\n if (y.maxY > bb.maxY)\n bb.maxY = y.maxY;\n }\n return this._bounds(bb);\n };\n GlyphView.prototype.get_anchor_point = function (anchor, i, _a) {\n var sx = _a[0], sy = _a[1];\n switch (anchor) {\n case \"center\": return { x: this.scenterx(i, sx, sy), y: this.scentery(i, sx, sy) };\n default: return null;\n }\n };\n GlyphView.prototype.sdist = function (scale, pts, spans, pts_location, dilate) {\n if (pts_location === void 0) {\n pts_location = \"edge\";\n }\n if (dilate === void 0) {\n dilate = false;\n }\n var pt0;\n var pt1;\n var n = pts.length;\n if (pts_location == 'center') {\n var halfspan = arrayable_1.map(spans, function (d) { return d / 2; });\n pt0 = new Float64Array(n);\n for (var i = 0; i < n; i++) {\n pt0[i] = pts[i] - halfspan[i];\n }\n pt1 = new Float64Array(n);\n for (var i = 0; i < n; i++) {\n pt1[i] = pts[i] + halfspan[i];\n }\n }\n else {\n pt0 = pts;\n pt1 = new Float64Array(n);\n for (var i = 0; i < n; i++) {\n pt1[i] = pt0[i] + spans[i];\n }\n }\n var spt0 = scale.v_compute(pt0);\n var spt1 = scale.v_compute(pt1);\n if (dilate)\n return arrayable_1.map(spt0, function (_, i) { return Math.ceil(Math.abs(spt1[i] - spt0[i])); });\n else\n return arrayable_1.map(spt0, function (_, i) { return Math.abs(spt1[i] - spt0[i]); });\n };\n GlyphView.prototype.draw_legend_for_index = function (_ctx, _bbox, _index) { };\n GlyphView.prototype.hit_test = function (geometry) {\n var result = null;\n var func = \"_hit_\" + geometry.type;\n if (this[func] != null) {\n result = this[func](geometry);\n }\n else if (this._nohit_warned[geometry.type] == null) {\n logging_1.logger.debug(\"'\" + geometry.type + \"' selection not available for \" + this.model.type);\n this._nohit_warned[geometry.type] = true;\n }\n return result;\n };\n GlyphView.prototype._hit_rect_against_index = function (geometry) {\n var sx0 = geometry.sx0, sx1 = geometry.sx1, sy0 = geometry.sy0, sy1 = geometry.sy1;\n var _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n var bb = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var result = hittest.create_empty_hit_test_result();\n result.indices = this.index.indices(bb);\n return result;\n };\n GlyphView.prototype.set_data = function (source, indices, indices_to_update) {\n var _a, _b, _c, _d;\n var data = this.model.materialize_dataspecs(source);\n this.visuals.set_all_indices(indices);\n if (indices && !(this instanceof line_1.LineView)) {\n var data_subset = {};\n var _loop_1 = function (k) {\n var v = data[k];\n if (k.charAt(0) === '_')\n data_subset[k] = indices.map(function (i) { return v[i]; });\n else\n data_subset[k] = v;\n };\n for (var k in data) {\n _loop_1(k);\n }\n data = data_subset;\n }\n var self = this;\n object_1.extend(self, data);\n // TODO (bev) Should really probably delegate computing projected\n // coordinates to glyphs, instead of centralizing here in one place.\n if (this.renderer.plot_view.model.use_map) {\n if (self._x != null)\n _a = proj.project_xy(self._x, self._y), self._x = _a[0], self._y = _a[1];\n if (self._xs != null)\n _b = proj.project_xsys(self._xs, self._ys), self._xs = _b[0], self._ys = _b[1];\n if (self._x0 != null)\n _c = proj.project_xy(self._x0, self._y0), self._x0 = _c[0], self._y0 = _c[1];\n if (self._x1 != null)\n _d = proj.project_xy(self._x1, self._y1), self._x1 = _d[0], self._y1 = _d[1];\n }\n // if we have any coordinates that are categorical, convert them to\n // synthetic coords here\n if (this.renderer.plot_view.frame.x_ranges != null) { // XXXX JUST TEMP FOR TESTS TO PASS\n var xr_1 = this.renderer.plot_view.frame.x_ranges[this.model.x_range_name];\n var yr_1 = this.renderer.plot_view.frame.y_ranges[this.model.y_range_name];\n for (var _i = 0, _e = this.model._coords; _i < _e.length; _i++) {\n var _f = _e[_i], xname = _f[0], yname = _f[1];\n xname = \"_\" + xname;\n yname = \"_\" + yname;\n // TODO (bev) more robust detection of multi-glyph case\n // hand multi glyph case\n if (self._xs != null) {\n if (xr_1 instanceof factor_range_1.FactorRange) {\n self[xname] = arrayable_1.map(self[xname], function (arr) { return xr_1.v_synthetic(arr); });\n }\n if (yr_1 instanceof factor_range_1.FactorRange) {\n self[yname] = arrayable_1.map(self[yname], function (arr) { return yr_1.v_synthetic(arr); });\n }\n }\n else {\n // hand standard glyph case\n if (xr_1 instanceof factor_range_1.FactorRange) {\n self[xname] = xr_1.v_synthetic(self[xname]);\n }\n if (yr_1 instanceof factor_range_1.FactorRange) {\n self[yname] = yr_1.v_synthetic(self[yname]);\n }\n }\n }\n }\n if (this.glglyph != null)\n this.glglyph.set_data_changed(self._x.length);\n this._set_data(indices_to_update); //TODO doesn't take subset indices into account\n this.index_data();\n };\n GlyphView.prototype._set_data = function (_indices) { };\n GlyphView.prototype.index_data = function () {\n this.index = this._index_data();\n };\n GlyphView.prototype.mask_data = function (indices) {\n // WebGL can do the clipping much more efficiently\n if (this.glglyph != null || this._mask_data == null)\n return indices;\n else\n return this._mask_data();\n };\n GlyphView.prototype.map_data = function () {\n var _a;\n // TODO: if using gl, skip this (when is this called?)\n // map all the coordinate fields\n var self = this;\n for (var _i = 0, _b = this.model._coords; _i < _b.length; _i++) {\n var _c = _b[_i], xname = _c[0], yname = _c[1];\n var sxname = \"s\" + xname;\n var syname = \"s\" + yname;\n xname = \"_\" + xname;\n yname = \"_\" + yname;\n if (self[xname] != null && (types_1.isArray(self[xname][0]) || types_1.isTypedArray(self[xname][0]))) {\n var n = self[xname].length;\n self[sxname] = new Array(n);\n self[syname] = new Array(n);\n for (var i = 0; i < n; i++) {\n var _d = this.map_to_screen(self[xname][i], self[yname][i]), sx = _d[0], sy = _d[1];\n self[sxname][i] = sx;\n self[syname][i] = sy;\n }\n }\n else\n _a = this.map_to_screen(self[xname], self[yname]), self[sxname] = _a[0], self[syname] = _a[1];\n }\n this._map_data();\n };\n // This is where specs not included in coords are computed, e.g. radius.\n GlyphView.prototype._map_data = function () { };\n GlyphView.prototype.map_to_screen = function (x, y) {\n return this.renderer.plot_view.map_to_screen(x, y, this.model.x_range_name, this.model.y_range_name);\n };\n return GlyphView;\n }(view_1.View));\n exports.GlyphView = GlyphView;\n var Glyph = /** @class */ (function (_super) {\n tslib_1.__extends(Glyph, _super);\n function Glyph(attrs) {\n return _super.call(this, attrs) || this;\n }\n Glyph.initClass = function () {\n this.prototype.type = 'Glyph';\n this.prototype._coords = [];\n this.internal({\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n };\n Glyph.coords = function (coords) {\n var _coords = this.prototype._coords.concat(coords);\n this.prototype._coords = _coords;\n var result = {};\n for (var _i = 0, coords_1 = coords; _i < coords_1.length; _i++) {\n var _a = coords_1[_i], x = _a[0], y = _a[1];\n result[x] = [p.CoordinateSpec];\n result[y] = [p.CoordinateSpec];\n }\n this.define(result);\n };\n return Glyph;\n }(model_1.Model));\n exports.Glyph = Glyph;\n Glyph.initClass();\n}\n","/* models/glyphs/harea */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var area_1 = require(120) /* ./area */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var p = require(18) /* ../../core/properties */;\n var HAreaView = /** @class */ (function (_super) {\n tslib_1.__extends(HAreaView, _super);\n function HAreaView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HAreaView.prototype._index_data = function () {\n var points = [];\n for (var i = 0, end = this._x1.length; i < end; i++) {\n var x1 = this._x1[i];\n var x2 = this._x2[i];\n var y = this._y[i];\n if (isNaN(x1 + x2 + y) || !isFinite(x1 + x2 + y))\n continue;\n points.push({ minX: Math.min(x1, x2), minY: y, maxX: Math.max(x1, x2), maxY: y, i: i });\n }\n return new spatial_1.SpatialIndex(points);\n };\n HAreaView.prototype._inner = function (ctx, sx1, sx2, sy, func) {\n ctx.beginPath();\n for (var i = 0, end = sx1.length; i < end; i++) {\n ctx.lineTo(sx1[i], sy[i]);\n }\n // iterate backwards so that the upper end is below the lower start\n for (var start = sx2.length - 1, i = start; i >= 0; i--) {\n ctx.lineTo(sx2[i], sy[i]);\n }\n ctx.closePath();\n func.call(ctx);\n };\n HAreaView.prototype._render = function (ctx, _indices, _a) {\n var _this = this;\n var sx1 = _a.sx1, sx2 = _a.sx2, sy = _a.sy;\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_value(ctx);\n this._inner(ctx, sx1, sx2, sy, ctx.fill);\n }\n this.visuals.hatch.doit2(ctx, 0, function () { return _this._inner(ctx, sx1, sx2, sy, ctx.fill); }, function () { return _this.renderer.request_render(); });\n };\n HAreaView.prototype.scenterx = function (i) {\n return (this.sx1[i] + this.sx2[i]) / 2;\n };\n HAreaView.prototype.scentery = function (i) {\n return this.sy[i];\n };\n HAreaView.prototype._map_data = function () {\n this.sx1 = this.renderer.xscale.v_compute(this._x1);\n this.sx2 = this.renderer.xscale.v_compute(this._x2);\n this.sy = this.renderer.yscale.v_compute(this._y);\n };\n return HAreaView;\n }(area_1.AreaView));\n exports.HAreaView = HAreaView;\n var HArea = /** @class */ (function (_super) {\n tslib_1.__extends(HArea, _super);\n function HArea(attrs) {\n return _super.call(this, attrs) || this;\n }\n HArea.initClass = function () {\n this.prototype.type = 'HArea';\n this.prototype.default_view = HAreaView;\n this.define({\n x1: [p.CoordinateSpec],\n x2: [p.CoordinateSpec],\n y: [p.CoordinateSpec],\n });\n };\n return HArea;\n }(area_1.Area));\n exports.HArea = HArea;\n HArea.initClass();\n}\n","/* models/glyphs/hbar */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var box_1 = require(122) /* ./box */;\n var p = require(18) /* ../../core/properties */;\n var HBarView = /** @class */ (function (_super) {\n tslib_1.__extends(HBarView, _super);\n function HBarView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HBarView.prototype.scenterx = function (i) {\n return (this.sleft[i] + this.sright[i]) / 2;\n };\n HBarView.prototype.scentery = function (i) {\n return this.sy[i];\n };\n HBarView.prototype._index_data = function () {\n return this._index_box(this._y.length);\n };\n HBarView.prototype._lrtb = function (i) {\n var l = Math.min(this._left[i], this._right[i]);\n var r = Math.max(this._left[i], this._right[i]);\n var t = this._y[i] + 0.5 * this._height[i];\n var b = this._y[i] - 0.5 * this._height[i];\n return [l, r, t, b];\n };\n HBarView.prototype._map_data = function () {\n this.sy = this.renderer.yscale.v_compute(this._y);\n this.sh = this.sdist(this.renderer.yscale, this._y, this._height, \"center\");\n this.sleft = this.renderer.xscale.v_compute(this._left);\n this.sright = this.renderer.xscale.v_compute(this._right);\n var n = this.sy.length;\n this.stop = new Float64Array(n);\n this.sbottom = new Float64Array(n);\n for (var i = 0; i < n; i++) {\n this.stop[i] = this.sy[i] - this.sh[i] / 2;\n this.sbottom[i] = this.sy[i] + this.sh[i] / 2;\n }\n this._clamp_viewport();\n };\n return HBarView;\n }(box_1.BoxView));\n exports.HBarView = HBarView;\n var HBar = /** @class */ (function (_super) {\n tslib_1.__extends(HBar, _super);\n function HBar(attrs) {\n return _super.call(this, attrs) || this;\n }\n HBar.initClass = function () {\n this.prototype.type = 'HBar';\n this.prototype.default_view = HBarView;\n this.coords([['left', 'y']]);\n this.define({\n height: [p.DistanceSpec],\n right: [p.CoordinateSpec],\n });\n this.override({ left: 0 });\n };\n return HBar;\n }(box_1.Box));\n exports.HBar = HBar;\n HBar.initClass();\n}\n","/* models/glyphs/hex_tile */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var glyph_1 = require(127) /* ./glyph */;\n var hittest = require(9) /* ../../core/hittest */;\n var p = require(18) /* ../../core/properties */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var utils_1 = require(149) /* ./utils */;\n var HexTileView = /** @class */ (function (_super) {\n tslib_1.__extends(HexTileView, _super);\n function HexTileView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HexTileView.prototype.scenterx = function (i) { return this.sx[i]; };\n HexTileView.prototype.scentery = function (i) { return this.sy[i]; };\n HexTileView.prototype._set_data = function () {\n var n = this._q.length;\n var size = this.model.size;\n var aspect_scale = this.model.aspect_scale;\n this._x = new Float64Array(n);\n this._y = new Float64Array(n);\n if (this.model.orientation == \"pointytop\") {\n for (var i = 0; i < n; i++) {\n this._x[i] = size * Math.sqrt(3) * (this._q[i] + this._r[i] / 2) / aspect_scale;\n this._y[i] = -size * 3 / 2 * this._r[i];\n }\n }\n else {\n for (var i = 0; i < n; i++) {\n this._x[i] = size * 3 / 2 * this._q[i];\n this._y[i] = -size * Math.sqrt(3) * (this._r[i] + this._q[i] / 2) * aspect_scale;\n }\n }\n };\n HexTileView.prototype._index_data = function () {\n var _a;\n var ysize = this.model.size;\n var xsize = Math.sqrt(3) * ysize / 2;\n if (this.model.orientation == \"flattop\") {\n _a = [ysize, xsize], xsize = _a[0], ysize = _a[1];\n ysize *= this.model.aspect_scale;\n }\n else\n xsize /= this.model.aspect_scale;\n var points = [];\n for (var i = 0; i < this._x.length; i++) {\n var x = this._x[i];\n var y = this._y[i];\n if (isNaN(x + y) || !isFinite(x + y))\n continue;\n points.push({ minX: x - xsize, minY: y - ysize, maxX: x + xsize, maxY: y + ysize, i: i });\n }\n return new spatial_1.SpatialIndex(points);\n };\n // overriding map_data instead of _map_data because the default automatic mappings\n // for other glyphs (with cartesian coordinates) is not useful\n HexTileView.prototype.map_data = function () {\n var _a, _b;\n _a = this.map_to_screen(this._x, this._y), this.sx = _a[0], this.sy = _a[1];\n _b = this._get_unscaled_vertices(), this.svx = _b[0], this.svy = _b[1];\n };\n HexTileView.prototype._get_unscaled_vertices = function () {\n var size = this.model.size;\n var aspect_scale = this.model.aspect_scale;\n if (this.model.orientation == \"pointytop\") {\n var rscale = this.renderer.yscale;\n var hscale = this.renderer.xscale;\n var r = Math.abs(rscale.compute(0) - rscale.compute(size)); // assumes linear scale\n var h = Math.sqrt(3) / 2 * Math.abs(hscale.compute(0) - hscale.compute(size)) / aspect_scale; // assumes linear scale\n var r2 = r / 2.0;\n var svx = [0, -h, -h, 0, h, h];\n var svy = [r, r2, -r2, -r, -r2, r2];\n return [svx, svy];\n }\n else {\n var rscale = this.renderer.xscale;\n var hscale = this.renderer.yscale;\n var r = Math.abs(rscale.compute(0) - rscale.compute(size)); // assumes linear scale\n var h = Math.sqrt(3) / 2 * Math.abs(hscale.compute(0) - hscale.compute(size)) * aspect_scale; // assumes linear scale\n var r2 = r / 2.0;\n var svx = [r, r2, -r2, -r, -r2, r2];\n var svy = [0, -h, -h, 0, h, h];\n return [svx, svy];\n }\n };\n HexTileView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, svx = _a.svx, svy = _a.svy, _scale = _a._scale;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + _scale[i]))\n continue;\n ctx.translate(sx[i], sy[i]);\n ctx.beginPath();\n for (var j = 0; j < 6; j++) {\n ctx.lineTo(svx[j] * _scale[i], svy[j] * _scale[i]);\n }\n ctx.closePath();\n ctx.translate(-sx[i], -sy[i]);\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n };\n HexTileView.prototype._hit_point = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n var candidates = this.index.indices({ minX: x, minY: y, maxX: x, maxY: y });\n var hits = [];\n for (var _i = 0, candidates_1 = candidates; _i < candidates_1.length; _i++) {\n var i = candidates_1[_i];\n if (hittest.point_in_poly(sx - this.sx[i], sy - this.sy[i], this.svx, this.svy)) {\n hits.push(i);\n }\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n HexTileView.prototype._hit_span = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var hits;\n if (geometry.direction == 'v') {\n var y = this.renderer.yscale.invert(sy);\n var hr = this.renderer.plot_view.frame.bbox.h_range;\n var _a = this.renderer.xscale.r_invert(hr.start, hr.end), minX = _a[0], maxX = _a[1];\n hits = this.index.indices({ minX: minX, minY: y, maxX: maxX, maxY: y });\n }\n else {\n var x = this.renderer.xscale.invert(sx);\n var vr = this.renderer.plot_view.frame.bbox.v_range;\n var _b = this.renderer.yscale.r_invert(vr.start, vr.end), minY = _b[0], maxY = _b[1];\n hits = this.index.indices({ minX: x, minY: minY, maxX: x, maxY: maxY });\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n HexTileView.prototype._hit_rect = function (geometry) {\n var sx0 = geometry.sx0, sx1 = geometry.sx1, sy0 = geometry.sy0, sy1 = geometry.sy1;\n var _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var result = hittest.create_empty_hit_test_result();\n result.indices = this.index.indices(bbox);\n return result;\n };\n HexTileView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_area_legend(this.visuals, ctx, bbox, index);\n };\n return HexTileView;\n }(glyph_1.GlyphView));\n exports.HexTileView = HexTileView;\n var HexTile = /** @class */ (function (_super) {\n tslib_1.__extends(HexTile, _super);\n function HexTile(attrs) {\n return _super.call(this, attrs) || this;\n }\n HexTile.initClass = function () {\n this.prototype.type = 'HexTile';\n this.prototype.default_view = HexTileView;\n this.coords([['r', 'q']]);\n this.mixins(['line', 'fill']);\n this.define({\n size: [p.Number, 1.0],\n aspect_scale: [p.Number, 1.0],\n scale: [p.NumberSpec, 1.0],\n orientation: [p.HexTileOrientation, \"pointytop\"],\n });\n this.override({ line_color: null });\n };\n return HexTile;\n }(glyph_1.Glyph));\n exports.HexTile = HexTile;\n HexTile.initClass();\n}\n","/* models/glyphs/image */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var image_base_1 = require(132) /* ./image_base */;\n var linear_color_mapper_1 = require(178) /* ../mappers/linear_color_mapper */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var ImageView = /** @class */ (function (_super) {\n tslib_1.__extends(ImageView, _super);\n function ImageView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ImageView.prototype.initialize = function () {\n var _this = this;\n _super.prototype.initialize.call(this);\n this.connect(this.model.color_mapper.change, function () { return _this._update_image(); });\n this.connect(this.model.properties.global_alpha.change, function () { return _this.renderer.request_render(); });\n };\n ImageView.prototype._update_image = function () {\n // Only reset image_data if already initialized\n if (this.image_data != null) {\n this._set_data();\n this.renderer.plot_view.request_render();\n }\n };\n ImageView.prototype._set_data = function () {\n this._set_width_heigh_data();\n var cmap = this.model.color_mapper.rgba_mapper;\n for (var i = 0, end = this._image.length; i < end; i++) {\n var img = void 0;\n if (this._image_shape != null && this._image_shape[i].length > 0) {\n img = this._image[i];\n var shape = this._image_shape[i];\n this._height[i] = shape[0];\n this._width[i] = shape[1];\n }\n else {\n var _image = this._image[i];\n img = array_1.concat(_image);\n this._height[i] = _image.length;\n this._width[i] = _image[0].length;\n }\n var buf8 = cmap.v_compute(img);\n this._set_image_data_from_buffer(i, buf8);\n }\n };\n ImageView.prototype._render = function (ctx, indices, _a) {\n var image_data = _a.image_data, sx = _a.sx, sy = _a.sy, sw = _a.sw, sh = _a.sh;\n var old_smoothing = ctx.getImageSmoothingEnabled();\n ctx.setImageSmoothingEnabled(false);\n ctx.globalAlpha = this.model.global_alpha;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (image_data[i] == null)\n continue;\n if (isNaN(sx[i] + sy[i] + sw[i] + sh[i]))\n continue;\n var y_offset = sy[i];\n ctx.translate(0, y_offset);\n ctx.scale(1, -1);\n ctx.translate(0, -y_offset);\n ctx.drawImage(image_data[i], sx[i] | 0, sy[i] | 0, sw[i], sh[i]);\n ctx.translate(0, y_offset);\n ctx.scale(1, -1);\n ctx.translate(0, -y_offset);\n }\n ctx.setImageSmoothingEnabled(old_smoothing);\n };\n return ImageView;\n }(image_base_1.ImageBaseView));\n exports.ImageView = ImageView;\n // NOTE: this needs to be redefined here, because palettes are located in bokeh-api.js bundle\n var Greys9 = function () { return [\"#000000\", \"#252525\", \"#525252\", \"#737373\", \"#969696\", \"#bdbdbd\", \"#d9d9d9\", \"#f0f0f0\", \"#ffffff\"]; };\n var Image = /** @class */ (function (_super) {\n tslib_1.__extends(Image, _super);\n function Image(attrs) {\n return _super.call(this, attrs) || this;\n }\n Image.initClass = function () {\n this.prototype.type = 'Image';\n this.prototype.default_view = ImageView;\n this.define({\n color_mapper: [p.Instance, function () { return new linear_color_mapper_1.LinearColorMapper({ palette: Greys9() }); }],\n });\n };\n return Image;\n }(image_base_1.ImageBase));\n exports.Image = Image;\n Image.initClass();\n}\n","/* models/glyphs/image_base */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var p = require(18) /* ../../core/properties */;\n var hittest = require(9) /* ../../core/hittest */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var ImageBaseView = /** @class */ (function (_super) {\n tslib_1.__extends(ImageBaseView, _super);\n function ImageBaseView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ImageBaseView.prototype._render = function (_ctx, _indices, _data) { };\n ImageBaseView.prototype._index_data = function () {\n var points = [];\n for (var i = 0, end = this._x.length; i < end; i++) {\n var _a = this._lrtb(i), l = _a[0], r = _a[1], t = _a[2], b = _a[3];\n if (isNaN(l + r + t + b) || !isFinite(l + r + t + b)) {\n continue;\n }\n points.push({ minX: l, minY: b, maxX: r, maxY: t, i: i });\n }\n return new spatial_1.SpatialIndex(points);\n };\n ImageBaseView.prototype._lrtb = function (i) {\n var xr = this.renderer.xscale.source_range;\n var x1 = this._x[i];\n var x2 = xr.is_reversed ? x1 - this._dw[i] : x1 + this._dw[i];\n var yr = this.renderer.yscale.source_range;\n var y1 = this._y[i];\n var y2 = yr.is_reversed ? y1 - this._dh[i] : y1 + this._dh[i];\n var _a = x1 < x2 ? [x1, x2] : [x2, x1], l = _a[0], r = _a[1];\n var _b = y1 < y2 ? [y1, y2] : [y2, y1], b = _b[0], t = _b[1];\n return [l, r, t, b];\n };\n ImageBaseView.prototype._set_width_heigh_data = function () {\n if (this.image_data == null || this.image_data.length != this._image.length)\n this.image_data = new Array(this._image.length);\n if (this._width == null || this._width.length != this._image.length)\n this._width = new Array(this._image.length);\n if (this._height == null || this._height.length != this._image.length)\n this._height = new Array(this._image.length);\n };\n ImageBaseView.prototype._get_or_create_canvas = function (i) {\n var _image_data = this.image_data[i];\n if (_image_data != null && _image_data.width == this._width[i] &&\n _image_data.height == this._height[i])\n return _image_data;\n else {\n var canvas = document.createElement('canvas');\n canvas.width = this._width[i];\n canvas.height = this._height[i];\n return canvas;\n }\n };\n ImageBaseView.prototype._set_image_data_from_buffer = function (i, buf8) {\n var canvas = this._get_or_create_canvas(i);\n var ctx = canvas.getContext('2d');\n var image_data = ctx.getImageData(0, 0, this._width[i], this._height[i]);\n image_data.data.set(buf8);\n ctx.putImageData(image_data, 0, 0);\n this.image_data[i] = canvas;\n };\n ImageBaseView.prototype._map_data = function () {\n switch (this.model.properties.dw.units) {\n case \"data\": {\n this.sw = this.sdist(this.renderer.xscale, this._x, this._dw, 'edge', this.model.dilate);\n break;\n }\n case \"screen\": {\n this.sw = this._dw;\n break;\n }\n }\n switch (this.model.properties.dh.units) {\n case \"data\": {\n this.sh = this.sdist(this.renderer.yscale, this._y, this._dh, 'edge', this.model.dilate);\n break;\n }\n case \"screen\": {\n this.sh = this._dh;\n break;\n }\n }\n };\n ImageBaseView.prototype._image_index = function (index, x, y) {\n var _a = this._lrtb(index), l = _a[0], r = _a[1], t = _a[2], b = _a[3];\n var width = this._width[index];\n var height = this._height[index];\n var dx = (r - l) / width;\n var dy = (t - b) / height;\n var dim1 = Math.floor((x - l) / dx);\n var dim2 = Math.floor((y - b) / dy);\n return { index: index, dim1: dim1, dim2: dim2, flat_index: dim2 * width + dim1 };\n };\n ImageBaseView.prototype._hit_point = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n var bbox = hittest.validate_bbox_coords([x, x], [y, y]);\n var candidates = this.index.indices(bbox);\n var result = hittest.create_empty_hit_test_result();\n result.image_indices = [];\n for (var _i = 0, candidates_1 = candidates; _i < candidates_1.length; _i++) {\n var index = candidates_1[_i];\n if ((sx != Infinity) && (sy != Infinity)) {\n result.image_indices.push(this._image_index(index, x, y));\n }\n }\n return result;\n };\n return ImageBaseView;\n }(xy_glyph_1.XYGlyphView));\n exports.ImageBaseView = ImageBaseView;\n var ImageBase = /** @class */ (function (_super) {\n tslib_1.__extends(ImageBase, _super);\n function ImageBase(attrs) {\n return _super.call(this, attrs) || this;\n }\n ImageBase.initClass = function () {\n this.prototype.type = 'ImageBase';\n this.prototype.default_view = ImageBaseView;\n this.define({\n image: [p.NumberSpec],\n dw: [p.DistanceSpec],\n dh: [p.DistanceSpec],\n dilate: [p.Boolean, false],\n global_alpha: [p.Number, 1.0],\n });\n };\n return ImageBase;\n }(xy_glyph_1.XYGlyph));\n exports.ImageBase = ImageBase;\n ImageBase.initClass();\n}\n","/* models/glyphs/image_rgba */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var image_base_1 = require(132) /* ./image_base */;\n var array_1 = require(24) /* ../../core/util/array */;\n var ImageRGBAView = /** @class */ (function (_super) {\n tslib_1.__extends(ImageRGBAView, _super);\n function ImageRGBAView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ImageRGBAView.prototype.initialize = function () {\n var _this = this;\n _super.prototype.initialize.call(this);\n this.connect(this.model.properties.global_alpha.change, function () { return _this.renderer.request_render(); });\n };\n ImageRGBAView.prototype._set_data = function (indices) {\n this._set_width_heigh_data();\n for (var i = 0, end = this._image.length; i < end; i++) {\n if (indices != null && indices.indexOf(i) < 0)\n continue;\n var buf = void 0;\n if (this._image_shape != null && this._image_shape[i].length > 0) {\n buf = this._image[i].buffer;\n var shape = this._image_shape[i];\n this._height[i] = shape[0];\n this._width[i] = shape[1];\n }\n else {\n var _image = this._image[i];\n var flat = array_1.concat(_image);\n buf = new ArrayBuffer(flat.length * 4);\n var color = new Uint32Array(buf);\n for (var j = 0, endj = flat.length; j < endj; j++) {\n color[j] = flat[j];\n }\n this._height[i] = _image.length;\n this._width[i] = _image[0].length;\n }\n var buf8 = new Uint8Array(buf);\n this._set_image_data_from_buffer(i, buf8);\n }\n };\n ImageRGBAView.prototype._render = function (ctx, indices, _a) {\n var image_data = _a.image_data, sx = _a.sx, sy = _a.sy, sw = _a.sw, sh = _a.sh;\n var old_smoothing = ctx.getImageSmoothingEnabled();\n ctx.setImageSmoothingEnabled(false);\n ctx.globalAlpha = this.model.global_alpha;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + sw[i] + sh[i]))\n continue;\n var y_offset = sy[i];\n ctx.translate(0, y_offset);\n ctx.scale(1, -1);\n ctx.translate(0, -y_offset);\n ctx.drawImage(image_data[i], sx[i] | 0, sy[i] | 0, sw[i], sh[i]);\n ctx.translate(0, y_offset);\n ctx.scale(1, -1);\n ctx.translate(0, -y_offset);\n }\n ctx.setImageSmoothingEnabled(old_smoothing);\n };\n return ImageRGBAView;\n }(image_base_1.ImageBaseView));\n exports.ImageRGBAView = ImageRGBAView;\n var ImageRGBA = /** @class */ (function (_super) {\n tslib_1.__extends(ImageRGBA, _super);\n function ImageRGBA(attrs) {\n return _super.call(this, attrs) || this;\n }\n ImageRGBA.initClass = function () {\n this.prototype.type = 'ImageRGBA';\n this.prototype.default_view = ImageRGBAView;\n };\n return ImageRGBA;\n }(image_base_1.ImageBase));\n exports.ImageRGBA = ImageRGBA;\n ImageRGBA.initClass();\n}\n","/* models/glyphs/image_url */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var logging_1 = require(17) /* ../../core/logging */;\n var p = require(18) /* ../../core/properties */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var ImageURLView = /** @class */ (function (_super) {\n tslib_1.__extends(ImageURLView, _super);\n function ImageURLView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._images_rendered = false;\n return _this;\n }\n ImageURLView.prototype.initialize = function () {\n var _this = this;\n _super.prototype.initialize.call(this);\n this.connect(this.model.properties.global_alpha.change, function () { return _this.renderer.request_render(); });\n };\n ImageURLView.prototype._index_data = function () {\n return new spatial_1.SpatialIndex([]);\n };\n ImageURLView.prototype._set_data = function () {\n var _this = this;\n if (this.image == null || this.image.length != this._url.length)\n this.image = arrayable_1.map(this._url, function () { return null; });\n var _a = this.model, retry_attempts = _a.retry_attempts, retry_timeout = _a.retry_timeout;\n this.retries = arrayable_1.map(this._url, function () { return retry_attempts; });\n var _loop_1 = function (i, end) {\n var url = this_1._url[i];\n if (url == null || url == \"\")\n return \"continue\";\n var img = new Image();\n img.onerror = function () {\n if (_this.retries[i] > 0) {\n logging_1.logger.trace(\"ImageURL failed to load \" + url + \" image, retrying in \" + retry_timeout + \" ms\");\n setTimeout(function () { return img.src = url; }, retry_timeout);\n }\n else\n logging_1.logger.warn(\"ImageURL unable to load \" + url + \" image after \" + retry_attempts + \" retries\");\n _this.retries[i] -= 1;\n };\n img.onload = function () {\n _this.image[i] = img;\n _this.renderer.request_render();\n };\n img.src = url;\n };\n var this_1 = this;\n for (var i = 0, end = this._url.length; i < end; i++) {\n _loop_1(i, end);\n }\n var w_data = this.model.properties.w.units == \"data\";\n var h_data = this.model.properties.h.units == \"data\";\n var n = this._x.length;\n var xs = new Array(w_data ? 2 * n : n);\n var ys = new Array(h_data ? 2 * n : n);\n for (var i = 0; i < n; i++) {\n xs[i] = this._x[i];\n ys[i] = this._y[i];\n }\n // if the width/height are in screen units, don't try to include them in bounds\n if (w_data) {\n for (var i = 0; i < n; i++)\n xs[n + i] = this._x[i] + this._w[i];\n }\n if (h_data) {\n for (var i = 0; i < n; i++)\n ys[n + i] = this._y[i] + this._h[i];\n }\n var minX = arrayable_1.min(xs);\n var maxX = arrayable_1.max(xs);\n var minY = arrayable_1.min(ys);\n var maxY = arrayable_1.max(ys);\n this._bounds_rect = { minX: minX, maxX: maxX, minY: minY, maxY: maxY };\n };\n ImageURLView.prototype.has_finished = function () {\n return _super.prototype.has_finished.call(this) && this._images_rendered == true;\n };\n ImageURLView.prototype._map_data = function () {\n // Better to check this.model.w and this.model.h for null since the set_data\n // machinery will have converted this._w and this._w to lists of null\n var ws = this.model.w != null ? this._w : arrayable_1.map(this._x, function () { return NaN; });\n var hs = this.model.h != null ? this._h : arrayable_1.map(this._x, function () { return NaN; });\n switch (this.model.properties.w.units) {\n case \"data\": {\n this.sw = this.sdist(this.renderer.xscale, this._x, ws, \"edge\", this.model.dilate);\n break;\n }\n case \"screen\": {\n this.sw = ws;\n break;\n }\n }\n switch (this.model.properties.h.units) {\n case \"data\": {\n this.sh = this.sdist(this.renderer.yscale, this._y, hs, \"edge\", this.model.dilate);\n break;\n }\n case \"screen\": {\n this.sh = hs;\n break;\n }\n }\n };\n ImageURLView.prototype._render = function (ctx, indices, _a) {\n var image = _a.image, sx = _a.sx, sy = _a.sy, sw = _a.sw, sh = _a.sh, _angle = _a._angle;\n // TODO (bev): take actual border width into account when clipping\n var frame = this.renderer.plot_view.frame;\n ctx.rect(frame._left.value + 1, frame._top.value + 1, frame._width.value - 2, frame._height.value - 2);\n ctx.clip();\n var finished = true;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + _angle[i]))\n continue;\n var img = image[i];\n if (img == null) {\n finished = false;\n continue;\n }\n this._render_image(ctx, i, img, sx, sy, sw, sh, _angle);\n }\n if (finished && !this._images_rendered) {\n this._images_rendered = true;\n this.notify_finished();\n }\n };\n ImageURLView.prototype._final_sx_sy = function (anchor, sx, sy, sw, sh) {\n switch (anchor) {\n case 'top_left': return [sx, sy];\n case 'top_center': return [sx - (sw / 2), sy];\n case 'top_right': return [sx - sw, sy];\n case 'center_right': return [sx - sw, sy - (sh / 2)];\n case 'bottom_right': return [sx - sw, sy - sh];\n case 'bottom_center': return [sx - (sw / 2), sy - sh];\n case 'bottom_left': return [sx, sy - sh];\n case 'center_left': return [sx, sy - (sh / 2)];\n case 'center': return [sx - (sw / 2), sy - (sh / 2)];\n }\n };\n ImageURLView.prototype._render_image = function (ctx, i, image, sx, sy, sw, sh, angle) {\n if (isNaN(sw[i]))\n sw[i] = image.width;\n if (isNaN(sh[i]))\n sh[i] = image.height;\n var anchor = this.model.anchor;\n var _a = this._final_sx_sy(anchor, sx[i], sy[i], sw[i], sh[i]), sxi = _a[0], syi = _a[1];\n ctx.save();\n ctx.globalAlpha = this.model.global_alpha;\n if (angle[i]) {\n ctx.translate(sxi, syi);\n ctx.rotate(angle[i]);\n ctx.drawImage(image, 0, 0, sw[i], sh[i]);\n ctx.rotate(-angle[i]);\n ctx.translate(-sxi, -syi);\n }\n else\n ctx.drawImage(image, sxi, syi, sw[i], sh[i]);\n ctx.restore();\n };\n ImageURLView.prototype.bounds = function () {\n return this._bounds_rect;\n };\n return ImageURLView;\n }(xy_glyph_1.XYGlyphView));\n exports.ImageURLView = ImageURLView;\n var ImageURL = /** @class */ (function (_super) {\n tslib_1.__extends(ImageURL, _super);\n function ImageURL(attrs) {\n return _super.call(this, attrs) || this;\n }\n ImageURL.initClass = function () {\n this.prototype.type = 'ImageURL';\n this.prototype.default_view = ImageURLView;\n this.define({\n url: [p.StringSpec],\n anchor: [p.Anchor, 'top_left'],\n global_alpha: [p.Number, 1.0],\n angle: [p.AngleSpec, 0],\n w: [p.DistanceSpec],\n h: [p.DistanceSpec],\n dilate: [p.Boolean, false],\n retry_attempts: [p.Number, 0],\n retry_timeout: [p.Number, 0],\n });\n };\n return ImageURL;\n }(xy_glyph_1.XYGlyph));\n exports.ImageURL = ImageURL;\n ImageURL.initClass();\n}\n","/* models/glyphs/index */ function _(require, module, exports) {\n var annular_wedge_1 = require(117) /* ./annular_wedge */;\n exports.AnnularWedge = annular_wedge_1.AnnularWedge;\n var annulus_1 = require(118) /* ./annulus */;\n exports.Annulus = annulus_1.Annulus;\n var arc_1 = require(119) /* ./arc */;\n exports.Arc = arc_1.Arc;\n var bezier_1 = require(121) /* ./bezier */;\n exports.Bezier = bezier_1.Bezier;\n var circle_1 = require(124) /* ./circle */;\n exports.Circle = circle_1.Circle;\n var center_rotatable_1 = require(123) /* ./center_rotatable */;\n exports.CenterRotatable = center_rotatable_1.CenterRotatable;\n var ellipse_1 = require(125) /* ./ellipse */;\n exports.Ellipse = ellipse_1.Ellipse;\n var ellipse_oval_1 = require(126) /* ./ellipse_oval */;\n exports.EllipseOval = ellipse_oval_1.EllipseOval;\n var glyph_1 = require(127) /* ./glyph */;\n exports.Glyph = glyph_1.Glyph;\n var harea_1 = require(128) /* ./harea */;\n exports.HArea = harea_1.HArea;\n var hbar_1 = require(129) /* ./hbar */;\n exports.HBar = hbar_1.HBar;\n var hex_tile_1 = require(130) /* ./hex_tile */;\n exports.HexTile = hex_tile_1.HexTile;\n var image_1 = require(131) /* ./image */;\n exports.Image = image_1.Image;\n var image_rgba_1 = require(133) /* ./image_rgba */;\n exports.ImageRGBA = image_rgba_1.ImageRGBA;\n var image_url_1 = require(134) /* ./image_url */;\n exports.ImageURL = image_url_1.ImageURL;\n var line_1 = require(136) /* ./line */;\n exports.Line = line_1.Line;\n var multi_line_1 = require(137) /* ./multi_line */;\n exports.MultiLine = multi_line_1.MultiLine;\n var multi_polygons_1 = require(138) /* ./multi_polygons */;\n exports.MultiPolygons = multi_polygons_1.MultiPolygons;\n var oval_1 = require(139) /* ./oval */;\n exports.Oval = oval_1.Oval;\n var patch_1 = require(140) /* ./patch */;\n exports.Patch = patch_1.Patch;\n var patches_1 = require(141) /* ./patches */;\n exports.Patches = patches_1.Patches;\n var quad_1 = require(142) /* ./quad */;\n exports.Quad = quad_1.Quad;\n var quadratic_1 = require(143) /* ./quadratic */;\n exports.Quadratic = quadratic_1.Quadratic;\n var ray_1 = require(144) /* ./ray */;\n exports.Ray = ray_1.Ray;\n var rect_1 = require(145) /* ./rect */;\n exports.Rect = rect_1.Rect;\n var segment_1 = require(146) /* ./segment */;\n exports.Segment = segment_1.Segment;\n var step_1 = require(147) /* ./step */;\n exports.Step = step_1.Step;\n var text_1 = require(148) /* ./text */;\n exports.Text = text_1.Text;\n var varea_1 = require(150) /* ./varea */;\n exports.VArea = varea_1.VArea;\n var vbar_1 = require(151) /* ./vbar */;\n exports.VBar = vbar_1.VBar;\n var wedge_1 = require(152) /* ./wedge */;\n exports.Wedge = wedge_1.Wedge;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n exports.XYGlyph = xy_glyph_1.XYGlyph;\n}\n","/* models/glyphs/line */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var utils_1 = require(149) /* ./utils */;\n var hittest = require(9) /* ../../core/hittest */;\n var LineView = /** @class */ (function (_super) {\n tslib_1.__extends(LineView, _super);\n function LineView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LineView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy;\n var drawing = false;\n var last_index = null;\n this.visuals.line.set_value(ctx);\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (drawing) {\n if (!isFinite(sx[i] + sy[i])) {\n ctx.stroke();\n ctx.beginPath();\n drawing = false;\n last_index = i;\n continue;\n }\n if (last_index != null && i - last_index > 1) {\n ctx.stroke();\n drawing = false;\n }\n }\n if (drawing)\n ctx.lineTo(sx[i], sy[i]);\n else {\n ctx.beginPath();\n ctx.moveTo(sx[i], sy[i]);\n drawing = true;\n }\n last_index = i;\n }\n if (drawing)\n ctx.stroke();\n };\n LineView.prototype._hit_point = function (geometry) {\n var _this = this;\n /* Check if the point geometry hits this line glyph and return an object\n that describes the hit result:\n Args:\n * geometry (object): object with the following keys\n * sx (float): screen x coordinate of the point\n * sy (float): screen y coordinate of the point\n * type (str): type of geometry (in this case it's a point)\n Output:\n Object with the following keys:\n * 0d (bool): whether the point hits the glyph or not\n * 1d (array(int)): array with the indices hit by the point\n */\n var result = hittest.create_empty_hit_test_result();\n var point = { x: geometry.sx, y: geometry.sy };\n var shortest = 9999;\n var threshold = Math.max(2, this.visuals.line.line_width.value() / 2);\n for (var i = 0, end = this.sx.length - 1; i < end; i++) {\n var p0 = { x: this.sx[i], y: this.sy[i] };\n var p1 = { x: this.sx[i + 1], y: this.sy[i + 1] };\n var dist = hittest.dist_to_segment(point, p0, p1);\n if (dist < threshold && dist < shortest) {\n shortest = dist;\n result.add_to_selected_glyphs(this.model);\n result.get_view = function () { return _this; };\n result.line_indices = [i];\n }\n }\n return result;\n };\n LineView.prototype._hit_span = function (geometry) {\n var _this = this;\n var sx = geometry.sx, sy = geometry.sy;\n var result = hittest.create_empty_hit_test_result();\n var val;\n var values;\n if (geometry.direction == 'v') {\n val = this.renderer.yscale.invert(sy);\n values = this._y;\n }\n else {\n val = this.renderer.xscale.invert(sx);\n values = this._x;\n }\n for (var i = 0, end = values.length - 1; i < end; i++) {\n if ((values[i] <= val && val <= values[i + 1]) || (values[i + 1] <= val && val <= values[i])) {\n result.add_to_selected_glyphs(this.model);\n result.get_view = function () { return _this; };\n result.line_indices.push(i);\n }\n }\n return result;\n };\n LineView.prototype.get_interpolation_hit = function (i, geometry) {\n var _a = [this._x[i], this._y[i], this._x[i + 1], this._y[i + 1]], x2 = _a[0], y2 = _a[1], x3 = _a[2], y3 = _a[3];\n return utils_1.line_interpolation(this.renderer, geometry, x2, y2, x3, y3);\n };\n LineView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_line_legend(this.visuals, ctx, bbox, index);\n };\n return LineView;\n }(xy_glyph_1.XYGlyphView));\n exports.LineView = LineView;\n var Line = /** @class */ (function (_super) {\n tslib_1.__extends(Line, _super);\n function Line(attrs) {\n return _super.call(this, attrs) || this;\n }\n Line.initClass = function () {\n this.prototype.type = 'Line';\n this.prototype.default_view = LineView;\n this.mixins(['line']);\n };\n return Line;\n }(xy_glyph_1.XYGlyph));\n exports.Line = Line;\n Line.initClass();\n}\n","/* models/glyphs/multi_line */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var hittest = require(9) /* ../../core/hittest */;\n var object_1 = require(35) /* ../../core/util/object */;\n var array_1 = require(24) /* ../../core/util/array */;\n var types_1 = require(46) /* ../../core/util/types */;\n var glyph_1 = require(127) /* ./glyph */;\n var utils_1 = require(149) /* ./utils */;\n var MultiLineView = /** @class */ (function (_super) {\n tslib_1.__extends(MultiLineView, _super);\n function MultiLineView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MultiLineView.prototype._index_data = function () {\n var points = [];\n for (var i = 0, end = this._xs.length; i < end; i++) {\n if (this._xs[i] == null || this._xs[i].length === 0)\n continue;\n var _xsi = this._xs[i];\n var xs = [];\n for (var j = 0, n = _xsi.length; j < n; j++) {\n var x = _xsi[j];\n if (!types_1.isStrictNaN(x))\n xs.push(x);\n }\n var _ysi = this._ys[i];\n var ys = [];\n for (var j = 0, n = _ysi.length; j < n; j++) {\n var y = _ysi[j];\n if (!types_1.isStrictNaN(y))\n ys.push(y);\n }\n var _a = [array_1.min(xs), array_1.max(xs)], minX = _a[0], maxX = _a[1];\n var _b = [array_1.min(ys), array_1.max(ys)], minY = _b[0], maxY = _b[1];\n points.push({ minX: minX, minY: minY, maxX: maxX, maxY: maxY, i: i });\n }\n return new spatial_1.SpatialIndex(points);\n };\n MultiLineView.prototype._render = function (ctx, indices, _a) {\n var sxs = _a.sxs, sys = _a.sys;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n var _b = [sxs[i], sys[i]], sx = _b[0], sy = _b[1];\n this.visuals.line.set_vectorize(ctx, i);\n for (var j = 0, end = sx.length; j < end; j++) {\n if (j == 0) {\n ctx.beginPath();\n ctx.moveTo(sx[j], sy[j]);\n continue;\n }\n else if (isNaN(sx[j]) || isNaN(sy[j])) {\n ctx.stroke();\n ctx.beginPath();\n continue;\n }\n else\n ctx.lineTo(sx[j], sy[j]);\n }\n ctx.stroke();\n }\n };\n MultiLineView.prototype._hit_point = function (geometry) {\n var result = hittest.create_empty_hit_test_result();\n var point = { x: geometry.sx, y: geometry.sy };\n var shortest = 9999;\n var hits = {};\n for (var i = 0, end = this.sxs.length; i < end; i++) {\n var threshold = Math.max(2, this.visuals.line.cache_select('line_width', i) / 2);\n var points = null;\n for (var j = 0, endj = this.sxs[i].length - 1; j < endj; j++) {\n var p0 = { x: this.sxs[i][j], y: this.sys[i][j] };\n var p1 = { x: this.sxs[i][j + 1], y: this.sys[i][j + 1] };\n var dist = hittest.dist_to_segment(point, p0, p1);\n if (dist < threshold && dist < shortest) {\n shortest = dist;\n points = [j];\n }\n }\n if (points)\n hits[i] = points;\n }\n result.indices = object_1.keys(hits).map(function (x) { return parseInt(x, 10); });\n result.multiline_indices = hits;\n return result;\n };\n MultiLineView.prototype._hit_span = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var result = hittest.create_empty_hit_test_result();\n var val;\n var values;\n if (geometry.direction === 'v') {\n val = this.renderer.yscale.invert(sy);\n values = this._ys;\n }\n else {\n val = this.renderer.xscale.invert(sx);\n values = this._xs;\n }\n var hits = {};\n for (var i = 0, end = values.length; i < end; i++) {\n var points = [];\n for (var j = 0, endj = values[i].length - 1; j < endj; j++) {\n if (values[i][j] <= val && val <= values[i][j + 1])\n points.push(j);\n }\n if (points.length > 0)\n hits[i] = points;\n }\n result.indices = object_1.keys(hits).map(function (x) { return parseInt(x, 10); });\n result.multiline_indices = hits;\n return result;\n };\n MultiLineView.prototype.get_interpolation_hit = function (i, point_i, geometry) {\n var _a = [this._xs[i][point_i], this._ys[i][point_i], this._xs[i][point_i + 1], this._ys[i][point_i + 1]], x2 = _a[0], y2 = _a[1], x3 = _a[2], y3 = _a[3];\n return utils_1.line_interpolation(this.renderer, geometry, x2, y2, x3, y3);\n };\n MultiLineView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_line_legend(this.visuals, ctx, bbox, index);\n };\n MultiLineView.prototype.scenterx = function () {\n throw new Error(\"not implemented\");\n };\n MultiLineView.prototype.scentery = function () {\n throw new Error(\"not implemented\");\n };\n return MultiLineView;\n }(glyph_1.GlyphView));\n exports.MultiLineView = MultiLineView;\n var MultiLine = /** @class */ (function (_super) {\n tslib_1.__extends(MultiLine, _super);\n function MultiLine(attrs) {\n return _super.call(this, attrs) || this;\n }\n MultiLine.initClass = function () {\n this.prototype.type = 'MultiLine';\n this.prototype.default_view = MultiLineView;\n this.coords([['xs', 'ys']]);\n this.mixins(['line']);\n };\n return MultiLine;\n }(glyph_1.Glyph));\n exports.MultiLine = MultiLine;\n MultiLine.initClass();\n}\n","/* models/glyphs/multi_polygons */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var glyph_1 = require(127) /* ./glyph */;\n var utils_1 = require(149) /* ./utils */;\n var array_1 = require(24) /* ../../core/util/array */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var hittest = require(9) /* ../../core/hittest */;\n var types_1 = require(46) /* ../../core/util/types */;\n var MultiPolygonsView = /** @class */ (function (_super) {\n tslib_1.__extends(MultiPolygonsView, _super);\n function MultiPolygonsView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MultiPolygonsView.prototype._index_data = function () {\n var points = [];\n for (var i = 0, end = this._xs.length; i < end; i++) {\n for (var j = 0, endj = this._xs[i].length; j < endj; j++) {\n var xs = this._xs[i][j][0]; // do not use holes\n var ys = this._ys[i][j][0]; // do not use holes\n if (xs.length == 0)\n continue;\n points.push({\n minX: array_1.min(xs),\n minY: array_1.min(ys),\n maxX: array_1.max(xs),\n maxY: array_1.max(ys),\n i: i,\n });\n }\n }\n this.hole_index = this._index_hole_data(); // should this be set here?\n return new spatial_1.SpatialIndex(points);\n };\n MultiPolygonsView.prototype._index_hole_data = function () {\n // need advice on how to use this sure if this could be more useful\n var points = [];\n for (var i = 0, end = this._xs.length; i < end; i++) {\n for (var j = 0, endj = this._xs[i].length; j < endj; j++) {\n if (this._xs[i][j].length > 1) {\n for (var k = 1, endk = this._xs[i][j].length; k < endk; k++) {\n var xs = this._xs[i][j][k]; // only use holes\n var ys = this._ys[i][j][k]; // only use holes\n if (xs.length == 0)\n continue;\n points.push({\n minX: array_1.min(xs),\n minY: array_1.min(ys),\n maxX: array_1.max(xs),\n maxY: array_1.max(ys),\n i: i,\n });\n }\n }\n }\n }\n return new spatial_1.SpatialIndex(points);\n };\n MultiPolygonsView.prototype._mask_data = function () {\n var xr = this.renderer.plot_view.frame.x_ranges.default;\n var _a = [xr.min, xr.max], x0 = _a[0], x1 = _a[1];\n var yr = this.renderer.plot_view.frame.y_ranges.default;\n var _b = [yr.min, yr.max], y0 = _b[0], y1 = _b[1];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var indices = this.index.indices(bbox);\n // TODO this is probably needed in patches as well so that we don't draw glyphs multiple times\n return indices.sort(function (a, b) { return a - b; }).filter(function (value, index, array) {\n return (index === 0) || (value !== array[index - 1]);\n });\n };\n MultiPolygonsView.prototype._inner_loop = function (ctx, sx, sy) {\n ctx.beginPath();\n for (var j = 0, endj = sx.length; j < endj; j++) {\n for (var k = 0, endk = sx[j].length; k < endk; k++) {\n var _sx = sx[j][k];\n var _sy = sy[j][k];\n for (var l = 0, endl = _sx.length; l < endl; l++) {\n if (l == 0) {\n ctx.moveTo(_sx[l], _sy[l]);\n continue;\n }\n else\n ctx.lineTo(_sx[l], _sy[l]);\n }\n ctx.closePath();\n }\n }\n };\n MultiPolygonsView.prototype._render = function (ctx, indices, _a) {\n var _this = this;\n var sxs = _a.sxs, sys = _a.sys;\n if (this.visuals.fill.doit || this.visuals.line.doit) {\n var _loop_1 = function (i) {\n var _a = [sxs[i], sys[i]], sx = _a[0], sy = _a[1];\n if (this_1.visuals.fill.doit) {\n this_1.visuals.fill.set_vectorize(ctx, i);\n this_1._inner_loop(ctx, sx, sy);\n ctx.fill(\"evenodd\");\n }\n this_1.visuals.hatch.doit2(ctx, i, function () {\n _this._inner_loop(ctx, sx, sy);\n ctx.fill(\"evenodd\");\n }, function () { return _this.renderer.request_render(); });\n if (this_1.visuals.line.doit) {\n this_1.visuals.line.set_vectorize(ctx, i);\n this_1._inner_loop(ctx, sx, sy);\n ctx.stroke();\n }\n };\n var this_1 = this;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n _loop_1(i);\n }\n }\n };\n MultiPolygonsView.prototype._hit_point = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n var candidates = this.index.indices({ minX: x, minY: y, maxX: x, maxY: y });\n var hole_candidates = this.hole_index.indices({ minX: x, minY: y, maxX: x, maxY: y });\n var hits = [];\n for (var i = 0, end = candidates.length; i < end; i++) {\n var idx = candidates[i];\n var sxs = this.sxs[idx];\n var sys = this.sys[idx];\n for (var j = 0, endj = sxs.length; j < endj; j++) {\n var nk = sxs[j].length;\n if (hittest.point_in_poly(sx, sy, sxs[j][0], sys[j][0])) {\n if (nk == 1) {\n hits.push(idx);\n }\n else if (hole_candidates.indexOf(idx) == -1) {\n hits.push(idx);\n }\n else if (nk > 1) {\n var in_a_hole = false;\n for (var k = 1; k < nk; k++) {\n var sxs_k = sxs[j][k];\n var sys_k = sys[j][k];\n if (hittest.point_in_poly(sx, sy, sxs_k, sys_k)) {\n in_a_hole = true;\n break;\n }\n else {\n continue;\n }\n }\n if (!in_a_hole) {\n hits.push(idx);\n }\n }\n }\n }\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n MultiPolygonsView.prototype._get_snap_coord = function (array) {\n return arrayable_1.sum(array) / array.length;\n };\n MultiPolygonsView.prototype.scenterx = function (i, sx, sy) {\n if (this.sxs[i].length == 1) {\n // We don't have discontinuous objects so we're ok\n return this._get_snap_coord(this.sxs[i][0][0]);\n }\n else {\n // We have discontinuous objects, so we need to find which\n // one we're in, we can use point_in_poly again\n var sxs = this.sxs[i];\n var sys = this.sys[i];\n for (var j = 0, end = sxs.length; j < end; j++) {\n if (hittest.point_in_poly(sx, sy, sxs[j][0], sys[j][0]))\n return this._get_snap_coord(sxs[j][0]);\n }\n }\n throw new Error(\"unreachable code\");\n };\n MultiPolygonsView.prototype.scentery = function (i, sx, sy) {\n if (this.sys[i].length == 1) {\n // We don't have discontinuous objects so we're ok\n return this._get_snap_coord(this.sys[i][0][0]);\n }\n else {\n // We have discontinuous objects, so we need to find which\n // one we're in, we can use point_in_poly again\n var sxs = this.sxs[i];\n var sys = this.sys[i];\n for (var j = 0, end = sxs.length; j < end; j++) {\n if (hittest.point_in_poly(sx, sy, sxs[j][0], sys[j][0]))\n return this._get_snap_coord(sys[j][0]);\n }\n }\n throw new Error(\"unreachable code\");\n };\n MultiPolygonsView.prototype.map_data = function () {\n var self = this;\n for (var _i = 0, _a = this.model._coords; _i < _a.length; _i++) {\n var _b = _a[_i], xname = _b[0], yname = _b[1];\n var sxname = \"s\" + xname;\n var syname = \"s\" + yname;\n xname = \"_\" + xname;\n yname = \"_\" + yname;\n if (self[xname] != null && (types_1.isArray(self[xname][0]) || types_1.isTypedArray(self[xname][0]))) {\n var ni = self[xname].length;\n self[sxname] = new Array(ni);\n self[syname] = new Array(ni);\n for (var i = 0; i < ni; i++) {\n var nj = self[xname][i].length;\n self[sxname][i] = new Array(nj);\n self[syname][i] = new Array(nj);\n for (var j = 0; j < nj; j++) {\n var nk = self[xname][i][j].length;\n self[sxname][i][j] = new Array(nk);\n self[syname][i][j] = new Array(nk);\n for (var k = 0; k < nk; k++) {\n var _c = this.map_to_screen(self[xname][i][j][k], self[yname][i][j][k]), sx = _c[0], sy = _c[1];\n self[sxname][i][j][k] = sx;\n self[syname][i][j][k] = sy;\n }\n }\n }\n }\n }\n };\n MultiPolygonsView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_area_legend(this.visuals, ctx, bbox, index);\n };\n return MultiPolygonsView;\n }(glyph_1.GlyphView));\n exports.MultiPolygonsView = MultiPolygonsView;\n var MultiPolygons = /** @class */ (function (_super) {\n tslib_1.__extends(MultiPolygons, _super);\n function MultiPolygons(attrs) {\n return _super.call(this, attrs) || this;\n }\n MultiPolygons.initClass = function () {\n this.prototype.type = 'MultiPolygons';\n this.prototype.default_view = MultiPolygonsView;\n this.coords([['xs', 'ys']]);\n this.mixins(['line', 'fill', 'hatch']);\n };\n return MultiPolygons;\n }(glyph_1.Glyph));\n exports.MultiPolygons = MultiPolygons;\n MultiPolygons.initClass();\n}\n","/* models/glyphs/oval */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var ellipse_oval_1 = require(126) /* ./ellipse_oval */;\n var OvalView = /** @class */ (function (_super) {\n tslib_1.__extends(OvalView, _super);\n function OvalView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OvalView.prototype._map_data = function () {\n var sw;\n var n = this._x.length;\n this.sw = new Float64Array(n);\n if (this.model.properties.width.units == \"data\")\n sw = this.sdist(this.renderer.xscale, this._x, this._width, 'center');\n else\n sw = this._width;\n // oval drawn from bezier curves = ellipse with width reduced by 3/4\n for (var i = 0; i < n; i++)\n this.sw[i] = sw[i] * 0.75;\n if (this.model.properties.height.units == \"data\")\n this.sh = this.sdist(this.renderer.yscale, this._y, this._height, 'center');\n else\n this.sh = this._height;\n };\n return OvalView;\n }(ellipse_oval_1.EllipseOvalView));\n exports.OvalView = OvalView;\n var Oval = /** @class */ (function (_super) {\n tslib_1.__extends(Oval, _super);\n function Oval(attrs) {\n return _super.call(this, attrs) || this;\n }\n Oval.initClass = function () {\n this.prototype.type = 'Oval';\n this.prototype.default_view = OvalView;\n };\n return Oval;\n }(ellipse_oval_1.EllipseOval));\n exports.Oval = Oval;\n Oval.initClass();\n}\n","/* models/glyphs/patch */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var utils_1 = require(149) /* ./utils */;\n var PatchView = /** @class */ (function (_super) {\n tslib_1.__extends(PatchView, _super);\n function PatchView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatchView.prototype._inner_loop = function (ctx, indices, sx, sy, func) {\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (i == 0) {\n ctx.beginPath();\n ctx.moveTo(sx[i], sy[i]);\n continue;\n }\n else if (isNaN(sx[i] + sy[i])) {\n ctx.closePath();\n func.apply(ctx);\n ctx.beginPath();\n continue;\n }\n else\n ctx.lineTo(sx[i], sy[i]);\n }\n ctx.closePath();\n func.call(ctx);\n };\n PatchView.prototype._render = function (ctx, indices, _a) {\n var _this = this;\n var sx = _a.sx, sy = _a.sy;\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_value(ctx);\n this._inner_loop(ctx, indices, sx, sy, ctx.fill);\n }\n this.visuals.hatch.doit2(ctx, 0, function () { return _this._inner_loop(ctx, indices, sx, sy, ctx.fill); }, function () { return _this.renderer.request_render(); });\n if (this.visuals.line.doit) {\n this.visuals.line.set_value(ctx);\n this._inner_loop(ctx, indices, sx, sy, ctx.stroke);\n }\n };\n PatchView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_area_legend(this.visuals, ctx, bbox, index);\n };\n return PatchView;\n }(xy_glyph_1.XYGlyphView));\n exports.PatchView = PatchView;\n var Patch = /** @class */ (function (_super) {\n tslib_1.__extends(Patch, _super);\n function Patch(attrs) {\n return _super.call(this, attrs) || this;\n }\n Patch.initClass = function () {\n this.prototype.type = 'Patch';\n this.prototype.default_view = PatchView;\n this.mixins(['line', 'fill', 'hatch']);\n };\n return Patch;\n }(xy_glyph_1.XYGlyph));\n exports.Patch = Patch;\n Patch.initClass();\n}\n","/* models/glyphs/patches */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var glyph_1 = require(127) /* ./glyph */;\n var utils_1 = require(149) /* ./utils */;\n var array_1 = require(24) /* ../../core/util/array */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var types_1 = require(46) /* ../../core/util/types */;\n var hittest = require(9) /* ../../core/hittest */;\n var PatchesView = /** @class */ (function (_super) {\n tslib_1.__extends(PatchesView, _super);\n function PatchesView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PatchesView.prototype._build_discontinuous_object = function (nanned_qs) {\n // _s is this.xs, this.ys, this.sxs, this.sys\n // an object of n 1-d arrays in either data or screen units\n //\n // Each 1-d array gets broken to an array of arrays split\n // on any NaNs\n //\n // So:\n // { 0: [x11, x12],\n // 1: [x21, x22, x23],\n // 2: [x31, NaN, x32]\n // }\n // becomes\n // { 0: [[x11, x12]],\n // 1: [[x21, x22, x23]],\n // 2: [[x31],[x32]]\n // }\n var ds = [];\n for (var i = 0, end = nanned_qs.length; i < end; i++) {\n ds[i] = [];\n var qs = array_1.copy(nanned_qs[i]);\n while (qs.length > 0) {\n var nan_index = array_1.find_last_index(qs, function (q) { return types_1.isStrictNaN(q); });\n var qs_part = void 0;\n if (nan_index >= 0)\n qs_part = qs.splice(nan_index);\n else {\n qs_part = qs;\n qs = [];\n }\n var denanned = qs_part.filter(function (q) { return !types_1.isStrictNaN(q); });\n ds[i].push(denanned);\n }\n }\n return ds;\n };\n PatchesView.prototype._index_data = function () {\n var xss = this._build_discontinuous_object(this._xs); // XXX\n var yss = this._build_discontinuous_object(this._ys); // XXX\n var points = [];\n for (var i = 0, end = this._xs.length; i < end; i++) {\n for (var j = 0, endj = xss[i].length; j < endj; j++) {\n var xs = xss[i][j];\n var ys = yss[i][j];\n if (xs.length == 0)\n continue;\n points.push({\n minX: array_1.min(xs),\n minY: array_1.min(ys),\n maxX: array_1.max(xs),\n maxY: array_1.max(ys),\n i: i,\n });\n }\n }\n return new spatial_1.SpatialIndex(points);\n };\n PatchesView.prototype._mask_data = function () {\n var xr = this.renderer.plot_view.frame.x_ranges.default;\n var _a = [xr.min, xr.max], x0 = _a[0], x1 = _a[1];\n var yr = this.renderer.plot_view.frame.y_ranges.default;\n var _b = [yr.min, yr.max], y0 = _b[0], y1 = _b[1];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var indices = this.index.indices(bbox);\n // TODO (bev) this should be under test\n return indices.sort(function (a, b) { return a - b; });\n };\n PatchesView.prototype._inner_loop = function (ctx, sx, sy, func) {\n for (var j = 0, end = sx.length; j < end; j++) {\n if (j == 0) {\n ctx.beginPath();\n ctx.moveTo(sx[j], sy[j]);\n continue;\n }\n else if (isNaN(sx[j] + sy[j])) {\n ctx.closePath();\n func.apply(ctx);\n ctx.beginPath();\n continue;\n }\n else\n ctx.lineTo(sx[j], sy[j]);\n }\n ctx.closePath();\n func.call(ctx);\n };\n PatchesView.prototype._render = function (ctx, indices, _a) {\n var _this = this;\n var sxs = _a.sxs, sys = _a.sys;\n // this.sxss and this.syss are used by _hit_point and sxc, syc\n // This is the earliest we can build them, and only build them once\n this.sxss = this._build_discontinuous_object(sxs); // XXX\n this.syss = this._build_discontinuous_object(sys); // XXX\n var _loop_1 = function (i) {\n var _a = [sxs[i], sys[i]], sx = _a[0], sy = _a[1];\n if (this_1.visuals.fill.doit) {\n this_1.visuals.fill.set_vectorize(ctx, i);\n this_1._inner_loop(ctx, sx, sy, ctx.fill);\n }\n this_1.visuals.hatch.doit2(ctx, i, function () { return _this._inner_loop(ctx, sx, sy, ctx.fill); }, function () { return _this.renderer.request_render(); });\n if (this_1.visuals.line.doit) {\n this_1.visuals.line.set_vectorize(ctx, i);\n this_1._inner_loop(ctx, sx, sy, ctx.stroke);\n }\n };\n var this_1 = this;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n _loop_1(i);\n }\n };\n PatchesView.prototype._hit_point = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n var candidates = this.index.indices({ minX: x, minY: y, maxX: x, maxY: y });\n var hits = [];\n for (var i = 0, end = candidates.length; i < end; i++) {\n var idx = candidates[i];\n var sxs = this.sxss[idx];\n var sys = this.syss[idx];\n for (var j = 0, endj = sxs.length; j < endj; j++) {\n if (hittest.point_in_poly(sx, sy, sxs[j], sys[j])) {\n hits.push(idx);\n }\n }\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n PatchesView.prototype._get_snap_coord = function (array) {\n return arrayable_1.sum(array) / array.length;\n };\n PatchesView.prototype.scenterx = function (i, sx, sy) {\n if (this.sxss[i].length == 1) {\n // We don't have discontinuous objects so we're ok\n return this._get_snap_coord(this.sxs[i]);\n }\n else {\n // We have discontinuous objects, so we need to find which\n // one we're in, we can use point_in_poly again\n var sxs = this.sxss[i];\n var sys = this.syss[i];\n for (var j = 0, end = sxs.length; j < end; j++) {\n if (hittest.point_in_poly(sx, sy, sxs[j], sys[j]))\n return this._get_snap_coord(sxs[j]);\n }\n }\n throw new Error(\"unreachable code\");\n };\n PatchesView.prototype.scentery = function (i, sx, sy) {\n if (this.syss[i].length == 1) {\n // We don't have discontinuous objects so we're ok\n return this._get_snap_coord(this.sys[i]);\n }\n else {\n // We have discontinuous objects, so we need to find which\n // one we're in, we can use point_in_poly again\n var sxs = this.sxss[i];\n var sys = this.syss[i];\n for (var j = 0, end = sxs.length; j < end; j++) {\n if (hittest.point_in_poly(sx, sy, sxs[j], sys[j]))\n return this._get_snap_coord(sys[j]);\n }\n }\n throw new Error(\"unreachable code\");\n };\n PatchesView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_area_legend(this.visuals, ctx, bbox, index);\n };\n return PatchesView;\n }(glyph_1.GlyphView));\n exports.PatchesView = PatchesView;\n var Patches = /** @class */ (function (_super) {\n tslib_1.__extends(Patches, _super);\n function Patches(attrs) {\n return _super.call(this, attrs) || this;\n }\n Patches.initClass = function () {\n this.prototype.type = 'Patches';\n this.prototype.default_view = PatchesView;\n this.coords([['xs', 'ys']]);\n this.mixins(['line', 'fill', 'hatch']);\n };\n return Patches;\n }(glyph_1.Glyph));\n exports.Patches = Patches;\n Patches.initClass();\n}\n","/* models/glyphs/quad */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var box_1 = require(122) /* ./box */;\n var QuadView = /** @class */ (function (_super) {\n tslib_1.__extends(QuadView, _super);\n function QuadView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n QuadView.prototype.get_anchor_point = function (anchor, i, _spt) {\n var left = Math.min(this.sleft[i], this.sright[i]);\n var right = Math.max(this.sright[i], this.sleft[i]);\n var top = Math.min(this.stop[i], this.sbottom[i]); // screen coordinates !!!\n var bottom = Math.max(this.sbottom[i], this.stop[i]); //\n switch (anchor) {\n case \"top_left\": return { x: left, y: top };\n case \"top_center\": return { x: (left + right) / 2, y: top };\n case \"top_right\": return { x: right, y: top };\n case \"center_right\": return { x: right, y: (top + bottom) / 2 };\n case \"bottom_right\": return { x: right, y: bottom };\n case \"bottom_center\": return { x: (left + right) / 2, y: bottom };\n case \"bottom_left\": return { x: left, y: bottom };\n case \"center_left\": return { x: left, y: (top + bottom) / 2 };\n case \"center\": return { x: (left + right) / 2, y: (top + bottom) / 2 };\n default: return null;\n }\n };\n QuadView.prototype.scenterx = function (i) {\n return (this.sleft[i] + this.sright[i]) / 2;\n };\n QuadView.prototype.scentery = function (i) {\n return (this.stop[i] + this.sbottom[i]) / 2;\n };\n QuadView.prototype._index_data = function () {\n return this._index_box(this._right.length);\n };\n QuadView.prototype._lrtb = function (i) {\n var l = this._left[i];\n var r = this._right[i];\n var t = this._top[i];\n var b = this._bottom[i];\n return [l, r, t, b];\n };\n return QuadView;\n }(box_1.BoxView));\n exports.QuadView = QuadView;\n var Quad = /** @class */ (function (_super) {\n tslib_1.__extends(Quad, _super);\n function Quad(attrs) {\n return _super.call(this, attrs) || this;\n }\n Quad.initClass = function () {\n this.prototype.type = 'Quad';\n this.prototype.default_view = QuadView;\n this.coords([['right', 'bottom'], ['left', 'top']]);\n };\n return Quad;\n }(box_1.Box));\n exports.Quad = Quad;\n Quad.initClass();\n}\n","/* models/glyphs/quadratic */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var glyph_1 = require(127) /* ./glyph */;\n var utils_1 = require(149) /* ./utils */;\n // Formula from: http://pomax.nihongoresources.com/pages/bezier/\n //\n // if segment is quadratic bezier do:\n // for both directions do:\n // if control between start and end, compute linear bounding box\n // otherwise, compute\n // bound = u(1-t)^2 + 2v(1-t)t + wt^2\n // (with t = ((u-v) / (u-2v+w)), with {u = start, v = control, w = end})\n // if control precedes start, min = bound, otherwise max = bound\n function _qbb(u, v, w) {\n if (v == (u + w) / 2)\n return [u, w];\n else {\n var t = (u - v) / ((u - (2 * v)) + w);\n var bd = (u * Math.pow((1 - t), 2)) + (2 * v * (1 - t) * t) + (w * Math.pow(t, 2));\n return [Math.min(u, w, bd), Math.max(u, w, bd)];\n }\n }\n var QuadraticView = /** @class */ (function (_super) {\n tslib_1.__extends(QuadraticView, _super);\n function QuadraticView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n QuadraticView.prototype._index_data = function () {\n var points = [];\n for (var i = 0, end = this._x0.length; i < end; i++) {\n if (isNaN(this._x0[i] + this._x1[i] + this._y0[i] + this._y1[i] + this._cx[i] + this._cy[i]))\n continue;\n var _a = _qbb(this._x0[i], this._cx[i], this._x1[i]), x0 = _a[0], x1 = _a[1];\n var _b = _qbb(this._y0[i], this._cy[i], this._y1[i]), y0 = _b[0], y1 = _b[1];\n points.push({ minX: x0, minY: y0, maxX: x1, maxY: y1, i: i });\n }\n return new spatial_1.SpatialIndex(points);\n };\n QuadraticView.prototype._render = function (ctx, indices, _a) {\n var sx0 = _a.sx0, sy0 = _a.sy0, sx1 = _a.sx1, sy1 = _a.sy1, scx = _a.scx, scy = _a.scy;\n if (this.visuals.line.doit) {\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx0[i] + sy0[i] + sx1[i] + sy1[i] + scx[i] + scy[i]))\n continue;\n ctx.beginPath();\n ctx.moveTo(sx0[i], sy0[i]);\n ctx.quadraticCurveTo(scx[i], scy[i], sx1[i], sy1[i]);\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n };\n QuadraticView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_line_legend(this.visuals, ctx, bbox, index);\n };\n QuadraticView.prototype.scenterx = function () {\n throw new Error(\"not implemented\");\n };\n QuadraticView.prototype.scentery = function () {\n throw new Error(\"not implemented\");\n };\n return QuadraticView;\n }(glyph_1.GlyphView));\n exports.QuadraticView = QuadraticView;\n var Quadratic = /** @class */ (function (_super) {\n tslib_1.__extends(Quadratic, _super);\n function Quadratic(attrs) {\n return _super.call(this, attrs) || this;\n }\n Quadratic.initClass = function () {\n this.prototype.type = 'Quadratic';\n this.prototype.default_view = QuadraticView;\n this.coords([['x0', 'y0'], ['x1', 'y1'], ['cx', 'cy']]);\n this.mixins(['line']);\n };\n return Quadratic;\n }(glyph_1.Glyph));\n exports.Quadratic = Quadratic;\n Quadratic.initClass();\n}\n","/* models/glyphs/ray */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var utils_1 = require(149) /* ./utils */;\n var p = require(18) /* ../../core/properties */;\n var RayView = /** @class */ (function (_super) {\n tslib_1.__extends(RayView, _super);\n function RayView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RayView.prototype._map_data = function () {\n if (this.model.properties.length.units == \"data\")\n this.slength = this.sdist(this.renderer.xscale, this._x, this._length);\n else\n this.slength = this._length;\n };\n RayView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, slength = _a.slength, _angle = _a._angle;\n if (this.visuals.line.doit) {\n var width = this.renderer.plot_view.frame._width.value;\n var height = this.renderer.plot_view.frame._height.value;\n var inf_len = 2 * (width + height);\n for (var i = 0, end = slength.length; i < end; i++) {\n if (slength[i] == 0)\n slength[i] = inf_len;\n }\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + _angle[i] + slength[i]))\n continue;\n ctx.translate(sx[i], sy[i]);\n ctx.rotate(_angle[i]);\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(slength[i], 0);\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n ctx.rotate(-_angle[i]);\n ctx.translate(-sx[i], -sy[i]);\n }\n }\n };\n RayView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_line_legend(this.visuals, ctx, bbox, index);\n };\n return RayView;\n }(xy_glyph_1.XYGlyphView));\n exports.RayView = RayView;\n var Ray = /** @class */ (function (_super) {\n tslib_1.__extends(Ray, _super);\n function Ray(attrs) {\n return _super.call(this, attrs) || this;\n }\n Ray.initClass = function () {\n this.prototype.type = 'Ray';\n this.prototype.default_view = RayView;\n this.mixins(['line']);\n this.define({\n length: [p.DistanceSpec],\n angle: [p.AngleSpec],\n });\n };\n return Ray;\n }(xy_glyph_1.XYGlyph));\n exports.Ray = Ray;\n Ray.initClass();\n}\n","/* models/glyphs/rect */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var center_rotatable_1 = require(123) /* ./center_rotatable */;\n var utils_1 = require(149) /* ./utils */;\n var hittest = require(9) /* ../../core/hittest */;\n var p = require(18) /* ../../core/properties */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var RectView = /** @class */ (function (_super) {\n tslib_1.__extends(RectView, _super);\n function RectView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RectView.prototype._set_data = function () {\n this.max_w2 = 0;\n if (this.model.properties.width.units == \"data\")\n this.max_w2 = this.max_width / 2;\n this.max_h2 = 0;\n if (this.model.properties.height.units == \"data\")\n this.max_h2 = this.max_height / 2;\n };\n RectView.prototype._map_data = function () {\n var _a, _b;\n if (this.model.properties.width.units == \"data\")\n _a = this._map_dist_corner_for_data_side_length(this._x, this._width, this.renderer.xscale), this.sw = _a[0], this.sx0 = _a[1];\n else {\n this.sw = this._width;\n var n_1 = this.sx.length;\n this.sx0 = new Float64Array(n_1);\n for (var i = 0; i < n_1; i++)\n this.sx0[i] = this.sx[i] - this.sw[i] / 2;\n }\n if (this.model.properties.height.units == \"data\")\n _b = this._map_dist_corner_for_data_side_length(this._y, this._height, this.renderer.yscale), this.sh = _b[0], this.sy1 = _b[1];\n else {\n this.sh = this._height;\n var n_2 = this.sy.length;\n this.sy1 = new Float64Array(n_2);\n for (var i = 0; i < n_2; i++)\n this.sy1[i] = this.sy[i] - this.sh[i] / 2;\n }\n var n = this.sw.length;\n this.ssemi_diag = new Float64Array(n);\n for (var i = 0; i < n; i++)\n this.ssemi_diag[i] = Math.sqrt((this.sw[i] / 2 * this.sw[i]) / 2 + (this.sh[i] / 2 * this.sh[i]) / 2);\n };\n RectView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, sx0 = _a.sx0, sy1 = _a.sy1, sw = _a.sw, sh = _a.sh, _angle = _a._angle;\n if (this.visuals.fill.doit) {\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + sx0[i] + sy1[i] + sw[i] + sh[i] + _angle[i]))\n continue;\n //no need to test the return value, we call fillRect for every glyph anyway\n this.visuals.fill.set_vectorize(ctx, i);\n if (_angle[i]) {\n ctx.translate(sx[i], sy[i]);\n ctx.rotate(_angle[i]);\n ctx.fillRect(-sw[i] / 2, -sh[i] / 2, sw[i], sh[i]);\n ctx.rotate(-_angle[i]);\n ctx.translate(-sx[i], -sy[i]);\n }\n else\n ctx.fillRect(sx0[i], sy1[i], sw[i], sh[i]);\n }\n }\n if (this.visuals.line.doit) {\n ctx.beginPath();\n for (var _b = 0, indices_2 = indices; _b < indices_2.length; _b++) {\n var i = indices_2[_b];\n if (isNaN(sx[i] + sy[i] + sx0[i] + sy1[i] + sw[i] + sh[i] + _angle[i]))\n continue;\n // fillRect does not fill zero-height or -width rects, but rect(...)\n // does seem to stroke them (1px wide or tall). Explicitly ignore rects\n // with zero width or height to be consistent\n if (sw[i] == 0 || sh[i] == 0)\n continue;\n if (_angle[i]) {\n ctx.translate(sx[i], sy[i]);\n ctx.rotate(_angle[i]);\n ctx.rect(-sw[i] / 2, -sh[i] / 2, sw[i], sh[i]);\n ctx.rotate(-_angle[i]);\n ctx.translate(-sx[i], -sy[i]);\n }\n else\n ctx.rect(sx0[i], sy1[i], sw[i], sh[i]);\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n ctx.beginPath();\n }\n ctx.stroke();\n }\n };\n RectView.prototype._hit_rect = function (geometry) {\n return this._hit_rect_against_index(geometry);\n };\n RectView.prototype._hit_point = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n var scenter_x = [];\n for (var i = 0, end = this.sx0.length; i < end; i++) {\n scenter_x.push(this.sx0[i] + this.sw[i] / 2);\n }\n var scenter_y = [];\n for (var i = 0, end = this.sy1.length; i < end; i++) {\n scenter_y.push(this.sy1[i] + this.sh[i] / 2);\n }\n var max_x2_ddist = arrayable_1.max(this._ddist(0, scenter_x, this.ssemi_diag));\n var max_y2_ddist = arrayable_1.max(this._ddist(1, scenter_y, this.ssemi_diag));\n var x0 = x - max_x2_ddist;\n var x1 = x + max_x2_ddist;\n var y0 = y - max_y2_ddist;\n var y1 = y + max_y2_ddist;\n var hits = [];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n for (var _i = 0, _a = this.index.indices(bbox); _i < _a.length; _i++) {\n var i = _a[_i];\n var height_in = void 0, width_in = void 0;\n if (this._angle[i]) {\n var s = Math.sin(-this._angle[i]);\n var c = Math.cos(-this._angle[i]);\n var px = c * (sx - this.sx[i]) - s * (sy - this.sy[i]) + this.sx[i];\n var py = s * (sx - this.sx[i]) + c * (sy - this.sy[i]) + this.sy[i];\n sx = px;\n sy = py;\n width_in = Math.abs(this.sx[i] - sx) <= this.sw[i] / 2;\n height_in = Math.abs(this.sy[i] - sy) <= this.sh[i] / 2;\n }\n else {\n width_in = (sx - this.sx0[i] <= this.sw[i]) && (sx - this.sx0[i] >= 0);\n height_in = (sy - this.sy1[i] <= this.sh[i]) && (sy - this.sy1[i] >= 0);\n }\n if (height_in && width_in)\n hits.push(i);\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n RectView.prototype._map_dist_corner_for_data_side_length = function (coord, side_length, scale) {\n var n = coord.length;\n var pt0 = new Float64Array(n);\n var pt1 = new Float64Array(n);\n for (var i = 0; i < n; i++) {\n pt0[i] = Number(coord[i]) - side_length[i] / 2;\n pt1[i] = Number(coord[i]) + side_length[i] / 2;\n }\n var spt0 = scale.v_compute(pt0);\n var spt1 = scale.v_compute(pt1);\n var sside_length = this.sdist(scale, pt0, side_length, 'edge', this.model.dilate);\n var spt_corner = spt0;\n for (var i = 0, end = spt0.length; i < end; i++) {\n if (spt0[i] != spt1[i]) {\n spt_corner = spt0[i] < spt1[i] ? spt0 : spt1;\n break;\n }\n }\n return [sside_length, spt_corner];\n };\n RectView.prototype._ddist = function (dim, spts, spans) {\n var scale = dim == 0 ? this.renderer.xscale : this.renderer.yscale;\n var spt0 = spts;\n var m = spt0.length;\n var spt1 = new Float64Array(m);\n for (var i = 0; i < m; i++)\n spt1[i] = spt0[i] + spans[i];\n var pt0 = scale.v_invert(spt0);\n var pt1 = scale.v_invert(spt1);\n var n = pt0.length;\n var ddist = new Float64Array(n);\n for (var i = 0; i < n; i++)\n ddist[i] = Math.abs(pt1[i] - pt0[i]);\n return ddist;\n };\n RectView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_area_legend(this.visuals, ctx, bbox, index);\n };\n RectView.prototype._bounds = function (_a) {\n var minX = _a.minX, maxX = _a.maxX, minY = _a.minY, maxY = _a.maxY;\n return {\n minX: minX - this.max_w2,\n maxX: maxX + this.max_w2,\n minY: minY - this.max_h2,\n maxY: maxY + this.max_h2,\n };\n };\n return RectView;\n }(center_rotatable_1.CenterRotatableView));\n exports.RectView = RectView;\n var Rect = /** @class */ (function (_super) {\n tslib_1.__extends(Rect, _super);\n function Rect(attrs) {\n return _super.call(this, attrs) || this;\n }\n Rect.initClass = function () {\n this.prototype.type = 'Rect';\n this.prototype.default_view = RectView;\n this.define({\n dilate: [p.Boolean, false],\n });\n };\n return Rect;\n }(center_rotatable_1.CenterRotatable));\n exports.Rect = Rect;\n Rect.initClass();\n}\n","/* models/glyphs/segment */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var hittest = require(9) /* ../../core/hittest */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var glyph_1 = require(127) /* ./glyph */;\n var utils_1 = require(149) /* ./utils */;\n var SegmentView = /** @class */ (function (_super) {\n tslib_1.__extends(SegmentView, _super);\n function SegmentView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SegmentView.prototype._index_data = function () {\n var points = [];\n for (var i = 0, end = this._x0.length; i < end; i++) {\n var x0 = this._x0[i];\n var x1 = this._x1[i];\n var y0 = this._y0[i];\n var y1 = this._y1[i];\n if (!isNaN(x0 + x1 + y0 + y1)) {\n points.push({\n minX: Math.min(x0, x1),\n minY: Math.min(y0, y1),\n maxX: Math.max(x0, x1),\n maxY: Math.max(y0, y1),\n i: i,\n });\n }\n }\n return new spatial_1.SpatialIndex(points);\n };\n SegmentView.prototype._render = function (ctx, indices, _a) {\n var sx0 = _a.sx0, sy0 = _a.sy0, sx1 = _a.sx1, sy1 = _a.sy1;\n if (this.visuals.line.doit) {\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx0[i] + sy0[i] + sx1[i] + sy1[i]))\n continue;\n ctx.beginPath();\n ctx.moveTo(sx0[i], sy0[i]);\n ctx.lineTo(sx1[i], sy1[i]);\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n };\n SegmentView.prototype._hit_point = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var point = { x: sx, y: sy };\n var hits = [];\n var lw_voffset = 2; // FIXME: Use maximum of segments line_width/2 instead of magic constant 2\n var _a = this.renderer.xscale.r_invert(sx - lw_voffset, sx + lw_voffset), minX = _a[0], maxX = _a[1];\n var _b = this.renderer.yscale.r_invert(sy - lw_voffset, sy + lw_voffset), minY = _b[0], maxY = _b[1];\n var candidates = this.index.indices({ minX: minX, minY: minY, maxX: maxX, maxY: maxY });\n for (var _i = 0, candidates_1 = candidates; _i < candidates_1.length; _i++) {\n var i = candidates_1[_i];\n var threshold2 = Math.pow(Math.max(2, this.visuals.line.cache_select('line_width', i) / 2), 2);\n var p0 = { x: this.sx0[i], y: this.sy0[i] };\n var p1 = { x: this.sx1[i], y: this.sy1[i] };\n var dist2 = hittest.dist_to_segment_squared(point, p0, p1);\n if (dist2 < threshold2)\n hits.push(i);\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n SegmentView.prototype._hit_span = function (geometry) {\n var _a, _b;\n var _c = this.renderer.plot_view.frame.bbox.ranges, hr = _c[0], vr = _c[1];\n var sx = geometry.sx, sy = geometry.sy;\n var v0;\n var v1;\n var val;\n if (geometry.direction == 'v') {\n val = this.renderer.yscale.invert(sy);\n _a = [this._y0, this._y1], v0 = _a[0], v1 = _a[1];\n }\n else {\n val = this.renderer.xscale.invert(sx);\n _b = [this._x0, this._x1], v0 = _b[0], v1 = _b[1];\n }\n var hits = [];\n var _d = this.renderer.xscale.r_invert(hr.start, hr.end), minX = _d[0], maxX = _d[1];\n var _e = this.renderer.yscale.r_invert(vr.start, vr.end), minY = _e[0], maxY = _e[1];\n var candidates = this.index.indices({ minX: minX, minY: minY, maxX: maxX, maxY: maxY });\n for (var _i = 0, candidates_2 = candidates; _i < candidates_2.length; _i++) {\n var i = candidates_2[_i];\n if ((v0[i] <= val && val <= v1[i]) || (v1[i] <= val && val <= v0[i]))\n hits.push(i);\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n SegmentView.prototype.scenterx = function (i) {\n return (this.sx0[i] + this.sx1[i]) / 2;\n };\n SegmentView.prototype.scentery = function (i) {\n return (this.sy0[i] + this.sy1[i]) / 2;\n };\n SegmentView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_line_legend(this.visuals, ctx, bbox, index);\n };\n return SegmentView;\n }(glyph_1.GlyphView));\n exports.SegmentView = SegmentView;\n var Segment = /** @class */ (function (_super) {\n tslib_1.__extends(Segment, _super);\n function Segment(attrs) {\n return _super.call(this, attrs) || this;\n }\n Segment.initClass = function () {\n this.prototype.type = 'Segment';\n this.prototype.default_view = SegmentView;\n this.coords([['x0', 'y0'], ['x1', 'y1']]);\n this.mixins(['line']);\n };\n return Segment;\n }(glyph_1.Glyph));\n exports.Segment = Segment;\n Segment.initClass();\n}\n","/* models/glyphs/step */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var utils_1 = require(149) /* ./utils */;\n var p = require(18) /* ../../core/properties */;\n var StepView = /** @class */ (function (_super) {\n tslib_1.__extends(StepView, _super);\n function StepView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StepView.prototype._render = function (ctx, indices, _a) {\n var _b, _c, _d, _e, _f, _g;\n var sx = _a.sx, sy = _a.sy;\n var drawing = false;\n var last_index = null;\n this.visuals.line.set_value(ctx);\n var L = indices.length;\n if (L < 2)\n return;\n ctx.beginPath();\n ctx.moveTo(sx[0], sy[0]);\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n var x1 = void 0, x2 = void 0;\n var y1 = void 0, y2 = void 0;\n switch (this.model.mode) {\n case \"before\": {\n _b = [sx[i - 1], sy[i]], x1 = _b[0], y1 = _b[1];\n _c = [sx[i], sy[i]], x2 = _c[0], y2 = _c[1];\n break;\n }\n case \"after\": {\n _d = [sx[i], sy[i - 1]], x1 = _d[0], y1 = _d[1];\n _e = [sx[i], sy[i]], x2 = _e[0], y2 = _e[1];\n break;\n }\n case \"center\": {\n var xm = (sx[i - 1] + sx[i]) / 2;\n _f = [xm, sy[i - 1]], x1 = _f[0], y1 = _f[1];\n _g = [xm, sy[i]], x2 = _g[0], y2 = _g[1];\n break;\n }\n default:\n throw new Error(\"unexpected\");\n }\n if (drawing) {\n if (!isFinite(sx[i] + sy[i])) {\n ctx.stroke();\n ctx.beginPath();\n drawing = false;\n last_index = i;\n continue;\n }\n if (last_index != null && i - last_index > 1) {\n ctx.stroke();\n drawing = false;\n }\n }\n if (drawing) {\n ctx.lineTo(x1, y1);\n ctx.lineTo(x2, y2);\n }\n else {\n ctx.beginPath();\n ctx.moveTo(sx[i], sy[i]);\n drawing = true;\n }\n last_index = i;\n }\n ctx.lineTo(sx[L - 1], sy[L - 1]);\n ctx.stroke();\n };\n StepView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_line_legend(this.visuals, ctx, bbox, index);\n };\n return StepView;\n }(xy_glyph_1.XYGlyphView));\n exports.StepView = StepView;\n var Step = /** @class */ (function (_super) {\n tslib_1.__extends(Step, _super);\n function Step(attrs) {\n return _super.call(this, attrs) || this;\n }\n Step.initClass = function () {\n this.prototype.type = 'Step';\n this.prototype.default_view = StepView;\n this.mixins(['line']);\n this.define({\n mode: [p.StepMode, \"before\"],\n });\n };\n return Step;\n }(xy_glyph_1.XYGlyph));\n exports.Step = Step;\n Step.initClass();\n}\n","/* models/glyphs/text */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var hittest = require(9) /* ../../core/hittest */;\n var p = require(18) /* ../../core/properties */;\n var text_1 = require(43) /* ../../core/util/text */;\n var TextView = /** @class */ (function (_super) {\n tslib_1.__extends(TextView, _super);\n function TextView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TextView.prototype._rotate_point = function (x, y, xoff, yoff, angle) {\n var sxr = (x - xoff) * Math.cos(angle) - (y - yoff) * Math.sin(angle) + xoff;\n var syr = (x - xoff) * Math.sin(angle) + (y - yoff) * Math.cos(angle) + yoff;\n return [sxr, syr];\n };\n TextView.prototype._text_bounds = function (x0, y0, width, height) {\n var xvals = [x0, x0 + width, x0 + width, x0, x0];\n var yvals = [y0, y0, y0 - height, y0 - height, y0];\n return [xvals, yvals];\n };\n TextView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, _x_offset = _a._x_offset, _y_offset = _a._y_offset, _angle = _a._angle, _text = _a._text;\n this._sys = [];\n this._sxs = [];\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + _x_offset[i] + _y_offset[i] + _angle[i]) || _text[i] == null)\n continue;\n this._sxs[i] = [];\n this._sys[i] = [];\n if (this.visuals.text.doit) {\n var text = \"\" + _text[i];\n ctx.save();\n ctx.translate(sx[i] + _x_offset[i], sy[i] + _y_offset[i]);\n ctx.rotate(_angle[i]);\n this.visuals.text.set_vectorize(ctx, i);\n var font = this.visuals.text.cache_select(\"font\", i);\n var height = text_1.measure_font(font).height;\n var line_height = this.visuals.text.text_line_height.value() * height;\n if (text.indexOf(\"\\n\") == -1) {\n ctx.fillText(text, 0, 0);\n var x0 = sx[i] + _x_offset[i];\n var y0 = sy[i] + _y_offset[i];\n var width = ctx.measureText(text).width;\n var _b = this._text_bounds(x0, y0, width, line_height), xvalues = _b[0], yvalues = _b[1];\n this._sxs[i].push(xvalues);\n this._sys[i].push(yvalues);\n }\n else {\n var lines = text.split(\"\\n\");\n var block_height = line_height * lines.length;\n var baseline = this.visuals.text.cache_select(\"text_baseline\", i);\n var y = void 0;\n switch (baseline) {\n case \"top\": {\n y = 0;\n break;\n }\n case \"middle\": {\n y = (-block_height / 2) + (line_height / 2);\n break;\n }\n case \"bottom\": {\n y = -block_height + line_height;\n break;\n }\n default: {\n y = 0;\n console.warn(\"'\" + baseline + \"' baseline not supported with multi line text\");\n }\n }\n for (var _c = 0, lines_1 = lines; _c < lines_1.length; _c++) {\n var line = lines_1[_c];\n ctx.fillText(line, 0, y);\n var x0 = sx[i] + _x_offset[i];\n var y0 = y + sy[i] + _y_offset[i];\n var width = ctx.measureText(line).width;\n var _d = this._text_bounds(x0, y0, width, line_height), xvalues = _d[0], yvalues = _d[1];\n this._sxs[i].push(xvalues);\n this._sys[i].push(yvalues);\n y += line_height;\n }\n }\n ctx.restore();\n }\n }\n };\n TextView.prototype._hit_point = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var hits = [];\n for (var i = 0; i < this._sxs.length; i++) {\n var sxs = this._sxs[i];\n var sys = this._sys[i];\n var n = sxs.length;\n for (var j = 0, endj = n; j < endj; j++) {\n var _a = this._rotate_point(sx, sy, sxs[n - 1][0], sys[n - 1][0], -this._angle[i]), sxr = _a[0], syr = _a[1];\n if (hittest.point_in_poly(sxr, syr, sxs[j], sys[j])) {\n hits.push(i);\n }\n }\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n TextView.prototype._scenterxy = function (i) {\n var sx0 = this._sxs[i][0][0];\n var sy0 = this._sys[i][0][0];\n var sxc = (this._sxs[i][0][2] + sx0) / 2;\n var syc = (this._sys[i][0][2] + sy0) / 2;\n var _a = this._rotate_point(sxc, syc, sx0, sy0, this._angle[i]), sxcr = _a[0], sycr = _a[1];\n return { x: sxcr, y: sycr };\n };\n TextView.prototype.scenterx = function (i) {\n return this._scenterxy(i).x;\n };\n TextView.prototype.scentery = function (i) {\n return this._scenterxy(i).y;\n };\n return TextView;\n }(xy_glyph_1.XYGlyphView));\n exports.TextView = TextView;\n var Text = /** @class */ (function (_super) {\n tslib_1.__extends(Text, _super);\n function Text(attrs) {\n return _super.call(this, attrs) || this;\n }\n Text.initClass = function () {\n this.prototype.type = 'Text';\n this.prototype.default_view = TextView;\n this.mixins(['text']);\n this.define({\n text: [p.NullStringSpec, { field: \"text\" }],\n angle: [p.AngleSpec, 0],\n x_offset: [p.NumberSpec, 0],\n y_offset: [p.NumberSpec, 0],\n });\n };\n return Text;\n }(xy_glyph_1.XYGlyph));\n exports.Text = Text;\n Text.initClass();\n}\n","/* models/glyphs/utils */ function _(require, module, exports) {\n var hittest = require(9) /* ../../core/hittest */;\n function generic_line_legend(visuals, ctx, _a, index) {\n var x0 = _a.x0, x1 = _a.x1, y0 = _a.y0, y1 = _a.y1;\n ctx.save();\n ctx.beginPath();\n ctx.moveTo(x0, (y0 + y1) / 2);\n ctx.lineTo(x1, (y0 + y1) / 2);\n if (visuals.line.doit) {\n visuals.line.set_vectorize(ctx, index);\n ctx.stroke();\n }\n ctx.restore();\n }\n exports.generic_line_legend = generic_line_legend;\n function generic_area_legend(visuals, ctx, _a, index) {\n var x0 = _a.x0, x1 = _a.x1, y0 = _a.y0, y1 = _a.y1;\n var w = Math.abs(x1 - x0);\n var dw = w * 0.1;\n var h = Math.abs(y1 - y0);\n var dh = h * 0.1;\n var sx0 = x0 + dw;\n var sx1 = x1 - dw;\n var sy0 = y0 + dh;\n var sy1 = y1 - dh;\n if (visuals.fill.doit) {\n visuals.fill.set_vectorize(ctx, index);\n ctx.fillRect(sx0, sy0, sx1 - sx0, sy1 - sy0);\n }\n if (visuals.hatch != null && visuals.hatch.doit) {\n visuals.hatch.set_vectorize(ctx, index);\n ctx.fillRect(sx0, sy0, sx1 - sx0, sy1 - sy0);\n }\n if (visuals.line && visuals.line.doit) {\n ctx.beginPath();\n ctx.rect(sx0, sy0, sx1 - sx0, sy1 - sy0);\n visuals.line.set_vectorize(ctx, index);\n ctx.stroke();\n }\n }\n exports.generic_area_legend = generic_area_legend;\n function line_interpolation(renderer, geometry, x2, y2, x3, y3) {\n var _a, _b, _c, _d, _e, _f;\n var sx = geometry.sx, sy = geometry.sy;\n var x0, x1;\n var y0, y1;\n if (geometry.type == 'point') {\n // The +/- adjustments here are to dilate the hit point into a virtual \"segment\" to use below\n _a = renderer.yscale.r_invert(sy - 1, sy + 1), y0 = _a[0], y1 = _a[1];\n _b = renderer.xscale.r_invert(sx - 1, sx + 1), x0 = _b[0], x1 = _b[1];\n }\n else {\n // The +/- adjustments here are to handle cases such as purely horizontal or vertical lines\n if (geometry.direction == 'v') {\n _c = renderer.yscale.r_invert(sy, sy), y0 = _c[0], y1 = _c[1];\n _d = [Math.min(x2 - 1, x3 - 1), Math.max(x2 + 1, x3 + 1)], x0 = _d[0], x1 = _d[1];\n }\n else {\n _e = renderer.xscale.r_invert(sx, sx), x0 = _e[0], x1 = _e[1];\n _f = [Math.min(y2 - 1, y3 - 1), Math.max(y2 + 1, y3 + 1)], y0 = _f[0], y1 = _f[1];\n }\n }\n var _g = hittest.check_2_segments_intersect(x0, y0, x1, y1, x2, y2, x3, y3), x = _g.x, y = _g.y;\n return [x, y]; // XXX: null is not handled at use sites\n }\n exports.line_interpolation = line_interpolation;\n}\n","/* models/glyphs/varea */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var area_1 = require(120) /* ./area */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var p = require(18) /* ../../core/properties */;\n var VAreaView = /** @class */ (function (_super) {\n tslib_1.__extends(VAreaView, _super);\n function VAreaView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VAreaView.prototype._index_data = function () {\n var points = [];\n for (var i = 0, end = this._x.length; i < end; i++) {\n var x = this._x[i];\n var y1 = this._y1[i];\n var y2 = this._y2[i];\n if (isNaN(x + y1 + y2) || !isFinite(x + y1 + y2))\n continue;\n points.push({ minX: x, minY: Math.min(y1, y2), maxX: x, maxY: Math.max(y1, y2), i: i });\n }\n return new spatial_1.SpatialIndex(points);\n };\n VAreaView.prototype._inner = function (ctx, sx, sy1, sy2, func) {\n ctx.beginPath();\n for (var i = 0, end = sy1.length; i < end; i++) {\n ctx.lineTo(sx[i], sy1[i]);\n }\n // iterate backwards so that the upper end is below the lower start\n for (var start = sy2.length - 1, i = start; i >= 0; i--) {\n ctx.lineTo(sx[i], sy2[i]);\n }\n ctx.closePath();\n func.call(ctx);\n };\n VAreaView.prototype._render = function (ctx, _indices, _a) {\n var _this = this;\n var sx = _a.sx, sy1 = _a.sy1, sy2 = _a.sy2;\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_value(ctx);\n this._inner(ctx, sx, sy1, sy2, ctx.fill);\n }\n this.visuals.hatch.doit2(ctx, 0, function () { return _this._inner(ctx, sx, sy1, sy2, ctx.fill); }, function () { return _this.renderer.request_render(); });\n };\n VAreaView.prototype.scenterx = function (i) {\n return this.sx[i];\n };\n VAreaView.prototype.scentery = function (i) {\n return (this.sy1[i] + this.sy2[i]) / 2;\n };\n VAreaView.prototype._map_data = function () {\n this.sx = this.renderer.xscale.v_compute(this._x);\n this.sy1 = this.renderer.yscale.v_compute(this._y1);\n this.sy2 = this.renderer.yscale.v_compute(this._y2);\n };\n return VAreaView;\n }(area_1.AreaView));\n exports.VAreaView = VAreaView;\n var VArea = /** @class */ (function (_super) {\n tslib_1.__extends(VArea, _super);\n function VArea(attrs) {\n return _super.call(this, attrs) || this;\n }\n VArea.initClass = function () {\n this.prototype.type = 'VArea';\n this.prototype.default_view = VAreaView;\n this.define({\n x: [p.CoordinateSpec],\n y1: [p.CoordinateSpec],\n y2: [p.CoordinateSpec],\n });\n };\n return VArea;\n }(area_1.Area));\n exports.VArea = VArea;\n VArea.initClass();\n}\n","/* models/glyphs/vbar */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var box_1 = require(122) /* ./box */;\n var p = require(18) /* ../../core/properties */;\n var VBarView = /** @class */ (function (_super) {\n tslib_1.__extends(VBarView, _super);\n function VBarView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n VBarView.prototype.scenterx = function (i) {\n return this.sx[i];\n };\n VBarView.prototype.scentery = function (i) {\n return (this.stop[i] + this.sbottom[i]) / 2;\n };\n VBarView.prototype._index_data = function () {\n return this._index_box(this._x.length);\n };\n VBarView.prototype._lrtb = function (i) {\n var l = this._x[i] - (this._width[i] / 2);\n var r = this._x[i] + (this._width[i] / 2);\n var t = Math.max(this._top[i], this._bottom[i]);\n var b = Math.min(this._top[i], this._bottom[i]);\n return [l, r, t, b];\n };\n VBarView.prototype._map_data = function () {\n this.sx = this.renderer.xscale.v_compute(this._x);\n this.sw = this.sdist(this.renderer.xscale, this._x, this._width, \"center\");\n this.stop = this.renderer.yscale.v_compute(this._top);\n this.sbottom = this.renderer.yscale.v_compute(this._bottom);\n var n = this.sx.length;\n this.sleft = new Float64Array(n);\n this.sright = new Float64Array(n);\n for (var i = 0; i < n; i++) {\n this.sleft[i] = this.sx[i] - this.sw[i] / 2;\n this.sright[i] = this.sx[i] + this.sw[i] / 2;\n }\n this._clamp_viewport();\n };\n return VBarView;\n }(box_1.BoxView));\n exports.VBarView = VBarView;\n var VBar = /** @class */ (function (_super) {\n tslib_1.__extends(VBar, _super);\n function VBar(attrs) {\n return _super.call(this, attrs) || this;\n }\n VBar.initClass = function () {\n this.prototype.type = 'VBar';\n this.prototype.default_view = VBarView;\n this.coords([['x', 'bottom']]);\n this.define({\n width: [p.DistanceSpec],\n top: [p.CoordinateSpec],\n });\n this.override({\n bottom: 0,\n });\n };\n return VBar;\n }(box_1.Box));\n exports.VBar = VBar;\n VBar.initClass();\n}\n","/* models/glyphs/wedge */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ./xy_glyph */;\n var utils_1 = require(149) /* ./utils */;\n var hittest = require(9) /* ../../core/hittest */;\n var p = require(18) /* ../../core/properties */;\n var math_1 = require(34) /* ../../core/util/math */;\n var WedgeView = /** @class */ (function (_super) {\n tslib_1.__extends(WedgeView, _super);\n function WedgeView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WedgeView.prototype._map_data = function () {\n if (this.model.properties.radius.units == \"data\")\n this.sradius = this.sdist(this.renderer.xscale, this._x, this._radius);\n else\n this.sradius = this._radius;\n };\n WedgeView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, sradius = _a.sradius, _start_angle = _a._start_angle, _end_angle = _a._end_angle;\n var direction = this.model.properties.direction.value();\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + sradius[i] + _start_angle[i] + _end_angle[i]))\n continue;\n ctx.beginPath();\n ctx.arc(sx[i], sy[i], sradius[i], _start_angle[i], _end_angle[i], direction);\n ctx.lineTo(sx[i], sy[i]);\n ctx.closePath();\n if (this.visuals.fill.doit) {\n this.visuals.fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (this.visuals.line.doit) {\n this.visuals.line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n };\n WedgeView.prototype._hit_point = function (geometry) {\n var _a, _b, _c, _d;\n var dist, sx0, sx1, sy0, sy1, x0, x1, y0, y1;\n var sx = geometry.sx, sy = geometry.sy;\n var x = this.renderer.xscale.invert(sx);\n var y = this.renderer.yscale.invert(sy);\n // check diameter first\n var max_diameter = 2 * this.max_radius;\n if (this.model.properties.radius.units === \"data\") {\n x0 = x - max_diameter;\n x1 = x + max_diameter;\n y0 = y - max_diameter;\n y1 = y + max_diameter;\n }\n else {\n sx0 = sx - max_diameter;\n sx1 = sx + max_diameter;\n _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n sy0 = sy - max_diameter;\n sy1 = sy + max_diameter;\n _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n }\n var candidates = [];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n for (var _i = 0, _e = this.index.indices(bbox); _i < _e.length; _i++) {\n var i = _e[_i];\n var r2 = Math.pow(this.sradius[i], 2);\n _c = this.renderer.xscale.r_compute(x, this._x[i]), sx0 = _c[0], sx1 = _c[1];\n _d = this.renderer.yscale.r_compute(y, this._y[i]), sy0 = _d[0], sy1 = _d[1];\n dist = Math.pow(sx0 - sx1, 2) + Math.pow(sy0 - sy1, 2);\n if (dist <= r2) {\n candidates.push([i, dist]);\n }\n }\n var direction = this.model.properties.direction.value();\n var hits = [];\n for (var _f = 0, candidates_1 = candidates; _f < candidates_1.length; _f++) {\n var _g = candidates_1[_f], i = _g[0], dist_1 = _g[1];\n // NOTE: minus the angle because JS uses non-mathy convention for angles\n var angle = Math.atan2(sy - this.sy[i], sx - this.sx[i]);\n if (math_1.angle_between(-angle, -this._start_angle[i], -this._end_angle[i], direction)) {\n hits.push([i, dist_1]);\n }\n }\n return hittest.create_hit_test_result_from_hits(hits);\n };\n WedgeView.prototype.draw_legend_for_index = function (ctx, bbox, index) {\n utils_1.generic_area_legend(this.visuals, ctx, bbox, index);\n };\n WedgeView.prototype._scenterxy = function (i) {\n var r = this.sradius[i] / 2;\n var a = (this._start_angle[i] + this._end_angle[i]) / 2;\n return { x: this.sx[i] + (r * Math.cos(a)), y: this.sy[i] + (r * Math.sin(a)) };\n };\n WedgeView.prototype.scenterx = function (i) {\n return this._scenterxy(i).x;\n };\n WedgeView.prototype.scentery = function (i) {\n return this._scenterxy(i).y;\n };\n return WedgeView;\n }(xy_glyph_1.XYGlyphView));\n exports.WedgeView = WedgeView;\n var Wedge = /** @class */ (function (_super) {\n tslib_1.__extends(Wedge, _super);\n function Wedge(attrs) {\n return _super.call(this, attrs) || this;\n }\n Wedge.initClass = function () {\n this.prototype.type = 'Wedge';\n this.prototype.default_view = WedgeView;\n this.mixins(['line', 'fill']);\n this.define({\n direction: [p.Direction, 'anticlock'],\n radius: [p.DistanceSpec],\n start_angle: [p.AngleSpec],\n end_angle: [p.AngleSpec],\n });\n };\n return Wedge;\n }(xy_glyph_1.XYGlyph));\n exports.Wedge = Wedge;\n Wedge.initClass();\n}\n","/* models/glyphs/xy_glyph */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var spatial_1 = require(39) /* ../../core/util/spatial */;\n var glyph_1 = require(127) /* ./glyph */;\n var XYGlyphView = /** @class */ (function (_super) {\n tslib_1.__extends(XYGlyphView, _super);\n function XYGlyphView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n XYGlyphView.prototype._index_data = function () {\n var points = [];\n for (var i = 0, end = this._x.length; i < end; i++) {\n var x = this._x[i];\n var y = this._y[i];\n if (isNaN(x + y) || !isFinite(x + y))\n continue;\n points.push({ minX: x, minY: y, maxX: x, maxY: y, i: i });\n }\n return new spatial_1.SpatialIndex(points);\n };\n XYGlyphView.prototype.scenterx = function (i) {\n return this.sx[i];\n };\n XYGlyphView.prototype.scentery = function (i) {\n return this.sy[i];\n };\n return XYGlyphView;\n }(glyph_1.GlyphView));\n exports.XYGlyphView = XYGlyphView;\n var XYGlyph = /** @class */ (function (_super) {\n tslib_1.__extends(XYGlyph, _super);\n function XYGlyph(attrs) {\n return _super.call(this, attrs) || this;\n }\n XYGlyph.initClass = function () {\n this.prototype.type = \"XYGlyph\";\n this.coords([['x', 'y']]);\n };\n return XYGlyph;\n }(glyph_1.Glyph));\n exports.XYGlyph = XYGlyph;\n XYGlyph.initClass();\n}\n","/* models/graphs/graph_hit_test_policy */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var array_1 = require(24) /* ../../core/util/array */;\n var hittest_1 = require(9) /* ../../core/hittest */;\n var GraphHitTestPolicy = /** @class */ (function (_super) {\n tslib_1.__extends(GraphHitTestPolicy, _super);\n function GraphHitTestPolicy(attrs) {\n return _super.call(this, attrs) || this;\n }\n GraphHitTestPolicy.initClass = function () {\n this.prototype.type = \"GraphHitTestPolicy\";\n };\n GraphHitTestPolicy.prototype._hit_test_nodes = function (geometry, graph_view) {\n if (!graph_view.model.visible)\n return null;\n var hit_test_result = graph_view.node_view.glyph.hit_test(geometry);\n if (hit_test_result == null)\n return null;\n else\n return graph_view.node_view.model.view.convert_selection_from_subset(hit_test_result);\n };\n GraphHitTestPolicy.prototype._hit_test_edges = function (geometry, graph_view) {\n if (!graph_view.model.visible)\n return null;\n var hit_test_result = graph_view.edge_view.glyph.hit_test(geometry);\n if (hit_test_result == null)\n return null;\n else\n return graph_view.edge_view.model.view.convert_selection_from_subset(hit_test_result);\n };\n return GraphHitTestPolicy;\n }(model_1.Model));\n exports.GraphHitTestPolicy = GraphHitTestPolicy;\n var NodesOnly = /** @class */ (function (_super) {\n tslib_1.__extends(NodesOnly, _super);\n function NodesOnly(attrs) {\n return _super.call(this, attrs) || this;\n }\n NodesOnly.initClass = function () {\n this.prototype.type = 'NodesOnly';\n };\n NodesOnly.prototype.hit_test = function (geometry, graph_view) {\n return this._hit_test_nodes(geometry, graph_view);\n };\n NodesOnly.prototype.do_selection = function (hit_test_result, graph, final, append) {\n if (hit_test_result == null)\n return false;\n var node_selection = graph.node_renderer.data_source.selected;\n node_selection.update(hit_test_result, final, append);\n graph.node_renderer.data_source._select.emit();\n return !node_selection.is_empty();\n };\n NodesOnly.prototype.do_inspection = function (hit_test_result, geometry, graph_view, final, append) {\n if (hit_test_result == null)\n return false;\n var node_inspection = graph_view.model.get_selection_manager().get_or_create_inspector(graph_view.node_view.model);\n node_inspection.update(hit_test_result, final, append);\n // silently set inspected attr to avoid triggering data_source.change event and rerender\n graph_view.node_view.model.data_source.setv({ inspected: node_inspection }, { silent: true });\n graph_view.node_view.model.data_source.inspect.emit([graph_view.node_view, { geometry: geometry }]);\n return !node_inspection.is_empty();\n };\n return NodesOnly;\n }(GraphHitTestPolicy));\n exports.NodesOnly = NodesOnly;\n NodesOnly.initClass();\n var NodesAndLinkedEdges = /** @class */ (function (_super) {\n tslib_1.__extends(NodesAndLinkedEdges, _super);\n function NodesAndLinkedEdges(attrs) {\n return _super.call(this, attrs) || this;\n }\n NodesAndLinkedEdges.initClass = function () {\n this.prototype.type = 'NodesAndLinkedEdges';\n };\n NodesAndLinkedEdges.prototype.hit_test = function (geometry, graph_view) {\n return this._hit_test_nodes(geometry, graph_view);\n };\n NodesAndLinkedEdges.prototype.get_linked_edges = function (node_source, edge_source, mode) {\n var node_indices = [];\n if (mode == 'selection') {\n node_indices = node_source.selected.indices.map(function (i) { return node_source.data.index[i]; });\n }\n else if (mode == 'inspection') {\n node_indices = node_source.inspected.indices.map(function (i) { return node_source.data.index[i]; });\n }\n var edge_indices = [];\n for (var i = 0; i < edge_source.data.start.length; i++) {\n if (array_1.contains(node_indices, edge_source.data.start[i]) || array_1.contains(node_indices, edge_source.data.end[i]))\n edge_indices.push(i);\n }\n var linked_edges = hittest_1.create_empty_hit_test_result();\n for (var _i = 0, edge_indices_1 = edge_indices; _i < edge_indices_1.length; _i++) {\n var i = edge_indices_1[_i];\n linked_edges.multiline_indices[i] = [0]; //currently only supports 2-element multilines, so this is all of it\n }\n linked_edges.indices = edge_indices;\n return linked_edges;\n };\n NodesAndLinkedEdges.prototype.do_selection = function (hit_test_result, graph, final, append) {\n if (hit_test_result == null)\n return false;\n var node_selection = graph.node_renderer.data_source.selected;\n node_selection.update(hit_test_result, final, append);\n var edge_selection = graph.edge_renderer.data_source.selected;\n var linked_edges_selection = this.get_linked_edges(graph.node_renderer.data_source, graph.edge_renderer.data_source, 'selection');\n edge_selection.update(linked_edges_selection, final, append);\n graph.node_renderer.data_source._select.emit();\n return !node_selection.is_empty();\n };\n NodesAndLinkedEdges.prototype.do_inspection = function (hit_test_result, geometry, graph_view, final, append) {\n if (hit_test_result == null)\n return false;\n var node_inspection = graph_view.node_view.model.data_source.selection_manager.get_or_create_inspector(graph_view.node_view.model);\n node_inspection.update(hit_test_result, final, append);\n graph_view.node_view.model.data_source.setv({ inspected: node_inspection }, { silent: true });\n var edge_inspection = graph_view.edge_view.model.data_source.selection_manager.get_or_create_inspector(graph_view.edge_view.model);\n var linked_edges = this.get_linked_edges(graph_view.node_view.model.data_source, graph_view.edge_view.model.data_source, 'inspection');\n edge_inspection.update(linked_edges, final, append);\n //silently set inspected attr to avoid triggering data_source.change event and rerender\n graph_view.edge_view.model.data_source.setv({ inspected: edge_inspection }, { silent: true });\n graph_view.node_view.model.data_source.inspect.emit([graph_view.node_view, { geometry: geometry }]);\n return !node_inspection.is_empty();\n };\n return NodesAndLinkedEdges;\n }(GraphHitTestPolicy));\n exports.NodesAndLinkedEdges = NodesAndLinkedEdges;\n NodesAndLinkedEdges.initClass();\n var EdgesAndLinkedNodes = /** @class */ (function (_super) {\n tslib_1.__extends(EdgesAndLinkedNodes, _super);\n function EdgesAndLinkedNodes(attrs) {\n return _super.call(this, attrs) || this;\n }\n EdgesAndLinkedNodes.initClass = function () {\n this.prototype.type = 'EdgesAndLinkedNodes';\n };\n EdgesAndLinkedNodes.prototype.hit_test = function (geometry, graph_view) {\n return this._hit_test_edges(geometry, graph_view);\n };\n EdgesAndLinkedNodes.prototype.get_linked_nodes = function (node_source, edge_source, mode) {\n var edge_indices = [];\n if (mode == 'selection')\n edge_indices = edge_source.selected.indices;\n else if (mode == 'inspection')\n edge_indices = edge_source.inspected.indices;\n var nodes = [];\n for (var _i = 0, edge_indices_2 = edge_indices; _i < edge_indices_2.length; _i++) {\n var i = edge_indices_2[_i];\n nodes.push(edge_source.data.start[i]);\n nodes.push(edge_source.data.end[i]);\n }\n var node_indices = array_1.uniq(nodes).map(function (i) { return arrayable_1.indexOf(node_source.data.index, i); });\n var linked_nodes = hittest_1.create_empty_hit_test_result();\n linked_nodes.indices = node_indices;\n return linked_nodes;\n };\n EdgesAndLinkedNodes.prototype.do_selection = function (hit_test_result, graph, final, append) {\n if (hit_test_result == null)\n return false;\n var edge_selection = graph.edge_renderer.data_source.selected;\n edge_selection.update(hit_test_result, final, append);\n var node_selection = graph.node_renderer.data_source.selected;\n var linked_nodes = this.get_linked_nodes(graph.node_renderer.data_source, graph.edge_renderer.data_source, 'selection');\n node_selection.update(linked_nodes, final, append);\n graph.edge_renderer.data_source._select.emit();\n return !edge_selection.is_empty();\n };\n EdgesAndLinkedNodes.prototype.do_inspection = function (hit_test_result, geometry, graph_view, final, append) {\n if (hit_test_result == null)\n return false;\n var edge_inspection = graph_view.edge_view.model.data_source.selection_manager.get_or_create_inspector(graph_view.edge_view.model);\n edge_inspection.update(hit_test_result, final, append);\n graph_view.edge_view.model.data_source.setv({ inspected: edge_inspection }, { silent: true });\n var node_inspection = graph_view.node_view.model.data_source.selection_manager.get_or_create_inspector(graph_view.node_view.model);\n var linked_nodes = this.get_linked_nodes(graph_view.node_view.model.data_source, graph_view.edge_view.model.data_source, 'inspection');\n node_inspection.update(linked_nodes, final, append);\n // silently set inspected attr to avoid triggering data_source.change event and rerender\n graph_view.node_view.model.data_source.setv({ inspected: node_inspection }, { silent: true });\n graph_view.edge_view.model.data_source.inspect.emit([graph_view.edge_view, { geometry: geometry }]);\n return !edge_inspection.is_empty();\n };\n return EdgesAndLinkedNodes;\n }(GraphHitTestPolicy));\n exports.EdgesAndLinkedNodes = EdgesAndLinkedNodes;\n EdgesAndLinkedNodes.initClass();\n}\n","/* models/graphs/index */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n tslib_1.__exportStar(require(154) /* ./graph_hit_test_policy */, exports);\n tslib_1.__exportStar(require(156) /* ./layout_provider */, exports);\n tslib_1.__exportStar(require(157) /* ./static_layout_provider */, exports);\n}\n","/* models/graphs/layout_provider */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var LayoutProvider = /** @class */ (function (_super) {\n tslib_1.__extends(LayoutProvider, _super);\n function LayoutProvider(attrs) {\n return _super.call(this, attrs) || this;\n }\n LayoutProvider.initClass = function () {\n this.prototype.type = \"LayoutProvider\";\n };\n return LayoutProvider;\n }(model_1.Model));\n exports.LayoutProvider = LayoutProvider;\n LayoutProvider.initClass();\n}\n","/* models/graphs/static_layout_provider */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var layout_provider_1 = require(156) /* ./layout_provider */;\n var p = require(18) /* ../../core/properties */;\n var StaticLayoutProvider = /** @class */ (function (_super) {\n tslib_1.__extends(StaticLayoutProvider, _super);\n function StaticLayoutProvider(attrs) {\n return _super.call(this, attrs) || this;\n }\n StaticLayoutProvider.initClass = function () {\n this.prototype.type = \"StaticLayoutProvider\";\n this.define({\n graph_layout: [p.Any, {}],\n });\n };\n StaticLayoutProvider.prototype.get_node_coordinates = function (node_source) {\n var xs = [];\n var ys = [];\n var index = node_source.data.index;\n for (var i = 0, end = index.length; i < end; i++) {\n var point = this.graph_layout[index[i]];\n var _a = point != null ? point : [NaN, NaN], x = _a[0], y = _a[1];\n xs.push(x);\n ys.push(y);\n }\n return [xs, ys];\n };\n StaticLayoutProvider.prototype.get_edge_coordinates = function (edge_source) {\n var _a, _b;\n var xs = [];\n var ys = [];\n var starts = edge_source.data.start;\n var ends = edge_source.data.end;\n var has_paths = (edge_source.data.xs != null) && (edge_source.data.ys != null);\n for (var i = 0, endi = starts.length; i < endi; i++) {\n var in_layout = (this.graph_layout[starts[i]] != null) && (this.graph_layout[ends[i]] != null);\n if (has_paths && in_layout) {\n xs.push(edge_source.data.xs[i]);\n ys.push(edge_source.data.ys[i]);\n }\n else {\n var end = void 0, start = void 0;\n if (in_layout)\n _a = [this.graph_layout[starts[i]], this.graph_layout[ends[i]]], start = _a[0], end = _a[1];\n else\n _b = [[NaN, NaN], [NaN, NaN]], start = _b[0], end = _b[1];\n xs.push([start[0], end[0]]);\n ys.push([start[1], end[1]]);\n }\n }\n return [xs, ys];\n };\n return StaticLayoutProvider;\n }(layout_provider_1.LayoutProvider));\n exports.StaticLayoutProvider = StaticLayoutProvider;\n StaticLayoutProvider.initClass();\n}\n","/* models/grids/grid */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var guide_renderer_1 = require(199) /* ../renderers/guide_renderer */;\n var p = require(18) /* ../../core/properties */;\n var types_1 = require(46) /* ../../core/util/types */;\n var GridView = /** @class */ (function (_super) {\n tslib_1.__extends(GridView, _super);\n function GridView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(GridView.prototype, \"_x_range_name\", {\n get: function () {\n return this.model.x_range_name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(GridView.prototype, \"_y_range_name\", {\n get: function () {\n return this.model.y_range_name;\n },\n enumerable: true,\n configurable: true\n });\n GridView.prototype.render = function () {\n if (!this.model.visible)\n return;\n var ctx = this.plot_view.canvas_view.ctx;\n ctx.save();\n this._draw_regions(ctx);\n this._draw_minor_grids(ctx);\n this._draw_grids(ctx);\n ctx.restore();\n };\n GridView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.change, function () { return _this.request_render(); });\n };\n GridView.prototype._draw_regions = function (ctx) {\n var _this = this;\n if (!this.visuals.band_fill.doit && !this.visuals.band_hatch.doit)\n return;\n this.visuals.band_fill.set_value(ctx);\n var _a = this.grid_coords('major', false), xs = _a[0], ys = _a[1];\n var _loop_1 = function (i) {\n if (i % 2 != 1)\n return \"continue\";\n var _a = this_1.plot_view.map_to_screen(xs[i], ys[i], this_1._x_range_name, this_1._y_range_name), sx0 = _a[0], sy0 = _a[1];\n var _b = this_1.plot_view.map_to_screen(xs[i + 1], ys[i + 1], this_1._x_range_name, this_1._y_range_name), sx1 = _b[0], sy1 = _b[1];\n if (this_1.visuals.band_fill.doit)\n ctx.fillRect(sx0[0], sy0[0], sx1[1] - sx0[0], sy1[1] - sy0[0]);\n this_1.visuals.band_hatch.doit2(ctx, i, function () {\n ctx.fillRect(sx0[0], sy0[0], sx1[1] - sx0[0], sy1[1] - sy0[0]);\n }, function () { return _this.request_render(); });\n };\n var this_1 = this;\n for (var i = 0; i < xs.length - 1; i++) {\n _loop_1(i);\n }\n };\n GridView.prototype._draw_grids = function (ctx) {\n if (!this.visuals.grid_line.doit)\n return;\n var _a = this.grid_coords('major'), xs = _a[0], ys = _a[1];\n this._draw_grid_helper(ctx, this.visuals.grid_line, xs, ys);\n };\n GridView.prototype._draw_minor_grids = function (ctx) {\n if (!this.visuals.minor_grid_line.doit)\n return;\n var _a = this.grid_coords('minor'), xs = _a[0], ys = _a[1];\n this._draw_grid_helper(ctx, this.visuals.minor_grid_line, xs, ys);\n };\n GridView.prototype._draw_grid_helper = function (ctx, visuals, xs, ys) {\n visuals.set_value(ctx);\n for (var i = 0; i < xs.length; i++) {\n var _a = this.plot_view.map_to_screen(xs[i], ys[i], this._x_range_name, this._y_range_name), sx = _a[0], sy = _a[1];\n ctx.beginPath();\n ctx.moveTo(Math.round(sx[0]), Math.round(sy[0]));\n for (var i_1 = 1; i_1 < sx.length; i_1++)\n ctx.lineTo(Math.round(sx[i_1]), Math.round(sy[i_1]));\n ctx.stroke();\n }\n };\n // {{{ TODO: state\n GridView.prototype.ranges = function () {\n var i = this.model.dimension;\n var j = (i + 1) % 2;\n var frame = this.plot_view.frame;\n var ranges = [\n frame.x_ranges[this.model.x_range_name],\n frame.y_ranges[this.model.y_range_name],\n ];\n return [ranges[i], ranges[j]];\n };\n GridView.prototype.computed_bounds = function () {\n var _a;\n var range = this.ranges()[0];\n var user_bounds = this.model.bounds;\n var range_bounds = [range.min, range.max];\n var start;\n var end;\n if (types_1.isArray(user_bounds)) {\n start = Math.min(user_bounds[0], user_bounds[1]);\n end = Math.max(user_bounds[0], user_bounds[1]);\n if (start < range_bounds[0])\n start = range_bounds[0];\n // XXX:\n //else if (start > range_bounds[1])\n // start = null\n if (end > range_bounds[1])\n end = range_bounds[1];\n // XXX:\n //else if (end < range_bounds[0])\n // end = null\n }\n else {\n start = range_bounds[0], end = range_bounds[1];\n for (var _i = 0, _b = this.plot_view.axis_views; _i < _b.length; _i++) {\n var axis_view = _b[_i];\n if (axis_view.dimension == this.model.dimension\n && axis_view.model.x_range_name == this.model.x_range_name\n && axis_view.model.y_range_name == this.model.y_range_name) {\n _a = axis_view.computed_bounds, start = _a[0], end = _a[1];\n }\n }\n }\n return [start, end];\n };\n GridView.prototype.grid_coords = function (location, exclude_ends) {\n var _a;\n if (exclude_ends === void 0) {\n exclude_ends = true;\n }\n var i = this.model.dimension;\n var j = (i + 1) % 2;\n var _b = this.ranges(), range = _b[0], cross_range = _b[1];\n var _c = this.computed_bounds(), start = _c[0], end = _c[1];\n _a = [Math.min(start, end), Math.max(start, end)], start = _a[0], end = _a[1];\n // TODO: (bev) using cross_range.min for cross_loc is a bit of a cheat. Since we\n // currently only support \"straight line\" grids, this should be OK for now. If\n // we ever want to support \"curved\" grids, e.g. for some projections, we may\n // have to communicate more than just a single cross location.\n var ticks = this.model.ticker.get_ticks(start, end, range, cross_range.min, {})[location];\n var min = range.min;\n var max = range.max;\n var cmin = cross_range.min;\n var cmax = cross_range.max;\n var coords = [[], []];\n if (!exclude_ends) {\n if (ticks[0] != min)\n ticks.splice(0, 0, min);\n if (ticks[ticks.length - 1] != max)\n ticks.push(max);\n }\n for (var ii = 0; ii < ticks.length; ii++) {\n if ((ticks[ii] == min || ticks[ii] == max) && exclude_ends)\n continue;\n var dim_i = [];\n var dim_j = [];\n var N = 2;\n for (var n = 0; n < N; n++) {\n var loc = cmin + (cmax - cmin) / (N - 1) * n;\n dim_i.push(ticks[ii]);\n dim_j.push(loc);\n }\n coords[i].push(dim_i);\n coords[j].push(dim_j);\n }\n return coords;\n };\n return GridView;\n }(guide_renderer_1.GuideRendererView));\n exports.GridView = GridView;\n var Grid = /** @class */ (function (_super) {\n tslib_1.__extends(Grid, _super);\n function Grid(attrs) {\n return _super.call(this, attrs) || this;\n }\n Grid.initClass = function () {\n this.prototype.type = \"Grid\";\n this.prototype.default_view = GridView;\n this.mixins(['line:grid_', 'line:minor_grid_', 'fill:band_', 'hatch:band_']);\n this.define({\n bounds: [p.Any, 'auto'],\n dimension: [p.Any, 0],\n ticker: [p.Instance],\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n this.override({\n level: \"underlay\",\n band_fill_color: null,\n band_fill_alpha: 0,\n grid_line_color: '#e5e5e5',\n minor_grid_line_color: null,\n });\n };\n return Grid;\n }(guide_renderer_1.GuideRenderer));\n exports.Grid = Grid;\n Grid.initClass();\n}\n","/* models/grids/index */ function _(require, module, exports) {\n var grid_1 = require(158) /* ./grid */;\n exports.Grid = grid_1.Grid;\n}\n","/* models/index */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n tslib_1.__exportStar(require(69) /* ./annotations */, exports);\n tslib_1.__exportStar(require(86) /* ./axes */, exports);\n tslib_1.__exportStar(require(92) /* ./callbacks */, exports);\n tslib_1.__exportStar(require(96) /* ./canvas */, exports);\n tslib_1.__exportStar(require(99) /* ./expressions */, exports);\n tslib_1.__exportStar(require(105) /* ./filters */, exports);\n tslib_1.__exportStar(require(111) /* ./formatters */, exports);\n tslib_1.__exportStar(require(135) /* ./glyphs */, exports);\n tslib_1.__exportStar(require(155) /* ./graphs */, exports);\n tslib_1.__exportStar(require(159) /* ./grids */, exports);\n tslib_1.__exportStar(require(165) /* ./layouts */, exports);\n tslib_1.__exportStar(require(177) /* ./mappers */, exports);\n tslib_1.__exportStar(require(292) /* ./transforms */, exports);\n tslib_1.__exportStar(require(182) /* ./markers */, exports);\n tslib_1.__exportStar(require(187) /* ./plots */, exports);\n tslib_1.__exportStar(require(193) /* ./ranges */, exports);\n tslib_1.__exportStar(require(200) /* ./renderers */, exports);\n tslib_1.__exportStar(require(203) /* ./scales */, exports);\n tslib_1.__exportStar(require(207) /* ./selections */, exports);\n tslib_1.__exportStar(require(216) /* ./sources */, exports);\n tslib_1.__exportStar(require(232) /* ./tickers */, exports);\n tslib_1.__exportStar(require(242) /* ./tiles */, exports);\n tslib_1.__exportStar(require(222) /* ./textures */, exports);\n tslib_1.__exportStar(require(278) /* ./tools */, exports);\n}\n","/* models/layouts/box */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var layout_dom_1 = require(166) /* ./layout_dom */;\n var p = require(18) /* ../../core/properties */;\n var BoxView = /** @class */ (function (_super) {\n tslib_1.__extends(BoxView, _super);\n function BoxView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoxView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.properties.children.change, function () { return _this.rebuild(); });\n };\n Object.defineProperty(BoxView.prototype, \"child_models\", {\n get: function () {\n return this.model.children;\n },\n enumerable: true,\n configurable: true\n });\n return BoxView;\n }(layout_dom_1.LayoutDOMView));\n exports.BoxView = BoxView;\n var Box = /** @class */ (function (_super) {\n tslib_1.__extends(Box, _super);\n function Box(attrs) {\n return _super.call(this, attrs) || this;\n }\n Box.initClass = function () {\n this.prototype.type = \"Box\";\n this.define({\n children: [p.Array, []],\n spacing: [p.Number, 0],\n });\n };\n return Box;\n }(layout_dom_1.LayoutDOM));\n exports.Box = Box;\n Box.initClass();\n}\n","/* models/layouts/column */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var box_1 = require(161) /* ./box */;\n var grid_1 = require(11) /* ../../core/layout/grid */;\n var p = require(18) /* ../../core/properties */;\n var ColumnView = /** @class */ (function (_super) {\n tslib_1.__extends(ColumnView, _super);\n function ColumnView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ColumnView.prototype._update_layout = function () {\n var items = this.child_views.map(function (child) { return child.layout; });\n this.layout = new grid_1.Column(items);\n this.layout.rows = this.model.rows;\n this.layout.spacing = [this.model.spacing, 0];\n this.layout.set_sizing(this.box_sizing());\n };\n return ColumnView;\n }(box_1.BoxView));\n exports.ColumnView = ColumnView;\n var Column = /** @class */ (function (_super) {\n tslib_1.__extends(Column, _super);\n function Column(attrs) {\n return _super.call(this, attrs) || this;\n }\n Column.initClass = function () {\n this.prototype.type = \"Column\";\n this.prototype.default_view = ColumnView;\n this.define({\n rows: [p.Any, \"auto\"],\n });\n };\n return Column;\n }(box_1.Box));\n exports.Column = Column;\n Column.initClass();\n}\n","/* models/layouts/grid_box */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var layout_dom_1 = require(166) /* ./layout_dom */;\n var grid_1 = require(11) /* ../../core/layout/grid */;\n var p = require(18) /* ../../core/properties */;\n var GridBoxView = /** @class */ (function (_super) {\n tslib_1.__extends(GridBoxView, _super);\n function GridBoxView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GridBoxView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.properties.children.change, function () { return _this.rebuild(); });\n };\n Object.defineProperty(GridBoxView.prototype, \"child_models\", {\n get: function () {\n return this.model.children.map(function (_a) {\n var child = _a[0];\n return child;\n });\n },\n enumerable: true,\n configurable: true\n });\n GridBoxView.prototype._update_layout = function () {\n this.layout = new grid_1.Grid();\n this.layout.rows = this.model.rows;\n this.layout.cols = this.model.cols;\n this.layout.spacing = this.model.spacing;\n for (var _i = 0, _a = this.model.children; _i < _a.length; _i++) {\n var _b = _a[_i], child = _b[0], row = _b[1], col = _b[2], row_span = _b[3], col_span = _b[4];\n var child_view = this._child_views[child.id];\n this.layout.items.push({ layout: child_view.layout, row: row, col: col, row_span: row_span, col_span: col_span });\n }\n this.layout.set_sizing(this.box_sizing());\n };\n return GridBoxView;\n }(layout_dom_1.LayoutDOMView));\n exports.GridBoxView = GridBoxView;\n var GridBox = /** @class */ (function (_super) {\n tslib_1.__extends(GridBox, _super);\n function GridBox(attrs) {\n return _super.call(this, attrs) || this;\n }\n GridBox.initClass = function () {\n this.prototype.type = \"GridBox\";\n this.prototype.default_view = GridBoxView;\n this.define({\n children: [p.Array, []],\n rows: [p.Any, \"auto\"],\n cols: [p.Any, \"auto\"],\n spacing: [p.Any, 0],\n });\n };\n return GridBox;\n }(layout_dom_1.LayoutDOM));\n exports.GridBox = GridBox;\n GridBox.initClass();\n}\n","/* models/layouts/html_box */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var layout_dom_1 = require(166) /* ../layouts/layout_dom */;\n var layout_1 = require(13) /* ../../core/layout */;\n var HTMLBoxView = /** @class */ (function (_super) {\n tslib_1.__extends(HTMLBoxView, _super);\n function HTMLBoxView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(HTMLBoxView.prototype, \"child_models\", {\n get: function () {\n return [];\n },\n enumerable: true,\n configurable: true\n });\n HTMLBoxView.prototype._update_layout = function () {\n this.layout = new layout_1.ContentBox(this.el);\n this.layout.set_sizing(this.box_sizing());\n };\n return HTMLBoxView;\n }(layout_dom_1.LayoutDOMView));\n exports.HTMLBoxView = HTMLBoxView;\n var HTMLBox = /** @class */ (function (_super) {\n tslib_1.__extends(HTMLBox, _super);\n function HTMLBox(attrs) {\n return _super.call(this, attrs) || this;\n }\n HTMLBox.initClass = function () {\n this.prototype.type = \"HTMLBox\";\n };\n return HTMLBox;\n }(layout_dom_1.LayoutDOM));\n exports.HTMLBox = HTMLBox;\n HTMLBox.initClass();\n}\n","/* models/layouts/index */ function _(require, module, exports) {\n var box_1 = require(161) /* ./box */;\n exports.Box = box_1.Box;\n var column_1 = require(162) /* ./column */;\n exports.Column = column_1.Column;\n var grid_box_1 = require(163) /* ./grid_box */;\n exports.GridBox = grid_box_1.GridBox;\n var html_box_1 = require(164) /* ./html_box */;\n exports.HTMLBox = html_box_1.HTMLBox;\n var layout_dom_1 = require(166) /* ./layout_dom */;\n exports.LayoutDOM = layout_dom_1.LayoutDOM;\n var row_1 = require(167) /* ./row */;\n exports.Row = row_1.Row;\n var spacer_1 = require(168) /* ./spacer */;\n exports.Spacer = spacer_1.Spacer;\n var tabs_1 = require(169) /* ./tabs */;\n exports.Panel = tabs_1.Panel;\n exports.Tabs = tabs_1.Tabs;\n var widget_box_1 = require(170) /* ./widget_box */;\n exports.WidgetBox = widget_box_1.WidgetBox;\n}\n","/* models/layouts/layout_dom */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var dom_1 = require(5) /* ../../core/dom */;\n var logging_1 = require(17) /* ../../core/logging */;\n var types_1 = require(46) /* ../../core/util/types */;\n var p = require(18) /* ../../core/properties */;\n var build_views_1 = require(4) /* ../../core/build_views */;\n var dom_view_1 = require(6) /* ../../core/dom_view */;\n var LayoutDOMView = /** @class */ (function (_super) {\n tslib_1.__extends(LayoutDOMView, _super);\n function LayoutDOMView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._idle_notified = false;\n _this._offset_parent = null;\n _this._viewport = {};\n return _this;\n }\n LayoutDOMView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.el.style.position = this.is_root ? \"relative\" : \"absolute\";\n this._child_views = {};\n this.build_child_views();\n };\n LayoutDOMView.prototype.remove = function () {\n for (var _i = 0, _a = this.child_views; _i < _a.length; _i++) {\n var child_view = _a[_i];\n child_view.remove();\n }\n this._child_views = {};\n _super.prototype.remove.call(this);\n };\n LayoutDOMView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n if (this.is_root) {\n this._on_resize = function () { return _this.resize_layout(); };\n window.addEventListener(\"resize\", this._on_resize);\n this._parent_observer = setInterval(function () {\n var offset_parent = _this.el.offsetParent;\n if (_this._offset_parent != offset_parent) {\n _this._offset_parent = offset_parent;\n if (offset_parent != null) {\n _this.compute_viewport();\n _this.invalidate_layout();\n }\n }\n }, 250);\n }\n var p = this.model.properties;\n this.on_change([\n p.width, p.height,\n p.min_width, p.min_height,\n p.max_width, p.max_height,\n p.margin,\n p.width_policy, p.height_policy, p.sizing_mode,\n p.aspect_ratio,\n p.visible,\n p.background,\n ], function () { return _this.invalidate_layout(); });\n this.on_change([\n p.css_classes,\n ], function () { return _this.invalidate_render(); });\n };\n LayoutDOMView.prototype.disconnect_signals = function () {\n if (this._parent_observer != null)\n clearTimeout(this._parent_observer);\n if (this._on_resize != null)\n window.removeEventListener(\"resize\", this._on_resize);\n _super.prototype.disconnect_signals.call(this);\n };\n LayoutDOMView.prototype.css_classes = function () {\n return _super.prototype.css_classes.call(this).concat(this.model.css_classes);\n };\n Object.defineProperty(LayoutDOMView.prototype, \"child_views\", {\n get: function () {\n var _this = this;\n return this.child_models.map(function (child) { return _this._child_views[child.id]; });\n },\n enumerable: true,\n configurable: true\n });\n LayoutDOMView.prototype.build_child_views = function () {\n build_views_1.build_views(this._child_views, this.child_models, { parent: this });\n };\n LayoutDOMView.prototype.render = function () {\n var _a;\n _super.prototype.render.call(this);\n dom_1.empty(this.el); // XXX: this should be in super\n var background = this.model.background;\n this.el.style.backgroundColor = background != null ? background : \"\";\n (_a = dom_1.classes(this.el).clear()).add.apply(_a, this.css_classes());\n for (var _i = 0, _b = this.child_views; _i < _b.length; _i++) {\n var child_view = _b[_i];\n this.el.appendChild(child_view.el);\n child_view.render();\n }\n };\n LayoutDOMView.prototype.update_layout = function () {\n for (var _i = 0, _a = this.child_views; _i < _a.length; _i++) {\n var child_view = _a[_i];\n child_view.update_layout();\n }\n this._update_layout();\n };\n LayoutDOMView.prototype.update_position = function () {\n this.el.style.display = this.model.visible ? \"block\" : \"none\";\n var margin = this.is_root ? this.layout.sizing.margin : undefined;\n dom_1.position(this.el, this.layout.bbox, margin);\n for (var _i = 0, _a = this.child_views; _i < _a.length; _i++) {\n var child_view = _a[_i];\n child_view.update_position();\n }\n };\n LayoutDOMView.prototype.after_layout = function () {\n for (var _i = 0, _a = this.child_views; _i < _a.length; _i++) {\n var child_view = _a[_i];\n child_view.after_layout();\n }\n this._has_finished = true;\n };\n LayoutDOMView.prototype.compute_viewport = function () {\n this._viewport = this._viewport_size();\n };\n LayoutDOMView.prototype.renderTo = function (element) {\n element.appendChild(this.el);\n this._offset_parent = this.el.offsetParent;\n this.compute_viewport();\n this.build();\n };\n LayoutDOMView.prototype.build = function () {\n this.assert_root();\n this.render();\n this.update_layout();\n this.compute_layout();\n return this;\n };\n LayoutDOMView.prototype.rebuild = function () {\n this.build_child_views();\n this.invalidate_render();\n };\n LayoutDOMView.prototype.compute_layout = function () {\n var start = Date.now();\n this.layout.compute(this._viewport);\n this.update_position();\n this.after_layout();\n logging_1.logger.debug(\"layout computed in \" + (Date.now() - start) + \" ms\");\n this.notify_finished();\n };\n LayoutDOMView.prototype.resize_layout = function () {\n this.root.compute_viewport();\n this.root.compute_layout();\n };\n LayoutDOMView.prototype.invalidate_layout = function () {\n this.root.update_layout();\n this.root.compute_layout();\n };\n LayoutDOMView.prototype.invalidate_render = function () {\n this.render();\n this.invalidate_layout();\n };\n LayoutDOMView.prototype.has_finished = function () {\n if (!_super.prototype.has_finished.call(this))\n return false;\n for (var _i = 0, _a = this.child_views; _i < _a.length; _i++) {\n var child_view = _a[_i];\n if (!child_view.has_finished())\n return false;\n }\n return true;\n };\n LayoutDOMView.prototype.notify_finished = function () {\n if (!this.is_root)\n this.root.notify_finished();\n else {\n if (!this._idle_notified && this.has_finished()) {\n if (this.model.document != null) {\n this._idle_notified = true;\n this.model.document.notify_idle(this.model);\n }\n }\n }\n };\n LayoutDOMView.prototype._width_policy = function () {\n return this.model.width != null ? \"fixed\" : \"fit\";\n };\n LayoutDOMView.prototype._height_policy = function () {\n return this.model.height != null ? \"fixed\" : \"fit\";\n };\n LayoutDOMView.prototype.box_sizing = function () {\n var _a = this.model, width_policy = _a.width_policy, height_policy = _a.height_policy, aspect_ratio = _a.aspect_ratio;\n if (width_policy == \"auto\")\n width_policy = this._width_policy();\n if (height_policy == \"auto\")\n height_policy = this._height_policy();\n var sizing_mode = this.model.sizing_mode;\n if (sizing_mode != null) {\n if (sizing_mode == \"fixed\")\n width_policy = height_policy = \"fixed\";\n else if (sizing_mode == \"stretch_both\")\n width_policy = height_policy = \"max\";\n else if (sizing_mode == \"stretch_width\")\n width_policy = \"max\";\n else if (sizing_mode == \"stretch_height\")\n height_policy = \"max\";\n else {\n if (aspect_ratio == null)\n aspect_ratio = \"auto\";\n switch (sizing_mode) {\n case \"scale_width\":\n width_policy = \"max\";\n height_policy = \"min\";\n break;\n case \"scale_height\":\n width_policy = \"min\";\n height_policy = \"max\";\n break;\n case \"scale_both\":\n width_policy = \"max\";\n height_policy = \"max\";\n break;\n default:\n throw new Error(\"unreachable\");\n }\n }\n }\n var sizing = { width_policy: width_policy, height_policy: height_policy };\n var _b = this.model, min_width = _b.min_width, min_height = _b.min_height;\n if (min_width != null)\n sizing.min_width = min_width;\n if (min_height != null)\n sizing.min_height = min_height;\n var _c = this.model, width = _c.width, height = _c.height;\n if (width != null)\n sizing.width = width;\n if (height != null)\n sizing.height = height;\n var _d = this.model, max_width = _d.max_width, max_height = _d.max_height;\n if (max_width != null)\n sizing.max_width = max_width;\n if (max_height != null)\n sizing.max_height = max_height;\n if (aspect_ratio == \"auto\" && width != null && height != null)\n sizing.aspect = width / height;\n else if (types_1.isNumber(aspect_ratio))\n sizing.aspect = aspect_ratio;\n var margin = this.model.margin;\n if (margin != null) {\n if (types_1.isNumber(margin))\n sizing.margin = { top: margin, right: margin, bottom: margin, left: margin };\n else if (margin.length == 2) {\n var vertical = margin[0], horizontal = margin[1];\n sizing.margin = { top: vertical, right: horizontal, bottom: vertical, left: horizontal };\n }\n else {\n var top_1 = margin[0], right = margin[1], bottom = margin[2], left = margin[3];\n sizing.margin = { top: top_1, right: right, bottom: bottom, left: left };\n }\n }\n sizing.visible = this.model.visible;\n var align = this.model.align;\n if (types_1.isArray(align))\n sizing.halign = align[0], sizing.valign = align[1];\n else\n sizing.halign = sizing.valign = align;\n return sizing;\n };\n LayoutDOMView.prototype._viewport_size = function () {\n var _this = this;\n return dom_1.undisplayed(this.el, function () {\n var measuring = _this.el;\n while (measuring = measuring.parentElement) {\n // .bk-root element doesn't bring any value\n if (measuring.classList.contains(\"bk-root\"))\n continue;\n // we reached element, so use viewport size\n if (measuring == document.body) {\n var _a = dom_1.extents(document.body).margin, left_1 = _a.left, right_1 = _a.right, top_2 = _a.top, bottom_1 = _a.bottom;\n var width_1 = Math.ceil(document.documentElement.clientWidth - left_1 - right_1);\n var height_1 = Math.ceil(document.documentElement.clientHeight - top_2 - bottom_1);\n return { width: width_1, height: height_1 };\n }\n // stop on first element with sensible dimensions\n var _b = dom_1.extents(measuring).padding, left = _b.left, right = _b.right, top_3 = _b.top, bottom = _b.bottom;\n var _c = measuring.getBoundingClientRect(), width = _c.width, height = _c.height;\n var inner_width = Math.ceil(width - left - right);\n var inner_height = Math.ceil(height - top_3 - bottom);\n if (inner_width > 0 || inner_height > 0)\n return {\n width: inner_width > 0 ? inner_width : undefined,\n height: inner_height > 0 ? inner_height : undefined,\n };\n }\n // this element is detached from DOM\n return {};\n });\n };\n LayoutDOMView.prototype.serializable_state = function () {\n return tslib_1.__assign({}, _super.prototype.serializable_state.call(this), { bbox: this.layout.bbox.rect, children: this.child_views.map(function (child) { return child.serializable_state(); }) });\n };\n return LayoutDOMView;\n }(dom_view_1.DOMView));\n exports.LayoutDOMView = LayoutDOMView;\n var LayoutDOM = /** @class */ (function (_super) {\n tslib_1.__extends(LayoutDOM, _super);\n function LayoutDOM(attrs) {\n return _super.call(this, attrs) || this;\n }\n LayoutDOM.initClass = function () {\n this.prototype.type = \"LayoutDOM\";\n this.define({\n width: [p.Number, null],\n height: [p.Number, null],\n min_width: [p.Number, null],\n min_height: [p.Number, null],\n max_width: [p.Number, null],\n max_height: [p.Number, null],\n margin: [p.Any, [0, 0, 0, 0]],\n width_policy: [p.Any, \"auto\"],\n height_policy: [p.Any, \"auto\"],\n aspect_ratio: [p.Any, null],\n sizing_mode: [p.SizingMode, null],\n visible: [p.Boolean, true],\n disabled: [p.Boolean, false],\n align: [p.Any, \"start\"],\n background: [p.Color, null],\n css_classes: [p.Array, []],\n });\n };\n return LayoutDOM;\n }(model_1.Model));\n exports.LayoutDOM = LayoutDOM;\n LayoutDOM.initClass();\n}\n","/* models/layouts/row */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var box_1 = require(161) /* ./box */;\n var grid_1 = require(11) /* ../../core/layout/grid */;\n var p = require(18) /* ../../core/properties */;\n var RowView = /** @class */ (function (_super) {\n tslib_1.__extends(RowView, _super);\n function RowView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RowView.prototype._update_layout = function () {\n var items = this.child_views.map(function (child) { return child.layout; });\n this.layout = new grid_1.Row(items);\n this.layout.cols = this.model.cols;\n this.layout.spacing = [0, this.model.spacing];\n this.layout.set_sizing(this.box_sizing());\n };\n return RowView;\n }(box_1.BoxView));\n exports.RowView = RowView;\n var Row = /** @class */ (function (_super) {\n tslib_1.__extends(Row, _super);\n function Row(attrs) {\n return _super.call(this, attrs) || this;\n }\n Row.initClass = function () {\n this.prototype.type = \"Row\";\n this.prototype.default_view = RowView;\n this.define({\n cols: [p.Any, \"auto\"],\n });\n };\n return Row;\n }(box_1.Box));\n exports.Row = Row;\n Row.initClass();\n}\n","/* models/layouts/spacer */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var layout_dom_1 = require(166) /* ./layout_dom */;\n var layout_1 = require(13) /* ../../core/layout */;\n var SpacerView = /** @class */ (function (_super) {\n tslib_1.__extends(SpacerView, _super);\n function SpacerView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(SpacerView.prototype, \"child_models\", {\n get: function () {\n return [];\n },\n enumerable: true,\n configurable: true\n });\n SpacerView.prototype._update_layout = function () {\n this.layout = new layout_1.LayoutItem();\n this.layout.set_sizing(this.box_sizing());\n };\n return SpacerView;\n }(layout_dom_1.LayoutDOMView));\n exports.SpacerView = SpacerView;\n var Spacer = /** @class */ (function (_super) {\n tslib_1.__extends(Spacer, _super);\n function Spacer(attrs) {\n return _super.call(this, attrs) || this;\n }\n Spacer.initClass = function () {\n this.prototype.type = \"Spacer\";\n this.prototype.default_view = SpacerView;\n };\n return Spacer;\n }(layout_dom_1.LayoutDOM));\n exports.Spacer = Spacer;\n Spacer.initClass();\n}\n","/* models/layouts/tabs */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var layout_1 = require(13) /* ../../core/layout */;\n var dom_1 = require(5) /* ../../core/dom */;\n var array_1 = require(24) /* ../../core/util/array */;\n var p = require(18) /* ../../core/properties */;\n var layout_dom_1 = require(166) /* ./layout_dom */;\n var model_1 = require(62) /* ../../model */;\n var TabsView = /** @class */ (function (_super) {\n tslib_1.__extends(TabsView, _super);\n function TabsView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TabsView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.properties.tabs.change, function () { return _this.rebuild(); });\n this.connect(this.model.properties.active.change, function () { return _this.on_active_change(); });\n };\n Object.defineProperty(TabsView.prototype, \"child_models\", {\n get: function () {\n return this.model.tabs.map(function (tab) { return tab.child; });\n },\n enumerable: true,\n configurable: true\n });\n TabsView.prototype._update_layout = function () {\n var loc = this.model.tabs_location;\n var vertical = loc == \"above\" || loc == \"below\";\n // XXX: this is a hack, this should be handled by \"fit\" policy in grid layout\n var _a = this, scroll_el = _a.scroll_el, headers_el = _a.headers_el;\n this.header = new /** @class */ (function (_super) {\n tslib_1.__extends(class_1, _super);\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n class_1.prototype._measure = function (viewport) {\n var min_headers = 3;\n var scroll = dom_1.size(scroll_el);\n var headers = dom_1.children(headers_el).slice(0, min_headers).map(function (el) { return dom_1.size(el); });\n var _a = _super.prototype._measure.call(this, viewport), width = _a.width, height = _a.height;\n if (vertical) {\n var min_width = scroll.width + array_1.sum(headers.map(function (size) { return size.width; }));\n return { width: viewport.width != Infinity ? viewport.width : min_width, height: height };\n }\n else {\n var min_height = scroll.height + array_1.sum(headers.map(function (size) { return size.height; }));\n return { width: width, height: viewport.height != Infinity ? viewport.height : min_height };\n }\n };\n return class_1;\n }(layout_1.ContentBox))(this.header_el);\n if (vertical)\n this.header.set_sizing({ width_policy: \"fit\", height_policy: \"fixed\" });\n else\n this.header.set_sizing({ width_policy: \"fixed\", height_policy: \"fit\" });\n var row = 1;\n var col = 1;\n switch (loc) {\n case \"above\":\n row -= 1;\n break;\n case \"below\":\n row += 1;\n break;\n case \"left\":\n col -= 1;\n break;\n case \"right\":\n col += 1;\n break;\n }\n var header = { layout: this.header, row: row, col: col };\n var panels = this.child_views.map(function (child_view) {\n return { layout: child_view.layout, row: 1, col: 1 };\n });\n this.layout = new layout_1.Grid([header].concat(panels));\n this.layout.set_sizing(this.box_sizing());\n };\n TabsView.prototype.update_position = function () {\n _super.prototype.update_position.call(this);\n this.header_el.style.position = \"absolute\"; // XXX: do it in position()\n dom_1.position(this.header_el, this.header.bbox);\n var loc = this.model.tabs_location;\n var vertical = loc == \"above\" || loc == \"below\";\n var scroll_el_size = dom_1.size(this.scroll_el);\n var headers_el_size = dom_1.scroll_size(this.headers_el);\n if (vertical) {\n var width = this.header.bbox.width;\n if (headers_el_size.width > width) {\n this.wrapper_el.style.maxWidth = width - scroll_el_size.width + \"px\";\n dom_1.display(this.scroll_el);\n }\n else {\n this.wrapper_el.style.maxWidth = \"\";\n dom_1.undisplay(this.scroll_el);\n }\n }\n else {\n var height = this.header.bbox.height;\n if (headers_el_size.height > height) {\n this.wrapper_el.style.maxHeight = height - scroll_el_size.height + \"px\";\n dom_1.display(this.scroll_el);\n }\n else {\n this.wrapper_el.style.maxHeight = \"\";\n dom_1.undisplay(this.scroll_el);\n }\n }\n var child_views = this.child_views;\n for (var _i = 0, child_views_1 = child_views; _i < child_views_1.length; _i++) {\n var child_view = child_views_1[_i];\n dom_1.hide(child_view.el);\n }\n var tab = child_views[this.model.active];\n if (tab != null)\n dom_1.show(tab.el);\n };\n TabsView.prototype.render = function () {\n var _this = this;\n _super.prototype.render.call(this);\n var active = this.model.active;\n var loc = this.model.tabs_location;\n var vertical = loc == \"above\" || loc == \"below\";\n var location = \"bk-\" + loc;\n var headers = this.model.tabs.map(function (tab, i) {\n var el = dom_1.div({ class: [\"bk-tab\", i == active ? \"bk-active\" : null] }, tab.title);\n el.addEventListener(\"click\", function (event) {\n if (event.target == event.currentTarget)\n _this.change_active(i);\n });\n if (tab.closable) {\n var close_el = dom_1.div({ class: \"bk-close\" });\n close_el.addEventListener(\"click\", function (event) {\n if (event.target == event.currentTarget) {\n _this.model.tabs = array_1.remove_at(_this.model.tabs, i);\n var ntabs = _this.model.tabs.length;\n if (_this.model.active > ntabs - 1)\n _this.model.active = ntabs - 1;\n }\n });\n el.appendChild(close_el);\n }\n return el;\n });\n this.headers_el = dom_1.div({ class: [\"bk-headers\"] }, headers);\n this.wrapper_el = dom_1.div({ class: \"bk-headers-wrapper\" }, this.headers_el);\n var left_el = dom_1.div({ class: [\"bk-btn\", \"bk-btn-default\"], disabled: \"\" }, dom_1.div({ class: [\"bk-caret\", \"bk-left\"] }));\n var right_el = dom_1.div({ class: [\"bk-btn\", \"bk-btn-default\"] }, dom_1.div({ class: [\"bk-caret\", \"bk-right\"] }));\n var scroll_index = 0;\n var do_scroll = function (dir) {\n return function () {\n var ntabs = _this.model.tabs.length;\n if (dir == \"left\")\n scroll_index = Math.max(scroll_index - 1, 0);\n else\n scroll_index = Math.min(scroll_index + 1, ntabs - 1);\n if (scroll_index == 0)\n left_el.setAttribute(\"disabled\", \"\");\n else\n left_el.removeAttribute(\"disabled\");\n if (scroll_index == ntabs - 1)\n right_el.setAttribute(\"disabled\", \"\");\n else\n right_el.removeAttribute(\"disabled\");\n var sizes = dom_1.children(_this.headers_el)\n .slice(0, scroll_index)\n .map(function (el) { return el.getBoundingClientRect(); });\n if (vertical) {\n var left = -array_1.sum(sizes.map(function (size) { return size.width; }));\n _this.headers_el.style.left = left + \"px\";\n }\n else {\n var top_1 = -array_1.sum(sizes.map(function (size) { return size.height; }));\n _this.headers_el.style.top = top_1 + \"px\";\n }\n };\n };\n left_el.addEventListener(\"click\", do_scroll(\"left\"));\n right_el.addEventListener(\"click\", do_scroll(\"right\"));\n this.scroll_el = dom_1.div({ class: \"bk-btn-group\" }, left_el, right_el);\n this.header_el = dom_1.div({ class: [\"bk-tabs-header\", location] }, this.scroll_el, this.wrapper_el);\n this.el.appendChild(this.header_el);\n };\n TabsView.prototype.change_active = function (i) {\n if (i != this.model.active) {\n this.model.active = i;\n if (this.model.callback != null)\n this.model.callback.execute(this.model);\n }\n };\n TabsView.prototype.on_active_change = function () {\n var i = this.model.active;\n var headers = dom_1.children(this.headers_el);\n for (var _i = 0, headers_1 = headers; _i < headers_1.length; _i++) {\n var el = headers_1[_i];\n el.classList.remove(\"bk-active\");\n }\n headers[i].classList.add(\"bk-active\");\n var child_views = this.child_views;\n for (var _a = 0, child_views_2 = child_views; _a < child_views_2.length; _a++) {\n var child_view = child_views_2[_a];\n dom_1.hide(child_view.el);\n }\n dom_1.show(child_views[i].el);\n };\n return TabsView;\n }(layout_dom_1.LayoutDOMView));\n exports.TabsView = TabsView;\n var Tabs = /** @class */ (function (_super) {\n tslib_1.__extends(Tabs, _super);\n function Tabs(attrs) {\n return _super.call(this, attrs) || this;\n }\n Tabs.initClass = function () {\n this.prototype.type = \"Tabs\";\n this.prototype.default_view = TabsView;\n this.define({\n tabs: [p.Array, []],\n tabs_location: [p.Location, \"above\"],\n active: [p.Number, 0],\n callback: [p.Any],\n });\n };\n return Tabs;\n }(layout_dom_1.LayoutDOM));\n exports.Tabs = Tabs;\n Tabs.initClass();\n var Panel = /** @class */ (function (_super) {\n tslib_1.__extends(Panel, _super);\n function Panel(attrs) {\n return _super.call(this, attrs) || this;\n }\n Panel.initClass = function () {\n this.prototype.type = \"Panel\";\n this.define({\n title: [p.String, \"\"],\n child: [p.Instance],\n closable: [p.Boolean, false],\n });\n };\n return Panel;\n }(model_1.Model));\n exports.Panel = Panel;\n Panel.initClass();\n}\n","/* models/layouts/widget_box */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var column_1 = require(162) /* ./column */;\n var WidgetBoxView = /** @class */ (function (_super) {\n tslib_1.__extends(WidgetBoxView, _super);\n function WidgetBoxView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return WidgetBoxView;\n }(column_1.ColumnView));\n exports.WidgetBoxView = WidgetBoxView;\n var WidgetBox = /** @class */ (function (_super) {\n tslib_1.__extends(WidgetBox, _super);\n function WidgetBox(attrs) {\n return _super.call(this, attrs) || this;\n }\n WidgetBox.initClass = function () {\n this.prototype.type = \"WidgetBox\";\n this.prototype.default_view = WidgetBoxView;\n };\n return WidgetBox;\n }(column_1.Column));\n exports.WidgetBox = WidgetBox;\n WidgetBox.initClass();\n}\n","/* models/mappers/categorical_color_mapper */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var categorical_mapper_1 = require(172) /* ./categorical_mapper */;\n var color_mapper_1 = require(175) /* ./color_mapper */;\n var p = require(18) /* ../../core/properties */;\n var CategoricalColorMapper = /** @class */ (function (_super) {\n tslib_1.__extends(CategoricalColorMapper, _super);\n function CategoricalColorMapper(attrs) {\n return _super.call(this, attrs) || this;\n }\n CategoricalColorMapper.initClass = function () {\n this.prototype.type = \"CategoricalColorMapper\";\n this.define({\n factors: [p.Array],\n start: [p.Number, 0],\n end: [p.Number],\n });\n };\n CategoricalColorMapper.prototype._v_compute = function (data, values, palette, _a) {\n var nan_color = _a.nan_color;\n categorical_mapper_1.cat_v_compute(data, this.factors, palette, values, this.start, this.end, nan_color);\n };\n return CategoricalColorMapper;\n }(color_mapper_1.ColorMapper));\n exports.CategoricalColorMapper = CategoricalColorMapper;\n CategoricalColorMapper.initClass();\n}\n","/* models/mappers/categorical_mapper */ function _(require, module, exports) {\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var types_1 = require(46) /* ../../core/util/types */;\n function _cat_equals(a, b) {\n if (a.length != b.length)\n return false;\n for (var i = 0, end = a.length; i < end; i++) {\n if (a[i] !== b[i])\n return false;\n }\n return true;\n }\n exports._cat_equals = _cat_equals;\n function cat_v_compute(data, factors, targets, values, start, end, extra_value) {\n var _loop_1 = function (i, N) {\n var d = data[i];\n var key = void 0;\n if (types_1.isString(d))\n key = arrayable_1.index_of(factors, d);\n else {\n if (start != null) {\n if (end != null)\n d = d.slice(start, end);\n else\n d = d.slice(start);\n }\n else if (end != null)\n d = d.slice(0, end);\n if (d.length == 1)\n key = arrayable_1.index_of(factors, d[0]);\n else\n key = arrayable_1.find_index(factors, function (x) { return _cat_equals(x, d); });\n }\n var value = void 0;\n if (key < 0 || key >= targets.length)\n value = extra_value;\n else\n value = targets[key];\n values[i] = value;\n };\n for (var i = 0, N = data.length; i < N; i++) {\n _loop_1(i, N);\n }\n }\n exports.cat_v_compute = cat_v_compute;\n}\n","/* models/mappers/categorical_marker_mapper */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var categorical_mapper_1 = require(172) /* ./categorical_mapper */;\n var mapper_1 = require(180) /* ./mapper */;\n var p = require(18) /* ../../core/properties */;\n var CategoricalMarkerMapper = /** @class */ (function (_super) {\n tslib_1.__extends(CategoricalMarkerMapper, _super);\n function CategoricalMarkerMapper(attrs) {\n return _super.call(this, attrs) || this;\n }\n CategoricalMarkerMapper.initClass = function () {\n this.prototype.type = \"CategoricalMarkerMapper\";\n this.define({\n factors: [p.Array],\n markers: [p.Array],\n start: [p.Number, 0],\n end: [p.Number],\n default_value: [p.MarkerType, \"circle\"],\n });\n };\n CategoricalMarkerMapper.prototype.v_compute = function (xs) {\n var values = new Array(xs.length);\n categorical_mapper_1.cat_v_compute(xs, this.factors, this.markers, values, this.start, this.end, this.default_value);\n return values;\n };\n return CategoricalMarkerMapper;\n }(mapper_1.Mapper));\n exports.CategoricalMarkerMapper = CategoricalMarkerMapper;\n CategoricalMarkerMapper.initClass();\n}\n","/* models/mappers/categorical_pattern_mapper */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var categorical_mapper_1 = require(172) /* ./categorical_mapper */;\n var mapper_1 = require(180) /* ./mapper */;\n var p = require(18) /* ../../core/properties */;\n var CategoricalPatternMapper = /** @class */ (function (_super) {\n tslib_1.__extends(CategoricalPatternMapper, _super);\n function CategoricalPatternMapper(attrs) {\n return _super.call(this, attrs) || this;\n }\n CategoricalPatternMapper.initClass = function () {\n this.prototype.type = \"CategoricalPatternMapper\";\n this.define({\n factors: [p.Array],\n patterns: [p.Array],\n start: [p.Number, 0],\n end: [p.Number],\n default_value: [p.HatchPatternType, \" \"],\n });\n };\n CategoricalPatternMapper.prototype.v_compute = function (xs) {\n var values = new Array(xs.length);\n categorical_mapper_1.cat_v_compute(xs, this.factors, this.patterns, values, this.start, this.end, this.default_value);\n return values;\n };\n return CategoricalPatternMapper;\n }(mapper_1.Mapper));\n exports.CategoricalPatternMapper = CategoricalPatternMapper;\n CategoricalPatternMapper.initClass();\n}\n","/* models/mappers/color_mapper */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var mapper_1 = require(180) /* ./mapper */;\n var p = require(18) /* ../../core/properties */;\n var types_1 = require(46) /* ../../core/util/types */;\n var color_1 = require(30) /* ../../core/util/color */;\n var compat_1 = require(31) /* ../../core/util/compat */;\n function _convert_color(color) {\n if (types_1.isNumber(color))\n return color;\n if (color[0] != \"#\")\n color = color_1.color2hex(color);\n if (color.length != 9)\n color = color + 'ff';\n return parseInt(color.slice(1), 16);\n }\n exports._convert_color = _convert_color;\n function _convert_palette(palette) {\n var new_palette = new Uint32Array(palette.length);\n for (var i = 0, end = palette.length; i < end; i++)\n new_palette[i] = _convert_color(palette[i]);\n return new_palette;\n }\n exports._convert_palette = _convert_palette;\n function _uint32_to_rgba(values) {\n if (compat_1.is_little_endian) {\n var view = new DataView(values.buffer);\n for (var i = 0, end = values.length; i < end; i++)\n view.setUint32(i * 4, values[i]);\n }\n return new Uint8Array(values.buffer);\n }\n exports._uint32_to_rgba = _uint32_to_rgba;\n var ColorMapper = /** @class */ (function (_super) {\n tslib_1.__extends(ColorMapper, _super);\n function ColorMapper(attrs) {\n return _super.call(this, attrs) || this;\n }\n ColorMapper.initClass = function () {\n this.prototype.type = \"ColorMapper\";\n this.define({\n palette: [p.Any],\n nan_color: [p.Color, \"gray\"],\n });\n };\n ColorMapper.prototype.v_compute = function (xs) {\n var values = new Array(xs.length);\n this._v_compute(xs, values, this.palette, this._colors(function (c) { return c; }));\n return values;\n };\n Object.defineProperty(ColorMapper.prototype, \"rgba_mapper\", {\n get: function () {\n var self = this;\n var palette = _convert_palette(this.palette);\n var colors = this._colors(_convert_color);\n return {\n v_compute: function (xs) {\n var values = new Uint32Array(xs.length);\n self._v_compute(xs, values, palette, colors);\n return _uint32_to_rgba(values);\n },\n };\n },\n enumerable: true,\n configurable: true\n });\n ColorMapper.prototype._colors = function (conv) {\n return { nan_color: conv(this.nan_color) };\n };\n return ColorMapper;\n }(mapper_1.Mapper));\n exports.ColorMapper = ColorMapper;\n ColorMapper.initClass();\n}\n","/* models/mappers/continuous_color_mapper */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var color_mapper_1 = require(175) /* ./color_mapper */;\n var p = require(18) /* ../../core/properties */;\n var ContinuousColorMapper = /** @class */ (function (_super) {\n tslib_1.__extends(ContinuousColorMapper, _super);\n function ContinuousColorMapper(attrs) {\n return _super.call(this, attrs) || this;\n }\n ContinuousColorMapper.initClass = function () {\n this.prototype.type = \"ContinuousColorMapper\";\n this.define({\n high: [p.Number],\n low: [p.Number],\n high_color: [p.Color],\n low_color: [p.Color],\n });\n };\n ContinuousColorMapper.prototype._colors = function (conv) {\n return tslib_1.__assign({}, _super.prototype._colors.call(this, conv), { low_color: this.low_color != null ? conv(this.low_color) : undefined, high_color: this.high_color != null ? conv(this.high_color) : undefined });\n };\n return ContinuousColorMapper;\n }(color_mapper_1.ColorMapper));\n exports.ContinuousColorMapper = ContinuousColorMapper;\n ContinuousColorMapper.initClass();\n}\n","/* models/mappers/index */ function _(require, module, exports) {\n var categorical_color_mapper_1 = require(171) /* ./categorical_color_mapper */;\n exports.CategoricalColorMapper = categorical_color_mapper_1.CategoricalColorMapper;\n var categorical_marker_mapper_1 = require(173) /* ./categorical_marker_mapper */;\n exports.CategoricalMarkerMapper = categorical_marker_mapper_1.CategoricalMarkerMapper;\n var categorical_pattern_mapper_1 = require(174) /* ./categorical_pattern_mapper */;\n exports.CategoricalPatternMapper = categorical_pattern_mapper_1.CategoricalPatternMapper;\n var continuous_color_mapper_1 = require(176) /* ./continuous_color_mapper */;\n exports.ContinuousColorMapper = continuous_color_mapper_1.ContinuousColorMapper;\n var color_mapper_1 = require(175) /* ./color_mapper */;\n exports.ColorMapper = color_mapper_1.ColorMapper;\n var linear_color_mapper_1 = require(178) /* ./linear_color_mapper */;\n exports.LinearColorMapper = linear_color_mapper_1.LinearColorMapper;\n var log_color_mapper_1 = require(179) /* ./log_color_mapper */;\n exports.LogColorMapper = log_color_mapper_1.LogColorMapper;\n}\n","/* models/mappers/linear_color_mapper */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var continuous_color_mapper_1 = require(176) /* ./continuous_color_mapper */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var LinearColorMapper = /** @class */ (function (_super) {\n tslib_1.__extends(LinearColorMapper, _super);\n function LinearColorMapper(attrs) {\n return _super.call(this, attrs) || this;\n }\n LinearColorMapper.initClass = function () {\n this.prototype.type = \"LinearColorMapper\";\n };\n LinearColorMapper.prototype._v_compute = function (data, values, palette, colors) {\n var nan_color = colors.nan_color, low_color = colors.low_color, high_color = colors.high_color;\n var low = this.low != null ? this.low : arrayable_1.min(data);\n var high = this.high != null ? this.high : arrayable_1.max(data);\n var max_key = palette.length - 1;\n var norm_factor = 1 / (high - low);\n var normed_interval = 1 / palette.length;\n for (var i = 0, end = data.length; i < end; i++) {\n var d = data[i];\n if (isNaN(d)) {\n values[i] = nan_color;\n continue;\n }\n // This handles the edge case where d == high, since the code below maps\n // values exactly equal to high to palette.length, which is greater than\n // max_key\n if (d == high) {\n values[i] = palette[max_key];\n continue;\n }\n var normed_d = (d - low) * norm_factor;\n var key = Math.floor(normed_d / normed_interval);\n if (key < 0)\n values[i] = low_color != null ? low_color : palette[0];\n else if (key > max_key)\n values[i] = high_color != null ? high_color : palette[max_key];\n else\n values[i] = palette[key];\n }\n };\n return LinearColorMapper;\n }(continuous_color_mapper_1.ContinuousColorMapper));\n exports.LinearColorMapper = LinearColorMapper;\n LinearColorMapper.initClass();\n}\n","/* models/mappers/log_color_mapper */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var continuous_color_mapper_1 = require(176) /* ./continuous_color_mapper */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n // Math.log1p() is not supported by any version of IE, so let's use a polyfill based on\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/log1p.\n var log1p = Math.log1p != null ? Math.log1p : function (x) { return Math.log(1 + x); };\n var LogColorMapper = /** @class */ (function (_super) {\n tslib_1.__extends(LogColorMapper, _super);\n function LogColorMapper(attrs) {\n return _super.call(this, attrs) || this;\n }\n LogColorMapper.initClass = function () {\n this.prototype.type = \"LogColorMapper\";\n };\n LogColorMapper.prototype._v_compute = function (data, values, palette, colors) {\n var nan_color = colors.nan_color, low_color = colors.low_color, high_color = colors.high_color;\n var n = palette.length;\n var low = this.low != null ? this.low : arrayable_1.min(data);\n var high = this.high != null ? this.high : arrayable_1.max(data);\n var scale = n / (log1p(high) - log1p(low)); // subtract the low offset\n var max_key = palette.length - 1;\n for (var i = 0, end = data.length; i < end; i++) {\n var d = data[i];\n // Check NaN\n if (isNaN(d)) {\n values[i] = nan_color;\n continue;\n }\n if (d > high) {\n values[i] = high_color != null ? high_color : palette[max_key];\n continue;\n }\n // This handles the edge case where d == high, since the code below maps\n // values exactly equal to high to palette.length, which is greater than\n // max_key\n if (d == high) {\n values[i] = palette[max_key];\n continue;\n }\n if (d < low) {\n values[i] = low_color != null ? low_color : palette[0];\n continue;\n }\n // Get the key\n var log = log1p(d) - log1p(low); // subtract the low offset\n var key = Math.floor(log * scale);\n // Deal with upper bound\n if (key > max_key)\n key = max_key;\n values[i] = palette[key];\n }\n };\n return LogColorMapper;\n }(continuous_color_mapper_1.ContinuousColorMapper));\n exports.LogColorMapper = LogColorMapper;\n LogColorMapper.initClass();\n}\n","/* models/mappers/mapper */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var transform_1 = require(297) /* ../transforms/transform */;\n var Mapper = /** @class */ (function (_super) {\n tslib_1.__extends(Mapper, _super);\n function Mapper(attrs) {\n return _super.call(this, attrs) || this;\n }\n Mapper.initClass = function () {\n this.prototype.type = \"Mapper\";\n };\n Mapper.prototype.compute = function (_x) {\n // If it's just a single value, then a mapper doesn't really make sense.\n throw new Error(\"mapping single values is not supported\");\n };\n return Mapper;\n }(transform_1.Transform));\n exports.Mapper = Mapper;\n Mapper.initClass();\n}\n","/* models/markers/defs */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var marker_1 = require(183) /* ./marker */;\n var SQ3 = Math.sqrt(3);\n function _one_line(ctx, r) {\n ctx.moveTo(-r, 0);\n ctx.lineTo(r, 0);\n }\n function _one_x(ctx, r) {\n ctx.moveTo(-r, r);\n ctx.lineTo(r, -r);\n ctx.moveTo(-r, -r);\n ctx.lineTo(r, r);\n }\n function _one_cross(ctx, r) {\n ctx.moveTo(0, r);\n ctx.lineTo(0, -r);\n ctx.moveTo(-r, 0);\n ctx.lineTo(r, 0);\n }\n function _one_diamond(ctx, r) {\n ctx.moveTo(0, r);\n ctx.lineTo(r / 1.5, 0);\n ctx.lineTo(0, -r);\n ctx.lineTo(-r / 1.5, 0);\n ctx.closePath();\n }\n function _one_hex(ctx, r) {\n var r2 = r / 2;\n var h = SQ3 * r2;\n ctx.moveTo(r, 0);\n ctx.lineTo(r2, -h);\n ctx.lineTo(-r2, -h);\n ctx.lineTo(-r, 0);\n ctx.lineTo(-r2, h);\n ctx.lineTo(r2, h);\n ctx.closePath();\n }\n function _one_tri(ctx, r) {\n var h = r * SQ3;\n var a = h / 3;\n ctx.moveTo(-r, a);\n ctx.lineTo(r, a);\n ctx.lineTo(0, a - h);\n ctx.closePath();\n }\n function asterisk(ctx, i, r, line, _fill) {\n var r2 = r * 0.65;\n _one_cross(ctx, r);\n _one_x(ctx, r2);\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function circle(ctx, i, r, line, fill) {\n ctx.arc(0, 0, r, 0, 2 * Math.PI, false);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function circle_cross(ctx, i, r, line, fill) {\n ctx.arc(0, 0, r, 0, 2 * Math.PI, false);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n _one_cross(ctx, r);\n ctx.stroke();\n }\n }\n function circle_x(ctx, i, r, line, fill) {\n ctx.arc(0, 0, r, 0, 2 * Math.PI, false);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n _one_x(ctx, r);\n ctx.stroke();\n }\n }\n function cross(ctx, i, r, line, _fill) {\n _one_cross(ctx, r);\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function diamond(ctx, i, r, line, fill) {\n _one_diamond(ctx, r);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function diamond_cross(ctx, i, r, line, fill) {\n _one_diamond(ctx, r);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n _one_cross(ctx, r);\n ctx.stroke();\n }\n }\n function hex(ctx, i, r, line, fill) {\n _one_hex(ctx, r);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function inverted_triangle(ctx, i, r, line, fill) {\n ctx.rotate(Math.PI);\n _one_tri(ctx, r);\n ctx.rotate(-Math.PI);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function square(ctx, i, r, line, fill) {\n var size = 2 * r;\n ctx.rect(-r, -r, size, size);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function square_cross(ctx, i, r, line, fill) {\n var size = 2 * r;\n ctx.rect(-r, -r, size, size);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n _one_cross(ctx, r);\n ctx.stroke();\n }\n }\n function square_x(ctx, i, r, line, fill) {\n var size = 2 * r;\n ctx.rect(-r, -r, size, size);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n _one_x(ctx, r);\n ctx.stroke();\n }\n }\n function triangle(ctx, i, r, line, fill) {\n _one_tri(ctx, r);\n if (fill.doit) {\n fill.set_vectorize(ctx, i);\n ctx.fill();\n }\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function dash(ctx, i, r, line, _fill) {\n _one_line(ctx, r);\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function x(ctx, i, r, line, _fill) {\n _one_x(ctx, r);\n if (line.doit) {\n line.set_vectorize(ctx, i);\n ctx.stroke();\n }\n }\n function _mk_model(type, f) {\n var view = /** @class */ (function (_super) {\n tslib_1.__extends(class_1, _super);\n function class_1() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n class_1.initClass = function () {\n this.prototype._render_one = f;\n };\n return class_1;\n }(marker_1.MarkerView));\n view.initClass();\n var model = /** @class */ (function (_super) {\n tslib_1.__extends(class_2, _super);\n function class_2() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n class_2.initClass = function () {\n this.prototype.default_view = view;\n this.prototype.type = type;\n };\n return class_2;\n }(marker_1.Marker));\n model.initClass();\n return model;\n }\n // markers are final, so no need to export views\n exports.Asterisk = _mk_model('Asterisk', asterisk);\n exports.CircleCross = _mk_model('CircleCross', circle_cross);\n exports.CircleX = _mk_model('CircleX', circle_x);\n exports.Cross = _mk_model('Cross', cross);\n exports.Dash = _mk_model('Dash', dash);\n exports.Diamond = _mk_model('Diamond', diamond);\n exports.DiamondCross = _mk_model('DiamondCross', diamond_cross);\n exports.Hex = _mk_model('Hex', hex);\n exports.InvertedTriangle = _mk_model('InvertedTriangle', inverted_triangle);\n exports.Square = _mk_model('Square', square);\n exports.SquareCross = _mk_model('SquareCross', square_cross);\n exports.SquareX = _mk_model('SquareX', square_x);\n exports.Triangle = _mk_model('Triangle', triangle);\n exports.X = _mk_model('X', x);\n exports.marker_funcs = {\n asterisk: asterisk,\n circle: circle,\n circle_cross: circle_cross,\n circle_x: circle_x,\n cross: cross,\n diamond: diamond,\n diamond_cross: diamond_cross,\n hex: hex,\n inverted_triangle: inverted_triangle,\n square: square,\n square_cross: square_cross,\n square_x: square_x,\n triangle: triangle,\n dash: dash,\n x: x,\n };\n}\n","/* models/markers/index */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n tslib_1.__exportStar(require(181) /* ./defs */, exports);\n var marker_1 = require(183) /* ./marker */;\n exports.Marker = marker_1.Marker;\n var scatter_1 = require(184) /* ./scatter */;\n exports.Scatter = scatter_1.Scatter;\n}\n","/* models/markers/marker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var xy_glyph_1 = require(153) /* ../glyphs/xy_glyph */;\n var hittest = require(9) /* ../../core/hittest */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var MarkerView = /** @class */ (function (_super) {\n tslib_1.__extends(MarkerView, _super);\n function MarkerView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n MarkerView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, _size = _a._size, _angle = _a._angle;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + _size[i] + _angle[i]))\n continue;\n var r = _size[i] / 2;\n ctx.beginPath();\n ctx.translate(sx[i], sy[i]);\n if (_angle[i])\n ctx.rotate(_angle[i]);\n this._render_one(ctx, i, r, this.visuals.line, this.visuals.fill);\n if (_angle[i])\n ctx.rotate(-_angle[i]);\n ctx.translate(-sx[i], -sy[i]);\n }\n };\n MarkerView.prototype._mask_data = function () {\n // dilate the inner screen region by max_size and map back to data space for use in\n // spatial query\n var hr = this.renderer.plot_view.frame.bbox.h_range;\n var sx0 = hr.start - this.max_size;\n var sx1 = hr.end + this.max_size;\n var _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var vr = this.renderer.plot_view.frame.bbox.v_range;\n var sy0 = vr.start - this.max_size;\n var sy1 = vr.end + this.max_size;\n var _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n return this.index.indices(bbox);\n };\n MarkerView.prototype._hit_point = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n var sx0 = sx - this.max_size;\n var sx1 = sx + this.max_size;\n var _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var sy0 = sy - this.max_size;\n var sy1 = sy + this.max_size;\n var _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var candidates = this.index.indices(bbox);\n var hits = [];\n for (var _i = 0, candidates_1 = candidates; _i < candidates_1.length; _i++) {\n var i = candidates_1[_i];\n var s2 = this._size[i] / 2;\n var dist = Math.abs(this.sx[i] - sx) + Math.abs(this.sy[i] - sy);\n if (Math.abs(this.sx[i] - sx) <= s2 && Math.abs(this.sy[i] - sy) <= s2) {\n hits.push([i, dist]);\n }\n }\n return hittest.create_hit_test_result_from_hits(hits);\n };\n MarkerView.prototype._hit_span = function (geometry) {\n var _a, _b;\n var sx = geometry.sx, sy = geometry.sy;\n var _c = this.bounds(), minX = _c.minX, minY = _c.minY, maxX = _c.maxX, maxY = _c.maxY;\n var result = hittest.create_empty_hit_test_result();\n var x0, x1;\n var y0, y1;\n if (geometry.direction == 'h') {\n y0 = minY;\n y1 = maxY;\n var ms = this.max_size / 2;\n var sx0 = sx - ms;\n var sx1 = sx + ms;\n _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n }\n else {\n x0 = minX;\n x1 = maxX;\n var ms = this.max_size / 2;\n var sy0 = sy - ms;\n var sy1 = sy + ms;\n _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n }\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var hits = this.index.indices(bbox);\n result.indices = hits;\n return result;\n };\n MarkerView.prototype._hit_rect = function (geometry) {\n var sx0 = geometry.sx0, sx1 = geometry.sx1, sy0 = geometry.sy0, sy1 = geometry.sy1;\n var _a = this.renderer.xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var _b = this.renderer.yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n var bbox = hittest.validate_bbox_coords([x0, x1], [y0, y1]);\n var result = hittest.create_empty_hit_test_result();\n result.indices = this.index.indices(bbox);\n return result;\n };\n MarkerView.prototype._hit_poly = function (geometry) {\n var sx = geometry.sx, sy = geometry.sy;\n // TODO (bev) use spatial index to pare candidate list\n var candidates = array_1.range(0, this.sx.length);\n var hits = [];\n for (var i = 0, end = candidates.length; i < end; i++) {\n var idx = candidates[i];\n if (hittest.point_in_poly(this.sx[i], this.sy[i], sx, sy))\n hits.push(idx);\n }\n var result = hittest.create_empty_hit_test_result();\n result.indices = hits;\n return result;\n };\n MarkerView.prototype.draw_legend_for_index = function (ctx, _a, index) {\n var x0 = _a.x0, x1 = _a.x1, y0 = _a.y0, y1 = _a.y1;\n // using objects like this seems a little wonky, since the keys are coerced to\n // stings, but it works\n var len = index + 1;\n var sx = new Array(len);\n sx[index] = (x0 + x1) / 2;\n var sy = new Array(len);\n sy[index] = (y0 + y1) / 2;\n var size = new Array(len);\n size[index] = Math.min(Math.abs(x1 - x0), Math.abs(y1 - y0)) * 0.4;\n var angle = new Array(len);\n angle[index] = 0; // don't attempt to match glyph angle\n this._render(ctx, [index], { sx: sx, sy: sy, _size: size, _angle: angle }); // XXX\n };\n return MarkerView;\n }(xy_glyph_1.XYGlyphView));\n exports.MarkerView = MarkerView;\n var Marker = /** @class */ (function (_super) {\n tslib_1.__extends(Marker, _super);\n function Marker(attrs) {\n return _super.call(this, attrs) || this;\n }\n Marker.initClass = function () {\n this.mixins(['line', 'fill']);\n this.define({\n size: [p.DistanceSpec, { units: \"screen\", value: 4 }],\n angle: [p.AngleSpec, 0],\n });\n };\n return Marker;\n }(xy_glyph_1.XYGlyph));\n exports.Marker = Marker;\n Marker.initClass();\n}\n","/* models/markers/scatter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var marker_1 = require(183) /* ./marker */;\n var defs_1 = require(181) /* ./defs */;\n var p = require(18) /* ../../core/properties */;\n var ScatterView = /** @class */ (function (_super) {\n tslib_1.__extends(ScatterView, _super);\n function ScatterView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ScatterView.prototype._render = function (ctx, indices, _a) {\n var sx = _a.sx, sy = _a.sy, _size = _a._size, _angle = _a._angle, _marker = _a._marker;\n for (var _i = 0, indices_1 = indices; _i < indices_1.length; _i++) {\n var i = indices_1[_i];\n if (isNaN(sx[i] + sy[i] + _size[i] + _angle[i]) || _marker[i] == null)\n continue;\n var r = _size[i] / 2;\n ctx.beginPath();\n ctx.translate(sx[i], sy[i]);\n if (_angle[i])\n ctx.rotate(_angle[i]);\n defs_1.marker_funcs[_marker[i]](ctx, i, r, this.visuals.line, this.visuals.fill);\n if (_angle[i])\n ctx.rotate(-_angle[i]);\n ctx.translate(-sx[i], -sy[i]);\n }\n };\n ScatterView.prototype.draw_legend_for_index = function (ctx, _a, index) {\n var x0 = _a.x0, x1 = _a.x1, y0 = _a.y0, y1 = _a.y1;\n // using objects like this seems a little wonky, since the keys are coerced to\n // stings, but it works\n var len = index + 1;\n var sx = new Array(len);\n sx[index] = (x0 + x1) / 2;\n var sy = new Array(len);\n sy[index] = (y0 + y1) / 2;\n var size = new Array(len);\n size[index] = Math.min(Math.abs(x1 - x0), Math.abs(y1 - y0)) * 0.4;\n var angle = new Array(len);\n angle[index] = 0; // don't attempt to match glyph angle\n var marker = new Array(len);\n marker[index] = this._marker[index];\n this._render(ctx, [index], { sx: sx, sy: sy, _size: size, _angle: angle, _marker: marker }); // XXX\n };\n return ScatterView;\n }(marker_1.MarkerView));\n exports.ScatterView = ScatterView;\n var Scatter = /** @class */ (function (_super) {\n tslib_1.__extends(Scatter, _super);\n function Scatter(attrs) {\n return _super.call(this, attrs) || this;\n }\n Scatter.initClass = function () {\n this.prototype.type = 'Scatter';\n this.prototype.default_view = ScatterView;\n this.define({\n marker: [p.MarkerSpec, { value: \"circle\" }],\n });\n };\n return Scatter;\n }(marker_1.Marker));\n exports.Scatter = Scatter;\n Scatter.initClass();\n}\n","/* models/plots/gmap_plot */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var logging_1 = require(17) /* ../../core/logging */;\n var plot_1 = require(188) /* ./plot */;\n var p = require(18) /* ../../core/properties */;\n var model_1 = require(62) /* ../../model */;\n var range1d_1 = require(195) /* ../ranges/range1d */;\n var gmap_plot_canvas_1 = require(186) /* ./gmap_plot_canvas */;\n exports.GMapPlotView = gmap_plot_canvas_1.GMapPlotView;\n var MapOptions = /** @class */ (function (_super) {\n tslib_1.__extends(MapOptions, _super);\n function MapOptions(attrs) {\n return _super.call(this, attrs) || this;\n }\n MapOptions.initClass = function () {\n this.prototype.type = \"MapOptions\";\n this.define({\n lat: [p.Number],\n lng: [p.Number],\n zoom: [p.Number, 12],\n });\n };\n return MapOptions;\n }(model_1.Model));\n exports.MapOptions = MapOptions;\n MapOptions.initClass();\n var GMapOptions = /** @class */ (function (_super) {\n tslib_1.__extends(GMapOptions, _super);\n function GMapOptions(attrs) {\n return _super.call(this, attrs) || this;\n }\n GMapOptions.initClass = function () {\n this.prototype.type = \"GMapOptions\";\n this.define({\n map_type: [p.String, \"roadmap\"],\n scale_control: [p.Boolean, false],\n styles: [p.String],\n tilt: [p.Int, 45],\n });\n };\n return GMapOptions;\n }(MapOptions));\n exports.GMapOptions = GMapOptions;\n GMapOptions.initClass();\n var GMapPlot = /** @class */ (function (_super) {\n tslib_1.__extends(GMapPlot, _super);\n function GMapPlot(attrs) {\n return _super.call(this, attrs) || this;\n }\n GMapPlot.initClass = function () {\n this.prototype.type = \"GMapPlot\";\n this.prototype.default_view = gmap_plot_canvas_1.GMapPlotView;\n // This seems to be necessary so that everything can initialize.\n // Feels very clumsy, but I'm not sure how the properties system wants\n // to handle something like this situation.\n this.define({\n map_options: [p.Instance],\n api_key: [p.String],\n });\n this.override({\n x_range: function () { return new range1d_1.Range1d(); },\n y_range: function () { return new range1d_1.Range1d(); },\n });\n };\n GMapPlot.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.use_map = true;\n if (!this.api_key)\n logging_1.logger.error(\"api_key is required. See https://developers.google.com/maps/documentation/javascript/get-api-key for more information on how to obtain your own.\");\n };\n return GMapPlot;\n }(plot_1.Plot));\n exports.GMapPlot = GMapPlot;\n GMapPlot.initClass();\n}\n","/* models/plots/gmap_plot_canvas */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var signaling_1 = require(22) /* ../../core/signaling */;\n var projections_1 = require(36) /* ../../core/util/projections */;\n var plot_canvas_1 = require(189) /* ./plot_canvas */;\n var gmaps_ready = new signaling_1.Signal0({}, \"gmaps_ready\");\n var load_google_api = function (api_key) {\n window._bokeh_gmaps_callback = function () { return gmaps_ready.emit(); };\n var script = document.createElement('script');\n script.type = 'text/javascript';\n script.src = \"https://maps.googleapis.com/maps/api/js?key=\" + api_key + \"&callback=_bokeh_gmaps_callback\";\n document.body.appendChild(script);\n };\n var GMapPlotView = /** @class */ (function (_super) {\n tslib_1.__extends(GMapPlotView, _super);\n function GMapPlotView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GMapPlotView.prototype.initialize = function () {\n var _this = this;\n this.pause();\n _super.prototype.initialize.call(this);\n this._tiles_loaded = false;\n this.zoom_count = 0;\n var _a = this.model.map_options, zoom = _a.zoom, lat = _a.lat, lng = _a.lng;\n this.initial_zoom = zoom;\n this.initial_lat = lat;\n this.initial_lng = lng;\n this.canvas_view.map_el.style.position = \"absolute\";\n if (typeof google === \"undefined\" || google.maps == null) {\n if (typeof window._bokeh_gmaps_callback === \"undefined\") {\n load_google_api(this.model.api_key);\n }\n gmaps_ready.connect(function () { return _this.request_render(); });\n }\n this.unpause();\n };\n GMapPlotView.prototype.update_range = function (range_info) {\n // RESET -------------------------\n if (range_info == null) {\n this.map.setCenter({ lat: this.initial_lat, lng: this.initial_lng });\n this.map.setOptions({ zoom: this.initial_zoom });\n _super.prototype.update_range.call(this, null);\n // PAN ----------------------------\n }\n else if (range_info.sdx != null || range_info.sdy != null) {\n this.map.panBy(range_info.sdx || 0, range_info.sdy || 0);\n _super.prototype.update_range.call(this, range_info);\n // ZOOM ---------------------------\n }\n else if (range_info.factor != null) {\n // The zoom count decreases the sensitivity of the zoom. (We could make this user configurable)\n var zoom_change = void 0;\n if (this.zoom_count !== 10) {\n this.zoom_count += 1;\n return;\n }\n this.zoom_count = 0;\n this.pause();\n _super.prototype.update_range.call(this, range_info);\n if (range_info.factor < 0)\n zoom_change = -1;\n else\n zoom_change = 1;\n var old_map_zoom = this.map.getZoom();\n var new_map_zoom = old_map_zoom + zoom_change;\n // Zooming out too far causes problems\n if (new_map_zoom >= 2) {\n this.map.setZoom(new_map_zoom);\n // Check we haven't gone out of bounds, and if we have undo the zoom\n var _a = this._get_projected_bounds(), proj_xstart = _a[0], proj_xend = _a[1];\n if (proj_xend - proj_xstart < 0) {\n this.map.setZoom(old_map_zoom);\n }\n }\n this.unpause();\n }\n // Finally re-center\n this._set_bokeh_ranges();\n };\n GMapPlotView.prototype._build_map = function () {\n var _this = this;\n var maps = google.maps;\n this.map_types = {\n satellite: maps.MapTypeId.SATELLITE,\n terrain: maps.MapTypeId.TERRAIN,\n roadmap: maps.MapTypeId.ROADMAP,\n hybrid: maps.MapTypeId.HYBRID,\n };\n var mo = this.model.map_options;\n var map_options = {\n center: new maps.LatLng(mo.lat, mo.lng),\n zoom: mo.zoom,\n disableDefaultUI: true,\n mapTypeId: this.map_types[mo.map_type],\n scaleControl: mo.scale_control,\n tilt: mo.tilt,\n };\n if (mo.styles != null)\n map_options.styles = JSON.parse(mo.styles);\n // create the map with above options in div\n this.map = new maps.Map(this.canvas_view.map_el, map_options);\n // update bokeh ranges whenever the map idles, which should be after most UI action\n maps.event.addListener(this.map, 'idle', function () { return _this._set_bokeh_ranges(); });\n // also need an event when bounds change so that map resizes trigger renders too\n maps.event.addListener(this.map, 'bounds_changed', function () { return _this._set_bokeh_ranges(); });\n maps.event.addListenerOnce(this.map, 'tilesloaded', function () { return _this._render_finished(); });\n // wire up listeners so that changes to properties are reflected\n this.connect(this.model.properties.map_options.change, function () { return _this._update_options(); });\n this.connect(this.model.map_options.properties.styles.change, function () { return _this._update_styles(); });\n this.connect(this.model.map_options.properties.lat.change, function () { return _this._update_center('lat'); });\n this.connect(this.model.map_options.properties.lng.change, function () { return _this._update_center('lng'); });\n this.connect(this.model.map_options.properties.zoom.change, function () { return _this._update_zoom(); });\n this.connect(this.model.map_options.properties.map_type.change, function () { return _this._update_map_type(); });\n this.connect(this.model.map_options.properties.scale_control.change, function () { return _this._update_scale_control(); });\n this.connect(this.model.map_options.properties.tilt.change, function () { return _this._update_tilt(); });\n };\n GMapPlotView.prototype._render_finished = function () {\n this._tiles_loaded = true;\n this.notify_finished();\n };\n GMapPlotView.prototype.has_finished = function () {\n return _super.prototype.has_finished.call(this) && this._tiles_loaded === true;\n };\n GMapPlotView.prototype._get_latlon_bounds = function () {\n var bounds = this.map.getBounds();\n var top_right = bounds.getNorthEast();\n var bottom_left = bounds.getSouthWest();\n var xstart = bottom_left.lng();\n var xend = top_right.lng();\n var ystart = bottom_left.lat();\n var yend = top_right.lat();\n return [xstart, xend, ystart, yend];\n };\n GMapPlotView.prototype._get_projected_bounds = function () {\n var _a = this._get_latlon_bounds(), xstart = _a[0], xend = _a[1], ystart = _a[2], yend = _a[3];\n var _b = projections_1.wgs84_mercator.forward([xstart, ystart]), proj_xstart = _b[0], proj_ystart = _b[1];\n var _c = projections_1.wgs84_mercator.forward([xend, yend]), proj_xend = _c[0], proj_yend = _c[1];\n return [proj_xstart, proj_xend, proj_ystart, proj_yend];\n };\n GMapPlotView.prototype._set_bokeh_ranges = function () {\n var _a = this._get_projected_bounds(), proj_xstart = _a[0], proj_xend = _a[1], proj_ystart = _a[2], proj_yend = _a[3];\n this.frame.x_range.setv({ start: proj_xstart, end: proj_xend });\n this.frame.y_range.setv({ start: proj_ystart, end: proj_yend });\n };\n GMapPlotView.prototype._update_center = function (fld) {\n var c = this.map.getCenter().toJSON();\n c[fld] = this.model.map_options[fld];\n this.map.setCenter(c);\n this._set_bokeh_ranges();\n };\n GMapPlotView.prototype._update_map_type = function () {\n this.map.setOptions({ mapTypeId: this.map_types[this.model.map_options.map_type] });\n };\n GMapPlotView.prototype._update_scale_control = function () {\n this.map.setOptions({ scaleControl: this.model.map_options.scale_control });\n };\n GMapPlotView.prototype._update_tilt = function () {\n this.map.setOptions({ tilt: this.model.map_options.tilt });\n };\n GMapPlotView.prototype._update_options = function () {\n this._update_styles();\n this._update_center('lat');\n this._update_center('lng');\n this._update_zoom();\n this._update_map_type();\n };\n GMapPlotView.prototype._update_styles = function () {\n this.map.setOptions({ styles: JSON.parse(this.model.map_options.styles) });\n };\n GMapPlotView.prototype._update_zoom = function () {\n this.map.setOptions({ zoom: this.model.map_options.zoom });\n this._set_bokeh_ranges();\n };\n // this method is expected and called by PlotView.render\n GMapPlotView.prototype._map_hook = function (_ctx, frame_box) {\n var left = frame_box[0], top = frame_box[1], width = frame_box[2], height = frame_box[3];\n this.canvas_view.map_el.style.top = top + \"px\";\n this.canvas_view.map_el.style.left = left + \"px\";\n this.canvas_view.map_el.style.width = width + \"px\";\n this.canvas_view.map_el.style.height = height + \"px\";\n if (this.map == null && typeof google !== \"undefined\" && google.maps != null)\n this._build_map();\n };\n // this overrides the standard _paint_empty to make the inner canvas transparent\n GMapPlotView.prototype._paint_empty = function (ctx, frame_box) {\n var ow = this.layout._width.value;\n var oh = this.layout._height.value;\n var left = frame_box[0], top = frame_box[1], iw = frame_box[2], ih = frame_box[3];\n ctx.clearRect(0, 0, ow, oh);\n ctx.beginPath();\n ctx.moveTo(0, 0);\n ctx.lineTo(0, oh);\n ctx.lineTo(ow, oh);\n ctx.lineTo(ow, 0);\n ctx.lineTo(0, 0);\n ctx.moveTo(left, top);\n ctx.lineTo(left + iw, top);\n ctx.lineTo(left + iw, top + ih);\n ctx.lineTo(left, top + ih);\n ctx.lineTo(left, top);\n ctx.closePath();\n if (this.model.border_fill_color != null) {\n ctx.fillStyle = this.model.border_fill_color;\n ctx.fill();\n }\n };\n return GMapPlotView;\n }(plot_canvas_1.PlotView));\n exports.GMapPlotView = GMapPlotView;\n}\n","/* models/plots/index */ function _(require, module, exports) {\n var gmap_plot_1 = require(185) /* ./gmap_plot */;\n exports.MapOptions = gmap_plot_1.MapOptions;\n var gmap_plot_2 = require(185) /* ./gmap_plot */;\n exports.GMapOptions = gmap_plot_2.GMapOptions;\n var gmap_plot_3 = require(185) /* ./gmap_plot */;\n exports.GMapPlot = gmap_plot_3.GMapPlot;\n var plot_1 = require(188) /* ./plot */;\n exports.Plot = plot_1.Plot;\n}\n","/* models/plots/plot */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var p = require(18) /* ../../core/properties */;\n var signaling_1 = require(22) /* ../../core/signaling */;\n var array_1 = require(24) /* ../../core/util/array */;\n var object_1 = require(35) /* ../../core/util/object */;\n var types_1 = require(46) /* ../../core/util/types */;\n var layout_dom_1 = require(166) /* ../layouts/layout_dom */;\n var title_1 = require(78) /* ../annotations/title */;\n var linear_scale_1 = require(204) /* ../scales/linear_scale */;\n var toolbar_1 = require(286) /* ../tools/toolbar */;\n var column_data_source_1 = require(212) /* ../sources/column_data_source */;\n var glyph_renderer_1 = require(197) /* ../renderers/glyph_renderer */;\n var data_range1d_1 = require(191) /* ../ranges/data_range1d */;\n var plot_canvas_1 = require(189) /* ./plot_canvas */;\n exports.PlotView = plot_canvas_1.PlotView;\n var Plot = /** @class */ (function (_super) {\n tslib_1.__extends(Plot, _super);\n function Plot(attrs) {\n return _super.call(this, attrs) || this;\n }\n Plot.initClass = function () {\n this.prototype.type = \"Plot\";\n this.prototype.default_view = plot_canvas_1.PlotView;\n this.mixins([\"line:outline_\", \"fill:background_\", \"fill:border_\"]);\n this.define({\n toolbar: [p.Instance, function () { return new toolbar_1.Toolbar(); }],\n toolbar_location: [p.Location, 'right'],\n toolbar_sticky: [p.Boolean, true],\n plot_width: [p.Number, 600],\n plot_height: [p.Number, 600],\n frame_width: [p.Number, null],\n frame_height: [p.Number, null],\n title: [p.Any, function () { return new title_1.Title({ text: \"\" }); }],\n title_location: [p.Location, 'above'],\n above: [p.Array, []],\n below: [p.Array, []],\n left: [p.Array, []],\n right: [p.Array, []],\n center: [p.Array, []],\n renderers: [p.Array, []],\n x_range: [p.Instance, function () { return new data_range1d_1.DataRange1d(); }],\n extra_x_ranges: [p.Any, {}],\n y_range: [p.Instance, function () { return new data_range1d_1.DataRange1d(); }],\n extra_y_ranges: [p.Any, {}],\n x_scale: [p.Instance, function () { return new linear_scale_1.LinearScale(); }],\n y_scale: [p.Instance, function () { return new linear_scale_1.LinearScale(); }],\n lod_factor: [p.Number, 10],\n lod_interval: [p.Number, 300],\n lod_threshold: [p.Number, 2000],\n lod_timeout: [p.Number, 500],\n hidpi: [p.Boolean, true],\n output_backend: [p.OutputBackend, \"canvas\"],\n min_border: [p.Number, 5],\n min_border_top: [p.Number, null],\n min_border_left: [p.Number, null],\n min_border_bottom: [p.Number, null],\n min_border_right: [p.Number, null],\n inner_width: [p.Number],\n inner_height: [p.Number],\n outer_width: [p.Number],\n outer_height: [p.Number],\n match_aspect: [p.Boolean, false],\n aspect_scale: [p.Number, 1],\n reset_policy: [p.ResetPolicy, \"standard\"],\n });\n this.override({\n outline_line_color: \"#e5e5e5\",\n border_fill_color: \"#ffffff\",\n background_fill_color: \"#ffffff\",\n });\n };\n Object.defineProperty(Plot.prototype, \"width\", {\n get: function () {\n var width = this.getv(\"width\");\n return width != null ? width : this.plot_width;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Plot.prototype, \"height\", {\n get: function () {\n var height = this.getv(\"height\");\n return height != null ? height : this.plot_height;\n },\n enumerable: true,\n configurable: true\n });\n Plot.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.reset = new signaling_1.Signal0(this, \"reset\");\n for (var _i = 0, _a = object_1.values(this.extra_x_ranges).concat(this.x_range); _i < _a.length; _i++) {\n var xr = _a[_i];\n var plots = xr.plots;\n if (types_1.isArray(plots)) {\n plots = plots.concat(this);\n xr.setv({ plots: plots }, { silent: true });\n }\n }\n for (var _b = 0, _c = object_1.values(this.extra_y_ranges).concat(this.y_range); _b < _c.length; _b++) {\n var yr = _c[_b];\n var plots = yr.plots;\n if (types_1.isArray(plots)) {\n plots = plots.concat(this);\n yr.setv({ plots: plots }, { silent: true });\n }\n }\n };\n Plot.prototype.add_layout = function (renderer, side) {\n if (side === void 0) {\n side = \"center\";\n }\n var side_renderers = this.getv(side);\n side_renderers.push(renderer /* XXX */);\n };\n Plot.prototype.remove_layout = function (renderer) {\n var del = function (items) {\n array_1.remove_by(items, function (item) { return item == renderer; });\n };\n del(this.left);\n del(this.right);\n del(this.above);\n del(this.below);\n del(this.center);\n };\n Plot.prototype.add_renderers = function () {\n var renderers = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n renderers[_i] = arguments[_i];\n }\n this.renderers = this.renderers.concat(renderers);\n };\n Plot.prototype.add_glyph = function (glyph, source, extra_attrs) {\n if (source === void 0) {\n source = new column_data_source_1.ColumnDataSource();\n }\n if (extra_attrs === void 0) {\n extra_attrs = {};\n }\n var attrs = tslib_1.__assign({}, extra_attrs, { data_source: source, glyph: glyph });\n var renderer = new glyph_renderer_1.GlyphRenderer(attrs);\n this.add_renderers(renderer);\n return renderer;\n };\n Plot.prototype.add_tools = function () {\n var tools = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n tools[_i] = arguments[_i];\n }\n this.toolbar.tools = this.toolbar.tools.concat(tools);\n };\n Object.defineProperty(Plot.prototype, \"panels\", {\n get: function () {\n return this.side_panels.concat(this.center);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Plot.prototype, \"side_panels\", {\n get: function () {\n var _a = this, above = _a.above, below = _a.below, left = _a.left, right = _a.right;\n return array_1.concat([above, below, left, right]);\n },\n enumerable: true,\n configurable: true\n });\n return Plot;\n }(layout_dom_1.LayoutDOM));\n exports.Plot = Plot;\n Plot.initClass();\n}\n","/* models/plots/plot_canvas */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var cartesian_frame_1 = require(95) /* ../canvas/cartesian_frame */;\n var canvas_1 = require(94) /* ../canvas/canvas */;\n var data_range1d_1 = require(191) /* ../ranges/data_range1d */;\n var glyph_renderer_1 = require(197) /* ../renderers/glyph_renderer */;\n var layout_dom_1 = require(166) /* ../layouts/layout_dom */;\n var title_1 = require(78) /* ../annotations/title */;\n var axis_1 = require(82) /* ../axes/axis */;\n var toolbar_panel_1 = require(79) /* ../annotations/toolbar_panel */;\n var bokeh_events_1 = require(3) /* ../../core/bokeh_events */;\n var signaling_1 = require(22) /* ../../core/signaling */;\n var build_views_1 = require(4) /* ../../core/build_views */;\n var visuals_1 = require(51) /* ../../core/visuals */;\n var logging_1 = require(17) /* ../../core/logging */;\n var throttle_1 = require(44) /* ../../core/util/throttle */;\n var types_1 = require(46) /* ../../core/util/types */;\n var array_1 = require(24) /* ../../core/util/array */;\n var object_1 = require(35) /* ../../core/util/object */;\n var layout_1 = require(13) /* ../../core/layout */;\n var alignments_1 = require(10) /* ../../core/layout/alignments */;\n var side_panel_1 = require(15) /* ../../core/layout/side_panel */;\n var grid_1 = require(11) /* ../../core/layout/grid */;\n var bbox_1 = require(27) /* ../../core/util/bbox */;\n var global_gl = null;\n var PlotLayout = /** @class */ (function (_super) {\n tslib_1.__extends(PlotLayout, _super);\n function PlotLayout() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.min_border = { left: 0, top: 0, right: 0, bottom: 0 };\n return _this;\n }\n PlotLayout.prototype._measure = function (viewport) {\n var _this = this;\n viewport = new layout_1.Sizeable(viewport).bounded_to(this.sizing.size);\n var left_hint = this.left_panel.measure({ width: 0, height: viewport.height });\n var left = Math.max(left_hint.width, this.min_border.left);\n var right_hint = this.right_panel.measure({ width: 0, height: viewport.height });\n var right = Math.max(right_hint.width, this.min_border.right);\n var top_hint = this.top_panel.measure({ width: viewport.width, height: 0 });\n var top = Math.max(top_hint.height, this.min_border.top);\n var bottom_hint = this.bottom_panel.measure({ width: viewport.width, height: 0 });\n var bottom = Math.max(bottom_hint.height, this.min_border.bottom);\n var center_viewport = new layout_1.Sizeable(viewport).shrink_by({ left: left, right: right, top: top, bottom: bottom });\n var center = this.center_panel.measure(center_viewport);\n var width = left + center.width + right;\n var height = top + center.height + bottom;\n var align = (function () {\n var _a = _this.center_panel.sizing, width_policy = _a.width_policy, height_policy = _a.height_policy;\n return width_policy != \"fixed\" && height_policy != \"fixed\";\n })();\n return { width: width, height: height, inner: { left: left, right: right, top: top, bottom: bottom }, align: align };\n };\n PlotLayout.prototype._set_geometry = function (outer, inner) {\n _super.prototype._set_geometry.call(this, outer, inner);\n this.center_panel.set_geometry(inner);\n var left_hint = this.left_panel.measure({ width: 0, height: outer.height });\n var right_hint = this.right_panel.measure({ width: 0, height: outer.height });\n var top_hint = this.top_panel.measure({ width: outer.width, height: 0 });\n var bottom_hint = this.bottom_panel.measure({ width: outer.width, height: 0 });\n var left = inner.left, top = inner.top, right = inner.right, bottom = inner.bottom;\n this.top_panel.set_geometry(new bbox_1.BBox({ left: left, right: right, bottom: top, height: top_hint.height }));\n this.bottom_panel.set_geometry(new bbox_1.BBox({ left: left, right: right, top: bottom, height: bottom_hint.height }));\n this.left_panel.set_geometry(new bbox_1.BBox({ top: top, bottom: bottom, right: left, width: left_hint.width }));\n this.right_panel.set_geometry(new bbox_1.BBox({ top: top, bottom: bottom, left: right, width: right_hint.width }));\n };\n return PlotLayout;\n }(layout_1.Layoutable));\n exports.PlotLayout = PlotLayout;\n var PlotView = /** @class */ (function (_super) {\n tslib_1.__extends(PlotView, _super);\n function PlotView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._outer_bbox = new bbox_1.BBox();\n _this._inner_bbox = new bbox_1.BBox();\n _this._needs_paint = true;\n _this._needs_layout = false;\n return _this;\n }\n Object.defineProperty(PlotView.prototype, \"canvas_overlays\", {\n get: function () {\n return this.canvas_view.overlays_el;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PlotView.prototype, \"canvas_events\", {\n get: function () {\n return this.canvas_view.events_el;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PlotView.prototype, \"is_paused\", {\n get: function () {\n return this._is_paused != null && this._is_paused !== 0;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PlotView.prototype, \"child_models\", {\n get: function () {\n return [];\n },\n enumerable: true,\n configurable: true\n });\n PlotView.prototype.pause = function () {\n if (this._is_paused == null)\n this._is_paused = 1;\n else\n this._is_paused += 1;\n };\n PlotView.prototype.unpause = function (no_render) {\n if (no_render === void 0) {\n no_render = false;\n }\n if (this._is_paused == null)\n throw new Error(\"wasn't paused\");\n this._is_paused -= 1;\n if (this._is_paused == 0 && !no_render)\n this.request_paint();\n };\n // TODO: this needs to be removed\n PlotView.prototype.request_render = function () {\n this.request_paint();\n };\n PlotView.prototype.request_paint = function () {\n if (!this.is_paused)\n this.throttled_paint();\n };\n PlotView.prototype.request_layout = function () {\n this._needs_layout = true;\n this.request_paint();\n };\n PlotView.prototype.reset = function () {\n if (this.model.reset_policy == \"standard\") {\n this.clear_state();\n this.reset_range();\n this.reset_selection();\n }\n this.model.trigger_event(new bokeh_events_1.Reset());\n };\n PlotView.prototype.remove = function () {\n this.ui_event_bus.destroy();\n build_views_1.remove_views(this.renderer_views);\n build_views_1.remove_views(this.tool_views);\n this.canvas_view.remove();\n _super.prototype.remove.call(this);\n };\n PlotView.prototype.render = function () {\n _super.prototype.render.call(this);\n this.el.appendChild(this.canvas_view.el);\n this.canvas_view.render();\n };\n PlotView.prototype.initialize = function () {\n var _this = this;\n this.pause();\n _super.prototype.initialize.call(this);\n this.force_paint = new signaling_1.Signal0(this, \"force_paint\");\n this.state_changed = new signaling_1.Signal0(this, \"state_changed\");\n this.lod_started = false;\n this.visuals = new visuals_1.Visuals(this.model); // XXX\n this._initial_state_info = {\n selection: {},\n dimensions: { width: 0, height: 0 },\n };\n this.visibility_callbacks = [];\n this.state = { history: [], index: -1 };\n this.canvas = new canvas_1.Canvas({\n map: this.model.use_map || false,\n use_hidpi: this.model.hidpi,\n output_backend: this.model.output_backend,\n });\n this.frame = new cartesian_frame_1.CartesianFrame(this.model.x_scale, this.model.y_scale, this.model.x_range, this.model.y_range, this.model.extra_x_ranges, this.model.extra_y_ranges);\n this.canvas_view = new this.canvas.default_view({ model: this.canvas, parent: this });\n // If requested, try enabling webgl\n if (this.model.output_backend == \"webgl\")\n this.init_webgl();\n this.throttled_paint = throttle_1.throttle((function () { return _this.force_paint.emit(); }), 15); // TODO (bev) configurable\n // XXX: lazy value import to avoid touching window\n var UIEvents = require(23) /* ../../core/ui_events */.UIEvents;\n this.ui_event_bus = new UIEvents(this, this.model.toolbar, this.canvas_view.events_el);\n var _a = this.model, title_location = _a.title_location, title = _a.title;\n if (title_location != null && title != null) {\n this._title = title instanceof title_1.Title ? title : new title_1.Title({ text: title });\n }\n var _b = this.model, toolbar_location = _b.toolbar_location, toolbar = _b.toolbar;\n if (toolbar_location != null && toolbar != null) {\n this._toolbar = new toolbar_panel_1.ToolbarPanel({ toolbar: toolbar });\n toolbar.toolbar_location = toolbar_location;\n }\n this.renderer_views = {};\n this.tool_views = {};\n this.build_renderer_views();\n this.build_tool_views();\n this.update_dataranges();\n this.unpause(true);\n logging_1.logger.debug(\"PlotView initialized\");\n };\n PlotView.prototype._width_policy = function () {\n return this.model.frame_width == null ? _super.prototype._width_policy.call(this) : \"min\";\n };\n PlotView.prototype._height_policy = function () {\n return this.model.frame_height == null ? _super.prototype._height_policy.call(this) : \"min\";\n };\n PlotView.prototype._update_layout = function () {\n var _this = this;\n this.layout = new PlotLayout();\n this.layout.set_sizing(this.box_sizing());\n var _a = this.model, frame_width = _a.frame_width, frame_height = _a.frame_height;\n this.layout.center_panel = this.frame;\n this.layout.center_panel.set_sizing(tslib_1.__assign({}, (frame_width != null ? { width_policy: \"fixed\", width: frame_width } : { width_policy: \"fit\" }), (frame_height != null ? { height_policy: \"fixed\", height: frame_height } : { height_policy: \"fit\" })));\n var above = array_1.copy(this.model.above);\n var below = array_1.copy(this.model.below);\n var left = array_1.copy(this.model.left);\n var right = array_1.copy(this.model.right);\n var get_side = function (side) {\n switch (side) {\n case \"above\": return above;\n case \"below\": return below;\n case \"left\": return left;\n case \"right\": return right;\n }\n };\n var _b = this.model, title_location = _b.title_location, title = _b.title;\n if (title_location != null && title != null) {\n get_side(title_location).push(this._title);\n }\n var _c = this.model, toolbar_location = _c.toolbar_location, toolbar = _c.toolbar;\n if (toolbar_location != null && toolbar != null) {\n var panels = get_side(toolbar_location);\n var push_toolbar = true;\n if (this.model.toolbar_sticky) {\n for (var i = 0; i < panels.length; i++) {\n var panel = panels[i];\n if (panel instanceof title_1.Title) {\n if (toolbar_location == \"above\" || toolbar_location == \"below\")\n panels[i] = [panel, this._toolbar];\n else\n panels[i] = [this._toolbar, panel];\n push_toolbar = false;\n break;\n }\n }\n }\n if (push_toolbar)\n panels.push(this._toolbar);\n }\n var set_layout = function (side, model) {\n var view = _this.renderer_views[model.id];\n return view.layout = new side_panel_1.SidePanel(side, view);\n };\n var set_layouts = function (side, panels) {\n var horizontal = side == \"above\" || side == \"below\";\n var layouts = [];\n for (var _i = 0, panels_1 = panels; _i < panels_1.length; _i++) {\n var panel = panels_1[_i];\n if (types_1.isArray(panel)) {\n var items = panel.map(function (subpanel) {\n var _a;\n var item = set_layout(side, subpanel);\n if (subpanel instanceof toolbar_panel_1.ToolbarPanel) {\n var dim = horizontal ? \"width_policy\" : \"height_policy\";\n item.set_sizing(tslib_1.__assign({}, item.sizing, (_a = {}, _a[dim] = \"min\", _a)));\n }\n return item;\n });\n var layout = void 0;\n if (horizontal) {\n layout = new grid_1.Row(items);\n layout.set_sizing({ width_policy: \"max\", height_policy: \"min\" });\n }\n else {\n layout = new grid_1.Column(items);\n layout.set_sizing({ width_policy: \"min\", height_policy: \"max\" });\n }\n layout.absolute = true;\n layouts.push(layout);\n }\n else\n layouts.push(set_layout(side, panel));\n }\n return layouts;\n };\n var min_border = this.model.min_border != null ? this.model.min_border : 0;\n this.layout.min_border = {\n left: this.model.min_border_left != null ? this.model.min_border_left : min_border,\n top: this.model.min_border_top != null ? this.model.min_border_top : min_border,\n right: this.model.min_border_right != null ? this.model.min_border_right : min_border,\n bottom: this.model.min_border_bottom != null ? this.model.min_border_bottom : min_border,\n };\n var top_panel = new alignments_1.VStack();\n var bottom_panel = new alignments_1.VStack();\n var left_panel = new alignments_1.HStack();\n var right_panel = new alignments_1.HStack();\n top_panel.children = array_1.reversed(set_layouts(\"above\", above));\n bottom_panel.children = set_layouts(\"below\", below);\n left_panel.children = array_1.reversed(set_layouts(\"left\", left));\n right_panel.children = set_layouts(\"right\", right);\n top_panel.set_sizing({ width_policy: \"fit\", height_policy: \"min\" /*, min_height: this.layout.min_border.top*/ });\n bottom_panel.set_sizing({ width_policy: \"fit\", height_policy: \"min\" /*, min_height: this.layout.min_width.bottom*/ });\n left_panel.set_sizing({ width_policy: \"min\", height_policy: \"fit\" /*, min_width: this.layout.min_width.left*/ });\n right_panel.set_sizing({ width_policy: \"min\", height_policy: \"fit\" /*, min_width: this.layout.min_width.right*/ });\n this.layout.top_panel = top_panel;\n this.layout.bottom_panel = bottom_panel;\n this.layout.left_panel = left_panel;\n this.layout.right_panel = right_panel;\n };\n Object.defineProperty(PlotView.prototype, \"axis_views\", {\n get: function () {\n var views = [];\n for (var id in this.renderer_views) {\n var child_view = this.renderer_views[id];\n if (child_view instanceof axis_1.AxisView)\n views.push(child_view);\n }\n return views;\n },\n enumerable: true,\n configurable: true\n });\n PlotView.prototype.set_cursor = function (cursor) {\n if (cursor === void 0) {\n cursor = \"default\";\n }\n this.canvas_view.el.style.cursor = cursor;\n };\n PlotView.prototype.set_toolbar_visibility = function (visible) {\n for (var _i = 0, _a = this.visibility_callbacks; _i < _a.length; _i++) {\n var callback = _a[_i];\n callback(visible);\n }\n };\n PlotView.prototype.init_webgl = function () {\n // We use a global invisible canvas and gl context. By having a global context,\n // we avoid the limitation of max 16 contexts that most browsers have.\n if (global_gl == null) {\n var canvas = document.createElement('canvas');\n var opts = { premultipliedAlpha: true };\n var ctx = canvas.getContext(\"webgl\", opts) || canvas.getContext(\"experimental-webgl\", opts);\n // If WebGL is available, we store a reference to the gl canvas on\n // the ctx object, because that's what gets passed everywhere.\n if (ctx != null)\n global_gl = { canvas: canvas, ctx: ctx };\n }\n if (global_gl != null)\n this.gl = global_gl;\n else\n logging_1.logger.warn('WebGL is not supported, falling back to 2D canvas.');\n };\n PlotView.prototype.prepare_webgl = function (ratio, frame_box) {\n // Prepare WebGL for a drawing pass\n if (this.gl != null) {\n var canvas = this.canvas_view.get_canvas_element();\n // Sync canvas size\n this.gl.canvas.width = canvas.width;\n this.gl.canvas.height = canvas.height;\n var gl = this.gl.ctx;\n // Clipping\n gl.enable(gl.SCISSOR_TEST);\n var sx = frame_box[0], sy = frame_box[1], w = frame_box[2], h = frame_box[3];\n var _a = this.canvas_view.bbox, xview = _a.xview, yview = _a.yview;\n var vx = xview.compute(sx);\n var vy = yview.compute(sy + h);\n gl.scissor(ratio * vx, ratio * vy, ratio * w, ratio * h); // lower left corner, width, height\n // Setup blending\n gl.enable(gl.BLEND);\n gl.blendFuncSeparate(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE_MINUS_DST_ALPHA, gl.ONE); // premultipliedAlpha == true\n }\n };\n PlotView.prototype.clear_webgl = function () {\n if (this.gl != null) {\n // Prepare GL for drawing\n var gl = this.gl.ctx;\n gl.viewport(0, 0, this.gl.canvas.width, this.gl.canvas.height);\n gl.clearColor(0, 0, 0, 0);\n gl.clear(gl.COLOR_BUFFER_BIT || gl.DEPTH_BUFFER_BIT);\n }\n };\n PlotView.prototype.blit_webgl = function () {\n // This should be called when the ctx has no state except the HIDPI transform\n var ctx = this.canvas_view.ctx;\n if (this.gl != null) {\n // Blit gl canvas into the 2D canvas. To do 1-on-1 blitting, we need\n // to remove the hidpi transform, then blit, then restore.\n // ctx.globalCompositeOperation = \"source-over\" -> OK; is the default\n logging_1.logger.debug('drawing with WebGL');\n ctx.restore();\n ctx.drawImage(this.gl.canvas, 0, 0);\n // Set back hidpi transform\n ctx.save();\n var ratio = this.canvas.pixel_ratio;\n ctx.scale(ratio, ratio);\n ctx.translate(0.5, 0.5);\n }\n };\n PlotView.prototype.update_dataranges = function () {\n // Update any DataRange1ds here\n var bounds = {};\n var log_bounds = {};\n var calculate_log_bounds = false;\n for (var _i = 0, _a = object_1.values(this.frame.x_ranges).concat(object_1.values(this.frame.y_ranges)); _i < _a.length; _i++) {\n var r_1 = _a[_i];\n if (r_1 instanceof data_range1d_1.DataRange1d) {\n if (r_1.scale_hint == \"log\")\n calculate_log_bounds = true;\n }\n }\n for (var id in this.renderer_views) {\n var view = this.renderer_views[id];\n if (view instanceof glyph_renderer_1.GlyphRendererView) {\n var bds = view.glyph.bounds();\n if (bds != null)\n bounds[id] = bds;\n if (calculate_log_bounds) {\n var log_bds = view.glyph.log_bounds();\n if (log_bds != null)\n log_bounds[id] = log_bds;\n }\n }\n }\n var follow_enabled = false;\n var has_bounds = false;\n var _b = this.frame.bbox, width = _b.width, height = _b.height;\n var r;\n if (this.model.match_aspect !== false && width != 0 && height != 0)\n r = (1 / this.model.aspect_scale) * (width / height);\n for (var _c = 0, _d = object_1.values(this.frame.x_ranges); _c < _d.length; _c++) {\n var xr = _d[_c];\n if (xr instanceof data_range1d_1.DataRange1d) {\n var bounds_to_use = xr.scale_hint == \"log\" ? log_bounds : bounds;\n xr.update(bounds_to_use, 0, this.model.id, r);\n if (xr.follow) {\n follow_enabled = true;\n }\n }\n if (xr.bounds != null)\n has_bounds = true;\n }\n for (var _e = 0, _f = object_1.values(this.frame.y_ranges); _e < _f.length; _e++) {\n var yr = _f[_e];\n if (yr instanceof data_range1d_1.DataRange1d) {\n var bounds_to_use = yr.scale_hint == \"log\" ? log_bounds : bounds;\n yr.update(bounds_to_use, 1, this.model.id, r);\n if (yr.follow) {\n follow_enabled = true;\n }\n }\n if (yr.bounds != null)\n has_bounds = true;\n }\n if (follow_enabled && has_bounds) {\n logging_1.logger.warn('Follow enabled so bounds are unset.');\n for (var _g = 0, _h = object_1.values(this.frame.x_ranges); _g < _h.length; _g++) {\n var xr = _h[_g];\n xr.bounds = null;\n }\n for (var _j = 0, _k = object_1.values(this.frame.y_ranges); _j < _k.length; _j++) {\n var yr = _k[_j];\n yr.bounds = null;\n }\n }\n this.range_update_timestamp = Date.now();\n };\n PlotView.prototype.map_to_screen = function (x, y, x_name, y_name) {\n if (x_name === void 0) {\n x_name = \"default\";\n }\n if (y_name === void 0) {\n y_name = \"default\";\n }\n return this.frame.map_to_screen(x, y, x_name, y_name);\n };\n PlotView.prototype.push_state = function (type, new_info) {\n var _a = this.state, history = _a.history, index = _a.index;\n var prev_info = history[index] != null ? history[index].info : {};\n var info = tslib_1.__assign({}, this._initial_state_info, prev_info, new_info);\n this.state.history = this.state.history.slice(0, this.state.index + 1);\n this.state.history.push({ type: type, info: info });\n this.state.index = this.state.history.length - 1;\n this.state_changed.emit();\n };\n PlotView.prototype.clear_state = function () {\n this.state = { history: [], index: -1 };\n this.state_changed.emit();\n };\n PlotView.prototype.can_undo = function () {\n return this.state.index >= 0;\n };\n PlotView.prototype.can_redo = function () {\n return this.state.index < this.state.history.length - 1;\n };\n PlotView.prototype.undo = function () {\n if (this.can_undo()) {\n this.state.index -= 1;\n this._do_state_change(this.state.index);\n this.state_changed.emit();\n }\n };\n PlotView.prototype.redo = function () {\n if (this.can_redo()) {\n this.state.index += 1;\n this._do_state_change(this.state.index);\n this.state_changed.emit();\n }\n };\n PlotView.prototype._do_state_change = function (index) {\n var info = this.state.history[index] != null ? this.state.history[index].info : this._initial_state_info;\n if (info.range != null)\n this.update_range(info.range);\n if (info.selection != null)\n this.update_selection(info.selection);\n };\n PlotView.prototype.get_selection = function () {\n var selection = {};\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n if (renderer instanceof glyph_renderer_1.GlyphRenderer) {\n var selected = renderer.data_source.selected;\n selection[renderer.id] = selected;\n }\n }\n return selection;\n };\n PlotView.prototype.update_selection = function (selection) {\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n if (!(renderer instanceof glyph_renderer_1.GlyphRenderer))\n continue;\n var ds = renderer.data_source;\n if (selection != null) {\n if (selection[renderer.id] != null)\n ds.selected.update(selection[renderer.id], true, false);\n }\n else\n ds.selection_manager.clear();\n }\n };\n PlotView.prototype.reset_selection = function () {\n this.update_selection(null);\n };\n PlotView.prototype._update_ranges_together = function (range_info_iter) {\n // Get weight needed to scale the diff of the range to honor interval limits\n var weight = 1.0;\n for (var _i = 0, range_info_iter_1 = range_info_iter; _i < range_info_iter_1.length; _i++) {\n var _a = range_info_iter_1[_i], rng = _a[0], range_info = _a[1];\n weight = Math.min(weight, this._get_weight_to_constrain_interval(rng, range_info));\n }\n // Apply shared weight to all ranges\n if (weight < 1) {\n for (var _b = 0, range_info_iter_2 = range_info_iter; _b < range_info_iter_2.length; _b++) {\n var _c = range_info_iter_2[_b], rng = _c[0], range_info = _c[1];\n range_info.start = weight * range_info.start + (1 - weight) * rng.start;\n range_info.end = weight * range_info.end + (1 - weight) * rng.end;\n }\n }\n };\n PlotView.prototype._update_ranges_individually = function (range_info_iter, is_panning, is_scrolling, maintain_focus) {\n var hit_bound = false;\n for (var _i = 0, range_info_iter_3 = range_info_iter; _i < range_info_iter_3.length; _i++) {\n var _a = range_info_iter_3[_i], rng = _a[0], range_info = _a[1];\n // Limit range interval first. Note that for scroll events,\n // the interval has already been limited for all ranges simultaneously\n if (!is_scrolling) {\n var weight = this._get_weight_to_constrain_interval(rng, range_info);\n if (weight < 1) {\n range_info.start = weight * range_info.start + (1 - weight) * rng.start;\n range_info.end = weight * range_info.end + (1 - weight) * rng.end;\n }\n }\n // Prevent range from going outside limits\n // Also ensure that range keeps the same delta when panning/scrolling\n if (rng.bounds != null && rng.bounds != \"auto\") { // check `auto` for type-checking purpose\n var _b = rng.bounds, min = _b[0], max = _b[1];\n var new_interval = Math.abs(range_info.end - range_info.start);\n if (rng.is_reversed) {\n if (min != null) {\n if (min >= range_info.end) {\n hit_bound = true;\n range_info.end = min;\n if (is_panning || is_scrolling) {\n range_info.start = min + new_interval;\n }\n }\n }\n if (max != null) {\n if (max <= range_info.start) {\n hit_bound = true;\n range_info.start = max;\n if (is_panning || is_scrolling) {\n range_info.end = max - new_interval;\n }\n }\n }\n }\n else {\n if (min != null) {\n if (min >= range_info.start) {\n hit_bound = true;\n range_info.start = min;\n if (is_panning || is_scrolling) {\n range_info.end = min + new_interval;\n }\n }\n }\n if (max != null) {\n if (max <= range_info.end) {\n hit_bound = true;\n range_info.end = max;\n if (is_panning || is_scrolling) {\n range_info.start = max - new_interval;\n }\n }\n }\n }\n }\n }\n // Cancel the event when hitting a bound while scrolling. This ensures that\n // the scroll-zoom tool maintains its focus position. Setting `maintain_focus`\n // to false results in a more \"gliding\" behavior, allowing one to\n // zoom out more smoothly, at the cost of losing the focus position.\n if (is_scrolling && hit_bound && maintain_focus)\n return;\n for (var _c = 0, range_info_iter_4 = range_info_iter; _c < range_info_iter_4.length; _c++) {\n var _d = range_info_iter_4[_c], rng = _d[0], range_info = _d[1];\n rng.have_updated_interactively = true;\n if (rng.start != range_info.start || rng.end != range_info.end)\n rng.setv(range_info);\n }\n };\n PlotView.prototype._get_weight_to_constrain_interval = function (rng, range_info) {\n // Get the weight by which a range-update can be applied\n // to still honor the interval limits (including the implicit\n // max interval imposed by the bounds)\n var min_interval = rng.min_interval;\n var max_interval = rng.max_interval;\n // Express bounds as a max_interval. By doing this, the application of\n // bounds and interval limits can be applied independent from each-other.\n if (rng.bounds != null && rng.bounds != \"auto\") { // check `auto` for type-checking purpose\n var _a = rng.bounds, min = _a[0], max = _a[1];\n if (min != null && max != null) {\n var max_interval2 = Math.abs(max - min);\n max_interval = max_interval != null ? Math.min(max_interval, max_interval2) : max_interval2;\n }\n }\n var weight = 1.0;\n if (min_interval != null || max_interval != null) {\n var old_interval = Math.abs(rng.end - rng.start);\n var new_interval = Math.abs(range_info.end - range_info.start);\n if (min_interval > 0 && new_interval < min_interval) {\n weight = (old_interval - min_interval) / (old_interval - new_interval);\n }\n if (max_interval > 0 && new_interval > max_interval) {\n weight = (max_interval - old_interval) / (new_interval - old_interval);\n }\n weight = Math.max(0.0, Math.min(1.0, weight));\n }\n return weight;\n };\n PlotView.prototype.update_range = function (range_info, is_panning, is_scrolling, maintain_focus) {\n if (is_panning === void 0) {\n is_panning = false;\n }\n if (is_scrolling === void 0) {\n is_scrolling = false;\n }\n if (maintain_focus === void 0) {\n maintain_focus = true;\n }\n this.pause();\n var _a = this.frame, x_ranges = _a.x_ranges, y_ranges = _a.y_ranges;\n if (range_info == null) {\n for (var name_1 in x_ranges) {\n var rng = x_ranges[name_1];\n rng.reset();\n }\n for (var name_2 in y_ranges) {\n var rng = y_ranges[name_2];\n rng.reset();\n }\n this.update_dataranges();\n }\n else {\n var range_info_iter = [];\n for (var name_3 in x_ranges) {\n var rng = x_ranges[name_3];\n range_info_iter.push([rng, range_info.xrs[name_3]]);\n }\n for (var name_4 in y_ranges) {\n var rng = y_ranges[name_4];\n range_info_iter.push([rng, range_info.yrs[name_4]]);\n }\n if (is_scrolling) {\n this._update_ranges_together(range_info_iter); // apply interval bounds while keeping aspect\n }\n this._update_ranges_individually(range_info_iter, is_panning, is_scrolling, maintain_focus);\n }\n this.unpause();\n };\n PlotView.prototype.reset_range = function () {\n this.update_range(null);\n };\n PlotView.prototype._invalidate_layout = function () {\n var _this = this;\n var needs_layout = function () {\n for (var _i = 0, _a = _this.model.side_panels; _i < _a.length; _i++) {\n var panel = _a[_i];\n var view = _this.renderer_views[panel.id];\n if (view.layout.has_size_changed())\n return true;\n }\n return false;\n };\n if (needs_layout())\n this.root.compute_layout();\n };\n PlotView.prototype.build_renderer_views = function () {\n var _a, _b, _c, _d, _e, _f, _g;\n this.computed_renderers = [];\n (_a = this.computed_renderers).push.apply(_a, this.model.above);\n (_b = this.computed_renderers).push.apply(_b, this.model.below);\n (_c = this.computed_renderers).push.apply(_c, this.model.left);\n (_d = this.computed_renderers).push.apply(_d, this.model.right);\n (_e = this.computed_renderers).push.apply(_e, this.model.center);\n (_f = this.computed_renderers).push.apply(_f, this.model.renderers);\n if (this._title != null)\n this.computed_renderers.push(this._title);\n if (this._toolbar != null)\n this.computed_renderers.push(this._toolbar);\n for (var _i = 0, _h = this.model.toolbar.tools; _i < _h.length; _i++) {\n var tool = _h[_i];\n if (tool.overlay != null)\n this.computed_renderers.push(tool.overlay);\n (_g = this.computed_renderers).push.apply(_g, tool.synthetic_renderers);\n }\n build_views_1.build_views(this.renderer_views, this.computed_renderers, { parent: this });\n };\n PlotView.prototype.get_renderer_views = function () {\n var _this = this;\n return this.computed_renderers.map(function (r) { return _this.renderer_views[r.id]; });\n };\n PlotView.prototype.build_tool_views = function () {\n var _this = this;\n var tool_models = this.model.toolbar.tools;\n var new_tool_views = build_views_1.build_views(this.tool_views, tool_models, { parent: this });\n new_tool_views.map(function (tool_view) { return _this.ui_event_bus.register_tool(tool_view); });\n };\n PlotView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.force_paint, function () { return _this.repaint(); });\n var _a = this.frame, x_ranges = _a.x_ranges, y_ranges = _a.y_ranges;\n for (var name_5 in x_ranges) {\n var rng = x_ranges[name_5];\n this.connect(rng.change, function () { _this._needs_layout = true; _this.request_paint(); });\n }\n for (var name_6 in y_ranges) {\n var rng = y_ranges[name_6];\n this.connect(rng.change, function () { _this._needs_layout = true; _this.request_paint(); });\n }\n this.connect(this.model.properties.renderers.change, function () { return _this.build_renderer_views(); });\n this.connect(this.model.toolbar.properties.tools.change, function () { _this.build_renderer_views(); _this.build_tool_views(); });\n this.connect(this.model.change, function () { return _this.request_paint(); });\n this.connect(this.model.reset, function () { return _this.reset(); });\n };\n PlotView.prototype.set_initial_range = function () {\n // check for good values for ranges before setting initial range\n var good_vals = true;\n var _a = this.frame, x_ranges = _a.x_ranges, y_ranges = _a.y_ranges;\n var xrs = {};\n var yrs = {};\n for (var name_7 in x_ranges) {\n var _b = x_ranges[name_7], start = _b.start, end = _b.end;\n if (start == null || end == null || types_1.isStrictNaN(start + end)) {\n good_vals = false;\n break;\n }\n xrs[name_7] = { start: start, end: end };\n }\n if (good_vals) {\n for (var name_8 in y_ranges) {\n var _c = y_ranges[name_8], start = _c.start, end = _c.end;\n if (start == null || end == null || types_1.isStrictNaN(start + end)) {\n good_vals = false;\n break;\n }\n yrs[name_8] = { start: start, end: end };\n }\n }\n if (good_vals) {\n this._initial_state_info.range = { xrs: xrs, yrs: yrs };\n logging_1.logger.debug(\"initial ranges set\");\n }\n else\n logging_1.logger.warn('could not set initial ranges');\n };\n PlotView.prototype.has_finished = function () {\n if (!_super.prototype.has_finished.call(this))\n return false;\n for (var id in this.renderer_views) {\n var view = this.renderer_views[id];\n if (!view.has_finished())\n return false;\n }\n return true;\n };\n PlotView.prototype.after_layout = function () {\n _super.prototype.after_layout.call(this);\n this._needs_layout = false;\n this.model.setv({\n inner_width: Math.round(this.frame._width.value),\n inner_height: Math.round(this.frame._height.value),\n outer_width: Math.round(this.layout._width.value),\n outer_height: Math.round(this.layout._height.value),\n }, { no_change: true });\n if (this.model.match_aspect !== false) {\n this.pause();\n this.update_dataranges();\n this.unpause(true);\n }\n if (!this._outer_bbox.equals(this.layout.bbox)) {\n var _a = this.layout.bbox, width = _a.width, height = _a.height;\n this.canvas_view.prepare_canvas(width, height);\n this._outer_bbox = this.layout.bbox;\n this._needs_paint = true;\n }\n if (!this._inner_bbox.equals(this.frame.inner_bbox)) {\n this._inner_bbox = this.layout.inner_bbox;\n this._needs_paint = true;\n }\n if (this._needs_paint) {\n // XXX: can't be this.request_paint(), because it would trigger back-and-forth\n // layout recomputing feedback loop between plots. Plots are also much more\n // responsive this way, especially in interactive mode.\n this._needs_paint = false;\n this.paint();\n }\n };\n PlotView.prototype.repaint = function () {\n if (this._needs_layout)\n this._invalidate_layout();\n this.paint();\n };\n PlotView.prototype.paint = function () {\n var _this = this;\n if (this.is_paused)\n return;\n logging_1.logger.trace(\"PlotView.paint() for \" + this.model.id);\n var document = this.model.document;\n if (document != null) {\n var interactive_duration = document.interactive_duration();\n if (interactive_duration >= 0 && interactive_duration < this.model.lod_interval) {\n setTimeout(function () {\n if (document.interactive_duration() > _this.model.lod_timeout) {\n document.interactive_stop(_this.model);\n }\n _this.request_paint();\n }, this.model.lod_timeout);\n }\n else\n document.interactive_stop(this.model);\n }\n for (var id in this.renderer_views) {\n var v = this.renderer_views[id];\n if (this.range_update_timestamp == null ||\n (v instanceof glyph_renderer_1.GlyphRendererView && v.set_data_timestamp > this.range_update_timestamp)) {\n this.update_dataranges();\n break;\n }\n }\n var ctx = this.canvas_view.ctx;\n var ratio = this.canvas.pixel_ratio;\n // Set hidpi-transform\n ctx.save(); // Save default state, do *after* getting ratio, cause setting canvas.width resets transforms\n ctx.scale(ratio, ratio);\n ctx.translate(0.5, 0.5);\n var frame_box = [\n this.frame._left.value,\n this.frame._top.value,\n this.frame._width.value,\n this.frame._height.value,\n ];\n this._map_hook(ctx, frame_box);\n this._paint_empty(ctx, frame_box);\n this.prepare_webgl(ratio, frame_box);\n this.clear_webgl();\n if (this.visuals.outline_line.doit) {\n ctx.save();\n this.visuals.outline_line.set_value(ctx);\n var x0 = frame_box[0], y0 = frame_box[1], w = frame_box[2], h = frame_box[3];\n // XXX: shrink outline region by 1px to make right and bottom lines visible\n // if they are on the edge of the canvas.\n if (x0 + w == this.layout._width.value) {\n w -= 1;\n }\n if (y0 + h == this.layout._height.value) {\n h -= 1;\n }\n ctx.strokeRect(x0, y0, w, h);\n ctx.restore();\n }\n this._paint_levels(ctx, ['image', 'underlay', 'glyph'], frame_box, true);\n this._paint_levels(ctx, ['annotation'], frame_box, false);\n this._paint_levels(ctx, ['overlay'], frame_box, false);\n if (this._initial_state_info.range == null)\n this.set_initial_range();\n ctx.restore(); // Restore to default state\n };\n PlotView.prototype._paint_levels = function (ctx, levels, clip_region, global_clip) {\n for (var _i = 0, levels_1 = levels; _i < levels_1.length; _i++) {\n var level = levels_1[_i];\n for (var _a = 0, _b = this.computed_renderers; _a < _b.length; _a++) {\n var renderer = _b[_a];\n if (renderer.level != level)\n continue;\n var renderer_view = this.renderer_views[renderer.id];\n ctx.save();\n if (global_clip || renderer_view.needs_clip) {\n ctx.beginPath();\n ctx.rect.apply(ctx, clip_region);\n ctx.clip();\n }\n renderer_view.render();\n ctx.restore();\n if (renderer_view.has_webgl) {\n this.blit_webgl();\n this.clear_webgl();\n }\n }\n }\n };\n PlotView.prototype._map_hook = function (_ctx, _frame_box) { };\n PlotView.prototype._paint_empty = function (ctx, frame_box) {\n var _a = [0, 0, this.layout._width.value, this.layout._height.value], cx = _a[0], cy = _a[1], cw = _a[2], ch = _a[3];\n var fx = frame_box[0], fy = frame_box[1], fw = frame_box[2], fh = frame_box[3];\n ctx.clearRect(cx, cy, cw, ch);\n if (this.visuals.border_fill.doit) {\n this.visuals.border_fill.set_value(ctx);\n ctx.fillRect(cx, cy, cw, ch);\n ctx.clearRect(fx, fy, fw, fh);\n }\n if (this.visuals.background_fill.doit) {\n this.visuals.background_fill.set_value(ctx);\n ctx.fillRect(fx, fy, fw, fh);\n }\n };\n PlotView.prototype.save = function (name) {\n switch (this.model.output_backend) {\n case \"canvas\":\n case \"webgl\": {\n var canvas = this.canvas_view.get_canvas_element();\n if (canvas.msToBlob != null) {\n var blob = canvas.msToBlob();\n window.navigator.msSaveBlob(blob, name);\n }\n else {\n var link = document.createElement('a');\n link.href = canvas.toDataURL('image/png');\n link.download = name + \".png\";\n link.target = \"_blank\";\n link.dispatchEvent(new MouseEvent('click'));\n }\n break;\n }\n case \"svg\": {\n var ctx = this.canvas_view._ctx;\n var svg = ctx.getSerializedSvg(true);\n var svgblob = new Blob([svg], { type: 'text/plain' });\n var downloadLink = document.createElement(\"a\");\n downloadLink.download = name + \".svg\";\n downloadLink.innerHTML = \"Download svg\";\n downloadLink.href = window.URL.createObjectURL(svgblob);\n downloadLink.onclick = function (event) { return document.body.removeChild(event.target); };\n downloadLink.style.display = \"none\";\n document.body.appendChild(downloadLink);\n downloadLink.click();\n break;\n }\n }\n };\n PlotView.prototype.serializable_state = function () {\n var _a = _super.prototype.serializable_state.call(this), children = _a.children, state = tslib_1.__rest(_a, [\"children\"]);\n var renderers = this.get_renderer_views()\n .map(function (view) { return view.serializable_state(); })\n .filter(function (item) { return \"bbox\" in item; });\n return tslib_1.__assign({}, state, { children: children.concat(renderers) }); // XXX\n };\n return PlotView;\n }(layout_dom_1.LayoutDOMView));\n exports.PlotView = PlotView;\n}\n","/* models/ranges/data_range */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var range_1 = require(194) /* ./range */;\n var p = require(18) /* ../../core/properties */;\n var DataRange = /** @class */ (function (_super) {\n tslib_1.__extends(DataRange, _super);\n function DataRange(attrs) {\n return _super.call(this, attrs) || this;\n }\n DataRange.initClass = function () {\n this.prototype.type = \"DataRange\";\n this.define({\n names: [p.Array, []],\n renderers: [p.Array, []],\n });\n };\n return DataRange;\n }(range_1.Range));\n exports.DataRange = DataRange;\n DataRange.initClass();\n}\n","/* models/ranges/data_range1d */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var data_range_1 = require(190) /* ./data_range */;\n var glyph_renderer_1 = require(197) /* ../renderers/glyph_renderer */;\n var logging_1 = require(17) /* ../../core/logging */;\n var p = require(18) /* ../../core/properties */;\n var bbox = require(27) /* ../../core/util/bbox */;\n var array_1 = require(24) /* ../../core/util/array */;\n var DataRange1d = /** @class */ (function (_super) {\n tslib_1.__extends(DataRange1d, _super);\n function DataRange1d(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this._plot_bounds = {};\n _this.have_updated_interactively = false;\n return _this;\n }\n DataRange1d.initClass = function () {\n this.prototype.type = \"DataRange1d\";\n this.define({\n start: [p.Number],\n end: [p.Number],\n range_padding: [p.Number, 0.1],\n range_padding_units: [p.PaddingUnits, \"percent\"],\n flipped: [p.Boolean, false],\n follow: [p.StartEnd,],\n follow_interval: [p.Number],\n default_span: [p.Number, 2],\n });\n this.internal({\n scale_hint: [p.String, 'auto'],\n });\n };\n DataRange1d.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._initial_start = this.start;\n this._initial_end = this.end;\n this._initial_range_padding = this.range_padding;\n this._initial_range_padding_units = this.range_padding_units;\n this._initial_follow = this.follow;\n this._initial_follow_interval = this.follow_interval;\n this._initial_default_span = this.default_span;\n };\n Object.defineProperty(DataRange1d.prototype, \"min\", {\n get: function () {\n return Math.min(this.start, this.end);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(DataRange1d.prototype, \"max\", {\n get: function () {\n return Math.max(this.start, this.end);\n },\n enumerable: true,\n configurable: true\n });\n DataRange1d.prototype.computed_renderers = function () {\n // TODO (bev) check that renderers actually configured with this range\n var names = this.names;\n var renderers = this.renderers;\n if (renderers.length == 0) {\n for (var _i = 0, _a = this.plots; _i < _a.length; _i++) {\n var plot = _a[_i];\n var rs = plot.renderers.filter(function (r) { return r instanceof glyph_renderer_1.GlyphRenderer; });\n renderers = renderers.concat(rs);\n }\n }\n if (names.length > 0)\n renderers = renderers.filter(function (r) { return array_1.includes(names, r.name); });\n logging_1.logger.debug(\"computed \" + renderers.length + \" renderers for DataRange1d \" + this.id);\n for (var _b = 0, renderers_1 = renderers; _b < renderers_1.length; _b++) {\n var r = renderers_1[_b];\n logging_1.logger.trace(\" - \" + r.type + \" \" + r.id);\n }\n return renderers;\n };\n /*protected*/ DataRange1d.prototype._compute_plot_bounds = function (renderers, bounds) {\n var result = bbox.empty();\n for (var _i = 0, renderers_2 = renderers; _i < renderers_2.length; _i++) {\n var r = renderers_2[_i];\n if (bounds[r.id] != null)\n result = bbox.union(result, bounds[r.id]);\n }\n return result;\n };\n DataRange1d.prototype.adjust_bounds_for_aspect = function (bounds, ratio) {\n var result = bbox.empty();\n var width = bounds.maxX - bounds.minX;\n if (width <= 0) {\n width = 1.0;\n }\n var height = bounds.maxY - bounds.minY;\n if (height <= 0) {\n height = 1.0;\n }\n var xcenter = 0.5 * (bounds.maxX + bounds.minX);\n var ycenter = 0.5 * (bounds.maxY + bounds.minY);\n if (width < ratio * height) {\n width = ratio * height;\n }\n else {\n height = width / ratio;\n }\n result.maxX = xcenter + 0.5 * width;\n result.minX = xcenter - 0.5 * width;\n result.maxY = ycenter + 0.5 * height;\n result.minY = ycenter - 0.5 * height;\n return result;\n };\n /*protected*/ DataRange1d.prototype._compute_min_max = function (plot_bounds, dimension) {\n var _a, _b;\n var overall = bbox.empty();\n for (var k in plot_bounds) {\n var v = plot_bounds[k];\n overall = bbox.union(overall, v);\n }\n var min, max;\n if (dimension == 0)\n _a = [overall.minX, overall.maxX], min = _a[0], max = _a[1];\n else\n _b = [overall.minY, overall.maxY], min = _b[0], max = _b[1];\n return [min, max];\n };\n /*protected*/ DataRange1d.prototype._compute_range = function (min, max) {\n var _a;\n var range_padding = this.range_padding; // XXX: ? 0\n var start, end;\n if (this.scale_hint == \"log\") {\n if (isNaN(min) || !isFinite(min) || min <= 0) {\n if (isNaN(max) || !isFinite(max) || max <= 0)\n min = 0.1;\n else\n min = max / 100;\n logging_1.logger.warn(\"could not determine minimum data value for log axis, DataRange1d using value \" + min);\n }\n if (isNaN(max) || !isFinite(max) || max <= 0) {\n if (isNaN(min) || !isFinite(min) || min <= 0)\n max = 10;\n else\n max = min * 100;\n logging_1.logger.warn(\"could not determine maximum data value for log axis, DataRange1d using value \" + max);\n }\n var center = void 0, span = void 0;\n if (max == min) {\n span = this.default_span + 0.001;\n center = Math.log(min) / Math.log(10);\n }\n else {\n var log_min = void 0, log_max = void 0;\n if (this.range_padding_units == \"percent\") {\n log_min = Math.log(min) / Math.log(10);\n log_max = Math.log(max) / Math.log(10);\n span = (log_max - log_min) * (1 + range_padding);\n }\n else {\n log_min = Math.log(min - range_padding) / Math.log(10);\n log_max = Math.log(max + range_padding) / Math.log(10);\n span = log_max - log_min;\n }\n center = (log_min + log_max) / 2.0;\n }\n start = Math.pow(10, center - span / 2.0);\n end = Math.pow(10, center + span / 2.0);\n }\n else {\n var span = void 0;\n if (max == min)\n span = this.default_span;\n else {\n if (this.range_padding_units == \"percent\")\n span = (max - min) * (1 + range_padding);\n else\n span = (max - min) + 2 * range_padding;\n }\n var center = (max + min) / 2.0;\n start = center - span / 2.0;\n end = center + span / 2.0;\n }\n var follow_sign = +1;\n if (this.flipped) {\n _a = [end, start], start = _a[0], end = _a[1];\n follow_sign = -1;\n }\n var follow_interval = this.follow_interval;\n if (follow_interval != null && Math.abs(start - end) > follow_interval) {\n if (this.follow == 'start')\n end = start + follow_sign * follow_interval;\n else if (this.follow == 'end')\n start = end - follow_sign * follow_interval;\n }\n return [start, end];\n };\n DataRange1d.prototype.update = function (bounds, dimension, bounds_id, ratio) {\n if (this.have_updated_interactively)\n return;\n var renderers = this.computed_renderers();\n // update the raw data bounds for all renderers we care about\n var total_bounds = this._compute_plot_bounds(renderers, bounds);\n if (ratio != null)\n total_bounds = this.adjust_bounds_for_aspect(total_bounds, ratio);\n this._plot_bounds[bounds_id] = total_bounds;\n // compute the min/mix for our specified dimension\n var _a = this._compute_min_max(this._plot_bounds, dimension), min = _a[0], max = _a[1];\n // derive start, end from bounds and data range config\n var _b = this._compute_range(min, max), start = _b[0], end = _b[1];\n if (this._initial_start != null) {\n if (this.scale_hint == \"log\") {\n if (this._initial_start > 0)\n start = this._initial_start;\n }\n else\n start = this._initial_start;\n }\n if (this._initial_end != null) {\n if (this.scale_hint == \"log\") {\n if (this._initial_end > 0)\n end = this._initial_end;\n }\n else\n end = this._initial_end;\n }\n // only trigger updates when there are changes\n var _c = [this.start, this.end], _start = _c[0], _end = _c[1];\n if (start != _start || end != _end) {\n var new_range = {};\n if (start != _start)\n new_range.start = start;\n if (end != _end)\n new_range.end = end;\n this.setv(new_range);\n }\n if (this.bounds == 'auto')\n this.setv({ bounds: [start, end] }, { silent: true });\n this.change.emit();\n };\n DataRange1d.prototype.reset = function () {\n this.have_updated_interactively = false;\n // change events silenced as PlotView.update_dataranges triggers property callbacks\n this.setv({\n range_padding: this._initial_range_padding,\n range_padding_units: this._initial_range_padding_units,\n follow: this._initial_follow,\n follow_interval: this._initial_follow_interval,\n default_span: this._initial_default_span,\n }, { silent: true });\n this.change.emit();\n };\n return DataRange1d;\n }(data_range_1.DataRange));\n exports.DataRange1d = DataRange1d;\n DataRange1d.initClass();\n}\n","/* models/ranges/factor_range */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var range_1 = require(194) /* ./range */;\n var p = require(18) /* ../../core/properties */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var array_1 = require(24) /* ../../core/util/array */;\n var types_1 = require(46) /* ../../core/util/types */;\n function map_one_level(factors, padding, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n var mapping = {};\n for (var i = 0; i < factors.length; i++) {\n var factor = factors[i];\n if (factor in mapping)\n throw new Error(\"duplicate factor or subfactor: \" + factor);\n else\n mapping[factor] = { value: 0.5 + i * (1 + padding) + offset };\n }\n return [mapping, (factors.length - 1) * padding];\n }\n exports.map_one_level = map_one_level;\n function map_two_levels(factors, outer_pad, factor_pad, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n var mapping = {};\n var tops = {};\n var tops_order = [];\n for (var _i = 0, factors_1 = factors; _i < factors_1.length; _i++) {\n var _a = factors_1[_i], f0 = _a[0], f1 = _a[1];\n if (!(f0 in tops)) {\n tops[f0] = [];\n tops_order.push(f0);\n }\n tops[f0].push(f1);\n }\n var suboffset = offset;\n var total_subpad = 0;\n var _loop_1 = function (f0) {\n var n = tops[f0].length;\n var _a = map_one_level(tops[f0], factor_pad, suboffset), submap = _a[0], subpad = _a[1];\n total_subpad += subpad;\n var subtot = array_1.sum(tops[f0].map(function (f1) { return submap[f1].value; }));\n mapping[f0] = { value: subtot / n, mapping: submap };\n suboffset += n + outer_pad + subpad;\n };\n for (var _b = 0, tops_order_1 = tops_order; _b < tops_order_1.length; _b++) {\n var f0 = tops_order_1[_b];\n _loop_1(f0);\n }\n return [mapping, tops_order, (tops_order.length - 1) * outer_pad + total_subpad];\n }\n exports.map_two_levels = map_two_levels;\n function map_three_levels(factors, outer_pad, inner_pad, factor_pad, offset) {\n if (offset === void 0) {\n offset = 0;\n }\n var mapping = {};\n var tops = {};\n var tops_order = [];\n for (var _i = 0, factors_2 = factors; _i < factors_2.length; _i++) {\n var _a = factors_2[_i], f0 = _a[0], f1 = _a[1], f2 = _a[2];\n if (!(f0 in tops)) {\n tops[f0] = [];\n tops_order.push(f0);\n }\n tops[f0].push([f1, f2]);\n }\n var mids_order = [];\n var suboffset = offset;\n var total_subpad = 0;\n var _loop_2 = function (f0) {\n var n = tops[f0].length;\n var _a = map_two_levels(tops[f0], inner_pad, factor_pad, suboffset), submap = _a[0], submids_order = _a[1], subpad = _a[2];\n for (var _i = 0, submids_order_1 = submids_order; _i < submids_order_1.length; _i++) {\n var f1 = submids_order_1[_i];\n mids_order.push([f0, f1]);\n }\n total_subpad += subpad;\n var subtot = array_1.sum(tops[f0].map(function (_a) {\n var f1 = _a[0];\n return submap[f1].value;\n }));\n mapping[f0] = { value: subtot / n, mapping: submap };\n suboffset += n + outer_pad + subpad;\n };\n for (var _b = 0, tops_order_2 = tops_order; _b < tops_order_2.length; _b++) {\n var f0 = tops_order_2[_b];\n _loop_2(f0);\n }\n return [mapping, tops_order, mids_order, (tops_order.length - 1) * outer_pad + total_subpad];\n }\n exports.map_three_levels = map_three_levels;\n var FactorRange = /** @class */ (function (_super) {\n tslib_1.__extends(FactorRange, _super);\n function FactorRange(attrs) {\n return _super.call(this, attrs) || this;\n }\n FactorRange.initClass = function () {\n this.prototype.type = \"FactorRange\";\n this.define({\n factors: [p.Array, []],\n factor_padding: [p.Number, 0],\n subgroup_padding: [p.Number, 0.8],\n group_padding: [p.Number, 1.4],\n range_padding: [p.Number, 0],\n range_padding_units: [p.PaddingUnits, \"percent\"],\n start: [p.Number],\n end: [p.Number],\n });\n this.internal({\n levels: [p.Number],\n mids: [p.Array],\n tops: [p.Array],\n tops_groups: [p.Array],\n });\n };\n Object.defineProperty(FactorRange.prototype, \"min\", {\n get: function () {\n return this.start;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(FactorRange.prototype, \"max\", {\n get: function () {\n return this.end;\n },\n enumerable: true,\n configurable: true\n });\n FactorRange.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._init(true);\n };\n FactorRange.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.properties.factors.change, function () { return _this.reset(); });\n this.connect(this.properties.factor_padding.change, function () { return _this.reset(); });\n this.connect(this.properties.group_padding.change, function () { return _this.reset(); });\n this.connect(this.properties.subgroup_padding.change, function () { return _this.reset(); });\n this.connect(this.properties.range_padding.change, function () { return _this.reset(); });\n this.connect(this.properties.range_padding_units.change, function () { return _this.reset(); });\n };\n FactorRange.prototype.reset = function () {\n this._init(false);\n this.change.emit();\n };\n FactorRange.prototype._lookup = function (x) {\n if (x.length == 1) {\n var m = this._mapping;\n if (!m.hasOwnProperty(x[0])) {\n return NaN;\n }\n return m[x[0]].value;\n }\n else if (x.length == 2) {\n var m = this._mapping;\n if (!m.hasOwnProperty(x[0]) || !m[x[0]].mapping.hasOwnProperty(x[1])) {\n return NaN;\n }\n return m[x[0]].mapping[x[1]].value;\n }\n else if (x.length == 3) {\n var m = this._mapping;\n if (!m.hasOwnProperty(x[0]) || !m[x[0]].mapping.hasOwnProperty(x[1]) || !m[x[0]].mapping[x[1]].mapping.hasOwnProperty(x[2])) {\n return NaN;\n }\n return m[x[0]].mapping[x[1]].mapping[x[2]].value;\n }\n else\n throw new Error(\"unreachable code\");\n };\n // convert a string factor into a synthetic coordinate\n FactorRange.prototype.synthetic = function (x) {\n if (types_1.isNumber(x))\n return x;\n if (types_1.isString(x))\n return this._lookup([x]);\n var offset = 0;\n var off = x[x.length - 1];\n if (types_1.isNumber(off)) {\n offset = off;\n x = x.slice(0, -1);\n }\n return this._lookup(x) + offset;\n };\n // convert an array of string factors into synthetic coordinates\n FactorRange.prototype.v_synthetic = function (xs) {\n var _this = this;\n return arrayable_1.map(xs, function (x) { return _this.synthetic(x); });\n };\n FactorRange.prototype._init = function (silent) {\n var _a, _b, _c;\n var levels;\n var inside_padding;\n if (array_1.every(this.factors, types_1.isString)) {\n levels = 1;\n _a = map_one_level(this.factors, this.factor_padding), this._mapping = _a[0], inside_padding = _a[1];\n }\n else if (array_1.every(this.factors, function (x) { return types_1.isArray(x) && x.length == 2 && types_1.isString(x[0]) && types_1.isString(x[1]); })) {\n levels = 2;\n _b = map_two_levels(this.factors, this.group_padding, this.factor_padding), this._mapping = _b[0], this.tops = _b[1], inside_padding = _b[2];\n }\n else if (array_1.every(this.factors, function (x) { return types_1.isArray(x) && x.length == 3 && types_1.isString(x[0]) && types_1.isString(x[1]) && types_1.isString(x[2]); })) {\n levels = 3;\n _c = map_three_levels(this.factors, this.group_padding, this.subgroup_padding, this.factor_padding), this._mapping = _c[0], this.tops = _c[1], this.mids = _c[2], inside_padding = _c[3];\n }\n else\n throw new Error(\"???\");\n var start = 0;\n var end = this.factors.length + inside_padding;\n if (this.range_padding_units == \"percent\") {\n var half_span = (end - start) * this.range_padding / 2;\n start -= half_span;\n end += half_span;\n }\n else {\n start -= this.range_padding;\n end += this.range_padding;\n }\n this.setv({ start: start, end: end, levels: levels }, { silent: silent });\n if (this.bounds == \"auto\")\n this.setv({ bounds: [start, end] }, { silent: true });\n };\n return FactorRange;\n }(range_1.Range));\n exports.FactorRange = FactorRange;\n FactorRange.initClass();\n}\n","/* models/ranges/index */ function _(require, module, exports) {\n var data_range_1 = require(190) /* ./data_range */;\n exports.DataRange = data_range_1.DataRange;\n var data_range1d_1 = require(191) /* ./data_range1d */;\n exports.DataRange1d = data_range1d_1.DataRange1d;\n var factor_range_1 = require(192) /* ./factor_range */;\n exports.FactorRange = factor_range_1.FactorRange;\n var range_1 = require(194) /* ./range */;\n exports.Range = range_1.Range;\n var range1d_1 = require(195) /* ./range1d */;\n exports.Range1d = range1d_1.Range1d;\n}\n","/* models/ranges/range */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var p = require(18) /* ../../core/properties */;\n var types_1 = require(46) /* ../../core/util/types */;\n var Range = /** @class */ (function (_super) {\n tslib_1.__extends(Range, _super);\n function Range(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.have_updated_interactively = false;\n return _this;\n }\n Range.initClass = function () {\n this.prototype.type = \"Range\";\n this.define({\n callback: [p.Any],\n bounds: [p.Any],\n min_interval: [p.Any],\n max_interval: [p.Any],\n });\n this.internal({\n plots: [p.Array, []],\n });\n };\n Range.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.change, function () { return _this._emit_callback(); });\n };\n Range.prototype._emit_callback = function () {\n if (this.callback != null) {\n if (types_1.isFunction(this.callback))\n this.callback(this);\n else\n this.callback.execute(this, {});\n }\n };\n Object.defineProperty(Range.prototype, \"is_reversed\", {\n get: function () {\n return this.start > this.end;\n },\n enumerable: true,\n configurable: true\n });\n return Range;\n }(model_1.Model));\n exports.Range = Range;\n Range.initClass();\n}\n","/* models/ranges/range1d */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var range_1 = require(194) /* ./range */;\n var p = require(18) /* ../../core/properties */;\n var Range1d = /** @class */ (function (_super) {\n tslib_1.__extends(Range1d, _super);\n function Range1d(attrs) {\n return _super.call(this, attrs) || this;\n }\n Range1d.initClass = function () {\n this.prototype.type = \"Range1d\";\n this.define({\n start: [p.Number, 0],\n end: [p.Number, 1],\n reset_start: [p.Number],\n reset_end: [p.Number],\n });\n };\n Range1d.prototype._set_auto_bounds = function () {\n if (this.bounds == 'auto') {\n var min = Math.min(this.reset_start, this.reset_end);\n var max = Math.max(this.reset_start, this.reset_end);\n this.setv({ bounds: [min, max] }, { silent: true });\n }\n };\n Range1d.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n if (this.reset_start == null) {\n this.reset_start = this.start;\n }\n if (this.reset_end == null) {\n this.reset_end = this.end;\n }\n this._set_auto_bounds();\n };\n Object.defineProperty(Range1d.prototype, \"min\", {\n get: function () {\n return Math.min(this.start, this.end);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(Range1d.prototype, \"max\", {\n get: function () {\n return Math.max(this.start, this.end);\n },\n enumerable: true,\n configurable: true\n });\n Range1d.prototype.reset = function () {\n this._set_auto_bounds();\n if (this.start != this.reset_start || this.end != this.reset_end)\n this.setv({ start: this.reset_start, end: this.reset_end });\n else\n this.change.emit();\n };\n return Range1d;\n }(range_1.Range));\n exports.Range1d = Range1d;\n Range1d.initClass();\n}\n","/* models/renderers/data_renderer */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var renderer_1 = require(201) /* ./renderer */;\n var p = require(18) /* ../../core/properties */;\n var DataRendererView = /** @class */ (function (_super) {\n tslib_1.__extends(DataRendererView, _super);\n function DataRendererView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return DataRendererView;\n }(renderer_1.RendererView));\n exports.DataRendererView = DataRendererView;\n var DataRenderer = /** @class */ (function (_super) {\n tslib_1.__extends(DataRenderer, _super);\n function DataRenderer(attrs) {\n return _super.call(this, attrs) || this;\n }\n DataRenderer.initClass = function () {\n this.prototype.type = \"DataRenderer\";\n this.define({\n x_range_name: [p.String, 'default'],\n y_range_name: [p.String, 'default'],\n });\n this.override({\n level: 'glyph',\n });\n };\n return DataRenderer;\n }(renderer_1.Renderer));\n exports.DataRenderer = DataRenderer;\n DataRenderer.initClass();\n}\n","/* models/renderers/glyph_renderer */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var data_renderer_1 = require(196) /* ./data_renderer */;\n var line_1 = require(136) /* ../glyphs/line */;\n var cds_view_1 = require(211) /* ../sources/cds_view */;\n var logging_1 = require(17) /* ../../core/logging */;\n var p = require(18) /* ../../core/properties */;\n var arrayable_1 = require(25) /* ../../core/util/arrayable */;\n var array_1 = require(24) /* ../../core/util/array */;\n var object_1 = require(35) /* ../../core/util/object */;\n var factor_range_1 = require(192) /* ../ranges/factor_range */;\n var selection_defaults = {\n fill: {},\n line: {},\n };\n var decimated_defaults = {\n fill: { fill_alpha: 0.3, fill_color: \"grey\" },\n line: { line_alpha: 0.3, line_color: \"grey\" },\n };\n var nonselection_defaults = {\n fill: { fill_alpha: 0.2 },\n line: {},\n };\n var GlyphRendererView = /** @class */ (function (_super) {\n tslib_1.__extends(GlyphRendererView, _super);\n function GlyphRendererView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GlyphRendererView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n var base_glyph = this.model.glyph;\n var has_fill = array_1.includes(base_glyph.mixins, \"fill\");\n var has_line = array_1.includes(base_glyph.mixins, \"line\");\n var glyph_attrs = object_1.clone(base_glyph.attributes);\n delete glyph_attrs.id;\n function mk_glyph(defaults) {\n var attrs = object_1.clone(glyph_attrs);\n if (has_fill)\n object_1.extend(attrs, defaults.fill);\n if (has_line)\n object_1.extend(attrs, defaults.line);\n return new base_glyph.constructor(attrs);\n }\n this.glyph = this.build_glyph_view(base_glyph);\n var selection_glyph = this.model.selection_glyph;\n if (selection_glyph == null)\n selection_glyph = mk_glyph({ fill: {}, line: {} });\n else if (selection_glyph === \"auto\")\n selection_glyph = mk_glyph(selection_defaults);\n this.selection_glyph = this.build_glyph_view(selection_glyph);\n var nonselection_glyph = this.model.nonselection_glyph;\n if ((nonselection_glyph == null))\n nonselection_glyph = mk_glyph({ fill: {}, line: {} });\n else if (nonselection_glyph === \"auto\")\n nonselection_glyph = mk_glyph(nonselection_defaults);\n this.nonselection_glyph = this.build_glyph_view(nonselection_glyph);\n var hover_glyph = this.model.hover_glyph;\n if (hover_glyph != null)\n this.hover_glyph = this.build_glyph_view(hover_glyph);\n var muted_glyph = this.model.muted_glyph;\n if (muted_glyph != null)\n this.muted_glyph = this.build_glyph_view(muted_glyph);\n var decimated_glyph = mk_glyph(decimated_defaults);\n this.decimated_glyph = this.build_glyph_view(decimated_glyph);\n this.xscale = this.plot_view.frame.xscales[this.model.x_range_name];\n this.yscale = this.plot_view.frame.yscales[this.model.y_range_name];\n this.set_data(false);\n };\n GlyphRendererView.prototype.build_glyph_view = function (model) {\n return new model.default_view({ model: model, parent: this }); // XXX\n };\n GlyphRendererView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.change, function () { return _this.request_render(); });\n this.connect(this.model.glyph.change, function () { return _this.set_data(); });\n this.connect(this.model.data_source.change, function () { return _this.set_data(); });\n this.connect(this.model.data_source.streaming, function () { return _this.set_data(); });\n this.connect(this.model.data_source.patching, function (indices /* XXX: WHY? */) { return _this.set_data(true, indices); });\n this.connect(this.model.data_source.selected.change, function () { return _this.request_render(); });\n this.connect(this.model.data_source._select, function () { return _this.request_render(); });\n if (this.hover_glyph != null)\n this.connect(this.model.data_source.inspect, function () { return _this.request_render(); });\n this.connect(this.model.properties.view.change, function () { return _this.set_data(); });\n this.connect(this.model.view.change, function () { return _this.set_data(); });\n var _a = this.plot_view.frame, x_ranges = _a.x_ranges, y_ranges = _a.y_ranges;\n for (var name_1 in x_ranges) {\n var rng = x_ranges[name_1];\n if (rng instanceof factor_range_1.FactorRange)\n this.connect(rng.change, function () { return _this.set_data(); });\n }\n for (var name_2 in y_ranges) {\n var rng = y_ranges[name_2];\n if (rng instanceof factor_range_1.FactorRange)\n this.connect(rng.change, function () { return _this.set_data(); });\n }\n this.connect(this.model.glyph.transformchange, function () { return _this.set_data(); });\n };\n GlyphRendererView.prototype.have_selection_glyphs = function () {\n return this.selection_glyph != null && this.nonselection_glyph != null;\n };\n // in case of partial updates like patching, the list of indices that actually\n // changed may be passed as the \"indices\" parameter to afford any optional optimizations\n GlyphRendererView.prototype.set_data = function (request_render, indices) {\n if (request_render === void 0) {\n request_render = true;\n }\n if (indices === void 0) {\n indices = null;\n }\n var t0 = Date.now();\n var source = this.model.data_source;\n this.all_indices = this.model.view.indices;\n // TODO (bev) this is a bit clunky, need to make sure glyphs use the correct ranges when they call\n // mapping functions on the base Renderer class\n this.glyph.model.setv({ x_range_name: this.model.x_range_name,\n y_range_name: this.model.y_range_name }, { silent: true });\n this.glyph.set_data(source, this.all_indices, indices);\n this.glyph.set_visuals(source);\n this.decimated_glyph.set_visuals(source);\n if (this.have_selection_glyphs()) {\n this.selection_glyph.set_visuals(source);\n this.nonselection_glyph.set_visuals(source);\n }\n if (this.hover_glyph != null)\n this.hover_glyph.set_visuals(source);\n if (this.muted_glyph != null)\n this.muted_glyph.set_visuals(source);\n var lod_factor = this.plot_model.lod_factor;\n this.decimated = [];\n for (var i = 0, end = Math.floor(this.all_indices.length / lod_factor); i < end; i++) {\n this.decimated.push(i * lod_factor);\n }\n var dt = Date.now() - t0;\n logging_1.logger.debug(this.glyph.model.type + \" GlyphRenderer (\" + this.model.id + \"): set_data finished in \" + dt + \"ms\");\n this.set_data_timestamp = Date.now();\n if (request_render)\n this.request_render();\n };\n Object.defineProperty(GlyphRendererView.prototype, \"has_webgl\", {\n get: function () {\n return this.glyph.glglyph != null;\n },\n enumerable: true,\n configurable: true\n });\n GlyphRendererView.prototype.render = function () {\n var _this = this;\n if (!this.model.visible)\n return;\n var t0 = Date.now();\n var glsupport = this.has_webgl;\n this.glyph.map_data();\n var dtmap = Date.now() - t0;\n var tmask = Date.now();\n // all_indices is in full data space, indices is converted to subset space\n // either by mask_data (that uses the spatial index) or manually\n var indices = this.glyph.mask_data(this.all_indices);\n if (indices.length === this.all_indices.length) {\n indices = array_1.range(0, this.all_indices.length);\n }\n var dtmask = Date.now() - tmask;\n var ctx = this.plot_view.canvas_view.ctx;\n ctx.save();\n // selected is in full set space\n var selected = this.model.data_source.selected;\n var selected_full_indices;\n if (!selected || selected.is_empty()) {\n selected_full_indices = [];\n }\n else {\n if (this.glyph instanceof line_1.LineView && selected.selected_glyph === this.glyph.model) {\n selected_full_indices = this.model.view.convert_indices_from_subset(indices);\n }\n else {\n selected_full_indices = selected.indices;\n }\n }\n // inspected is in full set space\n var inspected = this.model.data_source.inspected;\n var inspected_full_indices;\n if (!inspected || (inspected.length === 0)) {\n inspected_full_indices = [];\n }\n else {\n if (inspected['0d'].glyph) {\n inspected_full_indices = this.model.view.convert_indices_from_subset(indices);\n }\n else if (inspected['1d'].indices.length > 0) {\n inspected_full_indices = inspected['1d'].indices;\n }\n else {\n inspected_full_indices = ((function () {\n var result = [];\n for (var _i = 0, _a = Object.keys(inspected[\"2d\"].indices); _i < _a.length; _i++) {\n var i = _a[_i];\n result.push(parseInt(i));\n }\n return result;\n })());\n }\n }\n // inspected is transformed to subset space\n var inspected_subset_indices = ((function () {\n var result = [];\n for (var _i = 0, indices_2 = indices; _i < indices_2.length; _i++) {\n var i = indices_2[_i];\n if (array_1.includes(inspected_full_indices, _this.all_indices[i]))\n result.push(i);\n }\n return result;\n })());\n var lod_threshold = this.plot_model.lod_threshold;\n var glyph;\n var nonselection_glyph;\n var selection_glyph;\n if ((this.model.document != null ? this.model.document.interactive_duration() > 0 : false)\n && !glsupport && lod_threshold != null && this.all_indices.length > lod_threshold) {\n // Render decimated during interaction if too many elements and not using GL\n indices = this.decimated;\n glyph = this.decimated_glyph;\n nonselection_glyph = this.decimated_glyph;\n selection_glyph = this.selection_glyph;\n }\n else {\n glyph = this.model.muted && this.muted_glyph != null ? this.muted_glyph : this.glyph;\n nonselection_glyph = this.nonselection_glyph;\n selection_glyph = this.selection_glyph;\n }\n if (this.hover_glyph != null && inspected_subset_indices.length)\n indices = array_1.difference(indices, inspected_subset_indices);\n // Render with no selection\n var dtselect = null;\n var trender;\n if (!(selected_full_indices.length && this.have_selection_glyphs())) {\n trender = Date.now();\n if (this.glyph instanceof line_1.LineView) {\n if (this.hover_glyph && inspected_subset_indices.length)\n this.hover_glyph.render(ctx, this.model.view.convert_indices_from_subset(inspected_subset_indices), this.glyph);\n else\n glyph.render(ctx, this.all_indices, this.glyph);\n }\n else {\n glyph.render(ctx, indices, this.glyph);\n if (this.hover_glyph && inspected_subset_indices.length)\n this.hover_glyph.render(ctx, inspected_subset_indices, this.glyph);\n }\n // Render with selection\n }\n else {\n // reset the selection mask\n var tselect = Date.now();\n var selected_mask = {};\n for (var _i = 0, selected_full_indices_1 = selected_full_indices; _i < selected_full_indices_1.length; _i++) {\n var i = selected_full_indices_1[_i];\n selected_mask[i] = true;\n }\n // intersect/different selection with render mask\n var selected_subset_indices = new Array();\n var nonselected_subset_indices = new Array();\n // now, selected is changed to subset space, except for Line glyph\n if (this.glyph instanceof line_1.LineView) {\n for (var _a = 0, _b = this.all_indices; _a < _b.length; _a++) {\n var i = _b[_a];\n if (selected_mask[i] != null)\n selected_subset_indices.push(i);\n else\n nonselected_subset_indices.push(i);\n }\n }\n else {\n for (var _c = 0, indices_1 = indices; _c < indices_1.length; _c++) {\n var i = indices_1[_c];\n if (selected_mask[this.all_indices[i]] != null)\n selected_subset_indices.push(i);\n else\n nonselected_subset_indices.push(i);\n }\n }\n dtselect = Date.now() - tselect;\n trender = Date.now();\n nonselection_glyph.render(ctx, nonselected_subset_indices, this.glyph);\n selection_glyph.render(ctx, selected_subset_indices, this.glyph);\n if (this.hover_glyph != null) {\n if (this.glyph instanceof line_1.LineView)\n this.hover_glyph.render(ctx, this.model.view.convert_indices_from_subset(inspected_subset_indices), this.glyph);\n else\n this.hover_glyph.render(ctx, inspected_subset_indices, this.glyph);\n }\n }\n var dtrender = Date.now() - trender;\n this.last_dtrender = dtrender;\n var dttot = Date.now() - t0;\n logging_1.logger.debug(this.glyph.model.type + \" GlyphRenderer (\" + this.model.id + \"): render finished in \" + dttot + \"ms\");\n logging_1.logger.trace(\" - map_data finished in : \" + dtmap + \"ms\");\n logging_1.logger.trace(\" - mask_data finished in : \" + dtmask + \"ms\");\n if (dtselect != null) {\n logging_1.logger.trace(\" - selection mask finished in : \" + dtselect + \"ms\");\n }\n logging_1.logger.trace(\" - glyph renders finished in : \" + dtrender + \"ms\");\n ctx.restore();\n };\n GlyphRendererView.prototype.draw_legend = function (ctx, x0, x1, y0, y1, field, label, index) {\n if (index == null)\n index = this.model.get_reference_point(field, label);\n this.glyph.draw_legend_for_index(ctx, { x0: x0, x1: x1, y0: y0, y1: y1 }, index);\n };\n GlyphRendererView.prototype.hit_test = function (geometry) {\n if (!this.model.visible)\n return null;\n var hit_test_result = this.glyph.hit_test(geometry);\n // glyphs that don't have hit-testing implemented will return null\n if (hit_test_result == null)\n return null;\n return this.model.view.convert_selection_from_subset(hit_test_result);\n };\n return GlyphRendererView;\n }(data_renderer_1.DataRendererView));\n exports.GlyphRendererView = GlyphRendererView;\n var GlyphRenderer = /** @class */ (function (_super) {\n tslib_1.__extends(GlyphRenderer, _super);\n function GlyphRenderer(attrs) {\n return _super.call(this, attrs) || this;\n }\n GlyphRenderer.initClass = function () {\n this.prototype.type = 'GlyphRenderer';\n this.prototype.default_view = GlyphRendererView;\n this.define({\n data_source: [p.Instance],\n view: [p.Instance, function () { return new cds_view_1.CDSView(); }],\n glyph: [p.Instance],\n hover_glyph: [p.Instance],\n nonselection_glyph: [p.Any, 'auto'],\n selection_glyph: [p.Any, 'auto'],\n muted_glyph: [p.Instance],\n muted: [p.Boolean, false],\n });\n };\n GlyphRenderer.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n if (this.view.source == null) {\n this.view.source = this.data_source;\n this.view.compute_indices();\n }\n };\n GlyphRenderer.prototype.get_reference_point = function (field, value) {\n var index = 0;\n if (field != null) {\n var data = this.data_source.get_column(field);\n if (data != null) {\n var i = arrayable_1.indexOf(data, value);\n if (i != -1)\n index = i;\n }\n }\n return index;\n };\n GlyphRenderer.prototype.get_selection_manager = function () {\n return this.data_source.selection_manager;\n };\n return GlyphRenderer;\n }(data_renderer_1.DataRenderer));\n exports.GlyphRenderer = GlyphRenderer;\n GlyphRenderer.initClass();\n}\n","/* models/renderers/graph_renderer */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var data_renderer_1 = require(196) /* ./data_renderer */;\n var graph_hit_test_policy_1 = require(154) /* ../graphs/graph_hit_test_policy */;\n var p = require(18) /* ../../core/properties */;\n var build_views_1 = require(4) /* ../../core/build_views */;\n var GraphRendererView = /** @class */ (function (_super) {\n tslib_1.__extends(GraphRendererView, _super);\n function GraphRendererView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n GraphRendererView.prototype.initialize = function () {\n var _a;\n _super.prototype.initialize.call(this);\n this.xscale = this.plot_view.frame.xscales.default;\n this.yscale = this.plot_view.frame.yscales.default;\n this._renderer_views = {};\n _a = build_views_1.build_views(this._renderer_views, [this.model.node_renderer, this.model.edge_renderer], { parent: this.parent }), this.node_view = _a[0], this.edge_view = _a[1];\n this.set_data();\n };\n GraphRendererView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.layout_provider.change, function () { return _this.set_data(); });\n this.connect(this.model.node_renderer.data_source._select, function () { return _this.set_data(); });\n this.connect(this.model.node_renderer.data_source.inspect, function () { return _this.set_data(); });\n this.connect(this.model.node_renderer.data_source.change, function () { return _this.set_data(); });\n this.connect(this.model.edge_renderer.data_source._select, function () { return _this.set_data(); });\n this.connect(this.model.edge_renderer.data_source.inspect, function () { return _this.set_data(); });\n this.connect(this.model.edge_renderer.data_source.change, function () { return _this.set_data(); });\n var _a = this.plot_view.frame, x_ranges = _a.x_ranges, y_ranges = _a.y_ranges;\n for (var name_1 in x_ranges) {\n var rng = x_ranges[name_1];\n this.connect(rng.change, function () { return _this.set_data(); });\n }\n for (var name_2 in y_ranges) {\n var rng = y_ranges[name_2];\n this.connect(rng.change, function () { return _this.set_data(); });\n }\n };\n GraphRendererView.prototype.set_data = function (request_render) {\n var _a, _b;\n if (request_render === void 0) {\n request_render = true;\n }\n // TODO (bev) this is a bit clunky, need to make sure glyphs use the correct ranges when they call\n // mapping functions on the base Renderer class\n this.node_view.glyph.model.setv({ x_range_name: this.model.x_range_name, y_range_name: this.model.y_range_name }, { silent: true });\n this.edge_view.glyph.model.setv({ x_range_name: this.model.x_range_name, y_range_name: this.model.y_range_name }, { silent: true });\n // XXX\n var node_glyph = this.node_view.glyph;\n _a = this.model.layout_provider.get_node_coordinates(this.model.node_renderer.data_source), node_glyph._x = _a[0], node_glyph._y = _a[1];\n var edge_glyph = this.edge_view.glyph;\n _b = this.model.layout_provider.get_edge_coordinates(this.model.edge_renderer.data_source), edge_glyph._xs = _b[0], edge_glyph._ys = _b[1];\n node_glyph.index_data();\n edge_glyph.index_data();\n if (request_render)\n this.request_render();\n };\n GraphRendererView.prototype.render = function () {\n this.edge_view.render();\n this.node_view.render();\n };\n return GraphRendererView;\n }(data_renderer_1.DataRendererView));\n exports.GraphRendererView = GraphRendererView;\n var GraphRenderer = /** @class */ (function (_super) {\n tslib_1.__extends(GraphRenderer, _super);\n function GraphRenderer(attrs) {\n return _super.call(this, attrs) || this;\n }\n GraphRenderer.initClass = function () {\n this.prototype.type = 'GraphRenderer';\n this.prototype.default_view = GraphRendererView;\n this.define({\n layout_provider: [p.Instance],\n node_renderer: [p.Instance],\n edge_renderer: [p.Instance],\n selection_policy: [p.Instance, function () { return new graph_hit_test_policy_1.NodesOnly(); }],\n inspection_policy: [p.Instance, function () { return new graph_hit_test_policy_1.NodesOnly(); }],\n });\n };\n GraphRenderer.prototype.get_selection_manager = function () {\n return this.node_renderer.data_source.selection_manager;\n };\n return GraphRenderer;\n }(data_renderer_1.DataRenderer));\n exports.GraphRenderer = GraphRenderer;\n GraphRenderer.initClass();\n}\n","/* models/renderers/guide_renderer */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var renderer_1 = require(201) /* ./renderer */;\n var GuideRendererView = /** @class */ (function (_super) {\n tslib_1.__extends(GuideRendererView, _super);\n function GuideRendererView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return GuideRendererView;\n }(renderer_1.RendererView));\n exports.GuideRendererView = GuideRendererView;\n var GuideRenderer = /** @class */ (function (_super) {\n tslib_1.__extends(GuideRenderer, _super);\n function GuideRenderer(attrs) {\n return _super.call(this, attrs) || this;\n }\n GuideRenderer.initClass = function () {\n this.prototype.type = \"GuideRenderer\";\n this.override({\n level: \"overlay\",\n });\n };\n return GuideRenderer;\n }(renderer_1.Renderer));\n exports.GuideRenderer = GuideRenderer;\n GuideRenderer.initClass();\n}\n","/* models/renderers/index */ function _(require, module, exports) {\n var glyph_renderer_1 = require(197) /* ./glyph_renderer */;\n exports.GlyphRenderer = glyph_renderer_1.GlyphRenderer;\n var graph_renderer_1 = require(198) /* ./graph_renderer */;\n exports.GraphRenderer = graph_renderer_1.GraphRenderer;\n var guide_renderer_1 = require(199) /* ./guide_renderer */;\n exports.GuideRenderer = guide_renderer_1.GuideRenderer;\n var renderer_1 = require(201) /* ./renderer */;\n exports.Renderer = renderer_1.Renderer;\n}\n","/* models/renderers/renderer */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var dom_view_1 = require(6) /* ../../core/dom_view */;\n var visuals = require(51) /* ../../core/visuals */;\n var p = require(18) /* ../../core/properties */;\n var model_1 = require(62) /* ../../model */;\n // This shouldn't be a DOMView, but annotations create a mess.\n var RendererView = /** @class */ (function (_super) {\n tslib_1.__extends(RendererView, _super);\n function RendererView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RendererView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.visuals = new visuals.Visuals(this.model);\n this._has_finished = true; // XXX: should be in render() but subclasses don't respect super()\n };\n Object.defineProperty(RendererView.prototype, \"plot_view\", {\n get: function () {\n return this.parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(RendererView.prototype, \"plot_model\", {\n get: function () {\n return this.parent.model;\n },\n enumerable: true,\n configurable: true\n });\n RendererView.prototype.request_render = function () {\n this.plot_view.request_render();\n };\n RendererView.prototype.map_to_screen = function (x, y) {\n return this.plot_view.map_to_screen(x, y, this.model.x_range_name, this.model.y_range_name);\n };\n Object.defineProperty(RendererView.prototype, \"needs_clip\", {\n get: function () {\n return false;\n },\n enumerable: true,\n configurable: true\n });\n RendererView.prototype.notify_finished = function () {\n this.plot_view.notify_finished();\n };\n Object.defineProperty(RendererView.prototype, \"has_webgl\", {\n get: function () {\n return false;\n },\n enumerable: true,\n configurable: true\n });\n return RendererView;\n }(dom_view_1.DOMView));\n exports.RendererView = RendererView;\n var Renderer = /** @class */ (function (_super) {\n tslib_1.__extends(Renderer, _super);\n function Renderer(attrs) {\n return _super.call(this, attrs) || this;\n }\n Renderer.initClass = function () {\n this.prototype.type = \"Renderer\";\n this.define({\n level: [p.RenderLevel],\n visible: [p.Boolean, true],\n });\n };\n return Renderer;\n }(model_1.Model));\n exports.Renderer = Renderer;\n Renderer.initClass();\n}\n","/* models/scales/categorical_scale */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var linear_scale_1 = require(204) /* ./linear_scale */;\n var CategoricalScale = /** @class */ (function (_super) {\n tslib_1.__extends(CategoricalScale, _super);\n function CategoricalScale(attrs) {\n return _super.call(this, attrs) || this;\n }\n CategoricalScale.initClass = function () {\n this.prototype.type = \"CategoricalScale\";\n };\n CategoricalScale.prototype.compute = function (x) {\n return _super.prototype.compute.call(this, this.source_range.synthetic(x));\n };\n CategoricalScale.prototype.v_compute = function (xs) {\n return _super.prototype.v_compute.call(this, this.source_range.v_synthetic(xs));\n };\n return CategoricalScale;\n }(linear_scale_1.LinearScale));\n exports.CategoricalScale = CategoricalScale;\n CategoricalScale.initClass();\n}\n","/* models/scales/index */ function _(require, module, exports) {\n var categorical_scale_1 = require(202) /* ./categorical_scale */;\n exports.CategoricalScale = categorical_scale_1.CategoricalScale;\n var linear_scale_1 = require(204) /* ./linear_scale */;\n exports.LinearScale = linear_scale_1.LinearScale;\n var log_scale_1 = require(205) /* ./log_scale */;\n exports.LogScale = log_scale_1.LogScale;\n var scale_1 = require(206) /* ./scale */;\n exports.Scale = scale_1.Scale;\n}\n","/* models/scales/linear_scale */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var scale_1 = require(206) /* ./scale */;\n var LinearScale = /** @class */ (function (_super) {\n tslib_1.__extends(LinearScale, _super);\n function LinearScale(attrs) {\n return _super.call(this, attrs) || this;\n }\n LinearScale.initClass = function () {\n this.prototype.type = \"LinearScale\";\n };\n LinearScale.prototype.compute = function (x) {\n var _a = this._compute_state(), factor = _a[0], offset = _a[1];\n return factor * x + offset;\n };\n LinearScale.prototype.v_compute = function (xs) {\n var _a = this._compute_state(), factor = _a[0], offset = _a[1];\n var result = new Float64Array(xs.length);\n for (var i = 0; i < xs.length; i++)\n result[i] = factor * xs[i] + offset;\n return result;\n };\n LinearScale.prototype.invert = function (xprime) {\n var _a = this._compute_state(), factor = _a[0], offset = _a[1];\n return (xprime - offset) / factor;\n };\n LinearScale.prototype.v_invert = function (xprimes) {\n var _a = this._compute_state(), factor = _a[0], offset = _a[1];\n var result = new Float64Array(xprimes.length);\n for (var i = 0; i < xprimes.length; i++)\n result[i] = (xprimes[i] - offset) / factor;\n return result;\n };\n /*protected*/ LinearScale.prototype._compute_state = function () {\n //\n // (t1 - t0) (t1 - t0)\n // --------- * x - --------- * s0 + t0\n // (s1 - s0) (s1 - s0)\n //\n // [ factor ] [ offset ]\n //\n var source_start = this.source_range.start;\n var source_end = this.source_range.end;\n var target_start = this.target_range.start;\n var target_end = this.target_range.end;\n var factor = (target_end - target_start) / (source_end - source_start);\n var offset = -(factor * source_start) + target_start;\n return [factor, offset];\n };\n return LinearScale;\n }(scale_1.Scale));\n exports.LinearScale = LinearScale;\n LinearScale.initClass();\n}\n","/* models/scales/log_scale */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var scale_1 = require(206) /* ./scale */;\n var LogScale = /** @class */ (function (_super) {\n tslib_1.__extends(LogScale, _super);\n function LogScale(attrs) {\n return _super.call(this, attrs) || this;\n }\n LogScale.initClass = function () {\n this.prototype.type = \"LogScale\";\n };\n LogScale.prototype.compute = function (x) {\n var _a = this._compute_state(), factor = _a[0], offset = _a[1], inter_factor = _a[2], inter_offset = _a[3];\n var value;\n if (inter_factor == 0)\n value = 0;\n else {\n var _x = (Math.log(x) - inter_offset) / inter_factor;\n if (isFinite(_x))\n value = _x * factor + offset;\n else\n value = NaN;\n }\n return value;\n };\n LogScale.prototype.v_compute = function (xs) {\n var _a = this._compute_state(), factor = _a[0], offset = _a[1], inter_factor = _a[2], inter_offset = _a[3];\n var result = new Float64Array(xs.length);\n if (inter_factor == 0) {\n for (var i = 0; i < xs.length; i++)\n result[i] = 0;\n }\n else {\n for (var i = 0; i < xs.length; i++) {\n var _x = (Math.log(xs[i]) - inter_offset) / inter_factor;\n var value = void 0;\n if (isFinite(_x))\n value = _x * factor + offset;\n else\n value = NaN;\n result[i] = value;\n }\n }\n return result;\n };\n LogScale.prototype.invert = function (xprime) {\n var _a = this._compute_state(), factor = _a[0], offset = _a[1], inter_factor = _a[2], inter_offset = _a[3];\n var value = (xprime - offset) / factor;\n return Math.exp(inter_factor * value + inter_offset);\n };\n LogScale.prototype.v_invert = function (xprimes) {\n var _a = this._compute_state(), factor = _a[0], offset = _a[1], inter_factor = _a[2], inter_offset = _a[3];\n var result = new Float64Array(xprimes.length);\n for (var i = 0; i < xprimes.length; i++) {\n var value = (xprimes[i] - offset) / factor;\n result[i] = Math.exp(inter_factor * value + inter_offset);\n }\n return result;\n };\n LogScale.prototype._get_safe_factor = function (orig_start, orig_end) {\n var _a;\n var start = orig_start < 0 ? 0 : orig_start;\n var end = orig_end < 0 ? 0 : orig_end;\n if (start == end) {\n if (start == 0)\n _a = [1, 10], start = _a[0], end = _a[1];\n else {\n var log_val = Math.log(start) / Math.log(10);\n start = Math.pow(10, Math.floor(log_val));\n if (Math.ceil(log_val) != Math.floor(log_val))\n end = Math.pow(10, Math.ceil(log_val));\n else\n end = Math.pow(10, Math.ceil(log_val) + 1);\n }\n }\n return [start, end];\n };\n /*protected*/ LogScale.prototype._compute_state = function () {\n var source_start = this.source_range.start;\n var source_end = this.source_range.end;\n var target_start = this.target_range.start;\n var target_end = this.target_range.end;\n var screen_range = target_end - target_start;\n var _a = this._get_safe_factor(source_start, source_end), start = _a[0], end = _a[1];\n var inter_factor;\n var inter_offset;\n if (start == 0) {\n inter_factor = Math.log(end);\n inter_offset = 0;\n }\n else {\n inter_factor = Math.log(end) - Math.log(start);\n inter_offset = Math.log(start);\n }\n var factor = screen_range;\n var offset = target_start;\n return [factor, offset, inter_factor, inter_offset];\n };\n return LogScale;\n }(scale_1.Scale));\n exports.LogScale = LogScale;\n LogScale.initClass();\n}\n","/* models/scales/scale */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var transforms_1 = require(292) /* ../transforms */;\n var p = require(18) /* ../../core/properties */;\n var Scale = /** @class */ (function (_super) {\n tslib_1.__extends(Scale, _super);\n function Scale(attrs) {\n return _super.call(this, attrs) || this;\n }\n Scale.initClass = function () {\n this.prototype.type = \"Scale\";\n this.internal({\n source_range: [p.Any],\n target_range: [p.Any],\n });\n };\n Scale.prototype.r_compute = function (x0, x1) {\n if (this.target_range.is_reversed)\n return [this.compute(x1), this.compute(x0)];\n else\n return [this.compute(x0), this.compute(x1)];\n };\n Scale.prototype.r_invert = function (sx0, sx1) {\n if (this.target_range.is_reversed)\n return [this.invert(sx1), this.invert(sx0)];\n else\n return [this.invert(sx0), this.invert(sx1)];\n };\n return Scale;\n }(transforms_1.Transform));\n exports.Scale = Scale;\n Scale.initClass();\n}\n","/* models/selections/index */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n tslib_1.__exportStar(require(208) /* ./interaction_policy */, exports);\n var selection_1 = require(209) /* ./selection */;\n exports.Selection = selection_1.Selection;\n}\n","/* models/selections/interaction_policy */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var SelectionPolicy = /** @class */ (function (_super) {\n tslib_1.__extends(SelectionPolicy, _super);\n function SelectionPolicy() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SelectionPolicy.prototype.do_selection = function (hit_test_result, source, final, append) {\n if (hit_test_result === null) {\n return false;\n }\n else {\n source.selected.update(hit_test_result, final, append);\n source._select.emit();\n return !source.selected.is_empty();\n }\n };\n return SelectionPolicy;\n }(model_1.Model));\n exports.SelectionPolicy = SelectionPolicy;\n SelectionPolicy.prototype.type = \"SelectionPolicy\";\n var IntersectRenderers = /** @class */ (function (_super) {\n tslib_1.__extends(IntersectRenderers, _super);\n function IntersectRenderers() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n IntersectRenderers.prototype.hit_test = function (geometry, renderer_views) {\n var hit_test_result_renderers = [];\n for (var _i = 0, renderer_views_1 = renderer_views; _i < renderer_views_1.length; _i++) {\n var r = renderer_views_1[_i];\n var result = r.hit_test(geometry);\n if (result !== null)\n hit_test_result_renderers.push(result);\n }\n if (hit_test_result_renderers.length > 0) {\n var hit_test_result = hit_test_result_renderers[0];\n for (var _a = 0, hit_test_result_renderers_1 = hit_test_result_renderers; _a < hit_test_result_renderers_1.length; _a++) {\n var hit_test_result_other = hit_test_result_renderers_1[_a];\n hit_test_result.update_through_intersection(hit_test_result_other);\n }\n return hit_test_result;\n }\n else {\n return null;\n }\n };\n return IntersectRenderers;\n }(SelectionPolicy));\n exports.IntersectRenderers = IntersectRenderers;\n IntersectRenderers.prototype.type = \"IntersectRenderers\";\n var UnionRenderers = /** @class */ (function (_super) {\n tslib_1.__extends(UnionRenderers, _super);\n function UnionRenderers() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n UnionRenderers.prototype.hit_test = function (geometry, renderer_views) {\n var hit_test_result_renderers = [];\n for (var _i = 0, renderer_views_2 = renderer_views; _i < renderer_views_2.length; _i++) {\n var r = renderer_views_2[_i];\n var result = r.hit_test(geometry);\n if (result !== null)\n hit_test_result_renderers.push(result);\n }\n if (hit_test_result_renderers.length > 0) {\n var hit_test_result = hit_test_result_renderers[0];\n for (var _a = 0, hit_test_result_renderers_2 = hit_test_result_renderers; _a < hit_test_result_renderers_2.length; _a++) {\n var hit_test_result_other = hit_test_result_renderers_2[_a];\n hit_test_result.update_through_union(hit_test_result_other);\n }\n return hit_test_result;\n }\n else {\n return null;\n }\n };\n return UnionRenderers;\n }(SelectionPolicy));\n exports.UnionRenderers = UnionRenderers;\n UnionRenderers.prototype.type = \"UnionRenderers\";\n}\n","/* models/selections/selection */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var object_1 = require(35) /* ../../core/util/object */;\n var Selection = /** @class */ (function (_super) {\n tslib_1.__extends(Selection, _super);\n function Selection(attrs) {\n return _super.call(this, attrs) || this;\n }\n Selection.initClass = function () {\n this.prototype.type = \"Selection\";\n this.define({\n indices: [p.Array, []],\n line_indices: [p.Array, []],\n multiline_indices: [p.Any, {}],\n });\n this.internal({\n final: [p.Boolean],\n selected_glyphs: [p.Array, []],\n get_view: [p.Any],\n image_indices: [p.Array, []],\n });\n };\n Selection.prototype.initialize = function () {\n var _this = this;\n _super.prototype.initialize.call(this);\n this['0d'] = { glyph: null, indices: [], flag: false, get_view: function () { return null; } };\n this['2d'] = { indices: {} };\n this['1d'] = { indices: this.indices };\n this.get_view = function () { return null; };\n this.connect(this.properties.indices.change, function () {\n return _this['1d'].indices = _this.indices;\n });\n this.connect(this.properties.line_indices.change, function () {\n _this['0d'].indices = _this.line_indices;\n if (_this.line_indices.length == 0)\n _this['0d'].flag = false;\n else\n _this['0d'].flag = true;\n });\n this.connect(this.properties.selected_glyphs.change, function () {\n return _this['0d'].glyph = _this.selected_glyph;\n });\n this.connect(this.properties.get_view.change, function () {\n return _this['0d'].get_view = _this.get_view;\n });\n this.connect(this.properties.multiline_indices.change, function () {\n return _this['2d'].indices = _this.multiline_indices;\n });\n };\n Object.defineProperty(Selection.prototype, \"selected_glyph\", {\n get: function () {\n if (this.selected_glyphs.length > 0)\n return this.selected_glyphs[0];\n else\n return null;\n },\n enumerable: true,\n configurable: true\n });\n Selection.prototype.add_to_selected_glyphs = function (glyph) {\n this.selected_glyphs.push(glyph);\n };\n Selection.prototype.update = function (selection, final, append) {\n this.final = final;\n if (append)\n this.update_through_union(selection);\n else {\n this.indices = selection.indices;\n this.line_indices = selection.line_indices;\n this.selected_glyphs = selection.selected_glyphs;\n this.get_view = selection.get_view;\n this.multiline_indices = selection.multiline_indices;\n this.image_indices = selection.image_indices;\n }\n };\n Selection.prototype.clear = function () {\n this.final = true;\n this.indices = [];\n this.line_indices = [];\n this.multiline_indices = {};\n this.get_view = function () { return null; };\n this.selected_glyphs = [];\n };\n Selection.prototype.is_empty = function () {\n return this.indices.length == 0 && this.line_indices.length == 0 && this.image_indices.length == 0;\n };\n Selection.prototype.update_through_union = function (other) {\n this.indices = array_1.union(other.indices, this.indices);\n this.selected_glyphs = array_1.union(other.selected_glyphs, this.selected_glyphs);\n this.line_indices = array_1.union(other.line_indices, this.line_indices);\n if (!this.get_view())\n this.get_view = other.get_view;\n this.multiline_indices = object_1.merge(other.multiline_indices, this.multiline_indices);\n };\n Selection.prototype.update_through_intersection = function (other) {\n this.indices = array_1.intersection(other.indices, this.indices);\n // TODO: think through and fix any logic below\n this.selected_glyphs = array_1.union(other.selected_glyphs, this.selected_glyphs);\n this.line_indices = array_1.union(other.line_indices, this.line_indices);\n if (!this.get_view())\n this.get_view = other.get_view;\n this.multiline_indices = object_1.merge(other.multiline_indices, this.multiline_indices);\n };\n return Selection;\n }(model_1.Model));\n exports.Selection = Selection;\n Selection.initClass();\n}\n","/* models/sources/ajax_data_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var remote_data_source_1 = require(217) /* ./remote_data_source */;\n var logging_1 = require(17) /* ../../core/logging */;\n var p = require(18) /* ../../core/properties */;\n var AjaxDataSource = /** @class */ (function (_super) {\n tslib_1.__extends(AjaxDataSource, _super);\n function AjaxDataSource(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.initialized = false;\n return _this;\n }\n AjaxDataSource.initClass = function () {\n this.prototype.type = 'AjaxDataSource';\n this.define({\n content_type: [p.String, 'application/json'],\n http_headers: [p.Any, {}],\n method: [p.HTTPMethod, 'POST'],\n if_modified: [p.Boolean, false],\n });\n };\n AjaxDataSource.prototype.destroy = function () {\n if (this.interval != null)\n clearInterval(this.interval);\n _super.prototype.destroy.call(this);\n };\n AjaxDataSource.prototype.setup = function () {\n var _this = this;\n if (!this.initialized) {\n this.initialized = true;\n this.get_data(this.mode);\n if (this.polling_interval) {\n var callback = function () { return _this.get_data(_this.mode, _this.max_size, _this.if_modified); };\n this.interval = setInterval(callback, this.polling_interval);\n }\n }\n };\n AjaxDataSource.prototype.get_data = function (mode, max_size, _if_modified) {\n var _this = this;\n if (max_size === void 0) {\n max_size = 0;\n }\n if (_if_modified === void 0) {\n _if_modified = false;\n }\n var xhr = this.prepare_request();\n // TODO: if_modified\n xhr.addEventListener(\"load\", function () { return _this.do_load(xhr, mode, max_size); });\n xhr.addEventListener(\"error\", function () { return _this.do_error(xhr); });\n xhr.send();\n };\n AjaxDataSource.prototype.prepare_request = function () {\n var xhr = new XMLHttpRequest();\n xhr.open(this.method, this.data_url, true);\n xhr.withCredentials = false;\n xhr.setRequestHeader(\"Content-Type\", this.content_type);\n var http_headers = this.http_headers;\n for (var name_1 in http_headers) {\n var value = http_headers[name_1];\n xhr.setRequestHeader(name_1, value);\n }\n return xhr;\n };\n AjaxDataSource.prototype.do_load = function (xhr, mode, max_size) {\n if (xhr.status === 200) {\n var raw_data = JSON.parse(xhr.responseText);\n this.load_data(raw_data, mode, max_size);\n }\n };\n AjaxDataSource.prototype.do_error = function (xhr) {\n logging_1.logger.error(\"Failed to fetch JSON from \" + this.data_url + \" with code \" + xhr.status);\n };\n return AjaxDataSource;\n }(remote_data_source_1.RemoteDataSource));\n exports.AjaxDataSource = AjaxDataSource;\n AjaxDataSource.initClass();\n}\n","/* models/sources/cds_view */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var p = require(18) /* ../../core/properties */;\n var selection_1 = require(209) /* ../selections/selection */;\n var array_1 = require(24) /* ../../core/util/array */;\n var columnar_data_source_1 = require(213) /* ./columnar_data_source */;\n var CDSView = /** @class */ (function (_super) {\n tslib_1.__extends(CDSView, _super);\n function CDSView(attrs) {\n return _super.call(this, attrs) || this;\n }\n CDSView.initClass = function () {\n this.prototype.type = 'CDSView';\n this.define({\n filters: [p.Array, []],\n source: [p.Instance],\n });\n this.internal({\n indices: [p.Array, []],\n indices_map: [p.Any, {}],\n });\n };\n CDSView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.compute_indices();\n };\n CDSView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.properties.filters.change, function () {\n _this.compute_indices();\n _this.change.emit();\n });\n var connect_listeners = function () {\n var fn = function () { return _this.compute_indices(); };\n if (_this.source != null) {\n _this.connect(_this.source.change, fn);\n if (_this.source instanceof columnar_data_source_1.ColumnarDataSource) {\n _this.connect(_this.source.streaming, fn);\n _this.connect(_this.source.patching, fn);\n }\n }\n };\n var initialized = this.source != null;\n if (initialized)\n connect_listeners();\n else {\n this.connect(this.properties.source.change, function () {\n if (!initialized) {\n connect_listeners();\n initialized = true;\n }\n });\n }\n };\n CDSView.prototype.compute_indices = function () {\n var _this = this;\n var indices = this.filters.map(function (filter) { return filter.compute_indices(_this.source); })\n .filter(function (indices) { return indices != null; });\n if (indices.length > 0)\n this.indices = array_1.intersection.apply(this, indices);\n else if (this.source instanceof columnar_data_source_1.ColumnarDataSource)\n this.indices = this.source.get_indices();\n this.indices_map_to_subset();\n };\n CDSView.prototype.indices_map_to_subset = function () {\n this.indices_map = {};\n for (var i = 0; i < this.indices.length; i++) {\n this.indices_map[this.indices[i]] = i;\n }\n };\n CDSView.prototype.convert_selection_from_subset = function (selection_subset) {\n var _this = this;\n var selection_full = new selection_1.Selection();\n selection_full.update_through_union(selection_subset);\n var indices_1d = selection_subset.indices.map(function (i) { return _this.indices[i]; });\n selection_full.indices = indices_1d;\n selection_full.image_indices = selection_subset.image_indices;\n return selection_full;\n };\n CDSView.prototype.convert_selection_to_subset = function (selection_full) {\n var _this = this;\n var selection_subset = new selection_1.Selection();\n selection_subset.update_through_union(selection_full);\n var indices_1d = selection_full.indices.map(function (i) { return _this.indices_map[i]; });\n selection_subset.indices = indices_1d;\n selection_subset.image_indices = selection_full.image_indices;\n return selection_subset;\n };\n CDSView.prototype.convert_indices_from_subset = function (indices) {\n var _this = this;\n return indices.map(function (i) { return _this.indices[i]; });\n };\n return CDSView;\n }(model_1.Model));\n exports.CDSView = CDSView;\n CDSView.initClass();\n}\n","/* models/sources/column_data_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var columnar_data_source_1 = require(213) /* ./columnar_data_source */;\n var has_props_1 = require(8) /* ../../core/has_props */;\n var p = require(18) /* ../../core/properties */;\n var data_structures_1 = require(32) /* ../../core/util/data_structures */;\n var serialization_1 = require(38) /* ../../core/util/serialization */;\n var types_1 = require(46) /* ../../core/util/types */;\n var typed_array = require(45) /* ../../core/util/typed_array */;\n var object_1 = require(35) /* ../../core/util/object */;\n var events_1 = require(53) /* ../../document/events */;\n //exported for testing\n function stream_to_column(col, new_col, rollover) {\n if (types_1.isArray(col)) {\n var result = col.concat(new_col);\n if (rollover != null && result.length > rollover)\n return result.slice(-rollover);\n else\n return result;\n }\n else if (types_1.isTypedArray(col)) {\n var total_len = col.length + new_col.length;\n // handle rollover case for typed arrays\n if (rollover != null && total_len > rollover) {\n var start = total_len - rollover;\n var end = col.length;\n // resize col if it is shorter than the rollover length\n var result = void 0;\n if (col.length < rollover) {\n result = new col.constructor(rollover);\n result.set(col, 0);\n }\n else\n result = col;\n // shift values in original col to accommodate new_col\n for (var i = start, endi = end; i < endi; i++) {\n result[i - start] = result[i];\n }\n // update end values in col with new_col\n for (var i = 0, endi = new_col.length; i < endi; i++) {\n result[i + (end - start)] = new_col[i];\n }\n return result;\n }\n else {\n var tmp = new col.constructor(new_col);\n return typed_array.concat(col, tmp);\n }\n }\n else\n throw new Error(\"unsupported array types\");\n }\n exports.stream_to_column = stream_to_column;\n // exported for testing\n function slice(ind, length) {\n var start, step, stop;\n if (types_1.isNumber(ind)) {\n start = ind;\n stop = ind + 1;\n step = 1;\n }\n else {\n start = ind.start != null ? ind.start : 0;\n stop = ind.stop != null ? ind.stop : length;\n step = ind.step != null ? ind.step : 1;\n }\n return [start, stop, step];\n }\n exports.slice = slice;\n // exported for testing\n function patch_to_column(col, patch, shapes) {\n var patched = new data_structures_1.Set();\n var patched_range = false;\n for (var _i = 0, patch_1 = patch; _i < patch_1.length; _i++) {\n var _a = patch_1[_i], ind = _a[0], val = _a[1];\n // make the single index case look like the length-3 multi-index case\n var item = void 0, shape = void 0;\n var index = void 0;\n var value = void 0;\n if (types_1.isArray(ind)) {\n var i = ind[0];\n patched.add(i);\n shape = shapes[i];\n item = col[i];\n value = val;\n // this is basically like NumPy's \"newaxis\", inserting an empty dimension\n // makes length 2 and 3 multi-index cases uniform, so that the same code\n // can handle both\n if (ind.length === 2) {\n shape = [1, shape[0]];\n index = [ind[0], 0, ind[1]];\n }\n else\n index = ind;\n }\n else {\n if (types_1.isNumber(ind)) {\n value = [val];\n patched.add(ind);\n }\n else {\n value = val;\n patched_range = true;\n }\n index = [0, 0, ind];\n shape = [1, col.length];\n item = col;\n }\n // now this one nested loop handles all cases\n var flat_index = 0;\n var _b = slice(index[1], shape[0]), istart = _b[0], istop = _b[1], istep = _b[2];\n var _c = slice(index[2], shape[1]), jstart = _c[0], jstop = _c[1], jstep = _c[2];\n for (var i = istart; i < istop; i += istep) {\n for (var j = jstart; j < jstop; j += jstep) {\n if (patched_range) {\n patched.add(j);\n }\n item[(i * shape[1]) + j] = value[flat_index];\n flat_index++;\n }\n }\n }\n return patched;\n }\n exports.patch_to_column = patch_to_column;\n var ColumnDataSource = /** @class */ (function (_super) {\n tslib_1.__extends(ColumnDataSource, _super);\n function ColumnDataSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n ColumnDataSource.initClass = function () {\n this.prototype.type = 'ColumnDataSource';\n this.define({\n data: [p.Any, {}],\n });\n };\n ColumnDataSource.prototype.initialize = function () {\n var _a;\n _super.prototype.initialize.call(this);\n _a = serialization_1.decode_column_data(this.data), this.data = _a[0], this._shapes = _a[1];\n };\n ColumnDataSource.prototype.attributes_as_json = function (include_defaults, value_to_json) {\n if (include_defaults === void 0) {\n include_defaults = true;\n }\n if (value_to_json === void 0) {\n value_to_json = ColumnDataSource._value_to_json;\n }\n var attrs = {};\n var obj = this.serializable_attributes();\n for (var _i = 0, _a = object_1.keys(obj); _i < _a.length; _i++) {\n var key = _a[_i];\n var value = obj[key];\n if (key === 'data')\n value = serialization_1.encode_column_data(value, this._shapes);\n if (include_defaults)\n attrs[key] = value;\n else if (key in this._set_after_defaults)\n attrs[key] = value;\n }\n return value_to_json(\"attributes\", attrs, this);\n };\n ColumnDataSource._value_to_json = function (key, value, optional_parent_object) {\n if (types_1.isPlainObject(value) && key === 'data')\n return serialization_1.encode_column_data(value, optional_parent_object._shapes); // XXX: unknown vs. any\n else\n return has_props_1.HasProps._value_to_json(key, value, optional_parent_object);\n };\n ColumnDataSource.prototype.stream = function (new_data, rollover, setter_id) {\n var data = this.data;\n for (var k in new_data) {\n data[k] = stream_to_column(data[k], new_data[k], rollover);\n }\n this.setv({ data: data }, { silent: true });\n this.streaming.emit();\n if (this.document != null) {\n var hint = new events_1.ColumnsStreamedEvent(this.document, this.ref(), new_data, rollover);\n this.document._notify_change(this, 'data', null, null, { setter_id: setter_id, hint: hint });\n }\n };\n ColumnDataSource.prototype.patch = function (patches, setter_id) {\n var data = this.data;\n var patched = new data_structures_1.Set();\n for (var k in patches) {\n var patch = patches[k];\n patched = patched.union(patch_to_column(data[k], patch, this._shapes[k]));\n }\n this.setv({ data: data }, { silent: true });\n this.patching.emit(patched.values);\n if (this.document != null) {\n var hint = new events_1.ColumnsPatchedEvent(this.document, this.ref(), patches);\n this.document._notify_change(this, 'data', null, null, { setter_id: setter_id, hint: hint });\n }\n };\n return ColumnDataSource;\n }(columnar_data_source_1.ColumnarDataSource));\n exports.ColumnDataSource = ColumnDataSource;\n ColumnDataSource.initClass();\n}\n","/* models/sources/columnar_data_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var data_source_1 = require(214) /* ./data_source */;\n var signaling_1 = require(22) /* ../../core/signaling */;\n var logging_1 = require(17) /* ../../core/logging */;\n var selection_manager_1 = require(20) /* ../../core/selection_manager */;\n var p = require(18) /* ../../core/properties */;\n var types_1 = require(46) /* ../../core/util/types */;\n var array_1 = require(24) /* ../../core/util/array */;\n var object_1 = require(35) /* ../../core/util/object */;\n var selection_1 = require(209) /* ../selections/selection */;\n var interaction_policy_1 = require(208) /* ../selections/interaction_policy */;\n var ColumnarDataSource = /** @class */ (function (_super) {\n tslib_1.__extends(ColumnarDataSource, _super);\n function ColumnarDataSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n ColumnarDataSource.prototype.get_array = function (key) {\n var column = this.data[key];\n if (column == null)\n this.data[key] = column = [];\n else if (!types_1.isArray(column))\n this.data[key] = column = Array.from(column);\n return column;\n };\n ColumnarDataSource.initClass = function () {\n this.prototype.type = 'ColumnarDataSource';\n this.define({\n selection_policy: [p.Instance, function () { return new interaction_policy_1.UnionRenderers(); }],\n });\n this.internal({\n selection_manager: [p.Instance, function (self) { return new selection_manager_1.SelectionManager({ source: self }); }],\n inspected: [p.Instance, function () { return new selection_1.Selection(); }],\n _shapes: [p.Any, {}],\n });\n };\n ColumnarDataSource.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._select = new signaling_1.Signal0(this, \"select\");\n this.inspect = new signaling_1.Signal(this, \"inspect\"); // XXX: <[indices, tool, renderer-view, source, data], this>\n this.streaming = new signaling_1.Signal0(this, \"streaming\");\n this.patching = new signaling_1.Signal(this, \"patching\");\n };\n ColumnarDataSource.prototype.get_column = function (colname) {\n var column = this.data[colname];\n return column != null ? column : null;\n };\n ColumnarDataSource.prototype.columns = function () {\n // return the column names in this data source\n return object_1.keys(this.data);\n };\n ColumnarDataSource.prototype.get_length = function (soft) {\n if (soft === void 0) {\n soft = true;\n }\n var lengths = array_1.uniq(object_1.values(this.data).map(function (v) { return v.length; }));\n switch (lengths.length) {\n case 0: {\n return null; // XXX: don't guess, treat on case-by-case basis\n }\n case 1: {\n return lengths[0];\n }\n default: {\n var msg = \"data source has columns of inconsistent lengths\";\n if (soft) {\n logging_1.logger.warn(msg);\n return lengths.sort()[0];\n }\n else\n throw new Error(msg);\n }\n }\n };\n ColumnarDataSource.prototype.get_indices = function () {\n var length = this.get_length();\n return array_1.range(0, length != null ? length : 1);\n //TODO: returns [0] when no data, should it?\n };\n ColumnarDataSource.prototype.clear = function () {\n var empty = {};\n for (var _i = 0, _a = this.columns(); _i < _a.length; _i++) {\n var col = _a[_i];\n empty[col] = new this.data[col].constructor(0);\n }\n this.data = empty;\n };\n return ColumnarDataSource;\n }(data_source_1.DataSource));\n exports.ColumnarDataSource = ColumnarDataSource;\n ColumnarDataSource.initClass();\n}\n","/* models/sources/data_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var selection_1 = require(209) /* ../selections/selection */;\n var p = require(18) /* ../../core/properties */;\n var DataSource = /** @class */ (function (_super) {\n tslib_1.__extends(DataSource, _super);\n function DataSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n DataSource.initClass = function () {\n this.prototype.type = \"DataSource\";\n this.define({\n selected: [p.Instance, function () { return new selection_1.Selection(); }],\n callback: [p.Any],\n });\n };\n DataSource.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.selected.change, function () {\n if (_this.callback != null)\n _this.callback.execute(_this);\n });\n };\n return DataSource;\n }(model_1.Model));\n exports.DataSource = DataSource;\n DataSource.initClass();\n}\n","/* models/sources/geojson_data_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var columnar_data_source_1 = require(213) /* ./columnar_data_source */;\n var logging_1 = require(17) /* ../../core/logging */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var GeoJSONDataSource = /** @class */ (function (_super) {\n tslib_1.__extends(GeoJSONDataSource, _super);\n function GeoJSONDataSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n GeoJSONDataSource.initClass = function () {\n this.prototype.type = 'GeoJSONDataSource';\n this.define({\n geojson: [p.Any],\n });\n this.internal({\n data: [p.Any, {}],\n });\n };\n GeoJSONDataSource.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._update_data();\n };\n GeoJSONDataSource.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.properties.geojson.change, function () { return _this._update_data(); });\n };\n GeoJSONDataSource.prototype._update_data = function () {\n this.data = this.geojson_to_column_data();\n };\n GeoJSONDataSource.prototype._get_new_list_array = function (length) {\n return array_1.range(0, length).map(function (_i) { return []; });\n };\n GeoJSONDataSource.prototype._get_new_nan_array = function (length) {\n return array_1.range(0, length).map(function (_i) { return NaN; });\n };\n GeoJSONDataSource.prototype._add_properties = function (item, data, i, item_count) {\n var properties = item.properties || {};\n for (var property in properties) {\n if (!data.hasOwnProperty(property))\n data[property] = this._get_new_nan_array(item_count);\n data[property][i] = properties[property];\n }\n };\n GeoJSONDataSource.prototype._add_geometry = function (geometry, data, i) {\n function orNaN(v) {\n return v != null ? v : NaN;\n }\n function flatten(acc, item) {\n return acc.concat([[NaN, NaN, NaN]]).concat(item);\n }\n switch (geometry.type) {\n case \"Point\": {\n var _a = geometry.coordinates, x = _a[0], y = _a[1], z = _a[2];\n data.x[i] = x;\n data.y[i] = y;\n data.z[i] = orNaN(z);\n break;\n }\n case \"LineString\": {\n var coordinates = geometry.coordinates;\n for (var j = 0; j < coordinates.length; j++) {\n var _b = coordinates[j], x = _b[0], y = _b[1], z = _b[2];\n data.xs[i][j] = x;\n data.ys[i][j] = y;\n data.zs[i][j] = orNaN(z);\n }\n break;\n }\n case \"Polygon\": {\n if (geometry.coordinates.length > 1)\n logging_1.logger.warn('Bokeh does not support Polygons with holes in, only exterior ring used.');\n var exterior_ring = geometry.coordinates[0];\n for (var j = 0; j < exterior_ring.length; j++) {\n var _c = exterior_ring[j], x = _c[0], y = _c[1], z = _c[2];\n data.xs[i][j] = x;\n data.ys[i][j] = y;\n data.zs[i][j] = orNaN(z);\n }\n break;\n }\n case \"MultiPoint\": {\n logging_1.logger.warn('MultiPoint not supported in Bokeh');\n break;\n }\n case \"MultiLineString\": {\n var coordinates = geometry.coordinates.reduce(flatten);\n for (var j = 0; j < coordinates.length; j++) {\n var _d = coordinates[j], x = _d[0], y = _d[1], z = _d[2];\n data.xs[i][j] = x;\n data.ys[i][j] = y;\n data.zs[i][j] = orNaN(z);\n }\n break;\n }\n case \"MultiPolygon\": {\n var exterior_rings = [];\n for (var _e = 0, _f = geometry.coordinates; _e < _f.length; _e++) {\n var polygon = _f[_e];\n if (polygon.length > 1)\n logging_1.logger.warn('Bokeh does not support Polygons with holes in, only exterior ring used.');\n exterior_rings.push(polygon[0]);\n }\n var coordinates = exterior_rings.reduce(flatten);\n for (var j = 0; j < coordinates.length; j++) {\n var _g = coordinates[j], x = _g[0], y = _g[1], z = _g[2];\n data.xs[i][j] = x;\n data.ys[i][j] = y;\n data.zs[i][j] = orNaN(z);\n }\n break;\n }\n default:\n throw new Error(\"Invalid GeoJSON geometry type: \" + geometry.type);\n }\n };\n GeoJSONDataSource.prototype.geojson_to_column_data = function () {\n var geojson = JSON.parse(this.geojson);\n var items;\n switch (geojson.type) {\n case \"GeometryCollection\": {\n if (geojson.geometries == null)\n throw new Error('No geometries found in GeometryCollection');\n if (geojson.geometries.length === 0)\n throw new Error('geojson.geometries must have one or more items');\n items = geojson.geometries;\n break;\n }\n case \"FeatureCollection\": {\n if (geojson.features == null)\n throw new Error('No features found in FeaturesCollection');\n if (geojson.features.length == 0)\n throw new Error('geojson.features must have one or more items');\n items = geojson.features;\n break;\n }\n default:\n throw new Error('Bokeh only supports type GeometryCollection and FeatureCollection at top level');\n }\n var item_count = 0;\n for (var _a = 0, items_1 = items; _a < items_1.length; _a++) {\n var item = items_1[_a];\n var geometry = item.type === 'Feature' ? item.geometry : item;\n if (geometry.type == 'GeometryCollection')\n item_count += geometry.geometries.length;\n else\n item_count += 1;\n }\n var data = {\n x: this._get_new_nan_array(item_count),\n y: this._get_new_nan_array(item_count),\n z: this._get_new_nan_array(item_count),\n xs: this._get_new_list_array(item_count),\n ys: this._get_new_list_array(item_count),\n zs: this._get_new_list_array(item_count),\n };\n var arr_index = 0;\n for (var _b = 0, items_2 = items; _b < items_2.length; _b++) {\n var item = items_2[_b];\n var geometry = item.type == 'Feature' ? item.geometry : item;\n if (geometry.type == \"GeometryCollection\") {\n for (var _c = 0, _d = geometry.geometries; _c < _d.length; _c++) {\n var g = _d[_c];\n this._add_geometry(g, data, arr_index);\n if (item.type === 'Feature')\n this._add_properties(item, data, arr_index, item_count);\n arr_index += 1;\n }\n }\n else {\n this._add_geometry(geometry, data, arr_index);\n if (item.type === 'Feature')\n this._add_properties(item, data, arr_index, item_count);\n arr_index += 1;\n }\n }\n return data;\n };\n return GeoJSONDataSource;\n }(columnar_data_source_1.ColumnarDataSource));\n exports.GeoJSONDataSource = GeoJSONDataSource;\n GeoJSONDataSource.initClass();\n}\n","/* models/sources/index */ function _(require, module, exports) {\n var server_sent_data_source_1 = require(218) /* ./server_sent_data_source */;\n exports.ServerSentDataSource = server_sent_data_source_1.ServerSentDataSource;\n var ajax_data_source_1 = require(210) /* ./ajax_data_source */;\n exports.AjaxDataSource = ajax_data_source_1.AjaxDataSource;\n var column_data_source_1 = require(212) /* ./column_data_source */;\n exports.ColumnDataSource = column_data_source_1.ColumnDataSource;\n var columnar_data_source_1 = require(213) /* ./columnar_data_source */;\n exports.ColumnarDataSource = columnar_data_source_1.ColumnarDataSource;\n var cds_view_1 = require(211) /* ./cds_view */;\n exports.CDSView = cds_view_1.CDSView;\n var data_source_1 = require(214) /* ./data_source */;\n exports.DataSource = data_source_1.DataSource;\n var geojson_data_source_1 = require(215) /* ./geojson_data_source */;\n exports.GeoJSONDataSource = geojson_data_source_1.GeoJSONDataSource;\n var remote_data_source_1 = require(217) /* ./remote_data_source */;\n exports.RemoteDataSource = remote_data_source_1.RemoteDataSource;\n}\n","/* models/sources/remote_data_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var web_data_source_1 = require(219) /* ./web_data_source */;\n var p = require(18) /* ../../core/properties */;\n var RemoteDataSource = /** @class */ (function (_super) {\n tslib_1.__extends(RemoteDataSource, _super);\n function RemoteDataSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n RemoteDataSource.prototype.get_column = function (colname) {\n var column = this.data[colname];\n return column != null ? column : [];\n };\n RemoteDataSource.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.setup();\n };\n RemoteDataSource.initClass = function () {\n this.prototype.type = 'RemoteDataSource';\n this.define({\n polling_interval: [p.Number],\n });\n };\n return RemoteDataSource;\n }(web_data_source_1.WebDataSource));\n exports.RemoteDataSource = RemoteDataSource;\n RemoteDataSource.initClass();\n}\n","/* models/sources/server_sent_data_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var web_data_source_1 = require(219) /* ./web_data_source */;\n var ServerSentDataSource = /** @class */ (function (_super) {\n tslib_1.__extends(ServerSentDataSource, _super);\n function ServerSentDataSource(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.initialized = false;\n return _this;\n }\n ServerSentDataSource.initClass = function () {\n this.prototype.type = 'ServerSentDataSource';\n };\n ServerSentDataSource.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n ServerSentDataSource.prototype.setup = function () {\n var _this = this;\n if (!this.initialized) {\n this.initialized = true;\n var source = new EventSource(this.data_url);\n source.onmessage = function (event) {\n _this.load_data(JSON.parse(event.data), _this.mode, _this.max_size);\n };\n }\n };\n return ServerSentDataSource;\n }(web_data_source_1.WebDataSource));\n exports.ServerSentDataSource = ServerSentDataSource;\n ServerSentDataSource.initClass();\n}\n","/* models/sources/web_data_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var column_data_source_1 = require(212) /* ./column_data_source */;\n var p = require(18) /* ../../core/properties */;\n var WebDataSource = /** @class */ (function (_super) {\n tslib_1.__extends(WebDataSource, _super);\n function WebDataSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n WebDataSource.prototype.get_column = function (colname) {\n var column = this.data[colname];\n return column != null ? column : [];\n };\n WebDataSource.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.setup();\n };\n WebDataSource.prototype.load_data = function (raw_data, mode, max_size) {\n var adapter = this.adapter;\n var data;\n if (adapter != null)\n data = adapter.execute(this, { response: raw_data });\n else\n data = raw_data;\n switch (mode) {\n case \"replace\": {\n this.data = data;\n break;\n }\n case \"append\": {\n var original_data = this.data;\n for (var _i = 0, _a = this.columns(); _i < _a.length; _i++) {\n var column = _a[_i];\n // XXX: support typed arrays\n var old_col = Array.from(original_data[column]);\n var new_col = Array.from(data[column]);\n data[column] = old_col.concat(new_col).slice(-max_size);\n }\n this.data = data;\n break;\n }\n }\n };\n WebDataSource.initClass = function () {\n this.prototype.type = 'WebDataSource';\n this.define({\n mode: [p.UpdateMode, 'replace'],\n max_size: [p.Number],\n adapter: [p.Any, null],\n data_url: [p.String],\n });\n };\n return WebDataSource;\n }(column_data_source_1.ColumnDataSource));\n exports.WebDataSource = WebDataSource;\n WebDataSource.initClass();\n}\n","/* models/textures/canvas_texture */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var texture_1 = require(223) /* ./texture */;\n var p = require(18) /* ../../core/properties */;\n var string_1 = require(40) /* ../../core/util/string */;\n var CanvasTexture = /** @class */ (function (_super) {\n tslib_1.__extends(CanvasTexture, _super);\n function CanvasTexture(attrs) {\n return _super.call(this, attrs) || this;\n }\n CanvasTexture.initClass = function () {\n this.prototype.type = \"CanvasTexture\";\n this.define({\n code: [p.String],\n });\n };\n Object.defineProperty(CanvasTexture.prototype, \"func\", {\n get: function () {\n var code = string_1.use_strict(this.code);\n return new Function(\"ctx\", \"color\", \"scale\", \"weight\", \"require\", \"exports\", code);\n },\n enumerable: true,\n configurable: true\n });\n CanvasTexture.prototype.get_pattern = function (color, scale, weight) {\n var _this = this;\n return function (ctx) {\n var canvas = document.createElement('canvas');\n canvas.width = scale;\n canvas.height = scale;\n var pattern_ctx = canvas.getContext('2d');\n _this.func.call(_this, pattern_ctx, color, scale, weight, require, {});\n return ctx.createPattern(canvas, _this.repetition);\n };\n };\n return CanvasTexture;\n }(texture_1.Texture));\n exports.CanvasTexture = CanvasTexture;\n CanvasTexture.initClass();\n}\n","/* models/textures/image_url_texture */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var texture_1 = require(223) /* ./texture */;\n var p = require(18) /* ../../core/properties */;\n var ImageURLTexture = /** @class */ (function (_super) {\n tslib_1.__extends(ImageURLTexture, _super);\n function ImageURLTexture(attrs) {\n return _super.call(this, attrs) || this;\n }\n ImageURLTexture.initClass = function () {\n this.prototype.type = \"ImageURLTexture\";\n this.define({\n url: [p.String],\n });\n };\n ImageURLTexture.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.image = new Image();\n this.image.src = this.url;\n };\n ImageURLTexture.prototype.get_pattern = function (_color, _scale, _weight) {\n var _this = this;\n return function (ctx) {\n if (!_this.image.complete) {\n return null;\n }\n return ctx.createPattern(_this.image, _this.repetition);\n };\n };\n ImageURLTexture.prototype.onload = function (defer_func) {\n if (this.image.complete) {\n defer_func();\n }\n else {\n this.image.onload = function () {\n defer_func();\n };\n }\n };\n return ImageURLTexture;\n }(texture_1.Texture));\n exports.ImageURLTexture = ImageURLTexture;\n ImageURLTexture.initClass();\n}\n","/* models/textures/index */ function _(require, module, exports) {\n var canvas_texture_1 = require(220) /* ./canvas_texture */;\n exports.CanvasTexture = canvas_texture_1.CanvasTexture;\n var image_url_texture_1 = require(221) /* ./image_url_texture */;\n exports.ImageURLTexture = image_url_texture_1.ImageURLTexture;\n var texture_1 = require(223) /* ./texture */;\n exports.Texture = texture_1.Texture;\n}\n","/* models/textures/texture */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var p = require(18) /* ../../core/properties */;\n var Texture = /** @class */ (function (_super) {\n tslib_1.__extends(Texture, _super);\n function Texture(attrs) {\n return _super.call(this, attrs) || this;\n }\n Texture.initClass = function () {\n this.prototype.type = \"Texture\";\n this.define({\n repetition: [p.TextureRepetition, \"repeat\"],\n });\n };\n Texture.prototype.onload = function (defer_func) {\n defer_func();\n };\n return Texture;\n }(model_1.Model));\n exports.Texture = Texture;\n Texture.initClass();\n}\n","/* models/tickers/adaptive_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var continuous_ticker_1 = require(228) /* ./continuous_ticker */;\n var array_1 = require(24) /* ../../core/util/array */;\n var p = require(18) /* ../../core/properties */;\n // Forces a number x into a specified range [min_val, max_val].\n function clamp(x, min_val, max_val) {\n return Math.max(min_val, Math.min(max_val, x));\n }\n // A log function with an optional base.\n function log(x, base) {\n if (base === void 0) {\n base = Math.E;\n }\n return Math.log(x) / Math.log(base);\n }\n var AdaptiveTicker = /** @class */ (function (_super) {\n tslib_1.__extends(AdaptiveTicker, _super);\n function AdaptiveTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n AdaptiveTicker.initClass = function () {\n this.prototype.type = \"AdaptiveTicker\";\n this.define({\n base: [p.Number, 10.0],\n mantissas: [p.Array, [1, 2, 5]],\n min_interval: [p.Number, 0.0],\n max_interval: [p.Number],\n });\n };\n // These arguments control the range of possible intervals. The interval I\n // returned by get_interval() will be the one that most closely matches the\n // desired number of ticks, subject to the following constraints:\n // I = (M * B^N), where\n // M is a member of mantissas,\n // B is base,\n // and N is an integer;\n // and min_interval <= I <= max_interval.\n AdaptiveTicker.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n var prefix_mantissa = array_1.nth(this.mantissas, -1) / this.base;\n var suffix_mantissa = array_1.nth(this.mantissas, 0) * this.base;\n this.extended_mantissas = [prefix_mantissa].concat(this.mantissas, [suffix_mantissa]);\n this.base_factor = this.get_min_interval() === 0.0 ? 1.0 : this.get_min_interval();\n };\n AdaptiveTicker.prototype.get_interval = function (data_low, data_high, desired_n_ticks) {\n var data_range = data_high - data_low;\n var ideal_interval = this.get_ideal_interval(data_low, data_high, desired_n_ticks);\n var interval_exponent = Math.floor(log(ideal_interval / this.base_factor, this.base));\n var ideal_magnitude = Math.pow(this.base, interval_exponent) * this.base_factor;\n // An untested optimization.\n // const ideal_mantissa = ideal_interval / ideal_magnitude\n // index = sorted_index(this.extended_mantissas, ideal_mantissa)\n // candidate_mantissas = this.extended_mantissas[index..index + 1]\n var candidate_mantissas = this.extended_mantissas;\n var errors = candidate_mantissas.map(function (mantissa) {\n return Math.abs(desired_n_ticks - (data_range / (mantissa * ideal_magnitude)));\n });\n var best_mantissa = candidate_mantissas[array_1.argmin(errors)];\n var interval = best_mantissa * ideal_magnitude;\n return clamp(interval, this.get_min_interval(), this.get_max_interval());\n };\n return AdaptiveTicker;\n }(continuous_ticker_1.ContinuousTicker));\n exports.AdaptiveTicker = AdaptiveTicker;\n AdaptiveTicker.initClass();\n}\n","/* models/tickers/basic_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var adaptive_ticker_1 = require(224) /* ./adaptive_ticker */;\n var BasicTicker = /** @class */ (function (_super) {\n tslib_1.__extends(BasicTicker, _super);\n function BasicTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n BasicTicker.initClass = function () {\n this.prototype.type = \"BasicTicker\";\n };\n return BasicTicker;\n }(adaptive_ticker_1.AdaptiveTicker));\n exports.BasicTicker = BasicTicker;\n BasicTicker.initClass();\n}\n","/* models/tickers/categorical_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var ticker_1 = require(237) /* ./ticker */;\n var CategoricalTicker = /** @class */ (function (_super) {\n tslib_1.__extends(CategoricalTicker, _super);\n function CategoricalTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n CategoricalTicker.initClass = function () {\n this.prototype.type = \"CategoricalTicker\";\n };\n CategoricalTicker.prototype.get_ticks = function (start, end, range, _cross_loc, _) {\n var majors = this._collect(range.factors, range, start, end);\n var tops = this._collect(range.tops || [], range, start, end);\n var mids = this._collect(range.mids || [], range, start, end);\n return {\n major: majors,\n minor: [],\n tops: tops,\n mids: mids,\n };\n };\n CategoricalTicker.prototype._collect = function (factors, range, start, end) {\n var result = [];\n for (var _i = 0, factors_1 = factors; _i < factors_1.length; _i++) {\n var factor = factors_1[_i];\n var coord = range.synthetic(factor);\n if (coord > start && coord < end)\n result.push(factor);\n }\n return result;\n };\n return CategoricalTicker;\n }(ticker_1.Ticker));\n exports.CategoricalTicker = CategoricalTicker;\n CategoricalTicker.initClass();\n}\n","/* models/tickers/composite_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var continuous_ticker_1 = require(228) /* ./continuous_ticker */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var object_1 = require(35) /* ../../core/util/object */;\n var CompositeTicker = /** @class */ (function (_super) {\n tslib_1.__extends(CompositeTicker, _super);\n function CompositeTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n CompositeTicker.initClass = function () {\n this.prototype.type = \"CompositeTicker\";\n this.define({\n tickers: [p.Array, []],\n });\n };\n Object.defineProperty(CompositeTicker.prototype, \"min_intervals\", {\n // The tickers should be in order of increasing interval size; specifically,\n // if S comes before T, then it should be the case that\n // S.get_max_interval() < T.get_min_interval().\n // FIXME Enforce this automatically.\n get: function () {\n return this.tickers.map(function (ticker) { return ticker.get_min_interval(); });\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CompositeTicker.prototype, \"max_intervals\", {\n get: function () {\n return this.tickers.map(function (ticker) { return ticker.get_max_interval(); });\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CompositeTicker.prototype, \"min_interval\", {\n get: function () {\n return this.min_intervals[0];\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CompositeTicker.prototype, \"max_interval\", {\n get: function () {\n return this.max_intervals[0];\n },\n enumerable: true,\n configurable: true\n });\n CompositeTicker.prototype.get_best_ticker = function (data_low, data_high, desired_n_ticks) {\n var data_range = data_high - data_low;\n var ideal_interval = this.get_ideal_interval(data_low, data_high, desired_n_ticks);\n var ticker_ndxs = [\n array_1.sorted_index(this.min_intervals, ideal_interval) - 1,\n array_1.sorted_index(this.max_intervals, ideal_interval),\n ];\n var intervals = [\n this.min_intervals[ticker_ndxs[0]],\n this.max_intervals[ticker_ndxs[1]],\n ];\n var errors = intervals.map(function (interval) {\n return Math.abs(desired_n_ticks - (data_range / interval));\n });\n var best_ticker;\n if (object_1.isEmpty(errors.filter(function (e) { return !isNaN(e); }))) {\n // this can happen if the data isn't loaded yet, we just default to the first scale\n best_ticker = this.tickers[0];\n }\n else {\n var best_index = array_1.argmin(errors);\n var best_ticker_ndx = ticker_ndxs[best_index];\n best_ticker = this.tickers[best_ticker_ndx];\n }\n return best_ticker;\n };\n CompositeTicker.prototype.get_interval = function (data_low, data_high, desired_n_ticks) {\n var best_ticker = this.get_best_ticker(data_low, data_high, desired_n_ticks);\n return best_ticker.get_interval(data_low, data_high, desired_n_ticks);\n };\n CompositeTicker.prototype.get_ticks_no_defaults = function (data_low, data_high, cross_loc, desired_n_ticks) {\n var best_ticker = this.get_best_ticker(data_low, data_high, desired_n_ticks);\n return best_ticker.get_ticks_no_defaults(data_low, data_high, cross_loc, desired_n_ticks);\n };\n return CompositeTicker;\n }(continuous_ticker_1.ContinuousTicker));\n exports.CompositeTicker = CompositeTicker;\n CompositeTicker.initClass();\n}\n","/* models/tickers/continuous_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var ticker_1 = require(237) /* ./ticker */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var types_1 = require(46) /* ../../core/util/types */;\n var ContinuousTicker = /** @class */ (function (_super) {\n tslib_1.__extends(ContinuousTicker, _super);\n function ContinuousTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n ContinuousTicker.initClass = function () {\n this.prototype.type = \"ContinuousTicker\";\n this.define({\n num_minor_ticks: [p.Number, 5],\n desired_num_ticks: [p.Number, 6],\n });\n };\n ContinuousTicker.prototype.get_ticks = function (data_low, data_high, _range, cross_loc, _) {\n return this.get_ticks_no_defaults(data_low, data_high, cross_loc, this.desired_num_ticks);\n };\n // The version of get_ticks() that does the work (and the version that\n // should be overridden in subclasses).\n ContinuousTicker.prototype.get_ticks_no_defaults = function (data_low, data_high, _cross_loc, desired_n_ticks) {\n var interval = this.get_interval(data_low, data_high, desired_n_ticks);\n var start_factor = Math.floor(data_low / interval);\n var end_factor = Math.ceil(data_high / interval);\n var factors;\n if (types_1.isStrictNaN(start_factor) || types_1.isStrictNaN(end_factor))\n factors = [];\n else\n factors = array_1.range(start_factor, end_factor + 1);\n var ticks = factors.map(function (factor) { return factor * interval; })\n .filter(function (tick) { return data_low <= tick && tick <= data_high; });\n var num_minor_ticks = this.num_minor_ticks;\n var minor_ticks = [];\n if (num_minor_ticks > 0 && ticks.length > 0) {\n var minor_interval_1 = interval / num_minor_ticks;\n var minor_offsets = array_1.range(0, num_minor_ticks).map(function (i) { return i * minor_interval_1; });\n for (var _i = 0, _a = minor_offsets.slice(1); _i < _a.length; _i++) {\n var x = _a[_i];\n var mt = ticks[0] - x;\n if (data_low <= mt && mt <= data_high) {\n minor_ticks.push(mt);\n }\n }\n for (var _b = 0, ticks_1 = ticks; _b < ticks_1.length; _b++) {\n var tick = ticks_1[_b];\n for (var _c = 0, minor_offsets_1 = minor_offsets; _c < minor_offsets_1.length; _c++) {\n var x = minor_offsets_1[_c];\n var mt = tick + x;\n if (data_low <= mt && mt <= data_high) {\n minor_ticks.push(mt);\n }\n }\n }\n }\n return {\n major: ticks,\n minor: minor_ticks,\n };\n };\n // Returns the smallest interval that can be returned by get_interval().\n ContinuousTicker.prototype.get_min_interval = function () {\n return this.min_interval;\n };\n // Returns the largest interval that can be returned by get_interval().\n ContinuousTicker.prototype.get_max_interval = function () {\n return this.max_interval != null ? this.max_interval : Infinity;\n };\n // Returns the interval size that would produce exactly the number of\n // desired ticks. (In general we won't use exactly this interval, because\n // we want the ticks to be round numbers.)\n ContinuousTicker.prototype.get_ideal_interval = function (data_low, data_high, desired_n_ticks) {\n var data_range = data_high - data_low;\n return data_range / desired_n_ticks;\n };\n return ContinuousTicker;\n }(ticker_1.Ticker));\n exports.ContinuousTicker = ContinuousTicker;\n ContinuousTicker.initClass();\n}\n","/* models/tickers/datetime_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var array_1 = require(24) /* ../../core/util/array */;\n var adaptive_ticker_1 = require(224) /* ./adaptive_ticker */;\n var composite_ticker_1 = require(227) /* ./composite_ticker */;\n var days_ticker_1 = require(230) /* ./days_ticker */;\n var months_ticker_1 = require(235) /* ./months_ticker */;\n var years_ticker_1 = require(239) /* ./years_ticker */;\n var util_1 = require(238) /* ./util */;\n var DatetimeTicker = /** @class */ (function (_super) {\n tslib_1.__extends(DatetimeTicker, _super);\n function DatetimeTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n DatetimeTicker.initClass = function () {\n this.prototype.type = \"DatetimeTicker\";\n this.override({\n num_minor_ticks: 0,\n tickers: function () {\n return [\n // Sub-second.\n new adaptive_ticker_1.AdaptiveTicker({\n mantissas: [1, 2, 5],\n base: 10,\n min_interval: 0,\n max_interval: 500 * util_1.ONE_MILLI,\n num_minor_ticks: 0,\n }),\n // Seconds, minutes.\n new adaptive_ticker_1.AdaptiveTicker({\n mantissas: [1, 2, 5, 10, 15, 20, 30],\n base: 60,\n min_interval: util_1.ONE_SECOND,\n max_interval: 30 * util_1.ONE_MINUTE,\n num_minor_ticks: 0,\n }),\n // Hours.\n new adaptive_ticker_1.AdaptiveTicker({\n mantissas: [1, 2, 4, 6, 8, 12],\n base: 24.0,\n min_interval: util_1.ONE_HOUR,\n max_interval: 12 * util_1.ONE_HOUR,\n num_minor_ticks: 0,\n }),\n // Days.\n new days_ticker_1.DaysTicker({ days: array_1.range(1, 32) }),\n new days_ticker_1.DaysTicker({ days: array_1.range(1, 31, 3) }),\n new days_ticker_1.DaysTicker({ days: [1, 8, 15, 22] }),\n new days_ticker_1.DaysTicker({ days: [1, 15] }),\n // Months.\n new months_ticker_1.MonthsTicker({ months: array_1.range(0, 12, 1) }),\n new months_ticker_1.MonthsTicker({ months: array_1.range(0, 12, 2) }),\n new months_ticker_1.MonthsTicker({ months: array_1.range(0, 12, 4) }),\n new months_ticker_1.MonthsTicker({ months: array_1.range(0, 12, 6) }),\n // Years\n new years_ticker_1.YearsTicker({}),\n ];\n },\n });\n };\n return DatetimeTicker;\n }(composite_ticker_1.CompositeTicker));\n exports.DatetimeTicker = DatetimeTicker;\n DatetimeTicker.initClass();\n}\n","/* models/tickers/days_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var single_interval_ticker_1 = require(236) /* ./single_interval_ticker */;\n var util_1 = require(238) /* ./util */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n // Given a start and end time in millis, returns the shortest array of\n // consecutive months (as Dates) that surrounds both times.\n function date_range_by_month(start_time, end_time) {\n var start_date = util_1.last_month_no_later_than(new Date(start_time));\n var end_date = util_1.last_month_no_later_than(new Date(end_time));\n // XXX This is not a reliable technique in general, but it should be\n // safe when the day of the month is 1. (The problem case is this:\n // Mar 31 -> Apr 31, which becomes May 1.)\n end_date.setUTCMonth(end_date.getUTCMonth() + 1);\n var dates = [];\n var date = start_date;\n while (true) {\n dates.push(util_1.copy_date(date));\n date.setUTCMonth(date.getUTCMonth() + 1);\n if (date > end_date)\n break;\n }\n return dates;\n }\n var DaysTicker = /** @class */ (function (_super) {\n tslib_1.__extends(DaysTicker, _super);\n function DaysTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n DaysTicker.initClass = function () {\n this.prototype.type = \"DaysTicker\";\n this.define({\n days: [p.Array, []],\n });\n this.override({\n num_minor_ticks: 0,\n });\n };\n DaysTicker.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n var days = this.days;\n if (days.length > 1)\n this.interval = (days[1] - days[0]) * util_1.ONE_DAY;\n else\n this.interval = 31 * util_1.ONE_DAY;\n };\n DaysTicker.prototype.get_ticks_no_defaults = function (data_low, data_high, _cross_loc, _desired_n_ticks) {\n var month_dates = date_range_by_month(data_low, data_high);\n var days = this.days;\n var days_of_month = function (month_date, interval) {\n var current_month = month_date.getUTCMonth();\n var dates = [];\n for (var _i = 0, days_1 = days; _i < days_1.length; _i++) {\n var day = days_1[_i];\n var day_date = util_1.copy_date(month_date);\n day_date.setUTCDate(day);\n // We can't use all of the values in this.days, because they may not\n // fall within the current month. In fact, if, e.g., our month is 28 days\n // and we're marking every third day, we don't want day 28 to show up\n // because it'll be right next to the 1st of the next month. So we\n // make sure we have a bit of room before we include a day.\n // TODO (bev) The above description does not exactly work because JS Date\n // is broken and will happily consider \"Feb 28 + 3*ONE_DAY\" to have month \"2\"\n var future_date = new Date(day_date.getTime() + (interval / 2));\n if (future_date.getUTCMonth() == current_month)\n dates.push(day_date);\n }\n return dates;\n };\n var interval = this.interval;\n var day_dates = array_1.concat(month_dates.map(function (date) { return days_of_month(date, interval); }));\n var all_ticks = day_dates.map(function (day_date) { return day_date.getTime(); });\n var ticks_in_range = all_ticks.filter(function (tick) { return data_low <= tick && tick <= data_high; });\n return {\n major: ticks_in_range,\n minor: [],\n };\n };\n return DaysTicker;\n }(single_interval_ticker_1.SingleIntervalTicker));\n exports.DaysTicker = DaysTicker;\n DaysTicker.initClass();\n}\n","/* models/tickers/fixed_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var continuous_ticker_1 = require(228) /* ./continuous_ticker */;\n var p = require(18) /* ../../core/properties */;\n var FixedTicker = /** @class */ (function (_super) {\n tslib_1.__extends(FixedTicker, _super);\n function FixedTicker(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.min_interval = 0;\n _this.max_interval = 0;\n return _this;\n }\n FixedTicker.initClass = function () {\n this.prototype.type = \"FixedTicker\";\n this.define({\n ticks: [p.Array, []],\n minor_ticks: [p.Array, []],\n });\n };\n FixedTicker.prototype.get_ticks_no_defaults = function (_data_low, _data_high, _cross_loc, _desired_n_ticks) {\n return {\n major: this.ticks,\n minor: this.minor_ticks,\n };\n };\n // XXX: whatever, because FixedTicker needs to fullfill the interface somehow\n FixedTicker.prototype.get_interval = function (_data_low, _data_high, _desired_n_ticks) {\n return 0;\n };\n return FixedTicker;\n }(continuous_ticker_1.ContinuousTicker));\n exports.FixedTicker = FixedTicker;\n FixedTicker.initClass();\n}\n","/* models/tickers/index */ function _(require, module, exports) {\n var adaptive_ticker_1 = require(224) /* ./adaptive_ticker */;\n exports.AdaptiveTicker = adaptive_ticker_1.AdaptiveTicker;\n var basic_ticker_1 = require(225) /* ./basic_ticker */;\n exports.BasicTicker = basic_ticker_1.BasicTicker;\n var categorical_ticker_1 = require(226) /* ./categorical_ticker */;\n exports.CategoricalTicker = categorical_ticker_1.CategoricalTicker;\n var composite_ticker_1 = require(227) /* ./composite_ticker */;\n exports.CompositeTicker = composite_ticker_1.CompositeTicker;\n var continuous_ticker_1 = require(228) /* ./continuous_ticker */;\n exports.ContinuousTicker = continuous_ticker_1.ContinuousTicker;\n var datetime_ticker_1 = require(229) /* ./datetime_ticker */;\n exports.DatetimeTicker = datetime_ticker_1.DatetimeTicker;\n var days_ticker_1 = require(230) /* ./days_ticker */;\n exports.DaysTicker = days_ticker_1.DaysTicker;\n var fixed_ticker_1 = require(231) /* ./fixed_ticker */;\n exports.FixedTicker = fixed_ticker_1.FixedTicker;\n var log_ticker_1 = require(233) /* ./log_ticker */;\n exports.LogTicker = log_ticker_1.LogTicker;\n var mercator_ticker_1 = require(234) /* ./mercator_ticker */;\n exports.MercatorTicker = mercator_ticker_1.MercatorTicker;\n var months_ticker_1 = require(235) /* ./months_ticker */;\n exports.MonthsTicker = months_ticker_1.MonthsTicker;\n var single_interval_ticker_1 = require(236) /* ./single_interval_ticker */;\n exports.SingleIntervalTicker = single_interval_ticker_1.SingleIntervalTicker;\n var ticker_1 = require(237) /* ./ticker */;\n exports.Ticker = ticker_1.Ticker;\n var years_ticker_1 = require(239) /* ./years_ticker */;\n exports.YearsTicker = years_ticker_1.YearsTicker;\n}\n","/* models/tickers/log_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var adaptive_ticker_1 = require(224) /* ./adaptive_ticker */;\n var array_1 = require(24) /* ../../core/util/array */;\n var LogTicker = /** @class */ (function (_super) {\n tslib_1.__extends(LogTicker, _super);\n function LogTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n LogTicker.initClass = function () {\n this.prototype.type = \"LogTicker\";\n this.override({\n mantissas: [1, 5],\n });\n };\n LogTicker.prototype.get_ticks_no_defaults = function (data_low, data_high, _cross_loc, desired_n_ticks) {\n var num_minor_ticks = this.num_minor_ticks;\n var minor_ticks = [];\n var base = this.base;\n var log_low = Math.log(data_low) / Math.log(base);\n var log_high = Math.log(data_high) / Math.log(base);\n var log_interval = log_high - log_low;\n var ticks;\n if (!isFinite(log_interval)) {\n ticks = [];\n }\n else if (log_interval < 2) { // treat as linear ticker\n var interval_1 = this.get_interval(data_low, data_high, desired_n_ticks);\n var start_factor = Math.floor(data_low / interval_1);\n var end_factor = Math.ceil(data_high / interval_1);\n ticks = array_1.range(start_factor, end_factor + 1)\n .filter(function (factor) { return factor != 0; })\n .map(function (factor) { return factor * interval_1; })\n .filter(function (tick) { return data_low <= tick && tick <= data_high; });\n if (num_minor_ticks > 0 && ticks.length > 0) {\n var minor_interval_1 = interval_1 / num_minor_ticks;\n var minor_offsets = array_1.range(0, num_minor_ticks).map(function (i) { return i * minor_interval_1; });\n for (var _i = 0, _a = minor_offsets.slice(1); _i < _a.length; _i++) {\n var x = _a[_i];\n minor_ticks.push(ticks[0] - x);\n }\n for (var _b = 0, ticks_1 = ticks; _b < ticks_1.length; _b++) {\n var tick = ticks_1[_b];\n for (var _c = 0, minor_offsets_1 = minor_offsets; _c < minor_offsets_1.length; _c++) {\n var x = minor_offsets_1[_c];\n minor_ticks.push(tick + x);\n }\n }\n }\n }\n else {\n var startlog = Math.ceil(log_low * 0.999999);\n var endlog = Math.floor(log_high * 1.000001);\n var interval = Math.ceil((endlog - startlog) / 9.0);\n ticks = array_1.range(startlog - 1, endlog + 1, interval)\n .map(function (i) { return Math.pow(base, i); });\n if (num_minor_ticks > 0 && ticks.length > 0) {\n var minor_interval_2 = Math.pow(base, interval) / num_minor_ticks;\n var minor_offsets = array_1.range(1, num_minor_ticks + 1).map(function (i) { return i * minor_interval_2; });\n for (var _d = 0, minor_offsets_2 = minor_offsets; _d < minor_offsets_2.length; _d++) {\n var x = minor_offsets_2[_d];\n minor_ticks.push(ticks[0] / x);\n }\n minor_ticks.push(ticks[0]);\n for (var _e = 0, ticks_2 = ticks; _e < ticks_2.length; _e++) {\n var tick = ticks_2[_e];\n for (var _f = 0, minor_offsets_3 = minor_offsets; _f < minor_offsets_3.length; _f++) {\n var x = minor_offsets_3[_f];\n minor_ticks.push(tick * x);\n }\n }\n }\n }\n return {\n major: ticks.filter(function (tick) { return data_low <= tick && tick <= data_high; }),\n minor: minor_ticks.filter(function (tick) { return data_low <= tick && tick <= data_high; }),\n };\n };\n return LogTicker;\n }(adaptive_ticker_1.AdaptiveTicker));\n exports.LogTicker = LogTicker;\n LogTicker.initClass();\n}\n","/* models/tickers/mercator_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var basic_ticker_1 = require(225) /* ./basic_ticker */;\n var p = require(18) /* ../../core/properties */;\n var projections_1 = require(36) /* ../../core/util/projections */;\n var MercatorTicker = /** @class */ (function (_super) {\n tslib_1.__extends(MercatorTicker, _super);\n function MercatorTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n MercatorTicker.initClass = function () {\n this.prototype.type = \"MercatorTicker\";\n this.define({\n dimension: [p.LatLon],\n });\n };\n MercatorTicker.prototype.get_ticks_no_defaults = function (data_low, data_high, cross_loc, desired_n_ticks) {\n var _a, _b, _c, _d, _e;\n if (this.dimension == null) {\n throw new Error(\"MercatorTicker.dimension not configured\");\n }\n _a = projections_1.clip_mercator(data_low, data_high, this.dimension), data_low = _a[0], data_high = _a[1];\n var proj_low, proj_high, proj_cross_loc;\n if (this.dimension === \"lon\") {\n _b = projections_1.wgs84_mercator.inverse([data_low, cross_loc]), proj_low = _b[0], proj_cross_loc = _b[1];\n _c = projections_1.wgs84_mercator.inverse([data_high, cross_loc]), proj_high = _c[0], proj_cross_loc = _c[1];\n }\n else {\n _d = projections_1.wgs84_mercator.inverse([cross_loc, data_low]), proj_cross_loc = _d[0], proj_low = _d[1];\n _e = projections_1.wgs84_mercator.inverse([cross_loc, data_high]), proj_cross_loc = _e[0], proj_high = _e[1];\n }\n var proj_ticks = _super.prototype.get_ticks_no_defaults.call(this, proj_low, proj_high, cross_loc, desired_n_ticks);\n var major = [];\n var minor = [];\n if (this.dimension === \"lon\") {\n for (var _i = 0, _f = proj_ticks.major; _i < _f.length; _i++) {\n var tick = _f[_i];\n if (projections_1.in_bounds(tick, 'lon')) {\n var lon = projections_1.wgs84_mercator.forward([tick, proj_cross_loc])[0];\n major.push(lon);\n }\n }\n for (var _g = 0, _h = proj_ticks.minor; _g < _h.length; _g++) {\n var tick = _h[_g];\n if (projections_1.in_bounds(tick, 'lon')) {\n var lon = projections_1.wgs84_mercator.forward([tick, proj_cross_loc])[0];\n minor.push(lon);\n }\n }\n }\n else {\n for (var _j = 0, _k = proj_ticks.major; _j < _k.length; _j++) {\n var tick = _k[_j];\n if (projections_1.in_bounds(tick, 'lat')) {\n var _l = projections_1.wgs84_mercator.forward([proj_cross_loc, tick]), lat = _l[1];\n major.push(lat);\n }\n }\n for (var _m = 0, _o = proj_ticks.minor; _m < _o.length; _m++) {\n var tick = _o[_m];\n if (projections_1.in_bounds(tick, 'lat')) {\n var _p = projections_1.wgs84_mercator.forward([proj_cross_loc, tick]), lat = _p[1];\n minor.push(lat);\n }\n }\n }\n return { major: major, minor: minor };\n };\n return MercatorTicker;\n }(basic_ticker_1.BasicTicker));\n exports.MercatorTicker = MercatorTicker;\n MercatorTicker.initClass();\n}\n","/* models/tickers/months_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var single_interval_ticker_1 = require(236) /* ./single_interval_ticker */;\n var util_1 = require(238) /* ./util */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n // Given a start and end time in millis, returns the shortest array of\n // consecutive years (as Dates) that surrounds both times.\n function date_range_by_year(start_time, end_time) {\n var start_date = util_1.last_year_no_later_than(new Date(start_time));\n var end_date = util_1.last_year_no_later_than(new Date(end_time));\n end_date.setUTCFullYear(end_date.getUTCFullYear() + 1);\n var dates = [];\n var date = start_date;\n while (true) {\n dates.push(util_1.copy_date(date));\n date.setUTCFullYear(date.getUTCFullYear() + 1);\n if (date > end_date)\n break;\n }\n return dates;\n }\n var MonthsTicker = /** @class */ (function (_super) {\n tslib_1.__extends(MonthsTicker, _super);\n function MonthsTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n MonthsTicker.initClass = function () {\n this.prototype.type = \"MonthsTicker\";\n this.define({\n months: [p.Array, []],\n });\n };\n MonthsTicker.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n var months = this.months;\n if (months.length > 1)\n this.interval = (months[1] - months[0]) * util_1.ONE_MONTH;\n else\n this.interval = 12 * util_1.ONE_MONTH;\n };\n MonthsTicker.prototype.get_ticks_no_defaults = function (data_low, data_high, _cross_loc, _desired_n_ticks) {\n var year_dates = date_range_by_year(data_low, data_high);\n var months = this.months;\n var months_of_year = function (year_date) {\n return months.map(function (month) {\n var month_date = util_1.copy_date(year_date);\n month_date.setUTCMonth(month);\n return month_date;\n });\n };\n var month_dates = array_1.concat(year_dates.map(months_of_year));\n var all_ticks = month_dates.map(function (month_date) { return month_date.getTime(); });\n var ticks_in_range = all_ticks.filter(function (tick) { return data_low <= tick && tick <= data_high; });\n return {\n major: ticks_in_range,\n minor: [],\n };\n };\n return MonthsTicker;\n }(single_interval_ticker_1.SingleIntervalTicker));\n exports.MonthsTicker = MonthsTicker;\n MonthsTicker.initClass();\n}\n","/* models/tickers/single_interval_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var continuous_ticker_1 = require(228) /* ./continuous_ticker */;\n var p = require(18) /* ../../core/properties */;\n var SingleIntervalTicker = /** @class */ (function (_super) {\n tslib_1.__extends(SingleIntervalTicker, _super);\n function SingleIntervalTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n SingleIntervalTicker.initClass = function () {\n this.prototype.type = \"SingleIntervalTicker\";\n this.define({\n interval: [p.Number],\n });\n };\n SingleIntervalTicker.prototype.get_interval = function (_data_low, _data_high, _n_desired_ticks) {\n return this.interval;\n };\n Object.defineProperty(SingleIntervalTicker.prototype, \"min_interval\", {\n get: function () {\n return this.interval;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(SingleIntervalTicker.prototype, \"max_interval\", {\n get: function () {\n return this.interval;\n },\n enumerable: true,\n configurable: true\n });\n return SingleIntervalTicker;\n }(continuous_ticker_1.ContinuousTicker));\n exports.SingleIntervalTicker = SingleIntervalTicker;\n SingleIntervalTicker.initClass();\n}\n","/* models/tickers/ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var Ticker = /** @class */ (function (_super) {\n tslib_1.__extends(Ticker, _super);\n function Ticker(attrs) {\n return _super.call(this, attrs) || this;\n }\n Ticker.initClass = function () {\n this.prototype.type = \"Ticker\";\n };\n return Ticker;\n }(model_1.Model));\n exports.Ticker = Ticker;\n Ticker.initClass();\n}\n","/* models/tickers/util */ function _(require, module, exports) {\n // Some time constants, in milliseconds.\n exports.ONE_MILLI = 1.0;\n exports.ONE_SECOND = 1000.0;\n exports.ONE_MINUTE = 60.0 * exports.ONE_SECOND;\n exports.ONE_HOUR = 60 * exports.ONE_MINUTE;\n exports.ONE_DAY = 24 * exports.ONE_HOUR;\n exports.ONE_MONTH = 30 * exports.ONE_DAY; // An approximation, obviously.\n exports.ONE_YEAR = 365 * exports.ONE_DAY;\n // ---------------------------------------------------------------------------\n // Date/time utility functions\n // ---------------------------------------------------------------------------\n // Makes a copy of a date object.\n function copy_date(date) {\n return new Date(date.getTime());\n }\n exports.copy_date = copy_date;\n // Rounds a date down to the month.\n function last_month_no_later_than(date) {\n var new_date = copy_date(date);\n new_date.setUTCDate(1);\n new_date.setUTCHours(0);\n new_date.setUTCMinutes(0);\n new_date.setUTCSeconds(0);\n new_date.setUTCMilliseconds(0);\n return new_date;\n }\n exports.last_month_no_later_than = last_month_no_later_than;\n // Rounds a date down to the year.\n function last_year_no_later_than(date) {\n var new_date = last_month_no_later_than(date);\n new_date.setUTCMonth(0);\n return new_date;\n }\n exports.last_year_no_later_than = last_year_no_later_than;\n}\n","/* models/tickers/years_ticker */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var basic_ticker_1 = require(225) /* ./basic_ticker */;\n var single_interval_ticker_1 = require(236) /* ./single_interval_ticker */;\n var util_1 = require(238) /* ./util */;\n var YearsTicker = /** @class */ (function (_super) {\n tslib_1.__extends(YearsTicker, _super);\n function YearsTicker(attrs) {\n return _super.call(this, attrs) || this;\n }\n YearsTicker.initClass = function () {\n this.prototype.type = \"YearsTicker\";\n };\n YearsTicker.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.interval = util_1.ONE_YEAR;\n this.basic_ticker = new basic_ticker_1.BasicTicker({ num_minor_ticks: 0 });\n };\n YearsTicker.prototype.get_ticks_no_defaults = function (data_low, data_high, cross_loc, desired_n_ticks) {\n var start_year = util_1.last_year_no_later_than(new Date(data_low)).getUTCFullYear();\n var end_year = util_1.last_year_no_later_than(new Date(data_high)).getUTCFullYear();\n var years = this.basic_ticker.get_ticks_no_defaults(start_year, end_year, cross_loc, desired_n_ticks).major;\n var all_ticks = years.map(function (year) { return Date.UTC(year, 0, 1); });\n var ticks_in_range = all_ticks.filter(function (tick) { return data_low <= tick && tick <= data_high; });\n return {\n major: ticks_in_range,\n minor: [],\n };\n };\n return YearsTicker;\n }(single_interval_ticker_1.SingleIntervalTicker));\n exports.YearsTicker = YearsTicker;\n YearsTicker.initClass();\n}\n","/* models/tiles/bbox_tile_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var mercator_tile_source_1 = require(243) /* ./mercator_tile_source */;\n var p = require(18) /* ../../core/properties */;\n var BBoxTileSource = /** @class */ (function (_super) {\n tslib_1.__extends(BBoxTileSource, _super);\n function BBoxTileSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n BBoxTileSource.initClass = function () {\n this.prototype.type = 'BBoxTileSource';\n this.define({\n use_latlon: [p.Boolean, false],\n });\n };\n BBoxTileSource.prototype.get_image_url = function (x, y, z) {\n var _a, _b;\n var image_url = this.string_lookup_replace(this.url, this.extra_url_vars);\n var xmax, xmin, ymax, ymin;\n if (this.use_latlon)\n _a = this.get_tile_geographic_bounds(x, y, z), xmin = _a[0], ymin = _a[1], xmax = _a[2], ymax = _a[3];\n else\n _b = this.get_tile_meter_bounds(x, y, z), xmin = _b[0], ymin = _b[1], xmax = _b[2], ymax = _b[3];\n return image_url.replace(\"{XMIN}\", xmin.toString())\n .replace(\"{YMIN}\", ymin.toString())\n .replace(\"{XMAX}\", xmax.toString())\n .replace(\"{YMAX}\", ymax.toString());\n };\n return BBoxTileSource;\n }(mercator_tile_source_1.MercatorTileSource));\n exports.BBoxTileSource = BBoxTileSource;\n BBoxTileSource.initClass();\n}\n","/* models/tiles/image_pool */ function _(require, module, exports) {\n var types_1 = require(46) /* ../../core/util/types */;\n var ImagePool = /** @class */ (function () {\n function ImagePool() {\n this.images = [];\n }\n ImagePool.prototype.pop = function () {\n var img = this.images.pop();\n return img != null ? img : new Image();\n };\n ImagePool.prototype.push = function (img) {\n var _a;\n if (this.images.length > 50)\n return;\n if (types_1.isArray(img))\n (_a = this.images).push.apply(_a, img);\n else\n this.images.push(img);\n };\n return ImagePool;\n }());\n exports.ImagePool = ImagePool;\n}\n","/* models/tiles/index */ function _(require, module, exports) {\n var bbox_tile_source_1 = require(240) /* ./bbox_tile_source */;\n exports.BBoxTileSource = bbox_tile_source_1.BBoxTileSource;\n var mercator_tile_source_1 = require(243) /* ./mercator_tile_source */;\n exports.MercatorTileSource = mercator_tile_source_1.MercatorTileSource;\n var quadkey_tile_source_1 = require(244) /* ./quadkey_tile_source */;\n exports.QUADKEYTileSource = quadkey_tile_source_1.QUADKEYTileSource;\n var tile_renderer_1 = require(245) /* ./tile_renderer */;\n exports.TileRenderer = tile_renderer_1.TileRenderer;\n var tile_source_1 = require(246) /* ./tile_source */;\n exports.TileSource = tile_source_1.TileSource;\n var tms_tile_source_1 = require(248) /* ./tms_tile_source */;\n exports.TMSTileSource = tms_tile_source_1.TMSTileSource;\n var wmts_tile_source_1 = require(249) /* ./wmts_tile_source */;\n exports.WMTSTileSource = wmts_tile_source_1.WMTSTileSource;\n}\n","/* models/tiles/mercator_tile_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var tile_source_1 = require(246) /* ./tile_source */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var tile_utils_1 = require(247) /* ./tile_utils */;\n var MercatorTileSource = /** @class */ (function (_super) {\n tslib_1.__extends(MercatorTileSource, _super);\n function MercatorTileSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n MercatorTileSource.initClass = function () {\n this.prototype.type = 'MercatorTileSource';\n this.define({\n snap_to_zoom: [p.Boolean, false],\n wrap_around: [p.Boolean, true],\n });\n this.override({\n x_origin_offset: 20037508.34,\n y_origin_offset: 20037508.34,\n initial_resolution: 156543.03392804097,\n });\n };\n MercatorTileSource.prototype.initialize = function () {\n var _this = this;\n _super.prototype.initialize.call(this);\n this._resolutions = array_1.range(this.min_zoom, this.max_zoom + 1).map(function (z) { return _this.get_resolution(z); });\n };\n MercatorTileSource.prototype._computed_initial_resolution = function () {\n if (this.initial_resolution != null)\n return this.initial_resolution;\n else {\n // TODO testing 2015-11-17, if this codepath is used it seems\n // to use 100% cpu and wedge Chrome\n return (2 * Math.PI * 6378137) / this.tile_size;\n }\n };\n MercatorTileSource.prototype.is_valid_tile = function (x, y, z) {\n if (!this.wrap_around) {\n if (x < 0 || x >= Math.pow(2, z))\n return false;\n }\n if (y < 0 || y >= Math.pow(2, z))\n return false;\n return true;\n };\n MercatorTileSource.prototype.parent_by_tile_xyz = function (x, y, z) {\n var quadkey = this.tile_xyz_to_quadkey(x, y, z);\n var parent_quadkey = quadkey.substring(0, quadkey.length - 1);\n return this.quadkey_to_tile_xyz(parent_quadkey);\n };\n MercatorTileSource.prototype.get_resolution = function (level) {\n return this._computed_initial_resolution() / Math.pow(2, level);\n };\n MercatorTileSource.prototype.get_resolution_by_extent = function (extent, height, width) {\n var x_rs = (extent[2] - extent[0]) / width;\n var y_rs = (extent[3] - extent[1]) / height;\n return [x_rs, y_rs];\n };\n MercatorTileSource.prototype.get_level_by_extent = function (extent, height, width) {\n var x_rs = (extent[2] - extent[0]) / width;\n var y_rs = (extent[3] - extent[1]) / height;\n var resolution = Math.max(x_rs, y_rs);\n var i = 0;\n for (var _i = 0, _a = this._resolutions; _i < _a.length; _i++) {\n var r = _a[_i];\n if (resolution > r) {\n if (i == 0)\n return 0;\n if (i > 0)\n return i - 1;\n }\n i += 1;\n }\n // otherwise return the highest available resolution\n return (i - 1);\n };\n MercatorTileSource.prototype.get_closest_level_by_extent = function (extent, height, width) {\n var x_rs = (extent[2] - extent[0]) / width;\n var y_rs = (extent[3] - extent[1]) / height;\n var resolution = Math.max(x_rs, y_rs);\n var closest = this._resolutions.reduce(function (previous, current) {\n if (Math.abs(current - resolution) < Math.abs(previous - resolution))\n return current;\n else\n return previous;\n });\n return this._resolutions.indexOf(closest);\n };\n MercatorTileSource.prototype.snap_to_zoom_level = function (extent, height, width, level) {\n var xmin = extent[0], ymin = extent[1], xmax = extent[2], ymax = extent[3];\n var desired_res = this._resolutions[level];\n var desired_x_delta = width * desired_res;\n var desired_y_delta = height * desired_res;\n if (!this.snap_to_zoom) {\n var xscale = (xmax - xmin) / desired_x_delta;\n var yscale = (ymax - ymin) / desired_y_delta;\n if (xscale > yscale) {\n desired_x_delta = (xmax - xmin);\n desired_y_delta = desired_y_delta * xscale;\n }\n else {\n desired_x_delta = desired_x_delta * yscale;\n desired_y_delta = (ymax - ymin);\n }\n }\n var x_adjust = (desired_x_delta - (xmax - xmin)) / 2;\n var y_adjust = (desired_y_delta - (ymax - ymin)) / 2;\n return [xmin - x_adjust, ymin - y_adjust, xmax + x_adjust, ymax + y_adjust];\n };\n MercatorTileSource.prototype.tms_to_wmts = function (x, y, z) {\n 'Note this works both ways';\n return [x, Math.pow(2, z) - 1 - y, z];\n };\n MercatorTileSource.prototype.wmts_to_tms = function (x, y, z) {\n 'Note this works both ways';\n return [x, Math.pow(2, z) - 1 - y, z];\n };\n MercatorTileSource.prototype.pixels_to_meters = function (px, py, level) {\n var res = this.get_resolution(level);\n var mx = (px * res) - this.x_origin_offset;\n var my = (py * res) - this.y_origin_offset;\n return [mx, my];\n };\n MercatorTileSource.prototype.meters_to_pixels = function (mx, my, level) {\n var res = this.get_resolution(level);\n var px = (mx + this.x_origin_offset) / res;\n var py = (my + this.y_origin_offset) / res;\n return [px, py];\n };\n MercatorTileSource.prototype.pixels_to_tile = function (px, py) {\n var tx = Math.ceil(px / this.tile_size);\n tx = tx === 0 ? tx : tx - 1;\n var ty = Math.max(Math.ceil(py / this.tile_size) - 1, 0);\n return [tx, ty];\n };\n MercatorTileSource.prototype.pixels_to_raster = function (px, py, level) {\n var mapSize = this.tile_size << level;\n return [px, mapSize - py];\n };\n MercatorTileSource.prototype.meters_to_tile = function (mx, my, level) {\n var _a = this.meters_to_pixels(mx, my, level), px = _a[0], py = _a[1];\n return this.pixels_to_tile(px, py);\n };\n MercatorTileSource.prototype.get_tile_meter_bounds = function (tx, ty, level) {\n // expects tms styles coordinates (bottom-left origin)\n var _a = this.pixels_to_meters(tx * this.tile_size, ty * this.tile_size, level), xmin = _a[0], ymin = _a[1];\n var _b = this.pixels_to_meters((tx + 1) * this.tile_size, (ty + 1) * this.tile_size, level), xmax = _b[0], ymax = _b[1];\n return [xmin, ymin, xmax, ymax];\n };\n MercatorTileSource.prototype.get_tile_geographic_bounds = function (tx, ty, level) {\n var bounds = this.get_tile_meter_bounds(tx, ty, level);\n var _a = tile_utils_1.meters_extent_to_geographic(bounds), minLon = _a[0], minLat = _a[1], maxLon = _a[2], maxLat = _a[3];\n return [minLon, minLat, maxLon, maxLat];\n };\n MercatorTileSource.prototype.get_tiles_by_extent = function (extent, level, tile_border) {\n if (tile_border === void 0) {\n tile_border = 1;\n }\n // unpack extent and convert to tile coordinates\n var xmin = extent[0], ymin = extent[1], xmax = extent[2], ymax = extent[3];\n var _a = this.meters_to_tile(xmin, ymin, level), txmin = _a[0], tymin = _a[1];\n var _b = this.meters_to_tile(xmax, ymax, level), txmax = _b[0], tymax = _b[1];\n // add tiles which border\n txmin -= tile_border;\n tymin -= tile_border;\n txmax += tile_border;\n tymax += tile_border;\n var tiles = [];\n for (var ty = tymax; ty >= tymin; ty--) {\n for (var tx = txmin; tx <= txmax; tx++) {\n if (this.is_valid_tile(tx, ty, level))\n tiles.push([tx, ty, level, this.get_tile_meter_bounds(tx, ty, level)]);\n }\n }\n this.sort_tiles_from_center(tiles, [txmin, tymin, txmax, tymax]);\n return tiles;\n };\n MercatorTileSource.prototype.quadkey_to_tile_xyz = function (quadKey) {\n /**\n * Computes tile x, y and z values based on quadKey.\n */\n var tileX = 0;\n var tileY = 0;\n var tileZ = quadKey.length;\n for (var i = tileZ; i > 0; i--) {\n var value = quadKey.charAt(tileZ - i);\n var mask = 1 << (i - 1);\n switch (value) {\n case '0':\n continue;\n case '1':\n tileX |= mask;\n break;\n case '2':\n tileY |= mask;\n break;\n case '3':\n tileX |= mask;\n tileY |= mask;\n break;\n default:\n throw new TypeError(\"Invalid Quadkey: \" + quadKey);\n }\n }\n return [tileX, tileY, tileZ];\n };\n MercatorTileSource.prototype.tile_xyz_to_quadkey = function (x, y, z) {\n /*\n * Computes quadkey value based on tile x, y and z values.\n */\n var quadkey = \"\";\n for (var i = z; i > 0; i--) {\n var mask = 1 << (i - 1);\n var digit = 0;\n if ((x & mask) !== 0) {\n digit += 1;\n }\n if ((y & mask) !== 0) {\n digit += 2;\n }\n quadkey += digit.toString();\n }\n return quadkey;\n };\n MercatorTileSource.prototype.children_by_tile_xyz = function (x, y, z) {\n var quadkey = this.tile_xyz_to_quadkey(x, y, z);\n var child_tile_xyz = [];\n for (var i = 0; i <= 3; i++) {\n var _a = this.quadkey_to_tile_xyz(quadkey + i.toString()), x_1 = _a[0], y_1 = _a[1], z_1 = _a[2];\n var b = this.get_tile_meter_bounds(x_1, y_1, z_1);\n child_tile_xyz.push([x_1, y_1, z_1, b]);\n }\n return child_tile_xyz;\n };\n MercatorTileSource.prototype.get_closest_parent_by_tile_xyz = function (x, y, z) {\n var _a, _b, _c;\n var world_x = this.calculate_world_x_by_tile_xyz(x, y, z);\n _a = this.normalize_xyz(x, y, z), x = _a[0], y = _a[1], z = _a[2];\n var quadkey = this.tile_xyz_to_quadkey(x, y, z);\n while (quadkey.length > 0) {\n quadkey = quadkey.substring(0, quadkey.length - 1);\n _b = this.quadkey_to_tile_xyz(quadkey), x = _b[0], y = _b[1], z = _b[2];\n _c = this.denormalize_xyz(x, y, z, world_x), x = _c[0], y = _c[1], z = _c[2];\n if (this.tile_xyz_to_key(x, y, z) in this.tiles)\n return [x, y, z];\n }\n return [0, 0, 0];\n };\n MercatorTileSource.prototype.normalize_xyz = function (x, y, z) {\n if (this.wrap_around) {\n var tile_count = Math.pow(2, z);\n return [((x % tile_count) + tile_count) % tile_count, y, z];\n }\n else {\n return [x, y, z];\n }\n };\n MercatorTileSource.prototype.denormalize_xyz = function (x, y, z, world_x) {\n return [x + (world_x * Math.pow(2, z)), y, z];\n };\n MercatorTileSource.prototype.denormalize_meters = function (meters_x, meters_y, _level, world_x) {\n return [meters_x + (world_x * 2 * Math.PI * 6378137), meters_y];\n };\n MercatorTileSource.prototype.calculate_world_x_by_tile_xyz = function (x, _y, z) {\n return Math.floor(x / Math.pow(2, z));\n };\n return MercatorTileSource;\n }(tile_source_1.TileSource));\n exports.MercatorTileSource = MercatorTileSource;\n MercatorTileSource.initClass();\n}\n","/* models/tiles/quadkey_tile_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var mercator_tile_source_1 = require(243) /* ./mercator_tile_source */;\n var QUADKEYTileSource = /** @class */ (function (_super) {\n tslib_1.__extends(QUADKEYTileSource, _super);\n function QUADKEYTileSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n QUADKEYTileSource.initClass = function () {\n this.prototype.type = 'QUADKEYTileSource';\n };\n QUADKEYTileSource.prototype.get_image_url = function (x, y, z) {\n var image_url = this.string_lookup_replace(this.url, this.extra_url_vars);\n var _a = this.tms_to_wmts(x, y, z), wx = _a[0], wy = _a[1], wz = _a[2];\n var quadKey = this.tile_xyz_to_quadkey(wx, wy, wz);\n return image_url.replace(\"{Q}\", quadKey);\n };\n return QUADKEYTileSource;\n }(mercator_tile_source_1.MercatorTileSource));\n exports.QUADKEYTileSource = QUADKEYTileSource;\n QUADKEYTileSource.initClass();\n}\n","/* models/tiles/tile_renderer */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var image_pool_1 = require(241) /* ./image_pool */;\n var wmts_tile_source_1 = require(249) /* ./wmts_tile_source */;\n var data_renderer_1 = require(196) /* ../renderers/data_renderer */;\n var range1d_1 = require(195) /* ../ranges/range1d */;\n var dom_1 = require(5) /* ../../core/dom */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var types_1 = require(46) /* ../../core/util/types */;\n var selection_manager_1 = require(20) /* ../../core/selection_manager */;\n var column_data_source_1 = require(212) /* ../sources/column_data_source */;\n var TileRendererView = /** @class */ (function (_super) {\n tslib_1.__extends(TileRendererView, _super);\n function TileRendererView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TileRendererView.prototype.initialize = function () {\n this._tiles = [];\n _super.prototype.initialize.call(this);\n };\n TileRendererView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.change, function () { return _this.request_render(); });\n this.connect(this.model.tile_source.change, function () { return _this.request_render(); });\n };\n TileRendererView.prototype.get_extent = function () {\n return [this.x_range.start, this.y_range.start, this.x_range.end, this.y_range.end];\n };\n Object.defineProperty(TileRendererView.prototype, \"map_plot\", {\n get: function () {\n return this.plot_model;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TileRendererView.prototype, \"map_canvas\", {\n get: function () {\n return this.plot_view.canvas_view.ctx;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TileRendererView.prototype, \"map_frame\", {\n get: function () {\n return this.plot_view.frame;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TileRendererView.prototype, \"x_range\", {\n get: function () {\n return this.map_plot.x_range;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(TileRendererView.prototype, \"y_range\", {\n get: function () {\n return this.map_plot.y_range;\n },\n enumerable: true,\n configurable: true\n });\n TileRendererView.prototype._set_data = function () {\n this.pool = new image_pool_1.ImagePool();\n this.extent = this.get_extent();\n this._last_height = undefined;\n this._last_width = undefined;\n };\n TileRendererView.prototype._update_attribution = function () {\n if (this.attribution_el != null)\n dom_1.removeElement(this.attribution_el);\n var attribution = this.model.tile_source.attribution;\n if (types_1.isString(attribution) && attribution.length > 0) {\n var _a = this.plot_view, layout = _a.layout, frame = _a.frame;\n var offset_right = layout._width.value - frame._right.value;\n var offset_bottom = layout._height.value - frame._bottom.value;\n var max_width = frame._width.value;\n this.attribution_el = dom_1.div({\n class: 'bk-tile-attribution',\n style: {\n position: \"absolute\",\n right: offset_right + \"px\",\n bottom: offset_bottom + \"px\",\n 'max-width': max_width - 4 /*padding*/ + \"px\",\n padding: \"2px\",\n 'background-color': 'rgba(255,255,255,0.5)',\n 'font-size': '7pt',\n 'line-height': '1.05',\n 'white-space': 'nowrap',\n overflow: 'hidden',\n 'text-overflow': 'ellipsis',\n },\n });\n var overlays = this.plot_view.canvas_view.events_el;\n overlays.appendChild(this.attribution_el);\n this.attribution_el.innerHTML = attribution;\n this.attribution_el.title = this.attribution_el.textContent.replace(/\\s*\\n\\s*/g, \" \");\n }\n };\n TileRendererView.prototype._map_data = function () {\n this.initial_extent = this.get_extent();\n var zoom_level = this.model.tile_source.get_level_by_extent(this.initial_extent, this.map_frame._height.value, this.map_frame._width.value);\n var new_extent = this.model.tile_source.snap_to_zoom_level(this.initial_extent, this.map_frame._height.value, this.map_frame._width.value, zoom_level);\n this.x_range.start = new_extent[0];\n this.y_range.start = new_extent[1];\n this.x_range.end = new_extent[2];\n this.y_range.end = new_extent[3];\n if (this.x_range instanceof range1d_1.Range1d) {\n this.x_range.reset_start = new_extent[0];\n this.x_range.reset_end = new_extent[2];\n }\n if (this.y_range instanceof range1d_1.Range1d) {\n this.y_range.reset_start = new_extent[1];\n this.y_range.reset_end = new_extent[3];\n }\n this._update_attribution();\n };\n TileRendererView.prototype._on_tile_load = function (tile_data, e) {\n tile_data.img = e.target;\n tile_data.loaded = true;\n this.request_render();\n };\n TileRendererView.prototype._on_tile_cache_load = function (tile_data, e) {\n tile_data.img = e.target;\n tile_data.loaded = true;\n tile_data.finished = true;\n this.notify_finished();\n };\n TileRendererView.prototype._on_tile_error = function (tile_data) {\n tile_data.finished = true;\n };\n TileRendererView.prototype._create_tile = function (x, y, z, bounds, cache_only) {\n if (cache_only === void 0) {\n cache_only = false;\n }\n var _a = this.model.tile_source.normalize_xyz(x, y, z), nx = _a[0], ny = _a[1], nz = _a[2];\n var img = this.pool.pop();\n var tile = {\n img: img,\n tile_coords: [x, y, z],\n normalized_coords: [nx, ny, nz],\n quadkey: this.model.tile_source.tile_xyz_to_quadkey(x, y, z),\n cache_key: this.model.tile_source.tile_xyz_to_key(x, y, z),\n bounds: bounds,\n loaded: false,\n finished: false,\n x_coord: bounds[0],\n y_coord: bounds[3],\n };\n img.onload = cache_only ? this._on_tile_cache_load.bind(this, tile) : this._on_tile_load.bind(this, tile);\n img.onerror = this._on_tile_error.bind(this, tile);\n img.alt = '';\n img.src = this.model.tile_source.get_image_url(nx, ny, nz);\n this.model.tile_source.tiles[tile.cache_key] = tile;\n this._tiles.push(tile);\n };\n TileRendererView.prototype._enforce_aspect_ratio = function () {\n // brute force way of handling resize or sizing_mode event -------------------------------------------------------------\n if ((this._last_height !== this.map_frame._height.value) || (this._last_width !== this.map_frame._width.value)) {\n var extent = this.get_extent();\n var zoom_level = this.model.tile_source.get_level_by_extent(extent, this.map_frame._height.value, this.map_frame._width.value);\n var new_extent = this.model.tile_source.snap_to_zoom_level(extent, this.map_frame._height.value, this.map_frame._width.value, zoom_level);\n this.x_range.setv({ start: new_extent[0], end: new_extent[2] });\n this.y_range.setv({ start: new_extent[1], end: new_extent[3] });\n this.extent = new_extent;\n this._last_height = this.map_frame._height.value;\n this._last_width = this.map_frame._width.value;\n }\n };\n TileRendererView.prototype.has_finished = function () {\n if (!_super.prototype.has_finished.call(this)) {\n return false;\n }\n if (this._tiles.length === 0) {\n return false;\n }\n for (var _i = 0, _a = this._tiles; _i < _a.length; _i++) {\n var tile = _a[_i];\n if (!tile.finished) {\n return false;\n }\n }\n return true;\n };\n TileRendererView.prototype.render = function () {\n if (this.map_initialized == null) {\n this._set_data();\n this._map_data();\n this.map_initialized = true;\n }\n this._enforce_aspect_ratio();\n this._update();\n if (this.prefetch_timer != null) {\n clearTimeout(this.prefetch_timer);\n }\n this.prefetch_timer = setTimeout(this._prefetch_tiles.bind(this), 500);\n if (this.has_finished()) {\n this.notify_finished();\n }\n };\n TileRendererView.prototype._draw_tile = function (tile_key) {\n var tile_obj = this.model.tile_source.tiles[tile_key];\n if (tile_obj != null) {\n var _a = this.plot_view.map_to_screen([tile_obj.bounds[0]], [tile_obj.bounds[3]]), sxmin = _a[0][0], symin = _a[1][0]; // XXX: TS #20623\n var _b = this.plot_view.map_to_screen([tile_obj.bounds[2]], [tile_obj.bounds[1]]), sxmax = _b[0][0], symax = _b[1][0]; //\n var sw = sxmax - sxmin;\n var sh = symax - symin;\n var sx = sxmin;\n var sy = symin;\n var old_smoothing = this.map_canvas.getImageSmoothingEnabled();\n this.map_canvas.setImageSmoothingEnabled(this.model.smoothing);\n this.map_canvas.drawImage(tile_obj.img, sx, sy, sw, sh);\n this.map_canvas.setImageSmoothingEnabled(old_smoothing);\n tile_obj.finished = true;\n }\n };\n TileRendererView.prototype._set_rect = function () {\n var outline_width = this.plot_model.properties.outline_line_width.value();\n var l = this.map_frame._left.value + (outline_width / 2);\n var t = this.map_frame._top.value + (outline_width / 2);\n var w = this.map_frame._width.value - outline_width;\n var h = this.map_frame._height.value - outline_width;\n this.map_canvas.rect(l, t, w, h);\n this.map_canvas.clip();\n };\n TileRendererView.prototype._render_tiles = function (tile_keys) {\n this.map_canvas.save();\n this._set_rect();\n this.map_canvas.globalAlpha = this.model.alpha;\n for (var _i = 0, tile_keys_1 = tile_keys; _i < tile_keys_1.length; _i++) {\n var tile_key = tile_keys_1[_i];\n this._draw_tile(tile_key);\n }\n this.map_canvas.restore();\n };\n TileRendererView.prototype._prefetch_tiles = function () {\n var tile_source = this.model.tile_source;\n var extent = this.get_extent();\n var h = this.map_frame._height.value;\n var w = this.map_frame._width.value;\n var zoom_level = this.model.tile_source.get_level_by_extent(extent, h, w);\n var tiles = this.model.tile_source.get_tiles_by_extent(extent, zoom_level);\n for (var t = 0, end = Math.min(10, tiles.length); t < end; t++) {\n var _a = tiles[t], x = _a[0], y = _a[1], z = _a[2];\n var children = this.model.tile_source.children_by_tile_xyz(x, y, z);\n for (var _i = 0, children_1 = children; _i < children_1.length; _i++) {\n var c = children_1[_i];\n var cx = c[0], cy = c[1], cz = c[2], cbounds = c[3];\n if (tile_source.tile_xyz_to_key(cx, cy, cz) in tile_source.tiles) {\n continue;\n }\n else {\n this._create_tile(cx, cy, cz, cbounds, true);\n }\n }\n }\n };\n TileRendererView.prototype._fetch_tiles = function (tiles) {\n for (var _i = 0, tiles_1 = tiles; _i < tiles_1.length; _i++) {\n var tile = tiles_1[_i];\n var x = tile[0], y = tile[1], z = tile[2], bounds = tile[3];\n this._create_tile(x, y, z, bounds);\n }\n };\n TileRendererView.prototype._update = function () {\n var _this = this;\n var tile_source = this.model.tile_source;\n var min_zoom = tile_source.min_zoom;\n var max_zoom = tile_source.max_zoom;\n var extent = this.get_extent();\n var zooming_out = (this.extent[2] - this.extent[0]) < (extent[2] - extent[0]);\n var h = this.map_frame._height.value;\n var w = this.map_frame._width.value;\n var zoom_level = tile_source.get_level_by_extent(extent, h, w);\n var snap_back = false;\n if (zoom_level < min_zoom) {\n extent = this.extent;\n zoom_level = min_zoom;\n snap_back = true;\n }\n else if (zoom_level > max_zoom) {\n extent = this.extent;\n zoom_level = max_zoom;\n snap_back = true;\n }\n if (snap_back) {\n this.x_range.setv({ x_range: { start: extent[0], end: extent[2] } });\n this.y_range.setv({ start: extent[1], end: extent[3] });\n this.extent = extent;\n }\n this.extent = extent;\n var tiles = tile_source.get_tiles_by_extent(extent, zoom_level);\n var need_load = [];\n var cached = [];\n var parents = [];\n var children = [];\n for (var _i = 0, tiles_2 = tiles; _i < tiles_2.length; _i++) {\n var t = tiles_2[_i];\n var x = t[0], y = t[1], z = t[2];\n var key = tile_source.tile_xyz_to_key(x, y, z);\n var tile = tile_source.tiles[key];\n if (tile != null && tile.loaded) {\n cached.push(key);\n }\n else {\n if (this.model.render_parents) {\n var _a = tile_source.get_closest_parent_by_tile_xyz(x, y, z), px = _a[0], py = _a[1], pz = _a[2];\n var parent_key = tile_source.tile_xyz_to_key(px, py, pz);\n var parent_tile = tile_source.tiles[parent_key];\n if ((parent_tile != null) && parent_tile.loaded && !array_1.includes(parents, parent_key)) {\n parents.push(parent_key);\n }\n if (zooming_out) {\n var child_tiles = tile_source.children_by_tile_xyz(x, y, z);\n for (var _b = 0, child_tiles_1 = child_tiles; _b < child_tiles_1.length; _b++) {\n var _c = child_tiles_1[_b], cx = _c[0], cy = _c[1], cz = _c[2];\n var child_key = tile_source.tile_xyz_to_key(cx, cy, cz);\n if (child_key in tile_source.tiles)\n children.push(child_key);\n }\n }\n }\n }\n if (tile == null)\n need_load.push(t);\n }\n // draw stand-in parents ----------\n this._render_tiles(parents);\n this._render_tiles(children);\n // draw cached ----------\n this._render_tiles(cached);\n // fetch missing -------\n if (this.render_timer != null) {\n clearTimeout(this.render_timer);\n }\n this.render_timer = setTimeout((function () { return _this._fetch_tiles(need_load); }), 65);\n };\n return TileRendererView;\n }(data_renderer_1.DataRendererView));\n exports.TileRendererView = TileRendererView;\n var TileRenderer = /** @class */ (function (_super) {\n tslib_1.__extends(TileRenderer, _super);\n function TileRenderer(attrs) {\n var _this = _super.call(this, attrs) || this;\n // XXX: tile renderer doesn't allow selection, but needs to fulfil the APIs\n _this._selection_manager = new selection_manager_1.SelectionManager({\n source: new column_data_source_1.ColumnDataSource(),\n });\n return _this;\n }\n TileRenderer.initClass = function () {\n this.prototype.type = 'TileRenderer';\n this.prototype.default_view = TileRendererView;\n this.define({\n alpha: [p.Number, 1.0],\n smoothing: [p.Boolean, true],\n tile_source: [p.Instance, function () { return new wmts_tile_source_1.WMTSTileSource(); }],\n render_parents: [p.Boolean, true],\n });\n };\n TileRenderer.prototype.get_selection_manager = function () {\n return this._selection_manager;\n };\n return TileRenderer;\n }(data_renderer_1.DataRenderer));\n exports.TileRenderer = TileRenderer;\n TileRenderer.initClass();\n}\n","/* models/tiles/tile_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var image_pool_1 = require(241) /* ./image_pool */;\n var p = require(18) /* ../../core/properties */;\n var TileSource = /** @class */ (function (_super) {\n tslib_1.__extends(TileSource, _super);\n function TileSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n TileSource.initClass = function () {\n this.prototype.type = 'TileSource';\n this.define({\n url: [p.String, ''],\n tile_size: [p.Number, 256],\n max_zoom: [p.Number, 30],\n min_zoom: [p.Number, 0],\n extra_url_vars: [p.Any, {}],\n attribution: [p.String, ''],\n x_origin_offset: [p.Number],\n y_origin_offset: [p.Number],\n initial_resolution: [p.Number],\n });\n };\n TileSource.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.tiles = {};\n this.pool = new image_pool_1.ImagePool();\n this._normalize_case();\n };\n TileSource.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.change, function () { return _this._clear_cache(); });\n };\n TileSource.prototype.string_lookup_replace = function (str, lookup) {\n var result_str = str;\n for (var key in lookup) {\n var value = lookup[key];\n result_str = result_str.replace(\"{\" + key + \"}\", value);\n }\n return result_str;\n };\n TileSource.prototype._normalize_case = function () {\n /*\n * Note: should probably be refactored into subclasses.\n */\n var url = this.url\n .replace('{x}', '{X}')\n .replace('{y}', '{Y}')\n .replace('{z}', '{Z}')\n .replace('{q}', '{Q}')\n .replace('{xmin}', '{XMIN}')\n .replace('{ymin}', '{YMIN}')\n .replace('{xmax}', '{XMAX}')\n .replace('{ymax}', '{YMAX}');\n this.url = url;\n };\n TileSource.prototype._clear_cache = function () {\n this.tiles = {};\n };\n TileSource.prototype.tile_xyz_to_key = function (x, y, z) {\n return x + \":\" + y + \":\" + z;\n };\n TileSource.prototype.key_to_tile_xyz = function (key) {\n var _a = key.split(':').map(function (c) { return parseInt(c); }), x = _a[0], y = _a[1], z = _a[2];\n return [x, y, z];\n };\n TileSource.prototype.sort_tiles_from_center = function (tiles, tile_extent) {\n var txmin = tile_extent[0], tymin = tile_extent[1], txmax = tile_extent[2], tymax = tile_extent[3];\n var center_x = ((txmax - txmin) / 2) + txmin;\n var center_y = ((tymax - tymin) / 2) + tymin;\n tiles.sort(function (a, b) {\n var a_distance = Math.sqrt(Math.pow(center_x - a[0], 2) + Math.pow(center_y - a[1], 2));\n var b_distance = Math.sqrt(Math.pow(center_x - b[0], 2) + Math.pow(center_y - b[1], 2));\n return a_distance - b_distance;\n });\n };\n TileSource.prototype.get_image_url = function (x, y, z) {\n var image_url = this.string_lookup_replace(this.url, this.extra_url_vars);\n return image_url.replace(\"{X}\", x.toString())\n .replace('{Y}', y.toString())\n .replace(\"{Z}\", z.toString());\n };\n return TileSource;\n }(model_1.Model));\n exports.TileSource = TileSource;\n TileSource.initClass();\n}\n","/* models/tiles/tile_utils */ function _(require, module, exports) {\n var projections_1 = require(36) /* ../../core/util/projections */;\n function geographic_to_meters(xLon, yLat) {\n return projections_1.wgs84_mercator.forward([xLon, yLat]);\n }\n exports.geographic_to_meters = geographic_to_meters;\n function meters_to_geographic(mx, my) {\n return projections_1.wgs84_mercator.inverse([mx, my]);\n }\n exports.meters_to_geographic = meters_to_geographic;\n function geographic_extent_to_meters(extent) {\n var g_xmin = extent[0], g_ymin = extent[1], g_xmax = extent[2], g_ymax = extent[3];\n var _a = geographic_to_meters(g_xmin, g_ymin), m_xmin = _a[0], m_ymin = _a[1];\n var _b = geographic_to_meters(g_xmax, g_ymax), m_xmax = _b[0], m_ymax = _b[1];\n return [m_xmin, m_ymin, m_xmax, m_ymax];\n }\n exports.geographic_extent_to_meters = geographic_extent_to_meters;\n function meters_extent_to_geographic(extent) {\n var m_xmin = extent[0], m_ymin = extent[1], m_xmax = extent[2], m_ymax = extent[3];\n var _a = meters_to_geographic(m_xmin, m_ymin), g_xmin = _a[0], g_ymin = _a[1];\n var _b = meters_to_geographic(m_xmax, m_ymax), g_xmax = _b[0], g_ymax = _b[1];\n return [g_xmin, g_ymin, g_xmax, g_ymax];\n }\n exports.meters_extent_to_geographic = meters_extent_to_geographic;\n}\n","/* models/tiles/tms_tile_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var mercator_tile_source_1 = require(243) /* ./mercator_tile_source */;\n var TMSTileSource = /** @class */ (function (_super) {\n tslib_1.__extends(TMSTileSource, _super);\n function TMSTileSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n TMSTileSource.initClass = function () {\n this.prototype.type = 'TMSTileSource';\n };\n TMSTileSource.prototype.get_image_url = function (x, y, z) {\n var image_url = this.string_lookup_replace(this.url, this.extra_url_vars);\n return image_url.replace(\"{X}\", x.toString())\n .replace('{Y}', y.toString())\n .replace(\"{Z}\", z.toString());\n };\n return TMSTileSource;\n }(mercator_tile_source_1.MercatorTileSource));\n exports.TMSTileSource = TMSTileSource;\n TMSTileSource.initClass();\n}\n","/* models/tiles/wmts_tile_source */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var mercator_tile_source_1 = require(243) /* ./mercator_tile_source */;\n var WMTSTileSource = /** @class */ (function (_super) {\n tslib_1.__extends(WMTSTileSource, _super);\n function WMTSTileSource(attrs) {\n return _super.call(this, attrs) || this;\n }\n WMTSTileSource.initClass = function () {\n this.prototype.type = 'WMTSTileSource';\n };\n WMTSTileSource.prototype.get_image_url = function (x, y, z) {\n var image_url = this.string_lookup_replace(this.url, this.extra_url_vars);\n var _a = this.tms_to_wmts(x, y, z), wx = _a[0], wy = _a[1], wz = _a[2];\n return image_url.replace(\"{X}\", wx.toString())\n .replace('{Y}', wy.toString())\n .replace(\"{Z}\", wz.toString());\n };\n return WMTSTileSource;\n }(mercator_tile_source_1.MercatorTileSource));\n exports.WMTSTileSource = WMTSTileSource;\n WMTSTileSource.initClass();\n}\n","/* models/tools/actions/action_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var button_tool_1 = require(259) /* ../button_tool */;\n var signaling_1 = require(22) /* ../../../core/signaling */;\n var ActionToolButtonView = /** @class */ (function (_super) {\n tslib_1.__extends(ActionToolButtonView, _super);\n function ActionToolButtonView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ActionToolButtonView.prototype._clicked = function () {\n this.model.do.emit();\n };\n return ActionToolButtonView;\n }(button_tool_1.ButtonToolButtonView));\n exports.ActionToolButtonView = ActionToolButtonView;\n var ActionToolView = /** @class */ (function (_super) {\n tslib_1.__extends(ActionToolView, _super);\n function ActionToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ActionToolView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.do, function () { return _this.doit(); });\n };\n return ActionToolView;\n }(button_tool_1.ButtonToolView));\n exports.ActionToolView = ActionToolView;\n var ActionTool = /** @class */ (function (_super) {\n tslib_1.__extends(ActionTool, _super);\n function ActionTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.button_view = ActionToolButtonView;\n _this.do = new signaling_1.Signal0(_this, \"do\");\n return _this;\n }\n ActionTool.initClass = function () {\n this.prototype.type = \"ActionTool\";\n };\n return ActionTool;\n }(button_tool_1.ButtonTool));\n exports.ActionTool = ActionTool;\n ActionTool.initClass();\n}\n","/* models/tools/actions/custom_action */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var action_tool_1 = require(250) /* ./action_tool */;\n var p = require(18) /* ../../../core/properties */;\n var CustomActionButtonView = /** @class */ (function (_super) {\n tslib_1.__extends(CustomActionButtonView, _super);\n function CustomActionButtonView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomActionButtonView.prototype.css_classes = function () {\n return _super.prototype.css_classes.call(this).concat(\"bk-toolbar-button-custom-action\");\n };\n return CustomActionButtonView;\n }(action_tool_1.ActionToolButtonView));\n exports.CustomActionButtonView = CustomActionButtonView;\n var CustomActionView = /** @class */ (function (_super) {\n tslib_1.__extends(CustomActionView, _super);\n function CustomActionView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CustomActionView.prototype.doit = function () {\n if (this.model.callback != null)\n this.model.callback.execute(this.model);\n };\n return CustomActionView;\n }(action_tool_1.ActionToolView));\n exports.CustomActionView = CustomActionView;\n var CustomAction = /** @class */ (function (_super) {\n tslib_1.__extends(CustomAction, _super);\n function CustomAction(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Custom Action\";\n _this.button_view = CustomActionButtonView;\n return _this;\n }\n CustomAction.initClass = function () {\n this.prototype.type = \"CustomAction\";\n this.prototype.default_view = CustomActionView;\n this.define({\n action_tooltip: [p.String, 'Perform a Custom Action'],\n callback: [p.Any],\n icon: [p.String,],\n });\n };\n Object.defineProperty(CustomAction.prototype, \"tooltip\", {\n get: function () {\n return this.action_tooltip;\n },\n enumerable: true,\n configurable: true\n });\n return CustomAction;\n }(action_tool_1.ActionTool));\n exports.CustomAction = CustomAction;\n CustomAction.initClass();\n}\n","/* models/tools/actions/help_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var action_tool_1 = require(250) /* ./action_tool */;\n var p = require(18) /* ../../../core/properties */;\n var HelpToolView = /** @class */ (function (_super) {\n tslib_1.__extends(HelpToolView, _super);\n function HelpToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HelpToolView.prototype.doit = function () {\n window.open(this.model.redirect);\n };\n return HelpToolView;\n }(action_tool_1.ActionToolView));\n exports.HelpToolView = HelpToolView;\n var HelpTool = /** @class */ (function (_super) {\n tslib_1.__extends(HelpTool, _super);\n function HelpTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Help\";\n _this.icon = \"bk-tool-icon-help\";\n return _this;\n }\n HelpTool.initClass = function () {\n this.prototype.type = \"HelpTool\";\n this.prototype.default_view = HelpToolView;\n this.define({\n help_tooltip: [p.String, 'Click the question mark to learn more about Bokeh plot tools.'],\n redirect: [p.String, 'https://bokeh.pydata.org/en/latest/docs/user_guide/tools.html#built-in-tools'],\n });\n };\n Object.defineProperty(HelpTool.prototype, \"tooltip\", {\n get: function () {\n return this.help_tooltip;\n },\n enumerable: true,\n configurable: true\n });\n return HelpTool;\n }(action_tool_1.ActionTool));\n exports.HelpTool = HelpTool;\n HelpTool.initClass();\n}\n","/* models/tools/actions/redo_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var action_tool_1 = require(250) /* ./action_tool */;\n var RedoToolView = /** @class */ (function (_super) {\n tslib_1.__extends(RedoToolView, _super);\n function RedoToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RedoToolView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.plot_view.state_changed, function () { return _this.model.disabled = !_this.plot_view.can_redo(); });\n };\n RedoToolView.prototype.doit = function () {\n this.plot_view.redo();\n };\n return RedoToolView;\n }(action_tool_1.ActionToolView));\n exports.RedoToolView = RedoToolView;\n var RedoTool = /** @class */ (function (_super) {\n tslib_1.__extends(RedoTool, _super);\n function RedoTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Redo\";\n _this.icon = \"bk-tool-icon-redo\";\n return _this;\n }\n RedoTool.initClass = function () {\n this.prototype.type = \"RedoTool\";\n this.prototype.default_view = RedoToolView;\n this.override({\n disabled: true,\n });\n };\n return RedoTool;\n }(action_tool_1.ActionTool));\n exports.RedoTool = RedoTool;\n RedoTool.initClass();\n}\n","/* models/tools/actions/reset_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var action_tool_1 = require(250) /* ./action_tool */;\n var ResetToolView = /** @class */ (function (_super) {\n tslib_1.__extends(ResetToolView, _super);\n function ResetToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ResetToolView.prototype.doit = function () {\n this.plot_view.reset();\n };\n return ResetToolView;\n }(action_tool_1.ActionToolView));\n exports.ResetToolView = ResetToolView;\n var ResetTool = /** @class */ (function (_super) {\n tslib_1.__extends(ResetTool, _super);\n function ResetTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Reset\";\n _this.icon = \"bk-tool-icon-reset\";\n return _this;\n }\n ResetTool.initClass = function () {\n this.prototype.type = \"ResetTool\";\n this.prototype.default_view = ResetToolView;\n };\n return ResetTool;\n }(action_tool_1.ActionTool));\n exports.ResetTool = ResetTool;\n ResetTool.initClass();\n}\n","/* models/tools/actions/save_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var action_tool_1 = require(250) /* ./action_tool */;\n var SaveToolView = /** @class */ (function (_super) {\n tslib_1.__extends(SaveToolView, _super);\n function SaveToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n SaveToolView.prototype.doit = function () {\n this.plot_view.save(\"bokeh_plot\");\n };\n return SaveToolView;\n }(action_tool_1.ActionToolView));\n exports.SaveToolView = SaveToolView;\n var SaveTool = /** @class */ (function (_super) {\n tslib_1.__extends(SaveTool, _super);\n function SaveTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Save\";\n _this.icon = \"bk-tool-icon-save\";\n return _this;\n }\n SaveTool.initClass = function () {\n this.prototype.type = \"SaveTool\";\n this.prototype.default_view = SaveToolView;\n };\n return SaveTool;\n }(action_tool_1.ActionTool));\n exports.SaveTool = SaveTool;\n SaveTool.initClass();\n}\n","/* models/tools/actions/undo_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var action_tool_1 = require(250) /* ./action_tool */;\n var UndoToolView = /** @class */ (function (_super) {\n tslib_1.__extends(UndoToolView, _super);\n function UndoToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n UndoToolView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.plot_view.state_changed, function () { return _this.model.disabled = !_this.plot_view.can_undo(); });\n };\n UndoToolView.prototype.doit = function () {\n this.plot_view.undo();\n };\n return UndoToolView;\n }(action_tool_1.ActionToolView));\n exports.UndoToolView = UndoToolView;\n var UndoTool = /** @class */ (function (_super) {\n tslib_1.__extends(UndoTool, _super);\n function UndoTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Undo\";\n _this.icon = \"bk-tool-icon-undo\";\n return _this;\n }\n UndoTool.initClass = function () {\n this.prototype.type = \"UndoTool\";\n this.prototype.default_view = UndoToolView;\n this.override({\n disabled: true,\n });\n };\n return UndoTool;\n }(action_tool_1.ActionTool));\n exports.UndoTool = UndoTool;\n UndoTool.initClass();\n}\n","/* models/tools/actions/zoom_in_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var action_tool_1 = require(250) /* ./action_tool */;\n var zoom_1 = require(48) /* ../../../core/util/zoom */;\n var p = require(18) /* ../../../core/properties */;\n var ZoomInToolView = /** @class */ (function (_super) {\n tslib_1.__extends(ZoomInToolView, _super);\n function ZoomInToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ZoomInToolView.prototype.doit = function () {\n var frame = this.plot_view.frame;\n var dims = this.model.dimensions;\n // restrict to axis configured in tool's dimensions property\n var h_axis = dims == 'width' || dims == 'both';\n var v_axis = dims == 'height' || dims == 'both';\n var zoom_info = zoom_1.scale_range(frame, this.model.factor, h_axis, v_axis);\n this.plot_view.push_state('zoom_out', { range: zoom_info });\n this.plot_view.update_range(zoom_info, false, true);\n if (this.model.document)\n this.model.document.interactive_start(this.plot_model);\n };\n return ZoomInToolView;\n }(action_tool_1.ActionToolView));\n exports.ZoomInToolView = ZoomInToolView;\n var ZoomInTool = /** @class */ (function (_super) {\n tslib_1.__extends(ZoomInTool, _super);\n function ZoomInTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Zoom In\";\n _this.icon = \"bk-tool-icon-zoom-in\";\n return _this;\n }\n ZoomInTool.initClass = function () {\n this.prototype.type = \"ZoomInTool\";\n this.prototype.default_view = ZoomInToolView;\n this.define({\n factor: [p.Percent, 0.1],\n dimensions: [p.Dimensions, \"both\"],\n });\n };\n Object.defineProperty(ZoomInTool.prototype, \"tooltip\", {\n get: function () {\n return this._get_dim_tooltip(this.tool_name, this.dimensions);\n },\n enumerable: true,\n configurable: true\n });\n return ZoomInTool;\n }(action_tool_1.ActionTool));\n exports.ZoomInTool = ZoomInTool;\n ZoomInTool.initClass();\n}\n","/* models/tools/actions/zoom_out_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var action_tool_1 = require(250) /* ./action_tool */;\n var zoom_1 = require(48) /* ../../../core/util/zoom */;\n var p = require(18) /* ../../../core/properties */;\n var ZoomOutToolView = /** @class */ (function (_super) {\n tslib_1.__extends(ZoomOutToolView, _super);\n function ZoomOutToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ZoomOutToolView.prototype.doit = function () {\n var frame = this.plot_view.frame;\n var dims = this.model.dimensions;\n // restrict to axis configured in tool's dimensions property\n var h_axis = dims == 'width' || dims == 'both';\n var v_axis = dims == 'height' || dims == 'both';\n // zooming out requires a negative factor to scale_range\n var zoom_info = zoom_1.scale_range(frame, -this.model.factor, h_axis, v_axis);\n this.plot_view.push_state('zoom_out', { range: zoom_info });\n this.plot_view.update_range(zoom_info, false, true);\n if (this.model.document)\n this.model.document.interactive_start(this.plot_model);\n };\n return ZoomOutToolView;\n }(action_tool_1.ActionToolView));\n exports.ZoomOutToolView = ZoomOutToolView;\n var ZoomOutTool = /** @class */ (function (_super) {\n tslib_1.__extends(ZoomOutTool, _super);\n function ZoomOutTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Zoom Out\";\n _this.icon = \"bk-tool-icon-zoom-out\";\n return _this;\n }\n ZoomOutTool.initClass = function () {\n this.prototype.type = \"ZoomOutTool\";\n this.prototype.default_view = ZoomOutToolView;\n this.define({\n factor: [p.Percent, 0.1],\n dimensions: [p.Dimensions, \"both\"],\n });\n };\n Object.defineProperty(ZoomOutTool.prototype, \"tooltip\", {\n get: function () {\n return this._get_dim_tooltip(this.tool_name, this.dimensions);\n },\n enumerable: true,\n configurable: true\n });\n return ZoomOutTool;\n }(action_tool_1.ActionTool));\n exports.ZoomOutTool = ZoomOutTool;\n ZoomOutTool.initClass();\n}\n","/* models/tools/button_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var dom_view_1 = require(6) /* ../../core/dom_view */;\n var tool_1 = require(284) /* ./tool */;\n var dom_1 = require(5) /* ../../core/dom */;\n var p = require(18) /* ../../core/properties */;\n var string_1 = require(40) /* ../../core/util/string */;\n var types_1 = require(46) /* ../../core/util/types */;\n var ButtonToolButtonView = /** @class */ (function (_super) {\n tslib_1.__extends(ButtonToolButtonView, _super);\n function ButtonToolButtonView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ButtonToolButtonView.prototype.initialize = function () {\n var _this = this;\n _super.prototype.initialize.call(this);\n this.connect(this.model.change, function () { return _this.render(); });\n this.el.addEventListener(\"click\", function () { return _this._clicked(); });\n this.render(); // XXX: this isn't governed by layout, for now\n };\n ButtonToolButtonView.prototype.css_classes = function () {\n return _super.prototype.css_classes.call(this).concat(\"bk-toolbar-button\");\n };\n ButtonToolButtonView.prototype.render = function () {\n dom_1.empty(this.el);\n var icon = this.model.computed_icon;\n if (types_1.isString(icon)) {\n if (string_1.startsWith(icon, \"data:image\"))\n this.el.style.backgroundImage = \"url('\" + icon + \"')\";\n else\n this.el.classList.add(icon);\n }\n this.el.title = this.model.tooltip;\n };\n return ButtonToolButtonView;\n }(dom_view_1.DOMView));\n exports.ButtonToolButtonView = ButtonToolButtonView;\n var ButtonToolView = /** @class */ (function (_super) {\n tslib_1.__extends(ButtonToolView, _super);\n function ButtonToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return ButtonToolView;\n }(tool_1.ToolView));\n exports.ButtonToolView = ButtonToolView;\n var ButtonTool = /** @class */ (function (_super) {\n tslib_1.__extends(ButtonTool, _super);\n function ButtonTool(attrs) {\n return _super.call(this, attrs) || this;\n }\n ButtonTool.initClass = function () {\n this.prototype.type = \"ButtonTool\";\n this.internal({\n disabled: [p.Boolean, false],\n });\n };\n Object.defineProperty(ButtonTool.prototype, \"tooltip\", {\n get: function () {\n return this.tool_name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ButtonTool.prototype, \"computed_icon\", {\n get: function () {\n return this.icon;\n },\n enumerable: true,\n configurable: true\n });\n return ButtonTool;\n }(tool_1.Tool));\n exports.ButtonTool = ButtonTool;\n ButtonTool.initClass();\n}\n","/* models/tools/edit/box_edit_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var dom_1 = require(5) /* ../../../core/dom */;\n var p = require(18) /* ../../../core/properties */;\n var edit_tool_1 = require(261) /* ./edit_tool */;\n var BoxEditToolView = /** @class */ (function (_super) {\n tslib_1.__extends(BoxEditToolView, _super);\n function BoxEditToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoxEditToolView.prototype._tap = function (ev) {\n if ((this._draw_basepoint != null) || (this._basepoint != null))\n return;\n var append = ev.shiftKey;\n this._select_event(ev, append, this.model.renderers);\n };\n BoxEditToolView.prototype._keyup = function (ev) {\n if (!this.model.active || !this._mouse_in_frame)\n return;\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n if (ev.keyCode === dom_1.Keys.Backspace) {\n this._delete_selected(renderer);\n }\n else if (ev.keyCode == dom_1.Keys.Esc) {\n // Type properly once selection_manager is typed\n var cds = renderer.data_source;\n cds.selection_manager.clear();\n }\n }\n };\n BoxEditToolView.prototype._set_extent = function (_a, _b, append, emit) {\n var sx0 = _a[0], sx1 = _a[1];\n var sy0 = _b[0], sy1 = _b[1];\n if (emit === void 0) {\n emit = false;\n }\n var renderer = this.model.renderers[0];\n var frame = this.plot_view.frame;\n // Type once dataspecs are typed\n var glyph = renderer.glyph;\n var cds = renderer.data_source;\n var xscale = frame.xscales[renderer.x_range_name];\n var yscale = frame.yscales[renderer.y_range_name];\n var _c = xscale.r_invert(sx0, sx1), x0 = _c[0], x1 = _c[1];\n var _d = yscale.r_invert(sy0, sy1), y0 = _d[0], y1 = _d[1];\n var _e = [(x0 + x1) / 2., (y0 + y1) / 2.], x = _e[0], y = _e[1];\n var _f = [x1 - x0, y1 - y0], w = _f[0], h = _f[1];\n var _g = [glyph.x.field, glyph.y.field], xkey = _g[0], ykey = _g[1];\n var _h = [glyph.width.field, glyph.height.field], wkey = _h[0], hkey = _h[1];\n if (append) {\n this._pop_glyphs(cds, this.model.num_objects);\n if (xkey)\n cds.get_array(xkey).push(x);\n if (ykey)\n cds.get_array(ykey).push(y);\n if (wkey)\n cds.get_array(wkey).push(w);\n if (hkey)\n cds.get_array(hkey).push(h);\n this._pad_empty_columns(cds, [xkey, ykey, wkey, hkey]);\n }\n else {\n var index = cds.data[xkey].length - 1;\n if (xkey)\n cds.data[xkey][index] = x;\n if (ykey)\n cds.data[ykey][index] = y;\n if (wkey)\n cds.data[wkey][index] = w;\n if (hkey)\n cds.data[hkey][index] = h;\n }\n this._emit_cds_changes(cds, true, false, emit);\n };\n BoxEditToolView.prototype._update_box = function (ev, append, emit) {\n if (append === void 0) {\n append = false;\n }\n if (emit === void 0) {\n emit = false;\n }\n if (this._draw_basepoint == null)\n return;\n var curpoint = [ev.sx, ev.sy];\n var frame = this.plot_view.frame;\n var dims = this.model.dimensions;\n var limits = this.model._get_dim_limits(this._draw_basepoint, curpoint, frame, dims);\n if (limits != null) {\n var sxlim = limits[0], sylim = limits[1];\n this._set_extent(sxlim, sylim, append, emit);\n }\n };\n BoxEditToolView.prototype._doubletap = function (ev) {\n if (!this.model.active)\n return;\n if (this._draw_basepoint != null) {\n this._update_box(ev, false, true);\n this._draw_basepoint = null;\n }\n else {\n this._draw_basepoint = [ev.sx, ev.sy];\n this._select_event(ev, true, this.model.renderers);\n this._update_box(ev, true, false);\n }\n };\n BoxEditToolView.prototype._move = function (ev) {\n this._update_box(ev, false, false);\n };\n BoxEditToolView.prototype._pan_start = function (ev) {\n if (ev.shiftKey) {\n if (this._draw_basepoint != null)\n return;\n this._draw_basepoint = [ev.sx, ev.sy];\n this._update_box(ev, true, false);\n }\n else {\n if (this._basepoint != null)\n return;\n this._select_event(ev, true, this.model.renderers);\n this._basepoint = [ev.sx, ev.sy];\n }\n };\n BoxEditToolView.prototype._pan = function (ev, append, emit) {\n if (append === void 0) {\n append = false;\n }\n if (emit === void 0) {\n emit = false;\n }\n if (ev.shiftKey) {\n if (this._draw_basepoint == null)\n return;\n this._update_box(ev, append, emit);\n }\n else {\n if (this._basepoint == null)\n return;\n this._drag_points(ev, this.model.renderers);\n }\n };\n BoxEditToolView.prototype._pan_end = function (ev) {\n this._pan(ev, false, true);\n if (ev.shiftKey) {\n this._draw_basepoint = null;\n }\n else {\n this._basepoint = null;\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n this._emit_cds_changes(renderer.data_source, false, true, true);\n }\n }\n };\n return BoxEditToolView;\n }(edit_tool_1.EditToolView));\n exports.BoxEditToolView = BoxEditToolView;\n var BoxEditTool = /** @class */ (function (_super) {\n tslib_1.__extends(BoxEditTool, _super);\n function BoxEditTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Box Edit Tool\";\n _this.icon = \"bk-tool-icon-box-edit\";\n _this.event_type = [\"tap\", \"pan\", \"move\"];\n _this.default_order = 1;\n return _this;\n }\n BoxEditTool.initClass = function () {\n this.prototype.type = \"BoxEditTool\";\n this.prototype.default_view = BoxEditToolView;\n this.define({\n dimensions: [p.Dimensions, \"both\"],\n num_objects: [p.Int, 0],\n });\n };\n return BoxEditTool;\n }(edit_tool_1.EditTool));\n exports.BoxEditTool = BoxEditTool;\n BoxEditTool.initClass();\n}\n","/* models/tools/edit/edit_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var p = require(18) /* ../../../core/properties */;\n var array_1 = require(24) /* ../../../core/util/array */;\n var types_1 = require(46) /* ../../../core/util/types */;\n var gesture_tool_1 = require(269) /* ../gestures/gesture_tool */;\n var EditToolView = /** @class */ (function (_super) {\n tslib_1.__extends(EditToolView, _super);\n function EditToolView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._mouse_in_frame = true;\n return _this;\n }\n EditToolView.prototype._move_enter = function (_e) {\n this._mouse_in_frame = true;\n };\n EditToolView.prototype._move_exit = function (_e) {\n this._mouse_in_frame = false;\n };\n EditToolView.prototype._map_drag = function (sx, sy, renderer) {\n // Maps screen to data coordinates\n var frame = this.plot_view.frame;\n if (!frame.bbox.contains(sx, sy)) {\n return null;\n }\n var x = frame.xscales[renderer.x_range_name].invert(sx);\n var y = frame.yscales[renderer.y_range_name].invert(sy);\n return [x, y];\n };\n EditToolView.prototype._delete_selected = function (renderer) {\n // Deletes all selected rows in the ColumnDataSource\n var cds = renderer.data_source;\n var indices = cds.selected.indices;\n indices.sort();\n for (var _i = 0, _a = cds.columns(); _i < _a.length; _i++) {\n var column = _a[_i];\n var values = cds.get_array(column);\n for (var index = 0; index < indices.length; index++) {\n var ind = indices[index];\n values.splice(ind - index, 1);\n }\n }\n this._emit_cds_changes(cds);\n };\n EditToolView.prototype._pop_glyphs = function (cds, num_objects) {\n // Pops rows in the CDS until only num_objects are left\n var columns = cds.columns();\n if (!num_objects || !columns.length)\n return;\n for (var _i = 0, columns_1 = columns; _i < columns_1.length; _i++) {\n var column = columns_1[_i];\n var array = cds.get_array(column);\n var drop = array.length - num_objects + 1;\n if (drop < 1)\n continue;\n if (!types_1.isArray(array)) {\n array = Array.from(array);\n cds.data[column] = array;\n }\n array.splice(0, drop);\n }\n };\n EditToolView.prototype._emit_cds_changes = function (cds, redraw, clear, emit) {\n if (redraw === void 0) {\n redraw = true;\n }\n if (clear === void 0) {\n clear = true;\n }\n if (emit === void 0) {\n emit = true;\n }\n if (clear)\n cds.selection_manager.clear();\n if (redraw)\n cds.change.emit();\n if (emit) {\n cds.data = cds.data;\n cds.properties.data.change.emit();\n }\n };\n EditToolView.prototype._drag_points = function (ev, renderers) {\n if (this._basepoint == null)\n return;\n var _a = this._basepoint, bx = _a[0], by = _a[1];\n for (var _i = 0, renderers_1 = renderers; _i < renderers_1.length; _i++) {\n var renderer = renderers_1[_i];\n var basepoint = this._map_drag(bx, by, renderer);\n var point = this._map_drag(ev.sx, ev.sy, renderer);\n if (point == null || basepoint == null) {\n continue;\n }\n var x = point[0], y = point[1];\n var px = basepoint[0], py = basepoint[1];\n var _b = [x - px, y - py], dx = _b[0], dy = _b[1];\n // Type once dataspecs are typed\n var glyph = renderer.glyph;\n var cds = renderer.data_source;\n var _c = [glyph.x.field, glyph.y.field], xkey = _c[0], ykey = _c[1];\n for (var _d = 0, _f = cds.selected.indices; _d < _f.length; _d++) {\n var index = _f[_d];\n if (xkey)\n cds.data[xkey][index] += dx;\n if (ykey)\n cds.data[ykey][index] += dy;\n }\n cds.change.emit();\n }\n this._basepoint = [ev.sx, ev.sy];\n };\n EditToolView.prototype._pad_empty_columns = function (cds, coord_columns) {\n // Pad ColumnDataSource non-coordinate columns with empty_value\n for (var _i = 0, _a = cds.columns(); _i < _a.length; _i++) {\n var column = _a[_i];\n if (!array_1.includes(coord_columns, column))\n cds.get_array(column).push(this.model.empty_value);\n }\n };\n EditToolView.prototype._select_event = function (ev, append, renderers) {\n // Process selection event on the supplied renderers and return selected renderers\n var frame = this.plot_view.frame;\n var sx = ev.sx, sy = ev.sy;\n if (!frame.bbox.contains(sx, sy)) {\n return [];\n }\n var geometry = { type: 'point', sx: sx, sy: sy };\n var selected = [];\n for (var _i = 0, renderers_2 = renderers; _i < renderers_2.length; _i++) {\n var renderer = renderers_2[_i];\n var sm = renderer.get_selection_manager();\n var cds = renderer.data_source;\n var views = [this.plot_view.renderer_views[renderer.id]];\n var did_hit = sm.select(views, geometry, true, append);\n if (did_hit) {\n selected.push(renderer);\n }\n cds.properties.selected.change.emit();\n }\n return selected;\n };\n return EditToolView;\n }(gesture_tool_1.GestureToolView));\n exports.EditToolView = EditToolView;\n var EditTool = /** @class */ (function (_super) {\n tslib_1.__extends(EditTool, _super);\n function EditTool(attrs) {\n return _super.call(this, attrs) || this;\n }\n EditTool.initClass = function () {\n this.prototype.type = \"EditTool\";\n this.define({\n custom_icon: [p.String,],\n custom_tooltip: [p.String,],\n empty_value: [p.Any,],\n renderers: [p.Array, []],\n });\n };\n Object.defineProperty(EditTool.prototype, \"tooltip\", {\n get: function () {\n return this.custom_tooltip || this.tool_name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(EditTool.prototype, \"computed_icon\", {\n get: function () {\n return this.custom_icon || this.icon;\n },\n enumerable: true,\n configurable: true\n });\n return EditTool;\n }(gesture_tool_1.GestureTool));\n exports.EditTool = EditTool;\n EditTool.initClass();\n}\n","/* models/tools/edit/freehand_draw_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var dom_1 = require(5) /* ../../../core/dom */;\n var p = require(18) /* ../../../core/properties */;\n var types_1 = require(46) /* ../../../core/util/types */;\n var edit_tool_1 = require(261) /* ./edit_tool */;\n var FreehandDrawToolView = /** @class */ (function (_super) {\n tslib_1.__extends(FreehandDrawToolView, _super);\n function FreehandDrawToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n FreehandDrawToolView.prototype._draw = function (ev, mode, emit) {\n if (emit === void 0) {\n emit = false;\n }\n if (!this.model.active)\n return;\n var renderer = this.model.renderers[0];\n var point = this._map_drag(ev.sx, ev.sy, renderer);\n if (point == null)\n return;\n var x = point[0], y = point[1];\n var cds = renderer.data_source;\n var glyph = renderer.glyph;\n var _a = [glyph.xs.field, glyph.ys.field], xkey = _a[0], ykey = _a[1];\n if (mode == 'new') {\n this._pop_glyphs(cds, this.model.num_objects);\n if (xkey)\n cds.get_array(xkey).push([x]);\n if (ykey)\n cds.get_array(ykey).push([y]);\n this._pad_empty_columns(cds, [xkey, ykey]);\n }\n else if (mode == 'add') {\n if (xkey) {\n var xidx = cds.data[xkey].length - 1;\n var xs = cds.get_array(xkey)[xidx];\n if (!types_1.isArray(xs)) {\n xs = Array.from(xs);\n cds.data[xkey][xidx] = xs;\n }\n xs.push(x);\n }\n if (ykey) {\n var yidx = cds.data[ykey].length - 1;\n var ys = cds.get_array(ykey)[yidx];\n if (!types_1.isArray(ys)) {\n ys = Array.from(ys);\n cds.data[ykey][yidx] = ys;\n }\n ys.push(y);\n }\n }\n this._emit_cds_changes(cds, true, true, emit);\n };\n FreehandDrawToolView.prototype._pan_start = function (ev) {\n this._draw(ev, 'new');\n };\n FreehandDrawToolView.prototype._pan = function (ev) {\n this._draw(ev, 'add');\n };\n FreehandDrawToolView.prototype._pan_end = function (ev) {\n this._draw(ev, 'add', true);\n };\n FreehandDrawToolView.prototype._tap = function (ev) {\n this._select_event(ev, ev.shiftKey, this.model.renderers);\n };\n FreehandDrawToolView.prototype._keyup = function (ev) {\n if (!this.model.active || !this._mouse_in_frame)\n return;\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n if (ev.keyCode === dom_1.Keys.Esc) {\n renderer.data_source.selection_manager.clear();\n }\n else if (ev.keyCode === dom_1.Keys.Backspace) {\n this._delete_selected(renderer);\n }\n }\n };\n return FreehandDrawToolView;\n }(edit_tool_1.EditToolView));\n exports.FreehandDrawToolView = FreehandDrawToolView;\n var FreehandDrawTool = /** @class */ (function (_super) {\n tslib_1.__extends(FreehandDrawTool, _super);\n function FreehandDrawTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Freehand Draw Tool\";\n _this.icon = \"bk-tool-icon-freehand-draw\";\n _this.event_type = [\"pan\", \"tap\"];\n _this.default_order = 3;\n return _this;\n }\n FreehandDrawTool.initClass = function () {\n this.prototype.type = \"FreehandDrawTool\";\n this.prototype.default_view = FreehandDrawToolView;\n this.define({\n num_objects: [p.Int, 0],\n });\n };\n return FreehandDrawTool;\n }(edit_tool_1.EditTool));\n exports.FreehandDrawTool = FreehandDrawTool;\n FreehandDrawTool.initClass();\n}\n","/* models/tools/edit/point_draw_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var dom_1 = require(5) /* ../../../core/dom */;\n var p = require(18) /* ../../../core/properties */;\n var edit_tool_1 = require(261) /* ./edit_tool */;\n var PointDrawToolView = /** @class */ (function (_super) {\n tslib_1.__extends(PointDrawToolView, _super);\n function PointDrawToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PointDrawToolView.prototype._tap = function (ev) {\n var append = ev.shiftKey;\n var renderers = this._select_event(ev, append, this.model.renderers);\n if (renderers.length || !this.model.add) {\n return;\n }\n var renderer = this.model.renderers[0];\n var point = this._map_drag(ev.sx, ev.sy, renderer);\n if (point == null)\n return;\n // Type once dataspecs are typed\n var glyph = renderer.glyph;\n var cds = renderer.data_source;\n var _a = [glyph.x.field, glyph.y.field], xkey = _a[0], ykey = _a[1];\n var x = point[0], y = point[1];\n this._pop_glyphs(cds, this.model.num_objects);\n if (xkey)\n cds.get_array(xkey).push(x);\n if (ykey)\n cds.get_array(ykey).push(y);\n this._pad_empty_columns(cds, [xkey, ykey]);\n cds.change.emit();\n cds.data = cds.data;\n cds.properties.data.change.emit();\n };\n PointDrawToolView.prototype._keyup = function (ev) {\n if (!this.model.active || !this._mouse_in_frame)\n return;\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n if (ev.keyCode === dom_1.Keys.Backspace) {\n this._delete_selected(renderer);\n }\n else if (ev.keyCode == dom_1.Keys.Esc) {\n renderer.data_source.selection_manager.clear();\n }\n }\n };\n PointDrawToolView.prototype._pan_start = function (ev) {\n if (!this.model.drag)\n return;\n this._select_event(ev, true, this.model.renderers);\n this._basepoint = [ev.sx, ev.sy];\n };\n PointDrawToolView.prototype._pan = function (ev) {\n if (!this.model.drag || this._basepoint == null)\n return;\n this._drag_points(ev, this.model.renderers);\n };\n PointDrawToolView.prototype._pan_end = function (ev) {\n if (!this.model.drag)\n return;\n this._pan(ev);\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n this._emit_cds_changes(renderer.data_source, false, true, true);\n }\n this._basepoint = null;\n };\n return PointDrawToolView;\n }(edit_tool_1.EditToolView));\n exports.PointDrawToolView = PointDrawToolView;\n var PointDrawTool = /** @class */ (function (_super) {\n tslib_1.__extends(PointDrawTool, _super);\n function PointDrawTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Point Draw Tool\";\n _this.icon = \"bk-tool-icon-point-draw\";\n _this.event_type = [\"tap\", \"pan\", \"move\"];\n _this.default_order = 2;\n return _this;\n }\n PointDrawTool.initClass = function () {\n this.prototype.type = \"PointDrawTool\";\n this.prototype.default_view = PointDrawToolView;\n this.define({\n add: [p.Boolean, true],\n drag: [p.Boolean, true],\n num_objects: [p.Int, 0],\n });\n };\n return PointDrawTool;\n }(edit_tool_1.EditTool));\n exports.PointDrawTool = PointDrawTool;\n PointDrawTool.initClass();\n}\n","/* models/tools/edit/poly_draw_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var dom_1 = require(5) /* ../../../core/dom */;\n var p = require(18) /* ../../../core/properties */;\n var types_1 = require(46) /* ../../../core/util/types */;\n var poly_tool_1 = require(266) /* ./poly_tool */;\n var PolyDrawToolView = /** @class */ (function (_super) {\n tslib_1.__extends(PolyDrawToolView, _super);\n function PolyDrawToolView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._drawing = false;\n _this._initialized = false;\n return _this;\n }\n PolyDrawToolView.prototype._tap = function (ev) {\n if (this._drawing)\n this._draw(ev, 'add', true);\n else\n this._select_event(ev, ev.shiftKey, this.model.renderers);\n };\n PolyDrawToolView.prototype._draw = function (ev, mode, emit) {\n if (emit === void 0) {\n emit = false;\n }\n var renderer = this.model.renderers[0];\n var point = this._map_drag(ev.sx, ev.sy, renderer);\n if (!this._initialized)\n this.activate(); // Ensure that activate has been called\n if (point == null)\n return;\n var _a = this._snap_to_vertex.apply(this, [ev].concat(point)), x = _a[0], y = _a[1];\n var cds = renderer.data_source;\n var glyph = renderer.glyph;\n var _b = [glyph.xs.field, glyph.ys.field], xkey = _b[0], ykey = _b[1];\n if (mode == 'new') {\n this._pop_glyphs(cds, this.model.num_objects);\n if (xkey)\n cds.get_array(xkey).push([x, x]);\n if (ykey)\n cds.get_array(ykey).push([y, y]);\n this._pad_empty_columns(cds, [xkey, ykey]);\n }\n else if (mode == 'edit') {\n if (xkey) {\n var xs = cds.data[xkey][cds.data[xkey].length - 1];\n xs[xs.length - 1] = x;\n }\n if (ykey) {\n var ys = cds.data[ykey][cds.data[ykey].length - 1];\n ys[ys.length - 1] = y;\n }\n }\n else if (mode == 'add') {\n if (xkey) {\n var xidx = cds.data[xkey].length - 1;\n var xs = cds.get_array(xkey)[xidx];\n var nx = xs[xs.length - 1];\n xs[xs.length - 1] = x;\n if (!types_1.isArray(xs)) {\n xs = Array.from(xs);\n cds.data[xkey][xidx] = xs;\n }\n xs.push(nx);\n }\n if (ykey) {\n var yidx = cds.data[ykey].length - 1;\n var ys = cds.get_array(ykey)[yidx];\n var ny = ys[ys.length - 1];\n ys[ys.length - 1] = y;\n if (!types_1.isArray(ys)) {\n ys = Array.from(ys);\n cds.data[ykey][yidx] = ys;\n }\n ys.push(ny);\n }\n }\n this._emit_cds_changes(cds, true, false, emit);\n };\n PolyDrawToolView.prototype._show_vertices = function () {\n if (!this.model.active) {\n return;\n }\n var xs = [];\n var ys = [];\n for (var i = 0; i < this.model.renderers.length; i++) {\n var renderer = this.model.renderers[i];\n var cds = renderer.data_source;\n var glyph = renderer.glyph;\n var _a = [glyph.xs.field, glyph.ys.field], xkey = _a[0], ykey = _a[1];\n if (xkey) {\n for (var _i = 0, _b = cds.get_array(xkey); _i < _b.length; _i++) {\n var array = _b[_i];\n Array.prototype.push.apply(xs, array);\n }\n }\n if (ykey) {\n for (var _c = 0, _d = cds.get_array(ykey); _c < _d.length; _c++) {\n var array = _d[_c];\n Array.prototype.push.apply(ys, array);\n }\n }\n if (this._drawing && (i == (this.model.renderers.length - 1))) {\n // Skip currently drawn vertex\n xs.splice(xs.length - 1, 1);\n ys.splice(ys.length - 1, 1);\n }\n }\n this._set_vertices(xs, ys);\n };\n PolyDrawToolView.prototype._doubletap = function (ev) {\n if (!this.model.active)\n return;\n if (this._drawing) {\n this._drawing = false;\n this._draw(ev, 'edit', true);\n }\n else {\n this._drawing = true;\n this._draw(ev, 'new', true);\n }\n };\n PolyDrawToolView.prototype._move = function (ev) {\n if (this._drawing) {\n this._draw(ev, 'edit');\n }\n };\n PolyDrawToolView.prototype._remove = function () {\n var renderer = this.model.renderers[0];\n var cds = renderer.data_source;\n var glyph = renderer.glyph;\n var _a = [glyph.xs.field, glyph.ys.field], xkey = _a[0], ykey = _a[1];\n if (xkey) {\n var xidx = cds.data[xkey].length - 1;\n var xs = cds.get_array(xkey)[xidx];\n xs.splice(xs.length - 1, 1);\n }\n if (ykey) {\n var yidx = cds.data[ykey].length - 1;\n var ys = cds.get_array(ykey)[yidx];\n ys.splice(ys.length - 1, 1);\n }\n this._emit_cds_changes(cds);\n };\n PolyDrawToolView.prototype._keyup = function (ev) {\n if (!this.model.active || !this._mouse_in_frame)\n return;\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n if (ev.keyCode === dom_1.Keys.Backspace) {\n this._delete_selected(renderer);\n }\n else if (ev.keyCode == dom_1.Keys.Esc) {\n if (this._drawing) {\n this._remove();\n this._drawing = false;\n }\n renderer.data_source.selection_manager.clear();\n }\n }\n };\n PolyDrawToolView.prototype._pan_start = function (ev) {\n if (!this.model.drag)\n return;\n this._select_event(ev, true, this.model.renderers);\n this._basepoint = [ev.sx, ev.sy];\n };\n PolyDrawToolView.prototype._pan = function (ev) {\n if (this._basepoint == null || !this.model.drag)\n return;\n var _a = this._basepoint, bx = _a[0], by = _a[1];\n // Process polygon/line dragging\n for (var _i = 0, _b = this.model.renderers; _i < _b.length; _i++) {\n var renderer = _b[_i];\n var basepoint = this._map_drag(bx, by, renderer);\n var point = this._map_drag(ev.sx, ev.sy, renderer);\n if (point == null || basepoint == null)\n continue;\n var cds = renderer.data_source;\n // Type once dataspecs are typed\n var glyph = renderer.glyph;\n var _c = [glyph.xs.field, glyph.ys.field], xkey = _c[0], ykey = _c[1];\n if (!xkey && !ykey)\n continue;\n var x = point[0], y = point[1];\n var px = basepoint[0], py = basepoint[1];\n var _d = [x - px, y - py], dx = _d[0], dy = _d[1];\n for (var _e = 0, _f = cds.selected.indices; _e < _f.length; _e++) {\n var index = _f[_e];\n var length_1 = void 0, xs = void 0, ys = void 0;\n if (xkey)\n xs = cds.data[xkey][index];\n if (ykey) {\n ys = cds.data[ykey][index];\n length_1 = ys.length;\n }\n else {\n length_1 = xs.length;\n }\n for (var i = 0; i < length_1; i++) {\n if (xs)\n xs[i] += dx;\n if (ys)\n ys[i] += dy;\n }\n }\n cds.change.emit();\n }\n this._basepoint = [ev.sx, ev.sy];\n };\n PolyDrawToolView.prototype._pan_end = function (ev) {\n if (!this.model.drag)\n return;\n this._pan(ev);\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n this._emit_cds_changes(renderer.data_source);\n }\n this._basepoint = null;\n };\n PolyDrawToolView.prototype.activate = function () {\n var _this = this;\n if (!this.model.vertex_renderer || !this.model.active)\n return;\n this._show_vertices();\n if (!this._initialized) {\n for (var _i = 0, _a = this.model.renderers; _i < _a.length; _i++) {\n var renderer = _a[_i];\n var cds = renderer.data_source;\n cds.connect(cds.properties.data.change, function () { return _this._show_vertices(); });\n }\n }\n this._initialized = true;\n };\n PolyDrawToolView.prototype.deactivate = function () {\n if (this._drawing) {\n this._remove();\n this._drawing = false;\n }\n if (this.model.vertex_renderer)\n this._hide_vertices();\n };\n return PolyDrawToolView;\n }(poly_tool_1.PolyToolView));\n exports.PolyDrawToolView = PolyDrawToolView;\n var PolyDrawTool = /** @class */ (function (_super) {\n tslib_1.__extends(PolyDrawTool, _super);\n function PolyDrawTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Polygon Draw Tool\";\n _this.icon = \"bk-tool-icon-poly-draw\";\n _this.event_type = [\"pan\", \"tap\", \"move\"];\n _this.default_order = 3;\n return _this;\n }\n PolyDrawTool.initClass = function () {\n this.prototype.type = \"PolyDrawTool\";\n this.prototype.default_view = PolyDrawToolView;\n this.define({\n drag: [p.Boolean, true],\n num_objects: [p.Int, 0],\n });\n };\n return PolyDrawTool;\n }(poly_tool_1.PolyTool));\n exports.PolyDrawTool = PolyDrawTool;\n PolyDrawTool.initClass();\n}\n","/* models/tools/edit/poly_edit_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var dom_1 = require(5) /* ../../../core/dom */;\n var types_1 = require(46) /* ../../../core/util/types */;\n var poly_tool_1 = require(266) /* ./poly_tool */;\n var PolyEditToolView = /** @class */ (function (_super) {\n tslib_1.__extends(PolyEditToolView, _super);\n function PolyEditToolView() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._drawing = false;\n return _this;\n }\n PolyEditToolView.prototype._doubletap = function (ev) {\n if (!this.model.active)\n return;\n var point = this._map_drag(ev.sx, ev.sy, this.model.vertex_renderer);\n if (point == null)\n return;\n var x = point[0], y = point[1];\n // Perform hit testing\n var vertex_selected = this._select_event(ev, false, [this.model.vertex_renderer]);\n var point_cds = this.model.vertex_renderer.data_source;\n // Type once dataspecs are typed\n var point_glyph = this.model.vertex_renderer.glyph;\n var _a = [point_glyph.x.field, point_glyph.y.field], pxkey = _a[0], pykey = _a[1];\n if (vertex_selected.length && this._selected_renderer != null) {\n // Insert a new point after the selected vertex and enter draw mode\n var index = point_cds.selected.indices[0];\n if (this._drawing) {\n this._drawing = false;\n point_cds.selection_manager.clear();\n }\n else {\n point_cds.selected.indices = [index + 1];\n if (pxkey)\n point_cds.get_array(pxkey).splice(index + 1, 0, x);\n if (pykey)\n point_cds.get_array(pykey).splice(index + 1, 0, y);\n this._drawing = true;\n }\n point_cds.change.emit();\n this._emit_cds_changes(this._selected_renderer.data_source);\n }\n else {\n this._show_vertices(ev);\n }\n };\n PolyEditToolView.prototype._show_vertices = function (ev) {\n if (!this.model.active)\n return;\n var renderers = this._select_event(ev, false, this.model.renderers);\n if (!renderers.length) {\n this._set_vertices([], []);\n this._selected_renderer = null;\n this._drawing = false;\n return;\n }\n var renderer = renderers[0];\n var glyph = renderer.glyph;\n var cds = renderer.data_source;\n var index = cds.selected.indices[0];\n var _a = [glyph.xs.field, glyph.ys.field], xkey = _a[0], ykey = _a[1];\n var xs;\n var ys;\n if (xkey) {\n xs = cds.data[xkey][index];\n if (!types_1.isArray(xs))\n cds.data[xkey][index] = xs = Array.from(xs);\n }\n else {\n xs = glyph.xs.value;\n }\n if (ykey) {\n ys = cds.data[ykey][index];\n if (!types_1.isArray(ys))\n cds.data[ykey][index] = ys = Array.from(ys);\n }\n else {\n ys = glyph.ys.value;\n }\n this._selected_renderer = renderer;\n this._set_vertices(xs, ys);\n };\n PolyEditToolView.prototype._move = function (ev) {\n var _a;\n if (this._drawing && this._selected_renderer != null) {\n var renderer = this.model.vertex_renderer;\n var cds = renderer.data_source;\n var glyph = renderer.glyph;\n var point = this._map_drag(ev.sx, ev.sy, renderer);\n if (point == null)\n return;\n var x = point[0], y = point[1];\n var indices = cds.selected.indices;\n _a = this._snap_to_vertex(ev, x, y), x = _a[0], y = _a[1];\n cds.selected.indices = indices;\n var _b = [glyph.x.field, glyph.y.field], xkey = _b[0], ykey = _b[1];\n var index = indices[0];\n if (xkey)\n cds.data[xkey][index] = x;\n if (ykey)\n cds.data[ykey][index] = y;\n cds.change.emit();\n this._selected_renderer.data_source.change.emit();\n }\n };\n PolyEditToolView.prototype._tap = function (ev) {\n var _a;\n var renderer = this.model.vertex_renderer;\n var point = this._map_drag(ev.sx, ev.sy, renderer);\n if (point == null)\n return;\n else if (this._drawing && this._selected_renderer) {\n var x = point[0], y = point[1];\n var cds = renderer.data_source;\n // Type once dataspecs are typed\n var glyph = renderer.glyph;\n var _b = [glyph.x.field, glyph.y.field], xkey = _b[0], ykey = _b[1];\n var indices = cds.selected.indices;\n _a = this._snap_to_vertex(ev, x, y), x = _a[0], y = _a[1];\n var index = indices[0];\n cds.selected.indices = [index + 1];\n if (xkey) {\n var xs = cds.get_array(xkey);\n var nx = xs[index];\n xs[index] = x;\n xs.splice(index + 1, 0, nx);\n }\n if (ykey) {\n var ys = cds.get_array(ykey);\n var ny = ys[index];\n ys[index] = y;\n ys.splice(index + 1, 0, ny);\n }\n cds.change.emit();\n this._emit_cds_changes(this._selected_renderer.data_source, true, false, true);\n return;\n }\n var append = ev.shiftKey;\n this._select_event(ev, append, [renderer]);\n this._select_event(ev, append, this.model.renderers);\n };\n PolyEditToolView.prototype._remove_vertex = function () {\n if (!this._drawing || !this._selected_renderer)\n return;\n var renderer = this.model.vertex_renderer;\n var cds = renderer.data_source;\n // Type once dataspecs are typed\n var glyph = renderer.glyph;\n var index = cds.selected.indices[0];\n var _a = [glyph.x.field, glyph.y.field], xkey = _a[0], ykey = _a[1];\n if (xkey)\n cds.get_array(xkey).splice(index, 1);\n if (ykey)\n cds.get_array(ykey).splice(index, 1);\n cds.change.emit();\n this._emit_cds_changes(this._selected_renderer.data_source);\n };\n PolyEditToolView.prototype._pan_start = function (ev) {\n this._select_event(ev, true, [this.model.vertex_renderer]);\n this._basepoint = [ev.sx, ev.sy];\n };\n PolyEditToolView.prototype._pan = function (ev) {\n if (this._basepoint == null)\n return;\n this._drag_points(ev, [this.model.vertex_renderer]);\n if (this._selected_renderer)\n this._selected_renderer.data_source.change.emit();\n };\n PolyEditToolView.prototype._pan_end = function (ev) {\n if (this._basepoint == null)\n return;\n this._drag_points(ev, [this.model.vertex_renderer]);\n this._emit_cds_changes(this.model.vertex_renderer.data_source, false, true, true);\n if (this._selected_renderer) {\n this._emit_cds_changes(this._selected_renderer.data_source);\n }\n this._basepoint = null;\n };\n PolyEditToolView.prototype._keyup = function (ev) {\n if (!this.model.active || !this._mouse_in_frame)\n return;\n var renderers;\n if (this._selected_renderer) {\n renderers = [this.model.vertex_renderer];\n }\n else {\n renderers = this.model.renderers;\n }\n for (var _i = 0, renderers_1 = renderers; _i < renderers_1.length; _i++) {\n var renderer = renderers_1[_i];\n if (ev.keyCode === dom_1.Keys.Backspace) {\n this._delete_selected(renderer);\n if (this._selected_renderer) {\n this._emit_cds_changes(this._selected_renderer.data_source);\n }\n }\n else if (ev.keyCode == dom_1.Keys.Esc) {\n if (this._drawing) {\n this._remove_vertex();\n this._drawing = false;\n }\n else if (this._selected_renderer) {\n this._hide_vertices();\n }\n renderer.data_source.selection_manager.clear();\n }\n }\n };\n PolyEditToolView.prototype.deactivate = function () {\n if (!this._selected_renderer) {\n return;\n }\n else if (this._drawing) {\n this._remove_vertex();\n this._drawing = false;\n }\n this._hide_vertices();\n };\n return PolyEditToolView;\n }(poly_tool_1.PolyToolView));\n exports.PolyEditToolView = PolyEditToolView;\n var PolyEditTool = /** @class */ (function (_super) {\n tslib_1.__extends(PolyEditTool, _super);\n function PolyEditTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Poly Edit Tool\";\n _this.icon = \"bk-tool-icon-poly-edit\";\n _this.event_type = [\"tap\", \"pan\", \"move\"];\n _this.default_order = 4;\n return _this;\n }\n PolyEditTool.initClass = function () {\n this.prototype.type = \"PolyEditTool\";\n this.prototype.default_view = PolyEditToolView;\n };\n return PolyEditTool;\n }(poly_tool_1.PolyTool));\n exports.PolyEditTool = PolyEditTool;\n PolyEditTool.initClass();\n}\n","/* models/tools/edit/poly_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var p = require(18) /* ../../../core/properties */;\n var types_1 = require(46) /* ../../../core/util/types */;\n var edit_tool_1 = require(261) /* ./edit_tool */;\n var PolyToolView = /** @class */ (function (_super) {\n tslib_1.__extends(PolyToolView, _super);\n function PolyToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PolyToolView.prototype._set_vertices = function (xs, ys) {\n var point_glyph = this.model.vertex_renderer.glyph;\n var point_cds = this.model.vertex_renderer.data_source;\n var _a = [point_glyph.x.field, point_glyph.y.field], pxkey = _a[0], pykey = _a[1];\n if (pxkey) {\n if (types_1.isArray(xs))\n point_cds.data[pxkey] = xs;\n else\n point_glyph.x = { value: xs };\n }\n if (pykey) {\n if (types_1.isArray(ys))\n point_cds.data[pykey] = ys;\n else\n point_glyph.y = { value: ys };\n }\n this._emit_cds_changes(point_cds, true, true, false);\n };\n PolyToolView.prototype._hide_vertices = function () {\n this._set_vertices([], []);\n };\n PolyToolView.prototype._snap_to_vertex = function (ev, x, y) {\n if (this.model.vertex_renderer) {\n // If an existing vertex is hit snap to it\n var vertex_selected = this._select_event(ev, false, [this.model.vertex_renderer]);\n var point_ds = this.model.vertex_renderer.data_source;\n // Type once dataspecs are typed\n var point_glyph = this.model.vertex_renderer.glyph;\n var _a = [point_glyph.x.field, point_glyph.y.field], pxkey = _a[0], pykey = _a[1];\n if (vertex_selected.length) {\n var index = point_ds.selected.indices[0];\n if (pxkey)\n x = point_ds.data[pxkey][index];\n if (pykey)\n y = point_ds.data[pykey][index];\n point_ds.selection_manager.clear();\n }\n }\n return [x, y];\n };\n return PolyToolView;\n }(edit_tool_1.EditToolView));\n exports.PolyToolView = PolyToolView;\n var PolyTool = /** @class */ (function (_super) {\n tslib_1.__extends(PolyTool, _super);\n function PolyTool(attrs) {\n return _super.call(this, attrs) || this;\n }\n PolyTool.initClass = function () {\n this.prototype.type = \"PolyTool\";\n this.prototype.default_view = PolyToolView;\n this.define({\n vertex_renderer: [p.Instance],\n });\n };\n return PolyTool;\n }(edit_tool_1.EditTool));\n exports.PolyTool = PolyTool;\n PolyTool.initClass();\n}\n","/* models/tools/gestures/box_select_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var select_tool_1 = require(274) /* ./select_tool */;\n var box_annotation_1 = require(67) /* ../../annotations/box_annotation */;\n var p = require(18) /* ../../../core/properties */;\n var BoxSelectToolView = /** @class */ (function (_super) {\n tslib_1.__extends(BoxSelectToolView, _super);\n function BoxSelectToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoxSelectToolView.prototype._compute_limits = function (curpoint) {\n var frame = this.plot_view.frame;\n var dims = this.model.dimensions;\n var base_point = this._base_point;\n if (this.model.origin == \"center\") {\n var cx = base_point[0], cy = base_point[1];\n var dx = curpoint[0], dy = curpoint[1];\n base_point = [cx - (dx - cx), cy - (dy - cy)];\n }\n return this.model._get_dim_limits(base_point, curpoint, frame, dims);\n };\n BoxSelectToolView.prototype._pan_start = function (ev) {\n var sx = ev.sx, sy = ev.sy;\n this._base_point = [sx, sy];\n };\n BoxSelectToolView.prototype._pan = function (ev) {\n var sx = ev.sx, sy = ev.sy;\n var curpoint = [sx, sy];\n var _a = this._compute_limits(curpoint), sxlim = _a[0], sylim = _a[1];\n this.model.overlay.update({ left: sxlim[0], right: sxlim[1], top: sylim[0], bottom: sylim[1] });\n if (this.model.select_every_mousemove) {\n var append = ev.shiftKey;\n this._do_select(sxlim, sylim, false, append);\n }\n };\n BoxSelectToolView.prototype._pan_end = function (ev) {\n var sx = ev.sx, sy = ev.sy;\n var curpoint = [sx, sy];\n var _a = this._compute_limits(curpoint), sxlim = _a[0], sylim = _a[1];\n var append = ev.shiftKey;\n this._do_select(sxlim, sylim, true, append);\n this.model.overlay.update({ left: null, right: null, top: null, bottom: null });\n this._base_point = null;\n this.plot_view.push_state('box_select', { selection: this.plot_view.get_selection() });\n };\n BoxSelectToolView.prototype._do_select = function (_a, _b, final, append) {\n var sx0 = _a[0], sx1 = _a[1];\n var sy0 = _b[0], sy1 = _b[1];\n if (append === void 0) {\n append = false;\n }\n var geometry = { type: 'rect', sx0: sx0, sx1: sx1, sy0: sy0, sy1: sy1 };\n this._select(geometry, final, append);\n };\n BoxSelectToolView.prototype._emit_callback = function (geometry) {\n var r = this.computed_renderers[0];\n var frame = this.plot_view.frame;\n var xscale = frame.xscales[r.x_range_name];\n var yscale = frame.yscales[r.y_range_name];\n var sx0 = geometry.sx0, sx1 = geometry.sx1, sy0 = geometry.sy0, sy1 = geometry.sy1;\n var _a = xscale.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var _b = yscale.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n var g = tslib_1.__assign({ x0: x0, y0: y0, x1: x1, y1: y1 }, geometry);\n if (this.model.callback != null)\n this.model.callback.execute(this.model, { geometry: g });\n };\n return BoxSelectToolView;\n }(select_tool_1.SelectToolView));\n exports.BoxSelectToolView = BoxSelectToolView;\n var DEFAULT_BOX_OVERLAY = function () {\n return new box_annotation_1.BoxAnnotation({\n level: \"overlay\",\n render_mode: \"css\",\n top_units: \"screen\",\n left_units: \"screen\",\n bottom_units: \"screen\",\n right_units: \"screen\",\n fill_color: { value: \"lightgrey\" },\n fill_alpha: { value: 0.5 },\n line_color: { value: \"black\" },\n line_alpha: { value: 1.0 },\n line_width: { value: 2 },\n line_dash: { value: [4, 4] },\n });\n };\n var BoxSelectTool = /** @class */ (function (_super) {\n tslib_1.__extends(BoxSelectTool, _super);\n function BoxSelectTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Box Select\";\n _this.icon = \"bk-tool-icon-box-select\";\n _this.event_type = \"pan\";\n _this.default_order = 30;\n return _this;\n }\n BoxSelectTool.initClass = function () {\n this.prototype.type = \"BoxSelectTool\";\n this.prototype.default_view = BoxSelectToolView;\n this.define({\n dimensions: [p.Dimensions, \"both\"],\n select_every_mousemove: [p.Boolean, false],\n callback: [p.Any],\n overlay: [p.Instance, DEFAULT_BOX_OVERLAY],\n origin: [p.BoxOrigin, \"corner\"],\n });\n };\n Object.defineProperty(BoxSelectTool.prototype, \"tooltip\", {\n get: function () {\n return this._get_dim_tooltip(this.tool_name, this.dimensions);\n },\n enumerable: true,\n configurable: true\n });\n return BoxSelectTool;\n }(select_tool_1.SelectTool));\n exports.BoxSelectTool = BoxSelectTool;\n BoxSelectTool.initClass();\n}\n","/* models/tools/gestures/box_zoom_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var gesture_tool_1 = require(269) /* ./gesture_tool */;\n var box_annotation_1 = require(67) /* ../../annotations/box_annotation */;\n var p = require(18) /* ../../../core/properties */;\n var BoxZoomToolView = /** @class */ (function (_super) {\n tslib_1.__extends(BoxZoomToolView, _super);\n function BoxZoomToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BoxZoomToolView.prototype._match_aspect = function (base_point, curpoint, frame) {\n // aspect ratio of plot frame\n var a = frame.bbox.aspect;\n var hend = frame.bbox.h_range.end;\n var hstart = frame.bbox.h_range.start;\n var vend = frame.bbox.v_range.end;\n var vstart = frame.bbox.v_range.start;\n // current aspect of cursor-defined box\n var vw = Math.abs(base_point[0] - curpoint[0]);\n var vh = Math.abs(base_point[1] - curpoint[1]);\n var va = vh == 0 ? 0 : vw / vh;\n var xmod = (va >= a ? [1, va / a] : [a / va, 1])[0];\n // OK the code blocks below merit some explanation. They do:\n //\n // compute left/right, pin to frame if necessary\n // compute top/bottom (based on new left/right), pin to frame if necessary\n // recompute left/right (based on top/bottom), in case top/bottom were pinned\n // base_point[0] is left\n var left;\n var right;\n if (base_point[0] <= curpoint[0]) {\n left = base_point[0];\n right = base_point[0] + vw * xmod;\n if (right > hend)\n right = hend;\n // base_point[0] is right\n }\n else {\n right = base_point[0];\n left = base_point[0] - vw * xmod;\n if (left < hstart)\n left = hstart;\n }\n vw = Math.abs(right - left);\n // base_point[1] is bottom\n var top;\n var bottom;\n if (base_point[1] <= curpoint[1]) {\n bottom = base_point[1];\n top = base_point[1] + vw / a;\n if (top > vend)\n top = vend;\n // base_point[1] is top\n }\n else {\n top = base_point[1];\n bottom = base_point[1] - vw / a;\n if (bottom < vstart)\n bottom = vstart;\n }\n vh = Math.abs(top - bottom);\n // base_point[0] is left\n if (base_point[0] <= curpoint[0])\n right = base_point[0] + a * vh;\n // base_point[0] is right\n else\n left = base_point[0] - a * vh;\n return [[left, right], [bottom, top]];\n };\n BoxZoomToolView.prototype._compute_limits = function (curpoint) {\n var _a, _b;\n var frame = this.plot_view.frame;\n var dims = this.model.dimensions;\n var base_point = this._base_point;\n if (this.model.origin == \"center\") {\n var cx = base_point[0], cy = base_point[1];\n var dx = curpoint[0], dy = curpoint[1];\n base_point = [cx - (dx - cx), cy - (dy - cy)];\n }\n var sx;\n var sy;\n if (this.model.match_aspect && dims == 'both')\n _a = this._match_aspect(base_point, curpoint, frame), sx = _a[0], sy = _a[1];\n else\n _b = this.model._get_dim_limits(base_point, curpoint, frame, dims), sx = _b[0], sy = _b[1];\n return [sx, sy];\n };\n BoxZoomToolView.prototype._pan_start = function (ev) {\n this._base_point = [ev.sx, ev.sy];\n };\n BoxZoomToolView.prototype._pan = function (ev) {\n var curpoint = [ev.sx, ev.sy];\n var _a = this._compute_limits(curpoint), sx = _a[0], sy = _a[1];\n this.model.overlay.update({ left: sx[0], right: sx[1], top: sy[0], bottom: sy[1] });\n };\n BoxZoomToolView.prototype._pan_end = function (ev) {\n var curpoint = [ev.sx, ev.sy];\n var _a = this._compute_limits(curpoint), sx = _a[0], sy = _a[1];\n this._update(sx, sy);\n this.model.overlay.update({ left: null, right: null, top: null, bottom: null });\n this._base_point = null;\n };\n BoxZoomToolView.prototype._update = function (_a, _b) {\n var sx0 = _a[0], sx1 = _a[1];\n var sy0 = _b[0], sy1 = _b[1];\n // If the viewing window is too small, no-op: it is likely that the user did\n // not intend to make this box zoom and instead was trying to cancel out of the\n // zoom, a la matplotlib's ToolZoom. Like matplotlib, set the threshold at 5 pixels.\n if (Math.abs(sx1 - sx0) <= 5 || Math.abs(sy1 - sy0) <= 5)\n return;\n var _c = this.plot_view.frame, xscales = _c.xscales, yscales = _c.yscales;\n var xrs = {};\n for (var name_1 in xscales) {\n var scale = xscales[name_1];\n var _d = scale.r_invert(sx0, sx1), start = _d[0], end = _d[1];\n xrs[name_1] = { start: start, end: end };\n }\n var yrs = {};\n for (var name_2 in yscales) {\n var scale = yscales[name_2];\n var _e = scale.r_invert(sy0, sy1), start = _e[0], end = _e[1];\n yrs[name_2] = { start: start, end: end };\n }\n var zoom_info = { xrs: xrs, yrs: yrs };\n this.plot_view.push_state('box_zoom', { range: zoom_info });\n this.plot_view.update_range(zoom_info);\n };\n return BoxZoomToolView;\n }(gesture_tool_1.GestureToolView));\n exports.BoxZoomToolView = BoxZoomToolView;\n var DEFAULT_BOX_OVERLAY = function () {\n return new box_annotation_1.BoxAnnotation({\n level: \"overlay\",\n render_mode: \"css\",\n top_units: \"screen\",\n left_units: \"screen\",\n bottom_units: \"screen\",\n right_units: \"screen\",\n fill_color: { value: \"lightgrey\" },\n fill_alpha: { value: 0.5 },\n line_color: { value: \"black\" },\n line_alpha: { value: 1.0 },\n line_width: { value: 2 },\n line_dash: { value: [4, 4] },\n });\n };\n var BoxZoomTool = /** @class */ (function (_super) {\n tslib_1.__extends(BoxZoomTool, _super);\n function BoxZoomTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Box Zoom\";\n _this.icon = \"bk-tool-icon-box-zoom\";\n _this.event_type = \"pan\";\n _this.default_order = 20;\n return _this;\n }\n BoxZoomTool.initClass = function () {\n this.prototype.type = \"BoxZoomTool\";\n this.prototype.default_view = BoxZoomToolView;\n this.define({\n dimensions: [p.Dimensions, \"both\"],\n overlay: [p.Instance, DEFAULT_BOX_OVERLAY],\n match_aspect: [p.Boolean, false],\n origin: [p.BoxOrigin, \"corner\"],\n });\n };\n Object.defineProperty(BoxZoomTool.prototype, \"tooltip\", {\n get: function () {\n return this._get_dim_tooltip(this.tool_name, this.dimensions);\n },\n enumerable: true,\n configurable: true\n });\n return BoxZoomTool;\n }(gesture_tool_1.GestureTool));\n exports.BoxZoomTool = BoxZoomTool;\n BoxZoomTool.initClass();\n}\n","/* models/tools/gestures/gesture_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var button_tool_1 = require(259) /* ../button_tool */;\n var on_off_button_1 = require(283) /* ../on_off_button */;\n var GestureToolView = /** @class */ (function (_super) {\n tslib_1.__extends(GestureToolView, _super);\n function GestureToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return GestureToolView;\n }(button_tool_1.ButtonToolView));\n exports.GestureToolView = GestureToolView;\n var GestureTool = /** @class */ (function (_super) {\n tslib_1.__extends(GestureTool, _super);\n function GestureTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.button_view = on_off_button_1.OnOffButtonView;\n return _this;\n }\n GestureTool.initClass = function () {\n this.prototype.type = \"GestureTool\";\n };\n return GestureTool;\n }(button_tool_1.ButtonTool));\n exports.GestureTool = GestureTool;\n GestureTool.initClass();\n}\n","/* models/tools/gestures/lasso_select_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var select_tool_1 = require(274) /* ./select_tool */;\n var poly_annotation_1 = require(74) /* ../../annotations/poly_annotation */;\n var dom_1 = require(5) /* ../../../core/dom */;\n var p = require(18) /* ../../../core/properties */;\n var LassoSelectToolView = /** @class */ (function (_super) {\n tslib_1.__extends(LassoSelectToolView, _super);\n function LassoSelectToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LassoSelectToolView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.data = null;\n };\n LassoSelectToolView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.properties.active.change, function () { return _this._active_change(); });\n };\n LassoSelectToolView.prototype._active_change = function () {\n if (!this.model.active)\n this._clear_overlay();\n };\n LassoSelectToolView.prototype._keyup = function (ev) {\n if (ev.keyCode == dom_1.Keys.Enter)\n this._clear_overlay();\n };\n LassoSelectToolView.prototype._pan_start = function (ev) {\n var sx = ev.sx, sy = ev.sy;\n this.data = { sx: [sx], sy: [sy] };\n };\n LassoSelectToolView.prototype._pan = function (ev) {\n var _sx = ev.sx, _sy = ev.sy;\n var _a = this.plot_view.frame.bbox.clip(_sx, _sy), sx = _a[0], sy = _a[1];\n this.data.sx.push(sx);\n this.data.sy.push(sy);\n var overlay = this.model.overlay;\n overlay.update({ xs: this.data.sx, ys: this.data.sy });\n if (this.model.select_every_mousemove) {\n var append = ev.shiftKey;\n this._do_select(this.data.sx, this.data.sy, false, append);\n }\n };\n LassoSelectToolView.prototype._pan_end = function (ev) {\n this._clear_overlay();\n var append = ev.shiftKey;\n this._do_select(this.data.sx, this.data.sy, true, append);\n this.plot_view.push_state('lasso_select', { selection: this.plot_view.get_selection() });\n };\n LassoSelectToolView.prototype._clear_overlay = function () {\n this.model.overlay.update({ xs: [], ys: [] });\n };\n LassoSelectToolView.prototype._do_select = function (sx, sy, final, append) {\n var geometry = { type: 'poly', sx: sx, sy: sy };\n this._select(geometry, final, append);\n };\n LassoSelectToolView.prototype._emit_callback = function (geometry) {\n var r = this.computed_renderers[0];\n var frame = this.plot_view.frame;\n var xscale = frame.xscales[r.x_range_name];\n var yscale = frame.yscales[r.y_range_name];\n var x = xscale.v_invert(geometry.sx);\n var y = yscale.v_invert(geometry.sy);\n var g = tslib_1.__assign({ x: x, y: y }, geometry);\n if (this.model.callback != null)\n this.model.callback.execute(this.model, { geometry: g });\n };\n return LassoSelectToolView;\n }(select_tool_1.SelectToolView));\n exports.LassoSelectToolView = LassoSelectToolView;\n var DEFAULT_POLY_OVERLAY = function () {\n return new poly_annotation_1.PolyAnnotation({\n level: \"overlay\",\n xs_units: \"screen\",\n ys_units: \"screen\",\n fill_color: { value: \"lightgrey\" },\n fill_alpha: { value: 0.5 },\n line_color: { value: \"black\" },\n line_alpha: { value: 1.0 },\n line_width: { value: 2 },\n line_dash: { value: [4, 4] },\n });\n };\n var LassoSelectTool = /** @class */ (function (_super) {\n tslib_1.__extends(LassoSelectTool, _super);\n function LassoSelectTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Lasso Select\";\n _this.icon = \"bk-tool-icon-lasso-select\";\n _this.event_type = \"pan\";\n _this.default_order = 12;\n return _this;\n }\n LassoSelectTool.initClass = function () {\n this.prototype.type = \"LassoSelectTool\";\n this.prototype.default_view = LassoSelectToolView;\n this.define({\n select_every_mousemove: [p.Boolean, true],\n callback: [p.Any],\n overlay: [p.Instance, DEFAULT_POLY_OVERLAY],\n });\n };\n return LassoSelectTool;\n }(select_tool_1.SelectTool));\n exports.LassoSelectTool = LassoSelectTool;\n LassoSelectTool.initClass();\n}\n","/* models/tools/gestures/pan_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var gesture_tool_1 = require(269) /* ./gesture_tool */;\n var p = require(18) /* ../../../core/properties */;\n var PanToolView = /** @class */ (function (_super) {\n tslib_1.__extends(PanToolView, _super);\n function PanToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PanToolView.prototype._pan_start = function (ev) {\n this.last_dx = 0;\n this.last_dy = 0;\n var sx = ev.sx, sy = ev.sy;\n var bbox = this.plot_view.frame.bbox;\n if (!bbox.contains(sx, sy)) {\n var hr = bbox.h_range;\n var vr = bbox.v_range;\n if (sx < hr.start || sx > hr.end)\n this.v_axis_only = true;\n if (sy < vr.start || sy > vr.end)\n this.h_axis_only = true;\n }\n if (this.model.document != null)\n this.model.document.interactive_start(this.plot_model);\n };\n PanToolView.prototype._pan = function (ev) {\n this._update(ev.deltaX, ev.deltaY);\n if (this.model.document != null)\n this.model.document.interactive_start(this.plot_model);\n };\n PanToolView.prototype._pan_end = function (_e) {\n this.h_axis_only = false;\n this.v_axis_only = false;\n if (this.pan_info != null)\n this.plot_view.push_state('pan', { range: this.pan_info });\n };\n PanToolView.prototype._update = function (dx, dy) {\n var frame = this.plot_view.frame;\n var new_dx = dx - this.last_dx;\n var new_dy = dy - this.last_dy;\n var hr = frame.bbox.h_range;\n var sx_low = hr.start - new_dx;\n var sx_high = hr.end - new_dx;\n var vr = frame.bbox.v_range;\n var sy_low = vr.start - new_dy;\n var sy_high = vr.end - new_dy;\n var dims = this.model.dimensions;\n var sx0;\n var sx1;\n var sdx;\n if ((dims == 'width' || dims == 'both') && !this.v_axis_only) {\n sx0 = sx_low;\n sx1 = sx_high;\n sdx = -new_dx;\n }\n else {\n sx0 = hr.start;\n sx1 = hr.end;\n sdx = 0;\n }\n var sy0;\n var sy1;\n var sdy;\n if ((dims == 'height' || dims == 'both') && !this.h_axis_only) {\n sy0 = sy_low;\n sy1 = sy_high;\n sdy = -new_dy;\n }\n else {\n sy0 = vr.start;\n sy1 = vr.end;\n sdy = 0;\n }\n this.last_dx = dx;\n this.last_dy = dy;\n var xscales = frame.xscales, yscales = frame.yscales;\n var xrs = {};\n for (var name_1 in xscales) {\n var scale = xscales[name_1];\n var _a = scale.r_invert(sx0, sx1), start = _a[0], end = _a[1];\n xrs[name_1] = { start: start, end: end };\n }\n var yrs = {};\n for (var name_2 in yscales) {\n var scale = yscales[name_2];\n var _b = scale.r_invert(sy0, sy1), start = _b[0], end = _b[1];\n yrs[name_2] = { start: start, end: end };\n }\n this.pan_info = { xrs: xrs, yrs: yrs, sdx: sdx, sdy: sdy };\n this.plot_view.update_range(this.pan_info, true);\n };\n return PanToolView;\n }(gesture_tool_1.GestureToolView));\n exports.PanToolView = PanToolView;\n var PanTool = /** @class */ (function (_super) {\n tslib_1.__extends(PanTool, _super);\n function PanTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Pan\";\n _this.event_type = \"pan\";\n _this.default_order = 10;\n return _this;\n }\n PanTool.initClass = function () {\n this.prototype.type = \"PanTool\";\n this.prototype.default_view = PanToolView;\n this.define({\n dimensions: [p.Dimensions, \"both\"],\n });\n };\n Object.defineProperty(PanTool.prototype, \"tooltip\", {\n get: function () {\n return this._get_dim_tooltip(\"Pan\", this.dimensions);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PanTool.prototype, \"icon\", {\n get: function () {\n switch (this.dimensions) {\n case \"both\": return \"bk-tool-icon-pan\";\n case \"width\": return \"bk-tool-icon-xpan\";\n case \"height\": return \"bk-tool-icon-ypan\";\n }\n },\n enumerable: true,\n configurable: true\n });\n return PanTool;\n }(gesture_tool_1.GestureTool));\n exports.PanTool = PanTool;\n PanTool.initClass();\n}\n","/* models/tools/gestures/poly_select_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var select_tool_1 = require(274) /* ./select_tool */;\n var poly_annotation_1 = require(74) /* ../../annotations/poly_annotation */;\n var dom_1 = require(5) /* ../../../core/dom */;\n var p = require(18) /* ../../../core/properties */;\n var array_1 = require(24) /* ../../../core/util/array */;\n var PolySelectToolView = /** @class */ (function (_super) {\n tslib_1.__extends(PolySelectToolView, _super);\n function PolySelectToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PolySelectToolView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.data = { sx: [], sy: [] };\n };\n PolySelectToolView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.properties.active.change, function () { return _this._active_change(); });\n };\n PolySelectToolView.prototype._active_change = function () {\n if (!this.model.active)\n this._clear_data();\n };\n PolySelectToolView.prototype._keyup = function (ev) {\n if (ev.keyCode == dom_1.Keys.Enter)\n this._clear_data();\n };\n PolySelectToolView.prototype._doubletap = function (ev) {\n var append = ev.shiftKey;\n this._do_select(this.data.sx, this.data.sy, true, append);\n this.plot_view.push_state('poly_select', { selection: this.plot_view.get_selection() });\n this._clear_data();\n };\n PolySelectToolView.prototype._clear_data = function () {\n this.data = { sx: [], sy: [] };\n this.model.overlay.update({ xs: [], ys: [] });\n };\n PolySelectToolView.prototype._tap = function (ev) {\n var sx = ev.sx, sy = ev.sy;\n var frame = this.plot_view.frame;\n if (!frame.bbox.contains(sx, sy))\n return;\n this.data.sx.push(sx);\n this.data.sy.push(sy);\n this.model.overlay.update({ xs: array_1.copy(this.data.sx), ys: array_1.copy(this.data.sy) });\n };\n PolySelectToolView.prototype._do_select = function (sx, sy, final, append) {\n var geometry = { type: 'poly', sx: sx, sy: sy };\n this._select(geometry, final, append);\n };\n PolySelectToolView.prototype._emit_callback = function (geometry) {\n var r = this.computed_renderers[0];\n var frame = this.plot_view.frame;\n var xscale = frame.xscales[r.x_range_name];\n var yscale = frame.yscales[r.y_range_name];\n var x = xscale.v_invert(geometry.sx);\n var y = yscale.v_invert(geometry.sy);\n var g = tslib_1.__assign({ x: x, y: y }, geometry);\n if (this.model.callback != null)\n this.model.callback.execute(this.model, { geometry: g });\n };\n return PolySelectToolView;\n }(select_tool_1.SelectToolView));\n exports.PolySelectToolView = PolySelectToolView;\n var DEFAULT_POLY_OVERLAY = function () {\n return new poly_annotation_1.PolyAnnotation({\n level: \"overlay\",\n xs_units: \"screen\",\n ys_units: \"screen\",\n fill_color: { value: \"lightgrey\" },\n fill_alpha: { value: 0.5 },\n line_color: { value: \"black\" },\n line_alpha: { value: 1.0 },\n line_width: { value: 2 },\n line_dash: { value: [4, 4] },\n });\n };\n var PolySelectTool = /** @class */ (function (_super) {\n tslib_1.__extends(PolySelectTool, _super);\n function PolySelectTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Poly Select\";\n _this.icon = \"bk-tool-icon-polygon-select\";\n _this.event_type = \"tap\";\n _this.default_order = 11;\n return _this;\n }\n PolySelectTool.initClass = function () {\n this.prototype.type = \"PolySelectTool\";\n this.prototype.default_view = PolySelectToolView;\n this.define({\n callback: [p.Any],\n overlay: [p.Instance, DEFAULT_POLY_OVERLAY],\n });\n };\n return PolySelectTool;\n }(select_tool_1.SelectTool));\n exports.PolySelectTool = PolySelectTool;\n PolySelectTool.initClass();\n}\n","/* models/tools/gestures/range_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var box_annotation_1 = require(67) /* ../../annotations/box_annotation */;\n var logging_1 = require(17) /* ../../../core/logging */;\n var p = require(18) /* ../../../core/properties */;\n var gesture_tool_1 = require(269) /* ./gesture_tool */;\n function flip_side(side) {\n switch (side) {\n case 1 /* Left */: return 2 /* Right */;\n case 2 /* Right */: return 1 /* Left */;\n case 4 /* Bottom */: return 5 /* Top */;\n case 5 /* Top */: return 4 /* Bottom */;\n default: return side;\n }\n }\n exports.flip_side = flip_side;\n // TODO (bev) This would be better directly with BoxAnnotation, but hard\n // to test on a view. Move when \"View Models\" are implemented\n function is_near(pos, value, scale, tolerance) {\n if (value == null)\n return false;\n var svalue = scale.compute(value);\n return Math.abs(pos - svalue) < tolerance;\n }\n exports.is_near = is_near;\n // TODO (bev) This would be better directly with BoxAnnotation, but hard\n // to test on a view. Move when \"View Models\" are implemented\n function is_inside(sx, sy, xscale, yscale, overlay) {\n var result = true;\n if (overlay.left != null && overlay.right != null) {\n var x = xscale.invert(sx);\n if (x < overlay.left || x > overlay.right)\n result = false;\n }\n if (overlay.bottom != null && overlay.top != null) {\n var y = yscale.invert(sy);\n if (y < overlay.bottom || y > overlay.top)\n result = false;\n }\n return result;\n }\n exports.is_inside = is_inside;\n function sides_inside(start, end, range) {\n var result = 0;\n if (start >= range.start && start <= range.end)\n result += 1;\n if (end >= range.start && end <= range.end)\n result += 1;\n return result;\n }\n exports.sides_inside = sides_inside;\n function compute_value(value, scale, sdelta, range) {\n var svalue = scale.compute(value);\n var new_value = scale.invert(svalue + sdelta);\n if (new_value >= range.start && new_value <= range.end)\n return new_value;\n return value;\n }\n exports.compute_value = compute_value;\n function compute_end_side(end, range, side) {\n if (end > range.start) {\n range.end = end;\n return side;\n }\n else {\n range.end = range.start;\n range.start = end;\n return flip_side(side);\n }\n }\n exports.compute_end_side = compute_end_side;\n function compute_start_side(start, range, side) {\n if (start < range.end) {\n range.start = start;\n return side;\n }\n else {\n range.start = range.end;\n range.end = start;\n return flip_side(side);\n }\n }\n exports.compute_start_side = compute_start_side;\n function update_range(range, scale, delta, plot_range) {\n var _a = scale.r_compute(range.start, range.end), sstart = _a[0], send = _a[1];\n var _b = scale.r_invert(sstart + delta, send + delta), start = _b[0], end = _b[1];\n var initial_sides_inside = sides_inside(range.start, range.end, plot_range);\n var final_sides_inside = sides_inside(start, end, plot_range);\n // Allow the update as long as the number of sides in-bounds does not decrease\n if (final_sides_inside >= initial_sides_inside) {\n range.start = start;\n range.end = end;\n }\n }\n exports.update_range = update_range;\n var RangeToolView = /** @class */ (function (_super) {\n tslib_1.__extends(RangeToolView, _super);\n function RangeToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n RangeToolView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.side = 0 /* None */;\n this.model.update_overlay_from_ranges();\n };\n RangeToolView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n if (this.model.x_range != null)\n this.connect(this.model.x_range.change, function () { return _this.model.update_overlay_from_ranges(); });\n if (this.model.y_range != null)\n this.connect(this.model.y_range.change, function () { return _this.model.update_overlay_from_ranges(); });\n };\n RangeToolView.prototype._pan_start = function (ev) {\n this.last_dx = 0;\n this.last_dy = 0;\n var xr = this.model.x_range;\n var yr = this.model.y_range;\n var frame = this.plot_view.frame;\n var xscale = frame.xscales.default;\n var yscale = frame.yscales.default;\n var overlay = this.model.overlay;\n var left = overlay.left, right = overlay.right, top = overlay.top, bottom = overlay.bottom;\n var tolerance = this.model.overlay.properties.line_width.value() + box_annotation_1.EDGE_TOLERANCE;\n if (xr != null && this.model.x_interaction) {\n if (is_near(ev.sx, left, xscale, tolerance))\n this.side = 1 /* Left */;\n else if (is_near(ev.sx, right, xscale, tolerance))\n this.side = 2 /* Right */;\n else if (is_inside(ev.sx, ev.sy, xscale, yscale, overlay)) {\n this.side = 3 /* LeftRight */;\n }\n }\n if (yr != null && this.model.y_interaction) {\n if (this.side == 0 /* None */ && is_near(ev.sy, bottom, yscale, tolerance))\n this.side = 4 /* Bottom */;\n if (this.side == 0 /* None */ && is_near(ev.sy, top, yscale, tolerance))\n this.side = 5 /* Top */;\n else if (is_inside(ev.sx, ev.sy, xscale, yscale, this.model.overlay)) {\n if (this.side == 3 /* LeftRight */)\n this.side = 7 /* LeftRightBottomTop */;\n else\n this.side = 6 /* BottomTop */;\n }\n }\n };\n RangeToolView.prototype._pan = function (ev) {\n var frame = this.plot_view.frame;\n var new_dx = ev.deltaX - this.last_dx;\n var new_dy = ev.deltaY - this.last_dy;\n var xr = this.model.x_range;\n var yr = this.model.y_range;\n var xscale = frame.xscales.default;\n var yscale = frame.yscales.default;\n if (xr != null) {\n if (this.side == 3 /* LeftRight */ || this.side == 7 /* LeftRightBottomTop */)\n update_range(xr, xscale, new_dx, frame.x_range);\n else if (this.side == 1 /* Left */) {\n var start = compute_value(xr.start, xscale, new_dx, frame.x_range);\n this.side = compute_start_side(start, xr, this.side);\n }\n else if (this.side == 2 /* Right */) {\n var end = compute_value(xr.end, xscale, new_dx, frame.x_range);\n this.side = compute_end_side(end, xr, this.side);\n }\n }\n if (yr != null) {\n if (this.side == 6 /* BottomTop */ || this.side == 7 /* LeftRightBottomTop */)\n update_range(yr, yscale, new_dy, frame.y_range);\n else if (this.side == 4 /* Bottom */) {\n yr.start = compute_value(yr.start, yscale, new_dy, frame.y_range);\n var start = compute_value(yr.start, yscale, new_dy, frame.y_range);\n this.side = compute_start_side(start, yr, this.side);\n }\n else if (this.side == 5 /* Top */) {\n yr.end = compute_value(yr.end, yscale, new_dy, frame.y_range);\n var end = compute_value(yr.end, yscale, new_dy, frame.y_range);\n this.side = compute_end_side(end, yr, this.side);\n }\n }\n this.last_dx = ev.deltaX;\n this.last_dy = ev.deltaY;\n };\n RangeToolView.prototype._pan_end = function (_ev) {\n this.side = 0 /* None */;\n };\n return RangeToolView;\n }(gesture_tool_1.GestureToolView));\n exports.RangeToolView = RangeToolView;\n var DEFAULT_RANGE_OVERLAY = function () {\n return new box_annotation_1.BoxAnnotation({\n level: \"overlay\",\n render_mode: \"canvas\",\n fill_color: \"lightgrey\",\n fill_alpha: { value: 0.5 },\n line_color: { value: \"black\" },\n line_alpha: { value: 1.0 },\n line_width: { value: 0.5 },\n line_dash: [2, 2],\n });\n };\n var RangeTool = /** @class */ (function (_super) {\n tslib_1.__extends(RangeTool, _super);\n function RangeTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Range Tool\";\n _this.icon = \"bk-tool-icon-range\";\n _this.event_type = \"pan\";\n _this.default_order = 1;\n return _this;\n }\n RangeTool.initClass = function () {\n this.prototype.type = \"RangeTool\";\n this.prototype.default_view = RangeToolView;\n this.define({\n x_range: [p.Instance, null],\n x_interaction: [p.Boolean, true],\n y_range: [p.Instance, null],\n y_interaction: [p.Boolean, true],\n overlay: [p.Instance, DEFAULT_RANGE_OVERLAY],\n });\n };\n RangeTool.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.overlay.in_cursor = \"grab\";\n this.overlay.ew_cursor = this.x_range != null && this.x_interaction ? \"ew-resize\" : null;\n this.overlay.ns_cursor = this.y_range != null && this.y_interaction ? \"ns-resize\" : null;\n };\n RangeTool.prototype.update_overlay_from_ranges = function () {\n if (this.x_range == null && this.y_range == null) {\n this.overlay.left = null;\n this.overlay.right = null;\n this.overlay.bottom = null;\n this.overlay.top = null;\n logging_1.logger.warn('RangeTool not configured with any Ranges.');\n }\n if (this.x_range == null) {\n this.overlay.left = null;\n this.overlay.right = null;\n }\n else {\n this.overlay.left = this.x_range.start;\n this.overlay.right = this.x_range.end;\n }\n if (this.y_range == null) {\n this.overlay.bottom = null;\n this.overlay.top = null;\n }\n else {\n this.overlay.bottom = this.y_range.start;\n this.overlay.top = this.y_range.end;\n }\n };\n return RangeTool;\n }(gesture_tool_1.GestureTool));\n exports.RangeTool = RangeTool;\n RangeTool.initClass();\n}\n","/* models/tools/gestures/select_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var gesture_tool_1 = require(269) /* ./gesture_tool */;\n var glyph_renderer_1 = require(197) /* ../../renderers/glyph_renderer */;\n var graph_renderer_1 = require(198) /* ../../renderers/graph_renderer */;\n var util_1 = require(289) /* ../util */;\n var p = require(18) /* ../../../core/properties */;\n var dom_1 = require(5) /* ../../../core/dom */;\n var bokeh_events_1 = require(3) /* ../../../core/bokeh_events */;\n var SelectToolView = /** @class */ (function (_super) {\n tslib_1.__extends(SelectToolView, _super);\n function SelectToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(SelectToolView.prototype, \"computed_renderers\", {\n get: function () {\n var renderers = this.model.renderers;\n var all_renderers = this.plot_model.renderers;\n var names = this.model.names;\n return util_1.compute_renderers(renderers, all_renderers, names);\n },\n enumerable: true,\n configurable: true\n });\n SelectToolView.prototype._computed_renderers_by_data_source = function () {\n var renderers_by_source = {};\n for (var _i = 0, _a = this.computed_renderers; _i < _a.length; _i++) {\n var r = _a[_i];\n var source_id = void 0;\n if (r instanceof glyph_renderer_1.GlyphRenderer)\n source_id = r.data_source.id;\n else if (r instanceof graph_renderer_1.GraphRenderer)\n source_id = r.node_renderer.data_source.id;\n else\n continue;\n if (!(source_id in renderers_by_source))\n renderers_by_source[source_id] = [];\n renderers_by_source[source_id].push(r);\n }\n return renderers_by_source;\n };\n SelectToolView.prototype._keyup = function (ev) {\n if (ev.keyCode == dom_1.Keys.Esc) {\n for (var _i = 0, _a = this.computed_renderers; _i < _a.length; _i++) {\n var r = _a[_i];\n r.get_selection_manager().clear();\n }\n this.plot_view.request_render();\n }\n };\n SelectToolView.prototype._select = function (geometry, final, append) {\n var renderers_by_source = this._computed_renderers_by_data_source();\n for (var id in renderers_by_source) {\n var renderers = renderers_by_source[id];\n var sm = renderers[0].get_selection_manager();\n var r_views = [];\n for (var _i = 0, renderers_1 = renderers; _i < renderers_1.length; _i++) {\n var r = renderers_1[_i];\n if (r.id in this.plot_view.renderer_views)\n r_views.push(this.plot_view.renderer_views[r.id]);\n }\n sm.select(r_views, geometry, final, append);\n }\n // XXX: messed up class structure\n if (this.model.callback != null)\n this._emit_callback(geometry);\n this._emit_selection_event(geometry, final);\n };\n SelectToolView.prototype._emit_selection_event = function (geometry, final) {\n if (final === void 0) {\n final = true;\n }\n var frame = this.plot_view.frame;\n var xm = frame.xscales.default;\n var ym = frame.yscales.default;\n var g; // XXX: Geometry & something\n switch (geometry.type) {\n case 'point': {\n var sx = geometry.sx, sy = geometry.sy;\n var x = xm.invert(sx);\n var y = ym.invert(sy);\n g = tslib_1.__assign({}, geometry, { x: x, y: y });\n break;\n }\n case 'rect': {\n var sx0 = geometry.sx0, sx1 = geometry.sx1, sy0 = geometry.sy0, sy1 = geometry.sy1;\n var _a = xm.r_invert(sx0, sx1), x0 = _a[0], x1 = _a[1];\n var _b = ym.r_invert(sy0, sy1), y0 = _b[0], y1 = _b[1];\n g = tslib_1.__assign({}, geometry, { x0: x0, y0: y0, x1: x1, y1: y1 });\n break;\n }\n case 'poly': {\n var sx = geometry.sx, sy = geometry.sy;\n var x = xm.v_invert(sx);\n var y = ym.v_invert(sy);\n g = tslib_1.__assign({}, geometry, { x: x, y: y });\n break;\n }\n default:\n throw new Error(\"Unrecognized selection geometry type: '\" + geometry.type + \"'\");\n }\n this.plot_model.trigger_event(new bokeh_events_1.SelectionGeometry(g, final));\n };\n return SelectToolView;\n }(gesture_tool_1.GestureToolView));\n exports.SelectToolView = SelectToolView;\n var SelectTool = /** @class */ (function (_super) {\n tslib_1.__extends(SelectTool, _super);\n function SelectTool(attrs) {\n return _super.call(this, attrs) || this;\n }\n SelectTool.initClass = function () {\n this.prototype.type = \"SelectTool\";\n this.define({\n renderers: [p.Any, 'auto'],\n names: [p.Array, []],\n });\n };\n return SelectTool;\n }(gesture_tool_1.GestureTool));\n exports.SelectTool = SelectTool;\n SelectTool.initClass();\n}\n","/* models/tools/gestures/tap_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var select_tool_1 = require(274) /* ./select_tool */;\n var p = require(18) /* ../../../core/properties */;\n var TapToolView = /** @class */ (function (_super) {\n tslib_1.__extends(TapToolView, _super);\n function TapToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n TapToolView.prototype._tap = function (ev) {\n var sx = ev.sx, sy = ev.sy;\n var geometry = { type: 'point', sx: sx, sy: sy };\n var append = ev.shiftKey;\n this._select(geometry, true, append);\n };\n TapToolView.prototype._select = function (geometry, final, append) {\n var _this = this;\n var callback = this.model.callback;\n if (this.model.behavior == \"select\") {\n var renderers_by_source = this._computed_renderers_by_data_source();\n for (var id in renderers_by_source) {\n var renderers = renderers_by_source[id];\n var sm = renderers[0].get_selection_manager();\n var r_views = renderers.map(function (r) { return _this.plot_view.renderer_views[r.id]; });\n var did_hit = sm.select(r_views, geometry, final, append);\n if (did_hit && callback != null) {\n var frame = this.plot_view.frame;\n var xscale = frame.xscales[renderers[0].x_range_name];\n var yscale = frame.yscales[renderers[0].y_range_name];\n var x = xscale.invert(geometry.sx);\n var y = yscale.invert(geometry.sy);\n var data = { geometries: tslib_1.__assign({}, geometry, { x: x, y: y }), source: sm.source };\n callback.execute(this.model, data);\n }\n }\n this._emit_selection_event(geometry);\n this.plot_view.push_state('tap', { selection: this.plot_view.get_selection() });\n }\n else {\n for (var _i = 0, _a = this.computed_renderers; _i < _a.length; _i++) {\n var r = _a[_i];\n var sm = r.get_selection_manager();\n var did_hit = sm.inspect(this.plot_view.renderer_views[r.id], geometry);\n if (did_hit && callback != null) {\n var frame = this.plot_view.frame;\n var xscale = frame.xscales[r.x_range_name];\n var yscale = frame.yscales[r.y_range_name];\n var x = xscale.invert(geometry.sx);\n var y = yscale.invert(geometry.sy);\n var data = { geometries: tslib_1.__assign({}, geometry, { x: x, y: y }), source: sm.source };\n callback.execute(this.model, data);\n }\n }\n }\n };\n return TapToolView;\n }(select_tool_1.SelectToolView));\n exports.TapToolView = TapToolView;\n var TapTool = /** @class */ (function (_super) {\n tslib_1.__extends(TapTool, _super);\n function TapTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Tap\";\n _this.icon = \"bk-tool-icon-tap-select\";\n _this.event_type = \"tap\";\n _this.default_order = 10;\n return _this;\n }\n TapTool.initClass = function () {\n this.prototype.type = \"TapTool\";\n this.prototype.default_view = TapToolView;\n this.define({\n behavior: [p.TapBehavior, \"select\"],\n callback: [p.Any],\n });\n };\n return TapTool;\n }(select_tool_1.SelectTool));\n exports.TapTool = TapTool;\n TapTool.initClass();\n}\n","/* models/tools/gestures/wheel_pan_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var gesture_tool_1 = require(269) /* ./gesture_tool */;\n var p = require(18) /* ../../../core/properties */;\n var WheelPanToolView = /** @class */ (function (_super) {\n tslib_1.__extends(WheelPanToolView, _super);\n function WheelPanToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WheelPanToolView.prototype._scroll = function (ev) {\n var factor = this.model.speed * ev.delta;\n // clamp the magnitude of factor, if it is > 1 bad things happen\n if (factor > 0.9)\n factor = 0.9;\n else if (factor < -0.9)\n factor = -0.9;\n this._update_ranges(factor);\n };\n WheelPanToolView.prototype._update_ranges = function (factor) {\n var frame = this.plot_view.frame;\n var hr = frame.bbox.h_range;\n var vr = frame.bbox.v_range;\n var _a = [hr.start, hr.end], sx_low = _a[0], sx_high = _a[1];\n var _b = [vr.start, vr.end], sy_low = _b[0], sy_high = _b[1];\n var sx0;\n var sx1;\n var sy0;\n var sy1;\n switch (this.model.dimension) {\n case \"height\": {\n var sy_range = Math.abs(sy_high - sy_low);\n sx0 = sx_low;\n sx1 = sx_high;\n sy0 = sy_low - sy_range * factor;\n sy1 = sy_high - sy_range * factor;\n break;\n }\n case \"width\": {\n var sx_range = Math.abs(sx_high - sx_low);\n sx0 = sx_low - sx_range * factor;\n sx1 = sx_high - sx_range * factor;\n sy0 = sy_low;\n sy1 = sy_high;\n break;\n }\n default:\n throw new Error(\"this shouldn't have happened\");\n }\n var xscales = frame.xscales, yscales = frame.yscales;\n var xrs = {};\n for (var name_1 in xscales) {\n var scale = xscales[name_1];\n var _c = scale.r_invert(sx0, sx1), start = _c[0], end = _c[1];\n xrs[name_1] = { start: start, end: end };\n }\n var yrs = {};\n for (var name_2 in yscales) {\n var scale = yscales[name_2];\n var _d = scale.r_invert(sy0, sy1), start = _d[0], end = _d[1];\n yrs[name_2] = { start: start, end: end };\n }\n // OK this sucks we can't set factor independently in each direction. It is used\n // for GMap plots, and GMap plots always preserve aspect, so effective the value\n // of 'dimensions' is ignored.\n var pan_info = { xrs: xrs, yrs: yrs, factor: factor };\n this.plot_view.push_state('wheel_pan', { range: pan_info });\n this.plot_view.update_range(pan_info, false, true);\n if (this.model.document != null)\n this.model.document.interactive_start(this.plot_model);\n };\n return WheelPanToolView;\n }(gesture_tool_1.GestureToolView));\n exports.WheelPanToolView = WheelPanToolView;\n var WheelPanTool = /** @class */ (function (_super) {\n tslib_1.__extends(WheelPanTool, _super);\n function WheelPanTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Wheel Pan\";\n _this.icon = \"bk-tool-icon-wheel-pan\";\n _this.event_type = \"scroll\";\n _this.default_order = 12;\n return _this;\n }\n WheelPanTool.initClass = function () {\n this.prototype.type = 'WheelPanTool';\n this.prototype.default_view = WheelPanToolView;\n this.define({\n dimension: [p.Dimension, \"width\"],\n });\n this.internal({\n speed: [p.Number, 1 / 1000],\n });\n };\n Object.defineProperty(WheelPanTool.prototype, \"tooltip\", {\n get: function () {\n return this._get_dim_tooltip(this.tool_name, this.dimension);\n },\n enumerable: true,\n configurable: true\n });\n return WheelPanTool;\n }(gesture_tool_1.GestureTool));\n exports.WheelPanTool = WheelPanTool;\n WheelPanTool.initClass();\n}\n","/* models/tools/gestures/wheel_zoom_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var gesture_tool_1 = require(269) /* ./gesture_tool */;\n var zoom_1 = require(48) /* ../../../core/util/zoom */;\n var p = require(18) /* ../../../core/properties */;\n var compat_1 = require(31) /* ../../../core/util/compat */;\n var WheelZoomToolView = /** @class */ (function (_super) {\n tslib_1.__extends(WheelZoomToolView, _super);\n function WheelZoomToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n WheelZoomToolView.prototype._pinch = function (ev) {\n // TODO (bev) this can probably be done much better\n var sx = ev.sx, sy = ev.sy, scale = ev.scale;\n var delta;\n if (scale >= 1)\n delta = (scale - 1) * 20.0;\n else\n delta = -20.0 / scale;\n this._scroll({ type: \"wheel\", sx: sx, sy: sy, delta: delta });\n };\n WheelZoomToolView.prototype._scroll = function (ev) {\n var frame = this.plot_view.frame;\n var hr = frame.bbox.h_range;\n var vr = frame.bbox.v_range;\n var sx = ev.sx, sy = ev.sy;\n var dims = this.model.dimensions;\n // restrict to axis configured in tool's dimensions property and if\n // zoom origin is inside of frame range/domain\n var h_axis = (dims == 'width' || dims == 'both') && hr.start < sx && sx < hr.end;\n var v_axis = (dims == 'height' || dims == 'both') && vr.start < sy && sy < vr.end;\n if ((!h_axis || !v_axis) && !this.model.zoom_on_axis) {\n return;\n }\n var factor = this.model.speed * ev.delta;\n var zoom_info = zoom_1.scale_range(frame, factor, h_axis, v_axis, { x: sx, y: sy });\n this.plot_view.push_state('wheel_zoom', { range: zoom_info });\n this.plot_view.update_range(zoom_info, false, true, this.model.maintain_focus);\n if (this.model.document != null)\n this.model.document.interactive_start(this.plot_model);\n };\n return WheelZoomToolView;\n }(gesture_tool_1.GestureToolView));\n exports.WheelZoomToolView = WheelZoomToolView;\n var WheelZoomTool = /** @class */ (function (_super) {\n tslib_1.__extends(WheelZoomTool, _super);\n function WheelZoomTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Wheel Zoom\";\n _this.icon = \"bk-tool-icon-wheel-zoom\";\n _this.event_type = compat_1.is_mobile ? \"pinch\" : \"scroll\";\n _this.default_order = 10;\n return _this;\n }\n WheelZoomTool.initClass = function () {\n this.prototype.type = \"WheelZoomTool\";\n this.prototype.default_view = WheelZoomToolView;\n this.define({\n dimensions: [p.Dimensions, \"both\"],\n maintain_focus: [p.Boolean, true],\n zoom_on_axis: [p.Boolean, true],\n speed: [p.Number, 1 / 600],\n });\n };\n Object.defineProperty(WheelZoomTool.prototype, \"tooltip\", {\n get: function () {\n return this._get_dim_tooltip(this.tool_name, this.dimensions);\n },\n enumerable: true,\n configurable: true\n });\n return WheelZoomTool;\n }(gesture_tool_1.GestureTool));\n exports.WheelZoomTool = WheelZoomTool;\n WheelZoomTool.initClass();\n}\n","/* models/tools/index */ function _(require, module, exports) {\n var action_tool_1 = require(250) /* ./actions/action_tool */;\n exports.ActionTool = action_tool_1.ActionTool;\n var custom_action_1 = require(251) /* ./actions/custom_action */;\n exports.CustomAction = custom_action_1.CustomAction;\n var help_tool_1 = require(252) /* ./actions/help_tool */;\n exports.HelpTool = help_tool_1.HelpTool;\n var redo_tool_1 = require(253) /* ./actions/redo_tool */;\n exports.RedoTool = redo_tool_1.RedoTool;\n var reset_tool_1 = require(254) /* ./actions/reset_tool */;\n exports.ResetTool = reset_tool_1.ResetTool;\n var save_tool_1 = require(255) /* ./actions/save_tool */;\n exports.SaveTool = save_tool_1.SaveTool;\n var undo_tool_1 = require(256) /* ./actions/undo_tool */;\n exports.UndoTool = undo_tool_1.UndoTool;\n var zoom_in_tool_1 = require(257) /* ./actions/zoom_in_tool */;\n exports.ZoomInTool = zoom_in_tool_1.ZoomInTool;\n var zoom_out_tool_1 = require(258) /* ./actions/zoom_out_tool */;\n exports.ZoomOutTool = zoom_out_tool_1.ZoomOutTool;\n var button_tool_1 = require(259) /* ./button_tool */;\n exports.ButtonTool = button_tool_1.ButtonTool;\n var edit_tool_1 = require(261) /* ./edit/edit_tool */;\n exports.EditTool = edit_tool_1.EditTool;\n var box_edit_tool_1 = require(260) /* ./edit/box_edit_tool */;\n exports.BoxEditTool = box_edit_tool_1.BoxEditTool;\n var freehand_draw_tool_1 = require(262) /* ./edit/freehand_draw_tool */;\n exports.FreehandDrawTool = freehand_draw_tool_1.FreehandDrawTool;\n var point_draw_tool_1 = require(263) /* ./edit/point_draw_tool */;\n exports.PointDrawTool = point_draw_tool_1.PointDrawTool;\n var poly_draw_tool_1 = require(264) /* ./edit/poly_draw_tool */;\n exports.PolyDrawTool = poly_draw_tool_1.PolyDrawTool;\n var poly_tool_1 = require(266) /* ./edit/poly_tool */;\n exports.PolyTool = poly_tool_1.PolyTool;\n var poly_edit_tool_1 = require(265) /* ./edit/poly_edit_tool */;\n exports.PolyEditTool = poly_edit_tool_1.PolyEditTool;\n var box_select_tool_1 = require(267) /* ./gestures/box_select_tool */;\n exports.BoxSelectTool = box_select_tool_1.BoxSelectTool;\n var box_zoom_tool_1 = require(268) /* ./gestures/box_zoom_tool */;\n exports.BoxZoomTool = box_zoom_tool_1.BoxZoomTool;\n var gesture_tool_1 = require(269) /* ./gestures/gesture_tool */;\n exports.GestureTool = gesture_tool_1.GestureTool;\n var lasso_select_tool_1 = require(270) /* ./gestures/lasso_select_tool */;\n exports.LassoSelectTool = lasso_select_tool_1.LassoSelectTool;\n var pan_tool_1 = require(271) /* ./gestures/pan_tool */;\n exports.PanTool = pan_tool_1.PanTool;\n var poly_select_tool_1 = require(272) /* ./gestures/poly_select_tool */;\n exports.PolySelectTool = poly_select_tool_1.PolySelectTool;\n var range_tool_1 = require(273) /* ./gestures/range_tool */;\n exports.RangeTool = range_tool_1.RangeTool;\n var select_tool_1 = require(274) /* ./gestures/select_tool */;\n exports.SelectTool = select_tool_1.SelectTool;\n var tap_tool_1 = require(275) /* ./gestures/tap_tool */;\n exports.TapTool = tap_tool_1.TapTool;\n var wheel_pan_tool_1 = require(276) /* ./gestures/wheel_pan_tool */;\n exports.WheelPanTool = wheel_pan_tool_1.WheelPanTool;\n var wheel_zoom_tool_1 = require(277) /* ./gestures/wheel_zoom_tool */;\n exports.WheelZoomTool = wheel_zoom_tool_1.WheelZoomTool;\n var crosshair_tool_1 = require(279) /* ./inspectors/crosshair_tool */;\n exports.CrosshairTool = crosshair_tool_1.CrosshairTool;\n var customjs_hover_1 = require(280) /* ./inspectors/customjs_hover */;\n exports.CustomJSHover = customjs_hover_1.CustomJSHover;\n var hover_tool_1 = require(281) /* ./inspectors/hover_tool */;\n exports.HoverTool = hover_tool_1.HoverTool;\n var inspect_tool_1 = require(282) /* ./inspectors/inspect_tool */;\n exports.InspectTool = inspect_tool_1.InspectTool;\n var tool_1 = require(284) /* ./tool */;\n exports.Tool = tool_1.Tool;\n var tool_proxy_1 = require(285) /* ./tool_proxy */;\n exports.ToolProxy = tool_proxy_1.ToolProxy;\n var toolbar_1 = require(286) /* ./toolbar */;\n exports.Toolbar = toolbar_1.Toolbar;\n var toolbar_base_1 = require(287) /* ./toolbar_base */;\n exports.ToolbarBase = toolbar_base_1.ToolbarBase;\n var toolbar_box_1 = require(288) /* ./toolbar_box */;\n exports.ProxyToolbar = toolbar_box_1.ProxyToolbar;\n var toolbar_box_2 = require(288) /* ./toolbar_box */;\n exports.ToolbarBox = toolbar_box_2.ToolbarBox;\n}\n","/* models/tools/inspectors/crosshair_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var inspect_tool_1 = require(282) /* ./inspect_tool */;\n var span_1 = require(76) /* ../../annotations/span */;\n var p = require(18) /* ../../../core/properties */;\n var object_1 = require(35) /* ../../../core/util/object */;\n var CrosshairToolView = /** @class */ (function (_super) {\n tslib_1.__extends(CrosshairToolView, _super);\n function CrosshairToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n CrosshairToolView.prototype._move = function (ev) {\n if (!this.model.active)\n return;\n var sx = ev.sx, sy = ev.sy;\n if (!this.plot_view.frame.bbox.contains(sx, sy))\n this._update_spans(null, null);\n else\n this._update_spans(sx, sy);\n };\n CrosshairToolView.prototype._move_exit = function (_e) {\n this._update_spans(null, null);\n };\n CrosshairToolView.prototype._update_spans = function (x, y) {\n var dims = this.model.dimensions;\n if (dims == \"width\" || dims == \"both\")\n this.model.spans.width.computed_location = y;\n if (dims == \"height\" || dims == \"both\")\n this.model.spans.height.computed_location = x;\n };\n return CrosshairToolView;\n }(inspect_tool_1.InspectToolView));\n exports.CrosshairToolView = CrosshairToolView;\n var CrosshairTool = /** @class */ (function (_super) {\n tslib_1.__extends(CrosshairTool, _super);\n function CrosshairTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Crosshair\";\n _this.icon = \"bk-tool-icon-crosshair\";\n return _this;\n }\n CrosshairTool.initClass = function () {\n this.prototype.type = \"CrosshairTool\";\n this.prototype.default_view = CrosshairToolView;\n this.define({\n dimensions: [p.Dimensions, \"both\"],\n line_color: [p.Color, 'black'],\n line_width: [p.Number, 1],\n line_alpha: [p.Number, 1.0],\n });\n this.internal({\n location_units: [p.SpatialUnits, \"screen\"],\n render_mode: [p.RenderMode, \"css\"],\n spans: [p.Any],\n });\n };\n Object.defineProperty(CrosshairTool.prototype, \"tooltip\", {\n get: function () {\n return this._get_dim_tooltip(\"Crosshair\", this.dimensions);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CrosshairTool.prototype, \"synthetic_renderers\", {\n get: function () {\n return object_1.values(this.spans);\n },\n enumerable: true,\n configurable: true\n });\n CrosshairTool.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.spans = {\n width: new span_1.Span({\n for_hover: true,\n dimension: \"width\",\n render_mode: this.render_mode,\n location_units: this.location_units,\n line_color: this.line_color,\n line_width: this.line_width,\n line_alpha: this.line_alpha,\n }),\n height: new span_1.Span({\n for_hover: true,\n dimension: \"height\",\n render_mode: this.render_mode,\n location_units: this.location_units,\n line_color: this.line_color,\n line_width: this.line_width,\n line_alpha: this.line_alpha,\n }),\n };\n };\n return CrosshairTool;\n }(inspect_tool_1.InspectTool));\n exports.CrosshairTool = CrosshairTool;\n CrosshairTool.initClass();\n}\n","/* models/tools/inspectors/customjs_hover */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../../model */;\n var p = require(18) /* ../../../core/properties */;\n var object_1 = require(35) /* ../../../core/util/object */;\n var string_1 = require(40) /* ../../../core/util/string */;\n var CustomJSHover = /** @class */ (function (_super) {\n tslib_1.__extends(CustomJSHover, _super);\n function CustomJSHover(attrs) {\n return _super.call(this, attrs) || this;\n }\n CustomJSHover.initClass = function () {\n this.prototype.type = 'CustomJSHover';\n this.define({\n args: [p.Any, {}],\n code: [p.String, \"\"],\n });\n };\n Object.defineProperty(CustomJSHover.prototype, \"values\", {\n get: function () {\n return object_1.values(this.args);\n },\n enumerable: true,\n configurable: true\n });\n /*protected*/ CustomJSHover.prototype._make_code = function (valname, formatname, varsname, fn) {\n // this relies on keys(args) and values(args) returning keys and values\n // in the same order\n return new (Function.bind.apply(Function, [void 0].concat(object_1.keys(this.args), [valname, formatname, varsname, \"require\", \"exports\", string_1.use_strict(fn)])))();\n };\n CustomJSHover.prototype.format = function (value, format, special_vars) {\n var formatter = this._make_code(\"value\", \"format\", \"special_vars\", this.code);\n return formatter.apply(void 0, this.values.concat([value, format, special_vars, require, exports]));\n };\n return CustomJSHover;\n }(model_1.Model));\n exports.CustomJSHover = CustomJSHover;\n CustomJSHover.initClass();\n}\n","/* models/tools/inspectors/hover_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var inspect_tool_1 = require(282) /* ./inspect_tool */;\n var tooltip_1 = require(80) /* ../../annotations/tooltip */;\n var glyph_renderer_1 = require(197) /* ../../renderers/glyph_renderer */;\n var graph_renderer_1 = require(198) /* ../../renderers/graph_renderer */;\n var util_1 = require(289) /* ../util */;\n var hittest = require(9) /* ../../../core/hittest */;\n var templating_1 = require(42) /* ../../../core/util/templating */;\n var dom_1 = require(5) /* ../../../core/dom */;\n var p = require(18) /* ../../../core/properties */;\n var color_1 = require(30) /* ../../../core/util/color */;\n var object_1 = require(35) /* ../../../core/util/object */;\n var types_1 = require(46) /* ../../../core/util/types */;\n var build_views_1 = require(4) /* ../../../core/build_views */;\n function _nearest_line_hit(i, geometry, sx, sy, dx, dy) {\n var d1 = { x: dx[i], y: dy[i] };\n var d2 = { x: dx[i + 1], y: dy[i + 1] };\n var dist1;\n var dist2;\n if (geometry.type == \"span\") {\n if (geometry.direction == \"h\") {\n dist1 = Math.abs(d1.x - sx);\n dist2 = Math.abs(d2.x - sx);\n }\n else {\n dist1 = Math.abs(d1.y - sy);\n dist2 = Math.abs(d2.y - sy);\n }\n }\n else {\n var s = { x: sx, y: sy };\n dist1 = hittest.dist_2_pts(d1, s);\n dist2 = hittest.dist_2_pts(d2, s);\n }\n if (dist1 < dist2)\n return [[d1.x, d1.y], i];\n else\n return [[d2.x, d2.y], i + 1];\n }\n exports._nearest_line_hit = _nearest_line_hit;\n function _line_hit(xs, ys, ind) {\n return [[xs[ind], ys[ind]], ind];\n }\n exports._line_hit = _line_hit;\n var HoverToolView = /** @class */ (function (_super) {\n tslib_1.__extends(HoverToolView, _super);\n function HoverToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n HoverToolView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.ttviews = {};\n };\n HoverToolView.prototype.remove = function () {\n build_views_1.remove_views(this.ttviews);\n _super.prototype.remove.call(this);\n };\n HoverToolView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n for (var _i = 0, _a = this.computed_renderers; _i < _a.length; _i++) {\n var r = _a[_i];\n if (r instanceof glyph_renderer_1.GlyphRenderer)\n this.connect(r.data_source.inspect, this._update);\n else if (r instanceof graph_renderer_1.GraphRenderer) {\n this.connect(r.node_renderer.data_source.inspect, this._update);\n this.connect(r.edge_renderer.data_source.inspect, this._update);\n }\n }\n // TODO: this.connect(this.plot_model.properties.renderers.change, () => this._computed_renderers = this._ttmodels = null)\n this.connect(this.model.properties.renderers.change, function () { return _this._computed_renderers = _this._ttmodels = null; });\n this.connect(this.model.properties.names.change, function () { return _this._computed_renderers = _this._ttmodels = null; });\n this.connect(this.model.properties.tooltips.change, function () { return _this._ttmodels = null; });\n };\n HoverToolView.prototype._compute_ttmodels = function () {\n var ttmodels = {};\n var tooltips = this.model.tooltips;\n if (tooltips != null) {\n for (var _i = 0, _a = this.computed_renderers; _i < _a.length; _i++) {\n var r = _a[_i];\n if (r instanceof glyph_renderer_1.GlyphRenderer) {\n var tooltip = new tooltip_1.Tooltip({\n custom: types_1.isString(tooltips) || types_1.isFunction(tooltips),\n attachment: this.model.attachment,\n show_arrow: this.model.show_arrow,\n });\n ttmodels[r.id] = tooltip;\n }\n else if (r instanceof graph_renderer_1.GraphRenderer) {\n var tooltip = new tooltip_1.Tooltip({\n custom: types_1.isString(tooltips) || types_1.isFunction(tooltips),\n attachment: this.model.attachment,\n show_arrow: this.model.show_arrow,\n });\n ttmodels[r.node_renderer.id] = tooltip;\n ttmodels[r.edge_renderer.id] = tooltip;\n }\n }\n }\n build_views_1.build_views(this.ttviews, object_1.values(ttmodels), { parent: this.plot_view });\n return ttmodels;\n };\n Object.defineProperty(HoverToolView.prototype, \"computed_renderers\", {\n get: function () {\n if (this._computed_renderers == null) {\n var renderers = this.model.renderers;\n var all_renderers = this.plot_model.renderers;\n var names = this.model.names;\n this._computed_renderers = util_1.compute_renderers(renderers, all_renderers, names);\n }\n return this._computed_renderers;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(HoverToolView.prototype, \"ttmodels\", {\n get: function () {\n if (this._ttmodels == null)\n this._ttmodels = this._compute_ttmodels();\n return this._ttmodels;\n },\n enumerable: true,\n configurable: true\n });\n HoverToolView.prototype._clear = function () {\n this._inspect(Infinity, Infinity);\n for (var rid in this.ttmodels) {\n var tt = this.ttmodels[rid];\n tt.clear();\n }\n };\n HoverToolView.prototype._move = function (ev) {\n if (!this.model.active)\n return;\n var sx = ev.sx, sy = ev.sy;\n if (!this.plot_view.frame.bbox.contains(sx, sy))\n this._clear();\n else\n this._inspect(sx, sy);\n };\n HoverToolView.prototype._move_exit = function () {\n this._clear();\n };\n HoverToolView.prototype._inspect = function (sx, sy) {\n var geometry;\n if (this.model.mode == 'mouse')\n geometry = { type: 'point', sx: sx, sy: sy };\n else {\n var direction = this.model.mode == 'vline' ? 'h' : 'v';\n geometry = { type: 'span', direction: direction, sx: sx, sy: sy };\n }\n for (var _i = 0, _a = this.computed_renderers; _i < _a.length; _i++) {\n var r = _a[_i];\n var sm = r.get_selection_manager();\n sm.inspect(this.plot_view.renderer_views[r.id], geometry);\n }\n if (this.model.callback != null)\n this._emit_callback(geometry);\n };\n HoverToolView.prototype._update = function (_a) {\n var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s;\n var renderer_view = _a[0], geometry = _a[1].geometry;\n if (!this.model.active)\n return;\n if (!(renderer_view instanceof glyph_renderer_1.GlyphRendererView || renderer_view instanceof graph_renderer_1.GraphRendererView))\n return;\n var renderer = renderer_view.model;\n var tooltip = this.ttmodels[renderer.id];\n if (tooltip == null)\n return;\n tooltip.clear();\n var selection_manager = renderer.get_selection_manager();\n var indices = selection_manager.inspectors[renderer.id];\n if (renderer instanceof glyph_renderer_1.GlyphRenderer)\n indices = renderer.view.convert_selection_to_subset(indices);\n if (indices.is_empty())\n return;\n var ds = selection_manager.source;\n var frame = this.plot_view.frame;\n var sx = geometry.sx, sy = geometry.sy;\n var xscale = frame.xscales[renderer.x_range_name];\n var yscale = frame.yscales[renderer.y_range_name];\n var x = xscale.invert(sx);\n var y = yscale.invert(sy);\n var glyph = renderer_view.glyph; // XXX\n for (var _i = 0, _t = indices.line_indices; _i < _t.length; _i++) {\n var i = _t[_i];\n var data_x = glyph._x[i + 1];\n var data_y = glyph._y[i + 1];\n var ii = i;\n var rx = void 0;\n var ry = void 0;\n switch (this.model.line_policy) {\n case \"interp\": { // and renderer.get_interpolation_hit?\n _b = glyph.get_interpolation_hit(i, geometry), data_x = _b[0], data_y = _b[1];\n rx = xscale.compute(data_x);\n ry = yscale.compute(data_y);\n break;\n }\n case \"prev\": {\n _c = _line_hit(glyph.sx, glyph.sy, i), _d = _c[0], rx = _d[0], ry = _d[1], ii = _c[1];\n break;\n }\n case \"next\": {\n _e = _line_hit(glyph.sx, glyph.sy, i + 1), _f = _e[0], rx = _f[0], ry = _f[1], ii = _e[1];\n break;\n }\n case \"nearest\": {\n _g = _nearest_line_hit(i, geometry, sx, sy, glyph.sx, glyph.sy), _h = _g[0], rx = _h[0], ry = _h[1], ii = _g[1];\n data_x = glyph._x[ii];\n data_y = glyph._y[ii];\n break;\n }\n default: {\n _j = [sx, sy], rx = _j[0], ry = _j[1];\n }\n }\n var vars = {\n index: ii,\n x: x, y: y, sx: sx, sy: sy, data_x: data_x, data_y: data_y, rx: rx, ry: ry,\n indices: indices.line_indices,\n name: renderer_view.model.name,\n };\n tooltip.add(rx, ry, this._render_tooltips(ds, ii, vars));\n }\n for (var _u = 0, _v = indices.image_indices; _u < _v.length; _u++) {\n var struct = _v[_u];\n var vars = { index: struct.index, x: x, y: y, sx: sx, sy: sy };\n var rendered = this._render_tooltips(ds, struct, vars);\n tooltip.add(sx, sy, rendered);\n }\n for (var _w = 0, _z = indices.indices; _w < _z.length; _w++) {\n var i = _z[_w];\n // multiglyphs set additional indices, e.g. multiline_indices for different tooltips\n if (!object_1.isEmpty(indices.multiline_indices)) {\n for (var _0 = 0, _1 = indices.multiline_indices[i.toString()]; _0 < _1.length; _0++) {\n var j = _1[_0];\n var data_x = glyph._xs[i][j];\n var data_y = glyph._ys[i][j];\n var jj = j;\n var rx = void 0;\n var ry = void 0;\n switch (this.model.line_policy) {\n case \"interp\": { // and renderer.get_interpolation_hit?\n _k = glyph.get_interpolation_hit(i, j, geometry), data_x = _k[0], data_y = _k[1];\n rx = xscale.compute(data_x);\n ry = yscale.compute(data_y);\n break;\n }\n case \"prev\": {\n _l = _line_hit(glyph.sxs[i], glyph.sys[i], j), _m = _l[0], rx = _m[0], ry = _m[1], jj = _l[1];\n break;\n }\n case \"next\": {\n _o = _line_hit(glyph.sxs[i], glyph.sys[i], j + 1), _p = _o[0], rx = _p[0], ry = _p[1], jj = _o[1];\n break;\n }\n case \"nearest\": {\n _q = _nearest_line_hit(j, geometry, sx, sy, glyph.sxs[i], glyph.sys[i]), _r = _q[0], rx = _r[0], ry = _r[1], jj = _q[1];\n data_x = glyph._xs[i][jj];\n data_y = glyph._ys[i][jj];\n break;\n }\n default:\n throw new Error(\"should't have happened\");\n }\n var index = void 0;\n if (renderer instanceof glyph_renderer_1.GlyphRenderer)\n index = renderer.view.convert_indices_from_subset([i])[0];\n else\n index = i;\n var vars = {\n index: index, x: x, y: y, sx: sx, sy: sy, data_x: data_x, data_y: data_y,\n segment_index: jj,\n indices: indices.multiline_indices,\n name: renderer_view.model.name,\n };\n tooltip.add(rx, ry, this._render_tooltips(ds, index, vars));\n }\n }\n else {\n // handle non-multiglyphs\n var data_x = glyph._x != null ? glyph._x[i] : undefined;\n var data_y = glyph._y != null ? glyph._y[i] : undefined;\n var rx = void 0;\n var ry = void 0;\n if (this.model.point_policy == 'snap_to_data') { // and renderer.glyph.sx? and renderer.glyph.sy?\n // Pass in our screen position so we can determine which patch we're\n // over if there are discontinuous patches.\n var pt = glyph.get_anchor_point(this.model.anchor, i, [sx, sy]);\n if (pt == null)\n pt = glyph.get_anchor_point(\"center\", i, [sx, sy]);\n rx = pt.x;\n ry = pt.y;\n }\n else\n _s = [sx, sy], rx = _s[0], ry = _s[1];\n var index = void 0;\n if (renderer instanceof glyph_renderer_1.GlyphRenderer)\n index = renderer.view.convert_indices_from_subset([i])[0];\n else\n index = i;\n var vars = {\n index: index, x: x, y: y, sx: sx, sy: sy, data_x: data_x, data_y: data_y,\n indices: indices.indices,\n name: renderer_view.model.name,\n };\n tooltip.add(rx, ry, this._render_tooltips(ds, index, vars));\n }\n }\n };\n HoverToolView.prototype._emit_callback = function (geometry) {\n for (var _i = 0, _a = this.computed_renderers; _i < _a.length; _i++) {\n var r = _a[_i];\n var index = r.data_source.inspected;\n var frame = this.plot_view.frame;\n var xscale = frame.xscales[r.x_range_name];\n var yscale = frame.yscales[r.y_range_name];\n var x = xscale.invert(geometry.sx);\n var y = yscale.invert(geometry.sy);\n var g = tslib_1.__assign({ x: x, y: y }, geometry);\n this.model.callback.execute(this.model, { index: index, geometry: g, renderer: r });\n }\n };\n HoverToolView.prototype._render_tooltips = function (ds, i, vars) {\n var tooltips = this.model.tooltips;\n if (types_1.isString(tooltips)) {\n var el = dom_1.div();\n el.innerHTML = templating_1.replace_placeholders(tooltips, ds, i, this.model.formatters, vars);\n return el;\n }\n else if (types_1.isFunction(tooltips)) {\n return tooltips(ds, vars);\n }\n else {\n var rows = dom_1.div({ style: { display: \"table\", borderSpacing: \"2px\" } });\n for (var _i = 0, tooltips_1 = tooltips; _i < tooltips_1.length; _i++) {\n var _a = tooltips_1[_i], label = _a[0], value = _a[1];\n var row = dom_1.div({ style: { display: \"table-row\" } });\n rows.appendChild(row);\n var cell = void 0;\n cell = dom_1.div({ style: { display: \"table-cell\" }, class: 'bk-tooltip-row-label' }, label.length != 0 ? label + \": \" : \"\");\n row.appendChild(cell);\n cell = dom_1.div({ style: { display: \"table-cell\" }, class: 'bk-tooltip-row-value' });\n row.appendChild(cell);\n if (value.indexOf(\"$color\") >= 0) {\n var _b = value.match(/\\$color(\\[.*\\])?:(\\w*)/), _c = _b[1], opts = _c === void 0 ? \"\" : _c, colname = _b[2]; // XXX!\n var column = ds.get_column(colname); // XXX: change to columnar ds\n if (column == null) {\n var el_1 = dom_1.span({}, colname + \" unknown\");\n cell.appendChild(el_1);\n continue;\n }\n var hex = opts.indexOf(\"hex\") >= 0;\n var swatch = opts.indexOf(\"swatch\") >= 0;\n var color = types_1.isNumber(i) ? column[i] : null;\n if (color == null) {\n var el_2 = dom_1.span({}, \"(null)\");\n cell.appendChild(el_2);\n continue;\n }\n if (hex)\n color = color_1.color2hex(color);\n var el = dom_1.span({}, color);\n cell.appendChild(el);\n if (swatch) {\n el = dom_1.span({ class: 'bk-tooltip-color-block', style: { backgroundColor: color } }, \" \");\n cell.appendChild(el);\n }\n }\n else {\n var el = dom_1.span();\n el.innerHTML = templating_1.replace_placeholders(value.replace(\"$~\", \"$data_\"), ds, i, this.model.formatters, vars);\n cell.appendChild(el);\n }\n }\n return rows;\n }\n };\n return HoverToolView;\n }(inspect_tool_1.InspectToolView));\n exports.HoverToolView = HoverToolView;\n var HoverTool = /** @class */ (function (_super) {\n tslib_1.__extends(HoverTool, _super);\n function HoverTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.tool_name = \"Hover\";\n _this.icon = \"bk-tool-icon-hover\";\n return _this;\n }\n HoverTool.initClass = function () {\n this.prototype.type = \"HoverTool\";\n this.prototype.default_view = HoverToolView;\n this.define({\n tooltips: [p.Any, [\n [\"index\", \"$index\"],\n [\"data (x, y)\", \"($x, $y)\"],\n [\"screen (x, y)\", \"($sx, $sy)\"],\n ]],\n formatters: [p.Any, {}],\n renderers: [p.Any, 'auto'],\n names: [p.Array, []],\n mode: [p.HoverMode, 'mouse'],\n point_policy: [p.PointPolicy, 'snap_to_data'],\n line_policy: [p.LinePolicy, 'nearest'],\n show_arrow: [p.Boolean, true],\n anchor: [p.Anchor, 'center'],\n attachment: [p.TooltipAttachment, 'horizontal'],\n callback: [p.Any],\n });\n };\n return HoverTool;\n }(inspect_tool_1.InspectTool));\n exports.HoverTool = HoverTool;\n HoverTool.initClass();\n}\n","/* models/tools/inspectors/inspect_tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var button_tool_1 = require(259) /* ../button_tool */;\n var on_off_button_1 = require(283) /* ../on_off_button */;\n var p = require(18) /* ../../../core/properties */;\n var InspectToolView = /** @class */ (function (_super) {\n tslib_1.__extends(InspectToolView, _super);\n function InspectToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return InspectToolView;\n }(button_tool_1.ButtonToolView));\n exports.InspectToolView = InspectToolView;\n var InspectTool = /** @class */ (function (_super) {\n tslib_1.__extends(InspectTool, _super);\n function InspectTool(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this.event_type = \"move\";\n return _this;\n }\n InspectTool.initClass = function () {\n this.prototype.type = \"InspectTool\";\n this.prototype.button_view = on_off_button_1.OnOffButtonView;\n this.define({\n toggleable: [p.Boolean, true],\n });\n this.override({\n active: true,\n });\n };\n return InspectTool;\n }(button_tool_1.ButtonTool));\n exports.InspectTool = InspectTool;\n InspectTool.initClass();\n}\n","/* models/tools/on_off_button */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var button_tool_1 = require(259) /* ./button_tool */;\n var OnOffButtonView = /** @class */ (function (_super) {\n tslib_1.__extends(OnOffButtonView, _super);\n function OnOffButtonView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n OnOffButtonView.prototype.render = function () {\n _super.prototype.render.call(this);\n if (this.model.active)\n this.el.classList.add('bk-active');\n else\n this.el.classList.remove('bk-active');\n };\n OnOffButtonView.prototype._clicked = function () {\n var active = this.model.active;\n this.model.active = !active;\n };\n return OnOffButtonView;\n }(button_tool_1.ButtonToolButtonView));\n exports.OnOffButtonView = OnOffButtonView;\n}\n","/* models/tools/tool */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var p = require(18) /* ../../core/properties */;\n var view_1 = require(50) /* ../../core/view */;\n var array_1 = require(24) /* ../../core/util/array */;\n var model_1 = require(62) /* ../../model */;\n var ToolView = /** @class */ (function (_super) {\n tslib_1.__extends(ToolView, _super);\n function ToolView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ToolView.prototype, \"plot_view\", {\n get: function () {\n return this.parent;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolView.prototype, \"plot_model\", {\n get: function () {\n return this.parent.model;\n },\n enumerable: true,\n configurable: true\n });\n ToolView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.properties.active.change, function () {\n if (_this.model.active)\n _this.activate();\n else\n _this.deactivate();\n });\n };\n // activate is triggered by toolbar ui actions\n ToolView.prototype.activate = function () { };\n // deactivate is triggered by toolbar ui actions\n ToolView.prototype.deactivate = function () { };\n return ToolView;\n }(view_1.View));\n exports.ToolView = ToolView;\n var Tool = /** @class */ (function (_super) {\n tslib_1.__extends(Tool, _super);\n function Tool(attrs) {\n return _super.call(this, attrs) || this;\n }\n Tool.initClass = function () {\n this.prototype.type = \"Tool\";\n this.internal({\n active: [p.Boolean, false],\n });\n };\n Object.defineProperty(Tool.prototype, \"synthetic_renderers\", {\n get: function () {\n return [];\n },\n enumerable: true,\n configurable: true\n });\n // utility function to return a tool name, modified\n // by the active dimenions. Used by tools that have dimensions\n Tool.prototype._get_dim_tooltip = function (name, dims) {\n switch (dims) {\n case \"width\": return name + \" (x-axis)\";\n case \"height\": return name + \" (y-axis)\";\n case \"both\": return name;\n }\n };\n // utility function to get limits along both dimensions, given\n // optional dimensional constraints\n Tool.prototype._get_dim_limits = function (_a, _b, frame, dims) {\n var sx0 = _a[0], sy0 = _a[1];\n var sx1 = _b[0], sy1 = _b[1];\n var hr = frame.bbox.h_range;\n var sxlim;\n if (dims == 'width' || dims == 'both') {\n sxlim = [array_1.min([sx0, sx1]), array_1.max([sx0, sx1])];\n sxlim = [array_1.max([sxlim[0], hr.start]), array_1.min([sxlim[1], hr.end])];\n }\n else\n sxlim = [hr.start, hr.end];\n var vr = frame.bbox.v_range;\n var sylim;\n if (dims == 'height' || dims == 'both') {\n sylim = [array_1.min([sy0, sy1]), array_1.max([sy0, sy1])];\n sylim = [array_1.max([sylim[0], vr.start]), array_1.min([sylim[1], vr.end])];\n }\n else\n sylim = [vr.start, vr.end];\n return [sxlim, sylim];\n };\n return Tool;\n }(model_1.Model));\n exports.Tool = Tool;\n Tool.initClass();\n}\n","/* models/tools/tool_proxy */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var p = require(18) /* ../../core/properties */;\n var signaling_1 = require(22) /* ../../core/signaling */;\n var model_1 = require(62) /* ../../model */;\n var inspect_tool_1 = require(282) /* ./inspectors/inspect_tool */;\n var ToolProxy = /** @class */ (function (_super) {\n tslib_1.__extends(ToolProxy, _super);\n function ToolProxy(attrs) {\n return _super.call(this, attrs) || this;\n }\n ToolProxy.initClass = function () {\n this.prototype.type = \"ToolProxy\";\n this.define({\n tools: [p.Array, []],\n active: [p.Boolean, false],\n disabled: [p.Boolean, false],\n });\n };\n Object.defineProperty(ToolProxy.prototype, \"button_view\", {\n // Operates all the tools given only one button\n get: function () {\n return this.tools[0].button_view;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolProxy.prototype, \"event_type\", {\n get: function () {\n return this.tools[0].event_type;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolProxy.prototype, \"tooltip\", {\n get: function () {\n return this.tools[0].tooltip;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolProxy.prototype, \"tool_name\", {\n get: function () {\n return this.tools[0].tool_name;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolProxy.prototype, \"icon\", {\n get: function () {\n return this.tools[0].computed_icon;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolProxy.prototype, \"computed_icon\", {\n get: function () {\n return this.icon;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolProxy.prototype, \"toggleable\", {\n get: function () {\n var tool = this.tools[0];\n return tool instanceof inspect_tool_1.InspectTool && tool.toggleable;\n },\n enumerable: true,\n configurable: true\n });\n ToolProxy.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this.do = new signaling_1.Signal0(this, \"do\");\n };\n ToolProxy.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.do, function () { return _this.doit(); });\n this.connect(this.properties.active.change, function () { return _this.set_active(); });\n };\n ToolProxy.prototype.doit = function () {\n for (var _i = 0, _a = this.tools; _i < _a.length; _i++) {\n var tool = _a[_i];\n tool.do.emit();\n }\n };\n ToolProxy.prototype.set_active = function () {\n for (var _i = 0, _a = this.tools; _i < _a.length; _i++) {\n var tool = _a[_i];\n tool.active = this.active;\n }\n };\n return ToolProxy;\n }(model_1.Model));\n exports.ToolProxy = ToolProxy;\n ToolProxy.initClass();\n}\n","/* models/tools/toolbar */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var p = require(18) /* ../../core/properties */;\n var logging_1 = require(17) /* ../../core/logging */;\n var types_1 = require(46) /* ../../core/util/types */;\n var array_1 = require(24) /* ../../core/util/array */;\n var action_tool_1 = require(250) /* ./actions/action_tool */;\n var help_tool_1 = require(252) /* ./actions/help_tool */;\n var gesture_tool_1 = require(269) /* ./gestures/gesture_tool */;\n var inspect_tool_1 = require(282) /* ./inspectors/inspect_tool */;\n var toolbar_base_1 = require(287) /* ./toolbar_base */;\n var Toolbar = /** @class */ (function (_super) {\n tslib_1.__extends(Toolbar, _super);\n function Toolbar(attrs) {\n return _super.call(this, attrs) || this;\n }\n Toolbar.initClass = function () {\n this.prototype.type = 'Toolbar';\n this.prototype.default_view = toolbar_base_1.ToolbarBaseView;\n this.define({\n active_drag: [p.Any, 'auto'],\n active_inspect: [p.Any, 'auto'],\n active_scroll: [p.Any, 'auto'],\n active_tap: [p.Any, 'auto'],\n active_multi: [p.Any, null],\n });\n };\n Toolbar.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._init_tools();\n };\n Toolbar.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.properties.tools.change, function () { return _this._init_tools(); });\n };\n Toolbar.prototype._init_tools = function () {\n var _this = this;\n var _loop_1 = function (tool) {\n if (tool instanceof inspect_tool_1.InspectTool) {\n if (!array_1.some(this_1.inspectors, function (t) { return t.id == tool.id; })) {\n this_1.inspectors = this_1.inspectors.concat([tool]);\n }\n }\n else if (tool instanceof help_tool_1.HelpTool) {\n if (!array_1.some(this_1.help, function (t) { return t.id == tool.id; })) {\n this_1.help = this_1.help.concat([tool]);\n }\n }\n else if (tool instanceof action_tool_1.ActionTool) {\n if (!array_1.some(this_1.actions, function (t) { return t.id == tool.id; })) {\n this_1.actions = this_1.actions.concat([tool]);\n }\n }\n else if (tool instanceof gesture_tool_1.GestureTool) {\n var event_types = void 0;\n var multi = void 0;\n if (types_1.isString(tool.event_type)) {\n event_types = [tool.event_type];\n multi = false;\n }\n else {\n event_types = tool.event_type || [];\n multi = true;\n }\n for (var _i = 0, event_types_1 = event_types; _i < event_types_1.length; _i++) {\n var et = event_types_1[_i];\n if (!(et in this_1.gestures)) {\n logging_1.logger.warn(\"Toolbar: unknown event type '\" + et + \"' for tool: \" + tool.type + \" (\" + tool.id + \")\");\n continue;\n }\n if (multi)\n et = \"multi\";\n if (!array_1.some(this_1.gestures[et].tools, function (t) { return t.id == tool.id; }))\n this_1.gestures[et].tools = this_1.gestures[et].tools.concat([tool]);\n this_1.connect(tool.properties.active.change, this_1._active_change.bind(this_1, tool));\n }\n }\n };\n var this_1 = this;\n for (var _i = 0, _a = this.tools; _i < _a.length; _i++) {\n var tool = _a[_i];\n _loop_1(tool);\n }\n if (this.active_inspect == 'auto') {\n // do nothing as all tools are active be default\n }\n else if (this.active_inspect instanceof inspect_tool_1.InspectTool) {\n for (var _b = 0, _c = this.inspectors; _b < _c.length; _b++) {\n var inspector = _c[_b];\n if (inspector != this.active_inspect)\n inspector.active = false;\n }\n }\n else if (types_1.isArray(this.active_inspect)) {\n for (var _d = 0, _e = this.inspectors; _d < _e.length; _d++) {\n var inspector = _e[_d];\n if (!array_1.includes(this.active_inspect, inspector))\n inspector.active = false;\n }\n }\n else if (this.active_inspect == null) {\n for (var _f = 0, _g = this.inspectors; _f < _g.length; _f++) {\n var inspector = _g[_f];\n inspector.active = false;\n }\n }\n var _activate_gesture = function (tool) {\n if (tool.active) {\n // tool was activated by a proxy, but we need to finish configuration manually\n _this._active_change(tool);\n }\n else\n tool.active = true;\n };\n for (var et in this.gestures) {\n var gesture = this.gestures[et];\n if (gesture.tools.length == 0)\n continue;\n gesture.tools = array_1.sort_by(gesture.tools, function (tool) { return tool.default_order; });\n if (et == 'tap') {\n if (this.active_tap == null)\n continue;\n if (this.active_tap == 'auto')\n _activate_gesture(gesture.tools[0]);\n else\n _activate_gesture(this.active_tap);\n }\n if (et == 'pan') {\n if (this.active_drag == null)\n continue;\n if (this.active_drag == 'auto')\n _activate_gesture(gesture.tools[0]);\n else\n _activate_gesture(this.active_drag);\n }\n if (et == 'pinch' || et == 'scroll') {\n if (this.active_scroll == null || this.active_scroll == 'auto')\n continue;\n _activate_gesture(this.active_scroll);\n }\n if (this.active_multi != null)\n _activate_gesture(this.active_multi);\n }\n };\n return Toolbar;\n }(toolbar_base_1.ToolbarBase));\n exports.Toolbar = Toolbar;\n Toolbar.initClass();\n}\n","/* models/tools/toolbar_base */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var logging_1 = require(17) /* ../../core/logging */;\n var dom_1 = require(5) /* ../../core/dom */;\n var build_views_1 = require(4) /* ../../core/build_views */;\n var p = require(18) /* ../../core/properties */;\n var dom_view_1 = require(6) /* ../../core/dom_view */;\n var types_1 = require(46) /* ../../core/util/types */;\n var model_1 = require(62) /* ../../model */;\n var ToolbarViewModel = /** @class */ (function (_super) {\n tslib_1.__extends(ToolbarViewModel, _super);\n function ToolbarViewModel(attrs) {\n return _super.call(this, attrs) || this;\n }\n ToolbarViewModel.initClass = function () {\n this.prototype.type = 'ToolbarBase';\n this.define({\n _visible: [p.Any, null],\n autohide: [p.Boolean, false],\n });\n };\n Object.defineProperty(ToolbarViewModel.prototype, \"visible\", {\n get: function () {\n return (!this.autohide) ? true : (this._visible == null) ? false : this._visible;\n },\n enumerable: true,\n configurable: true\n });\n return ToolbarViewModel;\n }(model_1.Model));\n exports.ToolbarViewModel = ToolbarViewModel;\n ToolbarViewModel.initClass();\n var ToolbarBaseView = /** @class */ (function (_super) {\n tslib_1.__extends(ToolbarBaseView, _super);\n function ToolbarBaseView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarBaseView.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._tool_button_views = {};\n this._build_tool_button_views();\n this._toolbar_view_model = new ToolbarViewModel({ autohide: this.model.autohide });\n };\n ToolbarBaseView.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.model.properties.tools.change, function () { return _this._build_tool_button_views(); });\n this.connect(this.model.properties.autohide.change, function () {\n _this._toolbar_view_model.autohide = _this.model.autohide;\n _this._on_visible_change();\n });\n this.connect(this._toolbar_view_model.properties._visible.change, function () { return _this._on_visible_change(); });\n };\n ToolbarBaseView.prototype.remove = function () {\n build_views_1.remove_views(this._tool_button_views);\n _super.prototype.remove.call(this);\n };\n ToolbarBaseView.prototype._build_tool_button_views = function () {\n var tools = (this.model._proxied_tools != null ? this.model._proxied_tools : this.model.tools); // XXX\n build_views_1.build_views(this._tool_button_views, tools, { parent: this }, function (tool) { return tool.button_view; });\n };\n ToolbarBaseView.prototype.set_visibility = function (visible) {\n if (visible != this._toolbar_view_model._visible) {\n this._toolbar_view_model._visible = visible;\n }\n };\n ToolbarBaseView.prototype._on_visible_change = function () {\n var visible = this._toolbar_view_model.visible;\n var hidden_class = \"bk-toolbar-hidden\";\n if (this.el.classList.contains(hidden_class) && visible) {\n this.el.classList.remove(hidden_class);\n }\n else if (!visible) {\n this.el.classList.add(hidden_class);\n }\n };\n ToolbarBaseView.prototype.render = function () {\n var _this = this;\n dom_1.empty(this.el);\n this.el.classList.add(\"bk-toolbar\");\n this.el.classList.add(\"bk-toolbar-\" + this.model.toolbar_location);\n this._toolbar_view_model.autohide = this.model.autohide;\n this._on_visible_change();\n if (this.model.logo != null) {\n var cls = this.model.logo === \"grey\" ? \"bk-grey\" : null;\n var logo = dom_1.a({ href: \"https://bokeh.pydata.org/\", target: \"_blank\", class: [\"bk-logo\", \"bk-logo-small\", cls] });\n this.el.appendChild(logo);\n }\n var bars = [];\n var el = function (tool) {\n return _this._tool_button_views[tool.id].el;\n };\n var gestures = this.model.gestures;\n for (var et in gestures) {\n bars.push(gestures[et].tools.map(el));\n }\n bars.push(this.model.actions.map(el));\n bars.push(this.model.inspectors.filter(function (tool) { return tool.toggleable; }).map(el));\n bars.push(this.model.help.map(el));\n for (var _i = 0, bars_1 = bars; _i < bars_1.length; _i++) {\n var bar = bars_1[_i];\n if (bar.length !== 0) {\n var el_1 = dom_1.div({ class: 'bk-button-bar' }, bar);\n this.el.appendChild(el_1);\n }\n }\n };\n ToolbarBaseView.prototype.update_layout = function () { };\n ToolbarBaseView.prototype.update_position = function () { };\n ToolbarBaseView.prototype.after_layout = function () {\n this._has_finished = true;\n };\n return ToolbarBaseView;\n }(dom_view_1.DOMView));\n exports.ToolbarBaseView = ToolbarBaseView;\n var ToolbarBase = /** @class */ (function (_super) {\n tslib_1.__extends(ToolbarBase, _super);\n function ToolbarBase(attrs) {\n return _super.call(this, attrs) || this;\n }\n ToolbarBase.initClass = function () {\n this.prototype.type = 'ToolbarBase';\n this.prototype.default_view = ToolbarBaseView;\n this.define({\n tools: [p.Array, []],\n logo: [p.Logo, 'normal'],\n autohide: [p.Boolean, false],\n });\n this.internal({\n gestures: [p.Any, function () {\n return ({\n pan: { tools: [], active: null },\n scroll: { tools: [], active: null },\n pinch: { tools: [], active: null },\n tap: { tools: [], active: null },\n doubletap: { tools: [], active: null },\n press: { tools: [], active: null },\n rotate: { tools: [], active: null },\n move: { tools: [], active: null },\n multi: { tools: [], active: null },\n });\n }],\n actions: [p.Array, []],\n inspectors: [p.Array, []],\n help: [p.Array, []],\n toolbar_location: [p.Location, 'right'],\n });\n };\n Object.defineProperty(ToolbarBase.prototype, \"horizontal\", {\n get: function () {\n return this.toolbar_location === \"above\" || this.toolbar_location === \"below\";\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(ToolbarBase.prototype, \"vertical\", {\n get: function () {\n return this.toolbar_location === \"left\" || this.toolbar_location === \"right\";\n },\n enumerable: true,\n configurable: true\n });\n ToolbarBase.prototype._active_change = function (tool) {\n var event_type = tool.event_type;\n if (event_type == null)\n return;\n var event_types = types_1.isString(event_type) ? [event_type] : event_type;\n for (var _i = 0, event_types_1 = event_types; _i < event_types_1.length; _i++) {\n var et = event_types_1[_i];\n if (tool.active) {\n var currently_active_tool = this.gestures[et].active;\n if (currently_active_tool != null && tool != currently_active_tool) {\n logging_1.logger.debug(\"Toolbar: deactivating tool: \" + currently_active_tool.type + \" (\" + currently_active_tool.id + \") for event type '\" + et + \"'\");\n currently_active_tool.active = false;\n }\n this.gestures[et].active = tool;\n logging_1.logger.debug(\"Toolbar: activating tool: \" + tool.type + \" (\" + tool.id + \") for event type '\" + et + \"'\");\n }\n else\n this.gestures[et].active = null;\n }\n };\n return ToolbarBase;\n }(model_1.Model));\n exports.ToolbarBase = ToolbarBase;\n ToolbarBase.initClass();\n}\n","/* models/tools/toolbar_box */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var p = require(18) /* ../../core/properties */;\n var logging_1 = require(17) /* ../../core/logging */;\n var types_1 = require(46) /* ../../core/util/types */;\n var array_1 = require(24) /* ../../core/util/array */;\n var action_tool_1 = require(250) /* ./actions/action_tool */;\n var help_tool_1 = require(252) /* ./actions/help_tool */;\n var gesture_tool_1 = require(269) /* ./gestures/gesture_tool */;\n var inspect_tool_1 = require(282) /* ./inspectors/inspect_tool */;\n var toolbar_base_1 = require(287) /* ./toolbar_base */;\n var tool_proxy_1 = require(285) /* ./tool_proxy */;\n var layout_dom_1 = require(166) /* ../layouts/layout_dom */;\n var layout_1 = require(13) /* ../../core/layout */;\n var ProxyToolbar = /** @class */ (function (_super) {\n tslib_1.__extends(ProxyToolbar, _super);\n function ProxyToolbar(attrs) {\n return _super.call(this, attrs) || this;\n }\n ProxyToolbar.initClass = function () {\n this.prototype.type = \"ProxyToolbar\";\n };\n ProxyToolbar.prototype.initialize = function () {\n _super.prototype.initialize.call(this);\n this._init_tools();\n this._merge_tools();\n };\n ProxyToolbar.prototype._init_tools = function () {\n var _loop_1 = function (tool) {\n if (tool instanceof inspect_tool_1.InspectTool) {\n if (!array_1.some(this_1.inspectors, function (t) { return t.id == tool.id; }))\n this_1.inspectors = this_1.inspectors.concat([tool]);\n }\n else if (tool instanceof help_tool_1.HelpTool) {\n if (!array_1.some(this_1.help, function (t) { return t.id == tool.id; }))\n this_1.help = this_1.help.concat([tool]);\n }\n else if (tool instanceof action_tool_1.ActionTool) {\n if (!array_1.some(this_1.actions, function (t) { return t.id == tool.id; }))\n this_1.actions = this_1.actions.concat([tool]);\n }\n else if (tool instanceof gesture_tool_1.GestureTool) {\n var event_types = void 0;\n var multi = void 0;\n if (types_1.isString(tool.event_type)) {\n event_types = [tool.event_type];\n multi = false;\n }\n else {\n event_types = tool.event_type || [];\n multi = true;\n }\n for (var _i = 0, event_types_1 = event_types; _i < event_types_1.length; _i++) {\n var et = event_types_1[_i];\n if (!(et in this_1.gestures)) {\n logging_1.logger.warn(\"Toolbar: unknown event type '\" + et + \"' for tool: \" + tool.type + \" (\" + tool.id + \")\");\n continue;\n }\n if (multi)\n et = \"multi\";\n if (!array_1.some(this_1.gestures[et].tools, function (t) { return t.id == tool.id; }))\n this_1.gestures[et].tools = this_1.gestures[et].tools.concat([tool]);\n }\n }\n };\n var this_1 = this;\n for (var _i = 0, _a = this.tools; _i < _a.length; _i++) {\n var tool = _a[_i];\n _loop_1(tool);\n }\n };\n ProxyToolbar.prototype._merge_tools = function () {\n var _this = this;\n var _a;\n // Go through all the tools on the toolbar and replace them with\n // a proxy e.g. PanTool, BoxSelectTool, etc.\n this._proxied_tools = [];\n var inspectors = {};\n var actions = {};\n var gestures = {};\n var new_help_tools = [];\n var new_help_urls = [];\n for (var _i = 0, _b = this.help; _i < _b.length; _i++) {\n var helptool = _b[_i];\n if (!array_1.includes(new_help_urls, helptool.redirect)) {\n new_help_tools.push(helptool);\n new_help_urls.push(helptool.redirect);\n }\n }\n (_a = this._proxied_tools).push.apply(_a, new_help_tools);\n this.help = new_help_tools;\n for (var event_type in this.gestures) {\n var gesture = this.gestures[event_type];\n if (!(event_type in gestures)) {\n gestures[event_type] = {};\n }\n for (var _c = 0, _d = gesture.tools; _c < _d.length; _c++) {\n var tool = _d[_c];\n if (!(tool.type in gestures[event_type])) {\n gestures[event_type][tool.type] = [];\n }\n gestures[event_type][tool.type].push(tool);\n }\n }\n for (var _e = 0, _f = this.inspectors; _e < _f.length; _e++) {\n var tool = _f[_e];\n if (!(tool.type in inspectors)) {\n inspectors[tool.type] = [];\n }\n inspectors[tool.type].push(tool);\n }\n for (var _g = 0, _h = this.actions; _g < _h.length; _g++) {\n var tool = _h[_g];\n if (!(tool.type in actions)) {\n actions[tool.type] = [];\n }\n actions[tool.type].push(tool);\n }\n // Add a proxy for each of the groups of tools.\n var make_proxy = function (tools, active) {\n if (active === void 0) {\n active = false;\n }\n var proxy = new tool_proxy_1.ToolProxy({ tools: tools, active: active });\n _this._proxied_tools.push(proxy);\n return proxy;\n };\n for (var event_type in gestures) {\n var gesture = this.gestures[event_type];\n gesture.tools = [];\n for (var tool_type in gestures[event_type]) {\n var tools = gestures[event_type][tool_type];\n if (tools.length > 0) {\n if (event_type == 'multi') {\n for (var _j = 0, tools_1 = tools; _j < tools_1.length; _j++) {\n var tool = tools_1[_j];\n var proxy = make_proxy([tool]);\n gesture.tools.push(proxy);\n this.connect(proxy.properties.active.change, this._active_change.bind(this, proxy));\n }\n }\n else {\n var proxy = make_proxy(tools);\n gesture.tools.push(proxy);\n this.connect(proxy.properties.active.change, this._active_change.bind(this, proxy));\n }\n }\n }\n }\n this.actions = [];\n for (var tool_type in actions) {\n var tools = actions[tool_type];\n if (tool_type == 'CustomAction') {\n for (var _k = 0, tools_2 = tools; _k < tools_2.length; _k++) {\n var tool = tools_2[_k];\n this.actions.push(make_proxy([tool]));\n }\n }\n else if (tools.length > 0) {\n this.actions.push(make_proxy(tools)); // XXX\n }\n }\n this.inspectors = [];\n for (var tool_type in inspectors) {\n var tools = inspectors[tool_type];\n if (tools.length > 0)\n this.inspectors.push(make_proxy(tools, true)); // XXX\n }\n for (var et in this.gestures) {\n var gesture = this.gestures[et];\n if (gesture.tools.length == 0)\n continue;\n gesture.tools = array_1.sort_by(gesture.tools, function (tool) { return tool.default_order; });\n if (!(et == 'pinch' || et == 'scroll' || et == 'multi'))\n gesture.tools[0].active = true;\n }\n };\n return ProxyToolbar;\n }(toolbar_base_1.ToolbarBase));\n exports.ProxyToolbar = ProxyToolbar;\n ProxyToolbar.initClass();\n var ToolbarBoxView = /** @class */ (function (_super) {\n tslib_1.__extends(ToolbarBoxView, _super);\n function ToolbarBoxView() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ToolbarBoxView.prototype.initialize = function () {\n this.model.toolbar.toolbar_location = this.model.toolbar_location;\n _super.prototype.initialize.call(this);\n };\n Object.defineProperty(ToolbarBoxView.prototype, \"child_models\", {\n get: function () {\n return [this.model.toolbar]; // XXX\n },\n enumerable: true,\n configurable: true\n });\n ToolbarBoxView.prototype._update_layout = function () {\n this.layout = new layout_1.ContentBox(this.child_views[0].el);\n var toolbar = this.model.toolbar;\n if (toolbar.horizontal) {\n this.layout.set_sizing({\n width_policy: \"fit\", min_width: 100, height_policy: \"fixed\",\n });\n }\n else {\n this.layout.set_sizing({\n width_policy: \"fixed\", height_policy: \"fit\", min_height: 100,\n });\n }\n };\n return ToolbarBoxView;\n }(layout_dom_1.LayoutDOMView));\n exports.ToolbarBoxView = ToolbarBoxView;\n var ToolbarBox = /** @class */ (function (_super) {\n tslib_1.__extends(ToolbarBox, _super);\n function ToolbarBox(attrs) {\n return _super.call(this, attrs) || this;\n }\n ToolbarBox.initClass = function () {\n this.prototype.type = 'ToolbarBox';\n this.prototype.default_view = ToolbarBoxView;\n this.define({\n toolbar: [p.Instance],\n toolbar_location: [p.Location, \"right\"],\n });\n };\n return ToolbarBox;\n }(layout_dom_1.LayoutDOM));\n exports.ToolbarBox = ToolbarBox;\n ToolbarBox.initClass();\n}\n","/* models/tools/util */ function _(require, module, exports) {\n var array_1 = require(24) /* ../../core/util/array */;\n function compute_renderers(renderers, all_renderers, names) {\n if (renderers == null)\n return [];\n var result = renderers == 'auto' ? all_renderers : renderers;\n if (names.length > 0)\n result = result.filter(function (r) { return array_1.includes(names, r.name); });\n return result;\n }\n exports.compute_renderers = compute_renderers;\n}\n","/* models/transforms/customjs_transform */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var transform_1 = require(297) /* ./transform */;\n var p = require(18) /* ../../core/properties */;\n var object_1 = require(35) /* ../../core/util/object */;\n var string_1 = require(40) /* ../../core/util/string */;\n var CustomJSTransform = /** @class */ (function (_super) {\n tslib_1.__extends(CustomJSTransform, _super);\n function CustomJSTransform(attrs) {\n return _super.call(this, attrs) || this;\n }\n CustomJSTransform.initClass = function () {\n this.prototype.type = 'CustomJSTransform';\n this.define({\n args: [p.Any, {}],\n func: [p.String, \"\"],\n v_func: [p.String, \"\"],\n use_strict: [p.Boolean, false],\n });\n };\n Object.defineProperty(CustomJSTransform.prototype, \"names\", {\n get: function () {\n return object_1.keys(this.args);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CustomJSTransform.prototype, \"values\", {\n get: function () {\n return object_1.values(this.args);\n },\n enumerable: true,\n configurable: true\n });\n CustomJSTransform.prototype._make_transform = function (name, func) {\n var code = this.use_strict ? string_1.use_strict(func) : func;\n return new (Function.bind.apply(Function, [void 0].concat(this.names, [name, \"require\", \"exports\", code])))();\n };\n Object.defineProperty(CustomJSTransform.prototype, \"scalar_transform\", {\n get: function () {\n return this._make_transform(\"x\", this.func);\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(CustomJSTransform.prototype, \"vector_transform\", {\n get: function () {\n return this._make_transform(\"xs\", this.v_func);\n },\n enumerable: true,\n configurable: true\n });\n CustomJSTransform.prototype.compute = function (x) {\n return this.scalar_transform.apply(this, this.values.concat([x, require, {}]));\n };\n CustomJSTransform.prototype.v_compute = function (xs) {\n return this.vector_transform.apply(this, this.values.concat([xs, require, {}]));\n };\n return CustomJSTransform;\n }(transform_1.Transform));\n exports.CustomJSTransform = CustomJSTransform;\n CustomJSTransform.initClass();\n}\n","/* models/transforms/dodge */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var transform_1 = require(297) /* ./transform */;\n var factor_range_1 = require(192) /* ../ranges/factor_range */;\n var p = require(18) /* ../../core/properties */;\n var types_1 = require(46) /* ../../core/util/types */;\n var Dodge = /** @class */ (function (_super) {\n tslib_1.__extends(Dodge, _super);\n function Dodge(attrs) {\n return _super.call(this, attrs) || this;\n }\n Dodge.initClass = function () {\n this.prototype.type = \"Dodge\";\n this.define({\n value: [p.Number, 0],\n range: [p.Instance],\n });\n };\n // XXX: this is repeated in ./jitter.ts\n Dodge.prototype.v_compute = function (xs0) {\n var xs;\n if (this.range instanceof factor_range_1.FactorRange)\n xs = this.range.v_synthetic(xs0);\n else if (types_1.isArrayableOf(xs0, types_1.isNumber))\n xs = xs0;\n else\n throw new Error(\"unexpected\");\n var result = new Float64Array(xs.length);\n for (var i = 0; i < xs.length; i++) {\n var x = xs[i];\n result[i] = this._compute(x);\n }\n return result;\n };\n Dodge.prototype.compute = function (x) {\n if (this.range instanceof factor_range_1.FactorRange)\n return this._compute(this.range.synthetic(x));\n else if (types_1.isNumber(x))\n return this._compute(x);\n else\n throw new Error(\"unexpected\");\n };\n Dodge.prototype._compute = function (x) {\n return x + this.value;\n };\n return Dodge;\n }(transform_1.Transform));\n exports.Dodge = Dodge;\n Dodge.initClass();\n}\n","/* models/transforms/index */ function _(require, module, exports) {\n var customjs_transform_1 = require(290) /* ./customjs_transform */;\n exports.CustomJSTransform = customjs_transform_1.CustomJSTransform;\n var dodge_1 = require(291) /* ./dodge */;\n exports.Dodge = dodge_1.Dodge;\n var interpolator_1 = require(293) /* ./interpolator */;\n exports.Interpolator = interpolator_1.Interpolator;\n var jitter_1 = require(294) /* ./jitter */;\n exports.Jitter = jitter_1.Jitter;\n var linear_interpolator_1 = require(295) /* ./linear_interpolator */;\n exports.LinearInterpolator = linear_interpolator_1.LinearInterpolator;\n var step_interpolator_1 = require(296) /* ./step_interpolator */;\n exports.StepInterpolator = step_interpolator_1.StepInterpolator;\n var transform_1 = require(297) /* ./transform */;\n exports.Transform = transform_1.Transform;\n}\n","/* models/transforms/interpolator */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var transform_1 = require(297) /* ./transform */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var types_1 = require(46) /* ../../core/util/types */;\n var Interpolator = /** @class */ (function (_super) {\n tslib_1.__extends(Interpolator, _super);\n function Interpolator(attrs) {\n var _this = _super.call(this, attrs) || this;\n _this._sorted_dirty = true;\n return _this;\n }\n Interpolator.initClass = function () {\n this.prototype.type = \"Interpolator\";\n this.define({\n x: [p.Any],\n y: [p.Any],\n data: [p.Any],\n clip: [p.Boolean, true],\n });\n };\n Interpolator.prototype.connect_signals = function () {\n var _this = this;\n _super.prototype.connect_signals.call(this);\n this.connect(this.change, function () { return _this._sorted_dirty = true; });\n };\n Interpolator.prototype.v_compute = function (xs) {\n var result = new Float64Array(xs.length);\n for (var i = 0; i < xs.length; i++) {\n var x = xs[i];\n result[i] = this.compute(x);\n }\n return result;\n };\n Interpolator.prototype.sort = function (descending) {\n if (descending === void 0) {\n descending = false;\n }\n if (!this._sorted_dirty)\n return;\n var tsx;\n var tsy;\n if (types_1.isString(this.x) && types_1.isString(this.y) && this.data != null) {\n var column_names = this.data.columns();\n if (!array_1.includes(column_names, this.x))\n throw new Error(\"The x parameter does not correspond to a valid column name defined in the data parameter\");\n if (!array_1.includes(column_names, this.y))\n throw new Error(\"The y parameter does not correspond to a valid column name defined in the data parameter\");\n tsx = this.data.get_column(this.x);\n tsy = this.data.get_column(this.y);\n }\n else if (types_1.isArray(this.x) && types_1.isArray(this.y)) {\n tsx = this.x;\n tsy = this.y;\n }\n else {\n throw new Error(\"parameters 'x' and 'y' must be both either string fields or arrays\");\n }\n if (tsx.length !== tsy.length)\n throw new Error(\"The length for x and y do not match\");\n if (tsx.length < 2)\n throw new Error(\"x and y must have at least two elements to support interpolation\");\n // The following sorting code is referenced from:\n // http://stackoverflow.com/questions/11499268/sort-two-arrays-the-same-way\n var list = [];\n for (var j in tsx) {\n list.push({ x: tsx[j], y: tsy[j] });\n }\n if (descending)\n list.sort(function (a, b) { return a.x > b.x ? -1 : (a.x == b.x ? 0 : 1); });\n else\n list.sort(function (a, b) { return a.x < b.x ? -1 : (a.x == b.x ? 0 : 1); });\n this._x_sorted = [];\n this._y_sorted = [];\n for (var _i = 0, list_1 = list; _i < list_1.length; _i++) {\n var _a = list_1[_i], x = _a.x, y = _a.y;\n this._x_sorted.push(x);\n this._y_sorted.push(y);\n }\n this._sorted_dirty = false;\n };\n return Interpolator;\n }(transform_1.Transform));\n exports.Interpolator = Interpolator;\n Interpolator.initClass();\n}\n","/* models/transforms/jitter */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var transform_1 = require(297) /* ./transform */;\n var factor_range_1 = require(192) /* ../ranges/factor_range */;\n var types_1 = require(46) /* ../../core/util/types */;\n var p = require(18) /* ../../core/properties */;\n var bokeh_math = require(34) /* ../../core/util/math */;\n var Jitter = /** @class */ (function (_super) {\n tslib_1.__extends(Jitter, _super);\n function Jitter(attrs) {\n return _super.call(this, attrs) || this;\n }\n Jitter.initClass = function () {\n this.prototype.type = \"Jitter\";\n this.define({\n mean: [p.Number, 0],\n width: [p.Number, 1],\n distribution: [p.Distribution, 'uniform'],\n range: [p.Instance],\n });\n this.internal({\n previous_values: [p.Array],\n });\n };\n Jitter.prototype.v_compute = function (xs0) {\n if (this.previous_values != null && this.previous_values.length == xs0.length)\n return this.previous_values;\n var xs;\n if (this.range instanceof factor_range_1.FactorRange)\n xs = this.range.v_synthetic(xs0);\n else if (types_1.isArrayableOf(xs0, types_1.isNumber))\n xs = xs0;\n else\n throw new Error(\"unexpected\");\n var result = new Float64Array(xs.length);\n for (var i = 0; i < xs.length; i++) {\n var x = xs[i];\n result[i] = this._compute(x);\n }\n this.previous_values = result;\n return result;\n };\n Jitter.prototype.compute = function (x) {\n if (this.range instanceof factor_range_1.FactorRange)\n return this._compute(this.range.synthetic(x));\n else if (types_1.isNumber(x))\n return this._compute(x);\n else\n throw new Error(\"unexpected\");\n };\n Jitter.prototype._compute = function (x) {\n switch (this.distribution) {\n case \"uniform\":\n return x + this.mean + (bokeh_math.random() - 0.5) * this.width;\n case \"normal\":\n return x + bokeh_math.rnorm(this.mean, this.width);\n }\n };\n return Jitter;\n }(transform_1.Transform));\n exports.Jitter = Jitter;\n Jitter.initClass();\n}\n","/* models/transforms/linear_interpolator */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var array_1 = require(24) /* ../../core/util/array */;\n var interpolator_1 = require(293) /* ./interpolator */;\n var LinearInterpolator = /** @class */ (function (_super) {\n tslib_1.__extends(LinearInterpolator, _super);\n function LinearInterpolator(attrs) {\n return _super.call(this, attrs) || this;\n }\n LinearInterpolator.initClass = function () {\n this.prototype.type = \"LinearInterpolator\";\n };\n LinearInterpolator.prototype.compute = function (x) {\n this.sort(false);\n if (this.clip) {\n if (x < this._x_sorted[0] || x > this._x_sorted[this._x_sorted.length - 1])\n return NaN;\n }\n else {\n if (x < this._x_sorted[0])\n return this._y_sorted[0];\n if (x > this._x_sorted[this._x_sorted.length - 1])\n return this._y_sorted[this._y_sorted.length - 1];\n }\n if (x == this._x_sorted[0])\n return this._y_sorted[0];\n var ind = array_1.find_last_index(this._x_sorted, function (num) { return num < x; });\n var x1 = this._x_sorted[ind];\n var x2 = this._x_sorted[ind + 1];\n var y1 = this._y_sorted[ind];\n var y2 = this._y_sorted[ind + 1];\n return y1 + (((x - x1) / (x2 - x1)) * (y2 - y1));\n };\n return LinearInterpolator;\n }(interpolator_1.Interpolator));\n exports.LinearInterpolator = LinearInterpolator;\n LinearInterpolator.initClass();\n}\n","/* models/transforms/step_interpolator */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var interpolator_1 = require(293) /* ./interpolator */;\n var p = require(18) /* ../../core/properties */;\n var array_1 = require(24) /* ../../core/util/array */;\n var StepInterpolator = /** @class */ (function (_super) {\n tslib_1.__extends(StepInterpolator, _super);\n function StepInterpolator(attrs) {\n return _super.call(this, attrs) || this;\n }\n StepInterpolator.initClass = function () {\n this.prototype.type = \"StepInterpolator\";\n this.define({\n mode: [p.StepMode, \"after\"],\n });\n };\n StepInterpolator.prototype.compute = function (x) {\n this.sort(false);\n if (this.clip) {\n if (x < this._x_sorted[0] || x > this._x_sorted[this._x_sorted.length - 1])\n return NaN;\n }\n else {\n if (x < this._x_sorted[0])\n return this._y_sorted[0];\n if (x > this._x_sorted[this._x_sorted.length - 1])\n return this._y_sorted[this._y_sorted.length - 1];\n }\n var ind;\n switch (this.mode) {\n case \"after\": {\n ind = array_1.find_last_index(this._x_sorted, function (num) { return x >= num; });\n break;\n }\n case \"before\": {\n ind = array_1.find_index(this._x_sorted, function (num) { return x <= num; });\n break;\n }\n case \"center\": {\n var diffs = this._x_sorted.map(function (tx) { return Math.abs(tx - x); });\n var mdiff_1 = array_1.min(diffs);\n ind = array_1.find_index(diffs, function (num) { return mdiff_1 === num; });\n break;\n }\n default:\n throw new Error(\"unknown mode: \" + this.mode);\n }\n return ind != -1 ? this._y_sorted[ind] : NaN;\n };\n return StepInterpolator;\n }(interpolator_1.Interpolator));\n exports.StepInterpolator = StepInterpolator;\n StepInterpolator.initClass();\n}\n","/* models/transforms/transform */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n var model_1 = require(62) /* ../../model */;\n var Transform = /** @class */ (function (_super) {\n tslib_1.__extends(Transform, _super);\n function Transform(attrs) {\n return _super.call(this, attrs) || this;\n }\n Transform.initClass = function () {\n this.prototype.type = \"Transform\";\n };\n return Transform;\n }(model_1.Model));\n exports.Transform = Transform;\n Transform.initClass();\n}\n","/* polyfill */ function _(require, module, exports) {\n if (typeof Map === \"undefined\") {\n require(359) /* es6-map/implement */;\n }\n if (typeof WeakMap === \"undefined\") {\n require(371) /* es6-weak-map/implement */;\n }\n if (typeof Promise === \"undefined\") {\n require(365) /* es6-promise */.polyfill();\n }\n if (typeof Math.log10 === \"undefined\") {\n Math.log10 = function (x) {\n return Math.log(x) * Math.LOG10E;\n };\n }\n // ref: https://github.com/bokeh/bokeh/issues/7373\n if (typeof Number.isInteger === \"undefined\") {\n Number.isInteger = function (value) {\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n };\n }\n if (typeof String.prototype.repeat === \"undefined\") {\n String.prototype.repeat = function (count) {\n if (this == null) {\n throw new TypeError('can\\'t convert ' + this + ' to object');\n }\n var str = '' + this;\n count = +count;\n if (count != count) {\n count = 0;\n }\n if (count < 0) {\n throw new RangeError('repeat count must be non-negative');\n }\n if (count == Infinity) {\n throw new RangeError('repeat count must be less than infinity');\n }\n count = Math.floor(count);\n if (str.length == 0 || count == 0) {\n return '';\n }\n // Ensuring count is a 31-bit integer allows us to heavily optimize the\n // main part. But anyway, most current (August 2014) browsers can't handle\n // strings 1 << 28 chars or longer, so:\n if (str.length * count >= 1 << 28) {\n throw new RangeError('repeat count must not overflow maximum string size');\n }\n var rpt = '';\n for (;;) {\n if ((count & 1) == 1) {\n rpt += str;\n }\n count >>>= 1;\n if (count == 0) {\n break;\n }\n str += str;\n }\n // Could we try:\n // return Array(count + 1).join(this)\n return rpt;\n };\n }\n // Production steps of ECMA-262, Edition 6, 22.1.2.1\n if (typeof Array.from === \"undefined\") {\n Array.from = (function () {\n var toStr = Object.prototype.toString;\n var isCallable = function (fn) {\n return typeof fn === 'function' || toStr.call(fn) === '[object Function]';\n };\n var toInteger = function (value) {\n var number = Number(value);\n if (isNaN(number)) {\n return 0;\n }\n if (number === 0 || !isFinite(number)) {\n return number;\n }\n return (number > 0 ? 1 : -1) * Math.floor(Math.abs(number));\n };\n var maxSafeInteger = Math.pow(2, 53) - 1;\n var toLength = function (value) {\n var len = toInteger(value);\n return Math.min(Math.max(len, 0), maxSafeInteger);\n };\n // The length property of the from method is 1.\n return function from(arrayLike /*, mapFn, thisArg */) {\n // 1. Let C be the this value.\n var C = this;\n // 2. Let items be ToObject(arrayLike).\n var items = Object(arrayLike);\n // 3. ReturnIfAbrupt(items).\n if (arrayLike == null) {\n throw new TypeError('Array.from requires an array-like object - not null or undefined');\n }\n // 4. If mapfn is undefined, then let mapping be false.\n var mapFn = arguments.length > 1 ? arguments[1] : void undefined;\n var T;\n if (typeof mapFn !== 'undefined') {\n // 5. else\n // 5. a If IsCallable(mapfn) is false, throw a TypeError exception.\n if (!isCallable(mapFn)) {\n throw new TypeError('Array.from: when provided, the second argument must be a function');\n }\n // 5. b. If thisArg was supplied, let T be thisArg; else let T be undefined.\n if (arguments.length > 2) {\n T = arguments[2];\n }\n }\n // 10. Let lenValue be Get(items, \"length\").\n // 11. Let len be ToLength(lenValue).\n var len = toLength(items.length);\n // 13. If IsConstructor(C) is true, then\n // 13. a. Let A be the result of calling the [[Construct]] internal method\n // of C with an argument list containing the single item len.\n // 14. a. Else, Let A be ArrayCreate(len).\n var A = isCallable(C) ? Object(new C(len)) : new Array(len);\n // 16. Let k be 0.\n var k = 0;\n // 17. Repeat, while k < len… (also steps a - h)\n while (k < len) {\n var kValue = items[k];\n if (mapFn) {\n A[k] = typeof T === 'undefined' ? mapFn(kValue, k) : mapFn.call(T, kValue, k);\n }\n else {\n A[k] = kValue;\n }\n k += 1;\n }\n // 18. Let putStatus be Put(A, \"length\", len, true).\n A.length = len;\n // 20. Return A.\n return A;\n };\n }());\n }\n}\n","/* protocol/index */ function _(require, module, exports) {\n var tslib_1 = require(408) /* tslib */;\n tslib_1.__exportStar(require(300) /* ./message */, exports);\n tslib_1.__exportStar(require(301) /* ./receiver */, exports);\n}\n","/* protocol/message */ function _(require, module, exports) {\n var string_1 = require(40) /* ../core/util/string */;\n var Message = /** @class */ (function () {\n function Message(header, metadata, content) {\n this.header = header;\n this.metadata = metadata;\n this.content = content;\n this.buffers = [];\n }\n Message.assemble = function (header_json, metadata_json, content_json) {\n var header = JSON.parse(header_json);\n var metadata = JSON.parse(metadata_json);\n var content = JSON.parse(content_json);\n return new Message(header, metadata, content);\n };\n Message.prototype.assemble_buffer = function (buf_header, buf_payload) {\n var nb = this.header.num_buffers != null ? this.header.num_buffers : 0;\n if (nb <= this.buffers.length)\n throw new Error(\"too many buffers received, expecting #{nb}\");\n this.buffers.push([buf_header, buf_payload]);\n };\n // not defined for BokehJS, only *receiving* buffers is supported\n // add_buffer: (buf_header, buf_payload) ->\n // write_buffers: (socket)\n Message.create = function (msgtype, metadata, content) {\n if (content === void 0) {\n content = {};\n }\n var header = Message.create_header(msgtype);\n return new Message(header, metadata, content);\n };\n Message.create_header = function (msgtype) {\n return {\n msgid: string_1.uniqueId(),\n msgtype: msgtype,\n };\n };\n Message.prototype.complete = function () {\n if (this.header != null && this.metadata != null && this.content != null) {\n if ('num_buffers' in this.header)\n return this.buffers.length === this.header.num_buffers;\n else\n return true;\n }\n else\n return false;\n };\n Message.prototype.send = function (socket) {\n var nb = this.header.num_buffers != null ? this.header.num_buffers : 0;\n if (nb > 0)\n throw new Error(\"BokehJS only supports receiving buffers, not sending\");\n var header_json = JSON.stringify(this.header);\n var metadata_json = JSON.stringify(this.metadata);\n var content_json = JSON.stringify(this.content);\n socket.send(header_json);\n socket.send(metadata_json);\n socket.send(content_json);\n };\n Message.prototype.msgid = function () {\n return this.header.msgid;\n };\n Message.prototype.msgtype = function () {\n return this.header.msgtype;\n };\n Message.prototype.reqid = function () {\n return this.header.reqid;\n };\n // return the reason we should close on bad protocol, if there is one\n Message.prototype.problem = function () {\n if (!('msgid' in this.header))\n return \"No msgid in header\";\n else if (!('msgtype' in this.header))\n return \"No msgtype in header\";\n else\n return null;\n };\n return Message;\n }());\n exports.Message = Message;\n}\n","/* protocol/receiver */ function _(require, module, exports) {\n var message_1 = require(300) /* ./message */;\n var Receiver = /** @class */ (function () {\n function Receiver() {\n this.message = null;\n this._partial = null;\n this._fragments = [];\n this._buf_header = null;\n this._current_consumer = this._HEADER;\n }\n Receiver.prototype.consume = function (fragment) {\n this._current_consumer(fragment);\n };\n Receiver.prototype._HEADER = function (fragment) {\n this._assume_text(fragment);\n this.message = null;\n this._partial = null;\n this._fragments = [fragment];\n this._buf_header = null;\n this._current_consumer = this._METADATA;\n };\n Receiver.prototype._METADATA = function (fragment) {\n this._assume_text(fragment);\n this._fragments.push(fragment);\n this._current_consumer = this._CONTENT;\n };\n Receiver.prototype._CONTENT = function (fragment) {\n this._assume_text(fragment);\n this._fragments.push(fragment);\n var _a = this._fragments.slice(0, 3), header_json = _a[0], metadata_json = _a[1], content_json = _a[2];\n this._partial = message_1.Message.assemble(header_json, metadata_json, content_json);\n this._check_complete();\n };\n Receiver.prototype._BUFFER_HEADER = function (fragment) {\n this._assume_text(fragment);\n this._buf_header = fragment; // XXX: assume text but Header is expected\n this._current_consumer = this._BUFFER_PAYLOAD;\n };\n Receiver.prototype._BUFFER_PAYLOAD = function (fragment) {\n this._assume_binary(fragment);\n this._partial.assemble_buffer(this._buf_header, fragment);\n this._check_complete();\n };\n Receiver.prototype._assume_text = function (fragment) {\n if (fragment instanceof ArrayBuffer)\n throw new Error(\"Expected text fragment but received binary fragment\");\n };\n Receiver.prototype._assume_binary = function (fragment) {\n if (!(fragment instanceof ArrayBuffer))\n throw new Error(\"Expected binary fragment but received text fragment\");\n };\n Receiver.prototype._check_complete = function () {\n if (this._partial.complete()) {\n this.message = this._partial;\n this._current_consumer = this._HEADER;\n }\n else\n this._current_consumer = this._BUFFER_HEADER;\n };\n return Receiver;\n }());\n exports.Receiver = Receiver;\n}\n","/* safely */ function _(require, module, exports) {\n function _burst_into_flames(error) {\n // Make box\n var box = document.createElement(\"div\");\n box.style.backgroundColor = \"#f2dede\";\n box.style.border = \"1px solid #a94442\";\n box.style.borderRadius = \"4px\";\n box.style.display = \"inline-block\";\n box.style.fontFamily = \"sans-serif\";\n box.style.marginTop = \"5px\";\n box.style.minWidth = \"200px\";\n box.style.padding = \"5px 5px 5px 10px\";\n box.classList.add(\"bokeh-error-box-into-flames\");\n // Make button\n var button = document.createElement(\"span\");\n button.style.backgroundColor = \"#a94442\";\n button.style.borderRadius = \"0px 4px 0px 0px\";\n button.style.color = \"white\";\n button.style.cursor = \"pointer\";\n button.style.cssFloat = \"right\";\n button.style.fontSize = \"0.8em\";\n button.style.margin = \"-6px -6px 0px 0px\";\n button.style.padding = \"2px 5px 4px 5px\";\n button.title = \"close\";\n button.setAttribute(\"aria-label\", \"close\");\n button.appendChild(document.createTextNode(\"x\"));\n button.addEventListener(\"click\", function () { return body.removeChild(box); });\n // Make title\n var title = document.createElement(\"h3\");\n title.style.color = \"#a94442\";\n title.style.margin = \"8px 0px 0px 0px\";\n title.style.padding = \"0px\";\n title.appendChild(document.createTextNode(\"Bokeh Error\"));\n // Make message\n var message = document.createElement(\"pre\");\n message.style.whiteSpace = \"unset\";\n message.style.overflowX = \"auto\";\n var text = error instanceof Error ? error.message : error;\n message.appendChild(document.createTextNode(text));\n // Add pieces to box\n box.appendChild(button);\n box.appendChild(title);\n box.appendChild(message);\n // Put box in doc\n var body = document.getElementsByTagName(\"body\")[0];\n body.insertBefore(box, body.firstChild);\n }\n function safely(fn, silent) {\n if (silent === void 0) {\n silent = false;\n }\n try {\n return fn();\n }\n catch (error) {\n _burst_into_flames(error);\n if (!silent)\n throw error;\n else\n return;\n }\n }\n exports.safely = safely;\n}\n","/* testing */ function _(require, module, exports) {\n // Just a dumb key/value record for collecting arbitrary info for tests\n exports.results = {};\n // Selenium has race conditions that make it difficult to read out the\n // results structure. This function deletes/creates a div that can act as\n // a semaphore. Tests should wait for the previous div to be stale, then\n // find the new div. At that point the results should be available\n function _update_test_div() {\n var body = document.getElementsByTagName(\"body\")[0];\n var col = document.getElementsByClassName(\"bokeh-test-div\");\n if (col.length == 1) {\n body.removeChild(col[0]);\n delete col[0];\n }\n var box = document.createElement(\"div\");\n box.classList.add(\"bokeh-test-div\");\n box.style.display = \"none\";\n body.insertBefore(box, body.firstChild);\n }\n function init() {\n _update_test_div();\n }\n exports.init = init;\n function record(key, value) {\n exports.results[key] = value;\n _update_test_div();\n }\n exports.record = record;\n function count(key) {\n if (exports.results[key] == undefined)\n exports.results[key] = 0;\n exports.results[key] += 1;\n _update_test_div();\n }\n exports.count = count;\n function clear() {\n for (var _i = 0, _a = Object.keys(exports.results); _i < _a.length; _i++) {\n var prop = _a[_i];\n delete exports.results[prop];\n }\n _update_test_div();\n }\n exports.clear = clear;\n}\n","/* version */ function _(require, module, exports) {\n exports.version = '1.2.0';\n}\n","/* canvas2svg/canvas2svg */ function _(require, module, exports) {\n /*!!\n * Canvas 2 Svg v1.0.21\n * A low level canvas to SVG converter. Uses a mock canvas context to build an SVG document.\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n * Author:\n * Kerry Liu\n *\n * Copyright (c) 2014 Gliffy Inc.\n */\n ;\n (function () {\n \"use strict\";\n var STYLES, ctx, CanvasGradient, CanvasPattern, namedEntities;\n //helper function to format a string\n function format(str, args) {\n var keys = Object.keys(args), i;\n for (i = 0; i < keys.length; i++) {\n str = str.replace(new RegExp(\"\\\\{\" + keys[i] + \"\\\\}\", \"gi\"), args[keys[i]]);\n }\n return str;\n }\n //helper function that generates a random string\n function randomString(holder) {\n var chars, randomstring, i;\n if (!holder) {\n throw new Error(\"cannot create a random attribute name for an undefined object\");\n }\n chars = \"ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz\";\n randomstring = \"\";\n do {\n randomstring = \"\";\n for (i = 0; i < 12; i++) {\n randomstring += chars[Math.floor(Math.random() * chars.length)];\n }\n } while (holder[randomstring]);\n return randomstring;\n }\n //helper function to map named to numbered entities\n function createNamedToNumberedLookup(items, radix) {\n var i, entity, lookup = {}, base10, base16;\n items = items.split(',');\n radix = radix || 10;\n // Map from named to numbered entities.\n for (i = 0; i < items.length; i += 2) {\n entity = '&' + items[i + 1] + ';';\n base10 = parseInt(items[i], radix);\n lookup[entity] = '' + base10 + ';';\n }\n //FF and IE need to create a regex from hex values ie == \\xa0\n lookup[\"\\\\xa0\"] = ' ';\n return lookup;\n }\n //helper function to map canvas-textAlign to svg-textAnchor\n function getTextAnchor(textAlign) {\n //TODO: support rtl languages\n var mapping = { \"left\": \"start\", \"right\": \"end\", \"center\": \"middle\", \"start\": \"start\", \"end\": \"end\" };\n return mapping[textAlign] || mapping.start;\n }\n //helper function to map canvas-textBaseline to svg-dominantBaseline\n function getDominantBaseline(textBaseline) {\n //INFO: not supported in all browsers\n var mapping = { \"alphabetic\": \"alphabetic\", \"hanging\": \"hanging\", \"top\": \"text-before-edge\", \"bottom\": \"text-after-edge\", \"middle\": \"central\" };\n return mapping[textBaseline] || mapping.alphabetic;\n }\n // Unpack entities lookup where the numbers are in radix 32 to reduce the size\n // entity mapping courtesy of tinymce\n namedEntities = createNamedToNumberedLookup('50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,' +\n '5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,' +\n '5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,' +\n '5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,' +\n '68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,' +\n '6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,' +\n '6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,' +\n '75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,' +\n '7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,' +\n '7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,' +\n 'sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,' +\n 'st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,' +\n 't9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,' +\n 'tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,' +\n 'u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,' +\n '81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,' +\n '8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,' +\n '8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,' +\n '8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,' +\n '8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,' +\n 'nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,' +\n 'rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,' +\n 'Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,' +\n '80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,' +\n '811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro', 32);\n //Some basic mappings for attributes and default values.\n STYLES = {\n \"strokeStyle\": {\n svgAttr: \"stroke\",\n canvas: \"#000000\",\n svg: \"none\",\n apply: \"stroke\" //apply on stroke() or fill()\n },\n \"fillStyle\": {\n svgAttr: \"fill\",\n canvas: \"#000000\",\n svg: null,\n apply: \"fill\"\n },\n \"lineCap\": {\n svgAttr: \"stroke-linecap\",\n canvas: \"butt\",\n svg: \"butt\",\n apply: \"stroke\"\n },\n \"lineJoin\": {\n svgAttr: \"stroke-linejoin\",\n canvas: \"miter\",\n svg: \"miter\",\n apply: \"stroke\"\n },\n \"miterLimit\": {\n svgAttr: \"stroke-miterlimit\",\n canvas: 10,\n svg: 4,\n apply: \"stroke\"\n },\n \"lineWidth\": {\n svgAttr: \"stroke-width\",\n canvas: 1,\n svg: 1,\n apply: \"stroke\"\n },\n \"globalAlpha\": {\n svgAttr: \"opacity\",\n canvas: 1,\n svg: 1,\n apply: \"fill stroke\"\n },\n \"font\": {\n //font converts to multiple svg attributes, there is custom logic for this\n canvas: \"10px sans-serif\"\n },\n \"shadowColor\": {\n canvas: \"#000000\"\n },\n \"shadowOffsetX\": {\n canvas: 0\n },\n \"shadowOffsetY\": {\n canvas: 0\n },\n \"shadowBlur\": {\n canvas: 0\n },\n \"textAlign\": {\n canvas: \"start\"\n },\n \"textBaseline\": {\n canvas: \"alphabetic\"\n },\n \"lineDash\": {\n svgAttr: \"stroke-dasharray\",\n canvas: [],\n svg: null,\n apply: \"stroke\"\n }\n };\n /**\n *\n * @param gradientNode - reference to the gradient\n * @constructor\n */\n CanvasGradient = function (gradientNode, ctx) {\n this.__root = gradientNode;\n this.__ctx = ctx;\n };\n /**\n * Adds a color stop to the gradient root\n */\n CanvasGradient.prototype.addColorStop = function (offset, color) {\n var stop = this.__ctx.__createElement(\"stop\"), regex, matches;\n stop.setAttribute(\"offset\", offset);\n if (color.indexOf(\"rgba\") !== -1) {\n //separate alpha value, since webkit can't handle it\n regex = /rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi;\n matches = regex.exec(color);\n stop.setAttribute(\"stop-color\", format(\"rgb({r},{g},{b})\", { r: matches[1], g: matches[2], b: matches[3] }));\n stop.setAttribute(\"stop-opacity\", matches[4]);\n }\n else {\n stop.setAttribute(\"stop-color\", color);\n }\n this.__root.appendChild(stop);\n };\n CanvasPattern = function (pattern, ctx) {\n this.__root = pattern;\n this.__ctx = ctx;\n };\n /**\n * The mock canvas context\n * @param o - options include:\n * ctx - existing Context2D to wrap around\n * width - width of your canvas (defaults to 500)\n * height - height of your canvas (defaults to 500)\n * enableMirroring - enables canvas mirroring (get image data) (defaults to false)\n * document - the document object (defaults to the current document)\n */\n ctx = function (o) {\n var defaultOptions = { width: 500, height: 500, enableMirroring: false }, options;\n //keep support for this way of calling C2S: new C2S(width,height)\n if (arguments.length > 1) {\n options = defaultOptions;\n options.width = arguments[0];\n options.height = arguments[1];\n }\n else if (!o) {\n options = defaultOptions;\n }\n else {\n options = o;\n }\n if (!(this instanceof ctx)) {\n //did someone call this without new?\n return new ctx(options);\n }\n //setup options\n this.width = options.width || defaultOptions.width;\n this.height = options.height || defaultOptions.height;\n this.enableMirroring = options.enableMirroring !== undefined ? options.enableMirroring : defaultOptions.enableMirroring;\n this.canvas = this; ///point back to this instance!\n this.__document = options.document || document;\n // allow passing in an existing context to wrap around\n // if a context is passed in, we know a canvas already exist\n if (options.ctx) {\n this.__ctx = options.ctx;\n }\n else {\n this.__canvas = this.__document.createElement(\"canvas\");\n this.__ctx = this.__canvas.getContext(\"2d\");\n }\n this.__setDefaultStyles();\n this.__stack = [this.__getStyleState()];\n this.__groupStack = [];\n //the root svg element\n this.__root = this.__document.createElementNS(\"http://www.w3.org/2000/svg\", \"svg\");\n this.__root.setAttribute(\"version\", 1.1);\n this.__root.setAttribute(\"xmlns\", \"http://www.w3.org/2000/svg\");\n this.__root.setAttributeNS(\"http://www.w3.org/2000/xmlns/\", \"xmlns:xlink\", \"http://www.w3.org/1999/xlink\");\n this.__root.setAttribute(\"width\", this.width);\n this.__root.setAttribute(\"height\", this.height);\n //make sure we don't generate the same ids in defs\n this.__ids = {};\n //defs tag\n this.__defs = this.__document.createElementNS(\"http://www.w3.org/2000/svg\", \"defs\");\n this.__root.appendChild(this.__defs);\n //also add a group child. the svg element can't use the transform attribute\n this.__currentElement = this.__document.createElementNS(\"http://www.w3.org/2000/svg\", \"g\");\n this.__root.appendChild(this.__currentElement);\n };\n /**\n * Creates the specified svg element\n * @private\n */\n ctx.prototype.__createElement = function (elementName, properties, resetFill) {\n if (typeof properties === \"undefined\") {\n properties = {};\n }\n var element = this.__document.createElementNS(\"http://www.w3.org/2000/svg\", elementName), keys = Object.keys(properties), i, key;\n if (resetFill) {\n //if fill or stroke is not specified, the svg element should not display. By default SVG's fill is black.\n element.setAttribute(\"fill\", \"none\");\n element.setAttribute(\"stroke\", \"none\");\n }\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n element.setAttribute(key, properties[key]);\n }\n return element;\n };\n /**\n * Applies default canvas styles to the context\n * @private\n */\n ctx.prototype.__setDefaultStyles = function () {\n //default 2d canvas context properties see:http://www.w3.org/TR/2dcontext/\n var keys = Object.keys(STYLES), i, key;\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n this[key] = STYLES[key].canvas;\n }\n };\n /**\n * Applies styles on restore\n * @param styleState\n * @private\n */\n ctx.prototype.__applyStyleState = function (styleState) {\n var keys = Object.keys(styleState), i, key;\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n this[key] = styleState[key];\n }\n };\n /**\n * Gets the current style state\n * @return {Object}\n * @private\n */\n ctx.prototype.__getStyleState = function () {\n var i, styleState = {}, keys = Object.keys(STYLES), key;\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n styleState[key] = this[key];\n }\n return styleState;\n };\n /**\n * Apples the current styles to the current SVG element. On \"ctx.fill\" or \"ctx.stroke\"\n * @param type\n * @private\n */\n ctx.prototype.__applyStyleToCurrentElement = function (type) {\n var currentElement = this.__currentElement;\n var currentStyleGroup = this.__currentElementsToStyle;\n if (currentStyleGroup) {\n currentElement.setAttribute(type, \"\");\n currentElement = currentStyleGroup.element;\n currentStyleGroup.children.forEach(function (node) {\n node.setAttribute(type, \"\");\n });\n }\n var keys = Object.keys(STYLES), i, style, value, id, regex, matches;\n for (i = 0; i < keys.length; i++) {\n style = STYLES[keys[i]];\n value = this[keys[i]];\n if (style.apply) {\n //is this a gradient or pattern?\n if (value instanceof CanvasPattern) {\n //pattern\n if (value.__ctx) {\n //copy over defs\n while (value.__ctx.__defs.childNodes.length) {\n id = value.__ctx.__defs.childNodes[0].getAttribute(\"id\");\n this.__ids[id] = id;\n this.__defs.appendChild(value.__ctx.__defs.childNodes[0]);\n }\n }\n currentElement.setAttribute(style.apply, format(\"url(#{id})\", { id: value.__root.getAttribute(\"id\") }));\n }\n else if (value instanceof CanvasGradient) {\n //gradient\n currentElement.setAttribute(style.apply, format(\"url(#{id})\", { id: value.__root.getAttribute(\"id\") }));\n }\n else if (style.apply.indexOf(type) !== -1 && style.svg !== value) {\n if ((style.svgAttr === \"stroke\" || style.svgAttr === \"fill\") && value.indexOf(\"rgba\") !== -1) {\n //separate alpha value, since illustrator can't handle it\n regex = /rgba\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d?\\.?\\d*)\\s*\\)/gi;\n matches = regex.exec(value);\n currentElement.setAttribute(style.svgAttr, format(\"rgb({r},{g},{b})\", { r: matches[1], g: matches[2], b: matches[3] }));\n //should take globalAlpha here\n var opacity = matches[4];\n var globalAlpha = this.globalAlpha;\n if (globalAlpha != null) {\n opacity *= globalAlpha;\n }\n currentElement.setAttribute(style.svgAttr + \"-opacity\", opacity);\n }\n else {\n var attr = style.svgAttr;\n if (keys[i] === 'globalAlpha') {\n attr = type + '-' + style.svgAttr;\n if (currentElement.getAttribute(attr)) {\n //fill-opacity or stroke-opacity has already been set by stroke or fill.\n continue;\n }\n }\n //otherwise only update attribute if right type, and not svg default\n currentElement.setAttribute(attr, value);\n }\n }\n }\n }\n };\n /**\n * Will return the closest group or svg node. May return the current element.\n * @private\n */\n ctx.prototype.__closestGroupOrSvg = function (node) {\n node = node || this.__currentElement;\n if (node.nodeName === \"g\" || node.nodeName === \"svg\") {\n return node;\n }\n else {\n return this.__closestGroupOrSvg(node.parentNode);\n }\n };\n /**\n * Returns the serialized value of the svg so far\n * @param fixNamedEntities - Standalone SVG doesn't support named entities, which document.createTextNode encodes.\n * If true, we attempt to find all named entities and encode it as a numeric entity.\n * @return serialized svg\n */\n ctx.prototype.getSerializedSvg = function (fixNamedEntities) {\n var serialized = new XMLSerializer().serializeToString(this.__root), keys, i, key, value, regexp, xmlns;\n //IE search for a duplicate xmnls because they didn't implement setAttributeNS correctly\n xmlns = /xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg\".+xmlns=\"http:\\/\\/www\\.w3\\.org\\/2000\\/svg/gi;\n if (xmlns.test(serialized)) {\n serialized = serialized.replace('xmlns=\"http://www.w3.org/2000/svg', 'xmlns:xlink=\"http://www.w3.org/1999/xlink');\n }\n if (fixNamedEntities) {\n keys = Object.keys(namedEntities);\n //loop over each named entity and replace with the proper equivalent.\n for (i = 0; i < keys.length; i++) {\n key = keys[i];\n value = namedEntities[key];\n regexp = new RegExp(key, \"gi\");\n if (regexp.test(serialized)) {\n serialized = serialized.replace(regexp, value);\n }\n }\n }\n return serialized;\n };\n /**\n * Returns the root svg\n * @return\n */\n ctx.prototype.getSvg = function () {\n return this.__root;\n };\n /**\n * Will generate a group tag.\n */\n ctx.prototype.save = function () {\n var group = this.__createElement(\"g\");\n var parent = this.__closestGroupOrSvg();\n this.__groupStack.push(parent);\n parent.appendChild(group);\n this.__currentElement = group;\n this.__stack.push(this.__getStyleState());\n };\n /**\n * Sets current element to parent, or just root if already root\n */\n ctx.prototype.restore = function () {\n this.__currentElement = this.__groupStack.pop();\n this.__currentElementsToStyle = null;\n //Clearing canvas will make the poped group invalid, currentElement is set to the root group node.\n if (!this.__currentElement) {\n this.__currentElement = this.__root.childNodes[1];\n }\n var state = this.__stack.pop();\n this.__applyStyleState(state);\n };\n /**\n * Helper method to add transform\n * @private\n */\n ctx.prototype.__addTransform = function (t) {\n //if the current element has siblings, add another group\n var parent = this.__closestGroupOrSvg();\n if (parent.childNodes.length > 0) {\n if (this.__currentElement.nodeName === \"path\") {\n if (!this.__currentElementsToStyle)\n this.__currentElementsToStyle = { element: parent, children: [] };\n this.__currentElementsToStyle.children.push(this.__currentElement);\n this.__applyCurrentDefaultPath();\n }\n var group = this.__createElement(\"g\");\n parent.appendChild(group);\n this.__currentElement = group;\n }\n var transform = this.__currentElement.getAttribute(\"transform\");\n if (transform) {\n transform += \" \";\n }\n else {\n transform = \"\";\n }\n transform += t;\n this.__currentElement.setAttribute(\"transform\", transform);\n };\n /**\n * scales the current element\n */\n ctx.prototype.scale = function (x, y) {\n if (y === undefined) {\n y = x;\n }\n this.__addTransform(format(\"scale({x},{y})\", { x: x, y: y }));\n };\n /**\n * rotates the current element\n */\n ctx.prototype.rotate = function (angle) {\n var degrees = (angle * 180 / Math.PI);\n this.__addTransform(format(\"rotate({angle},{cx},{cy})\", { angle: degrees, cx: 0, cy: 0 }));\n };\n /**\n * translates the current element\n */\n ctx.prototype.translate = function (x, y) {\n this.__addTransform(format(\"translate({x},{y})\", { x: x, y: y }));\n };\n /**\n * applies a transform to the current element\n */\n ctx.prototype.transform = function (a, b, c, d, e, f) {\n this.__addTransform(format(\"matrix({a},{b},{c},{d},{e},{f})\", { a: a, b: b, c: c, d: d, e: e, f: f }));\n };\n /**\n * Create a new Path Element\n */\n ctx.prototype.beginPath = function () {\n var path, parent;\n // Note that there is only one current default path, it is not part of the drawing state.\n // See also: https://html.spec.whatwg.org/multipage/scripting.html#current-default-path\n this.__currentDefaultPath = \"\";\n this.__currentPosition = {};\n path = this.__createElement(\"path\", {}, true);\n parent = this.__closestGroupOrSvg();\n parent.appendChild(path);\n this.__currentElement = path;\n };\n /**\n * Helper function to apply currentDefaultPath to current path element\n * @private\n */\n ctx.prototype.__applyCurrentDefaultPath = function () {\n var currentElement = this.__currentElement;\n if (currentElement.nodeName === \"path\") {\n currentElement.setAttribute(\"d\", this.__currentDefaultPath);\n }\n else {\n console.error(\"Attempted to apply path command to node\", currentElement.nodeName);\n }\n };\n /**\n * Helper function to add path command\n * @private\n */\n ctx.prototype.__addPathCommand = function (command) {\n this.__currentDefaultPath += \" \";\n this.__currentDefaultPath += command;\n };\n /**\n * Adds the move command to the current path element,\n * if the currentPathElement is not empty create a new path element\n */\n ctx.prototype.moveTo = function (x, y) {\n if (this.__currentElement.nodeName !== \"path\") {\n this.beginPath();\n }\n // creates a new subpath with the given point\n this.__currentPosition = { x: x, y: y };\n this.__addPathCommand(format(\"M {x} {y}\", { x: x, y: y }));\n };\n /**\n * Closes the current path\n */\n ctx.prototype.closePath = function () {\n if (this.__currentDefaultPath) {\n this.__addPathCommand(\"Z\");\n }\n };\n /**\n * Adds a line to command\n */\n ctx.prototype.lineTo = function (x, y) {\n this.__currentPosition = { x: x, y: y };\n if (this.__currentDefaultPath.indexOf('M') > -1) {\n this.__addPathCommand(format(\"L {x} {y}\", { x: x, y: y }));\n }\n else {\n this.__addPathCommand(format(\"M {x} {y}\", { x: x, y: y }));\n }\n };\n /**\n * Add a bezier command\n */\n ctx.prototype.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n this.__currentPosition = { x: x, y: y };\n this.__addPathCommand(format(\"C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}\", { cp1x: cp1x, cp1y: cp1y, cp2x: cp2x, cp2y: cp2y, x: x, y: y }));\n };\n /**\n * Adds a quadratic curve to command\n */\n ctx.prototype.quadraticCurveTo = function (cpx, cpy, x, y) {\n this.__currentPosition = { x: x, y: y };\n this.__addPathCommand(format(\"Q {cpx} {cpy} {x} {y}\", { cpx: cpx, cpy: cpy, x: x, y: y }));\n };\n /**\n * Return a new normalized vector of given vector\n */\n var normalize = function (vector) {\n var len = Math.sqrt(vector[0] * vector[0] + vector[1] * vector[1]);\n return [vector[0] / len, vector[1] / len];\n };\n /**\n * Adds the arcTo to the current path\n *\n * @see http://www.w3.org/TR/2015/WD-2dcontext-20150514/#dom-context-2d-arcto\n */\n ctx.prototype.arcTo = function (x1, y1, x2, y2, radius) {\n // Let the point (x0, y0) be the last point in the subpath.\n var x0 = this.__currentPosition && this.__currentPosition.x;\n var y0 = this.__currentPosition && this.__currentPosition.y;\n // First ensure there is a subpath for (x1, y1).\n if (typeof x0 == \"undefined\" || typeof y0 == \"undefined\") {\n return;\n }\n // Negative values for radius must cause the implementation to throw an IndexSizeError exception.\n if (radius < 0) {\n throw new Error(\"IndexSizeError: The radius provided (\" + radius + \") is negative.\");\n }\n // If the point (x0, y0) is equal to the point (x1, y1),\n // or if the point (x1, y1) is equal to the point (x2, y2),\n // or if the radius radius is zero,\n // then the method must add the point (x1, y1) to the subpath,\n // and connect that point to the previous point (x0, y0) by a straight line.\n if (((x0 === x1) && (y0 === y1))\n || ((x1 === x2) && (y1 === y2))\n || (radius === 0)) {\n this.lineTo(x1, y1);\n return;\n }\n // Otherwise, if the points (x0, y0), (x1, y1), and (x2, y2) all lie on a single straight line,\n // then the method must add the point (x1, y1) to the subpath,\n // and connect that point to the previous point (x0, y0) by a straight line.\n var unit_vec_p1_p0 = normalize([x0 - x1, y0 - y1]);\n var unit_vec_p1_p2 = normalize([x2 - x1, y2 - y1]);\n if (unit_vec_p1_p0[0] * unit_vec_p1_p2[1] === unit_vec_p1_p0[1] * unit_vec_p1_p2[0]) {\n this.lineTo(x1, y1);\n return;\n }\n // Otherwise, let The Arc be the shortest arc given by circumference of the circle that has radius radius,\n // and that has one point tangent to the half-infinite line that crosses the point (x0, y0) and ends at the point (x1, y1),\n // and that has a different point tangent to the half-infinite line that ends at the point (x1, y1), and crosses the point (x2, y2).\n // The points at which this circle touches these two lines are called the start and end tangent points respectively.\n // note that both vectors are unit vectors, so the length is 1\n var cos = (unit_vec_p1_p0[0] * unit_vec_p1_p2[0] + unit_vec_p1_p0[1] * unit_vec_p1_p2[1]);\n var theta = Math.acos(Math.abs(cos));\n // Calculate origin\n var unit_vec_p1_origin = normalize([\n unit_vec_p1_p0[0] + unit_vec_p1_p2[0],\n unit_vec_p1_p0[1] + unit_vec_p1_p2[1]\n ]);\n var len_p1_origin = radius / Math.sin(theta / 2);\n var x = x1 + len_p1_origin * unit_vec_p1_origin[0];\n var y = y1 + len_p1_origin * unit_vec_p1_origin[1];\n // Calculate start angle and end angle\n // rotate 90deg clockwise (note that y axis points to its down)\n var unit_vec_origin_start_tangent = [\n -unit_vec_p1_p0[1],\n unit_vec_p1_p0[0]\n ];\n // rotate 90deg counter clockwise (note that y axis points to its down)\n var unit_vec_origin_end_tangent = [\n unit_vec_p1_p2[1],\n -unit_vec_p1_p2[0]\n ];\n var getAngle = function (vector) {\n // get angle (clockwise) between vector and (1, 0)\n var x = vector[0];\n var y = vector[1];\n if (y >= 0) { // note that y axis points to its down\n return Math.acos(x);\n }\n else {\n return -Math.acos(x);\n }\n };\n var startAngle = getAngle(unit_vec_origin_start_tangent);\n var endAngle = getAngle(unit_vec_origin_end_tangent);\n // Connect the point (x0, y0) to the start tangent point by a straight line\n this.lineTo(x + unit_vec_origin_start_tangent[0] * radius, y + unit_vec_origin_start_tangent[1] * radius);\n // Connect the start tangent point to the end tangent point by arc\n // and adding the end tangent point to the subpath.\n this.arc(x, y, radius, startAngle, endAngle);\n };\n /**\n * Sets the stroke property on the current element\n */\n ctx.prototype.stroke = function () {\n if (this.__currentElement.nodeName === \"path\") {\n this.__currentElement.setAttribute(\"paint-order\", \"fill stroke markers\");\n }\n this.__applyCurrentDefaultPath();\n this.__applyStyleToCurrentElement(\"stroke\");\n };\n /**\n * Sets fill properties on the current element\n */\n ctx.prototype.fill = function () {\n if (this.__currentElement.nodeName === \"path\") {\n this.__currentElement.setAttribute(\"paint-order\", \"stroke fill markers\");\n }\n this.__applyCurrentDefaultPath();\n this.__applyStyleToCurrentElement(\"fill\");\n };\n /**\n * Adds a rectangle to the path.\n */\n ctx.prototype.rect = function (x, y, width, height) {\n if (this.__currentElement.nodeName !== \"path\") {\n this.beginPath();\n }\n this.moveTo(x, y);\n this.lineTo(x + width, y);\n this.lineTo(x + width, y + height);\n this.lineTo(x, y + height);\n this.lineTo(x, y);\n this.closePath();\n };\n /**\n * adds a rectangle element\n */\n ctx.prototype.fillRect = function (x, y, width, height) {\n var rect, parent;\n rect = this.__createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height\n }, true);\n parent = this.__closestGroupOrSvg();\n parent.appendChild(rect);\n this.__currentElement = rect;\n this.__applyStyleToCurrentElement(\"fill\");\n };\n /**\n * Draws a rectangle with no fill\n * @param x\n * @param y\n * @param width\n * @param height\n */\n ctx.prototype.strokeRect = function (x, y, width, height) {\n var rect, parent;\n rect = this.__createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height\n }, true);\n parent = this.__closestGroupOrSvg();\n parent.appendChild(rect);\n this.__currentElement = rect;\n this.__applyStyleToCurrentElement(\"stroke\");\n };\n /**\n * Clear entire canvas:\n * 1. save current transforms\n * 2. remove all the childNodes of the root g element\n */\n ctx.prototype.__clearCanvas = function () {\n var current = this.__closestGroupOrSvg(), transform = current.getAttribute(\"transform\");\n var rootGroup = this.__root.childNodes[1];\n var childNodes = rootGroup.childNodes;\n for (var i = childNodes.length - 1; i >= 0; i--) {\n if (childNodes[i]) {\n rootGroup.removeChild(childNodes[i]);\n }\n }\n this.__currentElement = rootGroup;\n //reset __groupStack as all the child group nodes are all removed.\n this.__groupStack = [];\n if (transform) {\n this.__addTransform(transform);\n }\n };\n /**\n * \"Clears\" a canvas by just drawing a white rectangle in the current group.\n */\n ctx.prototype.clearRect = function (x, y, width, height) {\n //clear entire canvas\n if (x === 0 && y === 0 && width === this.width && height === this.height) {\n this.__clearCanvas();\n return;\n }\n var rect, parent = this.__closestGroupOrSvg();\n rect = this.__createElement(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n fill: \"#FFFFFF\"\n }, true);\n parent.appendChild(rect);\n };\n /**\n * Adds a linear gradient to a defs tag.\n * Returns a canvas gradient object that has a reference to it's parent def\n */\n ctx.prototype.createLinearGradient = function (x1, y1, x2, y2) {\n var grad = this.__createElement(\"linearGradient\", {\n id: randomString(this.__ids),\n x1: x1 + \"px\",\n x2: x2 + \"px\",\n y1: y1 + \"px\",\n y2: y2 + \"px\",\n \"gradientUnits\": \"userSpaceOnUse\"\n }, false);\n this.__defs.appendChild(grad);\n return new CanvasGradient(grad, this);\n };\n /**\n * Adds a radial gradient to a defs tag.\n * Returns a canvas gradient object that has a reference to it's parent def\n */\n ctx.prototype.createRadialGradient = function (x0, y0, r0, x1, y1, r1) {\n var grad = this.__createElement(\"radialGradient\", {\n id: randomString(this.__ids),\n cx: x1 + \"px\",\n cy: y1 + \"px\",\n r: r1 + \"px\",\n fx: x0 + \"px\",\n fy: y0 + \"px\",\n \"gradientUnits\": \"userSpaceOnUse\"\n }, false);\n this.__defs.appendChild(grad);\n return new CanvasGradient(grad, this);\n };\n /**\n * Parses the font string and returns svg mapping\n * @private\n */\n ctx.prototype.__parseFont = function () {\n var regex = /^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}(italic|oblique))?)(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00))?)(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?(?:small|large)|medium|smaller|larger|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))(?:\\s*\\/\\s*(normal|[.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])))?\\s*([-,\\'\\\"\\sa-z0-9]+?)\\s*$/i;\n var fontPart = regex.exec(this.font);\n var data = {\n style: fontPart[1] || 'normal',\n size: fontPart[4] || '10px',\n family: fontPart[6] || 'sans-serif',\n weight: fontPart[3] || 'normal',\n decoration: fontPart[2] || 'normal',\n href: null\n };\n //canvas doesn't support underline natively, but we can pass this attribute\n if (this.__fontUnderline === \"underline\") {\n data.decoration = \"underline\";\n }\n //canvas also doesn't support linking, but we can pass this as well\n if (this.__fontHref) {\n data.href = this.__fontHref;\n }\n return data;\n };\n /**\n * Helper to link text fragments\n * @param font\n * @param element\n * @return {*}\n * @private\n */\n ctx.prototype.__wrapTextLink = function (font, element) {\n if (font.href) {\n var a = this.__createElement(\"a\");\n a.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"xlink:href\", font.href);\n a.appendChild(element);\n return a;\n }\n return element;\n };\n /**\n * Fills or strokes text\n * @param text\n * @param x\n * @param y\n * @param action - stroke or fill\n * @private\n */\n ctx.prototype.__applyText = function (text, x, y, action) {\n var font = this.__parseFont(), parent = this.__closestGroupOrSvg(), textElement = this.__createElement(\"text\", {\n \"font-family\": font.family,\n \"font-size\": font.size,\n \"font-style\": font.style,\n \"font-weight\": font.weight,\n \"text-decoration\": font.decoration,\n \"x\": x,\n \"y\": y,\n \"text-anchor\": getTextAnchor(this.textAlign),\n \"dominant-baseline\": getDominantBaseline(this.textBaseline)\n }, true);\n textElement.appendChild(this.__document.createTextNode(text));\n this.__currentElement = textElement;\n this.__applyStyleToCurrentElement(action);\n parent.appendChild(this.__wrapTextLink(font, textElement));\n };\n /**\n * Creates a text element\n * @param text\n * @param x\n * @param y\n */\n ctx.prototype.fillText = function (text, x, y) {\n this.__applyText(text, x, y, \"fill\");\n };\n /**\n * Strokes text\n * @param text\n * @param x\n * @param y\n */\n ctx.prototype.strokeText = function (text, x, y) {\n this.__applyText(text, x, y, \"stroke\");\n };\n /**\n * No need to implement this for svg.\n * @param text\n * @return {TextMetrics}\n */\n ctx.prototype.measureText = function (text) {\n this.__ctx.font = this.font;\n return this.__ctx.measureText(text);\n };\n /**\n * Arc command!\n */\n ctx.prototype.arc = function (x, y, radius, startAngle, endAngle, counterClockwise) {\n // in canvas no circle is drawn if no angle is provided.\n if (startAngle === endAngle) {\n return;\n }\n startAngle = startAngle % (2 * Math.PI);\n endAngle = endAngle % (2 * Math.PI);\n if (startAngle === endAngle) {\n //circle time! subtract some of the angle so svg is happy (svg elliptical arc can't draw a full circle)\n endAngle = ((endAngle + (2 * Math.PI)) - 0.001 * (counterClockwise ? -1 : 1)) % (2 * Math.PI);\n }\n var endX = x + radius * Math.cos(endAngle), endY = y + radius * Math.sin(endAngle), startX = x + radius * Math.cos(startAngle), startY = y + radius * Math.sin(startAngle), sweepFlag = counterClockwise ? 0 : 1, largeArcFlag = 0, diff = endAngle - startAngle;\n // https://github.com/gliffy/canvas2svg/issues/4\n if (diff < 0) {\n diff += 2 * Math.PI;\n }\n if (counterClockwise) {\n largeArcFlag = diff > Math.PI ? 0 : 1;\n }\n else {\n largeArcFlag = diff > Math.PI ? 1 : 0;\n }\n this.lineTo(startX, startY);\n this.__addPathCommand(format(\"A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}\", { rx: radius, ry: radius, xAxisRotation: 0, largeArcFlag: largeArcFlag, sweepFlag: sweepFlag, endX: endX, endY: endY }));\n this.__currentPosition = { x: endX, y: endY };\n };\n /**\n * Generates a ClipPath from the clip command.\n */\n ctx.prototype.clip = function () {\n var group = this.__closestGroupOrSvg(), clipPath = this.__createElement(\"clipPath\"), id = randomString(this.__ids), newGroup = this.__createElement(\"g\");\n this.__applyCurrentDefaultPath();\n group.removeChild(this.__currentElement);\n clipPath.setAttribute(\"id\", id);\n clipPath.appendChild(this.__currentElement);\n this.__defs.appendChild(clipPath);\n //set the clip path to this group\n group.setAttribute(\"clip-path\", format(\"url(#{id})\", { id: id }));\n //clip paths can be scaled and transformed, we need to add another wrapper group to avoid later transformations\n // to this path\n group.appendChild(newGroup);\n this.__currentElement = newGroup;\n };\n /**\n * Draws a canvas, image or mock context to this canvas.\n * Note that all svg dom manipulation uses node.childNodes rather than node.children for IE support.\n * http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-drawimage\n */\n ctx.prototype.drawImage = function () {\n //convert arguments to a real array\n var args = Array.prototype.slice.call(arguments), image = args[0], dx, dy, dw, dh, sx = 0, sy = 0, sw, sh, parent, svg, defs, group, currentElement, svgImage, canvas, context, id;\n if (args.length === 3) {\n dx = args[1];\n dy = args[2];\n sw = image.width;\n sh = image.height;\n dw = sw;\n dh = sh;\n }\n else if (args.length === 5) {\n dx = args[1];\n dy = args[2];\n dw = args[3];\n dh = args[4];\n sw = image.width;\n sh = image.height;\n }\n else if (args.length === 9) {\n sx = args[1];\n sy = args[2];\n sw = args[3];\n sh = args[4];\n dx = args[5];\n dy = args[6];\n dw = args[7];\n dh = args[8];\n }\n else {\n throw new Error(\"Inavlid number of arguments passed to drawImage: \" + arguments.length);\n }\n parent = this.__closestGroupOrSvg();\n currentElement = this.__currentElement;\n var translateDirective = \"translate(\" + dx + \", \" + dy + \")\";\n if (image instanceof ctx) {\n //canvas2svg mock canvas context. In the future we may want to clone nodes instead.\n //also I'm currently ignoring dw, dh, sw, sh, sx, sy for a mock context.\n svg = image.getSvg().cloneNode(true);\n if (svg.childNodes && svg.childNodes.length > 1) {\n defs = svg.childNodes[0];\n while (defs.childNodes.length) {\n id = defs.childNodes[0].getAttribute(\"id\");\n this.__ids[id] = id;\n this.__defs.appendChild(defs.childNodes[0]);\n }\n group = svg.childNodes[1];\n if (group) {\n //save original transform\n var originTransform = group.getAttribute(\"transform\");\n var transformDirective;\n if (originTransform) {\n transformDirective = originTransform + \" \" + translateDirective;\n }\n else {\n transformDirective = translateDirective;\n }\n group.setAttribute(\"transform\", transformDirective);\n parent.appendChild(group);\n }\n }\n }\n else if (image.nodeName === \"IMG\") {\n svgImage = this.__createElement(\"image\");\n svgImage.setAttribute(\"width\", dw);\n svgImage.setAttribute(\"height\", dh);\n svgImage.setAttribute(\"preserveAspectRatio\", \"none\");\n if (sx || sy || sw !== image.width || sh !== image.height) {\n //crop the image using a temporary canvas\n canvas = this.__document.createElement(\"canvas\");\n canvas.width = dw;\n canvas.height = dh;\n context = canvas.getContext(\"2d\");\n context.drawImage(image, sx, sy, sw, sh, 0, 0, dw, dh);\n image = canvas;\n }\n svgImage.setAttribute(\"transform\", translateDirective);\n svgImage.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"xlink:href\", image.nodeName === \"CANVAS\" ? image.toDataURL() : image.getAttribute(\"src\"));\n parent.appendChild(svgImage);\n }\n else if (image.nodeName === \"CANVAS\") {\n svgImage = this.__createElement(\"image\");\n svgImage.setAttribute(\"width\", dw);\n svgImage.setAttribute(\"height\", dh);\n svgImage.setAttribute(\"preserveAspectRatio\", \"none\");\n // draw canvas onto temporary canvas so that smoothing can be handled\n canvas = this.__document.createElement(\"canvas\");\n canvas.width = dw;\n canvas.height = dh;\n context = canvas.getContext(\"2d\");\n context.imageSmoothingEnabled = false;\n context.mozImageSmoothingEnabled = false;\n context.oImageSmoothingEnabled = false;\n context.webkitImageSmoothingEnabled = false;\n context.drawImage(image, sx, sy, sw, sh, 0, 0, dw, dh);\n image = canvas;\n svgImage.setAttribute(\"transform\", translateDirective);\n svgImage.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"xlink:href\", image.toDataURL());\n parent.appendChild(svgImage);\n }\n };\n /**\n * Generates a pattern tag\n */\n ctx.prototype.createPattern = function (image, repetition) {\n var pattern = this.__document.createElementNS(\"http://www.w3.org/2000/svg\", \"pattern\"), id = randomString(this.__ids), img;\n pattern.setAttribute(\"id\", id);\n pattern.setAttribute(\"width\", image.width);\n pattern.setAttribute(\"height\", image.height);\n if (image.nodeName === \"CANVAS\" || image.nodeName === \"IMG\") {\n img = this.__document.createElementNS(\"http://www.w3.org/2000/svg\", \"image\");\n img.setAttribute(\"width\", image.width);\n img.setAttribute(\"height\", image.height);\n img.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"xlink:href\", image.nodeName === \"CANVAS\" ? image.toDataURL() : image.getAttribute(\"src\"));\n pattern.appendChild(img);\n this.__defs.appendChild(pattern);\n }\n else if (image instanceof ctx) {\n pattern.appendChild(image.__root.childNodes[1]);\n this.__defs.appendChild(pattern);\n }\n return new CanvasPattern(pattern, this);\n };\n ctx.prototype.setLineDash = function (dashArray) {\n if (dashArray && dashArray.length > 0) {\n this.lineDash = dashArray.join(\",\");\n }\n else {\n this.lineDash = null;\n }\n };\n /**\n * Not yet implemented\n */\n ctx.prototype.drawFocusRing = function () { };\n ctx.prototype.createImageData = function () { };\n ctx.prototype.getImageData = function () { };\n ctx.prototype.putImageData = function () { };\n ctx.prototype.globalCompositeOperation = function () { };\n ctx.prototype.setTransform = function () { };\n //add options for alternative namespace\n if (typeof window === \"object\") {\n window.C2S = ctx;\n }\n // CommonJS/Browserify\n if (typeof module === \"object\" && typeof module.exports === \"object\") {\n module.exports = ctx;\n }\n }());\n}\n","/* d/auto-bind */ function _(require, module, exports) {\n var copy = require(329) /* es5-ext/object/copy */, normalizeOptions = require(339) /* es5-ext/object/normalize-options */, ensureCallable = require(344) /* es5-ext/object/valid-callable */, map = require(338) /* es5-ext/object/map */, callable = require(344) /* es5-ext/object/valid-callable */, validValue = require(346) /* es5-ext/object/valid-value */, bind = Function.prototype.bind, defineProperty = Object.defineProperty, hasOwnProperty = Object.prototype.hasOwnProperty, define;\n define = function (name, desc, options) {\n var value = validValue(desc) && callable(desc.value), dgs;\n dgs = copy(desc);\n delete dgs.writable;\n delete dgs.value;\n dgs.get = function () {\n if (!options.overwriteDefinition && hasOwnProperty.call(this, name))\n return value;\n desc.value = bind.call(value, options.resolveContext ? options.resolveContext(this) : this);\n defineProperty(this, name, desc);\n return this[name];\n };\n return dgs;\n };\n module.exports = function (props /*, options*/) {\n var options = normalizeOptions(arguments[1]);\n if (options.resolveContext != null)\n ensureCallable(options.resolveContext);\n return map(props, function (desc, name) { return define(name, desc, options); });\n };\n}\n","/* d/index */ function _(require, module, exports) {\n var assign = require(326) /* es5-ext/object/assign */, normalizeOpts = require(339) /* es5-ext/object/normalize-options */, isCallable = require(332) /* es5-ext/object/is-callable */, contains = require(347) /* es5-ext/string/#/contains */, d;\n d = module.exports = function (dscr, value /*, options*/) {\n var c, e, w, options, desc;\n if ((arguments.length < 2) || (typeof dscr !== 'string')) {\n options = value;\n value = dscr;\n dscr = null;\n }\n else {\n options = arguments[2];\n }\n if (dscr == null) {\n c = w = true;\n e = false;\n }\n else {\n c = contains.call(dscr, 'c');\n e = contains.call(dscr, 'e');\n w = contains.call(dscr, 'w');\n }\n desc = { value: value, configurable: c, enumerable: e, writable: w };\n return !options ? desc : assign(normalizeOpts(options), desc);\n };\n d.gs = function (dscr, get, set /*, options*/) {\n var c, e, options, desc;\n if (typeof dscr !== 'string') {\n options = set;\n set = get;\n get = dscr;\n dscr = null;\n }\n else {\n options = arguments[3];\n }\n if (get == null) {\n get = undefined;\n }\n else if (!isCallable(get)) {\n options = get;\n get = set = undefined;\n }\n else if (set == null) {\n set = undefined;\n }\n else if (!isCallable(set)) {\n options = set;\n set = undefined;\n }\n if (dscr == null) {\n c = true;\n e = false;\n }\n else {\n c = contains.call(dscr, 'c');\n e = contains.call(dscr, 'e');\n }\n desc = { get: get, set: set, configurable: c, enumerable: e };\n return !options ? desc : assign(normalizeOpts(options), desc);\n };\n}\n","/* es5-ext/array/#/clear */ function _(require, module, exports) {\n var value = require(346) /* ../../object/valid-value */;\n module.exports = function () {\n value(this).length = 0;\n return this;\n };\n}\n","/* es5-ext/array/#/e-index-of */ function _(require, module, exports) {\n var numberIsNaN = require(320) /* ../../number/is-nan */, toPosInt = require(324) /* ../../number/to-pos-integer */, value = require(346) /* ../../object/valid-value */, indexOf = Array.prototype.indexOf, objHasOwnProperty = Object.prototype.hasOwnProperty, abs = Math.abs, floor = Math.floor;\n module.exports = function (searchElement /*, fromIndex*/) {\n var i, length, fromIndex, val;\n if (!numberIsNaN(searchElement))\n return indexOf.apply(this, arguments);\n length = toPosInt(value(this).length);\n fromIndex = arguments[1];\n if (isNaN(fromIndex))\n fromIndex = 0;\n else if (fromIndex >= 0)\n fromIndex = floor(fromIndex);\n else\n fromIndex = toPosInt(this.length) - floor(abs(fromIndex));\n for (i = fromIndex; i < length; ++i) {\n if (objHasOwnProperty.call(this, i)) {\n val = this[i];\n if (numberIsNaN(val))\n return i; // Jslint: ignore\n }\n }\n return -1;\n };\n}\n","/* es5-ext/array/from/index */ function _(require, module, exports) {\n module.exports = require(311) /* ./is-implemented */()\n ? Array.from\n : require(312) /* ./shim */;\n}\n","/* es5-ext/array/from/is-implemented */ function _(require, module, exports) {\n module.exports = function () {\n var from = Array.from, arr, result;\n if (typeof from !== \"function\")\n return false;\n arr = [\"raz\", \"dwa\"];\n result = from(arr);\n return Boolean(result && (result !== arr) && (result[1] === \"dwa\"));\n };\n}\n","/* es5-ext/array/from/shim */ function _(require, module, exports) {\n var iteratorSymbol = require(366) /* es6-symbol */.iterator, isArguments = require(313) /* ../../function/is-arguments */, isFunction = require(314) /* ../../function/is-function */, toPosInt = require(324) /* ../../number/to-pos-integer */, callable = require(344) /* ../../object/valid-callable */, validValue = require(346) /* ../../object/valid-value */, isValue = require(334) /* ../../object/is-value */, isString = require(350) /* ../../string/is-string */, isArray = Array.isArray, call = Function.prototype.call, desc = { configurable: true, enumerable: true, writable: true, value: null }, defineProperty = Object.defineProperty;\n // eslint-disable-next-line complexity\n module.exports = function (arrayLike /*, mapFn, thisArg*/) {\n var mapFn = arguments[1], thisArg = arguments[2], Context, i, j, arr, length, code, iterator, result, getIterator, value;\n arrayLike = Object(validValue(arrayLike));\n if (isValue(mapFn))\n callable(mapFn);\n if (!this || this === Array || !isFunction(this)) {\n // Result: Plain array\n if (!mapFn) {\n if (isArguments(arrayLike)) {\n // Source: Arguments\n length = arrayLike.length;\n if (length !== 1)\n return Array.apply(null, arrayLike);\n arr = new Array(1);\n arr[0] = arrayLike[0];\n return arr;\n }\n if (isArray(arrayLike)) {\n // Source: Array\n arr = new Array(length = arrayLike.length);\n for (i = 0; i < length; ++i)\n arr[i] = arrayLike[i];\n return arr;\n }\n }\n arr = [];\n }\n else {\n // Result: Non plain array\n Context = this;\n }\n if (!isArray(arrayLike)) {\n if ((getIterator = arrayLike[iteratorSymbol]) !== undefined) {\n // Source: Iterator\n iterator = callable(getIterator).call(arrayLike);\n if (Context)\n arr = new Context();\n result = iterator.next();\n i = 0;\n while (!result.done) {\n value = mapFn ? call.call(mapFn, thisArg, result.value, i) : result.value;\n if (Context) {\n desc.value = value;\n defineProperty(arr, i, desc);\n }\n else {\n arr[i] = value;\n }\n result = iterator.next();\n ++i;\n }\n length = i;\n }\n else if (isString(arrayLike)) {\n // Source: String\n length = arrayLike.length;\n if (Context)\n arr = new Context();\n for (i = 0, j = 0; i < length; ++i) {\n value = arrayLike[i];\n if (i + 1 < length) {\n code = value.charCodeAt(0);\n // eslint-disable-next-line max-depth\n if (code >= 0xd800 && code <= 0xdbff)\n value += arrayLike[++i];\n }\n value = mapFn ? call.call(mapFn, thisArg, value, j) : value;\n if (Context) {\n desc.value = value;\n defineProperty(arr, j, desc);\n }\n else {\n arr[j] = value;\n }\n ++j;\n }\n length = j;\n }\n }\n if (length === undefined) {\n // Source: array or array-like\n length = toPosInt(arrayLike.length);\n if (Context)\n arr = new Context(length);\n for (i = 0; i < length; ++i) {\n value = mapFn ? call.call(mapFn, thisArg, arrayLike[i], i) : arrayLike[i];\n if (Context) {\n desc.value = value;\n defineProperty(arr, i, desc);\n }\n else {\n arr[i] = value;\n }\n }\n }\n if (Context) {\n desc.value = null;\n arr.length = length;\n }\n return arr;\n };\n}\n","/* es5-ext/function/is-arguments */ function _(require, module, exports) {\n var objToString = Object.prototype.toString, id = objToString.call((function () {\n return arguments;\n })());\n module.exports = function (value) {\n return objToString.call(value) === id;\n };\n}\n","/* es5-ext/function/is-function */ function _(require, module, exports) {\n var objToString = Object.prototype.toString, id = objToString.call(require(315) /* ./noop */);\n module.exports = function (value) {\n return typeof value === \"function\" && objToString.call(value) === id;\n };\n}\n","/* es5-ext/function/noop */ function _(require, module, exports) {\n // eslint-disable-next-line no-empty-function\n module.exports = function () { };\n}\n","/* es5-ext/global */ function _(require, module, exports) {\n /* eslint strict: \"off\" */\n module.exports = (function () {\n return this;\n }());\n}\n","/* es5-ext/math/sign/index */ function _(require, module, exports) {\n module.exports = require(318) /* ./is-implemented */()\n ? Math.sign\n : require(319) /* ./shim */;\n}\n","/* es5-ext/math/sign/is-implemented */ function _(require, module, exports) {\n module.exports = function () {\n var sign = Math.sign;\n if (typeof sign !== \"function\")\n return false;\n return (sign(10) === 1) && (sign(-20) === -1);\n };\n}\n","/* es5-ext/math/sign/shim */ function _(require, module, exports) {\n module.exports = function (value) {\n value = Number(value);\n if (isNaN(value) || (value === 0))\n return value;\n return value > 0 ? 1 : -1;\n };\n}\n","/* es5-ext/number/is-nan/index */ function _(require, module, exports) {\n module.exports = require(321) /* ./is-implemented */()\n ? Number.isNaN\n : require(322) /* ./shim */;\n}\n","/* es5-ext/number/is-nan/is-implemented */ function _(require, module, exports) {\n module.exports = function () {\n var numberIsNaN = Number.isNaN;\n if (typeof numberIsNaN !== \"function\")\n return false;\n return !numberIsNaN({}) && numberIsNaN(NaN) && !numberIsNaN(34);\n };\n}\n","/* es5-ext/number/is-nan/shim */ function _(require, module, exports) {\n module.exports = function (value) {\n // eslint-disable-next-line no-self-compare\n return value !== value;\n };\n}\n","/* es5-ext/number/to-integer */ function _(require, module, exports) {\n var sign = require(317) /* ../math/sign */, abs = Math.abs, floor = Math.floor;\n module.exports = function (value) {\n if (isNaN(value))\n return 0;\n value = Number(value);\n if ((value === 0) || !isFinite(value))\n return value;\n return sign(value) * floor(abs(value));\n };\n}\n","/* es5-ext/number/to-pos-integer */ function _(require, module, exports) {\n var toInteger = require(323) /* ./to-integer */, max = Math.max;\n module.exports = function (value) {\n return max(0, toInteger(value));\n };\n}\n","/* es5-ext/object/_iterate */ function _(require, module, exports) {\n var callable = require(344) /* ./valid-callable */, value = require(346) /* ./valid-value */, bind = Function.prototype.bind, call = Function.prototype.call, keys = Object.keys, objPropertyIsEnumerable = Object.prototype.propertyIsEnumerable;\n module.exports = function (method, defVal) {\n return function (obj, cb /*, thisArg, compareFn*/) {\n var list, thisArg = arguments[2], compareFn = arguments[3];\n obj = Object(value(obj));\n callable(cb);\n list = keys(obj);\n if (compareFn) {\n list.sort(typeof compareFn === \"function\" ? bind.call(compareFn, obj) : undefined);\n }\n if (typeof method !== \"function\")\n method = list[method];\n return call.call(method, list, function (key, index) {\n if (!objPropertyIsEnumerable.call(obj, key))\n return defVal;\n return call.call(cb, thisArg, obj[key], key, obj, index);\n });\n };\n };\n}\n","/* es5-ext/object/assign/index */ function _(require, module, exports) {\n module.exports = require(327) /* ./is-implemented */()\n ? Object.assign\n : require(328) /* ./shim */;\n}\n","/* es5-ext/object/assign/is-implemented */ function _(require, module, exports) {\n module.exports = function () {\n var assign = Object.assign, obj;\n if (typeof assign !== \"function\")\n return false;\n obj = { foo: \"raz\" };\n assign(obj, { bar: \"dwa\" }, { trzy: \"trzy\" });\n return (obj.foo + obj.bar + obj.trzy) === \"razdwatrzy\";\n };\n}\n","/* es5-ext/object/assign/shim */ function _(require, module, exports) {\n var keys = require(335) /* ../keys */, value = require(346) /* ../valid-value */, max = Math.max;\n module.exports = function (dest, src /*, …srcn*/) {\n var error, i, length = max(arguments.length, 2), assign;\n dest = Object(value(dest));\n assign = function (key) {\n try {\n dest[key] = src[key];\n }\n catch (e) {\n if (!error)\n error = e;\n }\n };\n for (i = 1; i < length; ++i) {\n src = arguments[i];\n keys(src).forEach(assign);\n }\n if (error !== undefined)\n throw error;\n return dest;\n };\n}\n","/* es5-ext/object/copy */ function _(require, module, exports) {\n var aFrom = require(310) /* ../array/from */, assign = require(326) /* ./assign */, value = require(346) /* ./valid-value */;\n module.exports = function (obj /*, propertyNames, options*/) {\n var copy = Object(value(obj)), propertyNames = arguments[1], options = Object(arguments[2]);\n if (copy !== obj && !propertyNames)\n return copy;\n var result = {};\n if (propertyNames) {\n aFrom(propertyNames, function (propertyName) {\n if (options.ensure || propertyName in obj)\n result[propertyName] = obj[propertyName];\n });\n }\n else {\n assign(result, obj);\n }\n return result;\n };\n}\n","/* es5-ext/object/create */ function _(require, module, exports) {\n var create = Object.create, shim;\n if (!require(342) /* ./set-prototype-of/is-implemented */()) {\n shim = require(343) /* ./set-prototype-of/shim */;\n }\n module.exports = (function () {\n var nullObject, polyProps, desc;\n if (!shim)\n return create;\n if (shim.level !== 1)\n return create;\n nullObject = {};\n polyProps = {};\n desc = {\n configurable: false,\n enumerable: false,\n writable: true,\n value: undefined\n };\n Object.getOwnPropertyNames(Object.prototype).forEach(function (name) {\n if (name === \"__proto__\") {\n polyProps[name] = {\n configurable: true,\n enumerable: false,\n writable: true,\n value: undefined\n };\n return;\n }\n polyProps[name] = desc;\n });\n Object.defineProperties(nullObject, polyProps);\n Object.defineProperty(shim, \"nullPolyfill\", {\n configurable: false,\n enumerable: false,\n writable: false,\n value: nullObject\n });\n return function (prototype, props) {\n return create(prototype === null ? nullObject : prototype, props);\n };\n }());\n}\n","/* es5-ext/object/for-each */ function _(require, module, exports) {\n module.exports = require(325) /* ./_iterate */(\"forEach\");\n}\n","/* es5-ext/object/is-callable */ function _(require, module, exports) {\n module.exports = function (obj) {\n return typeof obj === \"function\";\n };\n}\n","/* es5-ext/object/is-object */ function _(require, module, exports) {\n var isValue = require(334) /* ./is-value */;\n var map = { function: true, object: true };\n module.exports = function (value) {\n return (isValue(value) && map[typeof value]) || false;\n };\n}\n","/* es5-ext/object/is-value */ function _(require, module, exports) {\n var _undefined = require(315) /* ../function/noop */(); // Support ES3 engines\n module.exports = function (val) {\n return (val !== _undefined) && (val !== null);\n };\n}\n","/* es5-ext/object/keys/index */ function _(require, module, exports) {\n module.exports = require(336) /* ./is-implemented */()\n ? Object.keys\n : require(337) /* ./shim */;\n}\n","/* es5-ext/object/keys/is-implemented */ function _(require, module, exports) {\n module.exports = function () {\n try {\n Object.keys(\"primitive\");\n return true;\n }\n catch (e) {\n return false;\n }\n };\n}\n","/* es5-ext/object/keys/shim */ function _(require, module, exports) {\n var isValue = require(334) /* ../is-value */;\n var keys = Object.keys;\n module.exports = function (object) {\n return keys(isValue(object) ? Object(object) : object);\n };\n}\n","/* es5-ext/object/map */ function _(require, module, exports) {\n var callable = require(344) /* ./valid-callable */, forEach = require(331) /* ./for-each */, call = Function.prototype.call;\n module.exports = function (obj, cb /*, thisArg*/) {\n var result = {}, thisArg = arguments[2];\n callable(cb);\n forEach(obj, function (value, key, targetObj, index) {\n result[key] = call.call(cb, thisArg, value, key, targetObj, index);\n });\n return result;\n };\n}\n","/* es5-ext/object/normalize-options */ function _(require, module, exports) {\n var isValue = require(334) /* ./is-value */;\n var forEach = Array.prototype.forEach, create = Object.create;\n var process = function (src, obj) {\n var key;\n for (key in src)\n obj[key] = src[key];\n };\n // eslint-disable-next-line no-unused-vars\n module.exports = function (opts1 /*, …options*/) {\n var result = create(null);\n forEach.call(arguments, function (options) {\n if (!isValue(options))\n return;\n process(Object(options), result);\n });\n return result;\n };\n}\n","/* es5-ext/object/primitive-set */ function _(require, module, exports) {\n var forEach = Array.prototype.forEach, create = Object.create;\n // eslint-disable-next-line no-unused-vars\n module.exports = function (arg /*, …args*/) {\n var set = create(null);\n forEach.call(arguments, function (name) {\n set[name] = true;\n });\n return set;\n };\n}\n","/* es5-ext/object/set-prototype-of/index */ function _(require, module, exports) {\n module.exports = require(342) /* ./is-implemented */()\n ? Object.setPrototypeOf\n : require(343) /* ./shim */;\n}\n","/* es5-ext/object/set-prototype-of/is-implemented */ function _(require, module, exports) {\n var create = Object.create, getPrototypeOf = Object.getPrototypeOf, plainObject = {};\n module.exports = function ( /* CustomCreate*/) {\n var setPrototypeOf = Object.setPrototypeOf, customCreate = arguments[0] || create;\n if (typeof setPrototypeOf !== \"function\")\n return false;\n return getPrototypeOf(setPrototypeOf(customCreate(null), plainObject)) === plainObject;\n };\n}\n","/* es5-ext/object/set-prototype-of/shim */ function _(require, module, exports) {\n var isObject = require(333) /* ../is-object */, value = require(346) /* ../valid-value */, objIsPrototypeOf = Object.prototype.isPrototypeOf, defineProperty = Object.defineProperty, nullDesc = {\n configurable: true,\n enumerable: false,\n writable: true,\n value: undefined\n }, validate;\n validate = function (obj, prototype) {\n value(obj);\n if (prototype === null || isObject(prototype))\n return obj;\n throw new TypeError(\"Prototype must be null or an object\");\n };\n module.exports = (function (status) {\n var fn, set;\n if (!status)\n return null;\n if (status.level === 2) {\n if (status.set) {\n set = status.set;\n fn = function (obj, prototype) {\n set.call(validate(obj, prototype), prototype);\n return obj;\n };\n }\n else {\n fn = function (obj, prototype) {\n validate(obj, prototype).__proto__ = prototype;\n return obj;\n };\n }\n }\n else {\n fn = function self(obj, prototype) {\n var isNullBase;\n validate(obj, prototype);\n isNullBase = objIsPrototypeOf.call(self.nullPolyfill, obj);\n if (isNullBase)\n delete self.nullPolyfill.__proto__;\n if (prototype === null)\n prototype = self.nullPolyfill;\n obj.__proto__ = prototype;\n if (isNullBase)\n defineProperty(self.nullPolyfill, \"__proto__\", nullDesc);\n return obj;\n };\n }\n return Object.defineProperty(fn, \"level\", {\n configurable: false,\n enumerable: false,\n writable: false,\n value: status.level\n });\n }((function () {\n var tmpObj1 = Object.create(null), tmpObj2 = {}, set, desc = Object.getOwnPropertyDescriptor(Object.prototype, \"__proto__\");\n if (desc) {\n try {\n set = desc.set; // Opera crashes at this point\n set.call(tmpObj1, tmpObj2);\n }\n catch (ignore) { }\n if (Object.getPrototypeOf(tmpObj1) === tmpObj2)\n return { set: set, level: 2 };\n }\n tmpObj1.__proto__ = tmpObj2;\n if (Object.getPrototypeOf(tmpObj1) === tmpObj2)\n return { level: 2 };\n tmpObj1 = {};\n tmpObj1.__proto__ = tmpObj2;\n if (Object.getPrototypeOf(tmpObj1) === tmpObj2)\n return { level: 1 };\n return false;\n })()));\n require(330) /* ../create */;\n}\n","/* es5-ext/object/valid-callable */ function _(require, module, exports) {\n module.exports = function (fn) {\n if (typeof fn !== \"function\")\n throw new TypeError(fn + \" is not a function\");\n return fn;\n };\n}\n","/* es5-ext/object/valid-object */ function _(require, module, exports) {\n var isObject = require(333) /* ./is-object */;\n module.exports = function (value) {\n if (!isObject(value))\n throw new TypeError(value + \" is not an Object\");\n return value;\n };\n}\n","/* es5-ext/object/valid-value */ function _(require, module, exports) {\n var isValue = require(334) /* ./is-value */;\n module.exports = function (value) {\n if (!isValue(value))\n throw new TypeError(\"Cannot use null or undefined\");\n return value;\n };\n}\n","/* es5-ext/string/#/contains/index */ function _(require, module, exports) {\n module.exports = require(348) /* ./is-implemented */()\n ? String.prototype.contains\n : require(349) /* ./shim */;\n}\n","/* es5-ext/string/#/contains/is-implemented */ function _(require, module, exports) {\n var str = \"razdwatrzy\";\n module.exports = function () {\n if (typeof str.contains !== \"function\")\n return false;\n return (str.contains(\"dwa\") === true) && (str.contains(\"foo\") === false);\n };\n}\n","/* es5-ext/string/#/contains/shim */ function _(require, module, exports) {\n var indexOf = String.prototype.indexOf;\n module.exports = function (searchString /*, position*/) {\n return indexOf.call(this, searchString, arguments[1]) > -1;\n };\n}\n","/* es5-ext/string/is-string */ function _(require, module, exports) {\n var objToString = Object.prototype.toString, id = objToString.call(\"\");\n module.exports = function (value) {\n return (typeof value === \"string\" ||\n (value &&\n typeof value === \"object\" &&\n (value instanceof String || objToString.call(value) === id)) ||\n false);\n };\n}\n","/* es5-ext/string/random-uniq */ function _(require, module, exports) {\n var generated = Object.create(null), random = Math.random;\n module.exports = function () {\n var str;\n do {\n str = random()\n .toString(36)\n .slice(2);\n } while (generated[str]);\n return str;\n };\n}\n","/* es6-iterator/array */ function _(require, module, exports) {\n var setPrototypeOf = require(341) /* es5-ext/object/set-prototype-of */, contains = require(347) /* es5-ext/string/#/contains */, d = require(307) /* d */, Symbol = require(366) /* es6-symbol */, Iterator = require(355) /* ./ */;\n var defineProperty = Object.defineProperty, ArrayIterator;\n ArrayIterator = module.exports = function (arr, kind) {\n if (!(this instanceof ArrayIterator))\n throw new TypeError(\"Constructor requires 'new'\");\n Iterator.call(this, arr);\n if (!kind)\n kind = \"value\";\n else if (contains.call(kind, \"key+value\"))\n kind = \"key+value\";\n else if (contains.call(kind, \"key\"))\n kind = \"key\";\n else\n kind = \"value\";\n defineProperty(this, \"__kind__\", d(\"\", kind));\n };\n if (setPrototypeOf)\n setPrototypeOf(ArrayIterator, Iterator);\n // Internal %ArrayIteratorPrototype% doesn't expose its constructor\n delete ArrayIterator.prototype.constructor;\n ArrayIterator.prototype = Object.create(Iterator.prototype, {\n _resolve: d(function (i) {\n if (this.__kind__ === \"value\")\n return this.__list__[i];\n if (this.__kind__ === \"key+value\")\n return [i, this.__list__[i]];\n return i;\n })\n });\n defineProperty(ArrayIterator.prototype, Symbol.toStringTag, d(\"c\", \"Array Iterator\"));\n}\n","/* es6-iterator/for-of */ function _(require, module, exports) {\n var isArguments = require(313) /* es5-ext/function/is-arguments */, callable = require(344) /* es5-ext/object/valid-callable */, isString = require(350) /* es5-ext/string/is-string */, get = require(354) /* ./get */;\n var isArray = Array.isArray, call = Function.prototype.call, some = Array.prototype.some;\n module.exports = function (iterable, cb /*, thisArg*/) {\n var mode, thisArg = arguments[2], result, doBreak, broken, i, length, char, code;\n if (isArray(iterable) || isArguments(iterable))\n mode = \"array\";\n else if (isString(iterable))\n mode = \"string\";\n else\n iterable = get(iterable);\n callable(cb);\n doBreak = function () {\n broken = true;\n };\n if (mode === \"array\") {\n some.call(iterable, function (value) {\n call.call(cb, thisArg, value, doBreak);\n return broken;\n });\n return;\n }\n if (mode === \"string\") {\n length = iterable.length;\n for (i = 0; i < length; ++i) {\n char = iterable[i];\n if (i + 1 < length) {\n code = char.charCodeAt(0);\n if (code >= 0xd800 && code <= 0xdbff)\n char += iterable[++i];\n }\n call.call(cb, thisArg, char, doBreak);\n if (broken)\n break;\n }\n return;\n }\n result = iterable.next();\n while (!result.done) {\n call.call(cb, thisArg, result.value, doBreak);\n if (broken)\n return;\n result = iterable.next();\n }\n };\n}\n","/* es6-iterator/get */ function _(require, module, exports) {\n var isArguments = require(313) /* es5-ext/function/is-arguments */, isString = require(350) /* es5-ext/string/is-string */, ArrayIterator = require(352) /* ./array */, StringIterator = require(357) /* ./string */, iterable = require(358) /* ./valid-iterable */, iteratorSymbol = require(366) /* es6-symbol */.iterator;\n module.exports = function (obj) {\n if (typeof iterable(obj)[iteratorSymbol] === \"function\")\n return obj[iteratorSymbol]();\n if (isArguments(obj))\n return new ArrayIterator(obj);\n if (isString(obj))\n return new StringIterator(obj);\n return new ArrayIterator(obj);\n };\n}\n","/* es6-iterator/index */ function _(require, module, exports) {\n var clear = require(308) /* es5-ext/array/#/clear */, assign = require(326) /* es5-ext/object/assign */, callable = require(344) /* es5-ext/object/valid-callable */, value = require(346) /* es5-ext/object/valid-value */, d = require(307) /* d */, autoBind = require(306) /* d/auto-bind */, Symbol = require(366) /* es6-symbol */;\n var defineProperty = Object.defineProperty, defineProperties = Object.defineProperties, Iterator;\n module.exports = Iterator = function (list, context) {\n if (!(this instanceof Iterator))\n throw new TypeError(\"Constructor requires 'new'\");\n defineProperties(this, {\n __list__: d(\"w\", value(list)),\n __context__: d(\"w\", context),\n __nextIndex__: d(\"w\", 0)\n });\n if (!context)\n return;\n callable(context.on);\n context.on(\"_add\", this._onAdd);\n context.on(\"_delete\", this._onDelete);\n context.on(\"_clear\", this._onClear);\n };\n // Internal %IteratorPrototype% doesn't expose its constructor\n delete Iterator.prototype.constructor;\n defineProperties(Iterator.prototype, assign({\n _next: d(function () {\n var i;\n if (!this.__list__)\n return undefined;\n if (this.__redo__) {\n i = this.__redo__.shift();\n if (i !== undefined)\n return i;\n }\n if (this.__nextIndex__ < this.__list__.length)\n return this.__nextIndex__++;\n this._unBind();\n return undefined;\n }),\n next: d(function () {\n return this._createResult(this._next());\n }),\n _createResult: d(function (i) {\n if (i === undefined)\n return { done: true, value: undefined };\n return { done: false, value: this._resolve(i) };\n }),\n _resolve: d(function (i) {\n return this.__list__[i];\n }),\n _unBind: d(function () {\n this.__list__ = null;\n delete this.__redo__;\n if (!this.__context__)\n return;\n this.__context__.off(\"_add\", this._onAdd);\n this.__context__.off(\"_delete\", this._onDelete);\n this.__context__.off(\"_clear\", this._onClear);\n this.__context__ = null;\n }),\n toString: d(function () {\n return \"[object \" + (this[Symbol.toStringTag] || \"Object\") + \"]\";\n })\n }, autoBind({\n _onAdd: d(function (index) {\n if (index >= this.__nextIndex__)\n return;\n ++this.__nextIndex__;\n if (!this.__redo__) {\n defineProperty(this, \"__redo__\", d(\"c\", [index]));\n return;\n }\n this.__redo__.forEach(function (redo, i) {\n if (redo >= index)\n this.__redo__[i] = ++redo;\n }, this);\n this.__redo__.push(index);\n }),\n _onDelete: d(function (index) {\n var i;\n if (index >= this.__nextIndex__)\n return;\n --this.__nextIndex__;\n if (!this.__redo__)\n return;\n i = this.__redo__.indexOf(index);\n if (i !== -1)\n this.__redo__.splice(i, 1);\n this.__redo__.forEach(function (redo, j) {\n if (redo > index)\n this.__redo__[j] = --redo;\n }, this);\n }),\n _onClear: d(function () {\n if (this.__redo__)\n clear.call(this.__redo__);\n this.__nextIndex__ = 0;\n })\n })));\n defineProperty(Iterator.prototype, Symbol.iterator, d(function () {\n return this;\n }));\n}\n","/* es6-iterator/is-iterable */ function _(require, module, exports) {\n var isArguments = require(313) /* es5-ext/function/is-arguments */, isValue = require(334) /* es5-ext/object/is-value */, isString = require(350) /* es5-ext/string/is-string */;\n var iteratorSymbol = require(366) /* es6-symbol */.iterator, isArray = Array.isArray;\n module.exports = function (value) {\n if (!isValue(value))\n return false;\n if (isArray(value))\n return true;\n if (isString(value))\n return true;\n if (isArguments(value))\n return true;\n return typeof value[iteratorSymbol] === \"function\";\n };\n}\n","/* es6-iterator/string */ function _(require, module, exports) {\n var setPrototypeOf = require(341) /* es5-ext/object/set-prototype-of */, d = require(307) /* d */, Symbol = require(366) /* es6-symbol */, Iterator = require(355) /* ./ */;\n var defineProperty = Object.defineProperty, StringIterator;\n StringIterator = module.exports = function (str) {\n if (!(this instanceof StringIterator))\n throw new TypeError(\"Constructor requires 'new'\");\n str = String(str);\n Iterator.call(this, str);\n defineProperty(this, \"__length__\", d(\"\", str.length));\n };\n if (setPrototypeOf)\n setPrototypeOf(StringIterator, Iterator);\n // Internal %ArrayIteratorPrototype% doesn't expose its constructor\n delete StringIterator.prototype.constructor;\n StringIterator.prototype = Object.create(Iterator.prototype, {\n _next: d(function () {\n if (!this.__list__)\n return undefined;\n if (this.__nextIndex__ < this.__length__)\n return this.__nextIndex__++;\n this._unBind();\n return undefined;\n }),\n _resolve: d(function (i) {\n var char = this.__list__[i], code;\n if (this.__nextIndex__ === this.__length__)\n return char;\n code = char.charCodeAt(0);\n if (code >= 0xd800 && code <= 0xdbff)\n return char + this.__list__[this.__nextIndex__++];\n return char;\n })\n });\n defineProperty(StringIterator.prototype, Symbol.toStringTag, d(\"c\", \"String Iterator\"));\n}\n","/* es6-iterator/valid-iterable */ function _(require, module, exports) {\n var isIterable = require(356) /* ./is-iterable */;\n module.exports = function (value) {\n if (!isIterable(value))\n throw new TypeError(value + \" is not iterable\");\n return value;\n };\n}\n","/* es6-map/implement */ function _(require, module, exports) {\n if (!require(360) /* ./is-implemented */()) {\n Object.defineProperty(require(316) /* es5-ext/global */, 'Map', { value: require(364) /* ./polyfill */, configurable: true, enumerable: false,\n writable: true });\n }\n}\n","/* es6-map/is-implemented */ function _(require, module, exports) {\n module.exports = function () {\n var map, iterator, result;\n if (typeof Map !== 'function')\n return false;\n try {\n // WebKit doesn't support arguments and crashes\n map = new Map([['raz', 'one'], ['dwa', 'two'], ['trzy', 'three']]);\n }\n catch (e) {\n return false;\n }\n if (String(map) !== '[object Map]')\n return false;\n if (map.size !== 3)\n return false;\n if (typeof map.clear !== 'function')\n return false;\n if (typeof map.delete !== 'function')\n return false;\n if (typeof map.entries !== 'function')\n return false;\n if (typeof map.forEach !== 'function')\n return false;\n if (typeof map.get !== 'function')\n return false;\n if (typeof map.has !== 'function')\n return false;\n if (typeof map.keys !== 'function')\n return false;\n if (typeof map.set !== 'function')\n return false;\n if (typeof map.values !== 'function')\n return false;\n iterator = map.entries();\n result = iterator.next();\n if (result.done !== false)\n return false;\n if (!result.value)\n return false;\n if (result.value[0] !== 'raz')\n return false;\n if (result.value[1] !== 'one')\n return false;\n return true;\n };\n}\n","/* es6-map/is-native-implemented */ function _(require, module, exports) {\n module.exports = (function () {\n if (typeof Map === 'undefined')\n return false;\n return (Object.prototype.toString.call(new Map()) === '[object Map]');\n }());\n}\n","/* es6-map/lib/iterator-kinds */ function _(require, module, exports) {\n module.exports = require(340) /* es5-ext/object/primitive-set */('key', 'value', 'key+value');\n}\n","/* es6-map/lib/iterator */ function _(require, module, exports) {\n var setPrototypeOf = require(341) /* es5-ext/object/set-prototype-of */, d = require(307) /* d */, Iterator = require(355) /* es6-iterator */, toStringTagSymbol = require(366) /* es6-symbol */.toStringTag, kinds = require(362) /* ./iterator-kinds */, defineProperties = Object.defineProperties, unBind = Iterator.prototype._unBind, MapIterator;\n MapIterator = module.exports = function (map, kind) {\n if (!(this instanceof MapIterator))\n return new MapIterator(map, kind);\n Iterator.call(this, map.__mapKeysData__, map);\n if (!kind || !kinds[kind])\n kind = 'key+value';\n defineProperties(this, {\n __kind__: d('', kind),\n __values__: d('w', map.__mapValuesData__)\n });\n };\n if (setPrototypeOf)\n setPrototypeOf(MapIterator, Iterator);\n MapIterator.prototype = Object.create(Iterator.prototype, {\n constructor: d(MapIterator),\n _resolve: d(function (i) {\n if (this.__kind__ === 'value')\n return this.__values__[i];\n if (this.__kind__ === 'key')\n return this.__list__[i];\n return [this.__list__[i], this.__values__[i]];\n }),\n _unBind: d(function () {\n this.__values__ = null;\n unBind.call(this);\n }),\n toString: d(function () { return '[object Map Iterator]'; })\n });\n Object.defineProperty(MapIterator.prototype, toStringTagSymbol, d('c', 'Map Iterator'));\n}\n","/* es6-map/polyfill */ function _(require, module, exports) {\n var clear = require(308) /* es5-ext/array/#/clear */, eIndexOf = require(309) /* es5-ext/array/#/e-index-of */, setPrototypeOf = require(341) /* es5-ext/object/set-prototype-of */, callable = require(344) /* es5-ext/object/valid-callable */, validValue = require(346) /* es5-ext/object/valid-value */, d = require(307) /* d */, ee = require(375) /* event-emitter */, Symbol = require(366) /* es6-symbol */, iterator = require(358) /* es6-iterator/valid-iterable */, forOf = require(353) /* es6-iterator/for-of */, Iterator = require(363) /* ./lib/iterator */, isNative = require(361) /* ./is-native-implemented */, call = Function.prototype.call, defineProperties = Object.defineProperties, getPrototypeOf = Object.getPrototypeOf, MapPoly;\n module.exports = MapPoly = function ( /*iterable*/) {\n var iterable = arguments[0], keys, values, self;\n if (!(this instanceof MapPoly))\n throw new TypeError('Constructor requires \\'new\\'');\n if (isNative && setPrototypeOf && (Map !== MapPoly)) {\n self = setPrototypeOf(new Map(), getPrototypeOf(this));\n }\n else {\n self = this;\n }\n if (iterable != null)\n iterator(iterable);\n defineProperties(self, {\n __mapKeysData__: d('c', keys = []),\n __mapValuesData__: d('c', values = [])\n });\n if (!iterable)\n return self;\n forOf(iterable, function (value) {\n var key = validValue(value)[0];\n value = value[1];\n if (eIndexOf.call(keys, key) !== -1)\n return;\n keys.push(key);\n values.push(value);\n }, self);\n return self;\n };\n if (isNative) {\n if (setPrototypeOf)\n setPrototypeOf(MapPoly, Map);\n MapPoly.prototype = Object.create(Map.prototype, {\n constructor: d(MapPoly)\n });\n }\n ee(defineProperties(MapPoly.prototype, {\n clear: d(function () {\n if (!this.__mapKeysData__.length)\n return;\n clear.call(this.__mapKeysData__);\n clear.call(this.__mapValuesData__);\n this.emit('_clear');\n }),\n delete: d(function (key) {\n var index = eIndexOf.call(this.__mapKeysData__, key);\n if (index === -1)\n return false;\n this.__mapKeysData__.splice(index, 1);\n this.__mapValuesData__.splice(index, 1);\n this.emit('_delete', index, key);\n return true;\n }),\n entries: d(function () { return new Iterator(this, 'key+value'); }),\n forEach: d(function (cb /*, thisArg*/) {\n var thisArg = arguments[1], iterator, result;\n callable(cb);\n iterator = this.entries();\n result = iterator._next();\n while (result !== undefined) {\n call.call(cb, thisArg, this.__mapValuesData__[result], this.__mapKeysData__[result], this);\n result = iterator._next();\n }\n }),\n get: d(function (key) {\n var index = eIndexOf.call(this.__mapKeysData__, key);\n if (index === -1)\n return;\n return this.__mapValuesData__[index];\n }),\n has: d(function (key) {\n return (eIndexOf.call(this.__mapKeysData__, key) !== -1);\n }),\n keys: d(function () { return new Iterator(this, 'key'); }),\n set: d(function (key, value) {\n var index = eIndexOf.call(this.__mapKeysData__, key), emit;\n if (index === -1) {\n index = this.__mapKeysData__.push(key) - 1;\n emit = true;\n }\n this.__mapValuesData__[index] = value;\n if (emit)\n this.emit('_add', index, key);\n return this;\n }),\n size: d.gs(function () { return this.__mapKeysData__.length; }),\n values: d(function () { return new Iterator(this, 'value'); }),\n toString: d(function () { return '[object Map]'; })\n }));\n Object.defineProperty(MapPoly.prototype, Symbol.iterator, d(function () {\n return this.entries();\n }));\n Object.defineProperty(MapPoly.prototype, Symbol.toStringTag, d('c', 'Map'));\n}\n","/* es6-promise/dist/es6-promise */ function _(require, module, exports) {\n /*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.6+9869a4bc\n */\n (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global.ES6Promise = factory());\n }(this, (function () {\n 'use strict';\n function objectOrFunction(x) {\n var type = typeof x;\n return x !== null && (type === 'object' || type === 'function');\n }\n function isFunction(x) {\n return typeof x === 'function';\n }\n var _isArray = void 0;\n if (Array.isArray) {\n _isArray = Array.isArray;\n }\n else {\n _isArray = function (x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n }\n var isArray = _isArray;\n var len = 0;\n var vertxNext = void 0;\n var customSchedulerFn = void 0;\n var asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n }\n else {\n scheduleFlush();\n }\n }\n };\n function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n }\n function setAsap(asapFn) {\n asap = asapFn;\n }\n var browserWindow = typeof window !== 'undefined' ? window : undefined;\n var browserGlobal = browserWindow || {};\n var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\n var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]';\n // test for web worker but not in IE10\n var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined';\n // node\n function useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n }\n // vertx\n function useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n return useSetTimeout();\n }\n function useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, { characterData: true });\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n }\n // web worker\n function useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n }\n function useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n }\n var queue = new Array(1000);\n function flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n callback(arg);\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n len = 0;\n }\n function attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n }\n catch (e) {\n return useSetTimeout();\n }\n }\n var scheduleFlush = void 0;\n // Decide what async method to use to triggering processing of queued callbacks:\n if (isNode) {\n scheduleFlush = useNextTick();\n }\n else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n }\n else if (isWorker) {\n scheduleFlush = useMessageChannel();\n }\n else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n }\n else {\n scheduleFlush = useSetTimeout();\n }\n function then(onFulfillment, onRejection) {\n var parent = this;\n var child = new this.constructor(noop);\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n var _state = parent._state;\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n }\n else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n return child;\n }\n /**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n \n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n \n promise.then(function(value){\n // value === 1\n });\n ```\n \n Instead of writing the above, your code now simply becomes the following:\n \n ```javascript\n let promise = Promise.resolve(1);\n \n promise.then(function(value){\n // value === 1\n });\n ```\n \n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n */\n function resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n if (object && typeof object === 'object' && object.constructor === Constructor) {\n return object;\n }\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n }\n var PROMISE_ID = Math.random().toString(36).substring(2);\n function noop() { }\n var PENDING = void 0;\n var FULFILLED = 1;\n var REJECTED = 2;\n var TRY_CATCH_ERROR = { error: null };\n function selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n }\n function cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n }\n function getThen(promise) {\n try {\n return promise.then;\n }\n catch (error) {\n TRY_CATCH_ERROR.error = error;\n return TRY_CATCH_ERROR;\n }\n }\n function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n }\n catch (e) {\n return e;\n }\n }\n function handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n sealed = true;\n if (thenable !== value) {\n resolve(promise, value);\n }\n else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n sealed = true;\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n }\n function handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n }\n else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n }\n else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n }\n function handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n }\n else {\n if (then$$1 === TRY_CATCH_ERROR) {\n reject(promise, TRY_CATCH_ERROR.error);\n TRY_CATCH_ERROR.error = null;\n }\n else if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n }\n else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n }\n else {\n fulfill(promise, maybeThenable);\n }\n }\n }\n function resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n }\n else if (objectOrFunction(value)) {\n handleMaybeThenable(promise, value, getThen(value));\n }\n else {\n fulfill(promise, value);\n }\n }\n function publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n publish(promise);\n }\n function fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._result = value;\n promise._state = FULFILLED;\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n }\n function reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n promise._state = REJECTED;\n promise._result = reason;\n asap(publishRejection, promise);\n }\n function subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n parent._onerror = null;\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n }\n function publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n if (subscribers.length === 0) {\n return;\n }\n var child = void 0, callback = void 0, detail = promise._result;\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n if (child) {\n invokeCallback(settled, child, callback, detail);\n }\n else {\n callback(detail);\n }\n }\n promise._subscribers.length = 0;\n }\n function tryCatch(callback, detail) {\n try {\n return callback(detail);\n }\n catch (e) {\n TRY_CATCH_ERROR.error = e;\n return TRY_CATCH_ERROR;\n }\n }\n function invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback), value = void 0, error = void 0, succeeded = void 0, failed = void 0;\n if (hasCallback) {\n value = tryCatch(callback, detail);\n if (value === TRY_CATCH_ERROR) {\n failed = true;\n error = value.error;\n value.error = null;\n }\n else {\n succeeded = true;\n }\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n }\n else {\n value = detail;\n succeeded = true;\n }\n if (promise._state !== PENDING) {\n // noop\n }\n else if (hasCallback && succeeded) {\n resolve(promise, value);\n }\n else if (failed) {\n reject(promise, error);\n }\n else if (settled === FULFILLED) {\n fulfill(promise, value);\n }\n else if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n function initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n }\n catch (e) {\n reject(promise, e);\n }\n }\n var id = 0;\n function nextId() {\n return id++;\n }\n function makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n }\n function validationError() {\n return new Error('Array Methods must be provided an Array');\n }\n var Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n this._result = new Array(this.length);\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n }\n else {\n this.length = this.length || 0;\n this._enumerate(input);\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n }\n else {\n reject(this.promise, validationError());\n }\n }\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n if (resolve$$1 === resolve$1) {\n var _then = getThen(entry);\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n }\n else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n }\n else if (c === Promise$1) {\n var promise = new c(noop);\n handleMaybeThenable(promise, entry, _then);\n this._willSettleAt(promise, i);\n }\n else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n }\n else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n if (promise._state === PENDING) {\n this._remaining--;\n if (state === REJECTED) {\n reject(promise, value);\n }\n else {\n this._result[i] = value;\n }\n }\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n return Enumerator;\n }();\n /**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n \n Example:\n \n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n \n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n \n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n \n Example:\n \n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n \n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n \n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n */\n function all(entries) {\n return new Enumerator(this, entries).promise;\n }\n /**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n \n Example:\n \n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n \n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n \n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n \n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n \n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n \n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n \n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n \n An example real-world use case is implementing timeouts:\n \n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n \n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n */\n function race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n }\n else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n }\n /**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n \n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n \n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n \n Instead of writing the above, your code now simply becomes the following:\n \n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n \n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n \n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n */\n function reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n }\n function needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n }\n function needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n }\n /**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n \n Terminology\n -----------\n \n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n \n A promise can be in one of three states: pending, fulfilled, or rejected.\n \n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n \n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n \n \n Basic Usage:\n ------------\n \n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n \n // on failure\n reject(reason);\n });\n \n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n \n Advanced Usage:\n ---------------\n \n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n \n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n \n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n \n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n \n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n \n Unlike callbacks, promises are great composable primitives.\n \n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n \n return values;\n });\n ```\n \n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n */\n var Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n return promise.then(callback, callback);\n };\n return Promise;\n }();\n Promise$1.prototype.then = then;\n Promise$1.all = all;\n Promise$1.race = race;\n Promise$1.resolve = resolve$1;\n Promise$1.reject = reject$1;\n Promise$1._setScheduler = setScheduler;\n Promise$1._setAsap = setAsap;\n Promise$1._asap = asap;\n /*global self*/\n function polyfill() {\n var local = void 0;\n if (typeof global !== 'undefined') {\n local = global;\n }\n else if (typeof self !== 'undefined') {\n local = self;\n }\n else {\n try {\n local = Function('return this')();\n }\n catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n var P = local.Promise;\n if (P) {\n var promiseToString = null;\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n }\n catch (e) {\n // silently ignored\n }\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n local.Promise = Promise$1;\n }\n // Strange compat..\n Promise$1.polyfill = polyfill;\n Promise$1.Promise = Promise$1;\n return Promise$1;\n })));\n}\n","/* es6-symbol/index */ function _(require, module, exports) {\n module.exports = require(367) /* ./is-implemented */() ? Symbol : require(369) /* ./polyfill */;\n}\n","/* es6-symbol/is-implemented */ function _(require, module, exports) {\n var validTypes = { object: true, symbol: true };\n module.exports = function () {\n var symbol;\n if (typeof Symbol !== 'function')\n return false;\n symbol = Symbol('test symbol');\n try {\n String(symbol);\n }\n catch (e) {\n return false;\n }\n // Return 'true' also for polyfills\n if (!validTypes[typeof Symbol.iterator])\n return false;\n if (!validTypes[typeof Symbol.toPrimitive])\n return false;\n if (!validTypes[typeof Symbol.toStringTag])\n return false;\n return true;\n };\n}\n","/* es6-symbol/is-symbol */ function _(require, module, exports) {\n module.exports = function (x) {\n if (!x)\n return false;\n if (typeof x === 'symbol')\n return true;\n if (!x.constructor)\n return false;\n if (x.constructor.name !== 'Symbol')\n return false;\n return (x[x.constructor.toStringTag] === 'Symbol');\n };\n}\n","/* es6-symbol/polyfill */ function _(require, module, exports) {\n var d = require(307) /* d */, validateSymbol = require(370) /* ./validate-symbol */, create = Object.create, defineProperties = Object.defineProperties, defineProperty = Object.defineProperty, objPrototype = Object.prototype, NativeSymbol, SymbolPolyfill, HiddenSymbol, globalSymbols = create(null), isNativeSafe;\n if (typeof Symbol === 'function') {\n NativeSymbol = Symbol;\n try {\n String(NativeSymbol());\n isNativeSafe = true;\n }\n catch (ignore) { }\n }\n var generateName = (function () {\n var created = create(null);\n return function (desc) {\n var postfix = 0, name, ie11BugWorkaround;\n while (created[desc + (postfix || '')])\n ++postfix;\n desc += (postfix || '');\n created[desc] = true;\n name = '@@' + desc;\n defineProperty(objPrototype, name, d.gs(null, function (value) {\n // For IE11 issue see:\n // https://connect.microsoft.com/IE/feedbackdetail/view/1928508/\n // ie11-broken-getters-on-dom-objects\n // https://github.com/medikoo/es6-symbol/issues/12\n if (ie11BugWorkaround)\n return;\n ie11BugWorkaround = true;\n defineProperty(this, name, d(value));\n ie11BugWorkaround = false;\n }));\n return name;\n };\n }());\n // Internal constructor (not one exposed) for creating Symbol instances.\n // This one is used to ensure that `someSymbol instanceof Symbol` always return false\n HiddenSymbol = function Symbol(description) {\n if (this instanceof HiddenSymbol)\n throw new TypeError('Symbol is not a constructor');\n return SymbolPolyfill(description);\n };\n // Exposed `Symbol` constructor\n // (returns instances of HiddenSymbol)\n module.exports = SymbolPolyfill = function Symbol(description) {\n var symbol;\n if (this instanceof Symbol)\n throw new TypeError('Symbol is not a constructor');\n if (isNativeSafe)\n return NativeSymbol(description);\n symbol = create(HiddenSymbol.prototype);\n description = (description === undefined ? '' : String(description));\n return defineProperties(symbol, {\n __description__: d('', description),\n __name__: d('', generateName(description))\n });\n };\n defineProperties(SymbolPolyfill, {\n for: d(function (key) {\n if (globalSymbols[key])\n return globalSymbols[key];\n return (globalSymbols[key] = SymbolPolyfill(String(key)));\n }),\n keyFor: d(function (s) {\n var key;\n validateSymbol(s);\n for (key in globalSymbols)\n if (globalSymbols[key] === s)\n return key;\n }),\n // To ensure proper interoperability with other native functions (e.g. Array.from)\n // fallback to eventual native implementation of given symbol\n hasInstance: d('', (NativeSymbol && NativeSymbol.hasInstance) || SymbolPolyfill('hasInstance')),\n isConcatSpreadable: d('', (NativeSymbol && NativeSymbol.isConcatSpreadable) ||\n SymbolPolyfill('isConcatSpreadable')),\n iterator: d('', (NativeSymbol && NativeSymbol.iterator) || SymbolPolyfill('iterator')),\n match: d('', (NativeSymbol && NativeSymbol.match) || SymbolPolyfill('match')),\n replace: d('', (NativeSymbol && NativeSymbol.replace) || SymbolPolyfill('replace')),\n search: d('', (NativeSymbol && NativeSymbol.search) || SymbolPolyfill('search')),\n species: d('', (NativeSymbol && NativeSymbol.species) || SymbolPolyfill('species')),\n split: d('', (NativeSymbol && NativeSymbol.split) || SymbolPolyfill('split')),\n toPrimitive: d('', (NativeSymbol && NativeSymbol.toPrimitive) || SymbolPolyfill('toPrimitive')),\n toStringTag: d('', (NativeSymbol && NativeSymbol.toStringTag) || SymbolPolyfill('toStringTag')),\n unscopables: d('', (NativeSymbol && NativeSymbol.unscopables) || SymbolPolyfill('unscopables'))\n });\n // Internal tweaks for real symbol producer\n defineProperties(HiddenSymbol.prototype, {\n constructor: d(SymbolPolyfill),\n toString: d('', function () { return this.__name__; })\n });\n // Proper implementation of methods exposed on Symbol.prototype\n // They won't be accessible on produced symbol instances as they derive from HiddenSymbol.prototype\n defineProperties(SymbolPolyfill.prototype, {\n toString: d(function () { return 'Symbol (' + validateSymbol(this).__description__ + ')'; }),\n valueOf: d(function () { return validateSymbol(this); })\n });\n defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toPrimitive, d('', function () {\n var symbol = validateSymbol(this);\n if (typeof symbol === 'symbol')\n return symbol;\n return symbol.toString();\n }));\n defineProperty(SymbolPolyfill.prototype, SymbolPolyfill.toStringTag, d('c', 'Symbol'));\n // Proper implementaton of toPrimitive and toStringTag for returned symbol instances\n defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toStringTag, d('c', SymbolPolyfill.prototype[SymbolPolyfill.toStringTag]));\n // Note: It's important to define `toPrimitive` as last one, as some implementations\n // implement `toPrimitive` natively without implementing `toStringTag` (or other specified symbols)\n // And that may invoke error in definition flow:\n // See: https://github.com/medikoo/es6-symbol/issues/13#issuecomment-164146149\n defineProperty(HiddenSymbol.prototype, SymbolPolyfill.toPrimitive, d('c', SymbolPolyfill.prototype[SymbolPolyfill.toPrimitive]));\n}\n","/* es6-symbol/validate-symbol */ function _(require, module, exports) {\n var isSymbol = require(368) /* ./is-symbol */;\n module.exports = function (value) {\n if (!isSymbol(value))\n throw new TypeError(value + \" is not a symbol\");\n return value;\n };\n}\n","/* es6-weak-map/implement */ function _(require, module, exports) {\n if (!require(372) /* ./is-implemented */()) {\n Object.defineProperty(require(316) /* es5-ext/global */, 'WeakMap', { value: require(374) /* ./polyfill */, configurable: true, enumerable: false,\n writable: true });\n }\n}\n","/* es6-weak-map/is-implemented */ function _(require, module, exports) {\n module.exports = function () {\n var weakMap, x;\n if (typeof WeakMap !== 'function')\n return false;\n try {\n // WebKit doesn't support arguments and crashes\n weakMap = new WeakMap([[x = {}, 'one'], [{}, 'two'], [{}, 'three']]);\n }\n catch (e) {\n return false;\n }\n if (String(weakMap) !== '[object WeakMap]')\n return false;\n if (typeof weakMap.set !== 'function')\n return false;\n if (weakMap.set({}, 1) !== weakMap)\n return false;\n if (typeof weakMap.delete !== 'function')\n return false;\n if (typeof weakMap.has !== 'function')\n return false;\n if (weakMap.get(x) !== 'one')\n return false;\n return true;\n };\n}\n","/* es6-weak-map/is-native-implemented */ function _(require, module, exports) {\n module.exports = (function () {\n if (typeof WeakMap !== 'function')\n return false;\n return (Object.prototype.toString.call(new WeakMap()) === '[object WeakMap]');\n }());\n}\n","/* es6-weak-map/polyfill */ function _(require, module, exports) {\n var setPrototypeOf = require(341) /* es5-ext/object/set-prototype-of */, object = require(345) /* es5-ext/object/valid-object */, value = require(346) /* es5-ext/object/valid-value */, randomUniq = require(351) /* es5-ext/string/random-uniq */, d = require(307) /* d */, getIterator = require(354) /* es6-iterator/get */, forOf = require(353) /* es6-iterator/for-of */, toStringTagSymbol = require(366) /* es6-symbol */.toStringTag, isNative = require(373) /* ./is-native-implemented */, isArray = Array.isArray, defineProperty = Object.defineProperty, hasOwnProperty = Object.prototype.hasOwnProperty, getPrototypeOf = Object.getPrototypeOf, WeakMapPoly;\n module.exports = WeakMapPoly = function ( /*iterable*/) {\n var iterable = arguments[0], self;\n if (!(this instanceof WeakMapPoly))\n throw new TypeError('Constructor requires \\'new\\'');\n if (isNative && setPrototypeOf && (WeakMap !== WeakMapPoly)) {\n self = setPrototypeOf(new WeakMap(), getPrototypeOf(this));\n }\n else {\n self = this;\n }\n if (iterable != null) {\n if (!isArray(iterable))\n iterable = getIterator(iterable);\n }\n defineProperty(self, '__weakMapData__', d('c', '$weakMap$' + randomUniq()));\n if (!iterable)\n return self;\n forOf(iterable, function (val) {\n value(val);\n self.set(val[0], val[1]);\n });\n return self;\n };\n if (isNative) {\n if (setPrototypeOf)\n setPrototypeOf(WeakMapPoly, WeakMap);\n WeakMapPoly.prototype = Object.create(WeakMap.prototype, {\n constructor: d(WeakMapPoly)\n });\n }\n Object.defineProperties(WeakMapPoly.prototype, {\n delete: d(function (key) {\n if (hasOwnProperty.call(object(key), this.__weakMapData__)) {\n delete key[this.__weakMapData__];\n return true;\n }\n return false;\n }),\n get: d(function (key) {\n if (hasOwnProperty.call(object(key), this.__weakMapData__)) {\n return key[this.__weakMapData__];\n }\n }),\n has: d(function (key) {\n return hasOwnProperty.call(object(key), this.__weakMapData__);\n }),\n set: d(function (key, value) {\n defineProperty(object(key), this.__weakMapData__, d('c', value));\n return this;\n }),\n toString: d(function () { return '[object WeakMap]'; })\n });\n defineProperty(WeakMapPoly.prototype, toStringTagSymbol, d('c', 'WeakMap'));\n}\n","/* event-emitter/index */ function _(require, module, exports) {\n var d = require(307) /* d */, callable = require(344) /* es5-ext/object/valid-callable */, apply = Function.prototype.apply, call = Function.prototype.call, create = Object.create, defineProperty = Object.defineProperty, defineProperties = Object.defineProperties, hasOwnProperty = Object.prototype.hasOwnProperty, descriptor = { configurable: true, enumerable: false, writable: true }, on, once, off, emit, methods, descriptors, base;\n on = function (type, listener) {\n var data;\n callable(listener);\n if (!hasOwnProperty.call(this, '__ee__')) {\n data = descriptor.value = create(null);\n defineProperty(this, '__ee__', descriptor);\n descriptor.value = null;\n }\n else {\n data = this.__ee__;\n }\n if (!data[type])\n data[type] = listener;\n else if (typeof data[type] === 'object')\n data[type].push(listener);\n else\n data[type] = [data[type], listener];\n return this;\n };\n once = function (type, listener) {\n var once, self;\n callable(listener);\n self = this;\n on.call(this, type, once = function () {\n off.call(self, type, once);\n apply.call(listener, this, arguments);\n });\n once.__eeOnceListener__ = listener;\n return this;\n };\n off = function (type, listener) {\n var data, listeners, candidate, i;\n callable(listener);\n if (!hasOwnProperty.call(this, '__ee__'))\n return this;\n data = this.__ee__;\n if (!data[type])\n return this;\n listeners = data[type];\n if (typeof listeners === 'object') {\n for (i = 0; (candidate = listeners[i]); ++i) {\n if ((candidate === listener) ||\n (candidate.__eeOnceListener__ === listener)) {\n if (listeners.length === 2)\n data[type] = listeners[i ? 0 : 1];\n else\n listeners.splice(i, 1);\n }\n }\n }\n else {\n if ((listeners === listener) ||\n (listeners.__eeOnceListener__ === listener)) {\n delete data[type];\n }\n }\n return this;\n };\n emit = function (type) {\n var i, l, listener, listeners, args;\n if (!hasOwnProperty.call(this, '__ee__'))\n return;\n listeners = this.__ee__[type];\n if (!listeners)\n return;\n if (typeof listeners === 'object') {\n l = arguments.length;\n args = new Array(l - 1);\n for (i = 1; i < l; ++i)\n args[i - 1] = arguments[i];\n listeners = listeners.slice();\n for (i = 0; (listener = listeners[i]); ++i) {\n apply.call(listener, this, args);\n }\n }\n else {\n switch (arguments.length) {\n case 1:\n call.call(listeners, this);\n break;\n case 2:\n call.call(listeners, this, arguments[1]);\n break;\n case 3:\n call.call(listeners, this, arguments[1], arguments[2]);\n break;\n default:\n l = arguments.length;\n args = new Array(l - 1);\n for (i = 1; i < l; ++i) {\n args[i - 1] = arguments[i];\n }\n apply.call(listeners, this, args);\n }\n }\n };\n methods = {\n on: on,\n once: once,\n off: off,\n emit: emit\n };\n descriptors = {\n on: d(on),\n once: d(once),\n off: d(off),\n emit: d(emit)\n };\n base = defineProperties({}, descriptors);\n module.exports = exports = function (o) {\n return (o == null) ? create(base) : defineProperties(Object(o), descriptors);\n };\n exports.methods = methods;\n}\n","/* flatbush/flatbush */ function _(require, module, exports) {\n (function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = global || self, global.Flatbush = factory());\n }(this, function () {\n 'use strict';\n var FlatQueue = function FlatQueue() {\n this.ids = [];\n this.values = [];\n this.length = 0;\n };\n FlatQueue.prototype.clear = function clear() {\n this.length = this.ids.length = this.values.length = 0;\n };\n FlatQueue.prototype.push = function push(id, value) {\n this.ids.push(id);\n this.values.push(value);\n var pos = this.length++;\n while (pos > 0) {\n var parent = (pos - 1) >> 1;\n var parentValue = this.values[parent];\n if (value >= parentValue) {\n break;\n }\n this.ids[pos] = this.ids[parent];\n this.values[pos] = parentValue;\n pos = parent;\n }\n this.ids[pos] = id;\n this.values[pos] = value;\n };\n FlatQueue.prototype.pop = function pop() {\n if (this.length === 0) {\n return undefined;\n }\n var top = this.ids[0];\n this.length--;\n if (this.length > 0) {\n var id = this.ids[0] = this.ids[this.length];\n var value = this.values[0] = this.values[this.length];\n var halfLength = this.length >> 1;\n var pos = 0;\n while (pos < halfLength) {\n var left = (pos << 1) + 1;\n var right = left + 1;\n var bestIndex = this.ids[left];\n var bestValue = this.values[left];\n var rightValue = this.values[right];\n if (right < this.length && rightValue < bestValue) {\n left = right;\n bestIndex = this.ids[right];\n bestValue = rightValue;\n }\n if (bestValue >= value) {\n break;\n }\n this.ids[pos] = bestIndex;\n this.values[pos] = bestValue;\n pos = left;\n }\n this.ids[pos] = id;\n this.values[pos] = value;\n }\n this.ids.pop();\n this.values.pop();\n return top;\n };\n FlatQueue.prototype.peek = function peek() {\n return this.ids[0];\n };\n FlatQueue.prototype.peekValue = function peekValue() {\n return this.values[0];\n };\n var ARRAY_TYPES = [\n Int8Array, Uint8Array, Uint8ClampedArray, Int16Array, Uint16Array,\n Int32Array, Uint32Array, Float32Array, Float64Array\n ];\n var VERSION = 3; // serialized format version\n var Flatbush = function Flatbush(numItems, nodeSize, ArrayType, data) {\n if (nodeSize === void 0)\n nodeSize = 16;\n if (ArrayType === void 0)\n ArrayType = Float64Array;\n if (numItems === undefined) {\n throw new Error('Missing required argument: numItems.');\n }\n if (isNaN(numItems) || numItems <= 0) {\n throw new Error((\"Unpexpected numItems value: \" + numItems + \".\"));\n }\n this.numItems = +numItems;\n this.nodeSize = Math.min(Math.max(+nodeSize, 2), 65535);\n // calculate the total number of nodes in the R-tree to allocate space for\n // and the index of each tree level (used in search later)\n var n = numItems;\n var numNodes = n;\n this._levelBounds = [n * 4];\n do {\n n = Math.ceil(n / this.nodeSize);\n numNodes += n;\n this._levelBounds.push(numNodes * 4);\n } while (n !== 1);\n this.ArrayType = ArrayType || Float64Array;\n this.IndexArrayType = numNodes < 16384 ? Uint16Array : Uint32Array;\n var arrayTypeIndex = ARRAY_TYPES.indexOf(this.ArrayType);\n var nodesByteSize = numNodes * 4 * this.ArrayType.BYTES_PER_ELEMENT;\n if (arrayTypeIndex < 0) {\n throw new Error((\"Unexpected typed array class: \" + ArrayType + \".\"));\n }\n if (data && (data instanceof ArrayBuffer)) {\n this.data = data;\n this._boxes = new this.ArrayType(this.data, 8, numNodes * 4);\n this._indices = new this.IndexArrayType(this.data, 8 + nodesByteSize, numNodes);\n this._pos = numNodes * 4;\n this.minX = this._boxes[this._pos - 4];\n this.minY = this._boxes[this._pos - 3];\n this.maxX = this._boxes[this._pos - 2];\n this.maxY = this._boxes[this._pos - 1];\n }\n else {\n this.data = new ArrayBuffer(8 + nodesByteSize + numNodes * this.IndexArrayType.BYTES_PER_ELEMENT);\n this._boxes = new this.ArrayType(this.data, 8, numNodes * 4);\n this._indices = new this.IndexArrayType(this.data, 8 + nodesByteSize, numNodes);\n this._pos = 0;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = -Infinity;\n this.maxY = -Infinity;\n new Uint8Array(this.data, 0, 2).set([0xfb, (VERSION << 4) + arrayTypeIndex]);\n new Uint16Array(this.data, 2, 1)[0] = nodeSize;\n new Uint32Array(this.data, 4, 1)[0] = numItems;\n }\n // a priority queue for k-nearest-neighbors queries\n this._queue = new FlatQueue();\n };\n Flatbush.from = function from(data) {\n if (!(data instanceof ArrayBuffer)) {\n throw new Error('Data must be an instance of ArrayBuffer.');\n }\n var ref = new Uint8Array(data, 0, 2);\n var magic = ref[0];\n var versionAndType = ref[1];\n if (magic !== 0xfb) {\n throw new Error('Data does not appear to be in a Flatbush format.');\n }\n if (versionAndType >> 4 !== VERSION) {\n throw new Error((\"Got v\" + (versionAndType >> 4) + \" data when expected v\" + VERSION + \".\"));\n }\n var ref$1 = new Uint16Array(data, 2, 1);\n var nodeSize = ref$1[0];\n var ref$2 = new Uint32Array(data, 4, 1);\n var numItems = ref$2[0];\n return new Flatbush(numItems, nodeSize, ARRAY_TYPES[versionAndType & 0x0f], data);\n };\n Flatbush.prototype.add = function add(minX, minY, maxX, maxY) {\n var index = this._pos >> 2;\n this._indices[index] = index;\n this._boxes[this._pos++] = minX;\n this._boxes[this._pos++] = minY;\n this._boxes[this._pos++] = maxX;\n this._boxes[this._pos++] = maxY;\n if (minX < this.minX) {\n this.minX = minX;\n }\n if (minY < this.minY) {\n this.minY = minY;\n }\n if (maxX > this.maxX) {\n this.maxX = maxX;\n }\n if (maxY > this.maxY) {\n this.maxY = maxY;\n }\n };\n Flatbush.prototype.finish = function finish() {\n if (this._pos >> 2 !== this.numItems) {\n throw new Error((\"Added \" + (this._pos >> 2) + \" items when expected \" + (this.numItems) + \".\"));\n }\n var width = this.maxX - this.minX;\n var height = this.maxY - this.minY;\n var hilbertValues = new Uint32Array(this.numItems);\n var hilbertMax = (1 << 16) - 1;\n // map item centers into Hilbert coordinate space and calculate Hilbert values\n for (var i = 0; i < this.numItems; i++) {\n var pos = 4 * i;\n var minX = this._boxes[pos++];\n var minY = this._boxes[pos++];\n var maxX = this._boxes[pos++];\n var maxY = this._boxes[pos++];\n var x = Math.floor(hilbertMax * ((minX + maxX) / 2 - this.minX) / width);\n var y = Math.floor(hilbertMax * ((minY + maxY) / 2 - this.minY) / height);\n hilbertValues[i] = hilbert(x, y);\n }\n // sort items by their Hilbert value (for packing later)\n sort(hilbertValues, this._boxes, this._indices, 0, this.numItems - 1);\n // generate nodes at each tree level, bottom-up\n for (var i$1 = 0, pos$1 = 0; i$1 < this._levelBounds.length - 1; i$1++) {\n var end = this._levelBounds[i$1];\n // generate a parent node for each block of consecutive