1<!DOCTYPE HTML> 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17<html> 18 <!--base_panels.mako--> 19 20 21
21<script type="text/javascript"> 22 if ( window != top ) { 23 top.location.href = location.href; 24 } 25 </script>
25 26 27 <head> 28 <title>Galaxy / Cistrome / Cistrome</title> 29 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 30 <meta name = "viewport" content = "maximum-scale=1.0"> 31 <meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1"> 32 33 34 <link href="/ap/static/style/base.css?v=1780073495" media="screen" rel="stylesheet" type="text/css" /> 35<link href="/ap/static/style/jquery.rating.css?v=1780073495" media="screen" rel="stylesheet" type="text/css" /> 36 <style type="text/css"> 37 #center { 38 } 39 </style> 40 41 <link href="/ap/static/style/tool_menu.css?v=1780073495" media="screen" rel="stylesheet" type="text/css" /> 42 <style> 43 #right .unified-panel-body { 44 background: none repeat scroll 0 0 #DFE5F9; 45 overflow: auto; 46 padding: 0; 47 } 48 </style> 49 50 51 52 53 54 55
55<script src="/ap/static/scripts/libs/jquery/jquery.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 55
55
56<script src="/ap/static/scripts/libs/jquery/jquery.migrate.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 56
56
57<script src="/ap/static/scripts/libs/jquery/select2.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 57
57
58<script src="/ap/static/scripts/libs/bootstrap.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 58
58
59<script src="/ap/static/scripts/libs/underscore.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 59
59
60<script src="/ap/static/scripts/libs/backbone/backbone.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 60
60
61<script src="/ap/static/scripts/libs/handlebars.runtime.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 61
61
62<script src="/ap/static/scripts/galaxy.base.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 62
62
63<script src="/ap/static/scripts/libs/require.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 63
63
64<script src="/ap/static/scripts/mvc/ui.js?v=1780073495" type="text/javascript"></script>
64 65 66
66<script type="text/javascript"> 67 var galaxy_config = 68 { 69 root: '/ap/' 70 }; 71 72 if (window != window.top) 73 $('<link href="' + galaxy_config.root + 'static/style/galaxy.frame.masthead.css" rel="stylesheet">').appendTo('head'); 74 75 // start a Galaxy namespace for objects created 76 window.Galaxy = window.Galaxy || {}; 77 78 // console protection 79 window.console = window.console || { 80 log : function(){}, 81 debug : function(){}, 82 info : function(){}, 83 warn : function(){}, 84 error : function(){}, 85 assert : function(){} 86 }; 87 88 require.config({ 89 baseUrl: "/ap/static/scripts", 90 shim: { 91 "libs/underscore": { exports: "_" }, 92 "libs/backbone/backbone": { exports: "Backbone" } 93 } 94 }); 95 </script>
95 96 97 98 99
99<script src="/ap/static/scripts/templates/compiled/tool_link.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 99
99
100<script src="/ap/static/scripts/templates/compiled/panel_section.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 100
100
101<script src="/ap/static/scripts/templates/compiled/tool_search.js?v=1780073495" type="text/javascript"></script>
101 102
102<script src="/ap/static/scripts/libs/require.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 102
102
103<script src="/ap/static/scripts/galaxy.autocom_tagging.js?v=1780073495" type="text/javascript"></script>
103 104 105
105<script type="text/javascript"> 106 107 require.config({ 108 baseUrl: "/ap/static/scripts", 109 shim: { 110 "libs/underscore": { exports: "_" } 111 } 112 }); 113 114 require(["mvc/tools"], function(tools_mod) { 115 116 // Init. on document load. 117 $(function() { 118 }); 119 120 }); 121 </script>
121 122 123 124 </head> 125 126 127 128 <body scroll="no" class="full-content "> 129 <noscript> 130 <div class="overlay overlay-background"> 131 <div class="modal dialog-box" border="0"> 132 <div class="modal-header"><h3 class="title">Javascript Required</h3></div> 133 <div class="modal-body">The Galaxy analysis interface requires a browser with Javascript enabled. <br> Please enable Javascript and refresh this page</div> 134 </div> 135 </div> 136 </noscript> 137 <div id="everything" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;"> 138 <div id="background"></div> 139 <div id="masthead" class="navbar navbar-fixed-top navbar-inverse"> 140 141 142 143 144 145
145<script src="/ap/static/scripts/utils/localization.js?v=1780073495" type="text/javascript"></script>
145 146 147
147<script type="text/javascript"> 148 if( !window.Galaxy ){ 149 Galaxy = {}; 150 } 151 152 if (window != window.top){ 153 $('<link href="' + galaxy_config.root + 'static/style/galaxy.frame.masthead.css" rel="stylesheet">') 154 .appendTo('head'); 155 } 156 157 require([ 158 'galaxy.masthead', 'galaxy.menu', 'mvc/ui/ui-modal', 'galaxy.frame', 'mvc/upload/upload-view', 159 'mvc/user/user-model', 160 'mvc/user/user-quotameter' 161 ], function( mod_masthead, mod_menu, mod_modal, mod_frame, GalaxyUpload, user, quotameter ){ 162 $(function() { 163 if (Galaxy.masthead) 164 return; 165 166 var masthead_config = {"ftp_upload_site": "cistrome.dfci.harvard.edu", "mailing_lists": "http://wiki.galaxyproject.org/MailingLists", "nginx_upload_path": "/ap/api/tools", "terms_url": "", "wiki_url": "http://bitbucket.org/cistrome/cistrome-harvard/wiki", "support_url": "http://wiki.galaxyproject.org/Support", "remote_user_logout_href": null, "biostar_url_redirect": "http://cistrome.org/ap/biostar/biostar_redirect", "ftp_upload_dir": "/project/Cistrome/CistromeAP/ap_lib/ftp", "logo_url": "http://cistrome.org/ap/", "search_url": "http://galaxyproject.org/search/usegalaxy/", "screencasts_url": "http://vimeo.com/galaxyproject", "brand": "Cistrome", "lims_doc_url": "http://main.g2.bx.psu.edu/u/rkchak/p/sts", "active_view": "analysis", "citation_url": "https://bitbucket.org/cistrome/cistrome-harvard/wiki/Citations", "allow_user_creation": true, "is_admin_user": null, "biostar_url": null, "datatypes_disable_auto": false, "use_remote_user": false, "enable_cloud_launch": false, "user": {"requests": false, "valid": false, "email": "", "json": {"quota_percent": null, "nice_total_disk_usage": "0 bytes", "total_disk_usage": 0}}}; 167 168 Galaxy.masthead = new mod_masthead.GalaxyMasthead(masthead_config); 169 Galaxy.modal = new mod_modal.View(); 170 Galaxy.frame = new mod_frame.GalaxyFrame(); 171 172 Galaxy.menu = new mod_menu.GalaxyMenu({ 173 masthead: Galaxy.masthead, 174 config: masthead_config 175 }); 176 177 Galaxy.upload = new GalaxyUpload(masthead_config); 178 179 if( !Galaxy.currUser ){ 180 Galaxy.currUser = new user.User( 181{ 182 "quota_percent": null, 183 "nice_total_disk_usage": "0 bytes", 184 "total_disk_usage": 0 185}); 186 } 187 Galaxy.quotaMeter = new quotameter.UserQuotaMeter({ 188 model : Galaxy.currUser, 189 el : Galaxy.masthead.$('.quota-meter-container') 190 }).render(); 191 }); 192 }); 193 </script>
193 194 195 196 </div> 197 <div id="messagebox" class="panel-info-message"> 198 None 199 </div> 200 201 202 203 204 205 206 <div id="top-modal" class="modal fade " style='display: none;'> 207 <div id="top-modal-backdrop" class="modal-backdrop fade " style="z-index: -1"></div> 208 <div id="top-modal-dialog" class="modal-dialog"> 209 <div class="modal-content"> 210 <div class="modal-header"> 211 <button type='button' class='close' style="display: none;">×</button> 212 <h4 class='title'></h4> 213 </div> 214 <div class="modal-body"></div> 215 <div class="modal-footer"> 216 <div class="buttons" style="float: right;"></div> 217 <div class="extra_buttons" style=""></div> 218 <div style="clear: both;"></div> 219 </div> 220 </div> 221 </div> 222 </div> 223 224 <div id="left"> 225 226 <div class="unified-panel-header" unselectable="on"> 227 <div class='unified-panel-header-inner'> 228 Tools 229 </div> 230 </div> 231 <div class="unified-panel-body" style="overflow: auto"> 232 233 <div class="toolMenuContainer"> 234 235 <div class="toolMenu" style="display: none"> 236 <div id="search-no-results" style="display: none; padding-top: 5px"> 237 <em><strong>Search did not match any tools.</strong></em> 238 </div> 239 240 241 242 </div> 243 </div> 244 245 </div> 246 247 <div class="unified-panel-footer"> 248 <div class="panel-collapse"></div> 249 <div class="drag"></div> 250 </div> 251 </div><!--end left--> 252 <div id="center" class="inbound"> 253 254 255 256 257 <div style="position: absolute; width: 100%; height: 100%"> 258 <iframe name="galaxy_main" id="galaxy_main" frameborder="0" 259 style="position: absolute; width: 100%; height: 100%;" src="/ap/user/login"></iframe> 260 </div> 261 262 263 </div><!--end center--> 264 <div id="right"> 265 266 <div class="unified-panel-header" unselectable="on"> 267 <div class="unified-panel-header-inner"> 268 <div style="float: right"> 269 <a id="history-refresh-button" class='panel-header-button' href="javascript:void(0)" title="Refresh history"> 270 <span class="fa fa-refresh"></span> 271 </a> 272 <a id="history-options-button" class='panel-header-button' 273 href="/ap/root/history_options" target="galaxy_main" title="History options"> 274 <span class="fa fa-cog"></span> 275 </a> 276 </div> 277 <div class="panel-header-text">History</div> 278 </div> 279 </div> 280 <div class="unified-panel-body"> 281 <div id="current-history-panel" class="history-panel"></div> 282 283 284
285<script src="/ap/static/scripts/utils/localization.js?v=1780073495" type="text/javascript"></script>
285 286 287
288<script type="text/javascript"> 289 GalaxyLocalization.setLocalizedString( 290 {"View data": "View data", "Edit attributes": "Edit attributes", "hide deleted": "hide deleted", "Info: ": "Info: ", "Your history is empty. Click 'Get Data' on the left pane to start": "Your history is empty. Click 'Get Data' on the left pane to start", "You are currently viewing a deleted history!": "You are currently viewing a deleted history!", "No data: ": "No data: ", "refresh": "refresh", "database: ": "database: ", "collapse all": "collapse all", "Job is currently running": "Job is currently running", "Display Data": "Display Data", "Job is waiting to run": "Job is waiting to run", "hide hidden": "hide hidden", "Download": "Download", "Error: unknown dataset state": "Error: unknown dataset state", "Metadata is being Auto-Detected.": "Metadata is being Auto-Detected.", "View Details": "View Details", "format: ": "format: ", "Delete": "Delete"} 291 ); 292</script>
292 293 294
295<script type="text/javascript"> 296var //debugging = JSON.parse( sessionStorage.getItem( 'debugging' ) ) || false, 297 // use deferred to allow multiple callbacks (.done()) 298 onhistoryready = jQuery.Deferred(); 299 300require.config({ 301 baseUrl : "/ap/static/scripts" 302}); 303 304// requirejs optimizer: 305 //r.js -o baseUrl='/Users/carleberhard/galaxy/iframe-2-hpanel/static/scripts' // name=./mvc/history/history-panel.js out=history-panel.min.js 306//TODO: can't get either to work - historyPanel is undefined 307//require([ "history-panel.min" ], function( historyPanel ){ 308//require([ "/static/scripts/history-panel.min.js" ], function( historyPanel ){ 309 310require([ "mvc/history/history-panel" ], function( historyPanel ){ 311 $(function(){ 312 onhistoryready.resolve( historyPanel ) 313 }); 314}); 315</script>
315 316 317
318<script type="text/javascript"> 319require([ "mvc/history/current-history-panel" ], function( historyPanel ){ 320 $(function(){ 321 var currPanel = new historyPanel.CurrentHistoryPanel({ 322 // is page sending in show settings? if so override history's 323 show_deleted : null, 324 show_hidden : null, 325 el : $( "#current-history-panel" ), 326 linkTarget : 'galaxy_main', 327 onready : function loadAsCurrentHistoryPanel(){ 328 this.connectToQuotaMeter( Galaxy.quotaMeter ) 329 .connectToOptionsMenu( Galaxy.historyOptionsMenu ); 330 this.loadCurrentHistory(); 331 } 332 }); 333 Galaxy.currHistoryPanel = currPanel; 334 }); 335}); 336</script>
336 337 338
338<script type="text/javascript"> 339 $(function(){ 340 $( '#history-refresh-button' ).on( 'click', function(){ 341 if( top.Galaxy && top.Galaxy.currHistoryPanel ){ 342 top.Galaxy.currHistoryPanel.loadCurrentHistory(); 343 inside_galaxy_frameset = true; 344 } 345 }); 346 }); 347 </script>
347 348 </div> 349 350 <div class="unified-panel-footer"> 351 <div class="panel-collapse right"></div> 352 <div class="drag"></div> 353 </div> 354 </div><!--end right--> 355 </div><!--end everything--> 356 </body> 357 358 359 360
360<script src="/ap/static/scripts/libs/jquery/jquery.event.drag.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 360
360
361<script src="/ap/static/scripts/libs/jquery/jquery.event.hover.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 361
361
362<script src="/ap/static/scripts/libs/jquery/jquery.form.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 362
362
363<script src="/ap/static/scripts/libs/jquery/jquery.rating.js?v=1780073495" type="text/javascript"></script>
vendor: 1 bytes, line 363
363
364<script src="/ap/static/scripts/galaxy.panels.js?v=1780073495" type="text/javascript"></script>
364 365
365<script type="text/javascript"> 366 367 ensure_dd_helper(); 368 369 var lp = new Panel( { panel: $("#left"), center: $("#center"), drag: $("#left > .unified-panel-footer > .drag" ), toggle: $("#left > .unified-panel-footer > .panel-collapse" ) } ); 370 force_left_panel = function( x ) { lp.force_panel( x ) }; 371 372 var rp = new Panel( { panel: $("#right"), center: $("#center"), drag: $("#right > .unified-panel-footer > .drag" ), toggle: $("#right > .unified-panel-footer > .panel-collapse" ), right: true } ); 373 window.handle_minwidth_hint = function( x ) { rp.handle_minwidth_hint( x ) }; 374 force_right_panel = function( x ) { rp.force_panel( x ) }; 375 376 </script>
376 377
377<script type="text/javascript"> 378 var upload_form_error = function( msg ) { 379 var $galaxy_mainBody = $("iframe#galaxy_main").contents().find("body"), 380 $errMsg = $galaxy_mainBody.find( 'div.errormessage' ); 381 if ( !$errMsg.size() ){ 382 $errMsg = $( '<div/>' ).addClass( 'errormessage' ).prependTo( $galaxy_mainBody ); 383 } 384 $errMsg.text( msg ); 385 } 386 387 var uploads_in_progress = 0; 388 function decrementUploadsInProgress(){ 389 uploads_in_progress -= 1; 390 if( uploads_in_progress === 0 ){ 391 window.onbeforeunload = null; 392 } 393 } 394 jQuery( function() { 395 $("iframe#galaxy_main").load( function() { 396 $(this).contents().find("form").each( function() { 397 if ( $(this).find("input[galaxy-ajax-upload]").length > 0 ){ 398 var $form = $( this ); 399 400 $(this).submit( function( event ) { 401 // Only bother using a hidden iframe if there's a file (e.g. big data) upload 402 var file_upload = false; 403 $(this).find("input[galaxy-ajax-upload]").each( function() { 404 if ( $(this).val() != '' ) { 405 file_upload = true; 406 } 407 }); 408 if ( ! file_upload ) { 409 return true; 410 } 411 // Make a synchronous request to create the datasets first 412 var async_datasets; 413 var upload_error = false; 414 415 //NOTE: in order for upload.py to match the datasets created below, we'll move the js File 416 // object's name into the file_data field (not in the form only for what we send to 417 // upload_async_create) 418 var formData = $( this ).serializeArray(); 419 var name = function(){
420 var $fileInput = $form.find( 'input[name="files_0|file_data"]' ); 421 if( /msie/.test( navigator.userAgent.toLowerCase() ) ){ 422 return $fileInput.val().replace( 'C:\\fakepath\\', '' ); 423 } else { 424 return $fileInput.get( 0 ).files[0].name; 425 } 426 } 427 formData.push({ name: "files_0|file_data", value: name }); 428 429 $.ajax( { 430 async: false, 431 type: "POST", 432 url: "/ap/tool_runner/upload_async_create", 433 data: formData, 434 dataType: "json", 435 success: function(array_obj, status) { 436 if (array_obj.length > 0) { 437 if (array_obj[0] == 'error') { 438 upload_error = true; 439 upload_form_error(array_obj[1]); 440 } else { 441 async_datasets = array_obj.join(); 442 } 443 } else { 444 // ( gvk 1/22/10 ) FIXME: this block is never entered, so there may be a bug somewhere 445 // I've done some debugging like checking to see if array_obj is undefined, but have not 446 // tracked down the behavior that will result in this block being entered. I believe the 447 // intent was to have this block entered if the upload button is clicked on the upload 448 // form but no file was selected. 449 upload_error = true; 450 upload_form_error( 'No data was entered in the upload form. You may choose to upload a file, paste some data directly in the data box, or enter URL(s) to fetch data.' ); 451 } 452 } 453 } ); 454 455 // show the dataset we created above in the history panel 456 Galaxy && Galaxy.currHistoryPanel && Galaxy.currHistoryPanel.refreshHdas(); 457 458 if (upload_error == true) { 459 return false; 460 } else { 461 $(this).find("input[name=async_datasets]").val( async_datasets ); 462 $(this).append("<input type='hidden' name='ajax_upload' value='true'>"); 463 } 464 // iframe submit is required for nginx (otherwise the encoding is wrong) 465 $(this).ajaxSubmit({ 466 //iframe: true, 467 error: function( xhr, msg, status ){ 468 decrementUploadsInProgress(); 469 }, 470 success: function ( response, x, y, z ) { 471 decrementUploadsInProgress(); 472 } 473 }); 474 uploads_in_progress++; 475 window.onbeforeunload = function() { 476 return "Navigating away from the Galaxy analysis interface will interrupt the " 477 + "file upload(s) currently in progress. Do you really want to do this?"; 478 } 479 if ( $(this).find("input[name='folder_id']").val() != undefined ) { 480 var library_id = $(this).find("input[name='library_id']").val(); 481 var show_deleted = $(this).find("input[name='show_deleted']").val(); 482 if ( location.pathname.indexOf( 'admin' ) != -1 ) { 483 $("iframe#galaxy_main").attr("src","/ap/library_common/browse_library?cntrller=library_admin&id=" + library_id + "&created_ldda_ids=" + async_datasets + "&show_deleted=" + show_deleted); 484 } else { 485 $("iframe#galaxy_main").attr("src","/ap/library_common/browse_library?cntrller=library&id=" + library_id + "&created_ldda_ids=" + async_datasets + "&show_deleted=" + show_deleted); 486 } 487 } else { 488 $("iframe#galaxy_main").attr("src","/ap/tool_runner/upload_async_message"); 489 } 490 event.preventDefault(); 491 return false;
492 }); 493 } 494 }); 495 }); 496 }); 497 </script>
497 498 499 500 501
501<script type="text/javascript"> 502 // Set up GalaxyAsync object. 503 var galaxy_async = new GalaxyAsync(); 504 galaxy_async.set_func_url( galaxy_async.set_user_pref, 505 "/ap/user/set_user_pref_async"); 506 507 // set up history options menu 508 $(function(){ 509 // Init history options. 510 //$("#history-options-button").css( "position", "relative" ); 511 var popupmenu = PopupMenu.make_popupmenu( $("#history-options-button"), { 512 "History Lists": null, 513 "Saved Histories": function() { 514 galaxy_main.location = "/ap/history/list"; 515 }, 516 "Histories Shared with Me": function() { 517 galaxy_main.location = "/ap/history/list_shared"; 518 }, 519 "Current History": null, 520 "Create New": function() { 521 if( Galaxy && Galaxy.currHistoryPanel ){ 522 Galaxy.currHistoryPanel.createNewHistory(); 523 } 524 }, 525 "Copy History": function() { 526 galaxy_main.location = "/ap/history/copy"; 527 }, 528 "Copy Datasets": function() { 529 galaxy_main.location = "/ap/dataset/copy_datasets"; 530 }, 531 "Share or Publish": function() { 532 galaxy_main.location = "/ap/history/sharing"; 533 }, 534 "Extract Workflow": function() { 535 galaxy_main.location = "/ap/workflow/build_from_current_history"; 536 }, 537 "Dataset Security": function() { 538 galaxy_main.location = "/ap/root/history_set_default_permissions"; 539 }, 540 "Resume Paused Jobs": function() { 541 galaxy_main.location = "/ap/history/resume_paused_jobs?current=True"; 542 }, 543 "Collapse Expanded Datasets": function() { 544 if( Galaxy && Galaxy.currHistoryPanel ){ 545 Galaxy.currHistoryPanel.collapseAllHdaBodies(); 546 } 547 }, 548 "Include Deleted Datasets": function( clickEvent, thisMenuOption ) { 549 if( Galaxy && Galaxy.currHistoryPanel ){ 550 thisMenuOption.checked = Galaxy.currHistoryPanel.toggleShowDeleted(); 551 } 552 }, 553 "Include Hidden Datasets": function( clickEvent, thisMenuOption ) { 554 if( Galaxy && Galaxy.currHistoryPanel ){ 555 thisMenuOption.checked = Galaxy.currHistoryPanel.toggleShowHidden(); 556 } 557 }, 558 "Unhide Hidden Datasets": function() { 559 if ( confirm( "Really unhide all hidden datasets?" ) ) { 560 galaxy_main.location = "/ap/history/unhide_datasets?current=True"; 561 } 562 }, 563 "Delete Hidden Datasets": function() { 564 if ( confirm( "Really delete all hidden datasets?" ) ) { 565 galaxy_main.location = "/ap/history/delete_hidden_datasets"; 566 } 567 }, 568 "Purge Deleted Datasets": function() { 569 if ( confirm( "Really delete all deleted datasets permanently? This cannot be undone." ) ) { 570 galaxy_main.location = "/ap/history/purge_deleted_datasets"; 571 } 572 }, 573 "Show Structure": function() { 574 galaxy_main.location = "/ap/history/display_structured"; 575 }, 576 "Export to File": function() { 577 galaxy_main.location = "/ap/history/export_archive"; 578 }, 579 "Delete": function() { 580 if ( confirm( "Really delete the current history?" ) ) { 581 galaxy_main.location = "/ap/history/delete_current"; 582 } 583 }, 584 "Delete Permanently": function() { 585 if ( confirm( "Really delete the current history permanently? This cannot be undone." ) ) { 586 galaxy_main.location = "/ap/history/delete_current?purge=True"; 587 } 588 }, 589 "Other Actions": null, 590 "Import from File": function() { 591 galaxy_main.location = "/ap/history/import_archive"; 592 } 593 }); 594 Galaxy.historyOptionsMenu = popupmenu; 595 596 // Fix iFrame scrolling on iOS 597 if( navigator.userAgent.match( /(iPhone|iPod|iPad)/i ) ) { 598 $("iframe").parent().css( { 599 "overflow": "scroll", 600 "-webkit-overflow-scrolling": "touch" 601 }) 602 } 603 604 }); 605 </script>
605 606 607</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.