diff --git a/client/galaxy/scripts/viz/bbi-data-manager.js b/client/galaxy/scripts/viz/bbi-data-manager.js index ae7c912d75e..a4efca6f14c 100644 --- a/client/galaxy/scripts/viz/bbi-data-manager.js +++ b/client/galaxy/scripts/viz/bbi-data-manager.js @@ -15,7 +15,7 @@ define( ["viz/visualization", "libs/bbi/bigwig"], var deferred = $.Deferred(); this.set_data(region, deferred); - var url = galaxy_config.root + 'datasets/' + this.get('dataset').id + '/display', + var url = Galaxy.root + 'datasets/' + this.get('dataset').id + '/display', self = this; var promise = new $.Deferred(); $.when(bigwig.makeBwg(url)).then(function(bb, err) { diff --git a/client/galaxy/scripts/viz/trackster/painters.js b/client/galaxy/scripts/viz/trackster/painters.js index 4a1b1c0493f..5108d19737d 100644 --- a/client/galaxy/scripts/viz/trackster/painters.js +++ b/client/galaxy/scripts/viz/trackster/painters.js @@ -223,7 +223,7 @@ LinePainter.prototype.draw = function(ctx, width, height, w_scale) { top_overflow = bot_overflow = false; delta_x_px = delta_x_pxs[i]; - x_scaled = Math.ceil((data[i][0] - view_start - 0.5) * w_scale); + x_scaled = Math.floor((data[i][0] - view_start - 0.5) * w_scale); y = data[i][1]; // Process Y (scaler) value. diff --git a/client/galaxy/scripts/viz/trackster/tracks.js b/client/galaxy/scripts/viz/trackster/tracks.js index bd0ca20237a..7807c2c9349 100644 --- a/client/galaxy/scripts/viz/trackster/tracks.js +++ b/client/galaxy/scripts/viz/trackster/tracks.js @@ -200,7 +200,6 @@ function supportsByteRanges(url) { xhr.setRequestHeader("Range", "bytes=0-10"); }, success: function(result, status, xhr) { - console.log("BYTE RANGE SUPPORT", xhr.status === 206) promise.resolve(xhr.status === 206); } }); @@ -3628,10 +3627,9 @@ var LineTrack = function (view, container, obj_dict) { // If server has byte-range support, use BBI data manager to read directly from the BBI file. // FIXME: there should be a flag to wait for this check to complete before loading the track. var self = this; - $.when(supportsByteRanges(galaxy_config.root + 'datasets/' + this.dataset.id + '/display')) + $.when(supportsByteRanges(Galaxy.root + 'datasets/' + this.dataset.id + '/display')) .then(function(supportsByteRanges) { if (supportsByteRanges) { - console.log("BBI DATA MANAGER"); self.data_manager = new bbi.BBIDataManager({ dataset: self.dataset }); diff --git a/static/maps/viz/bbi-data-manager.js.map b/static/maps/viz/bbi-data-manager.js.map index 389f691c165..5e85c9fadcf 100644 --- a/static/maps/viz/bbi-data-manager.js.map +++ b/static/maps/viz/bbi-data-manager.js.map @@ -1 +1 @@ -{"version":3,"file":"bbi-data-manager.js","sources":["../../src/viz/bbi-data-manager.js"],"names":["define","visualization","bigwig","BBIDataManager","GenomeDataManager","extend","load_data","region","deferred","$","Deferred","this","set_data","url","galaxy_config","root","get","id","self","when","makeBwg","then","bb","readWigData","data","result","prev","max","Number","MIN_VALUE","forEach","d","min","push","score","entry","dataset_type","resolve"],"mappings":"AAAAA,QAAS,oBAAqB,mBACtB,SAASC,EAAeC,GAK5B,GAAIC,GAAiBF,EAAcG,kBAAkBC,QAOjDC,UAAW,SAASC,GAChB,GAAIC,GAAWC,EAAEC,UACjBC,MAAKC,SAASL,EAAQC,EAEtB,EAAA,GAAIK,GAAMC,cAAcC,KAAO,YAAcJ,KAAKK,IAAI,WAAWC,GAAK,WAClEC,EAAOP,IACO,IAAIF,GAAEC,SAuCxB,MAtCID,GAAEU,KAAKjB,EAAOkB,QAAQP,IAAMQ,KAAK,SAASC,GACtCb,EAAEU,KAAKG,EAAGC,YAAYhB,EAAOS,IAAI,SAAUT,EAAOS,IAAI,SAAUT,EAAOS,IAAI,SAASK,KAAK,SAASG,GAGlG,GAAIC,MACAC,GAASC,IAAKC,OAAOC,UACzBL,GAAKM,QAAQ,SAASC,GAGdL,EAAKC,MAAQI,EAAEC,IAAM,IAErBP,EAAOQ,MAAMP,EAAKC,IAAM,EAAG,IAG3BF,EAAOQ,MAAMF,EAAEC,IAAM,EAAG,KAK5BP,EAAOQ,MAAMF,EAAEC,IAAM,EAAGD,EAAEG,QAG1BT,EAAOQ,MAAMF,EAAEJ,IAAKI,EAAEG,QAEtBR,EAAOK,GAGX,IAAII,IACIX,KAAMC,EACNlB,OAAQA,EACR6B,aAAc,SAGtBlB,GAAKN,SAASL,EAAQ4B,GACtB3B,EAAS6B,QAAQF,OAIlB3B,IAIf,QACIL,eAAgBA"} \ No newline at end of file +{"version":3,"file":"bbi-data-manager.js","sources":["../../src/viz/bbi-data-manager.js"],"names":["define","visualization","bigwig","BBIDataManager","GenomeDataManager","extend","load_data","region","deferred","$","Deferred","this","set_data","url","Galaxy","root","get","id","self","when","makeBwg","then","bb","readWigData","data","result","prev","max","Number","MIN_VALUE","forEach","d","min","push","score","entry","dataset_type","resolve"],"mappings":"AAAAA,QAAS,oBAAqB,mBACtB,SAASC,EAAeC,GAK5B,GAAIC,GAAiBF,EAAcG,kBAAkBC,QAOjDC,UAAW,SAASC,GAChB,GAAIC,GAAWC,EAAEC,UACjBC,MAAKC,SAASL,EAAQC,EAEtB,EAAA,GAAIK,GAAMC,OAAOC,KAAO,YAAcJ,KAAKK,IAAI,WAAWC,GAAK,WAC3DC,EAAOP,IACO,IAAIF,GAAEC,SAuCxB,MAtCID,GAAEU,KAAKjB,EAAOkB,QAAQP,IAAMQ,KAAK,SAASC,GACtCb,EAAEU,KAAKG,EAAGC,YAAYhB,EAAOS,IAAI,SAAUT,EAAOS,IAAI,SAAUT,EAAOS,IAAI,SAASK,KAAK,SAASG,GAGlG,GAAIC,MACAC,GAASC,IAAKC,OAAOC,UACzBL,GAAKM,QAAQ,SAASC,GAGdL,EAAKC,MAAQI,EAAEC,IAAM,IAErBP,EAAOQ,MAAMP,EAAKC,IAAM,EAAG,IAG3BF,EAAOQ,MAAMF,EAAEC,IAAM,EAAG,KAK5BP,EAAOQ,MAAMF,EAAEC,IAAM,EAAGD,EAAEG,QAG1BT,EAAOQ,MAAMF,EAAEJ,IAAKI,EAAEG,QAEtBR,EAAOK,GAGX,IAAII,IACIX,KAAMC,EACNlB,OAAQA,EACR6B,aAAc,SAGtBlB,GAAKN,SAASL,EAAQ4B,GACtB3B,EAAS6B,QAAQF,OAIlB3B,IAIf,QACIL,eAAgBA"} \ No newline at end of file diff --git a/static/maps/viz/trackster/painters.js.map b/static/maps/viz/trackster/painters.js.map index fba530500bd..4e7175ec2bf 100644 --- a/static/maps/viz/trackster/painters.js.map +++ b/static/maps/viz/trackster/painters.js.map @@ -1 +1 @@ -{"version":3,"file":"painters.js","sources":["../../../src/viz/trackster/painters.js"],"names":["define","_","BEFORE","CONTAINS","OVERLAP_START","OVERLAP_END","CONTAINED_BY","AFTER","compute_overlap","first_region","second_region","overlap","first_start","first_end","second_start","second_end","is_overlap","dashedLine","ctx","x1","y1","x2","y2","dashLen","undefined","q","dX","dY","dashes","Math","floor","sqrt","dashX","dashY","fillRect","drawDownwardEquilateralTriangle","down_vertex_x","down_vertex_y","side_len","y","beginPath","moveTo","lineTo","strokeStyle","this","fillStyle","fill","stroke","closePath","Scaler","default_val","prototype","gen_val","DrawResults","options","incomplete_features","feature_mapper","Painter","data","view_start","view_end","prefs","mode","extend","default_prefs","draw","get_start_draw_pos","chrom_pos","w_scale","_chrom_pos_to_draw_pos","get_end_draw_pos","get_draw_pos","offset","max","LinePainter","call","min_value","max_value","color","overflow_color","width","height","in_path","vertical_range","height_px","save","y_zero","round","x_scaled","delta_x_pxs","length","map","slice","d","i","ceil","delta_x_px","painter_color","block_color","pref_color","parseInt","pref_r","pref_g","pref_b","top_overflow","bot_overflow","len","saturation","new_r","new_g","new_b","overflow_x","restore","FeaturePositionMapper","slot_height","feature_positions","translation","y_translation","map_feature_data","feature_data","slot","x_start","x_end","push","get_feature_data","x","feature_dict","FeaturePainter","alpha_scaler","height_scaler","max_label_length","connector_color","get_required_height","rows_required","required_height","get_row_height","y_scale","get_top_padding","slots","textAlign","x_draw_coords","feature","feature_uid","feature_start","feature_end","draw_element","DENSE_TRACK_HEIGHT","NO_DETAIL_TRACK_HEIGHT","SQUISH_TRACK_HEIGHT","PACK_TRACK_HEIGHT","NO_DETAIL_FEATURE_HEIGHT","DENSE_FEATURE_HEIGHT","SQUISH_FEATURE_HEIGHT","PACK_FEATURE_HEIGHT","LABEL_SPACING","CONNECTOR_COLOR","LinkedFeaturePainter","draw_background_connector","draw_individual_connectors","tile_low","tile_high","y_start","feature_name","feature_strand","f_start","f_end","min","draw_start","draw_end","thick_start","thick_end","reverse_strand_color","label_color","globalAlpha","feature_ts","feature_te","feature_blocks","full_height","thin_height","thick_height","cur_y_start","cur_height","canvas","manager","get_pattern","k","k_len","last_block_start","last_block_end","block","block_start","block_end","block_thick_start","block_thick_end","draw_connector","hscale_factor","new_height","ws_height","measureText","fillText","ReadPainter","ref_seq","base_color_fn","show_insertions","_parse_cigar","cigar_str","cigar_ops","blocks","cur_block","base_pos","parsed_cigar","match","op","op_len","op_char","indexOf","cigar","draw_read","strand","read_seq","update_base_offset","cig_op","cig_len","update_seq_offset","get_draw_coord","sequence_coord","s_start","s_end","tile_region","base_offset","seq_offset","gap","char_width_px","detail_block_color","pack_mode","draw_height","rect_y","paint_utils","ReadPainterUtils","drawing_blocks","draw_last","t","cig_id","cig","seq_start","cur_seq","start_pos","c","show_differences","c_start","draw_deletion","insert_x_coord","seq","x_center","type","str_len","item","font","Array","connector","b1_end","b2_start","line_height","ArcLinkedFeaturePainter","longest_feature_length","calculate_longest_feature_length","view_range","block1_start","block1_end","block2_start","block2_end","radius","PI","arc","Color","rgb","a","isArray","substring","split","alpha","eval","toCSS","concat","join","toString","toHSL","h","s","r","g","b","l","toARGB","argb","mix","color2","weight","color1","p","w","w1","w2","LinearRamp","start_color","end_color","start_value","end_value","value_range","map_value","value","SplitRamp","middle_color","positive_ramp","negative_ramp","DiagonalHeatmapPainter","pos_color","neg_color","s1","e1","s2","e2","invsqrt2","ramp","scale","rotate","row_height","px_per_base","draw_details","delete_details_thickness","thickness","VariantPainter","divider_height","num_samples","summary_height","show_sample_data","locus_data","pos","ref","alt","sample_gts","allele_counts","variant","draw_x_start","draw_y_start","genotype","j","get_indel_info","ref_len","alt_len","start","base_px","feature_height","draw_summary","flatten","alt_info","indel_info","allele_frac","snp"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"painters.js","sources":["../../../src/viz/trackster/painters.js"],"names":["define","_","BEFORE","CONTAINS","OVERLAP_START","OVERLAP_END","CONTAINED_BY","AFTER","compute_overlap","first_region","second_region","overlap","first_start","first_end","second_start","second_end","is_overlap","dashedLine","ctx","x1","y1","x2","y2","dashLen","undefined","q","dX","dY","dashes","Math","floor","sqrt","dashX","dashY","fillRect","drawDownwardEquilateralTriangle","down_vertex_x","down_vertex_y","side_len","y","beginPath","moveTo","lineTo","strokeStyle","this","fillStyle","fill","stroke","closePath","Scaler","default_val","prototype","gen_val","DrawResults","options","incomplete_features","feature_mapper","Painter","data","view_start","view_end","prefs","mode","extend","default_prefs","draw","get_start_draw_pos","chrom_pos","w_scale","_chrom_pos_to_draw_pos","get_end_draw_pos","get_draw_pos","offset","max","LinePainter","call","min_value","max_value","color","overflow_color","width","height","in_path","vertical_range","height_px","save","y_zero","round","x_scaled","delta_x_pxs","length","map","slice","d","i","ceil","delta_x_px","painter_color","block_color","pref_color","parseInt","pref_r","pref_g","pref_b","top_overflow","bot_overflow","len","saturation","new_r","new_g","new_b","overflow_x","restore","FeaturePositionMapper","slot_height","feature_positions","translation","y_translation","map_feature_data","feature_data","slot","x_start","x_end","push","get_feature_data","x","feature_dict","FeaturePainter","alpha_scaler","height_scaler","max_label_length","connector_color","get_required_height","rows_required","required_height","get_row_height","y_scale","get_top_padding","slots","textAlign","x_draw_coords","feature","feature_uid","feature_start","feature_end","draw_element","DENSE_TRACK_HEIGHT","NO_DETAIL_TRACK_HEIGHT","SQUISH_TRACK_HEIGHT","PACK_TRACK_HEIGHT","NO_DETAIL_FEATURE_HEIGHT","DENSE_FEATURE_HEIGHT","SQUISH_FEATURE_HEIGHT","PACK_FEATURE_HEIGHT","LABEL_SPACING","CONNECTOR_COLOR","LinkedFeaturePainter","draw_background_connector","draw_individual_connectors","tile_low","tile_high","y_start","feature_name","feature_strand","f_start","f_end","min","draw_start","draw_end","thick_start","thick_end","reverse_strand_color","label_color","globalAlpha","feature_ts","feature_te","feature_blocks","full_height","thin_height","thick_height","cur_y_start","cur_height","canvas","manager","get_pattern","k","k_len","last_block_start","last_block_end","block","block_start","block_end","block_thick_start","block_thick_end","draw_connector","hscale_factor","new_height","ws_height","measureText","fillText","ReadPainter","ref_seq","base_color_fn","show_insertions","_parse_cigar","cigar_str","cigar_ops","blocks","cur_block","base_pos","parsed_cigar","match","op","op_len","op_char","indexOf","cigar","draw_read","strand","read_seq","update_base_offset","cig_op","cig_len","update_seq_offset","get_draw_coord","sequence_coord","s_start","s_end","tile_region","base_offset","seq_offset","gap","char_width_px","detail_block_color","pack_mode","draw_height","rect_y","paint_utils","ReadPainterUtils","drawing_blocks","draw_last","t","cig_id","cig","seq_start","cur_seq","start_pos","c","show_differences","c_start","draw_deletion","insert_x_coord","seq","x_center","type","str_len","item","font","Array","connector","b1_end","b2_start","line_height","ArcLinkedFeaturePainter","longest_feature_length","calculate_longest_feature_length","view_range","block1_start","block1_end","block2_start","block2_end","radius","PI","arc","Color","rgb","a","isArray","substring","split","alpha","eval","toCSS","concat","join","toString","toHSL","h","s","r","g","b","l","toARGB","argb","mix","color2","weight","color1","p","w","w1","w2","LinearRamp","start_color","end_color","start_value","end_value","value_range","map_value","value","SplitRamp","middle_color","positive_ramp","negative_ramp","DiagonalHeatmapPainter","pos_color","neg_color","s1","e1","s2","e2","invsqrt2","ramp","scale","rotate","row_height","px_per_base","draw_details","delete_details_thickness","thickness","VariantPainter","divider_height","num_samples","summary_height","show_sample_data","locus_data","pos","ref","alt","sample_gts","allele_counts","variant","draw_x_start","draw_y_start","genotype","j","get_indel_info","ref_len","alt_len","start","base_px","feature_height","draw_summary","flatten","alt_info","indel_info","allele_frac","snp"],"mappings":"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"} \ No newline at end of file diff --git a/static/maps/viz/trackster/tracks.js.map b/static/maps/viz/trackster/tracks.js.map index 0170efbfd0a..b06ee84bed0 100644 --- a/static/maps/viz/trackster/tracks.js.map +++ b/static/maps/viz/trackster/tracks.js.map @@ -1 +1 @@ -{"version":3,"file":"tracks.js","sources":["../../../src/viz/trackster/tracks.js"],"names":["define","_","visualization","viz_views","util","slotting","painters","filters_mod","data","tools_mod","config_mod","bbi","round","num","places","val","Math","pow","supportsByteRanges","url","promise","$","Deferred","ajax","type","beforeSend","xhr","setRequestHeader","success","result","status","console","log","resolve","extend","html_elt_js_obj_dict","is_container","element","obj","attr","moveable","handle_class","container_selector","element_js_obj","bind","handle","relative","e","d","child","container","top","bottom","i","parent","this","children","this_obj","parents","length","position","outerHeight","cur_container","offsetY","insertBefore","remove_drawable","add_drawable_before","insertAfter","add_drawable","get","is","find","prepend","append","hasClass","move_drawable","deltaY","addClass","removeClass","ERROR_PADDING","MAX_FEATURE_DEPTH","MIN_SQUISH_VIEW_WIDTH","TILE_SIZE","DEFAULT_DATA_QUERY_WAIT","MAX_CHROMS_SELECTABLE","DATA_ERROR","DATA_NOCONVERTER","DATA_NONE","DATA_PENDING","DATA_CANNOT_RUN_TOOL","DATA_OK","TILE_CACHE_SIZE","CONTINUOUS_DATA_MODES","Drawable","view","obj_dict","id_counter","id","drag_handle_class","is_overview","action_icons","config","ConfigSettingCollection","from_models_and_saved_values","config_params","prefs","get_value","set_value","name","config_onchange","on","container_div","build_container_div","header_div","header","header_view","TrackHeaderView","model","$el","icons_div","hover","show","hide","prototype","action_icons_def","title","css_class","on_click_fn","drawable","toggle_icon","hide_contents","show_contents","ConfigSettingCollectionView","collection","render_in_modal","remove","key","label","default_value","hidden","init","changed","can_draw","enabled","request_draw","_draw","to_dict","set_name","new_name","old_name","revert_name","update_intro_div","update_icons","get_drawables","DrawableCollection","call","obj_type","drawables","unpack_drawables","drawables_array","object_from_template","options","dictified_drawables","push","to_key_value_dict","other","index","indexOf","splice","replace_drawable","old_drawable","new_drawable","update_html","replaceWith","new_position","get_tracks","track_type","queue","slice","tracks","shift","concat","DrawableGroup","content_div","appendTo","filters_manager","FiltersManager","after","parent_div","saved_filters_managers","old_manager","filters","visible","setup_multitrack_filtering","group","show_composite_track","clear_filters","_restore_filter_managers","clear_tile_cache","toggle","tiles_div","num_drawables","composite_icon","filters_icon","CompositeTrack","j","same_type","a_type","get_type","num_feature_tracks","can_composite","FeatureTrack","LineTrack","filter","shared_filters","remove_all","new_filter","filter_name","NumberFilter","add_filter","init_filters","composite_track","each","TracksterView","Backbone","View","initialize","chrom","vis_id","dbkey","stand_alone","undefined","label_tracks","tracks_to_be_redrawn","max_low","max_high","zoom_factor","min_separation","has_changes","load_chroms_deferred","render","canvas_manager","CanvasManager","ownerDocument","reset","requested_redraw","parent_element","top_container","browser_content_div","bottom_container","top_labeltrack","viewport_container","intro_div","text","click","select_datasets","Galaxy","root","f-dbkey","track","nav_container","prependTo","nav","overview","overview_viewport","overview_close","overview_highlight","overview_box_background","overview_box","default_overview_height","height","nav_controls","chrom_select","submit_nav","keyCode","which","go_to","location_span","stopPropagation","nav_input","tooltip","placement","low","high","css","select","focus","autocomplete","source","request","response","all_features","feature_search_deferreds","map","t","data_manager","search_features","term","dataset_features","when","apply","done","feature","value","minLength","hidden_input","zo_link","zoom_out","zi_link","zoom_in","load_chroms","change_chrom","trigger","pageX","current_x","offsetX","delta","delta_chrom","width","move_delta","reset_overview","clientX","original_low","current_height","clientY","new_scroll","scrollTop","proxy","left","min","startX","offset","abs","max","span","update_location","old_low","request_redraw","add_label_track","LabelTrack","window","resize_timer","clearTimeout","setTimeout","resize_window","document","redraw","get_base_color","base","toLowerCase","trigger_navigate","new_chrom","new_low","new_high","delay","timer","self","commatize","url_parms","chrom_data","dataType","chrom_info","reference","ref_track","ReferenceTrack","reference_track","chrom_options","len","prev_chroms","next_chroms","html","chrom_start_index","start_index","error","alert","then","found","grep","v","str","replace","chrom_pos","split","parseInt","move_fraction","fraction","current_chrom_span","data_fetch","redraw_on_move_fn","label_track","track_list","track_options","to","requestAnimationFrame","_redraw","floor","ceil","resolution_px_b","left_px","width_px","min_width_px","point","cur_center","new_half","resize_viewport","set_overview","overview_drawable","dataset","copy","postdraw_actions","TracksterTool","Tool","defaults","tool_state","set","remove_inputs","state_dict","get_inputs_dict","is_visible","ToolParameterView","events","change :input","param_div","param","html_div","update_value","update_event","target","TracksterToolView","set_visible","tool","keydown","param_view","run_tool_row","run_on_dataset_button","run_on_region_button","run_on_region","run_on_dataset","update_params","params","run","target_dataset_id","action","tool_id","modal","body","buttons","Close","region","GenomeRegion","start","end","url_params","regions","toJSON","current_track","track_name","tool_region_and_parameters_str","new_track","constructor","hda_ldda","init_for_tool_data","change_mode","mode","set_filters_manager","track_data","set_dataset","Dataset","success_callback","inputs","ss_deferred","ServerStateDeferred","ajax_settings","JSON","stringify","contentType","interval","success_fn","go","message","FilterScaler","default_val","Scaler","gen_val","feature_data","Number","MAX_VALUE","parseFloat","Tile","w_scale","canvas","html_elt","stale","predisplay_actions","LineTrackTile","FeatureTrackTile","all_slotted","feature_mapper","incomplete_features","seq_data","has_icons","other_tiles_features_drawn","Track","Model","dataset_check_type","data_url_extra_params","data_query_wait","GenomeDataManager","genome","Genome","chroms_info","data_mode_compatible","data_and_mode_compatible","can_subset","min_height_px","max_height_px","visible_height_px","resize","add_resize_handle","cancel_fn","unbind","ok_fn","regions_to_use","view_region","bookmarked_regions","elt","from_str","location","href","dataset_id","Collection","No","Yes","on_resize","in_handle","in_drag","drag_control","original_height","new_height","tile_cache","clear","ReadTrack","VariantTrack","show_message","msg_html","retry","init_deferred","data_type","getJSON","kind","valid_chroms","predraw_init","msg_elt","stats","min_value","max_value","mean","sd","set_default_value","TiledTrack","filters_available","Cache","left_offset","tool_view","dynamic_tool_div","overlay_div","slotters","max_rows","set_min_max","isNaN","new_mode","mode_icon","tools_icon","param_space_viz_icon","_gen_tile_cache_key","tile_region","before_draw","clear_after","resolution","tile_promise","tile_width","tile_index","tile_promises","tiles","draw_helper","tile","_add_yaxis_label","on_change","pref_name","make_text_editable","num_cols","on_finish","new_val","help_text","line_track_tiles","force","icons_present","get_mode","update_auto_mode","_get_drawables","is_tile","o","get_elt","show_tile","get_tile_data","data_mode","m","tile_data","get_data","tile_drawn","set_elt","tracks_data","is_deferred","subset_entry","pop","drawing_modes","drawing_heights","get_canvas_height","new_canvas","tile_low","tile_high","ctx","getContext","translate","globalAlpha","globalCompositeOperation","draw_tile","_draw_line_track_tile","painter","LinePainter","draw","tile_element","track_height","region_str","toString","param_str","values","join","dataset_type","extra_info","entry","range","tickDistance","new_div","screenPosition","display_modes","union","show_group","visible_height","init_deferreds","update_all_min_max","max_height","char_width_px","data_url","GenomeReferenceDataManager","new_visible","cur_visible","subset","font","manager","default_font","textAlign","c","str_len","fillStyle","fillText","galaxy_config","BBIDataManager","DiagonalHeatmapTrack","DiagonalHeatmapPainter","summary_draw_height","start_end_dct","set_painter_from_config","help","ArcLinkedFeaturePainter","LinkedFeaturePainter","all_incomplete_features","pluck","inc_features","tile_incomplete_features","omit","f","keys","size","features","new_canvas_ctx","drawImage","new_tile","update_ui_elt","example_feature","applies_to","show_more_rows_icon","incremental_slots","level","dummy_context","slotter","x","measureText","slot_features","canvas_width","rows_required","dummy_painter","get_required_height","ref_seq","cur_tile","filtered","slots","hide_feature","flen","update_attrs","keep","filter_alpha_scaler","alpha_filter","filter_height_scaler","height_filter","b","draw_results","translation","VariantPainter","num_samples","get_metadata","match","deferreds","fetch","sample_names","font_size","font-size","samples_div_html","line-height","ReadPainter","addable_objects","VcfTrack","template","drawable_type"],"mappings":"AAAAA,QACI,kBACA,oBACA,gBACA,qBACA,yBACA,yBACA,wBACA,mBACA,iBACA,eACA,uBACA,oBACD,SAASC,EAAGC,EAAeC,EAAWC,EAAMC,EAAUC,EAAUC,EAAaC,EAAMC,EAAWC,EAAYC,GAuK7G,QAASC,GAAMC,EAAKC,GAEXA,IACDA,EAAS,EAGb,IAAIC,GAAMC,KAAKC,IAAI,GAAIH,EACvB,OAAOE,MAAKJ,MAAMC,EAAME,GAAOA,EAMnC,QAASG,GAAmBC,GACxB,GAAIC,GAAUC,EAAEC,UAahB,OAZAD,GAAEE,MACEC,KAAM,OACNL,IAAKA,EACLM,WAAY,SAASC,GACjBA,EAAIC,iBAAiB,QAAS,eAElCC,QAAS,SAASC,EAAQC,EAAQJ,GAC9BK,QAAQC,IAAI,qBAAqC,MAAfN,EAAII,QACtCV,EAAQa,QAAuB,MAAfP,EAAII,WAIrBV,EA/LX,GAAIc,GAASjC,EAAEiC,OAQXC,KAKAC,EAAe,SAASC,EAASC,GACjCH,EAAqBE,EAAQE,KAAK,OAASD,GAY3CE,EAAW,SAASH,EAASI,EAAcC,EAAoBC,GAE/DD,EAAqB,SAGrBP,EAAqBE,EAAQE,KAAK,OAASI,EAG3CN,EAAQO,KAAM,QAAUC,OAAQ,IAAMJ,EAAcK,UAAU,GAAQ,SAAWC,EAAGC,GAChF,GAKIC,GACAC,EACAC,EACAC,EACAC,EARAC,GADUjC,EAAEkC,MACHlC,EAAEkC,MAAMD,UAEjBE,EAAWF,EAAOE,SAAS,iBAC3BC,EAAWtB,EAAqBd,EAAEkC,MAAMhB,KAAK,MAcjD,IADAW,EAAY7B,EAAEkC,MAAMG,QAAQhB,GACH,IAArBQ,EAAUS,OAAc,CACxBR,EAAMD,EAAUU,WAAWT,IAC3BC,EAASD,EAAMD,EAAUW,aACzB,IAAIC,GAAgB3B,EAAqBe,EAAUX,KAAK,MACxD,IAAIS,EAAEe,QAAUZ,EAKZ,MAHA9B,GAAEkC,MAAMS,aAAad,GACrBY,EAAcG,gBAAgBR,OAC9BK,GAAcZ,UAAUgB,oBAAoBT,EAAUK,EAGrD,IAAId,EAAEe,QAAUX,EAKjB,MAHA/B,GAAEkC,MAAMY,YAAYjB,GACpBY,EAAcG,gBAAgBR,OAC9BK,GAAcZ,UAAUkB,aAAaX,GAO7C,IADAP,EAAY,KACNG,EAAI,EAAGA,EAAIG,EAASG,OAAQN,IAK9B,GAJAJ,EAAQ5B,EAAEmC,EAASa,IAAIhB,IACvBF,EAAMF,EAAMW,WAAWT,IACvBC,EAASD,EAAMF,EAAMY,cAEhBZ,EAAMqB,GAAG5B,IAAuBa,OAASN,EAAMoB,IAAI,IACnDrB,EAAEe,SAAWZ,GAAOH,EAAEe,SAAWX,EAalC,MAXIJ,GAAEe,QAAUZ,EAAMC,EAASJ,EAAEe,QAC7Bd,EAAMsB,KAAK,gBAAgBC,QAAQjB,MAGnCN,EAAMsB,KAAK,gBAAgBE,OAAOlB,MAGlCE,EAASP,WACTO,EAASP,UAAUe,gBAAgBR,OAEvCtB,GAAqBc,EAAMV,KAAK,OAAO6B,aAAaX,EAQ5D,KAAMJ,EAAI,EAAGA,EAAIG,EAASG,SACtBV,EAAQ5B,EAAEmC,EAASa,IAAIhB,MAClBL,EAAEe,QAAUd,EAAMW,WAAWT,MAE3BF,EAAMyB,SAAS,oBAAsBzB,EAAMyB,SAAS,UAJ7BrB,KAY7BA,IAAMG,EAASG,OACXJ,OAASC,EAASa,IAAIhB,EAAI,KAC3BC,EAAOmB,OAAOlB,MACdpB,EAAqBmB,EAAOf,KAAK,OAAOoC,cAAclB,EAAUJ,IAG9DE,OAASC,EAASa,IAAIhB,KAC5BhC,EAAEkC,MAAMS,aAAcR,EAASa,IAAIhB,IAGnClB,EAAqBmB,EAAOf,KAAK,OAAOoC,cAAclB,EAAWT,EAAE4B,OAAS,EAAIvB,EAAE,EAAIA,MAE3FT,KAAK,YAAa,WACjBvB,EAAEkC,MAAMsB,SAAS,cAClBjC,KAAK,UAAW,WACfvB,EAAEkC,MAAMuB,YAAY,eASxBC,EAAgB,GAEhBC,EAAoB,IAEpBC,EAAwB,KAExBC,EAAY,IACZC,EAA0B,IAE1BC,EAAwB,IACxBC,EAAa,2CACbC,EAAmB,4FACnBC,EAAY,iCACZC,EAAe,oJAEfC,EAAuB,yBAEvBC,EAAU,oBACVC,EAAkB,GAIlBC,GAAyB,YAAa,OAAQ,SAAU,aAsDxDC,EAAW,SAASC,EAAM5C,EAAW6C,GA0BrC,GAzBKF,EAASG,aAAcH,EAASG,WAAa,GAClDzC,KAAK0C,GAAKJ,EAASG,aACnBzC,KAAKuC,KAAOA,EACZvC,KAAKL,UAAYA,EACjBK,KAAK2C,kBAAoBH,EAASG,kBAClC3C,KAAK4C,aAAc,EACnB5C,KAAK6C,gBAGL7C,KAAK8C,OAAS3F,EAAW4F,wBAAwBC,6BAA6BhD,KAAKiD,cAAeT,EAASU,OAGtGlD,KAAK8C,OAAOK,UAAU,SACvBnD,KAAK8C,OAAOM,UAAU,OAAQZ,EAASa,MAEvCrD,KAAKsD,iBACLtD,KAAK8C,OAAOS,GAAG,SAAUvD,KAAKsD,gBAAiBtD,MAInDA,KAAKwD,cAAgBxD,KAAKyD,sBAC1BzD,KAAK0D,WAAa,KAIdlB,EAASmB,UAAW,EAAO,CAC3B,GAAIC,GAAc,GAAIhH,GAAUiH,iBAC5BC,MAAO9D,KACP0C,GAAI1C,KAAK0C,IAGb1C,MAAK0D,WAAaE,EAAYG,IAC9B/D,KAAKwD,cAActC,OAAOlB,KAAK0D,WAG/B,IAAIM,GAAYJ,EAAYI,SAC5BhE,MAAK6C,aAAee,EAAYf,aAChC7C,KAAKwD,cAAcS,MACf,WAAaD,EAAUE,QAAW,WAAaF,EAAUG,UAKrE7B,GAAS8B,UAAUC,mBAIXhB,KAAM,cACNiB,MAAO,oBACPC,UAAW,SACXC,YAAa,SAASC,GACbA,EAAS3B,OAAOK,UAAU,oBAC3BsB,EAAS5B,aAAa6B,YAAYpD,SAAS,iBAAiBC,YAAY,UACxEkD,EAASE,gBACTF,EAAS3B,OAAOM,UAAU,mBAAmB,KAG7CqB,EAAS5B,aAAa6B,YAAYpD,SAAS,UAAUC,YAAY,iBACjEkD,EAAS3B,OAAOM,UAAU,mBAAmB,GAC7CqB,EAASG,oBAMjBvB,KAAM,gBACNiB,MAAO,gBACPC,UAAW,OACXC,YAAa,SAASC,GAClB,GAAIlC,GAAO,GAAIpF,GAAW0H,6BACtBC,WAAYL,EAAS3B,QAEzBP,GAAKwC,gBAAgB,sBAKzB1B,KAAM,cACNiB,MAAO,SACPC,UAAW,cACXC,YAAa,SAASC,GAElB3G,EAAE,YAAYkH,SACdP,EAASO,YAKrBrG,EAAO2D,EAAS8B,WACZnB,gBACMgC,IAAK,OAAQC,MAAO,OAAQjH,KAAM,OAAQkH,cAAe,KACzDF,IAAK,kBAAmBhH,KAAM,OAAQkH,eAAe,EAAMC,QAAQ,IAGzE9B,gBAAiB,aAEjB+B,KAAM,aAENC,QAAS,WACLtF,KAAKuC,KAAK+C,WAGdC,SAAU,WACN,MAAIvF,MAAKwF,SAAWxF,KAAK8C,OAAOK,UAAU,oBAC/B,GAGJ,GAGXsC,aAAc,aAEdC,MAAO,aAMPC,QAAS,aAKTC,SAAU,SAASC,GACf7F,KAAK8F,SAAW9F,KAAK8C,OAAOK,UAAU,QACtCnD,KAAK8C,OAAOM,UAAU,OAAQyC,IAMlCE,YAAa,WACL/F,KAAK8F,UACL9F,KAAK8C,OAAOM,UAAU,OAAQpD,KAAK8F,WAO3Cd,OAAQ,WACJhF,KAAKsF,UAELtF,KAAKL,UAAUe,gBAAgBV,KAC/B,IAAIuC,GAAOvC,KAAKuC,IAChBvC,MAAKwD,cAAcW,KAAK,EAAG,WACvBrG,EAAEkC,MAAMgF,SAERzC,EAAKyD,sBAObvC,oBAAqB,aAKrBwC,aAAc,aAKdtB,cAAe,aAKfC,cAAe,aAKfsB,cAAe,cAMnB,IAAIC,GAAqB,SAAS5D,EAAM5C,EAAW6C,GAC/CF,EAAS8D,KAAKpG,KAAMuC,EAAM5C,EAAW6C,GAGrCxC,KAAKqG,SAAW7D,EAAS6D,SACzBrG,KAAKsG,aAGT3H,GAAOwH,EAAmB/B,UAAW9B,EAAS8B,WAI1CmC,iBAAkB,SAASC,GAEvBxG,KAAKsG,YAEL,KAAK,GADD7B,GACK3E,EAAI,EAAGA,EAAI0G,EAAgBpG,OAAQN,IACxC2E,EAAWgC,GAAqBD,EAAgB1G,GAAIE,KAAKuC,KAAMvC,MAC/DA,KAAKa,aAAa4D,IAO1BY,KAAM,WACF,IAAK,GAAIvF,GAAI,EAAGA,EAAIE,KAAKsG,UAAUlG,OAAQN,IACvCE,KAAKsG,UAAUxG,GAAGuF,QAO1BK,MAAO,SAASgB,GACZ,IAAK,GAAI5G,GAAI,EAAGA,EAAIE,KAAKsG,UAAUlG,OAAQN,IACvCE,KAAKsG,UAAUxG,GAAG4F,MAAMgB,IAQhCf,QAAS,WAEL,IAAK,GADDgB,MACK7G,EAAI,EAAGA,EAAIE,KAAKsG,UAAUlG,OAAQN,IACvC6G,EAAoBC,KAAK5G,KAAKsG,UAAUxG,GAAG6F,UAE/C,QACIzC,MAAOlD,KAAK8C,OAAO+D,oBACnBR,SAAUrG,KAAKqG,SACfC,UAAWK,IAOnB9F,aAAc,SAAS4D,GACnBzE,KAAKsG,UAAUM,KAAKnC,GACpBA,EAAS9E,UAAYK,KACrBA,KAAKsF,WAMT3E,oBAAqB,SAAS8D,EAAUqC,GACpC9G,KAAKsF,SACL,IAAIyB,GAAQ/G,KAAKsG,UAAUU,QAAQF,EACnC,OAAc,KAAVC,GACA/G,KAAKsG,UAAUW,OAAOF,EAAO,EAAGtC,IACzB,IAEJ,GAMXyC,iBAAkB,SAASC,EAAcC,EAAcC,GACnD,GAAIN,GAAQ/G,KAAKsG,UAAUU,QAAQG,EAQnC,OAPc,KAAVJ,IACA/G,KAAKsG,UAAUS,GAASK,EACpBC,GACAF,EAAa3D,cAAc8D,YAAYF,EAAa5D,eAExDxD,KAAKsF,WAEFyB,GAMXrG,gBAAiB,SAAS+D,GACtB,GAAIsC,GAAQ/G,KAAKsG,UAAUU,QAAQvC,EACnC,OAAc,KAAVsC,GAEA/G,KAAKsG,UAAUW,OAAOF,EAAO,GAC7BtC,EAAS9E,UAAY,KACrBK,KAAKsF,WACE,IAEJ,GAMXlE,cAAe,SAASqD,EAAU8C,GAC9B,GAAIR,GAAQ/G,KAAKsG,UAAUU,QAAQvC,EACnC,OAAc,KAAVsC,GAEA/G,KAAKsG,UAAUW,OAAOF,EAAO,GAE7B/G,KAAKsG,UAAUW,OAAOM,EAAc,EAAG9C,GACvCzE,KAAKsF,WACE,IAEJ,GAMXY,cAAe,WACX,MAAOlG,MAAKsG,WAMhBkB,WAAY,SAASC,GAKjB,IAHA,GAEIhD,GAFAiD,EAAQ1H,KAAKsG,UAAUqB,MAAM,GAC7BC,KAEoB,IAAjBF,EAAMtH,QACTqE,EAAWiD,EAAMG,QACbpD,YAAoBgD,GACpBG,EAAOhB,KAAKnC,GAEPA,EAAS6B,YACdoB,EAAQA,EAAMI,OAAOrD,EAAS6B,WAGtC,OAAOsB,KAOf,IAAIG,GAAgB,SAASxF,EAAM5C,EAAW6C,GA+B1C,GA9BA7D,EAAO6D,GACH6D,SAAU,gBACV1D,kBAAmB,iBAEvBwD,EAAmBC,KAAKpG,KAAMuC,EAAM5C,EAAW6C,GAK/CxC,KAAKgI,YAAclK,EAAE,UAAUwD,SAAS,eAAetC,KAAK,KAAM,SAAWgB,KAAK0C,GAAK,gBAAgBuF,SAASjI,KAAKwD,eACrH3E,EAAamB,KAAKwD,cAAexD,MACjCnB,EAAamB,KAAKgI,YAAahI,MAC/Bf,EAASe,KAAKwD,cAAexD,KAAK2C,kBAAmB,SAAU3C,MAG/DA,KAAKkI,gBAAkB,GAAIlL,GAAYmL,eAAenI,MACtDA,KAAK0D,WAAW0E,MAAMpI,KAAKkI,gBAAgBG,YAG3CrI,KAAKkI,gBAAgBG,WAAWD,MAAOtK,EAAE,+BAGzCkC,KAAKsI,0BAGD,aAAe9F,IACfxC,KAAKuG,iBAAiB/D,EAAS8D,WAI/B,WAAa9D,GAAU,CAEvB,GAAI+F,GAAcvI,KAAKkI,eACvBlI,MAAKkI,gBAAkB,GAAIlL,GAAYmL,eAAenI,KAAMwC,EAASgG,SACrED,EAAYF,WAAWf,YAAYtH,KAAKkI,gBAAgBG,YAEpD7F,EAASgG,QAAQC,SACjBzI,KAAK0I,8BAKjB/J,GAAOoJ,EAAc3D,UAAW9B,EAAS8B,UAAW+B,EAAmB/B,WACnEC,kBACI/B,EAAS8B,UAAUC,iBAAiB,GACpC/B,EAAS8B,UAAUC,iBAAiB,IAGhChB,KAAM,iBACNiB,MAAO,uBACPC,UAAW,eACXC,YAAa,SAASmE,GAClB7K,EAAE,YAAYkH,SACd2D,EAAMC,0BAKVvF,KAAM,eACNiB,MAAO,UACPC,UAAW,gBACXC,YAAa,SAASmE,GAEdA,EAAMT,gBAAgBO,WAEtBE,EAAMT,gBAAgBW,gBACtBF,EAAMG,6BAONH,EAAMD,6BACNC,EAAMlD,cAAesD,kBAAkB,KAE3CJ,EAAMT,gBAAgBc,WAG9B1G,EAAS8B,UAAUC,iBAAiB,IAGxCZ,oBAAqB,WACjB,GAAID,GAAgB1F,EAAE,UAAUwD,SAAS,SAAStC,KAAK,KAAM,SAAWgB,KAAK0C,GAI7E,OAHI1C,MAAKL,WACLK,KAAKL,UAAUqI,YAAY9G,OAAOsC,GAE/BA,GAGXmB,cAAe,WACX3E,KAAKiJ,UAAU9E,QAGnBS,cAAe,WAEX5E,KAAKiJ,UAAU/E,OAEflE,KAAKyF,gBAGTQ,aAAc,WAIV,GAAIiD,GAAgBlJ,KAAKsG,UAAUlG,MACnC,IAAsB,IAAlB8I,EACAlJ,KAAK6C,aAAasG,eAAehF,OACjCnE,KAAK6C,aAAauG,aAAajF,WAE9B,IAAsB,IAAlB+E,EACLlJ,KAAK6C,aAAasG,eAAeH,OAAOhJ,KAAKsG,UAAU,YAAc+C,IACrErJ,KAAK6C,aAAauG,aAAajF,WAE9B,CAWD,GAAIrE,GAAGwJ,EAAG7E,EACN8E,GAAY,EACZC,EAASxJ,KAAKsG,UAAU,GAAGmD,WAC3BC,EAAqB,CACzB,KAAK5J,EAAI,EAAOoJ,EAAJpJ,EAAmBA,IAAK,CAEhC,GADA2E,EAAWzE,KAAKsG,UAAUxG,GACtB2E,EAASgF,aAAeD,EAAQ,CAChCG,eAAgB,CAChB,OAEAlF,YAAoBmF,IACpBF,IAeR,GAXIH,GAAavJ,KAAKsG,UAAU,YAAcuD,GAC1C7J,KAAK6C,aAAasG,eAAejF,QAGjClE,KAAK6C,aAAasG,eAAehF,OACjCrG,EAAE,YAAYkH,UAMd0E,EAAqB,GAAKA,IAAuB1J,KAAKsG,UAAUlG,OAAQ,CAIxE,GACI0J,GADAC,IAKJ,KADAtF,EAAWzE,KAAKsG,UAAU,GACrBgD,EAAI,EAAGA,EAAI7E,EAASyD,gBAAgBM,QAAQpI,OAAQkJ,IACrDQ,EAASrF,EAASyD,gBAAgBM,QAAQc,GAC1CS,EAAeD,EAAOzG,OAASyG,EAInC,KAAKhK,EAAI,EAAGA,EAAIE,KAAKsG,UAAUlG,OAAQN,IAEnC,IADA2E,EAAWzE,KAAKsG,UAAUxG,GACrBwJ,EAAI,EAAGA,EAAI7E,EAASyD,gBAAgBM,QAAQpI,OAAQkJ,IACrDQ,EAASrF,EAASyD,gBAAgBM,QAAQc,GACtCQ,EAAOzG,OAAQ0G,IACfA,EAAeD,EAAOzG,MAAMuD,KAAKkD,EAS7C9J,MAAKkI,gBAAgB8B,YACrB,IACIxB,GACAyB,CAGJ,KAAK,GAAIC,KAAeH,GACpBvB,EAAUuB,EAAeG,GACrB1B,EAAQpI,SAAWsJ,IAGnBO,EAAa,GAAIjN,GAAYmN,cACb9G,KAAMmF,EAAQ,GAAGnF,KACjB0D,MAAOyB,EAAQ,GAAGzB,QAElC/G,KAAKkI,gBAAgBkC,WAAWH,GAKxCjK,MAAK6C,aAAauG,aAAaJ,OAAOhJ,KAAKkI,gBAAgBM,QAAQpI,OAAS,OAG5EJ,MAAK6C,aAAauG,aAAajF,SAQ3C2E,yBAA0B,WACtB,IAAK,GAAIhJ,GAAI,EAAGA,EAAIE,KAAKsG,UAAUlG,OAAQN,IACvCE,KAAKsG,UAAUxG,GAAGoI,gBAAkBlI,KAAKsI,uBAAuBxI,EAEpEE,MAAKsI,2BAMTI,2BAA4B,WAExB,GAAI1I,KAAKkI,gBAAgBM,QAAQpI,OAAS,EAAG,CAEzCJ,KAAKsI,yBACL,KAAK,GAAIxI,GAAI,EAAGA,EAAIE,KAAKsG,UAAUlG,OAAQN,IACvC2E,SAAWzE,KAAKsG,UAAUxG,GAC1BE,KAAKsI,uBAAuB1B,KAAKnC,SAASyD,iBAC1CzD,SAASyD,gBAAkBlI,KAAKkI,gBAKxClI,KAAKkI,gBAAgBmC,gBAMzBzB,qBAAsB,WAClB,CAAA,GAAI0B,GAAkB,GAAIjB,GAAerJ,KAAKuC,KAAMvC,KAAKuC,MACrDc,KAAMrD,KAAK8C,OAAOK,UAAU,QAC5BmD,UAAWtG,KAAKsG,WAERtG,MAAKL,UAAUuH,iBAAiBlH,KAAMsK,GAAiB,GACnEA,EAAgB7E,gBAGpB5E,aAAc,SAAS4D,GACnB0B,EAAmB/B,UAAUvD,aAAauF,KAAKpG,KAAMyE,GACrDzE,KAAKiG,gBAGTvF,gBAAiB,SAAS+D,GACtB0B,EAAmB/B,UAAU1D,gBAAgB0F,KAAKpG,KAAMyE,GACxDzE,KAAKiG,gBAGTN,QAAS,WAED3F,KAAKkI,gBAAgBO,WACrBzI,KAAK8I,0BAGT,IAAItG,GAAW7D,EAAOwH,EAAmB/B,UAAUuB,QAAQS,KAAKpG,OAASwI,QAAWxI,KAAKkI,gBAAgBvC,WAOzG,OAJI3F,MAAKkI,gBAAgBO,WACrBzI,KAAK0I,6BAGFlG,GAGXiD,aAAc,SAASiB,GACnBhK,EAAE6N,KAAKvK,KAAKsG,UAAW,SAAS7G,GAC5BA,EAAEgG,aAAaiB,OAU3B,IAAI8D,GAAgBC,SAASC,KAAK/L,QAE9BgM,WAAY,SAASnI,GACjB7D,EAAO6D,GACH6D,SAAU,SAEdF,EAAmBC,KAAKpG,KAAM,OAAQwC,EAAS7C,UAAW6C,GAC1DxC,KAAK4K,MAAQ,KACb5K,KAAK6K,OAASrI,EAASqI,OACvB7K,KAAK8K,MAAQtI,EAASsI,MACtB9K,KAAK+K,YAAwCC,SAAzBxI,EAASuI,YAA4BvI,EAASuI,aAAc,EAChF/K,KAAKiL,gBACLjL,KAAKkL,wBACLlL,KAAKmL,QAAU,EACfnL,KAAKoL,SAAW,EAChBpL,KAAKqL,YAAc,EACnBrL,KAAKsL,eAAiB,GACtBtL,KAAKuL,aAAc,EAEnBvL,KAAKwL,qBAAuB,KAC5BxL,KAAKyL,SACLzL,KAAK0L,eAAiB,GAAI/O,GAAcgP,cAAe3L,KAAKL,UAAUmB,IAAI,GAAG8K,eAC7E5L,KAAK6L,QAGL7L,KAAK8C,OAAS3F,EAAW4F,wBAAwBC,+BACvCiC,IAAK,OAAQC,MAAO,OAAQjH,KAAM,OAAQkH,cAAe,KACzDF,IAAK,UAAWC,MAAO,UAAWjH,KAAM,QAASkH,cAAe,YAChEF,IAAK,UAAWC,MAAO,UAAWjH,KAAM,QAASkH,cAAe,YAChEF,IAAK,UAAWC,MAAO,UAAWjH,KAAM,QAASkH,cAAe,YAChEF,IAAK,UAAWC,MAAO,UAAWjH,KAAM,QAASkH,cAAe,YAChEF,IAAK,UAAWC,MAAO,UAAWjH,KAAM,QAASkH,cAAe,aACjE9B,KAAMb,EAASa,QAG5BoI,OAAQ,WAEJzL,KAAK8L,kBAAmB,CAGxB,IAAIC,GAAiB/L,KAAKL,UACtB4C,EAAOvC,IAEXA,MAAKgM,cAAgBlO,EAAE,UAAUwD,SAAS,iBAAiB2G,SAAS8D,GAEpE/L,KAAKiM,oBAAsBnO,EAAE,UAAUwD,SAAS,WAAW2G,SAAS8D,GAEpE/L,KAAKkM,iBAAmBpO,EAAE,UAAUwD,SAAS,oBAAoB2G,SAAS8D,GAE1E/L,KAAKmM,eAAiBrO,EAAE,UAAUwD,SAAS,kBAAkB2G,SAASjI,KAAKgM,eAE3EhM,KAAKoM,mBAAqBtO,EAAE,UAAUwD,SAAS,sBAAsBtC,KAAK,KAAM,sBAAsBiJ,SAASjI,KAAKiM,qBAEpHjM,KAAKgI,YAAchI,KAAKoM,mBACxBvN,EAAamB,KAAKoM,mBAAoB7J,GAEtCvC,KAAKqM,UAAYvO,EAAE,UAAUwD,SAAS,SAAS2G,SAASjI,KAAKoM,mBACrCtO,GAAE,UAAUwO,KAAK,iCAAiChL,SAAS,iBAAiB2G,SAASjI,KAAKqM,WAAWE,MAAM,WAC/H5P,EAAc6P,gBAAgBC,OAAOC,KAAO,8CAA+CD,OAAOC,KAAO,gBAAkBC,UAAWpK,EAAKuI,OAAS,SAASlD,GACzJlL,EAAE6N,KAAK3C,EAAQ,SAASgF,GACpBrK,EAAK1B,aAAc4F,GAAqBmG,EAAOrK,EAAMA,SAMjEvC,MAAK6M,cAAgB/O,EAAE,UAAUwD,SAAS,2BAA2BwL,UAAU9M,KAAKgM,eACpFhM,KAAK+M,IAAMjP,EAAE,UAAUwD,SAAS,iBAAiB2G,SAASjI,KAAK6M,eAE3D7M,KAAK+K,cACL/K,KAAK6M,cAAcvL,SAAS,eAC5BtB,KAAK+M,IAAIzL,SAAS,gBAItBtB,KAAKgN,SAAWlP,EAAE,UAAUwD,SAAS,YAAY2G,SAASjI,KAAKkM,kBAC/DlM,KAAKiN,kBAAoBnP,EAAE,UAAUwD,SAAS,qBAAqB2G,SAASjI,KAAKgN,UACjFhN,KAAKkN,eAAiBpP,EAAE,QAAQkB,KAAK,QAAS,kBACdsC,SAAS,sCACT6C,OACA8D,SAASjI,KAAKiN,mBAC9CjN,KAAKmN,mBAAqBrP,EAAE,UAAUwD,SAAS,sBAAsB6C,OAAO8D,SAASjI,KAAKiN,mBAC1FjN,KAAKoN,wBAA0BtP,EAAE,UAAUwD,SAAS,oBAAoB2G,SAASjI,KAAKiN,mBACtFjN,KAAKqN,aAAevP,EAAE,UAAUwD,SAAS,gBAAgB2G,SAASjI,KAAKiN,mBACvEjN,KAAKsN,wBAA0BtN,KAAKqN,aAAaE,SAEjDvN,KAAKwN,aAAe1P,EAAE,UAAUwD,SAAS,gBAAgB2G,SAASjI,KAAK+M,KACvE/M,KAAKyN,aAAe3P,EAAE,aAAakB,MAAOqE,KAAQ,UAAU/B,SAAS,aAAaJ,OAAO,qCAAqC+G,SAASjI,KAAKwN,aAC5I,IAAIE,GAAa,SAASlO,IACP,aAAXA,EAAEvB,MAAkD,MAA1BuB,EAAEmO,SAAWnO,EAAEoO,QAA4C,MAA1BpO,EAAEmO,SAAWnO,EAAEoO,UAC3C,MAA1BpO,EAAEmO,SAAWnO,EAAEoO,QAChBrL,EAAKsL,MAAO/P,EAAEkC,MAAMxC,OAExBM,EAAEkC,MAAMmE,OACRrG,EAAEkC,MAAMxC,IAAI,IACZ+E,EAAKuL,cAAc5J,OACnB3B,EAAKkL,aAAavJ,QAItB1E,EAAEuO,kBAEN/N,MAAKgO,UAAYlQ,EAAE,YAAYwD,SAAS,aAAa6C,OAAO9E,KAAK,iBAAkBqO,GAAYzF,SAASjI,KAAKwN,cAC7GxN,KAAK8N,cAAgBhQ,EAAE,WAAWwD,SAAS,YAAYtC,KAAK,QAAS,4BAA4BiP,SAAWC,UAAW,WAAajG,SAASjI,KAAKwN,cAClJxN,KAAK8N,cAAcvB,MAAM,WACrBhK,EAAKuL,cAAc3J,OACnB5B,EAAKkL,aAAatJ,OAClB5B,EAAKyL,UAAUxQ,IAAI+E,EAAKqI,MAAQ,IAAMrI,EAAK4L,IAAM,IAAM5L,EAAK6L,MAC5D7L,EAAKyL,UAAUK,IAAI,UAAW,gBAC9B9L,EAAKyL,UAAUM,SACf/L,EAAKyL,UAAUO,QAEfhM,EAAKyL,UAAUQ,cACXC,OAAQ,SAASC,EAASC,GAEtB,GAAIC,MACAC,EAA2B/Q,EAAEgR,IAAIvM,EAAKiF,WAAWoC,GAAe,SAASmF,GACzE,MAAOA,GAAEC,aAAaC,gBAAgBP,EAAQQ,MAAM7Q,QAAQ,SAAS8Q,GACjEP,EAAeA,EAAa9G,OAAOqH,MAK3CrR,GAAEsR,KAAKC,MAAMvR,EAAG+Q,GAA0BS,KAAK,WAC3CX,EAAS7Q,EAAEgR,IAAIF,EAAc,SAASW,GAClC,OACIrK,MAAOqK,EAAQ,GACfC,MAAOD,EAAQ,UAK/BE,UAAW,MAGCzE,SAAhBhL,KAAK6K,SACL7K,KAAK0P,aAAe5R,EAAE,YAAYkB,KAAK,OAAQ,UAAUxB,IAAIwC,KAAK6K,QAAQ5C,SAASjI,KAAKwN,eAG5FxN,KAAK2P,QAAU7R,EAAE,QAAQkB,KAAK,KAAM,YAAYA,KAAK,QAAS,YAAYiP,SAAUC,UAAW,WACtE3B,MAAM,WAAahK,EAAKqN,aAAe3H,SAASjI,KAAKwN,cAC9ExN,KAAK6P,QAAU/R,EAAE,QAAQkB,KAAK,KAAM,WAAWA,KAAK,QAAS,WAAWiP,SAAUC,UAAW,WACpE3B,MAAM,WAAahK,EAAKuN,YAAc7H,SAASjI,KAAKwN,cAG7ExN,KAAKwL,qBAAuBxL,KAAK+P,aAAa5B,IAAK,IACnDnO,KAAKyN,aAAapO,KAAK,SAAU,WAC7BkD,EAAKyN,aAAazN,EAAKkL,aAAajQ,SAkBxCwC,KAAKiM,oBAAoBM,MAAM,WAC3BzO,EAAEkC,MAAMgB,KAAK,SAASiP,QAAQ,UAIlCjQ,KAAKiM,oBAAoB5M,KAAK,WAAY,SAAUG,GAChD+C,EAAKuN,QAAQtQ,EAAE0Q,MAAOlQ,KAAKoM,sBAI/BpM,KAAKqN,aAAahO,KAAK,YAAa,SAAUG,EAAGC,GAC7CO,KAAKmQ,UAAY1Q,EAAE2Q,UACpB/Q,KAAK,OAAQ,SAAUG,EAAGC,GACzB,GAAI4Q,GAAQ5Q,EAAE2Q,QAAUpQ,KAAKmQ,SAC7BnQ,MAAKmQ,UAAY1Q,EAAE2Q,OACnB,IAAIE,GAAc7S,KAAKJ,MAAMgT,EAAQ9N,EAAK6J,mBAAmBmE,SAAWhO,EAAK6I,SAAW7I,EAAK4I,SAC7F5I,GAAKiO,YAAYF,KAGrBtQ,KAAKkN,eAAeX,MAAM,WACtBhK,EAAKkO,mBAITzQ,KAAKoM,mBAAmB/M,KAAM,WAAY,SAAUG,GAEhD,MAAKA,GAAEkR,QAAUnO,EAAK6J,mBAAmBmE,QAAU,IACxC,EADX,SAGDlR,KAAM,YAAa,SAAUG,EAAGC,GAC/BA,EAAEkR,aAAepO,EAAK4L,IACtB1O,EAAEmR,eAAiBpR,EAAEqR,QACrBpR,EAAE0Q,UAAY1Q,EAAE2Q,UACjB/Q,KAAM,OAAQ,SAAUG,EAAGC,GAC1B,GAAIE,GAAY7B,EAAEkC,MACdqQ,EAAQ5Q,EAAE2Q,QAAU3Q,EAAE0Q,UACtBW,EAAanR,EAAUoR,aAAevR,EAAEqR,QAAUpR,EAAEmR,eACxDjR,GAAUoR,UAAUD,GACpBrR,EAAEmR,eAAiBpR,EAAEqR,QACrBpR,EAAE0Q,UAAY1Q,EAAE2Q,OAChB,IAAIE,GAAc7S,KAAKJ,MAAMgT,EAAQ9N,EAAK6J,mBAAmBmE,SAAWhO,EAAK6L,KAAO7L,EAAK4L,KACzF5L,GAAKiO,WAAWF,KAkBpBtQ,KAAKmM,eAAe9M,KAAM,YAAa,WACnC,MAAOvB,GAAE,UAAUwD,SAAS,aAAa+M,IACrC,SAAU9L,EAAK0J,oBAAoBsB,SAAWhL,EAAK4J,eAAeoB,SAAW,GAC/EtF,SAAUnK,EAAEkC,SACfX,KAAM,OAAQ,SAAUG,EAAGC,GAC1B3B,EAAG2B,EAAEuR,OAAQ3C,KAAM4C,KAAMxT,KAAKyT,IAAK1R,EAAE0Q,MAAOzQ,EAAE0R,QAAW5O,EAAK5C,UAAUyR,SAASH,KAAMV,MAAO9S,KAAK4T,IAAK7R,EAAE0Q,MAAQzQ,EAAE0R,SACpH,IAAID,GAAMzT,KAAKyT,IAAI1R,EAAE0Q,MAAOzQ,EAAE0R,QAAW5O,EAAK5C,UAAUyR,SAASH,KAC7DK,EAAM7T,KAAK6T,IAAI9R,EAAE0Q,MAAOzQ,EAAE0R,QAAW5O,EAAK5C,UAAUyR,SAASH,KAC7DM,EAAQhP,EAAK6L,KAAO7L,EAAK4L,IACzBoC,EAAQhO,EAAK6J,mBAAmBmE,OACpChO,GAAKiP,gBAAiB/T,KAAKJ,MAAM6T,EAAMX,EAAQgB,GAAQhP,EAAK4L,IACtC1Q,KAAKJ,MAAMiU,EAAMf,EAAQgB,GAAQhP,EAAK4L,OAC7D9O,KAAM,UAAW,SAAUG,EAAGC,GAC7B,GAAIyR,GAAMzT,KAAKyT,IAAI1R,EAAE0Q,MAAOzQ,EAAE0R,QAC1BG,EAAM7T,KAAK6T,IAAI9R,EAAE0Q,MAAOzQ,EAAE0R,QAC1BI,EAAQhP,EAAK6L,KAAO7L,EAAK4L,IACzBoC,EAAQhO,EAAK6J,mBAAmBmE,QAChCkB,EAAUlP,EAAK4L,GACnB5L,GAAK4L,IAAM1Q,KAAKJ,MAAM6T,EAAMX,EAAQgB,GAAQE,EAC5ClP,EAAK6L,KAAO3Q,KAAKJ,MAAMiU,EAAMf,EAAQgB,GAAQE,EAC7C3T,EAAE2B,EAAEuR,OAAOhM,SACXzC,EAAKmP,mBA0BT1R,KAAK2R,gBAAiB,GAAIC,GAAY5R,MAAQgI,YAAahI,KAAKmM,kBAEhErO,EAAE+T,QAAQxS,KAAK,SAAU,WAEjBW,KAAK8R,cACLC,aAAa/R,KAAK8R,cAItB9R,KAAK8R,aAAeE,WAAW,WAC3BzP,EAAK0P,iBACN,OAEPnU,EAAEoU,UAAU7S,KAAK,SAAU,WAAakD,EAAK4P,WAE7CnS,KAAK6L,QACL/N,EAAE+T,QAAQ5B,QAAQ,WAGtBmC,eAAgB,SAASC,GACrB,MAAOrS,MAAK8C,OAAOK,UAAUkP,EAAKC,cAAgB,WAC3CtS,KAAK8C,OAAOK,UAAU,aAMrCxE,GAAQ6L,EAAcpG,UAAW+B,EAAmB/B,WAEhDkB,QAAS,WACLtF,KAAKuL,aAAc,GAIvBvF,iBAAkB,WACdhG,KAAKqM,UAAUrD,OAAiC,IAA1BhJ,KAAKsG,UAAUlG,SAOzCmS,iBAAkB,SAASC,EAAWC,EAASC,EAAUC,GAMrD,GAJI3S,KAAK4S,OACLb,aAAa/R,KAAK4S,OAGlBD,EAAO,CAGP,GAAIE,GAAO7S,IACXA,MAAK4S,MAAQZ,WAAW,WACpBa,EAAK5C,QAAQ,WAAYuC,EAAY,IAAMC,EAAU,IAAMC,IAC5D,SAGHnQ,MAAK0N,QAAQ,WAAYuC,EAAY,IAAMC,EAAU,IAAMC,IAInElB,gBAAiB,SAASrD,EAAKC,GAC3BpO,KAAK8N,cAAcxB,KAAMzP,EAAKiW,UAAU3E,GAAO,MAAQtR,EAAKiW,UAAU1E,IACtEpO,KAAKgO,UAAUxQ,IAAKwC,KAAK4K,MAAQ,IAAM/N,EAAKiW,UAAU3E,GAAO,IAAMtR,EAAKiW,UAAU1E,GAIlF,IAAIxD,GAAQ5K,KAAKyN,aAAajQ,KAChB,MAAVoN,GACA5K,KAAKuS,iBAAiB3H,EAAO5K,KAAKmO,IAAKnO,KAAKoO,MAAM,IAQ1D2B,YAAa,SAASgD,GAClBA,EAAUzV,IAAMuE,CAEhB,IACIU,GAAOvC,KACPgT,EAAalV,EAAEC,UAsCnB,OArCAD,GAAEE,MACEJ,IAAK6O,OAAOC,KAAO,eAAiB1M,KAAK8K,MACzC7N,KAAM8V,EACNE,SAAU,OACV5U,QAAS,SAAUC,GAEf,GAAiC,IAA7BA,EAAO4U,WAAW9S,OAAtB,CAKA,GAAI9B,EAAO6U,UAAW,CAClB,GAAIC,GAAY,GAAIC,GAAe9Q,EACnCA,GAAKoP,gBAAgByB,GACrB7Q,EAAK+Q,gBAAkBF,EAE3B7Q,EAAKyQ,WAAa1U,EAAO4U,UAEzB,KAAK,GADDK,GAAgB,gDACXzT,EAAI,EAAG0T,EAAMjR,EAAKyQ,WAAW5S,OAAYoT,EAAJ1T,EAASA,IAAK,CACxD,GAAI8K,GAAQrI,EAAKyQ,WAAWlT,GAAG8K,KAC/B2I,IAAiB,kBAAoB3I,EAAQ,KAAOA,EAAQ,YAE5DtM,EAAOmV,cACPF,GAAiB,qCAAuC1R,EAAwB,aAEhFvD,EAAOoV,cACPH,GAAiB,6BAA+B1R,EAAwB,aAE5EU,EAAKkL,aAAakG,KAAKJ,GACvBhR,EAAKqR,kBAAoBtV,EAAOuV,YAEhCb,EAAWtU,QAAQJ,EAAO4U,cAE9BY,MAAO,WACHC,MAAM,yCAA2CxR,EAAKuI,UAGvDkI,GAGXhD,aAAc,SAASpF,EAAOuD,EAAKC,GAC/B,GAAI7L,GAAOvC,IAEX,KAAKuC,EAAKyQ,WAIN,WAHAzQ,GAAKiJ,qBAAqBwI,KAAK,WAC3BzR,EAAKyN,aAAapF,EAAOuD,EAAKC,IAMtC,IAAKxD,GAAmB,SAAVA,EAAd,CAOA,GAAc,aAAVA,EAEA,WADArI,GAAKwN,aAAa5B,IAAKnO,KAAK4T,kBAAoB/R,GAGpD,IAAc,SAAV+I,EAEA,WADArI,GAAKwN,aAAa5B,IAAKnO,KAAK4T,kBAAoB/R,GAQpD,IAAIoS,GAAQnW,EAAEoW,KAAK3R,EAAKyQ,WAAY,SAASmB,GACzC,MAAOA,GAAEvJ,QAAUA,IACpB,EACH,IAAcI,SAAViJ,EAGA,WADA1R,GAAKwN,aAAanF,MAASA,GAAQ,WAAarI,EAAKyN,aAAapF,EAAOuD,EAAKC,IAK9E,IAAIxD,IAAUrI,EAAKqI,MAAO,CACtBrI,EAAKqI,MAAQA,EACbrI,EAAKkL,aAAajQ,IAAI+E,EAAKqI,OAC3BrI,EAAK6I,SAAW6I,EAAMT,IAAI,EAC1BjR,EAAKsJ,OAEL,KAAK,GAAI/L,GAAI,EAAG0T,EAAMjR,EAAK+D,UAAUlG,OAAYoT,EAAJ1T,EAASA,IAAK,CACvD,GAAI2E,GAAWlC,EAAK+D,UAAUxG,EAC1B2E,GAASY,MACTZ,EAASY,OAGb9C,EAAK+Q,iBACL/Q,EAAK+Q,gBAAgBjO,OAKjB2F,SAARmD,GAA8BnD,SAAToD,GAErB7L,EAAK4L,IAAM,EACX5L,EAAK6L,KAAO7L,EAAK6I,WAIjB7I,EAAK4L,IAAenD,SAARmD,EAAoB1Q,KAAK6T,IAAInD,EAAK,GAAK,EACtCnD,SAAToD,GAGA7L,EAAK4L,IAAM1Q,KAAK6T,IAAI/O,EAAK4L,IAAM,GAAI,GACnC5L,EAAK6L,KAAO7L,EAAK4L,IAAM,IAIvB5L,EAAK6L,KAAO3Q,KAAKyT,IAAI9C,EAAM7L,EAAK6I,WAIxC7I,EAAKmP,mBAgBb7D,MAAO,SAASuG,GAEZA,EAAMA,EAAIC,QAAQ,KAAM,IAGxBD,EAAMA,EAAIC,QAAQ,QAAS,IAG3B,IAAIC,GAAYF,EAAIG,MAAM,OACtB3J,EAAQ0J,EAAU,GAClB7B,EAAW6B,EAAU,GAAKE,SAASF,EAAU,GAAI,IAAMtJ,OACvD0H,EAAY4B,EAAU,GAAKE,SAASF,EAAU,GAAI,IAAMtJ,MAE5DhL,MAAKgQ,aAAapF,EAAO6H,EAASC,IAGtC+B,cAAe,SAASC,GACpB,GAAInS,GAAOvC,KACPuR,EAAOhP,EAAK6L,KAAO7L,EAAK4L,GAC5BnO,MAAKwQ,WAAWkE,EAAWnD,IAG/Bf,WAAY,SAASF,GAKjB,GAAI/N,GAAOvC,KACP2U,EAAqBpS,EAAK6L,KAAO7L,EAAK4L,GAEtC5L,GAAK4L,IAAMmC,EAAc/N,EAAK4I,SAC9B5I,EAAK4L,IAAM5L,EAAK4I,QAChB5I,EAAK6L,KAAO7L,EAAK4I,QAAUwJ,GACpBpS,EAAK6L,KAAOkC,EAAc/N,EAAK6I,UACtC7I,EAAK6L,KAAO7L,EAAK6I,SACjB7I,EAAK4L,IAAM5L,EAAK6I,SAAWuJ,IAE3BpS,EAAK6L,MAAQkC,EACb/N,EAAK4L,KAAOmC,GAQhB/N,EAAKmP,gBAAiBkD,YAAY,IAG9B5U,KAAK6U,mBACL9C,aAAa/R,KAAK6U,mBAGtB7U,KAAK6U,kBAAoB7C,WAAW,WAChCzP,EAAKmP,kBACN,IAGH,IAAI9G,GAAQrI,EAAKkL,aAAajQ,KAC9BwC,MAAKuS,iBAAiB3H,EAAOrI,EAAK4L,IAAK5L,EAAK6L,MAAM,IAMtDvN,aAAc,SAAS4D,GACnB0B,EAAmB/B,UAAUvD,aAAauF,KAAKpG,KAAMyE,GACrDA,EAASY,OACTrF,KAAKsF,UACLtF,KAAKgG,kBAIL,IAAI6M,GAAO7S,IACXyE,GAAS3B,OAAOS,GAAG,SAAU,WACzBsP,EAAKvN,aAIbqM,gBAAiB,SAAUmD,GACvBA,EAAYvS,KAAOvC,KACnB8U,EAAYzP,OACZrF,KAAKiL,aAAarE,KAAKkO,IAM3BpU,gBAAiB,SAAS+D,EAAUN,GAEhC,GADAgC,EAAmB/B,UAAU1D,gBAAgB0F,KAAKpG,KAAMyE,GACpDN,EAAM,CACN,GAAI5B,GAAOvC,IACXyE,GAASjB,cAAcW,KAAK,EAAG,WAC3BrG,EAAEkC,MAAMgF,SACRzC,EAAKyD,uBAKjB6F,MAAO,WACH7L,KAAKmO,IAAMnO,KAAKmL,QAChBnL,KAAKoO,KAAOpO,KAAKoL,SACjBpL,KAAKoM,mBAAmBpL,KAAK,eAAegE,UAOhD0M,eAAgB,SAAShL,EAASjC,GAC9B,GAAIlC,GAAOvC,KAEP+U,EAActQ,GAAYA,GAAYlC,EAAK+D,SAG/C5J,GAAE6N,KAAKwK,EAAY,SAASnI,GACxB,GAAIoI,GAAgBtY,EAAEsE,KAAKuB,EAAK2I,qBAAsB,SAAS+J,GAC3D,MAAOA,GAAG,KAAOrI,GAGjBoI,GAEAA,EAAc,GAAKtO,EAInBnE,EAAK2I,qBAAqBtE,MAAMgG,EAAOlG,MAK1C1G,KAAK8L,mBACNoJ,sBAAsB,WAAa3S,EAAK4S,YACxCnV,KAAK8L,kBAAmB,IAShCqJ,QAAS,WAILnV,KAAK8L,kBAAmB,CAExB,IAAIqC,GAAMnO,KAAKmO,IACXC,EAAOpO,KAAKoO,IAEZD,GAAMnO,KAAKmL,UACXgD,EAAMnO,KAAKmL,SAEXiD,EAAOpO,KAAKoL,WACZgD,EAAOpO,KAAKoL,SAEhB,IAAImG,GAAOvR,KAAKoO,KAAOpO,KAAKmO,GACV,KAAdnO,KAAKoO,MAAcmD,EAAOvR,KAAKsL,iBAC/B8C,EAAOD,EAAMnO,KAAKsL,gBAEtBtL,KAAKmO,IAAM1Q,KAAK2X,MAAMjH,GACtBnO,KAAKoO,KAAO3Q,KAAK4X,KAAKjH,GAEtBpO,KAAKwR,gBAAgBxR,KAAKmO,IAAKnO,KAAKoO,MAKpCpO,KAAKsV,gBAAkBtV,KAAKoM,mBAAmBmE,SAAWvQ,KAAKoO,KAAOpO,KAAKmO,IAG3E,IAAIoH,GAAYvV,KAAKmO,KAAOnO,KAAKoL,SAAWpL,KAAKmL,SAAWnL,KAAKiN,kBAAkBsD,SAAa,EAC5FiF,GAAcxV,KAAKoO,KAAOpO,KAAKmO,MAAMnO,KAAKoL,SAAWpL,KAAKmL,SAAWnL,KAAKiN,kBAAkBsD,SAAa,EACzGkF,EAAe,EAEnBzV,MAAKqN,aAAagB,KAAM4C,KAAMsE,EAAShF,MAAO9S,KAAK6T,IAAImE,EAAcD,KAAatR,OACnEuR,EAAXD,GACAxV,KAAKqN,aAAagB,IAAI,OAAQkH,GAAWE,EAAeD,GAAU,GAElExV,KAAKmN,oBACLnN,KAAKmN,mBAAmBkB,KAAM4C,KAAMsE,EAAShF,MAAOiF,IAIxD9Y,EAAE6N,KAAKvK,KAAKkL,qBAAsB,SAAS8J,GACvC,GAAIpI,GAAQoI,EAAc,GACtBtO,EAAUsO,EAAc,EACxBpI,IACAA,EAAMlH,MAAMgB,KAGpB1G,KAAKkL,wBAGLxO,EAAE6N,KAAKvK,KAAKiL,aAAc,SAAS6J,GAC/BA,EAAYpP,WAIpBoK,QAAS,SAAU4F,GACf,KAAsB,IAAlB1V,KAAKoL,UAAkBpL,KAAKoO,KAAOpO,KAAKmO,KAAOnO,KAAKsL,gBAAxD,CAGA,GAAIiG,GAAOvR,KAAKoO,KAAOpO,KAAKmO,IACxBwH,EAAapE,EAAO,EAAIvR,KAAKmO,IAC7ByH,EAAYrE,EAAOvR,KAAKqL,YAAe,CACvCqK,KACAC,EAAaD,EAAQ1V,KAAKoM,mBAAmBmE,SAAWvQ,KAAKoO,KAAOpO,KAAKmO,KAAOnO,KAAKmO,KAEzFnO,KAAKmO,IAAM1Q,KAAKJ,MAAMsY,EAAaC,GACnC5V,KAAKoO,KAAO3Q,KAAKJ,MAAMsY,EAAaC,GAEpC5V,KAAKsF,UACLtF,KAAK0R,mBAGT9B,SAAU,WACN,GAAsB,IAAlB5P,KAAKoL,SAAT,CAGA,GAAImG,GAAOvR,KAAKoO,KAAOpO,KAAKmO,IACxBwH,EAAapE,EAAO,EAAIvR,KAAKmO,IAC7ByH,EAAYrE,EAAOvR,KAAKqL,YAAe,CAC3CrL,MAAKmO,IAAM1Q,KAAKJ,MAAMsY,EAAaC,GACnC5V,KAAKoO,KAAO3Q,KAAKJ,MAAMsY,EAAaC,GACpC5V,KAAKsF,UACLtF,KAAK0R,mBAITmE,gBAAiB,WACb7V,KAAKoM,mBAAmBmB,OAAQvN,KAAKL,UAAU4N,SAAWvN,KAAKgM,cAAcuB,SAAWvN,KAAKkM,iBAAiBqB,WAIlH0E,cAAe,WACXjS,KAAK6V,kBACL7V,KAAK0R,kBAIToE,aAAc,SAASrR,GACnB,GAAIzE,KAAK+V,kBAAmB,CAGxB,GAAI/V,KAAK+V,kBAAkBC,QAAQtT,KAAO+B,EAASuR,QAAQtT,GACvD,MAEJ1C,MAAKiN,kBAAkBjM,KAAK,UAAUgE,SAI1C,GACI+Q,GAAoBtR,EAASwR,MAAQjO,YAAahI,KAAKiN,oBACvD1K,EAAOvC,IACX+V,GAAkBrS,WAAWS,OAC7B4R,EAAkBnT,aAAc,EAChCL,EAAKwT,kBAAoBA,EACzB/V,KAAK+V,kBAAkBG,iBAAmB,WACtC3T,EAAK4K,mBAAmBjJ,OAAOqJ,OAAOhL,EAAKwT,kBAAkB/N,YAAYuF,UACzEhL,EAAK0K,kBAAkBM,OAAOhL,EAAKwT,kBAAkB/N,YAAYuF,SAAWhL,EAAK8K,aAAa/M,eAC9FiC,EAAK2K,eAAehJ,OACpB3B,EAAK0P,iBAET1P,EAAKwT,kBAAkBtQ,eACvBzF,KAAKsF,WAITmL,eAAgB,WAEZ3S,EAAE,YAAYkH,SACdhF,KAAKiN,kBAAkBjM,KAAK,eAAegE,SAC3ChF,KAAKiN,kBAAkBM,OAAOvN,KAAKsN,yBACnCtN,KAAKqN,aAAaE,OAAOvN,KAAKsN,yBAC9BtN,KAAKkN,eAAe/I,OACpBnE,KAAKmN,mBAAmBhJ,OACxB5B,KAAK0P,gBACL1P,KAAKwT,kBAAoB,OAOjC,IAAII,GAAgBjZ,EAAUkZ,KAAKzX,QAC/B0X,UACIzJ,MAAO,MAGXjC,WAAY,SAASjE,GACjBxJ,EAAUkZ,KAAKhS,UAAUuG,WAAWvE,KAAKpG,KAAM0G,EAG/C,IAAItB,IAAS,CACc4F,UAAvBtE,EAAQ4P,YAA0DtL,SAA9BtE,EAAQ4P,WAAWlR,SACvDA,EAASsB,EAAQ4P,WAAWlR,QAEhCpF,KAAKuW,IAAI,SAAUnR,GAKnBpF,KAAKwW,eAAiB,OAAQ,cAAe,iBAGjDC,WAAY,WACR,MAAO/Z,GAAEiC,OAAQqB,KAAK0W,mBAAqBtR,QAASpF,KAAK2W,kBAO5DC,EAAoBnM,SAASC,KAAK/L,QAEnCkY,QACIC,gBAAiB,gBAGrBrL,OAAQ,WACJ,GAAIsL,GAAY/W,KAAK+D,IAAIzC,SAAS,aAC9B0V,EAAQhX,KAAK8D,MAKbmT,GAFYnZ,EAAE,SAASwD,SAAS,eAAegL,KAAK0K,EAAMlW,IAAI,UAAUmH,SAAS8O,GAEtEjZ,EAAE,UAAUwD,SAAS,eAAeqS,KAAKqD,EAAMlW,IAAI,SAASmH,SAAS8O,GAEpFE,GAASjW,KAAK,UAAUxD,IAAIwZ,EAAMlW,IAAI,UAGtChD,EAAE,+BAA+BmK,SAAS8O,IAG9CG,aAAc,SAASC,GACnBnX,KAAK8D,MAAMV,UAAUtF,EAAEqZ,EAAaC,QAAQ5Z,UAOhD6Z,EAAoB5M,SAASC,KAAK/L,QAElCgM,WAAY,WACR3K,KAAK8D,MAAMP,GAAG,gBAAiBvD,KAAKsX,YAAatX,OAMrDyL,OAAQ,WACJ,GAAIoH,GAAO7S,IACPuX,MAAOvX,KAAK8D,MACZuE,WAAarI,KAAK+D,IAAIzC,SAAS,gBAAgB6C,OAGnDkE,WAAWhJ,KAAK,OAAQ,SAASG,GAC7BA,EAAEuO,oBACHxB,MAAM,SAAS/M,GACdA,EAAEuO,oBACH1O,KAAK,WAAY,SAASG,GACzBA,EAAEuO,oBACHyJ,QAAQ,SAAShY,GAAKA,EAAEuO,mBAGZjQ,GAAE,2BAA2BmK,SAASI,YAAYiE,KAAKiL,KAAKzW,IAAI,QAC/EyW,MAAKzW,IAAI,UAAUyJ,KAAK,SAASyM,GAE7B,GAAIS,GAAa,GAAIb,IAAoB9S,MAAOkT,GAChDS,GAAWhM,SACXpD,WAAWnH,OAAOuW,EAAW1T,OAIjCsE,WAAWrH,KAAK,SAASuL,MAAM,WAAazO,EAAEkC,MAAMsO,UAGpD,IAAIoJ,GAAe5Z,EAAE,SAASwD,SAAS,aAAa2G,SAASI,YACzDsP,EAAwB7Z,EAAE,yBAAyBkB,KAAK,QAAS,2BAA2BiJ,SAASyP,GACrGE,EAAuB9Z,EAAE,yBAAyBkB,KAAK,QAAS,yBAAyBiJ,SAASyP,EACtGE,GAAqBrL,MAAO,WAExBsG,EAAKgF,kBAETF,EAAsBpL,MAAO,WACzBsG,EAAKiF,mBAGLP,KAAKZ,cACL3W,KAAK+D,IAAIG,QAOjBoT,YAAa,WACTtX,KAAK+D,IAAIiF,OAAOhJ,KAAK8D,MAAM6S,eAM/BoB,cAAe,WACX,IAAK,GAAIjY,GAAI,EAAGA,EAAIE,KAAKgY,OAAO5X,OAAQN,IACpCE,KAAKgY,OAAOlY,GAAGoX,gBAOvBY,eAAgB,WACZ,GAAIP,GAAOvX,KAAK8D,KAChB9D,MAAKiY,KAGGC,kBAAmBlY,KAAK8D,MAAMhD,IAAI,SAASkV,QAAQtT,GACnDyV,OAAQ,QACRC,QAASb,EAAK7U,IAElB,KAEA,WACI+J,OAAO4L,MAAMnU,MAAMI,MAAOiT,EAAKzW,IAAI,QAAU,cAAewX,KAAMf,EAAKzW,IAAI,QAAU,8EAA+EyX,SAAWC,MAAU,WAAa/L,OAAO4L,MAAMlU,cAS/N0T,cAAe,WAIX,GAoBIlY,GApBAiN,EAAQ5M,KAAK8D,MAAMhD,IAAI,SACvByW,EAAOvX,KAAK8D,MACZ2U,EAAS,GAAI9b,GAAc+b,cACvB9N,MAAOgC,EAAMrK,KAAKqI,MAClB+N,MAAO/L,EAAMrK,KAAK4L,IAClByK,IAAKhM,EAAMrK,KAAK6L,OAEpByK,GAEIX,kBAAmBtL,EAAMoJ,QAAQtT,GACjCyV,OAAQ,QACRC,QAASb,EAAK7U,GACdoW,SACIL,EAAOM,WAGfC,EAAgBpM,EAEhBqM,EAAa1B,EAAKzW,IAAI,QACTkY,EAAcE,+BAA+BT,EAK9D,IAAIO,EAAcrZ,YAAc4C,KAAM,CAElC,GAAIoG,GAAQ,GAAIZ,GAAcxF,KAAMA,MAAQc,KAAMuJ,EAAM9J,OAAOK,UAAU,UAGrE4D,EAAQiS,EAAcrZ,UAAUuH,iBAAiB8R,EAAerQ,GAAO,EAK3EA,GAAMnF,cAAc/C,aAAauY,EAAczW,KAAKyF,YAAY/H,WAAW8G,IAC3E4B,EAAM9H,aAAamY,GACnBA,EAAcxV,cAAcyE,SAASU,EAAMX,aAC3CrI,EAAYgJ,MAIZhJ,GAAYqZ,EAAcrZ,SAI9B,IAAIwZ,GAAY,GAAIH,GAAcI,YAAY7W,KAAM5C,GAChD0D,KAAM4V,EACNI,SAAU,OAEdF,GAAUG,qBACVH,EAAUI,YAAYP,EAAcQ,MACpCL,EAAUM,oBAAoBT,EAAc9Q,gBAAgB+N,KAAKkD,IACjEA,EAAUlT,eACVtG,EAAUkB,aAAasY,GACvBA,EAAUlQ,UAAUqD,KAAK,iBAGzBtM,KAAKiY,IAAIY,EAAYM,EAEb,SAASO,GACLP,EAAUQ,YAAY,GAAI1c,GAAK2c,QAAQF,IACvCP,EAAUlQ,UAAUqD,KAAK,gBACzB6M,EAAU9T,UAQ1B4S,IAAK,SAASY,EAAYM,EAAWU,GAEjChB,EAAWiB,OAAS9Z,KAAK8D,MAAM4S,iBAC/B,IAAIqD,GAAc,GAAIld,GAAKmd,qBACvBC,eACIrc,IAAK6O,OAAOC,KAAO,YACnBzP,KAAMid,KAAKC,UAAUtB,GACrB5F,SAAU,OACVmH,YAAa,mBACbnc,KAAM,QAEVoc,SAAU,IACVC,WAAY,SAAS3L,GACjB,MAAoB,YAAbA,IAQf7Q,GAAEsR,KAAK2K,EAAYQ,MAAMvG,KAAK,SAASrF,GAClB,iBAAbA,GAEAwK,EAAU3V,cAAclC,SAAS,SACjC6X,EAAUnR,YAAYsE,KAAKvK,IAEtB4M,EAASmF,OAEdqF,EAAU3V,cAAclC,SAAS,SACjC6X,EAAUnR,YAAYsE,KAAKpK,EAAuByM,EAAS6L,UAI3DX,EAAiBlL,QAU7B8L,EAAe,SAAS3Q,EAAQ4Q,GAChC3d,EAAS4d,OAAOvU,KAAKpG,KAAM0a,GAC3B1a,KAAK8J,OAASA,EAGlB2Q,GAAarW,UAAUwW,QAAU,SAASC,GAEtC,MAAI7a,MAAK8J,OAAOsE,OAAS0M,OAAOC,WAAa/a,KAAK8J,OAAOqE,OAAS2M,OAAOC,WAAa/a,KAAK8J,OAAOqE,MAAQnO,KAAK8J,OAAOsE,KAC3GpO,KAAK0a,aAILM,WAAWH,EAAa7a,KAAK8J,OAAO/C,QAAU/G,KAAK8J,OAAOqE,MAAUnO,KAAK8J,OAAOsE,KAAOpO,KAAK8J,OAAOqE,KAMlH,IAAI8M,GAAO,SAASrO,EAAO6L,EAAQyC,EAASC,EAAQle,GAChD+C,KAAK4M,MAAQA,EACb5M,KAAKyY,OAASA,EACdzY,KAAKmO,IAAMsK,EAAO3X,IAAI,SACtBd,KAAKoO,KAAOqK,EAAO3X,IAAI,OACvBd,KAAKkb,QAAUA,EACflb,KAAKmb,OAASA,EAEdnb,KAAKob,SAAWtd,EAAE,6BAA6BoD,OAAOia,GACtDnb,KAAK/C,KAAOA,EACZ+C,KAAKqb,OAAQ,EAMjBJ,GAAK7W,UAAUkX,mBAAqB,YAEpC,IAAIC,GAAgB,SAAS3O,EAAO6L,EAAQyC,EAASC,EAAQle,GACzDge,EAAK7U,KAAKpG,KAAM4M,EAAO6L,EAAQyC,EAASC,EAAQle,GAEpDse,GAAcnX,UAAUkX,mBAAqB,YAE7C,IAAIE,GAAmB,SAAS5O,EAAO6L,EAAQyC,EAASC,EAAQle,EAAMuc,EAAMgB,EAASiB,EACrDC,EAAgBC,EAAqBC,GAEjEX,EAAK7U,KAAKpG,KAAM4M,EAAO6L,EAAQyC,EAASC,EAAQle,GAChD+C,KAAKwZ,KAAOA,EACZxZ,KAAKyb,YAAcA,EACnBzb,KAAK0b,eAAiBA,EACtB1b,KAAK6b,WAAY,EACjB7b,KAAK2b,oBAAsBA,EAE3B3b,KAAK8b,8BACL9b,KAAK4b,SAAWA,EAuDpBjd,GAAO6c,EAAiBpX,UAAW6W,EAAK7W,WAKxCoX,EAAiBpX,UAAUkX,mBAAqB,YAiHhD,IAAIS,GAAQ,SAASxZ,EAAM5C,EAAW6C,GAElC7D,EAAO6D,GACHG,kBAAmB,eAEvBL,EAAS8D,KAAKpG,KAAMuC,EAAM5C,EAAW6C,GAOrCxC,KAAKgW,QAAU,KACXxT,EAASwT,UAEThW,KAAKgW,QAAWxT,EAASwT,kBAAmBvL,UAASuR,MAAQxZ,EAASwT,QAAU,GAAI/Y,GAAK2c,QAAQpX,EAASwT,UAE9GhW,KAAKic,mBAAqB,2BAC1Bjc,KAAKkc,yBACLlc,KAAKmc,gBAAmB,mBAAqB3Z,GAAWA,EAAS2Z,gBAAkBva,EAEnF5B,KAAKgP,aAAgB,gBAAkBxM,GAClBA,EAASwM,aACT,GAAIrS,GAAcyf,mBACdpG,QAAShW,KAAKgW,QAGdqG,OAAQ,GAAI1f,GAAc2f,QACvBrX,IAAK1C,EAAKuI,MACVyR,aACIrJ,WAAY3Q,EAAKyQ,cAGxBwJ,qBAAsBxc,KAAKyc,yBAC3BC,WAAY1c,KAAK0c,aAI1C1c,KAAK2c,cAAgB,GACrB3c,KAAK4c,cAAgB,IACrB5c,KAAK6c,kBAAoB7c,KAAK8C,OAAOK,UAAU,UAK/CnD,KAAKgI,YAAclK,EAAE,+BAA+BmK,SAASjI,KAAKwD,eAC9DxD,KAAKL,YACLK,KAAKL,UAAUqI,YAAY9G,OAAOlB,KAAKwD,eAChC,UAAYhB,KAAaA,EAASsa,QACrC9c,KAAK+c,qBAKjBpe,GAAOod,EAAM3X,UAAW9B,EAAS8B,WAC7BC,mBAGQhB,KAAM,YACNiB,MAAO,mBACPC,UAAW,iBACXC,YAAa,cAGjBlC,EAAS8B,UAAUC,iBAAiB,IAGhChB,KAAM,gBACNiB,MAAO,kBACPC,UAAW,uBACXC,YAAa,SAASoI,GAClBA,EAAMrK,KAAKuT,aAAalJ,KAIhCtK,EAAS8B,UAAUC,iBAAiB,IAGhChB,KAAM,eACNiB,MAAO,UACPC,UAAW,gBACXC,YAAa,SAASC,GAEdA,EAASyD,gBAAgBO,UACzBhE,EAASyD,gBAAgBW,gBAGzBpE,EAASyD,gBAAgBmC,eAE7B5F,EAASyD,gBAAgBc,YAK7B3F,KAAM,aACNiB,MAAO,OACPC,UAAW,SACXC,YAAa,SAASoI,GAGlBA,EAAM2K,KAAKvO,SAGP4D,EAAM2K,KAAKZ,aACX/J,EAAMhH,SAASgH,EAAM9J,OAAOK,UAAU,QAAUyJ,EAAMsM,kCAGtDtM,EAAM7G,cAGVjI,EAAE,YAAYkH,YAKlB3B,KAAM,uBACNiB,MAAO,qCACPC,UAAW,cACXC,YAAa,SAASoI,GAClB,GAAI+G,GACA,yBAA2B/G,EAAM2K,KAAKzW,IAAI,QAAU,iCACtB8L,EAAM9J,OAAOK,UAAU,QAAU,iOAM/D6Z,EAAY,WAAavQ,OAAO4L,MAAMlU,OAAQrG,EAAE+T,QAAQoL,OAAO,6BAC/DC,EAAQ,WACJ,GACIpE,GADAqE,EAAiBrf,EAAE,0CAA0CN,MAE7D4f,EAAc,GAAIzgB,GAAc+b,cAC5B9N,MAAOrI,KAAKqI,MACZ+N,MAAOpW,KAAK4L,IACZyK,IAAKrW,KAAK6L,OAEdiP,EAAqB3gB,EAAEoS,IAAIhR,EAAE,aAAc,SAASwf,GAChD,MAAO,IAAI3gB,GAAc+b,cAAc6E,SAAUzf,EAAEwf,GAAKrd,SAAS,aAAaqM,UAMlFwM,GAFmB,QAAnBqE,GAEYC,GAEY,cAAnBD,EAEKE,GAIED,GAActV,OAAOuV,GAGrC5Q,OAAO4L,MAAMlU,OAGb0N,OAAO2L,SAASC,KACZhR,OAAOC,KAAO,2BACd5O,EAAEkZ,OACE0G,WAAY9Q,EAAMoJ,QAAQtT,GAC1B2W,SAAUzM,EAAMoJ,QAAQlV,IAAI,YAC5BgY,QAASoB,KAAKC,UAAU,GAAI1P,UAASkT,WAAW7E,GAASC,YAYzEtM,QAAO4L,MAAMnU,MAAMI,MAAO,+EAAgFgU,KAAM3E,EAAM4E,SAAWqF,GAAOZ,EAAWa,IAAQX,OAInK5a,EAAS8B,UAAUC,iBAAiB,IAGxCkB,SAAU,WACN,MAAOvF,MAAKgW,SAAW1T,EAAS8B,UAAUmB,SAASa,KAAKpG,OAG5DyD,oBAAqB,WACjB,MAAO3F,GAAE,UAAUwD,SAAS,SAAStC,KAAK,KAAM,SAAWgB,KAAK0C,KAMpEiX,YAAa,SAAS3D,GAClBhW,KAAKgW,QAAUA,EACfhW,KAAKgP,aAAauH,IAAI,UAAWP,IAMrC8H,UAAW,WACP9d,KAAKyF,cAAesD,kBAAkB,KAM1CgU,kBAAmB,WACf,GAAInQ,GAAQ5M,KACR+d,GAAY,EACZC,GAAU,EACVC,EAAengB,EAAG,6BAEtBA,GAAE8O,EAAMpJ,eAAeS,MAAO,WACrB2I,EAAM9J,OAAOK,UAAU,qBACxB4a,GAAY,EACZE,EAAa/Z,SAElB,WACC6Z,GAAY,EACLC,GAAYC,EAAa9Z,SAIpC8Z,EAAa9Z,OAAO9E,KAAM,YAAa,SAAUG,EAAGC,GAChDue,GAAU,EACVve,EAAEye,gBAAkBpgB,EAAE8O,EAAM5E,aAAauF,WAC1ClO,KAAM,OAAQ,SAAUG,EAAGC,GAC1B,GAAI0e,GAAa1gB,KAAKyT,IAAKzT,KAAK6T,IAAK7R,EAAEye,gBAAkBze,EAAE4B,OAAQuL,EAAM+P,eAAiB/P,EAAMgQ,cAChG9e,GAAE8O,EAAM3D,WAAWoF,IAAK,SAAU8P,GAClCvR,EAAMiQ,kBAAqBjQ,EAAMgQ,gBAAkBuB,EAAa,EAAIA,EACpEvR,EAAMkR,cACPze,KAAM,UAAW,WAChBuN,EAAMwR,WAAWC,QACjBL,GAAU,EACLD,GAAaE,EAAa9Z,OAC/ByI,EAAM9J,OAAOM,UAAU,SAAUwJ,EAAMiQ,mBACvCjQ,EAAMtH,YACP2C,SAAS2E,EAAMpJ,gBAOtBmB,cAAe,WAEX3E,KAAKiJ,UAAU9E,OAEfnE,KAAKwD,cAAcxC,KAAK,8BAA8BmD,QAG1DS,cAAe,WAEX5E,KAAKiJ,UAAU/E,OACflE,KAAKwD,cAAcxC,KAAK,8BAA8BkD,OAEtDlE,KAAKyF,gBAMTgE,SAAU,WAEN,MAAIzJ,gBAAgB4R,GACT,aAEF5R,eAAgBqT,GACd,iBAEFrT,eAAgB6J,GACd,YAEF7J,eAAgBse,GACd,YAEFte,eAAgBue,GACd,eAEFve,eAAgBqJ,GACd,iBAEFrJ,eAAgB4J,GACd,eAEJ;;EAMX4U,aAAc,SAASC,GAEnB,MADAze,MAAKiJ,UAAUjE,SACRlH,EAAE,WAAWwD,SAAS,WAAWqS,KAAK8K,GAAUxW,SAASjI,KAAKgI,cAMzE3C,KAAM,SAASqZ,GAIX,GAAI9R,GAAQ5M,IAmBZ,IAlBA4M,EAAMpH,SAAU,EAChBoH,EAAMwR,WAAWC,QACjBzR,EAAMoC,aAAaqP,QAOnBzR,EAAM5E,YAAY/H,WAAW+E,SAC7B4H,EAAMpJ,cAAcjC,YAAY,wBAEhCqL,EAAM3D,UAAYnL,EAAE,UAAUwD,SAAS,SAAS2G,SAAS2E,EAAM5E,aAM1D4E,EAAMoJ,QAAQtT,GAAnB,CAMA,GAAIic,GAAgB7gB,EAAEC,WAClBia,GACIqB,SAAUzM,EAAMoJ,QAAQlV,IAAI,YAC5B8d,UAAW5e,KAAKic,mBAChBrR,MAAOgC,EAAMrK,KAAKqI,MAClB8T,MAAOA,EA4Df,OA1DA5gB,GAAE+gB,QAAQ7e,KAAKgW,QAAQpY,MAAOoa,EAAQ,SAAU1Z,GAC5C,GAAKA,GAAqB,UAAXA,GAAsC,UAAhBA,EAAOwgB,KAmBxB,iBAAXxgB,GACLsO,EAAMpJ,cAAclC,SAAS,SAC7BsL,EAAM4R,aAAazc,IAEH,YAAXzD,GAAyC0M,SAAhB1M,EAAOrB,OAAuC,OAAhBqB,EAAOrB,MAAwC,IAAvBqB,EAAOrB,KAAKmD,SAChGwM,EAAMpJ,cAAclC,SAAS,UAC7BsL,EAAM4R,aAAaxc,IAEH,YAAX1D,GACLsO,EAAMpJ,cAAclC,SAAS,WAC7BsL,EAAM4R,aAAavc,GAEnB+P,WAAW,WAAapF,EAAMvH,QAAWuH,EAAMuP,mBAE/B,SAAX7d,GAAuC,SAAlBA,EAAOC,UAC7BD,EAAOygB,eACPnS,EAAMmS,aAAezgB,EAAOygB,aAC5BnS,EAAM3G,gBAEV2G,EAAM3D,UAAUqD,KAAKnK,GACjByK,EAAMrK,KAAKqI,OACXgC,EAAM3D,UAAUqD,KAAK,IACrBM,EAAM3D,UAAUoF,IAAK,SAAUzB,EAAMiQ,kBAAoB,MACzDjQ,EAAMpH,SAAU,EAEhB1H,EAAEsR,KAAKC,MAAMvR,EAAG8O,EAAMoS,gBAAgB1P,KAAK,WACvCqP,EAAcjgB,UACdkO,EAAMpJ,cAAcjC,YAAY,wBAChCqL,EAAMnH,kBAIVkZ,EAAcjgB,eAnDwC,CAE1DkO,EAAMpJ,cAAclC,SAAS,QAC7B,IAAI2d,GAAUrS,EAAM4R,aAAa1c,EAC7BxD,GAAOkc,UAEPyE,EAAQ/d,OACJpD,EAAE,sCAAsCwO,KAAK,cAAcC,MAAM,WAC7DE,OAAO4L,MAAMnU,MAAMI,MAAO,kBAAmBgU,KAAM,QAAUha,EAAOkc,QAAU,SAAUjC,SAAWC,MAAU,WAAa/L,OAAO4L,MAAMlU,cAG/I8a,EAAQ/d,OAAQpD,EAAE,WAAWwO,KAAK,MAClC2S,EAAQ/d,OACJpD,EAAE,sCAAsCwO,KAAK,aAAaC,MAAM,WAC5DK,EAAMvH,MAAK,UA0C/BrF,KAAKiG,eACE0Y,IAMXK,aAAc,WACV,GAAIpS,GAAQ5M,IACZ,OAAOlC,GAAE+gB,QAASjS,EAAMoJ,QAAQpY,OACzBghB,UAAW,OAAQM,OAAO,EAAMtU,MAAOgC,EAAMrK,KAAKqI,MAAOuD,IAAK,EAC9DC,KAAMxB,EAAMrK,KAAK6I,SAAUiO,SAAUzM,EAAMoJ,QAAQlV,IAAI,aAAe,SAASxC,GAClF,GAAIrB,GAAOqB,EAAOrB,IAGlB,IAAIA,GAAqB+N,SAAb/N,EAAKiU,KAAkClG,SAAb/N,EAAKqU,IAAmB,CAE1D,GAAI6N,GAAYliB,EAAKiU,IACjBkO,EAAYniB,EAAKqU,GAGrB6N,GAAY1hB,KAAK2X,MAAO3X,KAAKyT,IAAK,EAAGzT,KAAK6T,IAAK6N,EAAWliB,EAAKoiB,KAAO,EAAIpiB,EAAKqiB,MAC/EF,EAAY3hB,KAAK4X,KAAM5X,KAAK6T,IAAK,EAAG7T,KAAKyT,IAAKkO,EAAWniB,EAAKoiB,KAAO,EAAIpiB,EAAKqiB,MAE9E1S,EAAM9J,OAAOyc,kBAAkB,YAAaJ,GAC5CvS,EAAM9J,OAAOyc,kBAAkB,YAAaH,GAC5CxS,EAAM9J,OAAOM,UAAU,YAAa+b,GACpCvS,EAAM9J,OAAOM,UAAU,YAAagc,OAQhDlZ,cAAe,WACX,MAAOlG,QAIf,IAAIwf,GAAa,SAASjd,EAAM5C,EAAW6C,GACvCuZ,EAAM3V,KAAKpG,KAAMuC,EAAM5C,EAAW6C,EAElC,IAAIoK,GAAQ5M,IAmBZ,IAhBAf,EAAS2N,EAAMpJ,cAAeoJ,EAAMjK,kBAAmB,SAAUiK,GAGjE5M,KAAKkI,gBAAkB,GAAIlL,GAAYmL,eAAenI,KAAO,WAAawC,GAAWA,EAASgG,QAAU,MAGxGxI,KAAKgP,aAAauH,IAAI,kBAAmBvW,KAAKkI,iBAC9ClI,KAAKyf,mBAAoB,EACzBzf,KAAKuX,KAAQ/U,EAAS+U,KAAO,GAAIpB,GAAezZ,EAAEiC,OAAQ6D,EAAS+U,MAC/D3K,MAAS5M,KACTsW,WAAc9T,EAAS8T,cAEzB,KACFtW,KAAKoe,WAAa,GAAIzhB,GAAc+iB,MAAMtd,GAC1CpC,KAAK2f,YAAc,EAEf3f,KAAK0D,aAIL1D,KAAKyZ,oBAAoBzZ,KAAKkI,iBAK1BlI,KAAKuX,MAAM,CACX,GAAIqI,GAAY,GAAIvI,IAAoBvT,MAAO9D,KAAKuX,MACpDqI,GAAUnU,SACVzL,KAAK6f,iBAAmBD,EAAU7b,IAClC/D,KAAK0D,WAAW0E,MAAMpI,KAAK6f,kBAKnC7f,KAAKiJ,UAAYnL,EAAE,UAAUwD,SAAS,SAAS2G,SAASjI,KAAKgI,aACxDhI,KAAK8C,OAAOK,UAAU,oBACvBnD,KAAKiJ,UAAU9E,OAEnBnE,KAAK8f,YAAchiB,EAAE,UAAUwD,SAAS,WAAW2G,SAASjI,KAAKgI,aAE7DxF,EAASgX,MACTxZ,KAAKuZ,YAAY/W,EAASgX,MAGlC7a,GAAO6gB,EAAWpb,UAAW9B,EAAS8B,UAAW2X,EAAM3X,WAEnDC,iBAAkB0X,EAAM3X,UAAUC,iBAAiByD,SAG3CzE,KAAM,sBACNiB,MAAO,4FACPC,UAAW,cACXC,YAAa,SAASoI,GAClB9O,EAAE,YAAYkH,SACd4H,EAAMmT,SAAUnT,EAAMrK,KAAK+S,iBAAkB0K,UAAY,EACzDpT,EAAMnH,cAAesD,kBAAkB,KAE3C5E,MAAM,KAOd8R,KAAM,SAAStW,GAEX,GAAI6C,GAAWxC,KAAK2F,SACpBhH,GAAO6D,GACHwM,aAAchP,KAAKgP,cAEvB,IAAImK,GAAY,GAAInZ,MAAKoZ,YAAYpZ,KAAKuC,KAAM5C,EAAW6C,EAI3D,OAFA2W,GAAUI,YAAYvZ,KAAKwZ,MAC3BL,EAAU3T,QAAUxF,KAAKwF,QAClB2T,GAMXM,oBAAqB,SAASvR,GAC1BlI,KAAKkI,gBAAkBA,EACvBlI,KAAK0D,WAAW0E,MAAMpI,KAAKkI,gBAAgBG,aAO/C1C,QAAS,WACL,OACI8B,WAAYzH,KAAKyJ,WACjBuM,SACItT,GAAI1C,KAAKgW,QAAQtT,GACjB2W,SAAUrZ,KAAKgW,QAAQlV,IAAI,aAE/BoC,MAAOlD,KAAK8C,OAAO+D,oBACnB2S,KAAMxZ,KAAKwZ,KACXhR,QAASxI,KAAKkI,gBAAgBvC,UAC9B2Q,WAAatW,KAAKuX,KAAOvX,KAAKuX,KAAKd,kBAO3CwJ,YAAa,WACT,GAAIrT,GAAQ5M,IAEZ,OAAOlC,GAAE+gB,QAASjS,EAAMoJ,QAAQpY,OAC1BghB,UAAW,OAAQM,OAAO,EAAMtU,MAAOgC,EAAMrK,KAAKqI,MAAOuD,IAAK,EAC9DC,KAAMxB,EAAMrK,KAAK6I,SAAUiO,SAAUzM,EAAMoJ,QAAQlV,IAAI,aACzD,SAASxC,GACL,GAAIrB,GAAOqB,EAAOrB,IAClB,IAAKijB,MAAMlF,WAAWpO,EAAM9J,OAAOK,UAAU,gBACxC+c,MAAMlF,WAAWpO,EAAM9J,OAAOK,UAAU,eAAiB,CAE1D,GAAIgc,GAAYliB,EAAKiU,IACjBkO,EAAYniB,EAAKqU,GAGrB6N,GAAY1hB,KAAK2X,MAAO3X,KAAKyT,IAAK,EAAGzT,KAAK6T,IAAK6N,EAAWliB,EAAKoiB,KAAO,EAAIpiB,EAAKqiB,MAC/EF,EAAY3hB,KAAK4X,KAAM5X,KAAK6T,IAAK,EAAG7T,KAAKyT,IAAKkO,EAAWniB,EAAKoiB,KAAO,EAAIpiB,EAAKqiB,MAE9E1S,EAAM9J,OAAOM,UAAU,YAAa+b,GACpCvS,EAAM9J,OAAOM,UAAU,YAAagc,OAQpD7F,YAAa,SAAS4G,GAClB,GAAIvT,GAAQ5M,IAUZ,OARA4M,GAAM4M,KAAO2G,EACbvT,EAAM9J,OAAOM,UAAU,OAAQ+c,GAId,SAAbA,GAAuBngB,KAAKgP,aAAaqP,QAC7CzR,EAAMnH,cAAesD,kBAAkB,IACvC/I,KAAK6C,aAAaud,UAAUphB,KAAK,QAAS,0BAA4B4N,EAAM4M,KAAO,KAC5E5M,GAMX3G,aAAc,WACV,GAAI2G,GAAQ5M,IAKZ4M,GAAM/J,aAAauG,aAAaJ,OAAO4D,EAAM6S,mBAK7C7S,EAAM/J,aAAawd,WAAWrX,OAAsB,OAAf4D,EAAM2K,MAC3C3K,EAAM/J,aAAayd,qBAAqBtX,OAAsB,OAAf4D,EAAM2K,OAOzDgJ,oBAAqB,SAASrF,EAASsF,GACnC,MAAOtF,GAAU,IAAMsF,GAM3B/a,aAAc,SAASiB,GACfA,GAAWA,EAAQqC,kBACnB/I,KAAKoe,WAAWC,QAEpBre,KAAKuC,KAAKmP,eAAehL,EAAS1G,OAMtCygB,YAAa,WAETzgB,KAAK4c,cAAgB,GAYzBlX,MAAO,SAASgB,GACZ,GAAM1G,KAAKuF,WAAX,CAEA,GAAImb,GAAcha,GAAWA,EAAQga,YACjCvS,EAAMnO,KAAKuC,KAAK4L,IAChBC,EAAOpO,KAAKuC,KAAK6L,KAEjBmC,EAAQvQ,KAAKuC,KAAK5C,UAAU4Q,QAC5B2K,EAAUlb,KAAKuC,KAAK+S,gBACpBqL,EAAa,EAAIzF,CAGjBlb,MAAK4C,cACLuL,EAAMnO,KAAKuC,KAAK4I,QAChBiD,EAAOpO,KAAKuC,KAAK6I,SACjB8P,EAAU3K,GAAShO,KAAK6I,SAAW7I,KAAK4I,SACxCwV,EAAa,EAAIzF,GAGrBlb,KAAKygB,cAYLzgB,KAAKiJ,UAAUhJ,WAAWqB,SAAS,SAYnC,KAVA,GAKIkf,GACAI,EAJAC,EAAapjB,KAAK2X,MAAMzT,EAAYgf,GAEpCG,EAAarjB,KAAK2X,MAAMjH,EAAM0S,GAG9BE,KACAC,KAEgC5S,EAA3B0S,EAAaD,GAElBL,EAAc,GAAI7jB,GAAc+b,cAC5B9N,MAAO5K,KAAKuC,KAAKqI,MACjB+N,MAAOmI,EAAaD,EAEpBjI,IAAKnb,KAAKyT,KAAM4P,EAAa,GAAKD,EAAY7gB,KAAKuC,KAAK6I,YAE5DwV,EAAe5gB,KAAKihB,YAAYT,EAAatF,EAASxU,GACtDqa,EAAcna,KAAKga,GACnB9iB,EAAEsR,KAAKwR,GAAc5M,KAAK,SAASkN,GAC/BF,EAAMpa,KAAKsa,KAIfJ,GAAc,CAIbJ,IAAe1gB,KAAKiJ,UAAUhJ,SAAS,WAAWsB,YAAY,UAAUyD,QAG7E,IAAI4H,GAAQ5M,IACZlC,GAAEsR,KAAKC,MAAMvR,EAAGijB,GAAe/M,KAAK,WAEhCpH,EAAM3D,UAAUhJ,SAAS,WAAW+E,SAKpCgc,EAAQtkB,EAAEoN,OAAOkX,EAAO,SAASjS,GAC7B,MAAa,QAANA,IAEU,IAAjBiS,EAAM5gB,QACNwM,EAAMsJ,iBAAiB8K,EAAOzQ,EAAO2K,EAASwF,OAQ1DS,iBAAkB,SAASljB,EAAMmjB,GAC7B,GAAIxU,GAAQ5M,KACRuE,EAAsB,QAATtG,EAAiB,MAAQ,SACtCqO,EAAiB,QAATrO,EAAiB,MAAQ,MACjCojB,EAAsB,QAATpjB,EAAiB,YAAc,YAC5CiH,EAAQlF,KAAKwD,cAAcxC,KAAK,eAAiBuD,GACjDiL,EAAQnS,EAAOuP,EAAM9J,OAAOK,UAAUke,GAAY,EAGtDD,GAAYA,GAAa,WACrBxU,EAAMnH,cAAesD,kBAAkB,KAGtB,IAAjB7D,EAAM9E,OAEN8E,EAAMoH,KAAKkD,IAIXtK,EAAQpH,EAAE,UAAUwO,KAAKkD,GAAO8R,oBAC5BC,SAAU,GACVC,UAAW,SAASC,GAChB3jB,EAAE,YAAYkH,SACd4H,EAAM9J,OAAOM,UAAUie,EAAWhkB,EAAOokB,EAAS,IAClDL,KAEJM,UAAW,OAASpV,EAAO,WAC5BhL,SAAS,cAAgBiD,GAAW8J,IAAI,QAASrO,KAAK8C,OAAOK,UAAU,gBAC1EnD,KAAKwD,cAAcvC,QAAQiE,KAQnCgR,iBAAkB,SAAS8K,EAAOzQ,EAAO2K,GACrC,GAAIyG,GAAmBjlB,EAAEoN,OAAOkX,EAAO,SAASE,GAC5C,MAAQA,aAAgB3F,IAO5B,IAAIoG,EAAiBvhB,OAAS,EAAG,CAI7BJ,KAAK4c,cAAgB,CACrB,IAAIhQ,GAAQ5M,IACZtD,GAAE6N,KAAKyW,EAAO,SAASE,GACbA,YAAgB3F,KAClB2F,EAAK9F,SAASpW,SACd4H,EAAMqU,YAAYC,EAAKzI,OAAQyC,GAAW0G,OAAO,EAAMpI,KAAM,gBAIrE5M,EAAMuU,iBAAiB,WAEtB,CAIDnhB,KAAKwD,cAAcxC,KAAK,eAAegE,QAKvC,IAAI6c,GAAgBnlB,EAAEsE,KAAKggB,EAAO,SAASE,GACvC,MAAOA,GAAKrF,WAGZgG,IACAnlB,EAAE6N,KAAKyW,EAAO,SAASE,GACdA,EAAKrF,WAENqF,EAAK9F,SAAS/M,IAAI,cAAe7M,OAUrDsgB,SAAU,WACN,MAAO9hB,MAAKwZ,MAMhBuI,iBAAkB,aAOlBC,eAAgB,WACZ,OAAShiB,OASbihB,YAAa,SAASxI,EAAQyC,EAASxU,GAE9BA,IAAWA,KAEhB,IAAIkb,GAAQlb,EAAQkb,MAChBpI,EAAO9S,EAAQ8S,MAAQxZ,KAAKwZ,KAC5BmH,EAAa,EAAIzF,EAGjBtO,EAAQ5M,KACRsG,EAAYtG,KAAKgiB,iBACjB/c,EAAMjF,KAAKugB,oBAAoBrF,EAASzC,GACxCwJ,EAAU,SAASC,GAAK,MAAQA,IAAK,SAAWA,IAGhDhB,EAAQU,EAAQ5W,OAAY4B,EAAMwR,WAAW+D,QAAQld,EACzD,IAAIic,EAIA,MAHIe,GAAQf,IACRtU,EAAMwV,UAAUlB,EAAMhG,GAEnBgG,CAIX,IAAIxa,EAAQkO,cAAe,EAAS,MAAO,KAG3C,IAAIyN,GAAgB,WAEhB,GAAIC,GAAa5lB,EAAEsE,KAAKqB,EAAuB,SAASkgB,GAAK,MAAOA,KAAM/I,IAAW,WAAaA,EAG9FgJ,EAAY9lB,EAAEoS,IAAIxI,EAAW,SAAS7G,GAEtC,MAAOA,GAAEuP,aAAayT,SAAShK,EAAQ6J,EAAW3B,EAAY/T,EAAMsP,wBAQxE,OAJI3Z,MAAK+Q,iBACLkP,EAAU5b,KAAKrE,KAAK+Q,gBAAgBtE,aAAayT,SAAShK,EAAQe,EAAMmH,EAAYpe,KAAK+Q,gBAAgB4I,wBAGtGsG,GAMPE,EAAa5kB,EAAEC,UAwEnB,OAvEA6O,GAAMwR,WAAWuE,QAAQ1d,EAAKyd,GAC9B5kB,EAAEsR,KAAKC,MAAMvR,EAAGukB,KAAiBrO,KAAM,WACnC,GAEI4H,GAFA4G,EAAYH,IACZO,EAAcJ,CAOlB,IAAI9lB,EAAEsE,KAAKwhB,EAAW,SAAS/iB,GAAK,MAAO5C,GAAKgmB,YAAYpjB,KAKxD,MAJAmN,GAAMwR,WAAWuE,QAAQ1d,EAAK+F,YAC9BlN,GAAEsR,KAAKxC,EAAMqU,YAAYxI,EAAQyC,EAASxU,IAAUsN,KAAK,SAASkN,GAC9DwB,EAAWhkB,QAAQwiB,IAMvB3e,MAAK+Q,kBACLsI,EAAWrZ,KAAK+Q,gBAAgBtE,aAAa8T,aAAaN,EAAUO,MAAOtK,GAI/E,IAAIuK,MACAC,IAEJvmB,GAAE6N,KAAKjE,EAAW,SAAS7G,EAAGK,GAC1B,GAAI0Z,GAAO/Z,EAAE+Z,KACTvc,EAAO2lB,EAAY9iB,EACV,UAAT0Z,IACAA,EAAO/Z,EAAEqiB,SAAS7kB,GAClBwC,EAAEsiB,iBAAiBvI,IAEvBwJ,EAAcpc,KAAK4S,GACnByJ,EAAgBrc,KAAKnH,EAAEyjB,kBAAkBjmB,EAAMuc,EAAM0B,EAAS3K,KAGlE,IAMI2Q,GANA/F,EAASvO,EAAMrK,KAAKmJ,eAAeyX,aACnCC,EAAW3K,EAAO3X,IAAI,SACtBuiB,EAAY5K,EAAO3X,IAAI,OAEvByP,EAAQ9S,KAAK4X,MAAOgO,EAAYD,GAAYlI,GAAYtO,EAAM+S,YAC9DpS,EAAS7Q,EAAE4U,IAAI2R,EAMnB9H,GAAO5K,MAAQA,EAEf4K,EAAO5N,OAAU7G,EAAQ6G,QAAUA,CACnC,IAAI+V,GAAMnI,EAAOoI,WAAW,KAC5BD,GAAIE,UAAU5W,EAAM+S,YAAa,GAC7BrZ,EAAUlG,OAAS,IACnBkjB,EAAIG,YAAc,GAClBH,EAAII,yBAA2B,eAEnChnB,EAAE6N,KAAKjE,EAAW,SAAS7G,EAAGK,GAC1BohB,EAAOzhB,EAAEkkB,UAAUf,EAAY9iB,GAAIwjB,EAAKN,EAAcljB,GAAI2Y,EAAQyC,EAASU,KAIlE5Q,SAATkW,IACAtU,EAAMwR,WAAWuE,QAAQ1d,EAAKic,GAC9BtU,EAAMwV,UAAUlB,EAAMhG,IAG1BwH,EAAWhkB,QAAQwiB,KAGhBwB,GAOXQ,kBAAmB,WACf,MAAOljB,MAAK6c,mBAMhB+G,sBAAuB,SAAStlB,EAAQglB,EAAK9J,EAAMf,EAAQyC,GAIgB,MAAjElQ,OAAW,MAAMhE,QAAQhH,KAAK8C,OAAOK,UAAU,eACjDnD,KAAK8C,OAAOM,UAAU,YAAa,GAEmC,MAApE4H,OAAW,KAAM,GAAGhE,QAAQhH,KAAK8C,OAAOK,UAAU,eACpDnD,KAAK8C,OAAOM,UAAU,YAAa1G,EAAE4U,IAAK5U,EAAEoS,IAAIxQ,EAAOrB,KAAM,SAASwC,GAAK,MAAOA,GAAE,OAAY,EAGpG,IAAI0b,GAASmI,EAAInI,OACb0I,EAAU,GAAI9mB,GAAS+mB,YAAYxlB,EAAOrB,KAAMwb,EAAO3X,IAAI,SAAU2X,EAAO3X,IAAI,OAAQd,KAAK8C,OAAO+D,oBAAqB2S,EAG7H,OAFAqK,GAAQE,KAAKT,EAAKnI,EAAO5K,MAAO4K,EAAO5N,OAAQ2N,GAExC,GAAIK,GAAcvb,KAAMyY,EAAQyC,EAASC,EAAQ7c,EAAOrB,OAYnE0mB,UAAW,aAMXvB,UAAW,SAASlB,EAAMhG,GACtB,GACI8I,GAAe9C,EAAK9F,QAIxB8F,GAAK5F,oBAGL,IAAIrK,GAAOxT,KAAKJ,OAAS6jB,EAAK/S,KAAOnO,KAAK4C,YAAa5C,KAAKuC,KAAK4I,QAAUnL,KAAKuC,KAAK4L,MAAS+M,EAC1Flb,MAAK2f,cACL1O,GAAQjR,KAAK2f,aAEjBqE,EAAa3V,IAAI,OAAQ4C,GAEpB+S,EAAa7iB,SAAS,UAGvB6iB,EAAaziB,YAAY,UAIzBvB,KAAKiJ,UAAU/H,OAAO8iB,GAK1BA,EAAa3V,IAAI,SAAU,QAK3BrO,KAAK4c,cAAgBnf,KAAK6T,IAAItR,KAAK4c,cAAeoH,EAAazW,SAAW,GAG1EyW,EAAajkB,SAASE,WAAWoO,IAAI,SAAUrO,KAAK4c,cAAgB,KAGpE,IAAIqH,GAAejkB,KAAK4c,aACO,KAA3B5c,KAAK6c,oBACLoH,EAAexmB,KAAKyT,IAAIlR,KAAK4c,cAAe5c,KAAK6c,oBAErD7c,KAAKiJ,UAAUoF,IAAI,SAAU4V,EAAe,OAMhD/K,+BAAgC,SAAST,GACrC,GAAI7L,GAAQ5M,KACRkkB,EAAyBlZ,SAAXyN,EAAuBA,EAAO0L,WAAa,MACzDC,EAAY1nB,EAAE2nB,OAAQzX,EAAM2K,KAAKb,mBAAmB4N,KAAK,KAC7D,OAAO,cAAgBJ,EAAa,kBAAoBE,EAAY,KAMxE3H,yBAA0B,SAASxf,EAAMuc,GAErC,MAAa,SAATA,GACO,EAGO,aAATA,EACwB,WAAtBvc,EAAKsnB,aAGe,WAAtBtnB,EAAKsnB,cACe,cAApBtnB,EAAKunB,YACH,GAGA,GAOf9H,WAAY,SAAS+H,GAEjB,MAAIA,GAAMjK,SAAgC,cAArBiK,EAAMD,YAChB,EAGqB,WAAvBC,EAAMF,aACHE,EAAMxnB,KAAK,GAAG,GAAKwnB,EAAMxnB,KAAK,GAAG,KAAO,GAG7C,GAMXqc,mBAAoB,WAEhBtZ,KAAKgP,aAAauH,IAAI,YAAa,YACnCvW,KAAKmc,gBAAkB,IACvBnc,KAAKic,mBAAqB,UA0ClC,IAAIrK,GAAa,SAAUrP,EAAM5C,GAC7Boc,EAAM3V,KAAKpG,KAAMuC,EAAM5C,GACnBmd,QAAQ,EACRnZ,QAAQ,IAEZ3D,KAAKwD,cAAclC,SAAU,eAEjC3C,GAAOiT,EAAWxN,UAAW2X,EAAM3X,WAC/BiB,KAAM,WAEFrF,KAAKwF,SAAU,GAMnBwZ,aAAc,aAEdtZ,MAAO,WAOH,IANA,GAAInD,GAAOvC,KAAKuC,KACZmiB,EAAQniB,EAAK6L,KAAO7L,EAAK4L,IACzBwW,EAAelnB,KAAK2X,MAAO3X,KAAKC,IAAK,GAAID,KAAK2X,MAAO3X,KAAKgB,IAAKimB,GAAUjnB,KAAKgB,IAAK,OACnF4B,EAAW5C,KAAK2X,MAAO7S,EAAK4L,IAAMwW,GAAiBA,EACnDpU,EAAQvQ,KAAKuC,KAAK5C,UAAU4Q,QAC5BqU,EAAU9mB,EAAE,UAAUwD,SAAS,mBAC3BjB,EAAWkC,EAAK6L,MAAO,CAC3B,GAAIyW,GAAiBpnB,KAAK2X,OAAS/U,EAAWkC,EAAK4L,KAAQuW,EAAQnU,EACnEqU,GAAQ1jB,OAAQpD,EAAE,UAAUwD,SAAS,aAAagL,KAAKzP,EAAKiW,UAAWzS,IAAYgO,KAC/E4C,KAAM4T,KAEVxkB,GAAYskB,EAEhB3kB,KAAKgI,YAAY/H,SAAU,UAAW+E,SACtChF,KAAKgI,YAAY9G,OAAQ0jB,KAYjC,IAAIvb,GAAiB,SAAS9G,EAAM5C,EAAW6C,GAM3C,GALAgd,EAAWpZ,KAAKpG,KAAMuC,EAAM5C,EAAW6C,GAIvCxC,KAAKsG,aACD,aAAe9D,GAAU,CAEzB,IAAK,GADDiC,GACK3E,EAAI,EAAGA,EAAI0C,EAAS8D,UAAUlG,OAAQN,IAC3C2E,EAAWjC,EAAS8D,UAAUxG,GAC9BE,KAAKsG,UAAUxG,GAAK2G,GAAqBhC,EAAUlC,EAAM,MAGrDkC,EAASkb,YAAc3f,KAAK2f,cAC5B3f,KAAK2f,YAAclb,EAASkb,YAGpC3f,MAAKwF,SAAU,EAInB9I,EAAE6N,KAAKvK,KAAKsG,UAAW,SAAS7G,IACxBA,YAAamK,IAAgBnK,YAAa6e,KAC1C7e,EAAE8Z,YAAY,cAItBvZ,KAAKiG,eAILjG,KAAKqG,SAAW,iBAGpB1H,GAAO0K,EAAejF,UAAWob,EAAWpb,WACxC0gB,cAAeziB,EAEfY,cAAevG,EAAEqoB,MAAOziB,EAAS8B,UAAUnB,gBACrCgC,IAAK,YAAaC,MAAO,YAAajH,KAAM,QAASkH,cAAe6F,SACpE/F,IAAK,YAAaC,MAAO,YAAajH,KAAM,QAASkH,cAAe6F,SACpE/F,IAAK,OAAQhH,KAAM,SAAUkH,cAAenF,KAAKwZ,KAAMpU,QAAQ,IAC/DH,IAAK,SAAUhH,KAAM,MAAOkH,cAAe,GAAIC,QAAQ,KAG7Df,mBAIQhB,KAAM,iBACNiB,MAAO,yBACPC,UAAW,eACXC,YAAa,SAASoI,GAClB9O,EAAE,YAAYkH,SACd4H,EAAMoY,gBAGhBld,OAAO0X,EAAWpb,UAAUC,kBAO9BsB,QAASQ,EAAmB/B,UAAUuB,QAEtC9E,aAAcsF,EAAmB/B,UAAUvD,aAE3C0F,iBAAkBJ,EAAmB/B,UAAUmC,iBAE/CjD,gBAAiB,WACbtD,KAAK4F,SAAS5F,KAAK8C,OAAOK,UAAU,SACpCnD,KAAKyF,cAAesD,kBAAkB,KAM1C+U,UAAW,WAEP,GAAImH,GAAiBjlB,KAAK6c,iBAC1BngB,GAAE6N,KAAKvK,KAAKsG,UAAW,SAAS7G,GAC5BA,EAAEod,kBAAoBoI,IAE1BlJ,EAAM3X,UAAU0Z,UAAU1X,KAAKpG,OAMnCuZ,YAAa,SAAS4G,GAClBX,EAAWpb,UAAUmV,YAAYnT,KAAKpG,KAAMmgB,EAC5C,KAAK,GAAIrgB,GAAI,EAAGA,EAAIE,KAAKsG,UAAUlG,OAAQN,IACvCE,KAAKsG,UAAUxG,GAAGyZ,YAAY4G,IAOtC9a,KAAM,WAGF,IAAK,GADD6f,MACKplB,EAAI,EAAGA,EAAIE,KAAKsG,UAAUlG,OAAQN,IACvColB,EAAete,KAAK5G,KAAKsG,UAAUxG,GAAGuF,OAI1C,IAAIuH,GAAQ5M,IACZlC,GAAEsR,KAAKC,MAAMvR,EAAGonB,GAAgBlR,KAAK,WACjCpH,EAAMpH,SAAU,EAChBoH,EAAMnH,kBAIdQ,aAAc,WAEVjG,KAAK6C,aAAauG,aAAajF,OAC/BnE,KAAK6C,aAAawd,WAAWlc,OAC7BnE,KAAK6C,aAAayd,qBAAqBnc,QAG3CoB,SAAUjD,EAAS8B,UAAUmB,SAE7Byc,eAAgB,WACZ,MAAOhiB,MAAKsG,WAMhB0e,WAAY,WAMR,IAAK,GADDpY,GAHAjE,EAAQ,GAAIZ,GAAc/H,KAAKuC,KAAMvC,KAAKL,WACtC0D,KAAMrD,KAAK8C,OAAOK,UAAU,UAG3BrD,EAAI,EAAGA,EAAIE,KAAKsG,UAAUlG,OAAQN,IACvC8M,EAAQ5M,KAAKsG,UAAUxG,GACvB8M,EAAM3G,eACN0C,EAAM9H,aAAa+L,GACnBA,EAAMjN,UAAYgJ,EAClBA,EAAMX,YAAY9G,OAAO0L,EAAMpJ,cAIvBxD,MAAKL,UAAUuH,iBAAiBlH,KAAM2I,GAAO,EACzDA,GAAMlD,cAAesD,kBAAkB,KAM3C0X,YAAa,WAST,GAAIvP,GAAMxU,EAAEwU,IAAIxU,EAAEoS,IAAI9O,KAAKsG,UAAW,SAAS7G,GAAK,MAAOA,GAAEqD,OAAOK,UAAU,gBAC1EmO,EAAM5U,EAAE4U,IAAI5U,EAAEoS,IAAI9O,KAAKsG,UAAW,SAAS7G,GAAK,MAAOA,GAAEqD,OAAOK,UAAU,eAE9EnD,MAAK8C,OAAOM,UAAU,YAAa8N,GACnClR,KAAK8C,OAAOM,UAAU,YAAakO,GAGnC5U,EAAE6N,KAAKvK,KAAKsG,UAAW,SAAS7G,GAC5BA,EAAEqD,OAAOM,UAAU,YAAa8N,GAChCzR,EAAEqD,OAAOM,UAAU,YAAakO,MAOxC6T,mBAAoB,WAChB,GACIhG,GAAYnf,KAAK8C,OAAOK,UAAU,aAClCic,EAAYpf,KAAK8C,OAAOK,UAAU,YACtCzG,GAAE6N,KAAKvK,KAAKsG,UAAW,SAAS7G,GAC5BA,EAAEqD,OAAOM,UAAU,YAAa+b,GAChC1f,EAAEqD,OAAOM,UAAU,YAAagc,KAEpCpf,KAAKyF,cAAesD,kBAAkB,KAO1CmN,iBAAkB,SAAS8K,EAAOzQ,EAAO2K,GAErC,GAAqBpb,GAAjBslB,EAAa,EACjB,KAAKtlB,EAAI,EAAGA,EAAIkhB,EAAM5gB,OAAQN,IAAK,CAC/B,GAAIyN,GAASyT,EAAMlhB,GAAGsb,SAASpa,KAAK,UAAUuM,QAC1CA,GAAS6X,IACTA,EAAa7X,GAIrB,IAAKzN,EAAI,EAAGA,EAAIkhB,EAAM5gB,OAAQN,IAAK,CAC/B,GAAIohB,GAAOF,EAAMlhB,EACbohB,GAAK9F,SAASpa,KAAK,UAAUuM,WAAa6X,IAC1CplB,KAAKihB,YAAYC,EAAKzI,OAAQyC,GAAW0G,OAAO,EAAMrU,OAAQ6X,IAC9DlE,EAAK9F,SAASpW,UAKtB,GAAI4H,GAAQ5M,KACR+O,EAAI,WAAanC,EAAMuY,qBAG3BnlB,MAAKmhB,iBAAiB,MAAOpS,GAC7B/O,KAAKmhB,iBAAiB,MAAOpS,KAOrC,IAAIsE,GAAiB,SAAU9Q,GAC3Bid,EAAWpZ,KAAKpG,KAAMuC,GAAQyF,YAAazF,EAAK4J,iBAAoB2Q,QAAQ,EAAOnZ,QAAQ,IAG3F3D,KAAK2f,YAAcpd,EAAKmJ,eAAe2Z,cACvCrlB,KAAKwD,cAAclC,SAAS,mBAC5BtB,KAAKslB,SAAW7Y,OAAOC,KAAO,eAAiB1M,KAAKuC,KAAKuI,MACzD9K,KAAKkc,uBAAyB/I,WAAW,GACzCnT,KAAKgP,aAAe,GAAIrS,GAAc4oB,4BAClCD,SAAUtlB,KAAKslB,SACf5I,WAAY1c,KAAK0c,aAErB1c,KAAK2E,gBAEThG,GAAO0U,EAAejP,UAAW9B,EAAS8B,UAAWob,EAAWpb,WAC5DnB,cAAevG,EAAEqoB,MAAOziB,EAAS8B,UAAUnB,gBACrCgC,IAAK,SAAUhH,KAAM,MAAOkH,cAAe,GAAIC,QAAQ,KAG7DC,KAAM,WACFrF,KAAKgP,aAAaqP,QAElBre,KAAKwF,SAAU,GAMnBwZ,aAAc,aAEdzZ,SAAUjD,EAAS8B,UAAUmB,SAK7B0b,YAAa,SAASxI,EAAQyC,EAASxU,GACnC,GACI8e,GADAC,EAAczlB,KAAKiJ,UAAUlI,GAAG,YAEhCmgB,EAAO,IAqBX,OApBIhG,GAAUlb,KAAKuC,KAAKmJ,eAAe2Z,eACnCrlB,KAAKiJ,UAAU/E,OACfshB,GAAc,EACdtE,EAAO1B,EAAWpb,UAAU6c,YAAY7a,KAAKpG,KAAMyY,EAAQyC,EAASxU,KAGpE8e,GAAc,EACdxlB,KAAKiJ,UAAU9E,QASfshB,IAAgBD,GAChBxlB,KAAKuC,KAAKsT,kBAGPqL,GAGXxE,WAAY,WAAkB,OAAO,GAKrCiH,UAAW,SAAS1mB,EAAMqmB,EAAK9J,EAAMf,EAAQyC,GAEzC,GAAIwK,GAAS1lB,KAAKgP,aAAa8T,aAAa7lB,EAAMwb,GAC9CmD,EAAW8J,EAAOzoB,KAGlBke,EAASmI,EAAInI,MACjBmI,GAAIqC,KAAOrC,EAAInI,OAAOyK,QAAQC,aAC9BvC,EAAIwC,UAAY,QAChB,KAAK,GAAIC,GAAI,EAAGC,EAAUpK,EAASxb,OAAY4lB,EAAJD,EAAaA,IACpDzC,EAAI2C,UAAYjmB,KAAKuC,KAAK6P,eAAewJ,EAASmK,IAClDzC,EAAI4C,SAAStK,EAASmK,GAAItoB,KAAK2X,MAAM2Q,EAAI7K,GAAU,GAEvD,OAAO,IAAID,GAAKjb,KAAMyY,EAAQyC,EAASC,EAAQuK,KAOvD,IAAI7b,GAAY,SAAUtH,EAAM5C,EAAW6C,GACvCxC,KAAKwZ,KAAO,YACZgG,EAAWpZ,KAAKpG,KAAMuC,EAAM5C,EAAW6C,GAEvCxC,KAAK2f,YAAc,EAInB,IAAI9M,GAAO7S,IACXlC,GAAEsR,KAAKzR,EAAmBwoB,cAAczZ,KAAO,YAAc1M,KAAKgW,QAAQtT,GAAK,aAC7EsR,KAAK,SAASrW,GACPA,IACAa,QAAQC,IAAI,oBACZoU,EAAK7D,aAAe,GAAI5R,GAAIgpB,gBACxBpQ,QAASnD,EAAKmD,aAO/BrX,GAAOkL,EAAUzF,UAAW9B,EAAS8B,UAAWob,EAAWpb,WACvD0gB,cAAeziB,EAEfY,cAAevG,EAAEqoB,MAAOziB,EAAS8B,UAAUnB,gBACrCgC,IAAK,QAASC,MAAO,QAASjH,KAAM,UACpCgH,IAAK,YAAaC,MAAO,YAAajH,KAAM,QAASkH,cAAe6F,SACpE/F,IAAK,YAAaC,MAAO,YAAajH,KAAM,QAASkH,cAAe6F,SACpE/F,IAAK,OAAQhH,KAAM,SAAUkH,cAAenF,KAAKwZ,KAAMpU,QAAQ,IAC/DH,IAAK,SAAUhH,KAAM,MAAOkH,cAAe,GAAIC,QAAQ,KAG7D9B,gBAAiB,WACbtD,KAAK4F,SAAS5F,KAAK8C,OAAOK,UAAU,SACpCnD,KAAKyF,cAAesD,kBAAkB,KAO1C0X,YAAa,aAKbkD,UAAW,SAASrlB,EAAQglB,EAAK9J,EAAMf,EAAQyC,GAC3C,MAAOlb,MAAK4jB,sBAAsBtlB,EAAQglB,EAAK9J,EAAMf,EAAQyC,IAMjEwB,WAAY,SAAS+H,GACjB,MAAQA,GAAMxnB,KAAK,GAAG,GAAKwnB,EAAMxnB,KAAK,GAAG,KAAO,GAMpDiZ,iBAAkB,WAEdlW,KAAKmhB,iBAAiB,OACtBnhB,KAAKmhB,iBAAiB,SAO9B,IAAIkF,GAAuB,SAAU9jB,EAAM5C,EAAW6C,GAClDxC,KAAKwZ,KAAO,UACZgG,EAAWpZ,KAAKpG,KAAMuC,EAAM5C,EAAW6C,GAG3C7D,GAAO0nB,EAAqBjiB,UAAW9B,EAAS8B,UAAWob,EAAWpb,WAClE0gB,eAAgB,WAEhB7hB,cAAevG,EAAEqoB,MAAOziB,EAAS8B,UAAUnB,gBACrCgC,IAAK,YAAaC,MAAO,iBAAkBjH,KAAM,QAASkH,cAAe,YACzEF,IAAK,YAAaC,MAAO,iBAAkBjH,KAAM,QAASkH,cAAe,YACzEF,IAAK,YAAaC,MAAO,YAAajH,KAAM,MAAOkH,cAAe6F,SAClE/F,IAAK,YAAaC,MAAO,YAAajH,KAAM,MAAOkH,cAAe6F,SAClE/F,IAAK,OAAQhH,KAAM,SAAUkH,cAAenF,KAAKwZ,KAAMpU,QAAQ,IAC/DH,IAAK,SAAUhH,KAAM,MAAOkH,cAAe,IAAKC,QAAQ,KAG9D9B,gBAAiB,WACbtD,KAAK4F,SAAS5F,KAAK8C,OAAOK,UAAU,SACpCnD,KAAKyF,cAAesD,kBAAkB,KAM1CiW,aAAc,WACV,GAAIpS,GAAQ5M,IACZ,OAAOlC,GAAE+gB,QAASjS,EAAMoJ,QAAQpY,OACzBghB,UAAW,OAAQM,OAAO,EAAMtU,MAAOgC,EAAMrK,KAAKqI,MAAOuD,IAAK,EAC9DC,KAAMxB,EAAMrK,KAAK6I,SAAUiO,SAAUzM,EAAMoJ,QAAQlV,IAAI,aAAe,SAASxC,GACvEA,EAAOrB,QAO1B0mB,UAAW,SAASrlB,EAAQglB,EAAK9J,EAAMf,EAAQyC,GAE3C,GAAIC,GAASmI,EAAInI,OACb0I,EAAU,GAAI9mB,GAASupB,uBAAuBhoB,EAAOrB,KAAMwb,EAAO3X,IAAI,SAAU2X,EAAO3X,IAAI,OAAQd,KAAK8C,OAAO+D,oBAAqB2S,EAGxI,OAFAqK,GAAQE,KAAKT,EAAKnI,EAAO5K,MAAO4K,EAAO5N,OAAQ2N,GAExC,GAAID,GAAKjb,KAAMyY,EAAQyC,EAASC,EAAQ7c,EAAOrB,QAO9D,IAAI2M,GAAe,SAASrH,EAAM5C,EAAW6C,GACzCgd,EAAWpZ,KAAKpG,KAAMuC,EAAM5C,EAAW6C,GACvCxC,KAAKwD,cAAclC,SAAU,iBAC7BtB,KAAKumB,oBAAsB,GAC3BvmB,KAAK+f,YACL/f,KAAKwmB,iBACLxmB,KAAK2f,YAAc,IAGnB3f,KAAKymB,0BAET9nB,GAAOiL,EAAaxF,UAAW9B,EAAS8B,UAAWob,EAAWpb,WAC1D0gB,eAAgB,OAAQ,WAAY,QAAS,SAAU,QAEvD7hB,cAAevG,EAAEqoB,MAAOziB,EAAS8B,UAAUnB,gBACrCgC,IAAK,cAAeC,MAAO,cAAejH,KAAM,UAChDgH,IAAK,uBAAwBC,MAAO,yBAA0BjH,KAAM,UACpEgH,IAAK,cAAeC,MAAO,cAAejH,KAAM,QAASkH,cAAe,UACxEF,IAAK,cAAeC,MAAO,sBAAuBjH,KAAM,OAAQkH,eAAe,EAC/EuhB,KAAM,wEACNzhB,IAAK,YAAaC,MAAO,oBAAqBjH,KAAM,QAASkH,cAAe6F,OAAW0b,KAAM,qCAC7FzhB,IAAK,YAAaC,MAAO,oBAAqBjH,KAAM,QAASkH,cAAe6F,OAAW0b,KAAM,qCAC7FzhB,IAAK,kBAAmBC,MAAO,kBAAmBjH,KAAM,SAAUkH,cAAe,YAC/EuB,UAAaxB,MAAO,mBAAoBsK,MAAO,aAAgBtK,MAAO,OAAQsK,MAAO,WACvFvK,IAAK,OAAQhH,KAAM,SAAUkH,cAAenF,KAAKwZ,KAAMpU,QAAQ,IAC/DH,IAAK,SAAUhH,KAAM,MAAOkH,cAAe,EAAGC,QAAQ,KAG5D9B,gBAAiB,WACbtD,KAAK4F,SAAS5F,KAAK8C,OAAOK,UAAU,SACpCnD,KAAKymB,0BACLzmB,KAAKyF,cAAesD,kBAAkB,KAG1C0d,wBAAyB,WAEjBzmB,KAAK6jB,QADyC,SAA7C7jB,KAAK8C,OAAOK,UAAU,mBACRpG,EAAS4pB,wBAET5pB,EAAS6pB,sBAQhC1Q,iBAAkB,SAAS8K,EAAOzQ,EAAO2K,EAASwF,GAC9ClB,EAAWpb,UAAU8R,iBAAiB9P,KAAKpG,KAAMghB,EAAOzQ,EAAO2K,EAASwF,EAExE,IACI5gB,GADA8M,EAAQ5M,KAER2hB,EAAmBjlB,EAAEoN,OAAOkX,EAAO,SAASjS,GACxC,MAAQA,aAAawM,IAO7B,IAAgC,IAA5BoG,EAAiBvhB,OAAc,CAE/B,GAAIymB,KACJnqB,GAAE6N,KAAK7N,EAAEoqB,MAAM9F,EAAO,uBAAwB,SAAS+F,GACnDrqB,EAAE6N,KAAKwc,EAAc,SAASxX,GAC1BsX,EAAwBtX,EAAQ,IAAMA,KAK9C,IAAIsD,GAAO7S,IACXtD,GAAE6N,KAAKyW,EAAO,SAASE,GAEnB,GAAI8F,GAA0BtqB,EAAEuqB,KAAKJ,EACAnqB,EAAEoS,IAAIoS,EAAKvF,oBAAqB,SAASuL,GAAK,MAAOA,GAAE,KAM5F,IAHAF,EAA2BtqB,EAAEuqB,KAAKD,EAA0BtqB,EAAEyqB,KAAKjG,EAAKpF,6BAG/B,IAArCpf,EAAE0qB,KAAKJ,GAAiC,CAGxC,GAAIK,IAAapqB,KAAMP,EAAE2nB,OAAQ2C,IAC7B7D,EAAatQ,EAAKtQ,KAAKmJ,eAAeyX,aACtCmE,EAAiBnE,EAAWI,WAAW,KAC3CJ,GAAW5V,OAAS9P,KAAK6T,IAAI4P,EAAK/F,OAAO5N,OACZsF,EAAKqQ,kBAAkBmE,EAAUnG,EAAK1H,KAAM0H,EAAKhG,QAAS,MACvFiI,EAAW5S,MAAQ2Q,EAAK/F,OAAO5K,MAC/B+W,EAAeC,UAAUrG,EAAK/F,OAAQ,EAAG,GACzCmM,EAAe9D,UAAU5W,EAAM+S,YAAa,EAC5C,IAAI6H,GAAW3U,EAAK8Q,UAAU0D,EAAUC,EAAgBpG,EAAK1H,KAC/B0H,EAAKzI,OAAQyI,EAAKhG,QAASgG,EAAKtF,SAC9D9d,GAAEojB,EAAK/F,QAAQ7T,YAAYxJ,EAAE0pB,EAASrM,SACtC+F,EAAK/F,OAASgI,EACdzmB,EAAEiC,OAAOuiB,EAAKpF,2BAA4B+K,MAiCtD,GAAIja,EAAM1E,gBAAiB,CACvB,GACIgf,GADA1e,EAAUoE,EAAM1E,gBAAgBM,OAEpC,KAAK0e,EAAI,EAAGA,EAAI1e,EAAQpI,OAAQ8mB,IAC5B1e,EAAQ0e,GAAGO,eAKf,IACIC,GACA5d,EAFA2V,GAAoB,CAGxB,KAAK3f,EAAI,EAAGA,EAAIkhB,EAAM5gB,OAAQN,IAC1B,GAAIkhB,EAAMlhB,GAAG7C,KAAKmD,OAEd,IADAsnB,EAAkB1G,EAAMlhB,GAAG7C,KAAK,GAC3BiqB,EAAI,EAAGA,EAAI1e,EAAQpI,OAAQ8mB,IAE5B,GADApd,EAAStB,EAAQ0e,GACZpd,EAAO6d,WAAWD,IAClB5d,EAAOoH,MAAQpH,EAAOwH,IAAM,CAC7BmO,GAAoB,CACpB,OAOZ7S,EAAM6S,oBAAsBA,IAC5B7S,EAAM6S,kBAAoBA,EACrB7S,EAAM6S,mBACP7S,EAAM1E,gBAAgB/D,OAE1ByI,EAAM3G,gBAOd,GAAI+a,EAAM,YAAcxF,GAAkB,CACtC,GAAIC,IAAc,CAClB,KAAK3b,EAAI,EAAGA,EAAIkhB,EAAM5gB,OAAQN,IAC1B,IAAKkhB,EAAMlhB,GAAG2b,YAAa,CACvBA,GAAc,CACd,OAGRzb,KAAK6C,aAAa+kB,oBAAoB5e,QAAQyS,OAG9Czb,MAAK6C,aAAa+kB,oBAAoBzjB,QAO9C4d,iBAAkB,SAASvI,GACL,SAAdxZ,KAAKwZ,OACQ,cAATA,IACAA,EAAO,iBAEXxZ,KAAK6C,aAAaud,UAAUphB,KAAK,QAAS,+BAAiCwa,EAAO,OAS1FqO,kBAAmB,SAASC,EAAOT,EAAU7N,GAKzC,GAAIuO,GAAgB/nB,KAAKuC,KAAKmJ,eAAeqc,cACzCC,EAAUhoB,KAAK+f,SAAS+H,EAM5B,OALKE,IAAYA,EAAQxO,OAASA,IAC9BwO,EAAU,GAAKlrB,GAAuB,eAAGgrB,EAAOtO,EAAM/X,EAAmB,SAAWwmB,GAAM,MAAOF,GAAcG,YAAaD,KAC5HjoB,KAAK+f,SAAS+H,GAASE,GAGpBA,EAAQG,cAAed,IAMlCvF,SAAU,SAAS7kB,GAwBf,MArBIuc,MADoB,cAApBvc,EAAKunB,YAA8BxkB,KAAK4C,YACjC,YAeF5C,KAAKuC,KAAK6L,KAAOpO,KAAKuC,KAAK4L,IAAMzM,EAC3B,SAEA,OAGR8X,MAOX0J,kBAAmB,SAAS5kB,EAAQkb,EAAM0B,EAASkN,GAC/C,GAAa,aAAT5O,GAA+C,WAAxBlb,EAAOimB,aAC9B,MAAOvkB,MAAKumB,mBAIZ,IAAI8B,GAAgBroB,KAAK6nB,kBAAkB3M,EAAS5c,EAAOrB,KAAMuc,GAG7D8O,EAAgB,GAAKtoB,MAAY,QAAE,KAAM,KAAM,KAAMA,KAAK8C,OAAO+D,oBAAqB2S,EAC1F,OAAO/b,MAAK6T,IAAItR,KAAK2c,cAAe2L,EAAcC,oBAAoBF,EAAeD,KAc7FzE,UAAW,SAASrlB,EAAQglB,EAAK9J,EAAMf,EAAQyC,EAASsN,EAASC,GAC7D,GAAI7b,GAAQ5M,KACRmb,EAASmI,EAAInI,OACbiI,EAAW3K,EAAO3X,IAAI,SACtBuiB,EAAY5K,EAAO3X,IAAI,OACvB6e,EAAc3f,KAAK2f,WAGvB,IAA4B,WAAxBrhB,EAAOimB,aACP,MAAOvkB,MAAK4jB,sBAAsBtlB,EAAQglB,EAAK9J,EAAMf,EAAQyC,EAMjE,IACIwN,MACAC,EAAQ3oB,KAAK+f,SAAS7E,GAASyN,KAEnC,IADIlN,aAAc,EACbnd,EAAOrB,KAER,IAAK,GADDuL,GAAUxI,KAAKkI,gBAAgBM,QAC1B1I,EAAI,EAAG0T,EAAMlV,EAAOrB,KAAKmD,OAAYoT,EAAJ1T,EAASA,IAAK,CAIpD,IAAK,GADDgK,GAFAyF,EAAUjR,EAAOrB,KAAK6C,GACtB8oB,GAAe,EAEV1B,EAAI,EAAG2B,EAAOrgB,EAAQpI,OAAYyoB,EAAJ3B,EAAUA,IAG7C,GAFApd,EAAStB,EAAQ0e,GACjBpd,EAAOgf,aAAavZ,IACfzF,EAAOif,KAAKxZ,GAAU,CACvBqZ,GAAe,CACf,OAGHA,IAEDF,EAAS9hB,KAAK2I,GAEPA,EAAQ,IAAMoZ,KACjBlN,aAAc,IAO9B,GAAIuN,GAAuBhpB,KAAKkI,gBAAgB+gB,aAAe,GAAIxO,GAAaza,KAAKkI,gBAAgB+gB,cAAgB,KACjHC,EAAwBlpB,KAAKkI,gBAAgBihB,cAAgB,GAAI1O,GAAaza,KAAKkI,gBAAgBihB,eAAiB,KACpHtF,EAAU,GAAK7jB,MAAY,QAAE0oB,EAAUtF,EAAUC,EAAWrjB,KAAK8C,OAAO+D,oBAAqB2S,EAAMwP,EAAqBE,EAE3FV,EAEA,SAASY,GAAK,MAAOxc,GAAMrK,KAAK6P,eAAegX,KAC5E1N,EAAiB,IAMrB,IAJA4H,EAAI2C,UAAYjmB,KAAK8C,OAAOK,UAAU,eACtCmgB,EAAIqC,KAAOrC,EAAInI,OAAOyK,QAAQC,aAC9BvC,EAAIwC,UAAY,QAEZxnB,EAAOrB,KAAM,CAEb,GAAIosB,GAAexF,EAAQE,KAAKT,EAAKnI,EAAO5K,MAAO4K,EAAO5N,OAAQ2N,EAASyN,EAC3EjN,GAAiB2N,EAAa3N,eAC9BC,oBAAsB0N,EAAa1N,oBACnCD,EAAe4N,aAAe3J,EAIlC,MAAK8I,GAAL,OACW,GAAIjN,GAAiB5O,EAAO6L,EAAQyC,EAASC,EAAQ7c,EAAOrB,KAAMuc,EAC7Clb,EAAOkc,QAASiB,YAAaC,EAC7BC,oBAAqB6M,KAQ7D,IAAIjK,GAAe,SAAShc,EAAM5C,EAAW6C,GACzCgd,EAAWpZ,KAAKpG,KAAMuC,EAAM5C,EAAW6C,GACvCxC,KAAK6jB,QAAU9mB,EAASwsB,eACxBvpB,KAAKumB,oBAAsB,GAI3BvmB,KAAK2f,YAAc,GAGvBhhB,GAAO4f,EAAana,UAAW9B,EAAS8B,UAAWob,EAAWpb,WAC1D0gB,eAAgB,OAAQ,WAAY,QAAS,SAAU,QAEvD7hB,cAAevG,EAAEqoB,MAAOziB,EAAS8B,UAAUnB,gBACrCgC,IAAK,QAASC,MAAO,kBAAmBjH,KAAM,UAC9CgH,IAAK,mBAAoBC,MAAO,mBAAoBjH,KAAM,OAAQkH,eAAe,IACjFF,IAAK,cAAeC,MAAO,iCAAkCjH,KAAM,OAAQkH,eAAe,IAC1FF,IAAK,iBAAkBC,MAAO,uBAAwBjH,KAAM,QAASkH,cAAe,KACpFF,IAAK,OAAQhH,KAAM,SAAUkH,cAAenF,KAAKwZ,KAAMpU,QAAQ,IAC/DH,IAAK,SAAUhH,KAAM,MAAOkH,cAAe,EAAGC,QAAQ,KAG5D9B,gBAAiB,WACbtD,KAAK4F,SAAS5F,KAAK8C,OAAOK,UAAU,SACpCnD,KAAKyF,cAAesD,kBAAkB,KAM1C4a,UAAW,SAASrlB,EAAQglB,EAAK9J,EAAMf,EAAQyC,GAE3C,GAA4B,WAAxB5c,EAAOimB,aACP,MAAOvkB,MAAK4jB,sBAAsBtlB,EAAQglB,EAAK,YAAa7K,EAAQyC,EAGpE,IAAI3Y,GAAOvC,KAAKuC,KACZshB,EAAU,GAAK7jB,MAAY,QAAE1B,EAAOrB,KAAMwb,EAAO3X,IAAI,SAAU2X,EAAO3X,IAAI,OAAQd,KAAK8C,OAAO+D,oBAAqB2S,EACtF,SAAS4P,GAAK,MAAO7mB,GAAK6P,eAAegX,IAE1E,OADAvF,GAAQE,KAAKT,EAAKA,EAAInI,OAAO5K,MAAO+S,EAAInI,OAAO5N,OAAQ2N,GAChD,GAAID,GAAKjb,KAAMyY,EAAQyC,EAASoI,EAAInI,OAAQ7c,EAAOrB,OAQlEimB,kBAAmB,SAAS5kB,EAAQkb,GAChC,GAA4B,WAAxBlb,EAAOimB,aACP,MAAOvkB,MAAKumB,mBAOZ,IAAIiD,GAAgBxpB,KAAKgW,QAAQyT,aAAa,gBAAkBzpB,KAAKgW,QAAQyT,aAAa,gBAAgBrpB,OAAS,CAC/F,KAAhBopB,GAA4C,IAAvBlrB,EAAOrB,KAAKmD,SAEjCopB,EAAclrB,EAAOrB,KAAK,GAAG,GAAGysB,MAAM,MAElCF,EADiB,OAAhBA,EACa,EAGAA,EAAYppB,OAAS,EAI3C,IAAIkoB,GAAgB,GAAKtoB,MAAY,QAAE,KAAM,KAAM,KAAMA,KAAK8C,OAAO+D,oBAAqB2S,EAC1F,OAAO8O,GAAcC,oBAAoBiB,IAOjDxK,aAAc,WACV,GAAI2K,IAAc5N,EAAM3X,UAAU4a,aAAa5Y,KAAKpG,MAMpD,OAHKA,MAAKgW,QAAQyT,aAAa,iBAC3BE,EAAU/iB,KAAK5G,KAAKgW,QAAQ4T,SAEzBD,GAOXzT,iBAAkB,SAAS8K,EAAOzQ,EAAO2K,EAASwF,GAC9ClB,EAAWpb,UAAU8R,iBAAiB9P,KAAKpG,KAAMghB,EAAOzQ,EAAO2K,EAASwF,EAExE,IAAIiB,GAAmBjlB,EAAEoN,OAAOkX,EAAO,SAASjS,GAC5C,MAAQA,aAAawM,KAIrBsO,EAAe7pB,KAAKgW,QAAQyT,aAAa,eAC7C,IAAgC,IAA5B9H,EAAiBvhB,QAAgBJ,KAAK8C,OAAOK,UAAU,gBAAkB0mB,GAAgBA,EAAazpB,OAAS,EAAG,CAClH,GAAI0pB,EAGJ,IAA8D,IAA1D9pB,KAAKwD,cAAcxC,KAAK,uBAAuBZ,SAI/C0pB,EAAY9pB,KAAK8C,OAAOK,UAAU,kBAAoB,EACtDnD,KAAKiJ,UAAUhI,QACXnD,EAAE,UAAUwO,KAAK,WAAWhL,SAAS,0BAA0B+M,KAC3D0b,YAAaD,EAAY,KACzBlqB,KAAQI,KAAK8C,OAAOK,UAAU,kBAAoB2mB,GAAa,EAAI,QAKvE9pB,KAAK8C,OAAOK,UAAU,qBAAqB,CAC3C,GAAI6mB,GAAmBH,EAAavF,KAAK,QAEzCtkB,MAAKiJ,UAAUhI,QACXnD,EAAE,UAAU6V,KAAKqW,GAAkB1oB,SAAS,iCAAiC+M,KACzEzO,IAAOI,KAAK8C,OAAOK,UAAU,qBAS7C2mB,GAA2B,WAAd9pB,KAAKwZ,KAAoB,EAAI,IAAM,KAChD1b,EAAEkC,KAAKiJ,WAAWjI,KAAK,WAAWqN,KAC9B0b,YAAaD,EACbG,cAAeH,IAGnBhsB,EAAEkC,KAAKiJ,WAAWjI,KAAK,eAAeqN,IAAI,QAASrO,KAAK8C,OAAOK,UAAU,oBAIzEnD,MAAKwD,cAAcxC,KAAK,uBAAuBgE,WAQ3D,IAAIsZ,GAAY,SAAU/b,EAAM5C,EAAW6C,GACvCoH,EAAaxD,KAAKpG,KAAMuC,EAAM5C,EAAW6C,GACzCxC,KAAK6jB,QAAU9mB,EAASmtB,YACxBlqB,KAAKiG,eAGTtH,GAAO2f,EAAUla,UAAW9B,EAAS8B,UAAWob,EAAWpb,UAAWwF,EAAaxF,WAC/EnB,cAAevG,EAAEqoB,MAAOziB,EAAS8B,UAAUnB,gBACrCgC,IAAK,cAAeC,MAAO,kBAAmBjH,KAAM,UACpDgH,IAAK,qBAAsBC,MAAO,2BAA4BjH,KAAM,QAASkH,cAAiB,YAC9FF,IAAK,uBAAwBC,MAAO,+BAAgCjH,KAAM,QAASkH,cAAiB,YACpGF,IAAK,cAAeC,MAAO,cAAejH,KAAM,QAASkH,cAAe,UACxEF,IAAK,kBAAmBC,MAAO,kBAAmBjH,KAAM,OAAQkH,eAAe,IAC/EF,IAAK,mBAAoBC,MAAO,wBAAyBjH,KAAM,OAAQkH,eAAe,IACtFF,IAAK,cAAeC,MAAO,sBAAuBjH,KAAM,OAAQkH,eAAe,IAC/EF,IAAK,OAAQhH,KAAM,SAAUkH,cAAenF,KAAKwZ,KAAMpU,QAAQ,IAC/DH,IAAK,YAAaC,MAAO,oBAAqBjH,KAAM,QAASkH,cAAe6F,OAAW0b,KAAM,qCAC7FzhB,IAAK,YAAaC,MAAO,oBAAqBjH,KAAM,QAASkH,cAAe6F,OAAW0b,KAAM,qCAC7FzhB,IAAK,SAAUhH,KAAM,MAAOkH,cAAe,EAAGC,QAAQ,KAG5D9B,gBAAiB,WACbtD,KAAK4F,SAAS5F,KAAK8C,OAAOK,UAAU,SACpCnD,KAAKyF,cAAesD,kBAAkB,MAO9C,IAAIohB,IACA9gB,eAAkBA,EAClBtB,cAAiBA,EACjBse,qBAAwBA,EACxBzc,aAAgBA,EAChBC,UAAaA,EACbyU,UAAaA,EACbC,aAAgBA,EAEhB6L,SAAY7L,GAOZ9X,GAAuB,SAAS4jB,EAAU9nB,EAAM5C,GAChD,GAAI,QAAU0qB,GAEV,MAAOA,GAASpU,KAAKtW,EAIrB,IACG2qB,GAAgBD,EAAShkB,QAK5B,OAHKikB,KACDA,EAAgBD,EAAS5iB,YAEtB,GAAI0iB,GAAiBG,GAAgB/nB,EAAM5C,EAAW0qB,GAIrE,QACI7f,cAAeA,EACfzC,cAAeA,EACf8B,UAAWA,EACXD,aAAcA,EACdyc,qBAAsBA,EACtB/H,UAAWA,EACXC,aAAcA,EACdlV,eAAgBA,EAChB5C,qBAAsBA"} \ No newline at end of file +{"version":3,"file":"tracks.js","sources":["../../../src/viz/trackster/tracks.js"],"names":["define","_","visualization","viz_views","util","slotting","painters","filters_mod","data","tools_mod","config_mod","bbi","round","num","places","val","Math","pow","supportsByteRanges","url","promise","$","Deferred","ajax","type","beforeSend","xhr","setRequestHeader","success","result","status","resolve","extend","html_elt_js_obj_dict","is_container","element","obj","attr","moveable","handle_class","container_selector","element_js_obj","bind","handle","relative","e","d","child","container","top","bottom","i","parent","this","children","this_obj","parents","length","position","outerHeight","cur_container","offsetY","insertBefore","remove_drawable","add_drawable_before","insertAfter","add_drawable","get","is","find","prepend","append","hasClass","move_drawable","deltaY","addClass","removeClass","ERROR_PADDING","MAX_FEATURE_DEPTH","MIN_SQUISH_VIEW_WIDTH","TILE_SIZE","DEFAULT_DATA_QUERY_WAIT","MAX_CHROMS_SELECTABLE","DATA_ERROR","DATA_NOCONVERTER","DATA_NONE","DATA_PENDING","DATA_CANNOT_RUN_TOOL","DATA_OK","TILE_CACHE_SIZE","CONTINUOUS_DATA_MODES","Drawable","view","obj_dict","id_counter","id","drag_handle_class","is_overview","action_icons","config","ConfigSettingCollection","from_models_and_saved_values","config_params","prefs","get_value","set_value","name","config_onchange","on","container_div","build_container_div","header_div","header","header_view","TrackHeaderView","model","$el","icons_div","hover","show","hide","prototype","action_icons_def","title","css_class","on_click_fn","drawable","toggle_icon","hide_contents","show_contents","ConfigSettingCollectionView","collection","render_in_modal","remove","key","label","default_value","hidden","init","changed","can_draw","enabled","request_draw","_draw","to_dict","set_name","new_name","old_name","revert_name","update_intro_div","update_icons","get_drawables","DrawableCollection","call","obj_type","drawables","unpack_drawables","drawables_array","object_from_template","options","dictified_drawables","push","to_key_value_dict","other","index","indexOf","splice","replace_drawable","old_drawable","new_drawable","update_html","replaceWith","new_position","get_tracks","track_type","queue","slice","tracks","shift","concat","DrawableGroup","content_div","appendTo","filters_manager","FiltersManager","after","parent_div","saved_filters_managers","old_manager","filters","visible","setup_multitrack_filtering","group","show_composite_track","clear_filters","_restore_filter_managers","clear_tile_cache","toggle","tiles_div","num_drawables","composite_icon","filters_icon","CompositeTrack","j","same_type","a_type","get_type","num_feature_tracks","can_composite","FeatureTrack","LineTrack","filter","shared_filters","remove_all","new_filter","filter_name","NumberFilter","add_filter","init_filters","composite_track","each","TracksterView","Backbone","View","initialize","chrom","vis_id","dbkey","stand_alone","undefined","label_tracks","tracks_to_be_redrawn","max_low","max_high","zoom_factor","min_separation","has_changes","load_chroms_deferred","render","canvas_manager","CanvasManager","ownerDocument","reset","requested_redraw","parent_element","top_container","browser_content_div","bottom_container","top_labeltrack","viewport_container","intro_div","text","click","select_datasets","Galaxy","root","f-dbkey","track","nav_container","prependTo","nav","overview","overview_viewport","overview_close","overview_highlight","overview_box_background","overview_box","default_overview_height","height","nav_controls","chrom_select","submit_nav","keyCode","which","go_to","location_span","stopPropagation","nav_input","tooltip","placement","low","high","css","select","focus","autocomplete","source","request","response","all_features","feature_search_deferreds","map","t","data_manager","search_features","term","dataset_features","when","apply","done","feature","value","minLength","hidden_input","zo_link","zoom_out","zi_link","zoom_in","load_chroms","change_chrom","trigger","pageX","current_x","offsetX","delta","delta_chrom","width","move_delta","reset_overview","clientX","original_low","current_height","clientY","new_scroll","scrollTop","proxy","left","min","startX","offset","abs","max","span","update_location","old_low","request_redraw","add_label_track","LabelTrack","window","resize_timer","clearTimeout","setTimeout","resize_window","document","redraw","get_base_color","base","toLowerCase","trigger_navigate","new_chrom","new_low","new_high","delay","timer","self","commatize","url_parms","chrom_data","dataType","chrom_info","reference","ref_track","ReferenceTrack","reference_track","chrom_options","len","prev_chroms","next_chroms","html","chrom_start_index","start_index","error","alert","then","found","grep","v","str","replace","chrom_pos","split","parseInt","move_fraction","fraction","current_chrom_span","data_fetch","redraw_on_move_fn","label_track","track_list","track_options","to","requestAnimationFrame","_redraw","floor","ceil","resolution_px_b","left_px","width_px","min_width_px","point","cur_center","new_half","resize_viewport","set_overview","overview_drawable","dataset","copy","postdraw_actions","TracksterTool","Tool","defaults","tool_state","set","remove_inputs","state_dict","get_inputs_dict","is_visible","ToolParameterView","events","change :input","param_div","param","html_div","update_value","update_event","target","TracksterToolView","set_visible","tool","keydown","param_view","run_tool_row","run_on_dataset_button","run_on_region_button","run_on_region","run_on_dataset","update_params","params","run","target_dataset_id","action","tool_id","modal","body","buttons","Close","region","GenomeRegion","start","end","url_params","regions","toJSON","current_track","track_name","tool_region_and_parameters_str","new_track","constructor","hda_ldda","init_for_tool_data","change_mode","mode","set_filters_manager","track_data","set_dataset","Dataset","success_callback","inputs","ss_deferred","ServerStateDeferred","ajax_settings","JSON","stringify","contentType","interval","success_fn","go","message","FilterScaler","default_val","Scaler","gen_val","feature_data","Number","MAX_VALUE","parseFloat","Tile","w_scale","canvas","html_elt","stale","predisplay_actions","LineTrackTile","FeatureTrackTile","all_slotted","feature_mapper","incomplete_features","seq_data","has_icons","other_tiles_features_drawn","Track","Model","dataset_check_type","data_url_extra_params","data_query_wait","GenomeDataManager","genome","Genome","chroms_info","data_mode_compatible","data_and_mode_compatible","can_subset","min_height_px","max_height_px","visible_height_px","resize","add_resize_handle","cancel_fn","unbind","ok_fn","regions_to_use","view_region","bookmarked_regions","elt","from_str","location","href","dataset_id","Collection","No","Yes","on_resize","in_handle","in_drag","drag_control","original_height","new_height","tile_cache","clear","ReadTrack","VariantTrack","show_message","msg_html","retry","init_deferred","data_type","getJSON","kind","valid_chroms","predraw_init","msg_elt","stats","min_value","max_value","mean","sd","set_default_value","TiledTrack","filters_available","Cache","left_offset","tool_view","dynamic_tool_div","overlay_div","slotters","max_rows","set_min_max","isNaN","new_mode","mode_icon","tools_icon","param_space_viz_icon","_gen_tile_cache_key","tile_region","before_draw","clear_after","resolution","tile_promise","tile_width","tile_index","tile_promises","tiles","draw_helper","tile","_add_yaxis_label","on_change","pref_name","make_text_editable","num_cols","on_finish","new_val","help_text","line_track_tiles","force","icons_present","get_mode","update_auto_mode","_get_drawables","is_tile","o","get_elt","show_tile","get_tile_data","data_mode","m","tile_data","get_data","tile_drawn","set_elt","tracks_data","is_deferred","subset_entry","pop","drawing_modes","drawing_heights","get_canvas_height","new_canvas","tile_low","tile_high","ctx","getContext","translate","globalAlpha","globalCompositeOperation","draw_tile","_draw_line_track_tile","painter","LinePainter","draw","tile_element","track_height","region_str","toString","param_str","values","join","dataset_type","extra_info","entry","range","tickDistance","log","new_div","screenPosition","display_modes","union","show_group","visible_height","init_deferreds","update_all_min_max","max_height","char_width_px","data_url","GenomeReferenceDataManager","new_visible","cur_visible","subset","font","manager","default_font","textAlign","c","str_len","fillStyle","fillText","BBIDataManager","DiagonalHeatmapTrack","DiagonalHeatmapPainter","summary_draw_height","start_end_dct","set_painter_from_config","help","ArcLinkedFeaturePainter","LinkedFeaturePainter","all_incomplete_features","pluck","inc_features","tile_incomplete_features","omit","f","keys","size","features","new_canvas_ctx","drawImage","new_tile","update_ui_elt","example_feature","applies_to","show_more_rows_icon","incremental_slots","level","dummy_context","slotter","x","measureText","slot_features","canvas_width","rows_required","dummy_painter","get_required_height","ref_seq","cur_tile","filtered","slots","hide_feature","flen","update_attrs","keep","filter_alpha_scaler","alpha_filter","filter_height_scaler","height_filter","b","draw_results","translation","VariantPainter","num_samples","get_metadata","match","deferreds","fetch","sample_names","font_size","font-size","samples_div_html","line-height","ReadPainter","addable_objects","VcfTrack","template","drawable_type"],"mappings":"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"} \ No newline at end of file diff --git a/static/scripts/viz/bbi-data-manager.js b/static/scripts/viz/bbi-data-manager.js index fb101b8faf9..a73670b6247 100644 --- a/static/scripts/viz/bbi-data-manager.js +++ b/static/scripts/viz/bbi-data-manager.js @@ -1,2 +1,2 @@ -define(["viz/visualization","libs/bbi/bigwig"],function(a,b){var c=a.GenomeDataManager.extend({load_data:function(a){var c=$.Deferred();this.set_data(a,c);{var d=galaxy_config.root+"datasets/"+this.get("dataset").id+"/display",e=this;new $.Deferred}return $.when(b.makeBwg(d)).then(function(b){$.when(b.readWigData(a.get("chrom"),a.get("start"),a.get("end"))).then(function(b){var d=[],f={max:Number.MIN_VALUE};b.forEach(function(a){f.max!==a.min-1&&(d.push([f.max+1,0]),d.push([a.min-2,0])),d.push([a.min-1,a.score]),d.push([a.max,a.score]),f=a});var g={data:d,region:a,dataset_type:"bigwig"};e.set_data(a,g),c.resolve(g)})}),c}});return{BBIDataManager:c}}); +define(["viz/visualization","libs/bbi/bigwig"],function(a,b){var c=a.GenomeDataManager.extend({load_data:function(a){var c=$.Deferred();this.set_data(a,c);{var d=Galaxy.root+"datasets/"+this.get("dataset").id+"/display",e=this;new $.Deferred}return $.when(b.makeBwg(d)).then(function(b){$.when(b.readWigData(a.get("chrom"),a.get("start"),a.get("end"))).then(function(b){var d=[],f={max:Number.MIN_VALUE};b.forEach(function(a){f.max!==a.min-1&&(d.push([f.max+1,0]),d.push([a.min-2,0])),d.push([a.min-1,a.score]),d.push([a.max,a.score]),f=a});var g={data:d,region:a,dataset_type:"bigwig"};e.set_data(a,g),c.resolve(g)})}),c}});return{BBIDataManager:c}}); //# sourceMappingURL=../../maps/viz/bbi-data-manager.js.map \ No newline at end of file diff --git a/static/scripts/viz/trackster/painters.js b/static/scripts/viz/trackster/painters.js index b152c4521ff..6b3316eb94c 100644 --- a/static/scripts/viz/trackster/painters.js +++ b/static/scripts/viz/trackster/painters.js @@ -1,2 +1,2 @@ -define(["libs/underscore"],function(a){var b=1001,c=1002,d=1003,e=1004,f=1005,g=1006,h=function(a,h){var i,j=a[0],k=a[1],l=h[0],m=h[1];return i=l>j?l>=k?b:m>=k?d:c:j>m?g:m>=k?f:e},i=function(a,c){var d=h(a,c);return d!==b&&d!==g},j=function(a,b,c,d,e,f){void 0===f&&(f=4);var g,h=d-b,i=e-c,j=Math.floor(Math.sqrt(h*h+i*i)/f),k=h/j,l=i/j;for(g=0;j>g;g++,b+=k,c+=l)g%2===0&&a.fillRect(b,c,f,1)},k=function(a,b,c,d){var e=b-d/2,f=b+d/2,g=c-Math.sqrt(3*d/2);a.beginPath(),a.moveTo(e,g),a.lineTo(f,g),a.lineTo(b,c),a.lineTo(e,g),a.strokeStyle=this.fillStyle,a.fill(),a.stroke(),a.closePath()},l=function(a){this.default_val=a?a:1};l.prototype.gen_val=function(){return this.default_val};var m=function(a){this.incomplete_features=a.incomplete_features,this.feature_mapper=a.feature_mapper},n=function(b,c,d,e,f){this.data=b,this.view_start=c,this.view_end=d,this.prefs=a.extend({},this.default_prefs,e),this.mode=f};n.prototype.default_prefs={},n.prototype.draw=function(){},n.prototype.get_start_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,-.5)},n.prototype.get_end_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,.5)},n.prototype.get_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,0)},n.prototype._chrom_pos_to_draw_pos=function(a,b,c){return Math.floor(b*(Math.max(0,a-this.view_start)+c))};var o=function(a,b,c,d,e){n.call(this,a,b,c,d,e)};o.prototype.default_prefs={min_value:void 0,max_value:void 0,mode:"Histogram",color:"#000",overflow_color:"#F66"},o.prototype.draw=function(b,c,d,e){var f=!1,g=this.prefs.min_value,h=this.prefs.max_value,i=h-g,j=d,k=this.view_start,l=this.mode,m=this.data;b.save();var n=Math.round(d+g/i*d);"Intensity"!==l&&(b.fillStyle="#aaa",b.fillRect(0,n,c,1)),b.beginPath();var o,p,q;q=m.length>1?a.map(m.slice(0,-1),function(a,b){return Math.ceil((m[b+1][0]-m[b][0])*e)}):[10];for(var r,s=this.prefs.block_color||this.prefs.color,t=parseInt(s.slice(1),16),u=(16711680&t)>>16,v=(65280&t)>>8,w=255&t,x=!1,y=!1,z=0,A=m.length;A>z;z++)if(b.fillStyle=b.strokeStyle=s,x=y=!1,r=q[z],o=Math.ceil((m[z][0]-k-.5)*e),p=m[z][1],null!==p){if(g>p?(y=!0,p=g):p>h&&(x=!0,p=h),"Histogram"===l)p=Math.round(p/i*j),b.fillRect(o,n,r,-p);else if("Intensity"===l){var B=(p-g)/i,C=Math.round(u+(255-u)*(1-B)),D=Math.round(v+(255-v)*(1-B)),E=Math.round(w+(255-w)*(1-B));b.fillStyle="rgb("+C+","+D+","+E+")",b.fillRect(o,0,r,j)}else p=Math.round(j-(p-g)/i*j),f?b.lineTo(o,p):(f=!0,"Filled"===l?(b.moveTo(o,j),b.lineTo(o,p)):b.moveTo(o,p));if(b.fillStyle=this.prefs.overflow_color,x||y){var F;"Histogram"===l||"Intensity"===l?F=r:(o-=2,F=4),x&&b.fillRect(o,0,F,3),y&&b.fillRect(o,j-3,F,3)}b.fillStyle=s}else f&&"Filled"===l&&b.lineTo(o,j),f=!1;"Filled"===l?(f&&(b.lineTo(o,n),b.lineTo(0,n)),b.fill()):b.stroke(),b.restore()};var p=function(a){this.feature_positions={},this.slot_height=a,this.translation=0,this.y_translation=0};p.prototype.map_feature_data=function(a,b,c,d){this.feature_positions[b]||(this.feature_positions[b]=[]),this.feature_positions[b].push({data:a,x_start:c,x_end:d})},p.prototype.get_feature_data=function(a,b){var c,d=Math.floor((b-this.y_translation)/this.slot_height);if(!this.feature_positions[d])return null;a+=this.translation;for(var e=0;e=c.x_start&&a<=c.x_end)return c.data};var q=function(a,b,c,d,e,f,g){n.call(this,a,b,c,d,e),this.alpha_scaler=f?f:new l,this.height_scaler=g?g:new l,this.max_label_length=200};q.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"},a.extend(q.prototype,{get_required_height:function(a,b){var c=this.get_row_height(),d=c,e=this.mode;return("no_detail"===e||"Squish"===e||"Pack"===e)&&(c=a*d),c+this.get_top_padding(b)},get_top_padding:function(){return 0},draw:function(a,b,c,d,e){var f=this.data,g=this.view_start,h=this.view_end;a.save(),a.fillStyle=this.prefs.block_color,a.textAlign="right";for(var i,j=this.get_row_height(),k=new p(j),l=[],n=0,o=f.length;o>n;n++){var q=f[n],r=q[0],s=q[1],t=q[2],u=e&&void 0!==e[r]?e[r].slot:null;("Dense"===this.mode||null!==u)&&h>s&&t>g&&(i=this.draw_element(a,this.mode,q,u,g,h,d,j,b),k.map_feature_data(q,u,i[0],i[1]),(g>s||t>h)&&l.push(q))}return a.restore(),k.y_translation=this.get_top_padding(b),new m({incomplete_features:l,feature_mapper:k})},draw_element:function(){return[0,0]}});var r=10,s=3,t=5,u=10,v=1,w=9,x=3,y=9,z=2,A="#ccc",B=function(a,b,c,d,e,f,g){q.call(this,a,b,c,d,e,f,g),this.draw_background_connector=!0,this.draw_individual_connectors=!1};a.extend(B.prototype,q.prototype,{get_row_height:function(){var a,b=this.mode;return a="Dense"===b?r:"no_detail"===b?s:"Squish"===b?t:u},draw_element:function(a,b,c,d,e,f,g,h,i){var j,k=(c[0],c[1]),l=c[2],m=c[3],n=c[4],o=Math.floor(Math.max(0,(k-e-.5)*g)),p=Math.ceil(Math.min(i,Math.max(0,(l-e-.5)*g))),q=o,r=p,j=("Dense"===b?0:0+d)*h+this.get_top_padding(i),s=null,t=null,u=n&&"+"!==n&&"."!==n?this.prefs.reverse_strand_color:this.prefs.block_color;if(label_color=this.prefs.label_color,a.globalAlpha=this.alpha_scaler.gen_val(c),"Dense"===b&&(d=1),"no_detail"===b)a.fillStyle=u,a.fillRect(o,j+5,p-o,v);else{var B=c[5],C=c[6],D=c[7],E=!0;B&&C&&(s=Math.floor(Math.max(0,(B-e)*g)),t=Math.ceil(Math.min(i,Math.max(0,(C-e)*g))));var F,G;if("Squish"===b?(F=1,G=x,E=!1):"Dense"===b?(F=5,G=w):(F=5,G=y),D){var H,I;"Squish"===b||"Dense"===b?(H=j+Math.floor(x/2)+1,I=1):n?(H=j,I=G):(H+=x/2+1,I=1),this.draw_background_connector&&("Squish"===b||"Dense"===b?a.fillStyle=A:n?"+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand")):a.fillStyle=A,a.fillRect(o,H,p-o,I));for(var J=0,K=D.length;K>J;J++){var L,M,N=D[J],O=Math.floor(Math.max(0,(N[0]-e-.5)*g)),P=Math.ceil(Math.min(i,Math.max((N[1]-e-.5)*g)));if(!(O>P)){if(a.fillStyle=u,a.fillRect(O,j+(G-F)/2+1,P-O,F),void 0!==s&&C>B&&!(O>t||s>P)){var Q=Math.max(O,s),R=Math.min(P,t);a.fillRect(Q,j+1,R-Q,G),1===D.length&&"Pack"===b&&("+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand_inv"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand_inv")),R>Q+14&&(Q+=2,R-=2),a.fillRect(Q,j+1,R-Q,G))}this.draw_individual_connectors&&L&&this.draw_connector(a,L,M,O,P,j),L=O,M=P}}if("Pack"===b){a.globalAlpha=1,a.fillStyle="white";var S=this.height_scaler.gen_val(c),T=Math.ceil(G*S),U=Math.round((G-T)/2);1!==S&&(a.fillRect(o,H+1,p-o,U),a.fillRect(o,H+G-U+1,p-o,U))}}else a.fillStyle=u,a.fillRect(o,j+1,p-o,G),n&&E&&("+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand_inv"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand_inv")),a.fillRect(o,j+1,p-o,G));a.globalAlpha=1,m&&"Pack"===b&&k>e&&(a.fillStyle=label_color,0===e&&o-a.measureText(m).width<0?(a.textAlign="left",a.fillText(m,p+z,j+8,this.max_label_length),r+=a.measureText(m).width+z):(a.textAlign="right",a.fillText(m,o-z,j+8,this.max_label_length),q-=a.measureText(m).width+z))}return a.globalAlpha=1,[q,r]}});var C=function(a,b,c,d,e,f,g,h,i){q.call(this,a,b,c,d,e,f,g),this.ref_seq=h?h.data:null,this.base_color_fn=i};a.extend(C.prototype,q.prototype,{get_row_height:function(){var a,b=this.mode;return"Dense"===b?a=r:"Squish"===b?a=t:(a=u,this.prefs.show_insertions&&(a*=2)),a},_parse_cigar:function(b){var c="MIDNSHP=X",d=[[0,0]],e=d[0],f=0,g=a.map(b.match(/[0-9]+[MIDNSHP=X]/g),function(a){var b=parseInt(a.slice(0,-1),10),g=a.slice(-1);return"N"===g?0!==e[1]&&(e=[f+b,f+b],d.push(e)):-1==="ISHP".indexOf(g)&&(e[1]+=b,f+=b),[c.indexOf(g),b]});return{blocks:d,cigar:g}},draw_read:function(a,b,g,j,l,m,n,o,p,q){var r=function(a,b,c){return-1!=="M=NXD".indexOf(b)&&(a+=c),a},s=function(a,b,c){return-1!=="IX".indexOf(b)&&(a+=c),a},t=function(a){return Math.floor(Math.max(0,(a-l-.5)*g))};a.textAlign="center";var u,v,z=[l,m],B=0,C=0,D=Math.round(g/2),E=a.canvas.manager.char_width_px,F="+"===p?this.prefs.detail_block_color:this.prefs.reverse_strand_color,G="Pack"===b,H=G?y:x,J=j+1,K=new I(a,H,g,b),L=[],M=[],N=this._parse_cigar(o);o=N.cigar,L=N.blocks;for(var O=0;OQ;Q++){var S=o[Q],T="MIDNSHP=X"[S[0]],U=S[1],V=n+B;if(u=t(V),v=t(V+U),i([V,V+U],z))switch(u===v&&(v+=1),T){case"H":case"S":case"P":break;case"M":B+=U;break;case"=":case"X":var W="";"X"===T?W=q.slice(C,C+U):this.ref_seq&&(W=this.ref_seq.slice(Math.max(0,V-l),Math.min(V-l+U,m-l)));for(var X=Math.max(V,l),Y=0;YE?a.fillText(W[Y],Z,j+9):g>.05&&a.fillRect(Z-D,J,Math.max(1,Math.round(g)),H)}"X"===T&&(C+=U),B+=U;break;case"N":a.fillStyle=A,a.fillRect(u,J+(H-1)/2,v-u,1),B+=U;break;case"D":K.draw_deletion(u,J,U),B+=U;break;case"I":var $=u-D;if(i([V,V+U],z)){var _=q.slice(C,C+U);if(this.prefs.show_insertions){var aa=u-(v-u)/2;if(("Pack"===b||"Auto"===this.mode)&&void 0!==q&&g>E){switch(a.fillStyle="yellow",a.fillRect(aa-D,j-9,v-u,9),M[M.length]={type:"triangle",data:[$,j+4,5]},a.fillStyle=A,h([V,V+U],z)){case d:_=_.slice(l-V);break;case e:_=_.slice(0,V-m);break;case f:break;case c:_=_.slice(l-V,V-m)}for(var Y=0,ba=_.length;ba>Y;Y++){var Z=Math.floor(Math.max(0,(V+Y-l)*g));a.fillText(_[Y],Z-(v-u)/2,j)}}else a.fillStyle="yellow",a.fillRect(aa,j+("Dense"!==this.mode?2:5),v-u,"Dense"!==b?x:w)}else("Pack"===b||"Auto"===this.mode)&&void 0!==q&&g>E&&M.push({type:"text",data:[_.length,$,j+9]})}C+=U}else B=r(B,T,U),C=s(C,T,U)}a.fillStyle="yellow";for(var ca,da,ea,O=0;O=e&&c[4][0]<=f&&c[4][2]?this.draw_read(a,b,g,p,e,f,c[4][0],c[4][2],c[4][3],c[4][4]):r=!1,c[5][1]>=e&&c[5][0]<=f&&c[5][2]?this.draw_read(a,b,g,p,e,f,c[5][0],c[5][2],c[5][3],c[5][4]):r=!1;var s=Math.ceil(Math.min(i,Math.max(-.5*g,(c[4][1]-e-.5)*g))),t=Math.floor(Math.max(-.5*g,(c[5][0]-e-.5)*g));if(r&&t>s){a.fillStyle=A;var u=p+1+(q-1)/2;j(a,s,u,t,u)}}else this.draw_read(a,b,g,p,e,f,k,c[4],c[5],c[6]);return"Pack"===b&&k>=e&&"."!==m&&(a.fillStyle=this.prefs.label_color,0===e&&n-a.measureText(m).width<0?(a.textAlign="left",a.fillText(m,o+z,p+9,this.max_label_length)):(a.textAlign="right",a.fillText(m,n-z,p+9,this.max_label_length))),[0,0]}});var D=function(a,b,c,d,e,f,g){B.call(this,a,b,c,d,e,f,g),this.longest_feature_length=this.calculate_longest_feature_length(),this.draw_background_connector=!1,this.draw_individual_connectors=!0};a.extend(D.prototype,q.prototype,B.prototype,{calculate_longest_feature_length:function(){for(var a=0,b=0,c=this.data.length;c>b;b++){var d=this.data[b],e=d[1],f=d[2];a=Math.max(a,f-e)}return a},get_top_padding:function(a){var b=this.view_end-this.view_start,c=a/b;return Math.min(128,Math.ceil(this.longest_feature_length/2*c))},draw_connector:function(a,b,c,d,e,f){{var g=(c+d)/2,h=d-g;Math.PI}h>0&&(a.beginPath(),a.arc(g,f,d-g,Math.PI,0),a.stroke())}});var E=function(a,b){this.rgb=Array.isArray(a)?a:6==a.length?a.match(/.{2}/g).map(function(a){return parseInt(a,16)}):7==a.length?a.substring(1,7).match(/.{2}/g).map(function(a){return parseInt(a,16)}):a.split("").map(function(a){return parseInt(a+a,16)}),this.alpha="number"==typeof b?b:1};E.prototype={eval:function(){return this},toCSS:function(){return this.alpha<1?"rgba("+this.rgb.map(function(a){return Math.round(a)}).concat(this.alpha).join(", ")+")":"#"+this.rgb.map(function(a){return a=Math.round(a),a=(a>255?255:0>a?0:a).toString(16),1===a.length?"0"+a:a}).join("")},toHSL:function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=(g+h)/2,j=g-h;if(g===h)a=b=0;else{switch(b=i>.5?j/(2-g-h):j/(g+h),g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,l:i,a:f}},toARGB:function(){var a=[Math.round(255*this.alpha)].concat(this.rgb);return"#"+a.map(function(a){return a=Math.round(a),a=(a>255?255:0>a?0:a).toString(16),1===a.length?"0"+a:a}).join("")},mix:function(a,b){color1=this;var c=b,d=2*c-1,e=color1.toHSL().a-a.toHSL().a,f=((d*e==-1?d:(d+e)/(1+d*e))+1)/2,g=1-f,h=[color1.rgb[0]*f+a.rgb[0]*g,color1.rgb[1]*f+a.rgb[1]*g,color1.rgb[2]*f+a.rgb[2]*g],i=color1.alpha*c+a.alpha*(1-c);return new E(h,i)}};var F=function(a,b,c,d){this.start_color=new E(a),this.end_color=new E(b),this.start_value=c,this.end_value=d,this.value_range=d-c};F.prototype.map_value=function(a){return a=Math.max(a,this.start_value),a=Math.min(a,this.end_value),a=(a-this.start_value)/this.value_range,this.start_color.mix(this.end_color,1-a).toCSS()};var G=function(a,b,c,d,e){this.positive_ramp=new F(b,c,0,e),this.negative_ramp=new F(b,a,0,-d),this.start_value=d,this.end_value=e};G.prototype.map_value=function(a){return a=Math.max(a,this.start_value),a=Math.min(a,this.end_value),a>=0?this.positive_ramp.map_value(a):this.negative_ramp.map_value(-a)};var H=function(a,b,c,d,e){n.call(this,a,b,c,d,e);var f,g;if(void 0===this.prefs.min_value){var h=1/0;for(f=0,g=this.data.length;g>f;f++)h=Math.min(h,this.data[f][6]);this.prefs.min_value=h}if(void 0===this.prefs.max_value){var i=-(1/0);for(f=0,g=this.data.length;g>f;f++)i=Math.max(i,this.data[f][6]);this.prefs.max_value=i}};H.prototype.default_prefs={min_value:void 0,max_value:void 0,mode:"Heatmap",pos_color:"#FF8C00",neg_color:"#4169E1"},H.prototype.draw=function(a,b,c,d){var e,f,g,h,i,j,k=this.prefs.min_value,l=this.prefs.max_value,m=this.view_start,n=(this.mode,this.data),o=1/Math.sqrt(2),p=new G(this.prefs.neg_color,"#FFFFFF",this.prefs.pos_color,k,l),q=function(a){return(a-m)*d};a.save(),a.rotate(-45*Math.PI/180),a.scale(o,o);for(var r=0,s=n.length;s>r;r++)e=n[r],f=q(e[1]),g=q(e[2]),h=q(e[4]),i=q(e[5]),j=e[6],a.fillStyle=p.map_value(j),a.fillRect(f,h,g-f,i-h);a.restore()};var I=function(a,b,c,d){this.ctx=a,this.row_height=b,this.px_per_base=c,this.draw_details=("Pack"===d||"Auto"===d)&&c>=a.canvas.manager.char_width_px,this.delete_details_thickness=.2};a.extend(I.prototype,{draw_deletion:function(a,b,c){this.ctx.fillStyle="black";var d=(this.draw_details?this.delete_details_thickness:1)*this.row_height;b+=.5*(this.row_height-d),this.ctx.fillRect(a,b,c*this.px_per_base,d)}});var J=function(a,b,c,d,e,f){n.call(this,a,b,c,d,e),this.base_color_fn=f,this.divider_height=1};return a.extend(J.prototype,n.prototype,{get_row_height:function(){var a,b=this.mode;return a="Dense"===b?r:"Squish"===b?t:u},get_required_height:function(a){var b=this.prefs.summary_height;return a>1&&this.prefs.show_sample_data&&(b+=this.divider_height+a*this.get_row_height()),b},draw:function(b,c,d,e){b.save();var f,g,h,i,j,k,l,m,n,o,p,q=function(a,b){var c=a.length,d=b.length,e=0,f=1,g=null;return"-"===b?(g="deletion",f=a.length):0===a.indexOf(b)&&c>d?(g="deletion",f=c-d,e=d):0===b.indexOf(a)&&d>c&&(g="insertion",f=d-c,e=d),null!==g?{type:g,start:e,len:f}:{}},r=Math.max(1,Math.floor(e)),s=this.data.length?this.data[0][7].split(",").length:0,v="Squish"===this.mode?t:u,w=.1>e?v:"Squish"===this.mode?x:y,z=!0,A=new I(b,v,e,this.mode);1===s&&(v=w=ethis.view_end)){if(z)for(b.fillStyle="#999999",b.globalAlpha=1,p=0;pj?l>=k?b:m>=k?d:c:j>m?g:m>=k?f:e},i=function(a,c){var d=h(a,c);return d!==b&&d!==g},j=function(a,b,c,d,e,f){void 0===f&&(f=4);var g,h=d-b,i=e-c,j=Math.floor(Math.sqrt(h*h+i*i)/f),k=h/j,l=i/j;for(g=0;j>g;g++,b+=k,c+=l)g%2===0&&a.fillRect(b,c,f,1)},k=function(a,b,c,d){var e=b-d/2,f=b+d/2,g=c-Math.sqrt(3*d/2);a.beginPath(),a.moveTo(e,g),a.lineTo(f,g),a.lineTo(b,c),a.lineTo(e,g),a.strokeStyle=this.fillStyle,a.fill(),a.stroke(),a.closePath()},l=function(a){this.default_val=a?a:1};l.prototype.gen_val=function(){return this.default_val};var m=function(a){this.incomplete_features=a.incomplete_features,this.feature_mapper=a.feature_mapper},n=function(b,c,d,e,f){this.data=b,this.view_start=c,this.view_end=d,this.prefs=a.extend({},this.default_prefs,e),this.mode=f};n.prototype.default_prefs={},n.prototype.draw=function(){},n.prototype.get_start_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,-.5)},n.prototype.get_end_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,.5)},n.prototype.get_draw_pos=function(a,b){return this._chrom_pos_to_draw_pos(a,b,0)},n.prototype._chrom_pos_to_draw_pos=function(a,b,c){return Math.floor(b*(Math.max(0,a-this.view_start)+c))};var o=function(a,b,c,d,e){n.call(this,a,b,c,d,e)};o.prototype.default_prefs={min_value:void 0,max_value:void 0,mode:"Histogram",color:"#000",overflow_color:"#F66"},o.prototype.draw=function(b,c,d,e){var f=!1,g=this.prefs.min_value,h=this.prefs.max_value,i=h-g,j=d,k=this.view_start,l=this.mode,m=this.data;b.save();var n=Math.round(d+g/i*d);"Intensity"!==l&&(b.fillStyle="#aaa",b.fillRect(0,n,c,1)),b.beginPath();var o,p,q;q=m.length>1?a.map(m.slice(0,-1),function(a,b){return Math.ceil((m[b+1][0]-m[b][0])*e)}):[10];for(var r,s=this.prefs.block_color||this.prefs.color,t=parseInt(s.slice(1),16),u=(16711680&t)>>16,v=(65280&t)>>8,w=255&t,x=!1,y=!1,z=0,A=m.length;A>z;z++)if(b.fillStyle=b.strokeStyle=s,x=y=!1,r=q[z],o=Math.floor((m[z][0]-k-.5)*e),p=m[z][1],null!==p){if(g>p?(y=!0,p=g):p>h&&(x=!0,p=h),"Histogram"===l)p=Math.round(p/i*j),b.fillRect(o,n,r,-p);else if("Intensity"===l){var B=(p-g)/i,C=Math.round(u+(255-u)*(1-B)),D=Math.round(v+(255-v)*(1-B)),E=Math.round(w+(255-w)*(1-B));b.fillStyle="rgb("+C+","+D+","+E+")",b.fillRect(o,0,r,j)}else p=Math.round(j-(p-g)/i*j),f?b.lineTo(o,p):(f=!0,"Filled"===l?(b.moveTo(o,j),b.lineTo(o,p)):b.moveTo(o,p));if(b.fillStyle=this.prefs.overflow_color,x||y){var F;"Histogram"===l||"Intensity"===l?F=r:(o-=2,F=4),x&&b.fillRect(o,0,F,3),y&&b.fillRect(o,j-3,F,3)}b.fillStyle=s}else f&&"Filled"===l&&b.lineTo(o,j),f=!1;"Filled"===l?(f&&(b.lineTo(o,n),b.lineTo(0,n)),b.fill()):b.stroke(),b.restore()};var p=function(a){this.feature_positions={},this.slot_height=a,this.translation=0,this.y_translation=0};p.prototype.map_feature_data=function(a,b,c,d){this.feature_positions[b]||(this.feature_positions[b]=[]),this.feature_positions[b].push({data:a,x_start:c,x_end:d})},p.prototype.get_feature_data=function(a,b){var c,d=Math.floor((b-this.y_translation)/this.slot_height);if(!this.feature_positions[d])return null;a+=this.translation;for(var e=0;e=c.x_start&&a<=c.x_end)return c.data};var q=function(a,b,c,d,e,f,g){n.call(this,a,b,c,d,e),this.alpha_scaler=f?f:new l,this.height_scaler=g?g:new l,this.max_label_length=200};q.prototype.default_prefs={block_color:"#FFF",connector_color:"#FFF"},a.extend(q.prototype,{get_required_height:function(a,b){var c=this.get_row_height(),d=c,e=this.mode;return("no_detail"===e||"Squish"===e||"Pack"===e)&&(c=a*d),c+this.get_top_padding(b)},get_top_padding:function(){return 0},draw:function(a,b,c,d,e){var f=this.data,g=this.view_start,h=this.view_end;a.save(),a.fillStyle=this.prefs.block_color,a.textAlign="right";for(var i,j=this.get_row_height(),k=new p(j),l=[],n=0,o=f.length;o>n;n++){var q=f[n],r=q[0],s=q[1],t=q[2],u=e&&void 0!==e[r]?e[r].slot:null;("Dense"===this.mode||null!==u)&&h>s&&t>g&&(i=this.draw_element(a,this.mode,q,u,g,h,d,j,b),k.map_feature_data(q,u,i[0],i[1]),(g>s||t>h)&&l.push(q))}return a.restore(),k.y_translation=this.get_top_padding(b),new m({incomplete_features:l,feature_mapper:k})},draw_element:function(){return[0,0]}});var r=10,s=3,t=5,u=10,v=1,w=9,x=3,y=9,z=2,A="#ccc",B=function(a,b,c,d,e,f,g){q.call(this,a,b,c,d,e,f,g),this.draw_background_connector=!0,this.draw_individual_connectors=!1};a.extend(B.prototype,q.prototype,{get_row_height:function(){var a,b=this.mode;return a="Dense"===b?r:"no_detail"===b?s:"Squish"===b?t:u},draw_element:function(a,b,c,d,e,f,g,h,i){var j,k=(c[0],c[1]),l=c[2],m=c[3],n=c[4],o=Math.floor(Math.max(0,(k-e-.5)*g)),p=Math.ceil(Math.min(i,Math.max(0,(l-e-.5)*g))),q=o,r=p,j=("Dense"===b?0:0+d)*h+this.get_top_padding(i),s=null,t=null,u=n&&"+"!==n&&"."!==n?this.prefs.reverse_strand_color:this.prefs.block_color;if(label_color=this.prefs.label_color,a.globalAlpha=this.alpha_scaler.gen_val(c),"Dense"===b&&(d=1),"no_detail"===b)a.fillStyle=u,a.fillRect(o,j+5,p-o,v);else{var B=c[5],C=c[6],D=c[7],E=!0;B&&C&&(s=Math.floor(Math.max(0,(B-e)*g)),t=Math.ceil(Math.min(i,Math.max(0,(C-e)*g))));var F,G;if("Squish"===b?(F=1,G=x,E=!1):"Dense"===b?(F=5,G=w):(F=5,G=y),D){var H,I;"Squish"===b||"Dense"===b?(H=j+Math.floor(x/2)+1,I=1):n?(H=j,I=G):(H+=x/2+1,I=1),this.draw_background_connector&&("Squish"===b||"Dense"===b?a.fillStyle=A:n?"+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand")):a.fillStyle=A,a.fillRect(o,H,p-o,I));for(var J=0,K=D.length;K>J;J++){var L,M,N=D[J],O=Math.floor(Math.max(0,(N[0]-e-.5)*g)),P=Math.ceil(Math.min(i,Math.max((N[1]-e-.5)*g)));if(!(O>P)){if(a.fillStyle=u,a.fillRect(O,j+(G-F)/2+1,P-O,F),void 0!==s&&C>B&&!(O>t||s>P)){var Q=Math.max(O,s),R=Math.min(P,t);a.fillRect(Q,j+1,R-Q,G),1===D.length&&"Pack"===b&&("+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand_inv"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand_inv")),R>Q+14&&(Q+=2,R-=2),a.fillRect(Q,j+1,R-Q,G))}this.draw_individual_connectors&&L&&this.draw_connector(a,L,M,O,P,j),L=O,M=P}}if("Pack"===b){a.globalAlpha=1,a.fillStyle="white";var S=this.height_scaler.gen_val(c),T=Math.ceil(G*S),U=Math.round((G-T)/2);1!==S&&(a.fillRect(o,H+1,p-o,U),a.fillRect(o,H+G-U+1,p-o,U))}}else a.fillStyle=u,a.fillRect(o,j+1,p-o,G),n&&E&&("+"===n?a.fillStyle=a.canvas.manager.get_pattern("right_strand_inv"):"-"===n&&(a.fillStyle=a.canvas.manager.get_pattern("left_strand_inv")),a.fillRect(o,j+1,p-o,G));a.globalAlpha=1,m&&"Pack"===b&&k>e&&(a.fillStyle=label_color,0===e&&o-a.measureText(m).width<0?(a.textAlign="left",a.fillText(m,p+z,j+8,this.max_label_length),r+=a.measureText(m).width+z):(a.textAlign="right",a.fillText(m,o-z,j+8,this.max_label_length),q-=a.measureText(m).width+z))}return a.globalAlpha=1,[q,r]}});var C=function(a,b,c,d,e,f,g,h,i){q.call(this,a,b,c,d,e,f,g),this.ref_seq=h?h.data:null,this.base_color_fn=i};a.extend(C.prototype,q.prototype,{get_row_height:function(){var a,b=this.mode;return"Dense"===b?a=r:"Squish"===b?a=t:(a=u,this.prefs.show_insertions&&(a*=2)),a},_parse_cigar:function(b){var c="MIDNSHP=X",d=[[0,0]],e=d[0],f=0,g=a.map(b.match(/[0-9]+[MIDNSHP=X]/g),function(a){var b=parseInt(a.slice(0,-1),10),g=a.slice(-1);return"N"===g?0!==e[1]&&(e=[f+b,f+b],d.push(e)):-1==="ISHP".indexOf(g)&&(e[1]+=b,f+=b),[c.indexOf(g),b]});return{blocks:d,cigar:g}},draw_read:function(a,b,g,j,l,m,n,o,p,q){var r=function(a,b,c){return-1!=="M=NXD".indexOf(b)&&(a+=c),a},s=function(a,b,c){return-1!=="IX".indexOf(b)&&(a+=c),a},t=function(a){return Math.floor(Math.max(0,(a-l-.5)*g))};a.textAlign="center";var u,v,z=[l,m],B=0,C=0,D=Math.round(g/2),E=a.canvas.manager.char_width_px,F="+"===p?this.prefs.detail_block_color:this.prefs.reverse_strand_color,G="Pack"===b,H=G?y:x,J=j+1,K=new I(a,H,g,b),L=[],M=[],N=this._parse_cigar(o);o=N.cigar,L=N.blocks;for(var O=0;OQ;Q++){var S=o[Q],T="MIDNSHP=X"[S[0]],U=S[1],V=n+B;if(u=t(V),v=t(V+U),i([V,V+U],z))switch(u===v&&(v+=1),T){case"H":case"S":case"P":break;case"M":B+=U;break;case"=":case"X":var W="";"X"===T?W=q.slice(C,C+U):this.ref_seq&&(W=this.ref_seq.slice(Math.max(0,V-l),Math.min(V-l+U,m-l)));for(var X=Math.max(V,l),Y=0;YE?a.fillText(W[Y],Z,j+9):g>.05&&a.fillRect(Z-D,J,Math.max(1,Math.round(g)),H)}"X"===T&&(C+=U),B+=U;break;case"N":a.fillStyle=A,a.fillRect(u,J+(H-1)/2,v-u,1),B+=U;break;case"D":K.draw_deletion(u,J,U),B+=U;break;case"I":var $=u-D;if(i([V,V+U],z)){var _=q.slice(C,C+U);if(this.prefs.show_insertions){var aa=u-(v-u)/2;if(("Pack"===b||"Auto"===this.mode)&&void 0!==q&&g>E){switch(a.fillStyle="yellow",a.fillRect(aa-D,j-9,v-u,9),M[M.length]={type:"triangle",data:[$,j+4,5]},a.fillStyle=A,h([V,V+U],z)){case d:_=_.slice(l-V);break;case e:_=_.slice(0,V-m);break;case f:break;case c:_=_.slice(l-V,V-m)}for(var Y=0,ba=_.length;ba>Y;Y++){var Z=Math.floor(Math.max(0,(V+Y-l)*g));a.fillText(_[Y],Z-(v-u)/2,j)}}else a.fillStyle="yellow",a.fillRect(aa,j+("Dense"!==this.mode?2:5),v-u,"Dense"!==b?x:w)}else("Pack"===b||"Auto"===this.mode)&&void 0!==q&&g>E&&M.push({type:"text",data:[_.length,$,j+9]})}C+=U}else B=r(B,T,U),C=s(C,T,U)}a.fillStyle="yellow";for(var ca,da,ea,O=0;O=e&&c[4][0]<=f&&c[4][2]?this.draw_read(a,b,g,p,e,f,c[4][0],c[4][2],c[4][3],c[4][4]):r=!1,c[5][1]>=e&&c[5][0]<=f&&c[5][2]?this.draw_read(a,b,g,p,e,f,c[5][0],c[5][2],c[5][3],c[5][4]):r=!1;var s=Math.ceil(Math.min(i,Math.max(-.5*g,(c[4][1]-e-.5)*g))),t=Math.floor(Math.max(-.5*g,(c[5][0]-e-.5)*g));if(r&&t>s){a.fillStyle=A;var u=p+1+(q-1)/2;j(a,s,u,t,u)}}else this.draw_read(a,b,g,p,e,f,k,c[4],c[5],c[6]);return"Pack"===b&&k>=e&&"."!==m&&(a.fillStyle=this.prefs.label_color,0===e&&n-a.measureText(m).width<0?(a.textAlign="left",a.fillText(m,o+z,p+9,this.max_label_length)):(a.textAlign="right",a.fillText(m,n-z,p+9,this.max_label_length))),[0,0]}});var D=function(a,b,c,d,e,f,g){B.call(this,a,b,c,d,e,f,g),this.longest_feature_length=this.calculate_longest_feature_length(),this.draw_background_connector=!1,this.draw_individual_connectors=!0};a.extend(D.prototype,q.prototype,B.prototype,{calculate_longest_feature_length:function(){for(var a=0,b=0,c=this.data.length;c>b;b++){var d=this.data[b],e=d[1],f=d[2];a=Math.max(a,f-e)}return a},get_top_padding:function(a){var b=this.view_end-this.view_start,c=a/b;return Math.min(128,Math.ceil(this.longest_feature_length/2*c))},draw_connector:function(a,b,c,d,e,f){{var g=(c+d)/2,h=d-g;Math.PI}h>0&&(a.beginPath(),a.arc(g,f,d-g,Math.PI,0),a.stroke())}});var E=function(a,b){this.rgb=Array.isArray(a)?a:6==a.length?a.match(/.{2}/g).map(function(a){return parseInt(a,16)}):7==a.length?a.substring(1,7).match(/.{2}/g).map(function(a){return parseInt(a,16)}):a.split("").map(function(a){return parseInt(a+a,16)}),this.alpha="number"==typeof b?b:1};E.prototype={eval:function(){return this},toCSS:function(){return this.alpha<1?"rgba("+this.rgb.map(function(a){return Math.round(a)}).concat(this.alpha).join(", ")+")":"#"+this.rgb.map(function(a){return a=Math.round(a),a=(a>255?255:0>a?0:a).toString(16),1===a.length?"0"+a:a}).join("")},toHSL:function(){var a,b,c=this.rgb[0]/255,d=this.rgb[1]/255,e=this.rgb[2]/255,f=this.alpha,g=Math.max(c,d,e),h=Math.min(c,d,e),i=(g+h)/2,j=g-h;if(g===h)a=b=0;else{switch(b=i>.5?j/(2-g-h):j/(g+h),g){case c:a=(d-e)/j+(e>d?6:0);break;case d:a=(e-c)/j+2;break;case e:a=(c-d)/j+4}a/=6}return{h:360*a,s:b,l:i,a:f}},toARGB:function(){var a=[Math.round(255*this.alpha)].concat(this.rgb);return"#"+a.map(function(a){return a=Math.round(a),a=(a>255?255:0>a?0:a).toString(16),1===a.length?"0"+a:a}).join("")},mix:function(a,b){color1=this;var c=b,d=2*c-1,e=color1.toHSL().a-a.toHSL().a,f=((d*e==-1?d:(d+e)/(1+d*e))+1)/2,g=1-f,h=[color1.rgb[0]*f+a.rgb[0]*g,color1.rgb[1]*f+a.rgb[1]*g,color1.rgb[2]*f+a.rgb[2]*g],i=color1.alpha*c+a.alpha*(1-c);return new E(h,i)}};var F=function(a,b,c,d){this.start_color=new E(a),this.end_color=new E(b),this.start_value=c,this.end_value=d,this.value_range=d-c};F.prototype.map_value=function(a){return a=Math.max(a,this.start_value),a=Math.min(a,this.end_value),a=(a-this.start_value)/this.value_range,this.start_color.mix(this.end_color,1-a).toCSS()};var G=function(a,b,c,d,e){this.positive_ramp=new F(b,c,0,e),this.negative_ramp=new F(b,a,0,-d),this.start_value=d,this.end_value=e};G.prototype.map_value=function(a){return a=Math.max(a,this.start_value),a=Math.min(a,this.end_value),a>=0?this.positive_ramp.map_value(a):this.negative_ramp.map_value(-a)};var H=function(a,b,c,d,e){n.call(this,a,b,c,d,e);var f,g;if(void 0===this.prefs.min_value){var h=1/0;for(f=0,g=this.data.length;g>f;f++)h=Math.min(h,this.data[f][6]);this.prefs.min_value=h}if(void 0===this.prefs.max_value){var i=-(1/0);for(f=0,g=this.data.length;g>f;f++)i=Math.max(i,this.data[f][6]);this.prefs.max_value=i}};H.prototype.default_prefs={min_value:void 0,max_value:void 0,mode:"Heatmap",pos_color:"#FF8C00",neg_color:"#4169E1"},H.prototype.draw=function(a,b,c,d){var e,f,g,h,i,j,k=this.prefs.min_value,l=this.prefs.max_value,m=this.view_start,n=(this.mode,this.data),o=1/Math.sqrt(2),p=new G(this.prefs.neg_color,"#FFFFFF",this.prefs.pos_color,k,l),q=function(a){return(a-m)*d};a.save(),a.rotate(-45*Math.PI/180),a.scale(o,o);for(var r=0,s=n.length;s>r;r++)e=n[r],f=q(e[1]),g=q(e[2]),h=q(e[4]),i=q(e[5]),j=e[6],a.fillStyle=p.map_value(j),a.fillRect(f,h,g-f,i-h);a.restore()};var I=function(a,b,c,d){this.ctx=a,this.row_height=b,this.px_per_base=c,this.draw_details=("Pack"===d||"Auto"===d)&&c>=a.canvas.manager.char_width_px,this.delete_details_thickness=.2};a.extend(I.prototype,{draw_deletion:function(a,b,c){this.ctx.fillStyle="black";var d=(this.draw_details?this.delete_details_thickness:1)*this.row_height;b+=.5*(this.row_height-d),this.ctx.fillRect(a,b,c*this.px_per_base,d)}});var J=function(a,b,c,d,e,f){n.call(this,a,b,c,d,e),this.base_color_fn=f,this.divider_height=1};return a.extend(J.prototype,n.prototype,{get_row_height:function(){var a,b=this.mode;return a="Dense"===b?r:"Squish"===b?t:u},get_required_height:function(a){var b=this.prefs.summary_height;return a>1&&this.prefs.show_sample_data&&(b+=this.divider_height+a*this.get_row_height()),b},draw:function(b,c,d,e){b.save();var f,g,h,i,j,k,l,m,n,o,p,q=function(a,b){var c=a.length,d=b.length,e=0,f=1,g=null;return"-"===b?(g="deletion",f=a.length):0===a.indexOf(b)&&c>d?(g="deletion",f=c-d,e=d):0===b.indexOf(a)&&d>c&&(g="insertion",f=d-c,e=d),null!==g?{type:g,start:e,len:f}:{}},r=Math.max(1,Math.floor(e)),s=this.data.length?this.data[0][7].split(",").length:0,v="Squish"===this.mode?t:u,w=.1>e?v:"Squish"===this.mode?x:y,z=!0,A=new I(b,v,e,this.mode);1===s&&(v=w=ethis.view_end)){if(z)for(b.fillStyle="#999999",b.globalAlpha=1,p=0;pg)return $(this).insertAfter(e),l.remove_drawable(k),void l.container.add_drawable(k)}for(e=null,h=0;h=f&&b.offsetY<=g)return b.offsetY-f0?h-1:h))}).bind("dragstart",function(){$(this).addClass("dragging")}).bind("dragend",function(){$(this).removeClass("dragging")})},r=20,s=100,t=12e3,u=400,v=5e3,w=100,x="Cannot display dataset due to an error. ",y="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",z="No data for this chrom/contig.",A="Preparing data. This can take a while for a large dataset. If the visualization is saved and closed, preparation will continue in the background.",B="Tool cannot be rerun: ",C="Ready for display",D=10,E=["Histogram","Line","Filled","Intensity"],F=function(a,b,d){if(F.id_counter||(F.id_counter=0),this.id=F.id_counter++,this.view=a,this.container=b,this.drag_handle_class=d.drag_handle_class,this.is_overview=!1,this.action_icons={},this.config=j.ConfigSettingCollection.from_models_and_saved_values(this.config_params,d.prefs),this.config.get_value("name")||this.config.set_value("name",d.name),this.config_onchange&&this.config.on("change",this.config_onchange,this),this.container_div=this.build_container_div(),this.header_div=null,d.header!==!1){var e=new c.TrackHeaderView({model:this,id:this.id});this.header_div=e.$el,this.container_div.append(this.header_div);var f=e.icons_div;this.action_icons=e.action_icons,this.container_div.hover(function(){f.show()},function(){f.hide()})}};F.prototype.action_icons_def=[{name:"toggle_icon",title:"Hide/show content",css_class:"toggle",on_click_fn:function(a){a.config.get_value("content_visible")?(a.action_icons.toggle_icon.addClass("toggle-expand").removeClass("toggle"),a.hide_contents(),a.config.set_value("content_visible",!1)):(a.action_icons.toggle_icon.addClass("toggle").removeClass("toggle-expand"),a.config.set_value("content_visible",!0),a.show_contents())}},{name:"settings_icon",title:"Edit settings",css_class:"gear",on_click_fn:function(a){var b=new j.ConfigSettingCollectionView({collection:a.config});b.render_in_modal("Configure Track")}},{name:"remove_icon",title:"Remove",css_class:"remove-icon",on_click_fn:function(a){$(".tooltip").remove(),a.remove()}}],n(F.prototype,{config_params:[{key:"name",label:"Name",type:"text",default_value:""},{key:"content_visible",type:"bool",default_value:!0,hidden:!0}],config_onchange:function(){},init:function(){},changed:function(){this.view.changed()},can_draw:function(){return this.enabled&&this.config.get_value("content_visible")?!0:!1},request_draw:function(){},_draw:function(){},to_dict:function(){},set_name:function(a){this.old_name=this.config.get_value("name"),this.config.set_value("name",a)},revert_name:function(){this.old_name&&this.config.set_value("name",this.old_name)},remove:function(){this.changed(),this.container.remove_drawable(this);var a=this.view;this.container_div.hide(0,function(){$(this).remove(),a.update_intro_div()})},build_container_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){},get_drawables:function(){}});var G=function(a,b,c){F.call(this,a,b,c),this.obj_type=c.obj_type,this.drawables=[]};n(G.prototype,F.prototype,{unpack_drawables:function(a){this.drawables=[];for(var b,c=0;c").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div),p(this.container_div,this),p(this.content_div,this),q(this.container_div,this.drag_handle_class,".group",this),this.filters_manager=new g.FiltersManager(this),this.header_div.after(this.filters_manager.parent_div),this.filters_manager.parent_div.after($("
")),this.saved_filters_managers=[],"drawables"in c&&this.unpack_drawables(c.drawables),"filters"in c){var d=this.filters_manager;this.filters_manager=new g.FiltersManager(this,c.filters),d.parent_div.replaceWith(this.filters_manager.parent_div),c.filters.visible&&this.setup_multitrack_filtering()}};n(H.prototype,F.prototype,G.prototype,{action_icons_def:[F.prototype.action_icons_def[0],F.prototype.action_icons_def[1],{name:"composite_icon",title:"Show composite track",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_composite_track()}},{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?(a.filters_manager.clear_filters(),a._restore_filter_managers()):(a.setup_multitrack_filtering(),a.request_draw({clear_tile_cache:!0})),a.filters_manager.toggle()}},F.prototype.action_icons_def[2]],build_container_div:function(){var a=$("
").addClass("group").attr("id","group_"+this.id);return this.container&&this.container.content_div.append(a),a},hide_contents:function(){this.tiles_div.hide()},show_contents:function(){this.tiles_div.show(),this.request_draw()},update_icons:function(){var a=this.drawables.length;if(0===a)this.action_icons.composite_icon.hide(),this.action_icons.filters_icon.hide();else if(1===a)this.action_icons.composite_icon.toggle(this.drawables[0]instanceof T),this.action_icons.filters_icon.hide();else{var b,c,d,e=!0,f=this.drawables[0].get_type(),h=0;for(b=0;a>b;b++){if(d=this.drawables[b],d.get_type()!==f){can_composite=!1;break}d instanceof X&&h++}if(e&&this.drawables[0]instanceof V?this.action_icons.composite_icon.show():(this.action_icons.composite_icon.hide(),$(".tooltip").remove()),h>1&&h===this.drawables.length){var i,j={};for(d=this.drawables[0],c=0;c0)}else this.action_icons.filters_icon.hide()}},_restore_filter_managers:function(){for(var a=0;a0){this.saved_filters_managers=[];for(var a=0;a").addClass("top-container").appendTo(c),this.browser_content_div=$("
").addClass("content").appendTo(c),this.bottom_container=$("
").addClass("bottom-container").appendTo(c),this.top_labeltrack=$("
").addClass("top-labeltrack").appendTo(this.top_container),this.viewport_container=$("
").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div),this.content_div=this.viewport_container,p(this.viewport_container,d),this.intro_div=$("
").addClass("intro").appendTo(this.viewport_container);$("
").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){b.select_datasets(Galaxy.root+"visualization/list_current_history_datasets",Galaxy.root+"api/datasets",{"f-dbkey":d.dbkey},function(b){a.each(b,function(a){d.add_drawable(aa(a,d,d))})})});this.nav_container=$("
").addClass("trackster-nav-container").prependTo(this.top_container),this.nav=$("
").addClass("trackster-nav").appendTo(this.nav_container),this.stand_alone&&(this.nav_container.addClass("stand-alone"),this.nav.addClass("stand-alone")),this.overview=$("
").addClass("overview").appendTo(this.bottom_container),this.overview_viewport=$("
").addClass("overview-viewport").appendTo(this.overview),this.overview_close=$("").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport),this.overview_highlight=$("
").addClass("overview-highlight").hide().appendTo(this.overview_viewport),this.overview_box_background=$("
").addClass("overview-boxback").appendTo(this.overview_viewport),this.overview_box=$("
").addClass("overview-box").appendTo(this.overview_viewport),this.default_overview_height=this.overview_box.height(),this.nav_controls=$("
").addClass("nav-controls").appendTo(this.nav),this.chrom_select=$("").addClass("nav-input").hide().bind("keyup focusout",e).appendTo(this.nav_controls),this.location_span=$("").addClass("location").attr("title","Click to change location").tooltip({placement:"bottom"}).appendTo(this.nav_controls),this.location_span.click(function(){d.location_span.hide(),d.chrom_select.hide(),d.nav_input.val(d.chrom+":"+d.low+"-"+d.high),d.nav_input.css("display","inline-block"),d.nav_input.select(),d.nav_input.focus(),d.nav_input.autocomplete({source:function(a,b){var c=[],e=$.map(d.get_tracks(X),function(b){return b.data_manager.search_features(a.term).success(function(a){c=c.concat(a)})});$.when.apply($,e).done(function(){b($.map(c,function(a){return{label:a[0],value:a[1]}}))})},minLength:2})}),void 0!==this.vis_id&&(this.hidden_input=$("").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)),this.zo_link=$("").attr("id","zoom-out").attr("title","Zoom out").tooltip({placement:"bottom"}).click(function(){d.zoom_out()}).appendTo(this.nav_controls),this.zi_link=$("").attr("id","zoom-in").attr("title","Zoom in").tooltip({placement:"bottom"}).click(function(){d.zoom_in()}).appendTo(this.nav_controls),this.load_chroms_deferred=this.load_chroms({low:0}),this.chrom_select.bind("change",function(){d.change_chrom(d.chrom_select.val())}),this.browser_content_div.click(function(){$(this).find("input").trigger("blur")}),this.browser_content_div.bind("dblclick",function(a){d.zoom_in(a.pageX,this.viewport_container)}),this.overview_box.bind("dragstart",function(a,b){this.current_x=b.offsetX}).bind("drag",function(a,b){var c=b.offsetX-this.current_x;this.current_x=b.offsetX;var e=Math.round(c/d.viewport_container.width()*(d.max_high-d.max_low));d.move_delta(-e)}),this.overview_close.click(function(){d.reset_overview()}),this.viewport_container.bind("draginit",function(a){return a.clientX>d.viewport_container.width()-16?!1:void 0}).bind("dragstart",function(a,b){b.original_low=d.low,b.current_height=a.clientY,b.current_x=b.offsetX}).bind("drag",function(a,b){var c=$(this),e=b.offsetX-b.current_x,f=c.scrollTop()-(a.clientY-b.current_height);c.scrollTop(f),b.current_height=a.clientY,b.current_x=b.offsetX;var g=Math.round(e/d.viewport_container.width()*(d.high-d.low));d.move_delta(g)}),this.top_labeltrack.bind("dragstart",function(){return $("
").addClass("zoom-area").css("height",d.browser_content_div.height()+d.top_labeltrack.height()+1).appendTo($(this))}).bind("drag",function(a,b){$(b.proxy).css({left:Math.min(a.pageX,b.startX)-d.container.offset().left,width:Math.abs(a.pageX-b.startX)});var c=Math.min(a.pageX,b.startX)-d.container.offset().left,e=Math.max(a.pageX,b.startX)-d.container.offset().left,f=d.high-d.low,g=d.viewport_container.width();d.update_location(Math.round(c/g*f)+d.low,Math.round(e/g*f)+d.low)}).bind("dragend",function(a,b){var c=Math.min(a.pageX,b.startX),e=Math.max(a.pageX,b.startX),f=d.high-d.low,g=d.viewport_container.width(),h=d.low;d.low=Math.round(c/g*f)+h,d.high=Math.round(e/g*f)+h,$(b.proxy).remove(),d.request_redraw()}),this.add_label_track(new S(this,{content_div:this.top_labeltrack})),$(window).bind("resize",function(){this.resize_timer&&clearTimeout(this.resize_timer),this.resize_timer=setTimeout(function(){d.resize_window()},500)}),$(document).bind("redraw",function(){d.redraw()}),this.reset(),$(window).trigger("resize")},get_base_color:function(a){return this.config.get_value(a.toLowerCase()+"_color")||this.config.get_value("n_color")}});n(I.prototype,G.prototype,{changed:function(){this.has_changes=!0},update_intro_div:function(){this.intro_div.toggle(0===this.drawables.length)},trigger_navigate:function(a,b,c,d){if(this.timer&&clearTimeout(this.timer),d){var e=this;this.timer=setTimeout(function(){e.trigger("navigate",a+":"+b+"-"+c)},500)}else view.trigger("navigate",a+":"+b+"-"+c)},update_location:function(a,b){this.location_span.text(d.commatize(a)+" - "+d.commatize(b)),this.nav_input.val(this.chrom+":"+d.commatize(a)+"-"+d.commatize(b));var c=this.chrom_select.val();""!==c&&this.trigger_navigate(c,this.low,this.high,!0)},load_chroms:function(a){a.num=w;var b=this,c=$.Deferred();return $.ajax({url:Galaxy.root+"api/genomes/"+this.dbkey,data:a,dataType:"json",success:function(a){if(0!==a.chrom_info.length){if(a.reference){var d=new U(b);b.add_label_track(d),b.reference_track=d}b.chrom_data=a.chrom_info;for(var e='',f=0,g=b.chrom_data.length;g>f;f++){var h=b.chrom_data[f].chrom;e+='"}a.prev_chroms&&(e+='"),a.next_chroms&&(e+='"),b.chrom_select.html(e),b.chrom_start_index=a.start_index,c.resolve(a.chrom_info)}},error:function(){alert("Could not load chroms for this dbkey: "+b.dbkey)}}),c},change_chrom:function(a,b,c){var d=this;if(!d.chrom_data)return void d.load_chroms_deferred.then(function(){d.change_chrom(a,b,c)});if(a&&"None"!==a){if("previous"===a)return void d.load_chroms({low:this.chrom_start_index-w});if("next"===a)return void d.load_chroms({low:this.chrom_start_index+w});var e=$.grep(d.chrom_data,function(b){return b.chrom===a})[0];if(void 0===e)return void d.load_chroms({chrom:a},function(){d.change_chrom(a,b,c)});if(a!==d.chrom){d.chrom=a,d.chrom_select.val(d.chrom),d.max_high=e.len-1,d.reset();for(var f=0,g=d.drawables.length;g>f;f++){var h=d.drawables[f];h.init&&h.init()}d.reference_track&&d.reference_track.init()}void 0===b&&void 0===c?(d.low=0,d.high=d.max_high):(d.low=void 0!==b?Math.max(b,0):0,void 0===c?(d.low=Math.max(d.low-15,0),d.high=d.low+30):d.high=Math.min(c,d.max_high)),d.request_redraw()}},go_to:function(a){a=a.replace(/,/g,""),a=a.replace(/:|\-/g," ");var b=a.split(/\s+/),c=b[0],d=b[1]?parseInt(b[1],10):void 0,e=b[2]?parseInt(b[2],10):void 0;this.change_chrom(c,d,e)},move_fraction:function(a){var b=this,c=b.high-b.low;this.move_delta(a*c)},move_delta:function(a){var b=this,c=b.high-b.low;b.low-ab.max_high?(b.high=b.max_high,b.low=b.max_high-c):(b.high-=a,b.low-=a),b.request_redraw({data_fetch:!1}),this.redraw_on_move_fn&&clearTimeout(this.redraw_on_move_fn),this.redraw_on_move_fn=setTimeout(function(){b.request_redraw()},200);var d=b.chrom_select.val();this.trigger_navigate(d,b.low,b.high,!0)},add_drawable:function(a){G.prototype.add_drawable.call(this,a),a.init(),this.changed(),this.update_intro_div();var b=this;a.config.on("change",function(){b.changed()})},add_label_track:function(a){a.view=this,a.init(),this.label_tracks.push(a)},remove_drawable:function(a,b){if(G.prototype.remove_drawable.call(this,a),b){var c=this;a.container_div.hide(0,function(){$(this).remove(),c.update_intro_div()})}},reset:function(){this.low=this.max_low,this.high=this.max_high,this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(b,c){var d=this,e=c?[c]:d.drawables;a.each(e,function(c){var e=a.find(d.tracks_to_be_redrawn,function(a){return a[0]===c});e?e[1]=b:d.tracks_to_be_redrawn.push([c,b])}),this.requested_redraw||(requestAnimationFrame(function(){d._redraw()}),this.requested_redraw=!0)},_redraw:function(){this.requested_redraw=!1;var b=this.low,c=this.high;bthis.max_high&&(c=this.max_high);var d=this.high-this.low;0!==this.high&&df&&this.overview_box.css("left",e-(g-f)/2),this.overview_highlight&&this.overview_highlight.css({left:e,width:f}),a.each(this.tracks_to_be_redrawn,function(a){var b=a[0],c=a[1];b&&b._draw(c)}),this.tracks_to_be_redrawn=[],a.each(this.label_tracks,function(a){a._draw()})},zoom_in:function(a){if(!(0===this.max_high||this.high-this.low<=this.min_separation)){var b=this.high-this.low,c=b/2+this.low,d=b/this.zoom_factor/2;a&&(c=a/this.viewport_container.width()*(this.high-this.low)+this.low),this.low=Math.round(c-d),this.high=Math.round(c+d),this.changed(),this.request_redraw()}},zoom_out:function(){if(0!==this.max_high){var a=this.high-this.low,b=a/2+this.low,c=a*this.zoom_factor/2;this.low=Math.round(b-c),this.high=Math.round(b+c),this.changed(),this.request_redraw()}},resize_viewport:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height())},resize_window:function(){this.resize_viewport(),this.request_redraw()},set_overview:function(a){if(this.overview_drawable){if(this.overview_drawable.dataset.id===a.dataset.id)return;this.overview_viewport.find(".track").remove()}var b=a.copy({content_div:this.overview_viewport}),c=this;b.header_div.hide(),b.is_overview=!0,c.overview_drawable=b,this.overview_drawable.postdraw_actions=function(){c.overview_highlight.show().height(c.overview_drawable.content_div.height()),c.overview_viewport.height(c.overview_drawable.content_div.height()+c.overview_box.outerHeight()),c.overview_close.show(),c.resize_window()},c.overview_drawable.request_draw(),this.changed()},reset_overview:function(){$(".tooltip").remove(),this.overview_viewport.find(".track-tile").remove(),this.overview_viewport.height(this.default_overview_height),this.overview_box.height(this.default_overview_height),this.overview_close.hide(),this.overview_highlight.hide(),view.resize_window(),view.overview_drawable=null}});var J=i.Tool.extend({defaults:{track:null},initialize:function(a){i.Tool.prototype.initialize.call(this,a);var b=!0;void 0!==a.tool_state&&void 0!==a.tool_state.hidden&&(b=a.tool_state.hidden),this.set("hidden",b),this.remove_inputs(["data","hidden_data","conditional"])},state_dict:function(){return a.extend(this.get_inputs_dict(),{hidden:!this.is_visible()})}}),K=Backbone.View.extend({events:{"change :input":"update_value"},render:function(){var a=this.$el.addClass("param-row"),b=this.model,c=($("
").addClass("param-label").text(b.get("label")).appendTo(a),$("
").addClass("param-input").html(b.get("html")).appendTo(a));c.find(":input").val(b.get("value")),$("
").appendTo(a)},update_value:function(a){this.model.set_value($(a.target).val())}}),L=Backbone.View.extend({initialize:function(){this.model.on("change:hidden",this.set_visible,this)},render:function(){var a=this;tool=this.model,parent_div=this.$el.addClass("dynamic-tool").hide(),parent_div.bind("drag",function(a){a.stopPropagation()}).click(function(a){a.stopPropagation()}).bind("dblclick",function(a){a.stopPropagation()}).keydown(function(a){a.stopPropagation()});$("
").appendTo(parent_div).text(tool.get("name"));tool.get("inputs").each(function(a){var b=new K({model:a});b.render(),parent_div.append(b.$el)}),parent_div.find("input").click(function(){$(this).select()});var b=$("
").addClass("param-row").appendTo(parent_div),c=$("").attr("value","Run on complete dataset").appendTo(b),d=$("").attr("value","Run on visible region").appendTo(b);d.click(function(){a.run_on_region()}),c.click(function(){a.run_on_dataset()}),tool.is_visible()&&this.$el.show()},set_visible:function(){this.$el.toggle(this.model.is_visible())},update_params:function(){for(var a=0;a").append(d),this.data=e,this.stale=!1};N.prototype.predisplay_actions=function(){};var O=function(a,b,c,d,e){N.call(this,a,b,c,d,e)};O.prototype.predisplay_actions=function(){};var P=function(a,b,c,d,e,f,g,h,i,j,k){N.call(this,a,b,c,d,e),this.mode=f,this.all_slotted=h,this.feature_mapper=i,this.has_icons=!1,this.incomplete_features=j,this.other_tiles_features_drawn={},this.seq_data=k};n(P.prototype,N.prototype),P.prototype.predisplay_actions=function(){};var Q=function(a,c,d){n(d,{drag_handle_class:"draghandle"}),F.call(this,a,c,d),this.dataset=null,d.dataset&&(this.dataset=d.dataset instanceof Backbone.Model?d.dataset:new h.Dataset(d.dataset)),this.dataset_check_type="converted_datasets_state",this.data_url_extra_params={},this.data_query_wait="data_query_wait"in d?d.data_query_wait:v,this.data_manager="data_manager"in d?d.data_manager:new b.GenomeDataManager({dataset:this.dataset,genome:new b.Genome({key:a.dbkey,chroms_info:{chrom_info:a.chrom_data}}),data_mode_compatible:this.data_and_mode_compatible,can_subset:this.can_subset}),this.min_height_px=16,this.max_height_px=800,this.visible_height_px=this.config.get_value("height"),this.content_div=$("
").appendTo(this.container_div),this.container&&(this.container.content_div.append(this.container_div),"resize"in d&&!d.resize||this.add_resize_handle())};n(Q.prototype,F.prototype,{action_icons_def:[{name:"mode_icon",title:"Set display mode",css_class:"chevron-expand",on_click_fn:function(){}},F.prototype.action_icons_def[0],{name:"overview_icon",title:"Set as overview",css_class:"application-dock-270",on_click_fn:function(a){a.view.set_overview(a)}},F.prototype.action_icons_def[1],{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?a.filters_manager.clear_filters():a.filters_manager.init_filters(),a.filters_manager.toggle()}},{name:"tools_icon",title:"Tool",css_class:"hammer",on_click_fn:function(a){a.tool.toggle(),a.tool.is_visible()?a.set_name(a.config.get_value("name")+a.tool_region_and_parameters_str()):a.revert_name(),$(".tooltip").remove()}},{name:"param_space_viz_icon",title:"Tool parameter space visualization",css_class:"arrow-split",on_click_fn:function(c){var d="Tool:"+c.tool.get("name")+"
Dataset:"+c.config.get_value("name")+'
Region(s): ',e=function(){Galaxy.modal.hide(),$(window).unbind("keypress.check_enter_esc")},f=function(){var d,e=$('select[name="regions"] option:selected').val(),f=new b.GenomeRegion({chrom:view.chrom,start:view.low,end:view.high}),g=a.map($(".bookmark"),function(a){return new b.GenomeRegion({from_str:$(a).children(".position").text()})});d="cur"===e?[f]:"bookmarks"===e?g:[f].concat(g),Galaxy.modal.hide(),window.location.href=Galaxy.root+"visualization/sweepster?"+$.param({dataset_id:c.dataset.id,hda_ldda:c.dataset.get("hda_ldda"),regions:JSON.stringify(new Backbone.Collection(d).toJSON())})};Galaxy.modal.show({title:"Visualize tool parameter space and output from different parameter settings?",body:d,buttons:{No:e,Yes:f}})}},F.prototype.action_icons_def[2]],can_draw:function(){return this.dataset&&F.prototype.can_draw.call(this)},build_container_div:function(){return $("
").addClass("track").attr("id","track_"+this.id)},set_dataset:function(a){this.dataset=a,this.data_manager.set("dataset",a)},on_resize:function(){this.request_draw({clear_tile_cache:!0})},add_resize_handle:function(){var a=this,b=!1,c=!1,d=$("
");$(a.container_div).hover(function(){a.config.get_value("content_visible")&&(b=!0,d.show())},function(){b=!1,c||d.hide()}),d.hide().bind("dragstart",function(b,d){c=!0,d.original_height=$(a.content_div).height()}).bind("drag",function(b,c){var d=Math.min(Math.max(c.original_height+c.deltaY,a.min_height_px),a.max_height_px);$(a.tiles_div).css("height",d),a.visible_height_px=a.max_height_px===d?0:d,a.on_resize()}).bind("dragend",function(){a.tile_cache.clear(),c=!1,b||d.hide(),a.config.set_value("height",a.visible_height_px),a.changed()}).appendTo(a.container_div)},hide_contents:function(){this.tiles_div.hide(),this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.tiles_div.show(),this.container_div.find(".yaxislabel, .track-resize").show(),this.request_draw()},get_type:function(){return this instanceof S?"LabelTrack":this instanceof U?"ReferenceTrack":this instanceof V?"LineTrack":this instanceof Z?"ReadTrack":this instanceof Y?"VariantTrack":this instanceof T?"CompositeTrack":this instanceof X?"FeatureTrack":""; +define(["libs/underscore","viz/visualization","viz/viz_views","viz/trackster/util","viz/trackster/slotting","viz/trackster/painters","viz/trackster/filters","mvc/dataset/data","mvc/tool/tools","utils/config","viz/bbi-data-manager","ui/editable-text"],function(a,b,c,d,e,f,g,h,i,j,k){function l(a,b){b||(b=0);var c=Math.pow(10,b);return Math.round(a*c)/c}function m(a){var b=$.Deferred();return $.ajax({type:"HEAD",url:a,beforeSend:function(a){a.setRequestHeader("Range","bytes=0-10")},success:function(a,c,d){b.resolve(206===d.status)}}),b}var n=a.extend,o={},p=function(a,b){o[a.attr("id")]=b},q=function(a,b,c,d){c=".group",o[a.attr("id")]=d,a.bind("drag",{handle:"."+b,relative:!0},function(a,b){var d,e,f,g,h,i=($(this),$(this).parent()),j=i.children(".track,.group"),k=o[$(this).attr("id")];if(e=$(this).parents(c),0!==e.length){f=e.position().top,g=f+e.outerHeight();var l=o[e.attr("id")];if(b.offsetYg)return $(this).insertAfter(e),l.remove_drawable(k),void l.container.add_drawable(k)}for(e=null,h=0;h=f&&b.offsetY<=g)return b.offsetY-f0?h-1:h))}).bind("dragstart",function(){$(this).addClass("dragging")}).bind("dragend",function(){$(this).removeClass("dragging")})},r=20,s=100,t=12e3,u=400,v=5e3,w=100,x="Cannot display dataset due to an error. ",y="A converter for this dataset is not installed. Please check your datatypes_conf.xml file.",z="No data for this chrom/contig.",A="Preparing data. This can take a while for a large dataset. If the visualization is saved and closed, preparation will continue in the background.",B="Tool cannot be rerun: ",C="Ready for display",D=10,E=["Histogram","Line","Filled","Intensity"],F=function(a,b,d){if(F.id_counter||(F.id_counter=0),this.id=F.id_counter++,this.view=a,this.container=b,this.drag_handle_class=d.drag_handle_class,this.is_overview=!1,this.action_icons={},this.config=j.ConfigSettingCollection.from_models_and_saved_values(this.config_params,d.prefs),this.config.get_value("name")||this.config.set_value("name",d.name),this.config_onchange&&this.config.on("change",this.config_onchange,this),this.container_div=this.build_container_div(),this.header_div=null,d.header!==!1){var e=new c.TrackHeaderView({model:this,id:this.id});this.header_div=e.$el,this.container_div.append(this.header_div);var f=e.icons_div;this.action_icons=e.action_icons,this.container_div.hover(function(){f.show()},function(){f.hide()})}};F.prototype.action_icons_def=[{name:"toggle_icon",title:"Hide/show content",css_class:"toggle",on_click_fn:function(a){a.config.get_value("content_visible")?(a.action_icons.toggle_icon.addClass("toggle-expand").removeClass("toggle"),a.hide_contents(),a.config.set_value("content_visible",!1)):(a.action_icons.toggle_icon.addClass("toggle").removeClass("toggle-expand"),a.config.set_value("content_visible",!0),a.show_contents())}},{name:"settings_icon",title:"Edit settings",css_class:"gear",on_click_fn:function(a){var b=new j.ConfigSettingCollectionView({collection:a.config});b.render_in_modal("Configure Track")}},{name:"remove_icon",title:"Remove",css_class:"remove-icon",on_click_fn:function(a){$(".tooltip").remove(),a.remove()}}],n(F.prototype,{config_params:[{key:"name",label:"Name",type:"text",default_value:""},{key:"content_visible",type:"bool",default_value:!0,hidden:!0}],config_onchange:function(){},init:function(){},changed:function(){this.view.changed()},can_draw:function(){return this.enabled&&this.config.get_value("content_visible")?!0:!1},request_draw:function(){},_draw:function(){},to_dict:function(){},set_name:function(a){this.old_name=this.config.get_value("name"),this.config.set_value("name",a)},revert_name:function(){this.old_name&&this.config.set_value("name",this.old_name)},remove:function(){this.changed(),this.container.remove_drawable(this);var a=this.view;this.container_div.hide(0,function(){$(this).remove(),a.update_intro_div()})},build_container_div:function(){},update_icons:function(){},hide_contents:function(){},show_contents:function(){},get_drawables:function(){}});var G=function(a,b,c){F.call(this,a,b,c),this.obj_type=c.obj_type,this.drawables=[]};n(G.prototype,F.prototype,{unpack_drawables:function(a){this.drawables=[];for(var b,c=0;c").addClass("content-div").attr("id","group_"+this.id+"_content_div").appendTo(this.container_div),p(this.container_div,this),p(this.content_div,this),q(this.container_div,this.drag_handle_class,".group",this),this.filters_manager=new g.FiltersManager(this),this.header_div.after(this.filters_manager.parent_div),this.filters_manager.parent_div.after($("
")),this.saved_filters_managers=[],"drawables"in c&&this.unpack_drawables(c.drawables),"filters"in c){var d=this.filters_manager;this.filters_manager=new g.FiltersManager(this,c.filters),d.parent_div.replaceWith(this.filters_manager.parent_div),c.filters.visible&&this.setup_multitrack_filtering()}};n(H.prototype,F.prototype,G.prototype,{action_icons_def:[F.prototype.action_icons_def[0],F.prototype.action_icons_def[1],{name:"composite_icon",title:"Show composite track",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_composite_track()}},{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?(a.filters_manager.clear_filters(),a._restore_filter_managers()):(a.setup_multitrack_filtering(),a.request_draw({clear_tile_cache:!0})),a.filters_manager.toggle()}},F.prototype.action_icons_def[2]],build_container_div:function(){var a=$("
").addClass("group").attr("id","group_"+this.id);return this.container&&this.container.content_div.append(a),a},hide_contents:function(){this.tiles_div.hide()},show_contents:function(){this.tiles_div.show(),this.request_draw()},update_icons:function(){var a=this.drawables.length;if(0===a)this.action_icons.composite_icon.hide(),this.action_icons.filters_icon.hide();else if(1===a)this.action_icons.composite_icon.toggle(this.drawables[0]instanceof T),this.action_icons.filters_icon.hide();else{var b,c,d,e=!0,f=this.drawables[0].get_type(),h=0;for(b=0;a>b;b++){if(d=this.drawables[b],d.get_type()!==f){can_composite=!1;break}d instanceof X&&h++}if(e&&this.drawables[0]instanceof V?this.action_icons.composite_icon.show():(this.action_icons.composite_icon.hide(),$(".tooltip").remove()),h>1&&h===this.drawables.length){var i,j={};for(d=this.drawables[0],c=0;c0)}else this.action_icons.filters_icon.hide()}},_restore_filter_managers:function(){for(var a=0;a0){this.saved_filters_managers=[];for(var a=0;a").addClass("top-container").appendTo(c),this.browser_content_div=$("
").addClass("content").appendTo(c),this.bottom_container=$("
").addClass("bottom-container").appendTo(c),this.top_labeltrack=$("
").addClass("top-labeltrack").appendTo(this.top_container),this.viewport_container=$("
").addClass("viewport-container").attr("id","viewport-container").appendTo(this.browser_content_div),this.content_div=this.viewport_container,p(this.viewport_container,d),this.intro_div=$("
").addClass("intro").appendTo(this.viewport_container);$("
").text("Add Datasets to Visualization").addClass("action-button").appendTo(this.intro_div).click(function(){b.select_datasets(Galaxy.root+"visualization/list_current_history_datasets",Galaxy.root+"api/datasets",{"f-dbkey":d.dbkey},function(b){a.each(b,function(a){d.add_drawable(aa(a,d,d))})})});this.nav_container=$("
").addClass("trackster-nav-container").prependTo(this.top_container),this.nav=$("
").addClass("trackster-nav").appendTo(this.nav_container),this.stand_alone&&(this.nav_container.addClass("stand-alone"),this.nav.addClass("stand-alone")),this.overview=$("
").addClass("overview").appendTo(this.bottom_container),this.overview_viewport=$("
").addClass("overview-viewport").appendTo(this.overview),this.overview_close=$("").attr("title","Close overview").addClass("icon-button overview-close tooltip").hide().appendTo(this.overview_viewport),this.overview_highlight=$("
").addClass("overview-highlight").hide().appendTo(this.overview_viewport),this.overview_box_background=$("
").addClass("overview-boxback").appendTo(this.overview_viewport),this.overview_box=$("
").addClass("overview-box").appendTo(this.overview_viewport),this.default_overview_height=this.overview_box.height(),this.nav_controls=$("
").addClass("nav-controls").appendTo(this.nav),this.chrom_select=$("").addClass("nav-input").hide().bind("keyup focusout",e).appendTo(this.nav_controls),this.location_span=$("").addClass("location").attr("title","Click to change location").tooltip({placement:"bottom"}).appendTo(this.nav_controls),this.location_span.click(function(){d.location_span.hide(),d.chrom_select.hide(),d.nav_input.val(d.chrom+":"+d.low+"-"+d.high),d.nav_input.css("display","inline-block"),d.nav_input.select(),d.nav_input.focus(),d.nav_input.autocomplete({source:function(a,b){var c=[],e=$.map(d.get_tracks(X),function(b){return b.data_manager.search_features(a.term).success(function(a){c=c.concat(a)})});$.when.apply($,e).done(function(){b($.map(c,function(a){return{label:a[0],value:a[1]}}))})},minLength:2})}),void 0!==this.vis_id&&(this.hidden_input=$("").attr("type","hidden").val(this.vis_id).appendTo(this.nav_controls)),this.zo_link=$("").attr("id","zoom-out").attr("title","Zoom out").tooltip({placement:"bottom"}).click(function(){d.zoom_out()}).appendTo(this.nav_controls),this.zi_link=$("").attr("id","zoom-in").attr("title","Zoom in").tooltip({placement:"bottom"}).click(function(){d.zoom_in()}).appendTo(this.nav_controls),this.load_chroms_deferred=this.load_chroms({low:0}),this.chrom_select.bind("change",function(){d.change_chrom(d.chrom_select.val())}),this.browser_content_div.click(function(){$(this).find("input").trigger("blur")}),this.browser_content_div.bind("dblclick",function(a){d.zoom_in(a.pageX,this.viewport_container)}),this.overview_box.bind("dragstart",function(a,b){this.current_x=b.offsetX}).bind("drag",function(a,b){var c=b.offsetX-this.current_x;this.current_x=b.offsetX;var e=Math.round(c/d.viewport_container.width()*(d.max_high-d.max_low));d.move_delta(-e)}),this.overview_close.click(function(){d.reset_overview()}),this.viewport_container.bind("draginit",function(a){return a.clientX>d.viewport_container.width()-16?!1:void 0}).bind("dragstart",function(a,b){b.original_low=d.low,b.current_height=a.clientY,b.current_x=b.offsetX}).bind("drag",function(a,b){var c=$(this),e=b.offsetX-b.current_x,f=c.scrollTop()-(a.clientY-b.current_height);c.scrollTop(f),b.current_height=a.clientY,b.current_x=b.offsetX;var g=Math.round(e/d.viewport_container.width()*(d.high-d.low));d.move_delta(g)}),this.top_labeltrack.bind("dragstart",function(){return $("
").addClass("zoom-area").css("height",d.browser_content_div.height()+d.top_labeltrack.height()+1).appendTo($(this))}).bind("drag",function(a,b){$(b.proxy).css({left:Math.min(a.pageX,b.startX)-d.container.offset().left,width:Math.abs(a.pageX-b.startX)});var c=Math.min(a.pageX,b.startX)-d.container.offset().left,e=Math.max(a.pageX,b.startX)-d.container.offset().left,f=d.high-d.low,g=d.viewport_container.width();d.update_location(Math.round(c/g*f)+d.low,Math.round(e/g*f)+d.low)}).bind("dragend",function(a,b){var c=Math.min(a.pageX,b.startX),e=Math.max(a.pageX,b.startX),f=d.high-d.low,g=d.viewport_container.width(),h=d.low;d.low=Math.round(c/g*f)+h,d.high=Math.round(e/g*f)+h,$(b.proxy).remove(),d.request_redraw()}),this.add_label_track(new S(this,{content_div:this.top_labeltrack})),$(window).bind("resize",function(){this.resize_timer&&clearTimeout(this.resize_timer),this.resize_timer=setTimeout(function(){d.resize_window()},500)}),$(document).bind("redraw",function(){d.redraw()}),this.reset(),$(window).trigger("resize")},get_base_color:function(a){return this.config.get_value(a.toLowerCase()+"_color")||this.config.get_value("n_color")}});n(I.prototype,G.prototype,{changed:function(){this.has_changes=!0},update_intro_div:function(){this.intro_div.toggle(0===this.drawables.length)},trigger_navigate:function(a,b,c,d){if(this.timer&&clearTimeout(this.timer),d){var e=this;this.timer=setTimeout(function(){e.trigger("navigate",a+":"+b+"-"+c)},500)}else view.trigger("navigate",a+":"+b+"-"+c)},update_location:function(a,b){this.location_span.text(d.commatize(a)+" - "+d.commatize(b)),this.nav_input.val(this.chrom+":"+d.commatize(a)+"-"+d.commatize(b));var c=this.chrom_select.val();""!==c&&this.trigger_navigate(c,this.low,this.high,!0)},load_chroms:function(a){a.num=w;var b=this,c=$.Deferred();return $.ajax({url:Galaxy.root+"api/genomes/"+this.dbkey,data:a,dataType:"json",success:function(a){if(0!==a.chrom_info.length){if(a.reference){var d=new U(b);b.add_label_track(d),b.reference_track=d}b.chrom_data=a.chrom_info;for(var e='',f=0,g=b.chrom_data.length;g>f;f++){var h=b.chrom_data[f].chrom;e+='"}a.prev_chroms&&(e+='"),a.next_chroms&&(e+='"),b.chrom_select.html(e),b.chrom_start_index=a.start_index,c.resolve(a.chrom_info)}},error:function(){alert("Could not load chroms for this dbkey: "+b.dbkey)}}),c},change_chrom:function(a,b,c){var d=this;if(!d.chrom_data)return void d.load_chroms_deferred.then(function(){d.change_chrom(a,b,c)});if(a&&"None"!==a){if("previous"===a)return void d.load_chroms({low:this.chrom_start_index-w});if("next"===a)return void d.load_chroms({low:this.chrom_start_index+w});var e=$.grep(d.chrom_data,function(b){return b.chrom===a})[0];if(void 0===e)return void d.load_chroms({chrom:a},function(){d.change_chrom(a,b,c)});if(a!==d.chrom){d.chrom=a,d.chrom_select.val(d.chrom),d.max_high=e.len-1,d.reset();for(var f=0,g=d.drawables.length;g>f;f++){var h=d.drawables[f];h.init&&h.init()}d.reference_track&&d.reference_track.init()}void 0===b&&void 0===c?(d.low=0,d.high=d.max_high):(d.low=void 0!==b?Math.max(b,0):0,void 0===c?(d.low=Math.max(d.low-15,0),d.high=d.low+30):d.high=Math.min(c,d.max_high)),d.request_redraw()}},go_to:function(a){a=a.replace(/,/g,""),a=a.replace(/:|\-/g," ");var b=a.split(/\s+/),c=b[0],d=b[1]?parseInt(b[1],10):void 0,e=b[2]?parseInt(b[2],10):void 0;this.change_chrom(c,d,e)},move_fraction:function(a){var b=this,c=b.high-b.low;this.move_delta(a*c)},move_delta:function(a){var b=this,c=b.high-b.low;b.low-ab.max_high?(b.high=b.max_high,b.low=b.max_high-c):(b.high-=a,b.low-=a),b.request_redraw({data_fetch:!1}),this.redraw_on_move_fn&&clearTimeout(this.redraw_on_move_fn),this.redraw_on_move_fn=setTimeout(function(){b.request_redraw()},200);var d=b.chrom_select.val();this.trigger_navigate(d,b.low,b.high,!0)},add_drawable:function(a){G.prototype.add_drawable.call(this,a),a.init(),this.changed(),this.update_intro_div();var b=this;a.config.on("change",function(){b.changed()})},add_label_track:function(a){a.view=this,a.init(),this.label_tracks.push(a)},remove_drawable:function(a,b){if(G.prototype.remove_drawable.call(this,a),b){var c=this;a.container_div.hide(0,function(){$(this).remove(),c.update_intro_div()})}},reset:function(){this.low=this.max_low,this.high=this.max_high,this.viewport_container.find(".yaxislabel").remove()},request_redraw:function(b,c){var d=this,e=c?[c]:d.drawables;a.each(e,function(c){var e=a.find(d.tracks_to_be_redrawn,function(a){return a[0]===c});e?e[1]=b:d.tracks_to_be_redrawn.push([c,b])}),this.requested_redraw||(requestAnimationFrame(function(){d._redraw()}),this.requested_redraw=!0)},_redraw:function(){this.requested_redraw=!1;var b=this.low,c=this.high;bthis.max_high&&(c=this.max_high);var d=this.high-this.low;0!==this.high&&df&&this.overview_box.css("left",e-(g-f)/2),this.overview_highlight&&this.overview_highlight.css({left:e,width:f}),a.each(this.tracks_to_be_redrawn,function(a){var b=a[0],c=a[1];b&&b._draw(c)}),this.tracks_to_be_redrawn=[],a.each(this.label_tracks,function(a){a._draw()})},zoom_in:function(a){if(!(0===this.max_high||this.high-this.low<=this.min_separation)){var b=this.high-this.low,c=b/2+this.low,d=b/this.zoom_factor/2;a&&(c=a/this.viewport_container.width()*(this.high-this.low)+this.low),this.low=Math.round(c-d),this.high=Math.round(c+d),this.changed(),this.request_redraw()}},zoom_out:function(){if(0!==this.max_high){var a=this.high-this.low,b=a/2+this.low,c=a*this.zoom_factor/2;this.low=Math.round(b-c),this.high=Math.round(b+c),this.changed(),this.request_redraw()}},resize_viewport:function(){this.viewport_container.height(this.container.height()-this.top_container.height()-this.bottom_container.height())},resize_window:function(){this.resize_viewport(),this.request_redraw()},set_overview:function(a){if(this.overview_drawable){if(this.overview_drawable.dataset.id===a.dataset.id)return;this.overview_viewport.find(".track").remove()}var b=a.copy({content_div:this.overview_viewport}),c=this;b.header_div.hide(),b.is_overview=!0,c.overview_drawable=b,this.overview_drawable.postdraw_actions=function(){c.overview_highlight.show().height(c.overview_drawable.content_div.height()),c.overview_viewport.height(c.overview_drawable.content_div.height()+c.overview_box.outerHeight()),c.overview_close.show(),c.resize_window()},c.overview_drawable.request_draw(),this.changed()},reset_overview:function(){$(".tooltip").remove(),this.overview_viewport.find(".track-tile").remove(),this.overview_viewport.height(this.default_overview_height),this.overview_box.height(this.default_overview_height),this.overview_close.hide(),this.overview_highlight.hide(),view.resize_window(),view.overview_drawable=null}});var J=i.Tool.extend({defaults:{track:null},initialize:function(a){i.Tool.prototype.initialize.call(this,a);var b=!0;void 0!==a.tool_state&&void 0!==a.tool_state.hidden&&(b=a.tool_state.hidden),this.set("hidden",b),this.remove_inputs(["data","hidden_data","conditional"])},state_dict:function(){return a.extend(this.get_inputs_dict(),{hidden:!this.is_visible()})}}),K=Backbone.View.extend({events:{"change :input":"update_value"},render:function(){var a=this.$el.addClass("param-row"),b=this.model,c=($("
").addClass("param-label").text(b.get("label")).appendTo(a),$("
").addClass("param-input").html(b.get("html")).appendTo(a));c.find(":input").val(b.get("value")),$("
").appendTo(a)},update_value:function(a){this.model.set_value($(a.target).val())}}),L=Backbone.View.extend({initialize:function(){this.model.on("change:hidden",this.set_visible,this)},render:function(){var a=this;tool=this.model,parent_div=this.$el.addClass("dynamic-tool").hide(),parent_div.bind("drag",function(a){a.stopPropagation()}).click(function(a){a.stopPropagation()}).bind("dblclick",function(a){a.stopPropagation()}).keydown(function(a){a.stopPropagation()});$("
").appendTo(parent_div).text(tool.get("name"));tool.get("inputs").each(function(a){var b=new K({model:a});b.render(),parent_div.append(b.$el)}),parent_div.find("input").click(function(){$(this).select()});var b=$("
").addClass("param-row").appendTo(parent_div),c=$("").attr("value","Run on complete dataset").appendTo(b),d=$("").attr("value","Run on visible region").appendTo(b);d.click(function(){a.run_on_region()}),c.click(function(){a.run_on_dataset()}),tool.is_visible()&&this.$el.show()},set_visible:function(){this.$el.toggle(this.model.is_visible())},update_params:function(){for(var a=0;a").append(d),this.data=e,this.stale=!1};N.prototype.predisplay_actions=function(){};var O=function(a,b,c,d,e){N.call(this,a,b,c,d,e)};O.prototype.predisplay_actions=function(){};var P=function(a,b,c,d,e,f,g,h,i,j,k){N.call(this,a,b,c,d,e),this.mode=f,this.all_slotted=h,this.feature_mapper=i,this.has_icons=!1,this.incomplete_features=j,this.other_tiles_features_drawn={},this.seq_data=k};n(P.prototype,N.prototype),P.prototype.predisplay_actions=function(){};var Q=function(a,c,d){n(d,{drag_handle_class:"draghandle"}),F.call(this,a,c,d),this.dataset=null,d.dataset&&(this.dataset=d.dataset instanceof Backbone.Model?d.dataset:new h.Dataset(d.dataset)),this.dataset_check_type="converted_datasets_state",this.data_url_extra_params={},this.data_query_wait="data_query_wait"in d?d.data_query_wait:v,this.data_manager="data_manager"in d?d.data_manager:new b.GenomeDataManager({dataset:this.dataset,genome:new b.Genome({key:a.dbkey,chroms_info:{chrom_info:a.chrom_data}}),data_mode_compatible:this.data_and_mode_compatible,can_subset:this.can_subset}),this.min_height_px=16,this.max_height_px=800,this.visible_height_px=this.config.get_value("height"),this.content_div=$("
").appendTo(this.container_div),this.container&&(this.container.content_div.append(this.container_div),"resize"in d&&!d.resize||this.add_resize_handle())};n(Q.prototype,F.prototype,{action_icons_def:[{name:"mode_icon",title:"Set display mode",css_class:"chevron-expand",on_click_fn:function(){}},F.prototype.action_icons_def[0],{name:"overview_icon",title:"Set as overview",css_class:"application-dock-270",on_click_fn:function(a){a.view.set_overview(a)}},F.prototype.action_icons_def[1],{name:"filters_icon",title:"Filters",css_class:"ui-slider-050",on_click_fn:function(a){a.filters_manager.visible()?a.filters_manager.clear_filters():a.filters_manager.init_filters(),a.filters_manager.toggle()}},{name:"tools_icon",title:"Tool",css_class:"hammer",on_click_fn:function(a){a.tool.toggle(),a.tool.is_visible()?a.set_name(a.config.get_value("name")+a.tool_region_and_parameters_str()):a.revert_name(),$(".tooltip").remove()}},{name:"param_space_viz_icon",title:"Tool parameter space visualization",css_class:"arrow-split",on_click_fn:function(c){var d="Tool:"+c.tool.get("name")+"
Dataset:"+c.config.get_value("name")+'
Region(s): ',e=function(){Galaxy.modal.hide(),$(window).unbind("keypress.check_enter_esc")},f=function(){var d,e=$('select[name="regions"] option:selected').val(),f=new b.GenomeRegion({chrom:view.chrom,start:view.low,end:view.high}),g=a.map($(".bookmark"),function(a){return new b.GenomeRegion({from_str:$(a).children(".position").text()})});d="cur"===e?[f]:"bookmarks"===e?g:[f].concat(g),Galaxy.modal.hide(),window.location.href=Galaxy.root+"visualization/sweepster?"+$.param({dataset_id:c.dataset.id,hda_ldda:c.dataset.get("hda_ldda"),regions:JSON.stringify(new Backbone.Collection(d).toJSON())})};Galaxy.modal.show({title:"Visualize tool parameter space and output from different parameter settings?",body:d,buttons:{No:e,Yes:f}})}},F.prototype.action_icons_def[2]],can_draw:function(){return this.dataset&&F.prototype.can_draw.call(this)},build_container_div:function(){return $("
").addClass("track").attr("id","track_"+this.id)},set_dataset:function(a){this.dataset=a,this.data_manager.set("dataset",a)},on_resize:function(){this.request_draw({clear_tile_cache:!0})},add_resize_handle:function(){var a=this,b=!1,c=!1,d=$("
");$(a.container_div).hover(function(){a.config.get_value("content_visible")&&(b=!0,d.show())},function(){b=!1,c||d.hide()}),d.hide().bind("dragstart",function(b,d){c=!0,d.original_height=$(a.content_div).height()}).bind("drag",function(b,c){var d=Math.min(Math.max(c.original_height+c.deltaY,a.min_height_px),a.max_height_px);$(a.tiles_div).css("height",d),a.visible_height_px=a.max_height_px===d?0:d,a.on_resize()}).bind("dragend",function(){a.tile_cache.clear(),c=!1,b||d.hide(),a.config.set_value("height",a.visible_height_px),a.changed()}).appendTo(a.container_div)},hide_contents:function(){this.tiles_div.hide(),this.container_div.find(".yaxislabel, .track-resize").hide()},show_contents:function(){this.tiles_div.show(),this.container_div.find(".yaxislabel, .track-resize").show(),this.request_draw()},get_type:function(){return this instanceof S?"LabelTrack":this instanceof U?"ReferenceTrack":this instanceof V?"LineTrack":this instanceof Z?"ReadTrack":this instanceof Y?"VariantTrack":this instanceof T?"CompositeTrack":this instanceof X?"FeatureTrack":""; -},show_message:function(a){return this.tiles_div.remove(),$("").addClass("message").html(a).appendTo(this.content_div)},init:function(a){var b=this;if(b.enabled=!1,b.tile_cache.clear(),b.data_manager.clear(),b.content_div.children().remove(),b.container_div.removeClass("nodata error pending"),b.tiles_div=$("
").addClass("tiles").appendTo(b.content_div),b.dataset.id){var c=$.Deferred(),d={hda_ldda:b.dataset.get("hda_ldda"),data_type:this.dataset_check_type,chrom:b.view.chrom,retry:a};return $.getJSON(this.dataset.url(),d,function(a){if(a&&"error"!==a&&"error"!==a.kind)"no converter"===a?(b.container_div.addClass("error"),b.show_message(y)):"no data"===a||void 0!==a.data&&(null===a.data||0===a.data.length)?(b.container_div.addClass("nodata"),b.show_message(z)):"pending"===a?(b.container_div.addClass("pending"),b.show_message(A),setTimeout(function(){b.init()},b.data_query_wait)):("data"===a||"data"===a.status)&&(a.valid_chroms&&(b.valid_chroms=a.valid_chroms,b.update_icons()),b.tiles_div.text(C),b.view.chrom?(b.tiles_div.text(""),b.tiles_div.css("height",b.visible_height_px+"px"),b.enabled=!0,$.when.apply($,b.predraw_init()).done(function(){c.resolve(),b.container_div.removeClass("nodata error pending"),b.request_draw()})):c.resolve());else{b.container_div.addClass("error");var d=b.show_message(x);a.message&&(d.append($("").text("View error").click(function(){Galaxy.modal.show({title:"Trackster Error",body:"
"+a.message+"
",buttons:{Close:function(){Galaxy.modal.hide()}}})})),d.append($("").text(" ")),d.append($("
").text("Try again").click(function(){b.init(!0)})))}}),this.update_icons(),c}},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(c&&void 0!==c.min&&void 0!==c.max){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_default_value("min_value",d),a.config.set_default_value("max_value",e),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},get_drawables:function(){return this}});var R=function(c,d,e){Q.call(this,c,d,e);var f=this;if(q(f.container_div,f.drag_handle_class,".group",f),this.filters_manager=new g.FiltersManager(this,"filters"in e?e.filters:null),this.data_manager.set("filters_manager",this.filters_manager),this.filters_available=!1,this.tool=e.tool?new J(a.extend(e.tool,{track:this,tool_state:e.tool_state})):null,this.tile_cache=new b.Cache(D),this.left_offset=0,this.header_div&&(this.set_filters_manager(this.filters_manager),this.tool)){var h=new L({model:this.tool});h.render(),this.dynamic_tool_div=h.$el,this.header_div.after(this.dynamic_tool_div)}this.tiles_div=$("
").addClass("tiles").appendTo(this.content_div),this.config.get_value("content_visible")||this.tiles_div.hide(),this.overlay_div=$("
").addClass("overlay").appendTo(this.content_div),e.mode&&this.change_mode(e.mode)};n(R.prototype,F.prototype,Q.prototype,{action_icons_def:Q.prototype.action_icons_def.concat([{name:"show_more_rows_icon",title:"To minimize track height, not all feature rows are displayed. Click to display more rows.",css_class:"exclamation",on_click_fn:function(a){$(".tooltip").remove(),a.slotters[a.view.resolution_px_b].max_rows*=2,a.request_draw({clear_tile_cache:!0})},hide:!0}]),copy:function(a){var b=this.to_dict();n(b,{data_manager:this.data_manager});var c=new this.constructor(this.view,a,b);return c.change_mode(this.mode),c.enabled=this.enabled,c},set_filters_manager:function(a){this.filters_manager=a,this.header_div.after(this.filters_manager.parent_div)},to_dict:function(){return{track_type:this.get_type(),dataset:{id:this.dataset.id,hda_ldda:this.dataset.get("hda_ldda")},prefs:this.config.to_key_value_dict(),mode:this.mode,filters:this.filters_manager.to_dict(),tool_state:this.tool?this.tool.state_dict():{}}},set_min_max:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(isNaN(parseFloat(a.config.get_value("min_value")))||isNaN(parseFloat(a.config.get_value("max_value")))){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},change_mode:function(a){var b=this;return b.mode=a,b.config.set_value("mode",a),"Auto"===a&&this.data_manager.clear(),b.request_draw({clear_tile_cache:!0}),this.action_icons.mode_icon.attr("title","Set display mode (now: "+b.mode+")"),b},update_icons:function(){var a=this;a.action_icons.filters_icon.toggle(a.filters_available),a.action_icons.tools_icon.toggle(null!==a.tool),a.action_icons.param_space_viz_icon.toggle(null!==a.tool)},_gen_tile_cache_key:function(a,b){return a+"_"+b},request_draw:function(a){a&&a.clear_tile_cache&&this.tile_cache.clear(),this.view.request_redraw(a,this)},before_draw:function(){this.max_height_px=0},_draw:function(c){if(this.can_draw()){var d=c&&c.clear_after,e=this.view.low,f=this.view.high,g=this.view.container.width(),h=this.view.resolution_px_b,i=1/h;this.is_overview&&(e=this.view.max_low,f=this.view.max_high,h=g/(view.max_high-view.max_low),i=1/h),this.before_draw(),this.tiles_div.children().addClass("remove");for(var j,k,l=Math.floor(u*i),m=Math.floor(e/l),n=[],o=[];f>m*l;)j=new b.GenomeRegion({chrom:this.view.chrom,start:m*l,end:Math.min((m+1)*l,this.view.max_high)}),k=this.draw_helper(j,h,c),n.push(k),$.when(k).then(function(a){o.push(a)}),m+=1;d||this.tiles_div.children(".remove").removeClass("remove").remove();var p=this;$.when.apply($,n).then(function(){p.tiles_div.children(".remove").remove(),o=a.filter(o,function(a){return null!==a}),0!==o.length&&p.postdraw_actions(o,g,h,d)})}},_add_yaxis_label:function(a,b){var c=this,d="max"===a?"top":"bottom",e="max"===a?"max":"min",f="max"===a?"max_value":"min_value",g=this.container_div.find(".yaxislabel."+d),h=l(c.config.get_value(f),1);b=b||function(){c.request_draw({clear_tile_cache:!0})},0!==g.length?g.text(h):(g=$("
").text(h).make_text_editable({num_cols:12,on_finish:function(a){$(".tooltip").remove(),c.config.set_value(f,l(a,1)),b()},help_text:"Set "+e+" value"}).addClass("yaxislabel "+d).css("color",this.config.get_value("label_color")),this.container_div.prepend(g))},postdraw_actions:function(b,c,d){var e=a.filter(b,function(a){return a instanceof O});if(e.length>0){this.max_height_px=0;var f=this;a.each(b,function(a){a instanceof O||(a.html_elt.remove(),f.draw_helper(a.region,d,{force:!0,mode:"Coverage"}))}),f._add_yaxis_label("max")}else{this.container_div.find(".yaxislabel").remove();var g=a.find(b,function(a){return a.has_icons});g&&a.each(b,function(a){a.has_icons||a.html_elt.css("padding-top",r)})}},get_mode:function(){return this.mode},update_auto_mode:function(){},_get_drawables:function(){return[this]},draw_helper:function(b,c,e){e||(e={});var f=e.force,g=e.mode||this.mode,h=1/c,i=this,j=this._get_drawables(),k=this._gen_tile_cache_key(c,b),l=function(a){return a&&"track"in a},m=f?void 0:i.tile_cache.get_elt(k);if(m)return l(m)&&i.show_tile(m,c),m;if(e.data_fetch===!1)return null;var n=function(){var c=a.find(E,function(a){return a===g})?"Coverage":g,d=a.map(j,function(a){return a.data_manager.get_data(b,c,h,i.data_url_extra_params)});return view.reference_track&&d.push(view.reference_track.data_manager.get_data(b,g,h,view.reference_track.data_url_extra_params)),d},o=$.Deferred();return i.tile_cache.set_elt(k,o),$.when.apply($,n()).then(function(){var f,g=n(),h=g;if(a.find(g,function(a){return d.is_deferred(a)}))return i.tile_cache.set_elt(k,void 0),void $.when(i.draw_helper(b,c,e)).then(function(a){o.resolve(a)});view.reference_track&&(f=view.reference_track.data_manager.subset_entry(g.pop(),b));var l=[],m=[];a.each(j,function(a,b){var d=a.mode,e=h[b];"Auto"===d&&(d=a.get_mode(e),a.update_auto_mode(d)),l.push(d),m.push(a.get_canvas_height(e,d,c,t))});var p,q=i.view.canvas_manager.new_canvas(),r=b.get("start"),s=b.get("end"),t=Math.ceil((s-r)*c)+i.left_offset,u=a.max(m);q.width=t,q.height=e.height||u;var v=q.getContext("2d");v.translate(i.left_offset,0),j.length>1&&(v.globalAlpha=.5,v.globalCompositeOperation="source-over"),a.each(j,function(a,d){p=a.draw_tile(h[d],v,l[d],b,c,f)}),void 0!==p&&(i.tile_cache.set_elt(k,p),i.show_tile(p,c)),o.resolve(p)}),o},get_canvas_height:function(){return this.visible_height_px},_draw_line_track_tile:function(b,c,d,e,g){-1!==[void 0,null].indexOf(this.config.get_value("min_value"))&&this.config.set_value("min_value",0),-1!==[void 0,null,0].indexOf(this.config.get_value("max_value"))&&this.config.set_value("max_value",a.max(a.map(b.data,function(a){return a[1]}))||0);var h=c.canvas,i=new f.LinePainter(b.data,e.get("start"),e.get("end"),this.config.to_key_value_dict(),d);return i.draw(c,h.width,h.height,g),new O(this,e,g,h,b.data)},draw_tile:function(){},show_tile:function(a,b){var c=a.html_elt;a.predisplay_actions();var d=Math.round((a.low-(this.is_overview?this.view.max_low:this.view.low))*b);this.left_offset&&(d-=this.left_offset),c.css("left",d),c.hasClass("remove")?c.removeClass("remove"):this.tiles_div.append(c),c.css("height","auto"),this.max_height_px=Math.max(this.max_height_px,c.height()-2),c.parent().children().css("height",this.max_height_px+"px");var e=this.max_height_px;0!==this.visible_height_px&&(e=Math.min(this.max_height_px,this.visible_height_px)),this.tiles_div.css("height",e+"px")},tool_region_and_parameters_str:function(b){var c=this,d=void 0!==b?b.toString():"all",e=a.values(c.tool.get_inputs_dict()).join(", ");return" - region=["+d+"], parameters=["+e+"]"},data_and_mode_compatible:function(a,b){return"Auto"===b?!0:"Coverage"===b?"bigwig"===a.dataset_type:"bigwig"===a.dataset_type||"no_detail"===a.extra_info?!1:!0},can_subset:function(a){return a.message||"no_detail"===a.extra_info?!1:"bigwig"===a.dataset_type?a.data[1][0]-a.data[0][0]===1:!0},init_for_tool_data:function(){this.data_manager.set("data_type","raw_data"),this.data_query_wait=1e3,this.dataset_check_type="state"}});var S=function(a,b){Q.call(this,a,b,{resize:!1,header:!1}),this.container_div.addClass("label-track")};n(S.prototype,Q.prototype,{init:function(){this.enabled=!0},predraw_init:function(){},_draw:function(){for(var a=this.view,b=a.high-a.low,c=Math.floor(Math.pow(10,Math.floor(Math.log(b)/Math.log(10)))),e=Math.floor(a.low/c)*c,f=this.view.container.width(),g=$("
").addClass("label-container");e").addClass("pos-label").text(d.commatize(e)).css({left:h})),e+=c}this.content_div.children(":first").remove(),this.content_div.append(g)}});var T=function(b,c,d){if(R.call(this,b,c,d),this.drawables=[],"drawables"in d){for(var e,f=0;fthis.left_offset&&(this.left_offset=e.left_offset);this.enabled=!0}a.each(this.drawables,function(a){(a instanceof X||a instanceof Z)&&a.change_mode("Coverage")}),this.update_icons(),this.obj_type="CompositeTrack"};n(T.prototype,R.prototype,{display_modes:E,config_params:a.union(F.prototype.config_params,[{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),action_icons_def:[{name:"composite_icon",title:"Show individual tracks",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_group()}}].concat(R.prototype.action_icons_def),to_dict:G.prototype.to_dict,add_drawable:G.prototype.add_drawable,unpack_drawables:G.prototype.unpack_drawables,config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},on_resize:function(){var b=this.visible_height_px;a.each(this.drawables,function(a){a.visible_height_px=b}),Q.prototype.on_resize.call(this)},change_mode:function(a){R.prototype.change_mode.call(this,a);for(var b=0;be&&(e=f)}for(d=0;dthis.view.canvas_manager.char_width_px?(this.tiles_div.show(),d=!0,f=R.prototype.draw_helper.call(this,a,b,c)):(d=!1,this.tiles_div.hide()),e!==d&&this.view.resize_viewport(),f},can_subset:function(){return!0},draw_tile:function(a,b,c,d,e){var f=this.data_manager.subset_entry(a,d),g=f.data,h=b.canvas;b.font=b.canvas.manager.default_font,b.textAlign="center";for(var i=0,j=g.length;j>i;i++)b.fillStyle=this.view.get_base_color(g[i]),b.fillText(g[i],Math.floor(i*e),10);return new N(this,d,e,h,f)}});var V=function(a,b,c){this.mode="Histogram",R.call(this,a,b,c),this.left_offset=30;var d=this;$.when(m(galaxy_config.root+"datasets/"+this.dataset.id+"/display")).then(function(a){a&&(console.log("BBI DATA MANAGER"),d.data_manager=new k.BBIDataManager({dataset:d.dataset}))})};n(V.prototype,F.prototype,R.prototype,{display_modes:E,config_params:a.union(F.prototype.config_params,[{key:"color",label:"Color",type:"color"},{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},before_draw:function(){},draw_tile:function(a,b,c,d,e){return this._draw_line_track_tile(a,b,c,d,e)},can_subset:function(a){return a.data[1][0]-a.data[0][0]===1},postdraw_actions:function(){this._add_yaxis_label("max"),this._add_yaxis_label("min")}});var W=function(a,b,c){this.mode="Heatmap",R.call(this,a,b,c)};n(W.prototype,F.prototype,R.prototype,{display_modes:["Heatmap"],config_params:a.union(F.prototype.config_params,[{key:"pos_color",label:"Positive Color",type:"color",default_value:"#FF8C00"},{key:"neg_color",label:"Negative Color",type:"color",default_value:"#4169E1"},{key:"min_value",label:"Min Value",type:"int",default_value:void 0},{key:"max_value",label:"Max Value",type:"int",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:500,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(a){a.data})},draw_tile:function(a,b,c,d,e){var g=b.canvas,h=new f.DiagonalHeatmapPainter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c);return h.draw(b,g.width,g.height,e),new N(this,d,e,g,a.data)}});var X=function(a,b,c){R.call(this,a,b,c),this.container_div.addClass("feature-track"),this.summary_draw_height=30,this.slotters={},this.start_end_dct={},this.left_offset=200,this.set_painter_from_config()};n(X.prototype,F.prototype,R.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(F.prototype.config_params,[{key:"block_color",label:"Block color",type:"color"},{key:"reverse_strand_color",label:"Antisense strand color",type:"color"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0,help:"Show the number of items in each bin when drawing summary histogram"},{key:"min_value",label:"Histogram minimum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.set_painter_from_config(),this.request_draw({clear_tile_cache:!0})},set_painter_from_config:function(){this.painter="arcs"===this.config.get_value("connector_style")?f.ArcLinkedFeaturePainter:f.LinkedFeaturePainter},postdraw_actions:function(b,c,d,e){R.prototype.postdraw_actions.call(this,b,c,d,e);var f,g=this,h=a.filter(b,function(a){return a instanceof O});if(0===h.length){var i={};a.each(a.pluck(b,"incomplete_features"),function(b){a.each(b,function(a){i[a[0]]=a})});var j=this;a.each(b,function(b){var c=a.omit(i,a.map(b.incomplete_features,function(a){return a[0]}));if(c=a.omit(c,a.keys(b.other_tiles_features_drawn)),0!==a.size(c)){var d={data:a.values(c)},e=j.view.canvas_manager.new_canvas(),f=e.getContext("2d");e.height=Math.max(b.canvas.height,j.get_canvas_height(d,b.mode,b.w_scale,100)),e.width=b.canvas.width,f.drawImage(b.canvas,0,0),f.translate(g.left_offset,0);var h=j.draw_tile(d,f,b.mode,b.region,b.w_scale,b.seq_data);$(b.canvas).replaceWith($(h.canvas)),b.canvas=e,a.extend(b.other_tiles_features_drawn,i)}})}if(g.filters_manager){var k,l=g.filters_manager.filters;for(k=0;kt?"Squish":"Pack",mode},get_canvas_height:function(a,b,c,d){if("Coverage"===b||"bigwig"===a.dataset_type)return this.summary_draw_height;var e=this.incremental_slots(c,a.data,b),f=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return Math.max(this.min_height_px,f.get_required_height(e,d))},draw_tile:function(a,b,c,d,e,f,g){var h=this,i=b.canvas,j=d.get("start"),k=d.get("end"),l=this.left_offset;if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,c,d,e);var m=[],n=this.slotters[e].slots;if(all_slotted=!0,a.data)for(var o=this.filters_manager.filters,p=0,q=a.data.length;q>p;p++){for(var r,s=a.data[p],t=!1,u=0,v=o.length;v>u;u++)if(r=o[u],r.update_attrs(s),!r.keep(s)){t=!0;break}t||(m.push(s),s[0]in n||(all_slotted=!1))}var w=this.filters_manager.alpha_filter?new M(this.filters_manager.alpha_filter):null,x=this.filters_manager.height_filter?new M(this.filters_manager.height_filter):null,y=new this.painter(m,j,k,this.config.to_key_value_dict(),c,w,x,f,function(a){return h.view.get_base_color(a)}),z=null;if(b.fillStyle=this.config.get_value("block_color"),b.font=b.canvas.manager.default_font,b.textAlign="right",a.data){var A=y.draw(b,i.width,i.height,e,n);z=A.feature_mapper,incomplete_features=A.incomplete_features,z.translation=-l}return g?void 0:new P(h,d,e,i,a.data,c,a.message,all_slotted,z,incomplete_features,f)}});var Y=function(a,b,c){R.call(this,a,b,c),this.painter=f.VariantPainter,this.summary_draw_height=30,this.left_offset=30};n(Y.prototype,F.prototype,R.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(F.prototype.config_params,[{key:"color",label:"Histogram color",type:"color"},{key:"show_sample_data",label:"Show sample data",type:"bool",default_value:!0},{key:"show_labels",label:"Show summary and sample labels",type:"bool",default_value:!0},{key:"summary_height",label:"Locus summary height",type:"float",default_value:20},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},draw_tile:function(a,b,c,d,e){if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,"Histogram",d,e);var f=this.view,g=new this.painter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c,function(a){return f.get_base_color(a)});return g.draw(b,b.canvas.width,b.canvas.height,e),new N(this,d,e,b.canvas,a.data)},get_canvas_height:function(a,b){if("bigwig"===a.dataset_type)return this.summary_draw_height;var c=this.dataset.get_metadata("sample_names")?this.dataset.get_metadata("sample_names").length:0;0===c&&0!==a.data.length&&(c=a.data[0][7].match(/,/g),c=null===c?1:c.length+1);var d=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return d.get_required_height(c)},predraw_init:function(){var a=[Q.prototype.predraw_init.call(this)];return this.dataset.get_metadata("sample_names")||a.push(this.dataset.fetch()),a},postdraw_actions:function(b,c,d,e){R.prototype.postdraw_actions.call(this,b,c,d,e);var f=a.filter(b,function(a){return a instanceof O}),g=this.dataset.get_metadata("sample_names");if(0===f.length&&this.config.get_value("show_labels")&&g&&g.length>1){var h;if(0===this.container_div.find(".yaxislabel.variant").length&&(h=this.config.get_value("summary_height")/2,this.tiles_div.prepend($("
").text("Summary").addClass("yaxislabel variant top").css({"font-size":h+"px",top:(this.config.get_value("summary_height")-h)/2+"px"})),this.config.get_value("show_sample_data"))){var i=g.join("
");this.tiles_div.prepend($("
").html(i).addClass("yaxislabel variant top sample").css({top:this.config.get_value("summary_height")}))}h=("Squish"===this.mode?5:10)+"px",$(this.tiles_div).find(".sample").css({"font-size":h,"line-height":h}),$(this.tiles_div).find(".yaxislabel").css("color",this.config.get_value("label_color"))}else this.container_div.find(".yaxislabel.variant").remove()}});var Z=function(a,b,c){X.call(this,a,b,c),this.painter=f.ReadPainter,this.update_icons()};n(Z.prototype,F.prototype,R.prototype,X.prototype,{config_params:a.union(F.prototype.config_params,[{key:"block_color",label:"Histogram color",type:"color"},{key:"detail_block_color",label:"Sense strand block color",type:"color",default_value:"#AAAAAA"},{key:"reverse_strand_color",label:"Antisense strand block color",type:"color",default_value:"#DDDDDD"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:!1},{key:"show_differences",label:"Show differences only",type:"bool",default_value:!0},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"min_value",label:"Histogram minimum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})}});var _={CompositeTrack:T,DrawableGroup:H,DiagonalHeatmapTrack:W,FeatureTrack:X,LineTrack:V,ReadTrack:Z,VariantTrack:Y,VcfTrack:Y},aa=function(a,b,c){if("copy"in a)return a.copy(c);var d=a.obj_type;return d||(d=a.track_type),new _[d](b,c,a)};return{TracksterView:I,DrawableGroup:H,LineTrack:V,FeatureTrack:X,DiagonalHeatmapTrack:W,ReadTrack:Z,VariantTrack:Y,CompositeTrack:T,object_from_template:aa}}); +},show_message:function(a){return this.tiles_div.remove(),$("").addClass("message").html(a).appendTo(this.content_div)},init:function(a){var b=this;if(b.enabled=!1,b.tile_cache.clear(),b.data_manager.clear(),b.content_div.children().remove(),b.container_div.removeClass("nodata error pending"),b.tiles_div=$("
").addClass("tiles").appendTo(b.content_div),b.dataset.id){var c=$.Deferred(),d={hda_ldda:b.dataset.get("hda_ldda"),data_type:this.dataset_check_type,chrom:b.view.chrom,retry:a};return $.getJSON(this.dataset.url(),d,function(a){if(a&&"error"!==a&&"error"!==a.kind)"no converter"===a?(b.container_div.addClass("error"),b.show_message(y)):"no data"===a||void 0!==a.data&&(null===a.data||0===a.data.length)?(b.container_div.addClass("nodata"),b.show_message(z)):"pending"===a?(b.container_div.addClass("pending"),b.show_message(A),setTimeout(function(){b.init()},b.data_query_wait)):("data"===a||"data"===a.status)&&(a.valid_chroms&&(b.valid_chroms=a.valid_chroms,b.update_icons()),b.tiles_div.text(C),b.view.chrom?(b.tiles_div.text(""),b.tiles_div.css("height",b.visible_height_px+"px"),b.enabled=!0,$.when.apply($,b.predraw_init()).done(function(){c.resolve(),b.container_div.removeClass("nodata error pending"),b.request_draw()})):c.resolve());else{b.container_div.addClass("error");var d=b.show_message(x);a.message&&(d.append($("").text("View error").click(function(){Galaxy.modal.show({title:"Trackster Error",body:"
"+a.message+"
",buttons:{Close:function(){Galaxy.modal.hide()}}})})),d.append($("").text(" ")),d.append($("").text("Try again").click(function(){b.init(!0)})))}}),this.update_icons(),c}},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(c&&void 0!==c.min&&void 0!==c.max){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_default_value("min_value",d),a.config.set_default_value("max_value",e),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},get_drawables:function(){return this}});var R=function(c,d,e){Q.call(this,c,d,e);var f=this;if(q(f.container_div,f.drag_handle_class,".group",f),this.filters_manager=new g.FiltersManager(this,"filters"in e?e.filters:null),this.data_manager.set("filters_manager",this.filters_manager),this.filters_available=!1,this.tool=e.tool?new J(a.extend(e.tool,{track:this,tool_state:e.tool_state})):null,this.tile_cache=new b.Cache(D),this.left_offset=0,this.header_div&&(this.set_filters_manager(this.filters_manager),this.tool)){var h=new L({model:this.tool});h.render(),this.dynamic_tool_div=h.$el,this.header_div.after(this.dynamic_tool_div)}this.tiles_div=$("
").addClass("tiles").appendTo(this.content_div),this.config.get_value("content_visible")||this.tiles_div.hide(),this.overlay_div=$("
").addClass("overlay").appendTo(this.content_div),e.mode&&this.change_mode(e.mode)};n(R.prototype,F.prototype,Q.prototype,{action_icons_def:Q.prototype.action_icons_def.concat([{name:"show_more_rows_icon",title:"To minimize track height, not all feature rows are displayed. Click to display more rows.",css_class:"exclamation",on_click_fn:function(a){$(".tooltip").remove(),a.slotters[a.view.resolution_px_b].max_rows*=2,a.request_draw({clear_tile_cache:!0})},hide:!0}]),copy:function(a){var b=this.to_dict();n(b,{data_manager:this.data_manager});var c=new this.constructor(this.view,a,b);return c.change_mode(this.mode),c.enabled=this.enabled,c},set_filters_manager:function(a){this.filters_manager=a,this.header_div.after(this.filters_manager.parent_div)},to_dict:function(){return{track_type:this.get_type(),dataset:{id:this.dataset.id,hda_ldda:this.dataset.get("hda_ldda")},prefs:this.config.to_key_value_dict(),mode:this.mode,filters:this.filters_manager.to_dict(),tool_state:this.tool?this.tool.state_dict():{}}},set_min_max:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(b){var c=b.data;if(isNaN(parseFloat(a.config.get_value("min_value")))||isNaN(parseFloat(a.config.get_value("max_value")))){var d=c.min,e=c.max;d=Math.floor(Math.min(0,Math.max(d,c.mean-2*c.sd))),e=Math.ceil(Math.max(0,Math.min(e,c.mean+2*c.sd))),a.config.set_value("min_value",d),a.config.set_value("max_value",e)}})},change_mode:function(a){var b=this;return b.mode=a,b.config.set_value("mode",a),"Auto"===a&&this.data_manager.clear(),b.request_draw({clear_tile_cache:!0}),this.action_icons.mode_icon.attr("title","Set display mode (now: "+b.mode+")"),b},update_icons:function(){var a=this;a.action_icons.filters_icon.toggle(a.filters_available),a.action_icons.tools_icon.toggle(null!==a.tool),a.action_icons.param_space_viz_icon.toggle(null!==a.tool)},_gen_tile_cache_key:function(a,b){return a+"_"+b},request_draw:function(a){a&&a.clear_tile_cache&&this.tile_cache.clear(),this.view.request_redraw(a,this)},before_draw:function(){this.max_height_px=0},_draw:function(c){if(this.can_draw()){var d=c&&c.clear_after,e=this.view.low,f=this.view.high,g=this.view.container.width(),h=this.view.resolution_px_b,i=1/h;this.is_overview&&(e=this.view.max_low,f=this.view.max_high,h=g/(view.max_high-view.max_low),i=1/h),this.before_draw(),this.tiles_div.children().addClass("remove");for(var j,k,l=Math.floor(u*i),m=Math.floor(e/l),n=[],o=[];f>m*l;)j=new b.GenomeRegion({chrom:this.view.chrom,start:m*l,end:Math.min((m+1)*l,this.view.max_high)}),k=this.draw_helper(j,h,c),n.push(k),$.when(k).then(function(a){o.push(a)}),m+=1;d||this.tiles_div.children(".remove").removeClass("remove").remove();var p=this;$.when.apply($,n).then(function(){p.tiles_div.children(".remove").remove(),o=a.filter(o,function(a){return null!==a}),0!==o.length&&p.postdraw_actions(o,g,h,d)})}},_add_yaxis_label:function(a,b){var c=this,d="max"===a?"top":"bottom",e="max"===a?"max":"min",f="max"===a?"max_value":"min_value",g=this.container_div.find(".yaxislabel."+d),h=l(c.config.get_value(f),1);b=b||function(){c.request_draw({clear_tile_cache:!0})},0!==g.length?g.text(h):(g=$("
").text(h).make_text_editable({num_cols:12,on_finish:function(a){$(".tooltip").remove(),c.config.set_value(f,l(a,1)),b()},help_text:"Set "+e+" value"}).addClass("yaxislabel "+d).css("color",this.config.get_value("label_color")),this.container_div.prepend(g))},postdraw_actions:function(b,c,d){var e=a.filter(b,function(a){return a instanceof O});if(e.length>0){this.max_height_px=0;var f=this;a.each(b,function(a){a instanceof O||(a.html_elt.remove(),f.draw_helper(a.region,d,{force:!0,mode:"Coverage"}))}),f._add_yaxis_label("max")}else{this.container_div.find(".yaxislabel").remove();var g=a.find(b,function(a){return a.has_icons});g&&a.each(b,function(a){a.has_icons||a.html_elt.css("padding-top",r)})}},get_mode:function(){return this.mode},update_auto_mode:function(){},_get_drawables:function(){return[this]},draw_helper:function(b,c,e){e||(e={});var f=e.force,g=e.mode||this.mode,h=1/c,i=this,j=this._get_drawables(),k=this._gen_tile_cache_key(c,b),l=function(a){return a&&"track"in a},m=f?void 0:i.tile_cache.get_elt(k);if(m)return l(m)&&i.show_tile(m,c),m;if(e.data_fetch===!1)return null;var n=function(){var c=a.find(E,function(a){return a===g})?"Coverage":g,d=a.map(j,function(a){return a.data_manager.get_data(b,c,h,i.data_url_extra_params)});return view.reference_track&&d.push(view.reference_track.data_manager.get_data(b,g,h,view.reference_track.data_url_extra_params)),d},o=$.Deferred();return i.tile_cache.set_elt(k,o),$.when.apply($,n()).then(function(){var f,g=n(),h=g;if(a.find(g,function(a){return d.is_deferred(a)}))return i.tile_cache.set_elt(k,void 0),void $.when(i.draw_helper(b,c,e)).then(function(a){o.resolve(a)});view.reference_track&&(f=view.reference_track.data_manager.subset_entry(g.pop(),b));var l=[],m=[];a.each(j,function(a,b){var d=a.mode,e=h[b];"Auto"===d&&(d=a.get_mode(e),a.update_auto_mode(d)),l.push(d),m.push(a.get_canvas_height(e,d,c,t))});var p,q=i.view.canvas_manager.new_canvas(),r=b.get("start"),s=b.get("end"),t=Math.ceil((s-r)*c)+i.left_offset,u=a.max(m);q.width=t,q.height=e.height||u;var v=q.getContext("2d");v.translate(i.left_offset,0),j.length>1&&(v.globalAlpha=.5,v.globalCompositeOperation="source-over"),a.each(j,function(a,d){p=a.draw_tile(h[d],v,l[d],b,c,f)}),void 0!==p&&(i.tile_cache.set_elt(k,p),i.show_tile(p,c)),o.resolve(p)}),o},get_canvas_height:function(){return this.visible_height_px},_draw_line_track_tile:function(b,c,d,e,g){-1!==[void 0,null].indexOf(this.config.get_value("min_value"))&&this.config.set_value("min_value",0),-1!==[void 0,null,0].indexOf(this.config.get_value("max_value"))&&this.config.set_value("max_value",a.max(a.map(b.data,function(a){return a[1]}))||0);var h=c.canvas,i=new f.LinePainter(b.data,e.get("start"),e.get("end"),this.config.to_key_value_dict(),d);return i.draw(c,h.width,h.height,g),new O(this,e,g,h,b.data)},draw_tile:function(){},show_tile:function(a,b){var c=a.html_elt;a.predisplay_actions();var d=Math.round((a.low-(this.is_overview?this.view.max_low:this.view.low))*b);this.left_offset&&(d-=this.left_offset),c.css("left",d),c.hasClass("remove")?c.removeClass("remove"):this.tiles_div.append(c),c.css("height","auto"),this.max_height_px=Math.max(this.max_height_px,c.height()-2),c.parent().children().css("height",this.max_height_px+"px");var e=this.max_height_px;0!==this.visible_height_px&&(e=Math.min(this.max_height_px,this.visible_height_px)),this.tiles_div.css("height",e+"px")},tool_region_and_parameters_str:function(b){var c=this,d=void 0!==b?b.toString():"all",e=a.values(c.tool.get_inputs_dict()).join(", ");return" - region=["+d+"], parameters=["+e+"]"},data_and_mode_compatible:function(a,b){return"Auto"===b?!0:"Coverage"===b?"bigwig"===a.dataset_type:"bigwig"===a.dataset_type||"no_detail"===a.extra_info?!1:!0},can_subset:function(a){return a.message||"no_detail"===a.extra_info?!1:"bigwig"===a.dataset_type?a.data[1][0]-a.data[0][0]===1:!0},init_for_tool_data:function(){this.data_manager.set("data_type","raw_data"),this.data_query_wait=1e3,this.dataset_check_type="state"}});var S=function(a,b){Q.call(this,a,b,{resize:!1,header:!1}),this.container_div.addClass("label-track")};n(S.prototype,Q.prototype,{init:function(){this.enabled=!0},predraw_init:function(){},_draw:function(){for(var a=this.view,b=a.high-a.low,c=Math.floor(Math.pow(10,Math.floor(Math.log(b)/Math.log(10)))),e=Math.floor(a.low/c)*c,f=this.view.container.width(),g=$("
").addClass("label-container");e").addClass("pos-label").text(d.commatize(e)).css({left:h})),e+=c}this.content_div.children(":first").remove(),this.content_div.append(g)}});var T=function(b,c,d){if(R.call(this,b,c,d),this.drawables=[],"drawables"in d){for(var e,f=0;fthis.left_offset&&(this.left_offset=e.left_offset);this.enabled=!0}a.each(this.drawables,function(a){(a instanceof X||a instanceof Z)&&a.change_mode("Coverage")}),this.update_icons(),this.obj_type="CompositeTrack"};n(T.prototype,R.prototype,{display_modes:E,config_params:a.union(F.prototype.config_params,[{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),action_icons_def:[{name:"composite_icon",title:"Show individual tracks",css_class:"layers-stack",on_click_fn:function(a){$(".tooltip").remove(),a.show_group()}}].concat(R.prototype.action_icons_def),to_dict:G.prototype.to_dict,add_drawable:G.prototype.add_drawable,unpack_drawables:G.prototype.unpack_drawables,config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},on_resize:function(){var b=this.visible_height_px;a.each(this.drawables,function(a){a.visible_height_px=b}),Q.prototype.on_resize.call(this)},change_mode:function(a){R.prototype.change_mode.call(this,a);for(var b=0;be&&(e=f)}for(d=0;dthis.view.canvas_manager.char_width_px?(this.tiles_div.show(),d=!0,f=R.prototype.draw_helper.call(this,a,b,c)):(d=!1,this.tiles_div.hide()),e!==d&&this.view.resize_viewport(),f},can_subset:function(){return!0},draw_tile:function(a,b,c,d,e){var f=this.data_manager.subset_entry(a,d),g=f.data,h=b.canvas;b.font=b.canvas.manager.default_font,b.textAlign="center";for(var i=0,j=g.length;j>i;i++)b.fillStyle=this.view.get_base_color(g[i]),b.fillText(g[i],Math.floor(i*e),10);return new N(this,d,e,h,f)}});var V=function(a,b,c){this.mode="Histogram",R.call(this,a,b,c),this.left_offset=30;var d=this;$.when(m(Galaxy.root+"datasets/"+this.dataset.id+"/display")).then(function(a){a&&(d.data_manager=new k.BBIDataManager({dataset:d.dataset}))})};n(V.prototype,F.prototype,R.prototype,{display_modes:E,config_params:a.union(F.prototype.config_params,[{key:"color",label:"Color",type:"color"},{key:"min_value",label:"Min Value",type:"float",default_value:void 0},{key:"max_value",label:"Max Value",type:"float",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:30,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},before_draw:function(){},draw_tile:function(a,b,c,d,e){return this._draw_line_track_tile(a,b,c,d,e)},can_subset:function(a){return a.data[1][0]-a.data[0][0]===1},postdraw_actions:function(){this._add_yaxis_label("max"),this._add_yaxis_label("min")}});var W=function(a,b,c){this.mode="Heatmap",R.call(this,a,b,c)};n(W.prototype,F.prototype,R.prototype,{display_modes:["Heatmap"],config_params:a.union(F.prototype.config_params,[{key:"pos_color",label:"Positive Color",type:"color",default_value:"#FF8C00"},{key:"neg_color",label:"Negative Color",type:"color",default_value:"#4169E1"},{key:"min_value",label:"Min Value",type:"int",default_value:void 0},{key:"max_value",label:"Max Value",type:"int",default_value:void 0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:500,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},predraw_init:function(){var a=this;return $.getJSON(a.dataset.url(),{data_type:"data",stats:!0,chrom:a.view.chrom,low:0,high:a.view.max_high,hda_ldda:a.dataset.get("hda_ldda")},function(a){a.data})},draw_tile:function(a,b,c,d,e){var g=b.canvas,h=new f.DiagonalHeatmapPainter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c);return h.draw(b,g.width,g.height,e),new N(this,d,e,g,a.data)}});var X=function(a,b,c){R.call(this,a,b,c),this.container_div.addClass("feature-track"),this.summary_draw_height=30,this.slotters={},this.start_end_dct={},this.left_offset=200,this.set_painter_from_config()};n(X.prototype,F.prototype,R.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(F.prototype.config_params,[{key:"block_color",label:"Block color",type:"color"},{key:"reverse_strand_color",label:"Antisense strand color",type:"color"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0,help:"Show the number of items in each bin when drawing summary histogram"},{key:"min_value",label:"Histogram minimum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"connector_style",label:"Connector style",type:"select",default_value:"fishbones",options:[{label:"Line with arrows",value:"fishbone"},{label:"Arcs",value:"arcs"}]},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.set_painter_from_config(),this.request_draw({clear_tile_cache:!0})},set_painter_from_config:function(){this.painter="arcs"===this.config.get_value("connector_style")?f.ArcLinkedFeaturePainter:f.LinkedFeaturePainter},postdraw_actions:function(b,c,d,e){R.prototype.postdraw_actions.call(this,b,c,d,e);var f,g=this,h=a.filter(b,function(a){return a instanceof O});if(0===h.length){var i={};a.each(a.pluck(b,"incomplete_features"),function(b){a.each(b,function(a){i[a[0]]=a})});var j=this;a.each(b,function(b){var c=a.omit(i,a.map(b.incomplete_features,function(a){return a[0]}));if(c=a.omit(c,a.keys(b.other_tiles_features_drawn)),0!==a.size(c)){var d={data:a.values(c)},e=j.view.canvas_manager.new_canvas(),f=e.getContext("2d");e.height=Math.max(b.canvas.height,j.get_canvas_height(d,b.mode,b.w_scale,100)),e.width=b.canvas.width,f.drawImage(b.canvas,0,0),f.translate(g.left_offset,0);var h=j.draw_tile(d,f,b.mode,b.region,b.w_scale,b.seq_data);$(b.canvas).replaceWith($(h.canvas)),b.canvas=e,a.extend(b.other_tiles_features_drawn,i)}})}if(g.filters_manager){var k,l=g.filters_manager.filters;for(k=0;kt?"Squish":"Pack",mode},get_canvas_height:function(a,b,c,d){if("Coverage"===b||"bigwig"===a.dataset_type)return this.summary_draw_height;var e=this.incremental_slots(c,a.data,b),f=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return Math.max(this.min_height_px,f.get_required_height(e,d))},draw_tile:function(a,b,c,d,e,f,g){var h=this,i=b.canvas,j=d.get("start"),k=d.get("end"),l=this.left_offset;if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,c,d,e);var m=[],n=this.slotters[e].slots;if(all_slotted=!0,a.data)for(var o=this.filters_manager.filters,p=0,q=a.data.length;q>p;p++){for(var r,s=a.data[p],t=!1,u=0,v=o.length;v>u;u++)if(r=o[u],r.update_attrs(s),!r.keep(s)){t=!0;break}t||(m.push(s),s[0]in n||(all_slotted=!1))}var w=this.filters_manager.alpha_filter?new M(this.filters_manager.alpha_filter):null,x=this.filters_manager.height_filter?new M(this.filters_manager.height_filter):null,y=new this.painter(m,j,k,this.config.to_key_value_dict(),c,w,x,f,function(a){return h.view.get_base_color(a)}),z=null;if(b.fillStyle=this.config.get_value("block_color"),b.font=b.canvas.manager.default_font,b.textAlign="right",a.data){var A=y.draw(b,i.width,i.height,e,n);z=A.feature_mapper,incomplete_features=A.incomplete_features,z.translation=-l}return g?void 0:new P(h,d,e,i,a.data,c,a.message,all_slotted,z,incomplete_features,f)}});var Y=function(a,b,c){R.call(this,a,b,c),this.painter=f.VariantPainter,this.summary_draw_height=30,this.left_offset=30};n(Y.prototype,F.prototype,R.prototype,{display_modes:["Auto","Coverage","Dense","Squish","Pack"],config_params:a.union(F.prototype.config_params,[{key:"color",label:"Histogram color",type:"color"},{key:"show_sample_data",label:"Show sample data",type:"bool",default_value:!0},{key:"show_labels",label:"Show summary and sample labels",type:"bool",default_value:!0},{key:"summary_height",label:"Locus summary height",type:"float",default_value:20},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})},draw_tile:function(a,b,c,d,e){if("bigwig"===a.dataset_type)return this._draw_line_track_tile(a,b,"Histogram",d,e);var f=this.view,g=new this.painter(a.data,d.get("start"),d.get("end"),this.config.to_key_value_dict(),c,function(a){return f.get_base_color(a)});return g.draw(b,b.canvas.width,b.canvas.height,e),new N(this,d,e,b.canvas,a.data)},get_canvas_height:function(a,b){if("bigwig"===a.dataset_type)return this.summary_draw_height;var c=this.dataset.get_metadata("sample_names")?this.dataset.get_metadata("sample_names").length:0;0===c&&0!==a.data.length&&(c=a.data[0][7].match(/,/g),c=null===c?1:c.length+1);var d=new this.painter(null,null,null,this.config.to_key_value_dict(),b);return d.get_required_height(c)},predraw_init:function(){var a=[Q.prototype.predraw_init.call(this)];return this.dataset.get_metadata("sample_names")||a.push(this.dataset.fetch()),a},postdraw_actions:function(b,c,d,e){R.prototype.postdraw_actions.call(this,b,c,d,e);var f=a.filter(b,function(a){return a instanceof O}),g=this.dataset.get_metadata("sample_names");if(0===f.length&&this.config.get_value("show_labels")&&g&&g.length>1){var h;if(0===this.container_div.find(".yaxislabel.variant").length&&(h=this.config.get_value("summary_height")/2,this.tiles_div.prepend($("
").text("Summary").addClass("yaxislabel variant top").css({"font-size":h+"px",top:(this.config.get_value("summary_height")-h)/2+"px"})),this.config.get_value("show_sample_data"))){var i=g.join("
");this.tiles_div.prepend($("
").html(i).addClass("yaxislabel variant top sample").css({top:this.config.get_value("summary_height")}))}h=("Squish"===this.mode?5:10)+"px",$(this.tiles_div).find(".sample").css({"font-size":h,"line-height":h}),$(this.tiles_div).find(".yaxislabel").css("color",this.config.get_value("label_color"))}else this.container_div.find(".yaxislabel.variant").remove()}});var Z=function(a,b,c){X.call(this,a,b,c),this.painter=f.ReadPainter,this.update_icons()};n(Z.prototype,F.prototype,R.prototype,X.prototype,{config_params:a.union(F.prototype.config_params,[{key:"block_color",label:"Histogram color",type:"color"},{key:"detail_block_color",label:"Sense strand block color",type:"color",default_value:"#AAAAAA"},{key:"reverse_strand_color",label:"Antisense strand block color",type:"color",default_value:"#DDDDDD"},{key:"label_color",label:"Label color",type:"color",default_value:"black"},{key:"show_insertions",label:"Show insertions",type:"bool",default_value:!1},{key:"show_differences",label:"Show differences only",type:"bool",default_value:!0},{key:"show_counts",label:"Show summary counts",type:"bool",default_value:!0},{key:"mode",type:"string",default_value:this.mode,hidden:!0},{key:"min_value",label:"Histogram minimum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"max_value",label:"Histogram maximum",type:"float",default_value:void 0,help:"clear value to set automatically"},{key:"height",type:"int",default_value:0,hidden:!0}]),config_onchange:function(){this.set_name(this.config.get_value("name")),this.request_draw({clear_tile_cache:!0})}});var _={CompositeTrack:T,DrawableGroup:H,DiagonalHeatmapTrack:W,FeatureTrack:X,LineTrack:V,ReadTrack:Z,VariantTrack:Y,VcfTrack:Y},aa=function(a,b,c){if("copy"in a)return a.copy(c);var d=a.obj_type;return d||(d=a.track_type),new _[d](b,c,a)};return{TracksterView:I,DrawableGroup:H,LineTrack:V,FeatureTrack:X,DiagonalHeatmapTrack:W,ReadTrack:Z,VariantTrack:Y,CompositeTrack:T,object_from_template:aa}}); //# sourceMappingURL=../../../maps/viz/trackster/tracks.js.map \ No newline at end of file