galaxy-dev
Threads by month
- ----- 2026 -----
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- 10009 discussions
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/be8f54671d56
changeset: 3240:be8f54671d56
user: Anton Nekrutenko <anton(a)bx.psu.edu>
date: Thu Jan 14 14:07:05 2010 -0500
description:
Modification of pileup filter behavior, bases not different from the references are included in the report as well. Also changed the image for closing screencast panels. A new icon is urgently needed.
diffstat:
static/scripts/galaxy.panels.js | 2 +-
static/welcome.html | 158 ++-
test-data/pileup_parser.10col.20-3-yes-yes.pileup.out | 162 +-
test-data/pileup_parser.6col.20-3-no-no.pileup.out | 1174 ++++++++--------
test-data/pileup_parser.6col.20-3-yes-no.pileup.out | 2 +-
test-data/pileup_parser.6col.20-3-yes-yes.pileup.out | 2 +-
tools/samtools/pileup_parser.pl | 4 +-
tools/samtools/pileup_parser.xml | 6 +-
8 files changed, 822 insertions(+), 688 deletions(-)
diffs (1586 lines):
diff -r 517bd810a6b2 -r be8f54671d56 static/scripts/galaxy.panels.js
--- a/static/scripts/galaxy.panels.js Thu Jan 14 11:26:08 2010 -0500
+++ b/static/scripts/galaxy.panels.js Thu Jan 14 14:07:05 2010 -0500
@@ -210,7 +210,7 @@
hide_modal();
$("#overlay-background").unbind( "click.overlay" );
});
- show_modal( null, $("<div style='margin: -5px;'><img id='close_button' style='position:absolute;right:3px;top:3px;' src='../images/icon_error_sml.gif'><iframe style='margin: 0; padding: 0;' src='" + options.url + "' width='" + width + "' height='" + height + "' scrolling='" + scroll + "' frameborder='0'></iframe></div>" ) );
+ show_modal( null, $("<div style='margin: -5px;'><img id='close_button' style='position:absolute;right:-12px;top:-12px;' src='../images/delete_icon.png'><iframe style='margin: 0; padding: 0;' src='" + options.url + "' width='" + width + "' height='" + height + "' scrolling='" + scroll + "' frameborder='0'></iframe></div>" ) );
$("#close_button").bind( "click", function() { hide_modal() } );
}
diff -r 517bd810a6b2 -r be8f54671d56 static/welcome.html
--- a/static/welcome.html Thu Jan 14 11:26:08 2010 -0500
+++ b/static/welcome.html Thu Jan 14 14:07:05 2010 -0500
@@ -2,20 +2,152 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <link rel="stylesheet" href="style/base.css" type="text/css" />
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.3.9: http://docutils.sourceforge.net/" />
+<link rel="stylesheet" href="style/base.css" type="text/css" />
+<style type="text/css">
+
+ .quickie {
+ text-align: center;
+ background: black;
+ margin: 10px;
+ }
+
+ .current-quickie {
+ width: 300px;
+ background: white;
+ margin: auto;
+ }
+
+ .current-quickie img {
+ padding: 15px;
+ border: 1px solid #ccc;
+ margin: auto;
+ background-color: white;
+ -moz-border-radius:4px;
+ -webkit-border-radius:4px;
+
+ }
+
+ .previous {
+ width: 100%;
+ overflow: auto;
+ border: solid #ccc 1px;
+ -moz-border-radius:4px;
+ -webkit-border-radius:4px;
+
+ }
+ .previous .quickie {
+ padding-top: 10px;
+ min-height: 90px;
+ min-width: 150px;
+ }
+ #screencasts {
+ max-width: 50em;
+ margin-left: auto;
+ margin-right: auto;
+ }
+
+</style>
+<script type="text/javascript" src="http://galaxy.psu.edu/welcome_img/jquery.min.js"></script>
+<script type="text/javascript" src="http://galaxy.psu.edu/welcome_img/jquery.cycle.all.2.72.js"></script>
+<script type="text/javascript">
+
+$(document).ready(function() {
+ $('.current-quickie').cycle({
+ fx: 'fade',
+ pause: 1,
+ speed: 100
+ });
+});
+</script>
</head>
<body>
- <div class="document">
- <div class="warningmessagelarge">
- <strong>Hello world! It's running...</strong>
- <hr>
- To customize this page edit <code>static/welcome.html</code>
- </div>
- <br/>
- <img src="images/noodles.png" alt="WWFSMD?" style="display: block; margin-left: auto; margin-right: auto;" />
- <hr/>
- This project is supported in part by <a target="_blank" class="reference" href="http://www.nsf.gov">NSF</a>, <a target="_blank" class="reference" href="http://www.genome.gov">NHGRI</a>, and <a target="_blank" class="reference" href="http://www.huck.psu.edu">the Huck Institutes of the Life Sciences</a>.
- </div>
+<div class="document">
+<h3 align="center">Galaxy in 2010...</h3>
+<div align="center" class="current-quickie">
+ <a target="_blank" href="http://galaxy.psu.edu/dev2010/"><img src="http://galaxy.psu.edu/welcome_img/welcome_images.001.png" width="300" height="200"/></a>
+ <a target="_blank" href="http://www.iscb.org/ismb2010"><img src="http://galaxy.psu.edu/welcome_img/welcome_images.002.png" width="300" height="200" /></a>
+ <img src="http://galaxy.psu.edu/welcome_img/welcome_images.003.png" width="300" height="200" />
+ <img src="http://galaxy.psu.edu/welcome_img/welcome_images.004.png" width="300" height="200" />
+ <a target="_blank" href="http://main.g2.bx.psu.edu/u/aun1/p/windshield-splatter"><img src="http://galaxy.psu.edu/welcome_img/welcome_images.005.png" width="300" height="200" /></a>
+</div>
+<br>
+<hr>
+
+<h3 align="center">Galaxy Quickies</h3>
+
+<div class="previous" id="previous">
+ <table border="0" cellpadding="0" cellspacing="0" width="100%">
+ <tr>
+ <td>
+ <a href="javascript:parent.show_in_overlay({url:'http://screencast.g2.bx.psu.edu/galaxy/quickie1_TabSeq/flow.html',width:640,height:480,scroll:'no'})">
+ <div class="quickie">
+ <img src="images/qk/quickie1_small.png" border="0">
+ </div>
+ </a>
+ </td>
+ <td>
+ <a href="javascript:parent.show_in_overlay({url:'http://screencast.g2.bx.psu.edu/galaxy/quickie2_Grouping/flow.html',width:640,height:480,scroll:'no'})">
+ <div class="quickie">
+ <img src="images/qk/quickie2_small.png" border="0">
+ </div>
+ </a>
+ </td>
+ <td>
+ <a href="javascript:parent.show_in_overlay({url:'http://screencast.g2.bx.psu.edu/galaxy/quickie3_Intervals/flow.html',width:640,height:480,scroll:'no'})">
+ <div class="quickie">
+ <img src="images/qk/quickie3_small.png" border="0">
+ </div>
+ </a>
+ </td>
+ <td>
+ <a href="javascript:parent.show_in_overlay({url:'http://screencast.g2.bx.psu.edu/galaxy/quickie4_whatsNew/flow.html',width:640,height:480,scroll:'no'})">
+ <div class="quickie">
+ <img src="images/qk/quickie4_small.png" border="0">
+ </div>
+ </a>
+ </td>
+ <td>
+ <a href="javascript:parent.show_in_overlay({url:'http://screencast.g2.bx.psu.edu/galaxy/quickie5_join/flow.html',width:640,height:480,scroll:'no'})">
+ <div class="quickie">
+ <img src="images/qk/quickie5_small.png" border="0">
+ </div>
+ </a>
+ </td>
+ <td>
+ <a href="javascript:parent.show_in_overlay({url:'http://screencast.g2.bx.psu.edu/galaxy/quickie6_share/flow.html',width:640,height:480,scroll:'no'})">
+ <div class="quickie">
+ <img src="images/qk/quickie6_small.png" border="0">
+ </div>
+ </a>
+ </td>
+ <td>
+ <a href="javascript:parent.show_in_overlay({url:'http://screencast.g2.bx.psu.edu/galaxy/quickie7_sr_beta/flow.html',width:640,height:480,scroll:'no'})">
+ <div class="quickie">
+ <img src="images/qk/quickie7_small.png" border="0">
+ </div>
+ </a>
+ </td>
+ </tr>
+ </table>
+</div>
+
+<script type="text/javascript">
+ // Scroll to last quickie in box
+ document.getElementById("previous").scrollLeft = 100000000;
+</script>
+
+<br/>
+<br/>
+<br/>
+<hr/>
+
+<p><a target="_blank" class="reference" href="http://g2.trac.bx.psu.edu/wiki/GalaxyTeam">The Galaxy team</a> is a part of <a target="_blank" class="reference" href="http://www.bx.psu.edu">BX</a> at <a target="_blank" class="reference" href="http://www.psu.edu">Penn State</a>.</p>
+
+This project is supported in part by <a target="_blank" class="reference" href="http://www.nsf.gov">NSF</a>, <a target="_blank" class="reference" href="http://www.genome.gov">NHGRI</a>, and <a target="_blank" class="reference" href="http://www.huck.psu.edu">the Huck Institutes of the Life Sciences</a>.
+<p><small>Galaxy build: <b>$Rev 1733:a4214de3752e$</b></small></p>
+</div>
+</div>
</body>
</html>
diff -r 517bd810a6b2 -r be8f54671d56 test-data/pileup_parser.10col.20-3-yes-yes.pileup.out
--- a/test-data/pileup_parser.10col.20-3-yes-yes.pileup.out Thu Jan 14 11:26:08 2010 -0500
+++ b/test-data/pileup_parser.10col.20-3-yes-yes.pileup.out Thu Jan 14 14:07:05 2010 -0500
@@ -1,86 +1,86 @@
-chrM 13 14 A A 56 0 25 18 .......G.........^:. BIIIIIII+IIIIIIIII 0 0 1 0 17
-chrM 18 19 T T 55 0 25 20 ..................GG IIIIIIIIIIIIIIIIII'A 0 0 1 0 19
-chrM 35 36 A A 103 0 25 30 .$..N...G.....C...............^:. 7:>"EIIIEI5><$C7B?B=IIIIIIIIII 0 0 1 0 28
-chrM 58 59 A A 50 0 24 16 ...............C IB20III:<DIII#II 0 1 0 0 13
-chrM 59 60 C C 50 0 24 16 .$.............A. I?>=IIIIIIIIIIBI 1 0 0 0 16
+chrM 13 14 A A 56 0 25 18 .......G.........^:. BIIIIIII+IIIIIIIII 16 0 1 0 17
+chrM 18 19 T T 55 0 25 20 ..................GG IIIIIIIIIIIIIIIIII'A 0 0 1 18 19
+chrM 35 36 A A 103 0 25 30 .$..N...G.....C...............^:. 7:>"EIIIEI5><$C7B?B=IIIIIIIIII 27 0 1 0 28
+chrM 58 59 A A 50 0 24 16 ...............C IB20III:<DIII#II 12 1 0 0 13
+chrM 59 60 C C 50 0 24 16 .$.............A. I?>=IIIIIIIIIIBI 1 15 0 0 16
chrM 157 158 A G 117 117 19 62 GGGGGGGGGGGGGGGGGGGNNNGGGGGG.GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGg^:g II6IIII<4I+IIIIIIII"""IIIIII$IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII> 0 0 56 0 56
-chrM 170 171 T T 141 0 21 46 .$.$.$.$.$.....................................,,.^:G IIIII=>IIIIIIIIIIIIIIDDII7IGIIIIIHIIIIIIIIIBI8 0 0 1 0 46
-chrM 172 173 A A 130 0 20 42 .$.$...C...............................,,... 914HG841?IA0III:IB@>;@FIIIIIIIEIIBII;IIIII 0 1 0 0 37
-chrM 173 174 A A 122 0 21 40 .$.$..........C......................,,... ?DCI?@I7C5I*I9C9IIIE?C>::I8IIIIIIIIIIIII 0 1 0 0 39
-chrM 187 188 A A 36 0 21 13 G$.$.$....,,.... II5II5,IIIIII 0 0 1 0 12
-chrM 195 196 T T 17 0 19 5 G.... <IIII 0 0 1 0 5
-chrM 284 285 G G 34 0 15 11 ....T....^!.^!. IIIIIIIIIII 0 0 0 1 11
-chrM 285 286 T T 33 0 15 11 ..C..N.A... AI&II"II(II 1 0 0 0 8
-chrM 303 304 G G 41 0 18 13 ...A....,.,., IIIIIIIIIIII* 1 0 0 0 12
-chrM 310 311 T T 41 0 18 13 .$...C...,.,., IIIIIIIIIIII* 0 1 0 0 12
-chrM 347 348 T T 4 0 20 3 ,$.$A IIA 1 0 0 0 3
-chrM 354 355 A C 14 36 25 4 .ccc IIII 0 3 0 0 4
+chrM 170 171 T T 141 0 21 46 .$.$.$.$.$.....................................,,.^:G IIIII=>IIIIIIIIIIIIIIDDII7IGIIIIIHIIIIIIIIIBI8 0 0 1 45 46
+chrM 172 173 A A 130 0 20 42 .$.$...C...............................,,... 914HG841?IA0III:IB@>;@FIIIIIIIEIIBII;IIIII 36 1 0 0 37
+chrM 173 174 A A 122 0 21 40 .$.$..........C......................,,... ?DCI?@I7C5I*I9C9IIIE?C>::I8IIIIIIIIIIIII 38 1 0 0 39
+chrM 187 188 A A 36 0 21 13 G$.$.$....,,.... II5II5,IIIIII 11 0 1 0 12
+chrM 195 196 T T 17 0 19 5 G.... <IIII 0 0 1 4 5
+chrM 284 285 G G 34 0 15 11 ....T....^!.^!. IIIIIIIIIII 0 0 10 1 11
+chrM 285 286 T T 33 0 15 11 ..C..N.A... AI&II"II(II 1 0 0 7 8
+chrM 303 304 G G 41 0 18 13 ...A....,.,., IIIIIIIIIIII* 1 0 11 0 12
+chrM 310 311 T T 41 0 18 13 .$...C...,.,., IIIIIIIIIIII* 0 1 0 11 12
+chrM 347 348 T T 4 0 20 3 ,$.$A IIA 1 0 0 2 3
+chrM 354 355 A C 14 36 25 4 .ccc IIII 1 3 0 0 4
chrM 355 356 T C 39 39 25 4 Cccc IIII 0 4 0 0 4
chrM 380 381 C T 77 108 25 28 tttttttTttttgttttttttttt^:t^:t^:t^:t IIIIIIIIIIII&I7CI>BCA296+IA1 0 0 0 24 24
-chrM 383 384 A A 76 0 25 30 ,,,,,,,.,c,,g,,,,,,,g,,,,,,g,. IIIIIIIIIIII$IIIIIII$IIIIF,4II 0 1 0 0 26
+chrM 383 384 A A 76 0 25 30 ,,,,,,,.,c,,g,,,,,,,g,,,,,,g,. IIIIIIIIIIII$IIIIIII$IIIIF,4II 25 1 0 0 26
chrM 385 386 A G 88 120 25 32 gggggggGggnggggggggggggggggggGgg III>IIIIII"I&IIIIIIIIIIII?IIDI94 0 0 29 0 29
chrM 414 415 C T 75 75 25 16 t$t$tttttTttttTTTT IIIIIII>II93IIII 0 0 0 15 15
-chrM 464 465 C C 169 0 25 65 ,.............,,.....A.,......,..............,,,..........,a...,^:A IIIIBI>H1IIIIB$)IIIII$IIIIIIIIII0IIIII6IIIIIIHIIIIIIIIIIIII&IIICI 1 0 0 0 59
-chrM 468 469 T T 207 0 25 66 .$.$.$.........,,.......,......,..............,n,..........,,...,G... III>I44EIIICI@IIEDC$IBIIII(IIIIDIIII@IIIIII1"0IIII%IIIIII1III7IIII 0 0 1 0 57
-chrM 471 472 C C 187 0 25 72 .$.$.....,t.......,....A.,..............,a,..........,a...,A.......,,^:.^:.^:.^:.^:. I@IIIIII&IIIFG6IIIIII$IIIIIIIII$IIFIIII:IIIIIIIIIIII%IIII,IIIIII/I-IIIII 1 0 0 0 65
-chrM 490 491 C C 212 0 23 79 ..n,,....A.....,,...,........t,.....,....,..........,....,.,,...,.....,,..,.,., II"IIIIII&II:IIIIIIII(II@HIII;IIIIIIIIIIIIIIIIII?IIIIIIIIIIFIIIIIIIIIII+IIII3II 0 0 0 1 74
-chrM 506 507 A A 150 0 21 76 .$.$.$.$C$,....,..........c....,.,,...,.....,,..,.,.,,,,...,,,..,,....,,.,....^:.^:,^:, /I:3&I33.;I,./<G=I?IIIAIIIIIIIDI*IIIIIIIIIIIHDIIIIIIII=DIIIICIIII@IIIIII(I@6 0 1 0 0 65
-chrM 510 511 C C 213 0 21 72 .$.$.$....,....,.,,...,.....,,..,.,.,,,,...,,,..,,....,,.,...A.,,..,,,,,,,^:, III@/IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIGHIIIIIICIIEII6II/562I 1 0 0 0 69
-chrM 526 527 A A 164 0 22 58 ,,,...,,,..,,....,,.,.....,,..,,,,,,,,,..,,,..C,,,,,.,,,,, III3I=III;/II7I24II3I'II9IIIFIIIIIIIIIIIIIIIIIIIIIIIIIIIII 0 1 0 0 52
-chrM 527 528 A A 164 0 22 58 g$,$,...,,,..,,....,,.,.....,,..,,,,,,,,,..,,,...,,,,,.,,,,, IIIF$9IIIIIII0A6(II4I+FI%:II4=IIIII'IIIIIIIIIIIIIIII3IIIII 0 0 1 0 49
-chrM 536 537 A A 138 0 23 49 .c,.,.....,,..,,,,,,,,,..,,,...,,,,,.,,,,,.,,,,,, 7II+I$0I8III/@IIIIIIIIIIIIIIIIIIIIIIIIIIIIII4I46I 0 1 0 0 43
-chrM 557 558 T T 83 0 23 27 ,$,$,$.,,,,,.,,,,,,.,.,....G.^:. III+IIIIIII>IHDIG4I4IIIIIII 0 0 1 0 24
-chrM 606 607 G G 105 0 24 43 ..............,....T..T..................^:.^!, BI-&*1&6IIIGIIII%;9I.;>IIIIIIIIIIIIIIIIIII3 0 0 0 2 35
-chrM 618 619 T T 117 0 24 48 ,.........C..C..............,...........N..,...^:. I2&-+)(4I+>CI$&I15@IIIIIIIII,IIIIIIIIIII"II5IIII 0 1 0 0 35
-chrM 627 628 G G 108 0 22 57 .$...........A........,..............,................A^!.^!.^:. 5GI<=4;>G=I<%IIIIII.IIII'IIIIIIII$IIIIIIIIIIIIIIIIIIIIIII 1 0 0 0 52
-chrM 659 660 C C 166 0 19 58 .$.$.............,...n,.,,......,......................a,... /CII>9@II277IIII9II"IIIIIIFIIIIIIBIIIIIIIIIIIIIIII$II7IIII 1 0 0 0 54
-chrM 668 669 C C 135 0 19 42 .$,$,$......,.....................Ga,......,^:. IIIIIII@IIFI@IIIIIIIII;IIIIHIII56IIIIIIIAI 1 0 1 0 42
-chrM 713 714 A A 127 0 23 96 ...,..C.....................,......................,............................C...........^:.^:.^:.^:. 67'II>(IIIAFI<IIIII?I$EI>GAGII4III8IIDIIIDIIIFIIIIG$IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 0 1 0 0 91
-chrM 719 720 T T 130 0 24 96 .....C...........,...C.....G............,............G....................A...................^:.^:. D?76/$I'@'<,I7;I<I5GI'H+B.3%;=<3II1CGIIB@FII8@II0II4II$IIIII537IIIIIIIIIII#IIIIIIIII=III$IIIIIII 0 0 1 0 78
-chrM 736 737 A A 98 0 24 98 .$.$.$..............................C................T.......................C..................^:.^:.^:.^:.^:. AI709I4I>IDII.7IIC+938AEC5?IDIC5I*IIII7I21?5B1AIII#IIIIIIIIIIAIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 0 1 0 0 88
-chrM 747 748 A A 97 0 25 86 .$.$C$.$.$.$.$.$.$.........................................................................^:.^:.^:.^:. ?DIIIII<I8I@>B2IIFB%IIIIIIHIII;4III3IIIEEIIIIIIIIIIIIIIIIIIIIIIIIII$IIIIIIIIIIII@IIIII 0 1 0 0 81
-chrM 749 750 A A 93 0 25 77 .$.$............................C......C......................................^:. I2GII,II%@IAIIIII9IIIIIIIIIDII>I>II=IIIIIIIIIIIIIIIIIIIIIIIII8IIIII.IIIIIIIII 0 2 0 0 73
-chrM 759 760 T T 106 0 25 86 A$.....A..............G........................A........G........................^:.^:.^:.^:.^:.^:. #6<EF9$330.II4*;EII7+$I;II:3IICB4073I6;IEIIII5+II@IIIII:I+IIIIIIIIIIIIIIIIIIIIIIIIIIII 0 0 1 0 70
-chrM 762 763 A A 99 0 25 83 N........................................................................C......... "IC:6,1III=CIIIIB6GIII7G<DI>IIIIII8IIII$IHIII=I&IIIIIIIIIIIIIIIIIIIIIIII39IIIIIIIII 0 1 0 0 77
-chrM 763 764 G G 107 0 25 86 .$.$.$.$.$.$.$.$T$.....NN......................................AN...........................^:.^:.^:. 9I9I@8I4-I7IC&""=&=I+II=>I>IIIIIIIIIIIII@IIII+IIIIIIIII"II%IIIII@IIIIIIIIIIIIIIIIIIIII 1 0 0 0 76
-chrM 764 765 G G 88 0 25 77 .$.$.$.$.$.T..T.T............................................N.................... :,I;&I7D.%I'III<HD7IIIII*CIIIIIIIIII%IIIIIIIIIIIIIIIHIII"IIIIIIIIIIIIIIIIIIII 0 0 0 1 69
-chrM 767 768 T T 102 0 25 71 .$.$................................A.................................... &IBGII@5ICF>0?BII2IIIIII@+II;IEIII7I,III8IIIIIIIIIIIE@IIIIIIII8IIIIIIII 1 0 0 0 66
-chrM 777 778 G G 108 0 25 63 .$.$...T.....C......T...................T.......................^:. AG(II$IIIII&6BIII:'IIIII9IIIII=IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 0 0 0 1 59
-chrM 784 785 A A 99 0 25 63 .$.........................................................C...^:. II/+III%I.4IE:6..;8+I$B@II2IIIIDI@0IIIEGIFIIIIIIIIIIIIIIIICIIII 0 1 0 0 52
-chrM 790 791 G G 155 0 25 60 .......T.............................................,..,.^:T^:, 7III5II$IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII%4II/ 0 0 0 1 56
-chrM 794 795 T T 212 0 25 74 .$.$.$.$.$.$...A....................................N.,..,..,.,,,,,,,.,,,^:.^:,^:,^!.^:.^:,^:, II$IIIIII9I9@IIDIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII*IB$I#%#II$2$II:II4I 1 0 0 0 63
-chrM 807 808 C C 226 0 22 132 .$..............NN........N,..,..,.,,,,,,,.,aa.,,..,,a,,,.....,..,,.,.,,,.,,,.,,,,....,.,,,..a.,,,,,N..,.,..,.....,...,.....^:,^:,^:,^!.^!.^:,^!.^!.^:, IIIII;AIIIIIII.""I?IIIIII"=IIIII%II$I'I+II$)7I=IGIII%;IIIIIIIIIIAIIII=IIIII+I43IIIIIIII%IIII/IIII5;"IIII1IIIIIIII7III/IIIIID46II4II: 1 0 0 0 111
-chrM 808 809 T T 242 0 22 134 .$.......................N,..,..,.,,,g,,,.,,,.,,..,,,,,,.....,..,,.,.,,n.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,C..,.....,,,..,..,^:,^:,^!. IIIIII:IIIIIII01II8I1'II"EI,III3IIII&I$II(.(IIFIIIIII+IIIIIIIII1,IIIBI"III5I34ICIIIIII/IIII?IICC53IIIHII>I2IIIIII:IIIIIIII91III1II5I4I 0 1 0 0 110
-chrM 809 810 A A 243 0 22 144 .$.$......................,.C,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,C,.,,,.,,,.,,g,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.^:,^:.^:g^:,^:,^:,^!N^!N^:,^:,^:, HIII28IIIGII;III*I,II>IB62$2IIDDIIIIIIII&IIIIIIIIIIIIIII*IIIIIII$IIIII>IIIIIIIIIIIIII#IIIIIIIIIIIIIIIII>IIIIIHEI.IIIIIIIIIIIIIIIIIIII(I#III""GI9 0 0 1 0 129
-chrM 814 815 C C 246 0 22 160 .$.$..............,..,..,.,,,,,,,.,,a.,,..,,,,,,.....,..,,.,.,,t.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,,,,..,,,...,,,,,a....,,....,a^:.^:.^:, IIIIIIIIIIIIII:IIIIIII8IHIII$III*6=IIIIIII@I*IIIEI8IIIIIIIIII-IIIII:IIIIIIIII$IIII<IIIIIIIIIII2IIIIIIICIEIIIIIIII/I2IIIIIAIII*I#I2$IIII*III8C5$9$IIII9/IIII<&II8 1 0 0 0 143
-chrM 815 816 A A 255 0 22 169 ..............,.C,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,,,,..,,,.NN,,,g,,....,,....,,..,^:,^:,^:.^:,^:,^:.^:.^:,^:,^:,^!. IHEF8II?+GI:I@I7%IIIIAIIII+IIA'II>II@IIIIIII3IIIII/III7IIIII5IIIIIIIIIIIIII+IIIIIIIIIIIIIIIAI6IIIIII;I8IIIIIIIIIIFIIIIIIIIIIIIIIIIIIIII""IIIAIIIIIIIIIIIIIIIIIIIIIIIIIIII 0 0 1 0 160
-chrM 816 817 A A 254 0 22 171 .$.C.......T..Nn..,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,.,.,n,N,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,.^:.^!. IDIII?9=<0$I2"":I*III1IIIIIIII.I@FII5IIIIIIII322+IIIII3III"I"IIIGIIII2>IIIIIIIIIIIIIIIIIF4IIIIIIIII)-I>IIIIII>IIIIIIIIIIIIIIIIIIIIIII6IIIIII$IIIIIII?IIIIIIIIIIIIIIIIIIIIII 0 1 0 0 151
-chrM 819 820 A A 255 0 22 183 .$.......,..,..,.,,,,,,,.,,,.,,..,,,,,,....C,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,..,...C.,...t.....,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.g,..,,,...,g.,..,,,..^!.^:.^:.^:.^:,^:,^:, I3/I+:DII7&I&I*<III$$(II;II@II2IIIIIIIIIII&IIIIE2IHIII)IIIDIIIIDCI>/BIHIIIIIIIIIIII'III6IGIII+7IIII@IIIIIIEIIIDIIFI9IIIIII9II1,+III.I(83IIIII4GIIIIIIIIIIBI,BIIIIIIIII$IIII<5@IIIIIII9I 0 0 0 1 158
-chrM 822 823 T T 252 0 22 192 .$,$..,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,.,.,,,.,,,.,,,,....,.,c,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,n,,..,,,...,,,g,,....,,....,,..,,,.,,..,,,...,,.,..,,,......,,,,.,,,.,^:.^!.^:,^:,^:,^:,^:,^:,^:, IIIIIII79I0IIIIII$&>IIIEIIIIIAIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIEII$IIIIEEIIIIIIII4IIIIIIII'IIIIIIII(;III;IICI@I+II"<CII>=/III6:B#0IIIII0FIIIIDIII5E6I@8IIIIGIII9II=II.$)IIIIII9>0:I59BIIII/E2?BA/ 0 1 0 0 172
-chrM 825 826 A A 255 0 22 198 .$,$.,,,,,,,.,,,.,,..,c,,,,....C,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,C.,.....,...,.....,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,...,,.,..,,,......,,,,.,,,.g..,,,,,,,.,.,.,,,g^!.^:.^:, IIIIIIIIIIIIII=II4II#IIIIIIII'IAIIIFIIIIIIIIIFIIII40IIIIIII/IIIIIIII8IIIII'I@III4II/IIIIIIIIIIIIIIIIIICI#IIIIF%#II)IIIIADIGIIIIIIIIIIIIIIIIIII%AIIIIIIIIIIIII/337II@IIII/I:IFIII#II/BI9I;EIIIEIIII@III 0 0 1 0 178
-chrM 829 830 G G 255 0 22 198 .$,$a$.$.$,$,$,,,,.NNNN,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,C..,...C.,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,...,,.,..,,,......,,,,.,,,.,..,,,,,,,.,.,.,,,,..,....,,,,^:.^!.^:c^!.^:,^:, <II1IIIIIIIA""""I0III;IIIIIIIII=IIIIC<IIIIIIIIIIIIIIIIII.III3<IIIIIII)IIIIIF%)IIIIIIIIIIIIDIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIHIIIIIIIII9III=IFIIIIIIIIBIIIIIIIIII:IIIIIIIII:III8III9IIIIIII7II#IBI 1 0 0 0 186
-chrM 837 838 G G 255 0 22 169 .$.$.$,$.$,$..,.....,A..,.....,,,..,..,,,.,.,,,,..,,t...,,,,,,....,,....,,..,,,.,,..,,,.C.,,.,..,,,......,,,,.,,,.,..,,,,,,,.,.,.,n,,..,....,,,,..a.,,......,..,,,..,,.,.,,,..^!. AIEIII;>IIFI<?I,FIII8I)IIII*1IIIIIIIIIIIIIIIII9IIIIIIIIIGDG;IIIIIIIIIIIIIIIIIIIIII%IIIEIE6IIIIIIIIIIIIIIAIIIIIIIIIIIIIIIIHII"@IIIIIIIIDI%@II#IIIIIIIIIGIIIIIIIIII5IIF:III 0 0 0 1 161
-chrM 841 842 C C 239 0 22 173 .$.$.$.$,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,.T.,,.,..,,,......,,,,.,,,.,..,,,,,,,.,.,.,,,,..,....aa,,..,.,,......,..,,,..,,.,.,,,..A...,..,....,,..N.....^:a^:.^!. IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIC5CIIIIIIIIIIIIIIIIIIIIIII#II%+II5IIIIIIIIII-IIIIIII<IIIIIEIII4IIIII:IIIIIIIII-II>II$I*IIIIIIIIIIIIIII10$7I<BDII&III>IIIIIII0'II"IIIII&II 1 0 0 0 157
-chrM 856 857 C C 254 0 23 124 ,$..,,,,,,,.,.,.,,,,..,....,,g,..,.,,......,..,,,..,,.,.,,,......,..,....,,........a.......,....,....,..,..,...........,...^:.^:. I06IIIIIIIIICIIIIIIIIIIIIIII#IHIIIIII3IDI9IHI+$IIIII#IIIII>IIIIIIIIIIIII#=IIII8I5IFIIIIIIIIIIIIDIIII/IIDII>IIIIIIIIIII1IIIII 1 0 0 0 115
-chrM 858 859 A A 250 0 23 118 .$,$.$,$.$,$,,g..,....,,,,..,.,,......,..,,,..,,T,.,,,......,..,....,,........,.......,....,....,..g..,...........,.......^:.^:. II9IIIIII@DIC=.EIIIIE@IIIII*CI8-IB8IIIIIII$IHIIIIIIIIIIICIHIIIIIIIIIII@IIIIIHIIIFIIIIIIFI-III*III)IIIIIIIIIIIIIIIIIIII 0 0 1 0 111
-chrM 859 860 A A 255 0 23 115 ,$,$,$..,....,,,,..,.,,......,..,,,..,,.,.,,,......,..,....c,........,.......,N.N.,....,..,..,..G........,........C^:.^:.^:. IIII2IEA(IIIIIHAIIIIG,=G1,IIIIII:EIIII6IIIIIII@IIIIIIIIIEIC@43:I,I@IIIIIIII"I"IIIIIIAIIIIIII*4IIIIEEIIIIIIIIIII%III 0 1 0 0 102
-chrM 864 865 G G 255 0 23 115 .$.$,$.$,$,$......,..,,,..,,.,.,,,......,..,....,,........,......N,....,...T,..,..,..........A,..............,.........^:.^!, IDIIIII6IIIIIIIIIIIIII9IAIIIIIIIIIIIIIIIII7IIIIIIIIIIIIIIII"IIIIIII,I1IIIIIIII+IEIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII3 1 0 0 0 110
-chrM 866 867 A A 224 0 23 105 .$.$,$..,,,..,,T,.,,,......,..,....,,........,......N,....,....c.N,..,.CC........,..............,.........., .'IG4III/III$IFIII3III&;I@CII160II99II.G%GIFI:)ID"IHIIIIF,F*II"II;II$%+B0I/-A.IHIIIIIIIIIIIIIIIIIIIIIIIII 0 1 0 0 82
-chrM 872 873 C C 206 0 23 94 .$...,..,....,,........,.......,N.N.a....,..,..,...........,..............,....N.....,.g....T.. II9EII9IFIIIIIIII/EIBIIII?GIIII"I"III/I-IIIIIIIIBIIIIIIIIIIHIIIIIIIIIIIIIIIIII"IIIII?+$IIII$II 1 0 0 0 85
-chrM 873 874 A A 208 0 23 94 .$.$.$,$.$.$,$....,,......C.,.......,....,....c..,..,...........,.....N........,..........,.g.......^:. II<IA&IIEIIII9DII(I&IIGI63IIIIIIIIII.I/II&IIIIIBII(a)5I3.II)IIIII"IIIFIGIIIIIIIIIIII1II)IIIIIIII 0 1 0 0 81
-chrM 931 932 C C 53 0 23 22 ,,.,,.,,,a,a,,,,,,,,,^:, II*IIII.I7I6III@9<::<I 2 0 0 0 20
-chrM 936 937 C C 98 0 24 31 .,,.,,,,,,,t,a,,,,,,,,.,,,.,,a^:, IIGII/IIHI'#15I4IIGII.IIIII-I$1 1 0 0 0 22
-chrM 950 951 C C 191 0 23 76 ,$,.,,,,,,,,,a,,,,,a,,.,,,.,,,,,,,,,,,,,,,.a..,.,..,........,,,.,,.,,,,,^:.^!.^:,^:a^!. IIIIIIIIIIII:IIIII%II5IIIIIIIIII?0B1I<IIGI)II1IDII*IIIIIIII)&III&I4>%5*II4(I 1 0 0 0 62
-chrM 951 952 A A 223 0 24 81 c.,,,,,,,,,,,,,,,c,,.,,,.,,,,,,,,,,,,,,,.,..,.,..,........,,,.,,.,,,,,..,,.^:.^:.^:.^:,^:,^:, IBIIIIIIIIIIIIIIIIIIIIIIIIGIIIIIIIII8IIIIIIIIIIIIIIIIIIIIICIIII4IGIIIIIIIIIIIIII? 0 2 0 0 80
-chrM 952 953 C C 179 0 24 86 ,.,,,,,,,,,,,,,,,,,,.n,,.,,a,,,,,,a,,,,,.,..,.,..,........a,,.,,.,,,,,..,a....,,a^:.^!.^!.^:a^:a IIIIIIIIIIIIIIIIIIIII"IIIII)III6I1)I4II(I7II?I9II(IIIIIIII+1III0I+214%II79IIIIBB0III%I 2 0 0 0 69
-chrM 956 957 T T 237 0 23 110 ,.,,,,,,,,,,,,,,,,,,N,,,N,,,,,,,,,,,,,,,G,..,.,..,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,NN,^:.^:,^:,^:,^:.^:.^:. I/IIIIIIIIIIIIIIIIII"III"III4IIIII)I6GHI63II86III0IIIIIIII8BII6+II56I.II71IIII;/+IIIDDIIIIIIIIII;II,""2I@03III 0 0 1 0 92
-chrM 957 958 C C 251 0 23 117 ,.,,,t,t,,,,,,,,,,,,.,,,.,,,,,,,,,,,,,,,.,..,.,..,........,,,.,,.,,,,,..,a....,a,...,,.......,..,..,..,.,,,...^:,^:,^:.^!.^:,^:,^:, I9III(I&IIIIIIIIIIIIIIIIIIIIIIIIII>I3III*III3IIII:IIIIIIII(/IIIBIII(&$IIIIIIII<+%III>@IIIIIIIIIIIII,II,I%(6IIII1II(-/ 1 0 0 0 97
-chrM 966 967 A A 246 0 23 125 ,$c,G,,,.,,,,,,,,,,,,,n,.,..,.,..,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......g...,,,.,,,,,,,.,.^:, I5I#IIIIIIIIIIIIIIIBI"IIIIII;IIIIIIIIIIII;2IIIIIIIIIIIII@IIIIIIIIIIIIIIIIIII6IIIIIIIIIIIIIIIIIIIIIIIIII/II#IIIIIIIIIIIII>IIII 0 1 0 0 120
-chrM 974 975 C C 255 0 23 125 ,,,,,,,.,..,.,..,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,n.,,aa,,,N,.,.,,.gg,,,,....^:n^:, IIIIIII4IIIIIIEII/I?IIIIIIII7II<IIIIIIIIIIEIIIIIIIIIIII2IIIIIIIIIIIIIIGIIIIIIIIIIIIIIII%II3IIIII"III%IIII"IIII@.IB*BIDIIIII", 1 0 1 0 113
-chrM 980 981 C C 247 0 23 123 .$.$,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,,.,,a,,,,.,.,.,,.gt,,,,....,,,..,.,,,,^:.^:,^:, IIIII6IIIIIIII;IIAIIIIIIIIICI5III&IIIIIII<IIIEIIIIIIIIIIIIII=IIIIIIIIII5I&IIIIIIHIIIII'III9IIIII92I6#9II3IIIIII+II>I&71'I45 0 0 1 0 112
-chrM 981 982 C C 255 0 23 122 ,$.$.$......,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,,.,,,,,,a.,.,.,,.g,,,,,....a,,..,.,,,a.,,^!, IIFBIEIIIIII?II@IIIIIIIIIIIIIII6II9IIIIIIIIIIIIIIIIIIIIIII5IIIIIIIIIIII&IIIFIIDIIII0$III<IIIII2II%9,?&IIIIII*/II+I59I)I1-) 2 0 0 0 108
-chrM 982 983 C C 252 0 23 122 .$.$.$...,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,,.,,,,,,a.,.,.,a.,,,,,,....,,,..,.a,,a.,,,^!,^!,^!, :IIIIIIIICIIIIIIIIIIIIIIIIIIIIIIIIIIAIIIIIIIIIBIIII?III2I5IIIIIIIIAI#IIIIIIIIIII&)IIIIIIIIII+II&9F8IIIIIII2II)I')I$I++)I(+ 1 0 0 0 106
-chrM 983 984 A A 250 0 23 119 .$.$.$,$,$,$.$,$,$.$,$,,,,..,,....,,,...,,.......,..,..,..,.,,,...c,..,,,......,...,,,.,,,,,,,C,.,.,,.,,,,,,....,,,..,.,,,,.,,,,,, C:IIII5II3IIIII95II/1.IIII>A5II4IA=)-)I>HIIDIIII-IIIII,III;IIII?:$III6=IIII8IIIIIII)IIIIII4I@IIIIII@=IIIIIIIIIDIIIIIID= 0 1 0 0 106
-chrM 987 988 A A 243 0 23 94 .$.$C$,$,$.......,..,..,..,.,,,...,,..,,,......,...,,,.,,,,,,,.,.,.,,.,c,,,,....,,,..,.,,,,.,,,,,,^!, I<%II,C21-@,IIGIIII==I+III%A2II<.IIIC/C$II$6EIIII9IIIIIIIIIIIIII3I6IIIII7@AIIIIIIIIIIIIGIIIIDI 0 1 0 0 80
-chrM 1005 1006 C C 138 0 18 49 .$,$,$,,,,....,,,..,.,,,,.,,,,,,,,,,,,,.,,,,,,a,,,,^!, 6IIIIII00@<III<IIIIIIIIIIIIIIIFI*I8IIIIII?IGII<&2 1 0 0 0 44
-chrM 1025 1026 G G 19 0 8 33 ,$t.,,,,,,,,,,,,,,,,,,,,,,,,,,,.., II.IIIIIIIIIIIIIIIIIIIIIB=@HIIIII 0 0 0 1 32
+chrM 464 465 C C 169 0 25 65 ,.............,,.....A.,......,..............,,,..........,a...,^:A IIIIBI>H1IIIIB$)IIIII$IIIIIIIIII0IIIII6IIIIIIHIIIIIIIIIIIII&IIICI 1 58 0 0 59
+chrM 468 469 T T 207 0 25 66 .$.$.$.........,,.......,......,..............,n,..........,,...,G... III>I44EIIICI@IIEDC$IBIIII(IIIIDIIII@IIIIII1"0IIII%IIIIII1III7IIII 0 0 1 56 57
+chrM 471 472 C C 187 0 25 72 .$.$.....,t.......,....A.,..............,a,..........,a...,A.......,,^:.^:.^:.^:.^:. I@IIIIII&IIIFG6IIIIII$IIIIIIIII$IIFIIII:IIIIIIIIIIII%IIII,IIIIII/I-IIIII 1 64 0 0 65
+chrM 490 491 C C 212 0 23 79 ..n,,....A.....,,...,........t,.....,....,..........,....,.,,...,.....,,..,.,., II"IIIIII&II:IIIIIIII(II@HIII;IIIIIIIIIIIIIIIIII?IIIIIIIIIIFIIIIIIIIIII+IIII3II 0 73 0 1 74
+chrM 506 507 A A 150 0 21 76 .$.$.$.$C$,....,..........c....,.,,...,.....,,..,.,.,,,,...,,,..,,....,,.,....^:.^:,^:, /I:3&I33.;I,./<G=I?IIIAIIIIIIIDI*IIIIIIIIIIIHDIIIIIIII=DIIIICIIII@IIIIII(I@6 64 1 0 0 65
+chrM 510 511 C C 213 0 21 72 .$.$.$....,....,.,,...,.....,,..,.,.,,,,...,,,..,,....,,.,...A.,,..,,,,,,,^:, III@/IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIGHIIIIIICIIEII6II/562I 1 68 0 0 69
+chrM 526 527 A A 164 0 22 58 ,,,...,,,..,,....,,.,.....,,..,,,,,,,,,..,,,..C,,,,,.,,,,, III3I=III;/II7I24II3I'II9IIIFIIIIIIIIIIIIIIIIIIIIIIIIIIIII 51 1 0 0 52
+chrM 527 528 A A 164 0 22 58 g$,$,...,,,..,,....,,.,.....,,..,,,,,,,,,..,,,...,,,,,.,,,,, IIIF$9IIIIIII0A6(II4I+FI%:II4=IIIII'IIIIIIIIIIIIIIII3IIIII 48 0 1 0 49
+chrM 536 537 A A 138 0 23 49 .c,.,.....,,..,,,,,,,,,..,,,...,,,,,.,,,,,.,,,,,, 7II+I$0I8III/@IIIIIIIIIIIIIIIIIIIIIIIIIIIIII4I46I 42 1 0 0 43
+chrM 557 558 T T 83 0 23 27 ,$,$,$.,,,,,.,,,,,,.,.,....G.^:. III+IIIIIII>IHDIG4I4IIIIIII 0 0 1 23 24
+chrM 606 607 G G 105 0 24 43 ..............,....T..T..................^:.^!, BI-&*1&6IIIGIIII%;9I.;>IIIIIIIIIIIIIIIIIII3 0 0 33 2 35
+chrM 618 619 T T 117 0 24 48 ,.........C..C..............,...........N..,...^:. I2&-+)(4I+>CI$&I15@IIIIIIIII,IIIIIIIIIII"II5IIII 0 1 0 34 35
+chrM 627 628 G G 108 0 22 57 .$...........A........,..............,................A^!.^!.^:. 5GI<=4;>G=I<%IIIIII.IIII'IIIIIIII$IIIIIIIIIIIIIIIIIIIIIII 1 0 51 0 52
+chrM 659 660 C C 166 0 19 58 .$.$.............,...n,.,,......,......................a,... /CII>9@II277IIII9II"IIIIIIFIIIIIIBIIIIIIIIIIIIIIII$II7IIII 1 53 0 0 54
+chrM 668 669 C C 135 0 19 42 .$,$,$......,.....................Ga,......,^:. IIIIIII@IIFI@IIIIIIIII;IIIIHIII56IIIIIIIAI 1 40 1 0 42
+chrM 713 714 A A 127 0 23 96 ...,..C.....................,......................,............................C...........^:.^:.^:.^:. 67'II>(IIIAFI<IIIII?I$EI>GAGII4III8IIDIIIDIIIFIIIIG$IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 90 1 0 0 91
+chrM 719 720 T T 130 0 24 96 .....C...........,...C.....G............,............G....................A...................^:.^:. D?76/$I'@'<,I7;I<I5GI'H+B.3%;=<3II1CGIIB@FII8@II0II4II$IIIII537IIIIIIIIIII#IIIIIIIII=III$IIIIIII 0 0 1 77 78
+chrM 736 737 A A 98 0 24 98 .$.$.$..............................C................T.......................C..................^:.^:.^:.^:.^:. AI709I4I>IDII.7IIC+938AEC5?IDIC5I*IIII7I21?5B1AIII#IIIIIIIIIIAIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 87 1 0 0 88
+chrM 747 748 A A 97 0 25 86 .$.$C$.$.$.$.$.$.$.........................................................................^:.^:.^:.^:. ?DIIIII<I8I@>B2IIFB%IIIIIIHIII;4III3IIIEEIIIIIIIIIIIIIIIIIIIIIIIIII$IIIIIIIIIIII@IIIII 80 1 0 0 81
+chrM 749 750 A A 93 0 25 77 .$.$............................C......C......................................^:. I2GII,II%@IAIIIII9IIIIIIIIIDII>I>II=IIIIIIIIIIIIIIIIIIIIIIIII8IIIII.IIIIIIIII 71 2 0 0 73
+chrM 759 760 T T 106 0 25 86 A$.....A..............G........................A........G........................^:.^:.^:.^:.^:.^:. #6<EF9$330.II4*;EII7+$I;II:3IICB4073I6;IEIIII5+II@IIIII:I+IIIIIIIIIIIIIIIIIIIIIIIIIIII 0 0 1 69 70
+chrM 762 763 A A 99 0 25 83 N........................................................................C......... "IC:6,1III=CIIIIB6GIII7G<DI>IIIIII8IIII$IHIII=I&IIIIIIIIIIIIIIIIIIIIIIII39IIIIIIIII 76 1 0 0 77
+chrM 763 764 G G 107 0 25 86 .$.$.$.$.$.$.$.$T$.....NN......................................AN...........................^:.^:.^:. 9I9I@8I4-I7IC&""=&=I+II=>I>IIIIIIIIIIIII@IIII+IIIIIIIII"II%IIIII@IIIIIIIIIIIIIIIIIIIII 1 0 75 0 76
+chrM 764 765 G G 88 0 25 77 .$.$.$.$.$.T..T.T............................................N.................... :,I;&I7D.%I'III<HD7IIIII*CIIIIIIIIII%IIIIIIIIIIIIIIIHIII"IIIIIIIIIIIIIIIIIIII 0 0 68 1 69
+chrM 767 768 T T 102 0 25 71 .$.$................................A.................................... &IBGII@5ICF>0?BII2IIIIII@+II;IEIII7I,III8IIIIIIIIIIIE@IIIIIIII8IIIIIIII 1 0 0 65 66
+chrM 777 778 G G 108 0 25 63 .$.$...T.....C......T...................T.......................^:. AG(II$IIIII&6BIII:'IIIII9IIIII=IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII 0 0 58 1 59
+chrM 784 785 A A 99 0 25 63 .$.........................................................C...^:. II/+III%I.4IE:6..;8+I$B@II2IIIIDI@0IIIEGIFIIIIIIIIIIIIIIIICIIII 51 1 0 0 52
+chrM 790 791 G G 155 0 25 60 .......T.............................................,..,.^:T^:, 7III5II$IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII%4II/ 0 0 55 1 56
+chrM 794 795 T T 212 0 25 74 .$.$.$.$.$.$...A....................................N.,..,..,.,,,,,,,.,,,^:.^:,^:,^!.^:.^:,^:, II$IIIIII9I9@IIDIIIIIIIIIIIIIIIIIIIIIIIIIIIIII"IIIIIII*IB$I#%#II$2$II:II4I 1 0 0 62 63
+chrM 807 808 C C 226 0 22 132 .$..............NN........N,..,..,.,,,,,,,.,aa.,,..,,a,,,.....,..,,.,.,,,.,,,.,,,,....,.,,,..a.,,,,,N..,.,..,.....,...,.....^:,^:,^:,^!.^!.^:,^!.^!.^:, IIIII;AIIIIIII.""I?IIIIII"=IIIII%II$I'I+II$)7I=IGIII%;IIIIIIIIIIAIIII=IIIII+I43IIIIIIII%IIII/IIII5;"IIII1IIIIIIII7III/IIIIID46II4II: 1 110 0 0 111
+chrM 808 809 T T 242 0 22 134 .$.......................N,..,..,.,,,g,,,.,,,.,,..,,,,,,.....,..,,.,.,,n.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,C..,.....,,,..,..,^:,^:,^!. IIIIII:IIIIIII01II8I1'II"EI,III3IIII&I$II(.(IIFIIIIII+IIIIIIIII1,IIIBI"III5I34ICIIIIII/IIII?IICC53IIIHII>I2IIIIII:IIIIIIII91III1II5I4I 0 1 0 109 110
+chrM 809 810 A A 243 0 22 144 .$.$......................,.C,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,C,.,,,.,,,.,,g,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.^:,^:.^:g^:,^:,^:,^!N^!N^:,^:,^:, HIII28IIIGII;III*I,II>IB62$2IIDDIIIIIIII&IIIIIIIIIIIIIII*IIIIIII$IIIII>IIIIIIIIIIIIII#IIIIIIIIIIIIIIIII>IIIIIHEI.IIIIIIIIIIIIIIIIIIII(I#III""GI9 128 0 1 0 129
+chrM 814 815 C C 246 0 22 160 .$.$..............,..,..,.,,,,,,,.,,a.,,..,,,,,,.....,..,,.,.,,t.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,,,,..,,,...,,,,,a....,,....,a^:.^:.^:, IIIIIIIIIIIIII:IIIIIII8IHIII$III*6=IIIIIII@I*IIIEI8IIIIIIIIII-IIIII:IIIIIIIII$IIII<IIIIIIIIIII2IIIIIIICIEIIIIIIII/I2IIIIIAIII*I#I2$IIII*III8C5$9$IIII9/IIII<&II8 1 142 0 0 143
+chrM 815 816 A A 255 0 22 169 ..............,.C,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,,,,..,,,.NN,,,g,,....,,....,,..,^:,^:,^:.^:,^:,^:.^:.^:,^:,^:,^!. IHEF8II?+GI:I@I7%IIIIAIIII+IIA'II>II@IIIIIII3IIIII/III7IIIII5IIIIIIIIIIIIII+IIIIIIIIIIIIIIIAI6IIIIII;I8IIIIIIIIIIFIIIIIIIIIIIIIIIIIIIII""IIIAIIIIIIIIIIIIIIIIIIIIIIIIIIII 159 0 1 0 160
+chrM 816 817 A A 254 0 22 171 .$.C.......T..Nn..,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,.,.,n,N,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,.^:.^!. IDIII?9=<0$I2"":I*III1IIIIIIII.I@FII5IIIIIIII322+IIIII3III"I"IIIGIIII2>IIIIIIIIIIIIIIIIIF4IIIIIIIII)-I>IIIIII>IIIIIIIIIIIIIIIIIIIIIII6IIIIII$IIIIIII?IIIIIIIIIIIIIIIIIIIIII 150 1 0 0 151
+chrM 819 820 A A 255 0 22 183 .$.......,..,..,.,,,,,,,.,,,.,,..,,,,,,....C,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,..,...C.,...t.....,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.g,..,,,...,g.,..,,,..^!.^:.^:.^:.^:,^:,^:, I3/I+:DII7&I&I*<III$$(II;II@II2IIIIIIIIIII&IIIIE2IHIII)IIIDIIIIDCI>/BIHIIIIIIIIIIII'III6IGIII+7IIII@IIIIIIEIIIDIIFI9IIIIII9II1,+III.I(83IIIII4GIIIIIIIIIIBI,BIIIIIIIII$IIII<5@IIIIIII9I 157 0 0 1 158
+chrM 822 823 T T 252 0 22 192 .$,$..,..,.,,,,,,,.,,,.,,..,,,,,,.....,..,,.,.,,,.,,,.,,,,....,.,c,..,.,,,,,...,.,..,.....,...,.....,,,..,..,,,.,.,n,,..,,,...,,,g,,....,,....,,..,,,.,,..,,,...,,.,..,,,......,,,,.,,,.,^:.^!.^:,^:,^:,^:,^:,^:,^:, IIIIIII79I0IIIIII$&>IIIEIIIIIAIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIEII$IIIIEEIIIIIIII4IIIIIIII'IIIIIIII(;III;IICI@I+II"<CII>=/III6:B#0IIIII0FIIIIDIII5E6I@8IIIIGIII9II=II.$)IIIIII9>0:I59BIIII/E2?BA/ 0 1 0 171 172
+chrM 825 826 A A 255 0 22 198 .$,$.,,,,,,,.,,,.,,..,c,,,,....C,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,C.,.....,...,.....,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,...,,.,..,,,......,,,,.,,,.g..,,,,,,,.,.,.,,,g^!.^:.^:, IIIIIIIIIIIIII=II4II#IIIIIIII'IAIIIFIIIIIIIIIFIIII40IIIIIII/IIIIIIII8IIIII'I@III4II/IIIIIIIIIIIIIIIIIICI#IIIIF%#II)IIIIADIGIIIIIIIIIIIIIIIIIII%AIIIIIIIIIIIII/337II@IIII/I:IFIII#II/BI9I;EIIIEIIII@III 177 0 1 0 178
+chrM 829 830 G G 255 0 22 198 .$,$a$.$.$,$,$,,,,.NNNN,..,,.,.,,,.,,,.,,,,....,.,,,..,.,,,,,...,.,..,.....,C..,...C.,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,...,,.,..,,,......,,,,.,,,.,..,,,,,,,.,.,.,,,,..,....,,,,^:.^!.^:c^!.^:,^:, <II1IIIIIIIA""""I0III;IIIIIIIII=IIIIC<IIIIIIIIIIIIIIIIII.III3<IIIIIII)IIIIIF%)IIIIIIIIIIIIDIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIHIIIIIIIII9III=IFIIIIIIIIBIIIIIIIIII:IIIIIIIII:III8III9IIIIIII7II#IBI 1 0 185 0 186
+chrM 837 838 G G 255 0 22 169 .$.$.$,$.$,$..,.....,A..,.....,,,..,..,,,.,.,,,,..,,t...,,,,,,....,,....,,..,,,.,,..,,,.C.,,.,..,,,......,,,,.,,,.,..,,,,,,,.,.,.,n,,..,....,,,,..a.,,......,..,,,..,,.,.,,,..^!. AIEIII;>IIFI<?I,FIII8I)IIII*1IIIIIIIIIIIIIIIII9IIIIIIIIIGDG;IIIIIIIIIIIIIIIIIIIIII%IIIEIE6IIIIIIIIIIIIIIAIIIIIIIIIIIIIIIIHII"@IIIIIIIIDI%@II#IIIIIIIIIGIIIIIIIIII5IIF:III 0 0 160 1 161
+chrM 841 842 C C 239 0 22 173 .$.$.$.$,,,..,..,,,.,.,,,,..,,,...,,,,,,....,,....,,..,,,.,,..,,,.T.,,.,..,,,......,,,,.,,,.,..,,,,,,,.,.,.,,,,..,....aa,,..,.,,......,..,,,..,,.,.,,,..A...,..,....,,..N.....^:a^:.^!. IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIC5CIIIIIIIIIIIIIIIIIIIIIII#II%+II5IIIIIIIIII-IIIIIII<IIIIIEIII4IIIII:IIIIIIIII-II>II$I*IIIIIIIIIIIIIII10$7I<BDII&III>IIIIIII0'II"IIIII&II 1 156 0 0 157
+chrM 856 857 C C 254 0 23 124 ,$..,,,,,,,.,.,.,,,,..,....,,g,..,.,,......,..,,,..,,.,.,,,......,..,....,,........a.......,....,....,..,..,...........,...^:.^:. I06IIIIIIIIICIIIIIIIIIIIIIII#IHIIIIII3IDI9IHI+$IIIII#IIIII>IIIIIIIIIIIII#=IIII8I5IFIIIIIIIIIIIIDIIII/IIDII>IIIIIIIIIII1IIIII 1 114 0 0 115
+chrM 858 859 A A 250 0 23 118 .$,$.$,$.$,$,,g..,....,,,,..,.,,......,..,,,..,,T,.,,,......,..,....,,........,.......,....,....,..g..,...........,.......^:.^:. II9IIIIII@DIC=.EIIIIE@IIIII*CI8-IB8IIIIIII$IHIIIIIIIIIIICIHIIIIIIIIIII@IIIIIHIIIFIIIIIIFI-III*III)IIIIIIIIIIIIIIIIIIII 110 0 1 0 111
+chrM 859 860 A A 255 0 23 115 ,$,$,$..,....,,,,..,.,,......,..,,,..,,.,.,,,......,..,....c,........,.......,N.N.,....,..,..,..G........,........C^:.^:.^:. IIII2IEA(IIIIIHAIIIIG,=G1,IIIIII:EIIII6IIIIIII@IIIIIIIIIEIC@43:I,I@IIIIIIII"I"IIIIIIAIIIIIII*4IIIIEEIIIIIIIIIII%III 101 1 0 0 102
+chrM 864 865 G G 255 0 23 115 .$.$,$.$,$,$......,..,,,..,,.,.,,,......,..,....,,........,......N,....,...T,..,..,..........A,..............,.........^:.^!, IDIIIII6IIIIIIIIIIIIII9IAIIIIIIIIIIIIIIIII7IIIIIIIIIIIIIIII"IIIIIII,I1IIIIIIII+IEIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII3 1 0 109 0 110
+chrM 866 867 A A 224 0 23 105 .$.$,$..,,,..,,T,.,,,......,..,....,,........,......N,....,....c.N,..,.CC........,..............,.........., .'IG4III/III$IFIII3III&;I@CII160II99II.G%GIFI:)ID"IHIIIIF,F*II"II;II$%+B0I/-A.IHIIIIIIIIIIIIIIIIIIIIIIIII 81 1 0 0 82
+chrM 872 873 C C 206 0 23 94 .$...,..,....,,........,.......,N.N.a....,..,..,...........,..............,....N.....,.g....T.. II9EII9IFIIIIIIII/EIBIIII?GIIII"I"III/I-IIIIIIIIBIIIIIIIIIIHIIIIIIIIIIIIIIIIII"IIIII?+$IIII$II 1 84 0 0 85
+chrM 873 874 A A 208 0 23 94 .$.$.$,$.$.$,$....,,......C.,.......,....,....c..,..,...........,.....N........,..........,.g.......^:. II<IA&IIEIIII9DII(I&IIGI63IIIIIIIIII.I/II&IIIIIBII(a)5I3.II)IIIII"IIIFIGIIIIIIIIIIII1II)IIIIIIII 80 1 0 0 81
+chrM 931 932 C C 53 0 23 22 ,,.,,.,,,a,a,,,,,,,,,^:, II*IIII.I7I6III@9<::<I 2 18 0 0 20
+chrM 936 937 C C 98 0 24 31 .,,.,,,,,,,t,a,,,,,,,,.,,,.,,a^:, IIGII/IIHI'#15I4IIGII.IIIII-I$1 1 21 0 0 22
+chrM 950 951 C C 191 0 23 76 ,$,.,,,,,,,,,a,,,,,a,,.,,,.,,,,,,,,,,,,,,,.a..,.,..,........,,,.,,.,,,,,^:.^!.^:,^:a^!. IIIIIIIIIIII:IIIII%II5IIIIIIIIII?0B1I<IIGI)II1IDII*IIIIIIII)&III&I4>%5*II4(I 1 61 0 0 62
+chrM 951 952 A A 223 0 24 81 c.,,,,,,,,,,,,,,,c,,.,,,.,,,,,,,,,,,,,,,.,..,.,..,........,,,.,,.,,,,,..,,.^:.^:.^:.^:,^:,^:, IBIIIIIIIIIIIIIIIIIIIIIIIIGIIIIIIIII8IIIIIIIIIIIIIIIIIIIIICIIII4IGIIIIIIIIIIIIII? 78 2 0 0 80
+chrM 952 953 C C 179 0 24 86 ,.,,,,,,,,,,,,,,,,,,.n,,.,,a,,,,,,a,,,,,.,..,.,..,........a,,.,,.,,,,,..,a....,,a^:.^!.^!.^:a^:a IIIIIIIIIIIIIIIIIIIII"IIIII)III6I1)I4II(I7II?I9II(IIIIIIII+1III0I+214%II79IIIIBB0III%I 2 67 0 0 69
+chrM 956 957 T T 237 0 23 110 ,.,,,,,,,,,,,,,,,,,,N,,,N,,,,,,,,,,,,,,,G,..,.,..,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,NN,^:.^:,^:,^:,^:.^:.^:. I/IIIIIIIIIIIIIIIIII"III"III4IIIII)I6GHI63II86III0IIIIIIII8BII6+II56I.II71IIII;/+IIIDDIIIIIIIIII;II,""2I@03III 0 0 1 91 92
+chrM 957 958 C C 251 0 23 117 ,.,,,t,t,,,,,,,,,,,,.,,,.,,,,,,,,,,,,,,,.,..,.,..,........,,,.,,.,,,,,..,a....,a,...,,.......,..,..,..,.,,,...^:,^:,^:.^!.^:,^:,^:, I9III(I&IIIIIIIIIIIIIIIIIIIIIIIIII>I3III*III3IIII:IIIIIIII(/IIIBIII(&$IIIIIIII<+%III>@IIIIIIIIIIIII,II,I%(6IIII1II(-/ 1 96 0 0 97
+chrM 966 967 A A 246 0 23 125 ,$c,G,,,.,,,,,,,,,,,,,n,.,..,.,..,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......g...,,,.,,,,,,,.,.^:, I5I#IIIIIIIIIIIIIIIBI"IIIIII;IIIIIIIIIIII;2IIIIIIIIIIIII@IIIIIIIIIIIIIIIIIII6IIIIIIIIIIIIIIIIIIIIIIIIII/II#IIIIIIIIIIIII>IIII 119 1 0 0 120
+chrM 974 975 C C 255 0 23 125 ,,,,,,,.,..,.,..,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,n.,,aa,,,N,.,.,,.gg,,,,....^:n^:, IIIIIII4IIIIIIEII/I?IIIIIIII7II<IIIIIIIIIIEIIIIIIIIIIII2IIIIIIIIIIIIIIGIIIIIIIIIIIIIIII%II3IIIII"III%IIII"IIII@.IB*BIDIIIII", 1 111 1 0 113
+chrM 980 981 C C 247 0 23 123 .$.$,........,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,,.,,a,,,,.,.,.,,.gt,,,,....,,,..,.,,,,^:.^:,^:, IIIII6IIIIIIII;IIAIIIIIIIIICI5III&IIIIIII<IIIEIIIIIIIIIIIIII=IIIIIIIIII5I&IIIIIIHIIIII'III9IIIII92I6#9II3IIIIII+II>I&71'I45 0 111 1 0 112
+chrM 981 982 C C 255 0 23 122 ,$.$.$......,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,,.,,,,,,a.,.,.,,.g,,,,,....a,,..,.,,,a.,,^!, IIFBIEIIIIII?II@IIIIIIIIIIIIIII6II9IIIIIIIIIIIIIIIIIIIIIII5IIIIIIIIIIII&IIIFIIDIIII0$III<IIIII2II%9,?&IIIIII*/II+I59I)I1-) 2 106 0 0 108
+chrM 982 983 C C 252 0 23 122 .$.$.$...,,,.,,.,,,,,..,,....,,,...,,.......,..,..,..,.,,,...,,..,,,......,...,,,.,,,,,,a.,.,.,a.,,,,,,....,,,..,.a,,a.,,,^!,^!,^!, :IIIIIIIICIIIIIIIIIIIIIIIIIIIIIIIIIIAIIIIIIIIIBIIII?III2I5IIIIIIIIAI#IIIIIIIIIII&)IIIIIIIIII+II&9F8IIIIIII2II)I')I$I++)I(+ 1 105 0 0 106
+chrM 983 984 A A 250 0 23 119 .$.$.$,$,$,$.$,$,$.$,$,,,,..,,....,,,...,,.......,..,..,..,.,,,...c,..,,,......,...,,,.,,,,,,,C,.,.,,.,,,,,,....,,,..,.,,,,.,,,,,, C:IIII5II3IIIII95II/1.IIII>A5II4IA=)-)I>HIIDIIII-IIIII,III;IIII?:$III6=IIII8IIIIIII)IIIIII4I@IIIIII@=IIIIIIIIIDIIIIIID= 105 1 0 0 106
+chrM 987 988 A A 243 0 23 94 .$.$C$,$,$.......,..,..,..,.,,,...,,..,,,......,...,,,.,,,,,,,.,.,.,,.,c,,,,....,,,..,.,,,,.,,,,,,^!, I<%II,C21-@,IIGIIII==I+III%A2II<.IIIC/C$II$6EIIII9IIIIIIIIIIIIII3I6IIIII7@AIIIIIIIIIIIIGIIIIDI 79 1 0 0 80
+chrM 1005 1006 C C 138 0 18 49 .$,$,$,,,,....,,,..,.,,,,.,,,,,,,,,,,,,.,,,,,,a,,,,^!, 6IIIIII00@<III<IIIIIIIIIIIIIIIFI*I8IIIIII?IGII<&2 1 43 0 0 44
+chrM 1025 1026 G G 19 0 8 33 ,$t.,,,,,,,,,,,,,,,,,,,,,,,,,,,.., II.IIIIIIIIIIIIIIIIIIIIIB=@HIIIII 0 0 31 1 32
diff -r 517bd810a6b2 -r be8f54671d56 test-data/pileup_parser.6col.20-3-no-no.pileup.out
--- a/test-data/pileup_parser.6col.20-3-no-no.pileup.out Thu Jan 14 11:26:08 2010 -0500
+++ b/test-data/pileup_parser.6col.20-3-no-no.pileup.out Thu Jan 14 14:07:05 2010 -0500
@@ -1,588 +1,588 @@
-chrM 45 A 3 ..^:. III 0 0 0 0 3
-chrM 46 G 4 ...^:. IIII 0 0 0 0 4
-chrM 47 A 5 ....^:, IIIII 0 0 0 0 5
-chrM 48 T 5 ...., IIIII 0 0 0 0 5
-chrM 49 G 5 ...., IIIII 0 0 0 0 5
-chrM 50 A 5 ...., IIIII 0 0 0 0 5
-chrM 51 G 5 ...., IIIII 0 0 0 0 5
-chrM 52 T 5 ...., IIIII 0 0 0 0 5
-chrM 53 A 5 ...., IIIII 0 0 0 0 5
-chrM 54 T 5 ...., IIIII 0 0 0 0 5
-chrM 55 T 5 ...., IIIII 0 0 0 0 5
-chrM 56 C 5 ...., IIIII 0 0 0 0 5
-chrM 57 T 5 ...., IIIII 0 0 0 0 5
-chrM 58 T 5 ...., IIIII 0 0 0 0 5
-chrM 59 A 5 ...., IIIII 0 0 0 0 5
-chrM 60 C 5 ...., IIIII 0 0 0 0 5
-chrM 61 T 5 ...., IIIII 0 0 0 0 5
-chrM 62 C 5 ...., IIIII 0 0 0 0 5
-chrM 63 C 5 ...., IIIII 0 0 0 0 5
-chrM 64 A 5 ...., IIIII 0 0 0 0 5
-chrM 65 T 5 ...., IIIII 0 0 0 0 5
-chrM 66 A 5 ...., IIIII 0 0 0 0 5
-chrM 67 A 5 ...., IIIII 0 0 0 0 5
-chrM 68 A 5 ...., IIICI 0 0 0 0 5
-chrM 69 C 5 ...., IIIII 0 0 0 0 5
-chrM 70 A 5 ...., IIIII 0 0 0 0 5
-chrM 71 C 5 ...., IIIII 0 0 0 0 5
-chrM 72 A 5 ...., IAIII 0 0 0 0 5
-chrM 73 T 5 ...., IIIII 0 0 0 0 5
-chrM 74 A 5 ...., IIIII 0 0 0 0 5
-chrM 75 G 5 ...., %IIII 0 0 0 0 4
-chrM 76 G 5 T..., *IIII 0 0 0 0 4
-chrM 77 C 5 .$..., GIIII 0 0 0 0 5
-chrM 78 T 4 .$.., IIII 0 0 0 0 4
-chrM 79 T 3 .., III 0 0 0 0 3
-chrM 80 G 3 .$., I1I 0 0 0 0 2
-chrM 181 A 3 ,,^:, III 0 0 0 0 3
-chrM 182 G 3 ,,, III 0 0 0 0 3
-chrM 183 G 3 ,,, III 0 0 0 0 3
-chrM 184 T 3 ,,, III 0 0 0 0 3
-chrM 185 A 3 ,,, III 0 0 0 0 3
-chrM 186 T 3 ,,, III 0 0 0 0 3
-chrM 187 C 3 ,,, III 0 0 0 0 3
-chrM 188 A 3 ,,, III 0 0 0 0 3
-chrM 189 A 3 ,,, III 0 0 0 0 3
-chrM 190 G 3 ,,, III 0 0 0 0 3
-chrM 191 C 3 ,$,, III 0 0 0 0 3
-chrM 229 A 3 .^:,^:, %II 0 0 0 0 2
-chrM 230 C 3 .,, 8II 0 0 0 0 3
-chrM 231 C 3 .,, 9II 0 0 0 0 3
-chrM 232 C 3 .,, III 0 0 0 0 3
-chrM 233 C 3 .,, AI' 0 0 0 0 2
-chrM 234 C 3 .,, DI+ 0 0 0 0 2
-chrM 235 A 3 .,, &I@ 0 0 0 0 2
-chrM 236 C 3 .$,a +I$ 0 0 0 0 1
-chrM 244 A 3 ,,^:, II; 0 0 0 0 3
-chrM 245 G 3 ,,, II* 0 0 0 0 2
-chrM 246 C 3 ,,n II" 0 0 0 0 2
-chrM 247 A 3 ,,, III 0 0 0 0 3
-chrM 248 G 4 ,,,^:. IIII 0 0 0 0 4
-chrM 249 T 4 ,,,. II)I 0 0 0 0 3
-chrM 250 G 4 ,,,. II2I 0 0 0 0 3
-chrM 251 A 4 ,,,. II(I 0 0 0 0 3
-chrM 252 T 4 ,,,. II*I 0 0 0 0 3
-chrM 253 A 4 ,,,. II7I 0 0 0 0 4
-chrM 254 A 4 ,,,. II1I 0 0 0 0 3
-chrM 255 A 4 ,,,. II?I 0 0 0 0 4
-chrM 256 A 4 ,,,. II9I 0 0 0 0 4
-chrM 257 A 4 ,,,. II?I 0 0 0 0 4
-chrM 258 T 4 ,,,. II$I 0 0 0 0 3
-chrM 259 T 5 ,,,.^:. II&II 0 0 0 0 4
-chrM 260 A 5 ,,,.. II,II 0 0 0 0 4
-chrM 261 A 5 ,,,.. II/II 0 0 0 0 4
-chrM 262 G 5 ,,,.. II5II 0 0 0 0 5
-chrM 263 C 5 ,,a.. II%II 0 0 0 0 4
-chrM 264 T 5 ,$,$,.. II%II 0 0 0 0 4
-chrM 265 A 3 ,.. )II 0 0 0 0 2
-chrM 266 T 3 ,.. +II 0 0 0 0 2
-chrM 267 G 4 ,..^:. *III 0 0 0 0 3
-chrM 268 A 4 ,... EIII 0 0 0 0 4
-chrM 269 A 4 ,... =III 0 0 0 0 4
-chrM 270 C 4 a... ;III 1 0 0 0 4
-chrM 271 G 4 ,... ;III 0 0 0 0 4
-chrM 272 A 4 ,... 8@II 0 0 0 0 4
-chrM 273 A 4 ,... 1III 0 0 0 0 3
-chrM 274 A 4 ,... ICII 0 0 0 0 4
-chrM 275 G 4 ,... IIII 0 0 0 0 4
-chrM 276 T 4 ,... IIII 0 0 0 0 4
-chrM 277 T 4 ,... IIII 0 0 0 0 4
-chrM 278 C 4 ,... IIII 0 0 0 0 4
-chrM 279 G 4 ,$... IIII 0 0 0 0 4
-chrM 280 A 3 ... III 0 0 0 0 3
-chrM 281 C 3 ... GII 0 0 0 0 3
-chrM 282 T 3 ... III 0 0 0 0 3
-chrM 283 A 3 .$.. IFI 0 0 0 0 3
-chrM 284 A 3 ..^:, IAI 0 0 0 0 3
-chrM 285 G 3 .., ;II 0 0 0 0 3
-chrM 286 T 4 ..,^:. IIII 0 0 0 0 4
-chrM 287 C 4 ..,. II4I 0 0 0 0 3
-chrM 288 A 4 ..,. @III 0 0 0 0 4
-chrM 289 T 4 ..,. IIII 0 0 0 0 4
-chrM 290 A 4 ..,. @:II 0 0 0 0 4
-chrM 291 T 4 ..,. IIAI 0 0 0 0 4
-chrM 292 T 4 ..,. IIII 0 0 0 0 4
-chrM 293 A 4 ..,. 8;II 0 0 0 0 4
-chrM 294 A 4 .$.,. I<II 0 0 0 0 4
-chrM 295 A 3 .,. 4II 0 0 0 0 2
-chrM 296 T 3 .,. III 0 0 0 0 3
-chrM 297 A 3 .,. BII 0 0 0 0 3
-chrM 298 A 3 .,. CII 0 0 0 0 3
-chrM 299 G 3 .,. III 0 0 0 0 3
-chrM 300 G 3 .,. ;II 0 0 0 0 3
-chrM 301 G 3 .,. III 0 0 0 0 3
-chrM 302 T 3 .$,. III 0 0 0 0 3
-chrM 312 T 3 ,.^:. III 0 0 0 0 3
-chrM 313 C 3 ,.. III 0 0 0 0 3
-chrM 314 G 3 ,.. III 0 0 0 0 3
-chrM 315 T 3 ,.. III 0 0 0 0 3
-chrM 316 G 3 ,.. III 0 0 0 0 3
-chrM 317 C 3 ,.. III 0 0 0 0 3
-chrM 318 C 3 ,.. III 0 0 0 0 3
-chrM 319 A 3 ,$.. III 0 0 0 0 3
-chrM 390 A 3 ..^:. III 0 0 0 0 3
-chrM 391 A 3 ... >II 0 0 0 0 3
-chrM 392 A 3 ... III 0 0 0 0 3
-chrM 393 T 3 ... III 0 0 0 0 3
-chrM 394 A 3 ... III 0 0 0 0 3
-chrM 395 A 3 .$.. III 0 0 0 0 3
-chrM 400 A 3 ..^:. III 0 0 0 0 3
-chrM 401 A 3 ... III 0 0 0 0 3
-chrM 402 A 3 ... III 0 0 0 0 3
-chrM 403 A 3 ... III 0 0 0 0 3
-chrM 404 C 3 ... III 0 0 0 0 3
-chrM 405 C 3 ... III 0 0 0 0 3
-chrM 406 C 3 ... EII 0 0 0 0 3
-chrM 407 A 3 ... III 0 0 0 0 3
-chrM 408 G 3 ... III 0 0 0 0 3
-chrM 409 T 3 ... 0II 0 0 0 0 2
-chrM 410 T 3 ... III 0 0 0 0 3
-chrM 411 A 4 ...^:, IIII 0 0 0 0 4
-chrM 412 A 4 ..., FIII 0 0 0 0 4
-chrM 413 G 4 ..., IIIH 0 0 0 0 4
-chrM 414 C 4 ...a III2 0 0 0 0 3
+chrM 45 A 3 ..^:. III 3 0 0 0 3
+chrM 46 G 4 ...^:. IIII 0 0 4 0 4
+chrM 47 A 5 ....^:, IIIII 5 0 0 0 5
+chrM 48 T 5 ...., IIIII 0 0 0 5 5
+chrM 49 G 5 ...., IIIII 0 0 5 0 5
+chrM 50 A 5 ...., IIIII 5 0 0 0 5
+chrM 51 G 5 ...., IIIII 0 0 5 0 5
+chrM 52 T 5 ...., IIIII 0 0 0 5 5
+chrM 53 A 5 ...., IIIII 5 0 0 0 5
+chrM 54 T 5 ...., IIIII 0 0 0 5 5
+chrM 55 T 5 ...., IIIII 0 0 0 5 5
+chrM 56 C 5 ...., IIIII 0 5 0 0 5
+chrM 57 T 5 ...., IIIII 0 0 0 5 5
+chrM 58 T 5 ...., IIIII 0 0 0 5 5
+chrM 59 A 5 ...., IIIII 5 0 0 0 5
+chrM 60 C 5 ...., IIIII 0 5 0 0 5
+chrM 61 T 5 ...., IIIII 0 0 0 5 5
+chrM 62 C 5 ...., IIIII 0 5 0 0 5
+chrM 63 C 5 ...., IIIII 0 5 0 0 5
+chrM 64 A 5 ...., IIIII 5 0 0 0 5
+chrM 65 T 5 ...., IIIII 0 0 0 5 5
+chrM 66 A 5 ...., IIIII 5 0 0 0 5
+chrM 67 A 5 ...., IIIII 5 0 0 0 5
+chrM 68 A 5 ...., IIICI 5 0 0 0 5
+chrM 69 C 5 ...., IIIII 0 5 0 0 5
+chrM 70 A 5 ...., IIIII 5 0 0 0 5
+chrM 71 C 5 ...., IIIII 0 5 0 0 5
+chrM 72 A 5 ...., IAIII 5 0 0 0 5
+chrM 73 T 5 ...., IIIII 0 0 0 5 5
+chrM 74 A 5 ...., IIIII 5 0 0 0 5
+chrM 75 G 5 ...., %IIII 0 0 4 0 4
+chrM 76 G 5 T..., *IIII 0 0 4 0 4
+chrM 77 C 5 .$..., GIIII 0 5 0 0 5
+chrM 78 T 4 .$.., IIII 0 0 0 4 4
+chrM 79 T 3 .., III 0 0 0 3 3
+chrM 80 G 3 .$., I1I 0 0 2 0 2
+chrM 181 A 3 ,,^:, III 3 0 0 0 3
+chrM 182 G 3 ,,, III 0 0 3 0 3
+chrM 183 G 3 ,,, III 0 0 3 0 3
+chrM 184 T 3 ,,, III 0 0 0 3 3
+chrM 185 A 3 ,,, III 3 0 0 0 3
+chrM 186 T 3 ,,, III 0 0 0 3 3
+chrM 187 C 3 ,,, III 0 3 0 0 3
+chrM 188 A 3 ,,, III 3 0 0 0 3
+chrM 189 A 3 ,,, III 3 0 0 0 3
+chrM 190 G 3 ,,, III 0 0 3 0 3
+chrM 191 C 3 ,$,, III 0 3 0 0 3
+chrM 229 A 3 .^:,^:, %II 2 0 0 0 2
+chrM 230 C 3 .,, 8II 0 3 0 0 3
+chrM 231 C 3 .,, 9II 0 3 0 0 3
+chrM 232 C 3 .,, III 0 3 0 0 3
+chrM 233 C 3 .,, AI' 0 2 0 0 2
+chrM 234 C 3 .,, DI+ 0 2 0 0 2
+chrM 235 A 3 .,, &I@ 2 0 0 0 2
+chrM 236 C 3 .$,a +I$ 0 1 0 0 1
+chrM 244 A 3 ,,^:, II; 3 0 0 0 3
+chrM 245 G 3 ,,, II* 0 0 2 0 2
+chrM 246 C 3 ,,n II" 0 2 0 0 2
+chrM 247 A 3 ,,, III 3 0 0 0 3
+chrM 248 G 4 ,,,^:. IIII 0 0 4 0 4
+chrM 249 T 4 ,,,. II)I 0 0 0 3 3
+chrM 250 G 4 ,,,. II2I 0 0 3 0 3
+chrM 251 A 4 ,,,. II(I 3 0 0 0 3
+chrM 252 T 4 ,,,. II*I 0 0 0 3 3
+chrM 253 A 4 ,,,. II7I 4 0 0 0 4
+chrM 254 A 4 ,,,. II1I 3 0 0 0 3
+chrM 255 A 4 ,,,. II?I 4 0 0 0 4
+chrM 256 A 4 ,,,. II9I 4 0 0 0 4
+chrM 257 A 4 ,,,. II?I 4 0 0 0 4
+chrM 258 T 4 ,,,. II$I 0 0 0 3 3
+chrM 259 T 5 ,,,.^:. II&II 0 0 0 4 4
+chrM 260 A 5 ,,,.. II,II 4 0 0 0 4
+chrM 261 A 5 ,,,.. II/II 4 0 0 0 4
+chrM 262 G 5 ,,,.. II5II 0 0 5 0 5
+chrM 263 C 5 ,,a.. II%II 0 4 0 0 4
+chrM 264 T 5 ,$,$,.. II%II 0 0 0 4 4
+chrM 265 A 3 ,.. )II 2 0 0 0 2
+chrM 266 T 3 ,.. +II 0 0 0 2 2
+chrM 267 G 4 ,..^:. *III 0 0 3 0 3
+chrM 268 A 4 ,... EIII 4 0 0 0 4
+chrM 269 A 4 ,... =III 4 0 0 0 4
+chrM 270 C 4 a... ;III 1 3 0 0 4
+chrM 271 G 4 ,... ;III 0 0 4 0 4
+chrM 272 A 4 ,... 8@II 4 0 0 0 4
+chrM 273 A 4 ,... 1III 3 0 0 0 3
+chrM 274 A 4 ,... ICII 4 0 0 0 4
+chrM 275 G 4 ,... IIII 0 0 4 0 4
+chrM 276 T 4 ,... IIII 0 0 0 4 4
+chrM 277 T 4 ,... IIII 0 0 0 4 4
+chrM 278 C 4 ,... IIII 0 4 0 0 4
+chrM 279 G 4 ,$... IIII 0 0 4 0 4
+chrM 280 A 3 ... III 3 0 0 0 3
+chrM 281 C 3 ... GII 0 3 0 0 3
+chrM 282 T 3 ... III 0 0 0 3 3
+chrM 283 A 3 .$.. IFI 3 0 0 0 3
+chrM 284 A 3 ..^:, IAI 3 0 0 0 3
+chrM 285 G 3 .., ;II 0 0 3 0 3
+chrM 286 T 4 ..,^:. IIII 0 0 0 4 4
+chrM 287 C 4 ..,. II4I 0 3 0 0 3
+chrM 288 A 4 ..,. @III 4 0 0 0 4
+chrM 289 T 4 ..,. IIII 0 0 0 4 4
+chrM 290 A 4 ..,. @:II 4 0 0 0 4
+chrM 291 T 4 ..,. IIAI 0 0 0 4 4
+chrM 292 T 4 ..,. IIII 0 0 0 4 4
+chrM 293 A 4 ..,. 8;II 4 0 0 0 4
+chrM 294 A 4 .$.,. I<II 4 0 0 0 4
+chrM 295 A 3 .,. 4II 2 0 0 0 2
+chrM 296 T 3 .,. III 0 0 0 3 3
+chrM 297 A 3 .,. BII 3 0 0 0 3
+chrM 298 A 3 .,. CII 3 0 0 0 3
+chrM 299 G 3 .,. III 0 0 3 0 3
+chrM 300 G 3 .,. ;II 0 0 3 0 3
+chrM 301 G 3 .,. III 0 0 3 0 3
+chrM 302 T 3 .$,. III 0 0 0 3 3
+chrM 312 T 3 ,.^:. III 0 0 0 3 3
+chrM 313 C 3 ,.. III 0 3 0 0 3
+chrM 314 G 3 ,.. III 0 0 3 0 3
+chrM 315 T 3 ,.. III 0 0 0 3 3
+chrM 316 G 3 ,.. III 0 0 3 0 3
+chrM 317 C 3 ,.. III 0 3 0 0 3
+chrM 318 C 3 ,.. III 0 3 0 0 3
+chrM 319 A 3 ,$.. III 3 0 0 0 3
+chrM 390 A 3 ..^:. III 3 0 0 0 3
+chrM 391 A 3 ... >II 3 0 0 0 3
+chrM 392 A 3 ... III 3 0 0 0 3
+chrM 393 T 3 ... III 0 0 0 3 3
+chrM 394 A 3 ... III 3 0 0 0 3
+chrM 395 A 3 .$.. III 3 0 0 0 3
+chrM 400 A 3 ..^:. III 3 0 0 0 3
+chrM 401 A 3 ... III 3 0 0 0 3
+chrM 402 A 3 ... III 3 0 0 0 3
+chrM 403 A 3 ... III 3 0 0 0 3
+chrM 404 C 3 ... III 0 3 0 0 3
+chrM 405 C 3 ... III 0 3 0 0 3
+chrM 406 C 3 ... EII 0 3 0 0 3
+chrM 407 A 3 ... III 3 0 0 0 3
+chrM 408 G 3 ... III 0 0 3 0 3
+chrM 409 T 3 ... 0II 0 0 0 2 2
+chrM 410 T 3 ... III 0 0 0 3 3
+chrM 411 A 4 ...^:, IIII 4 0 0 0 4
+chrM 412 A 4 ..., FIII 4 0 0 0 4
+chrM 413 G 4 ..., IIIH 0 0 4 0 4
+chrM 414 C 4 ...a III2 0 3 0 0 3
chrM 415 C 4 TTTt III7 0 0 0 4 4
-chrM 416 G 5 ...,^:, II?7: 0 0 0 0 5
-chrM 417 T 5 ...,, ;IIE@ 0 0 0 0 5
-chrM 418 A 5 ...,, IIIII 0 0 0 0 5
-chrM 419 A 5 ...,, IIIII 0 0 0 0 5
-chrM 420 A 5 ...,, FIIII 0 0 0 0 5
-chrM 421 A 5 ...,, IIIII 0 0 0 0 5
-chrM 422 A 5 ...,, >IIII 0 0 0 0 5
-chrM 423 G 6 ...,,^:, HII/I, 0 0 0 0 4
-chrM 424 C 6 .$..a,, ;II-I: 0 0 0 0 5
-chrM 425 T 5 .$.,,, IIIIF 0 0 0 0 5
-chrM 426 A 5 .,,,^:, III@I 0 0 0 0 5
-chrM 427 C 5 .,,,, III$I 0 0 0 0 4
-chrM 428 A 5 .,,,, IIIII 0 0 0 0 5
-chrM 429 A 5 .,,,, IIII. 0 0 0 0 4
-chrM 430 C 5 .,,,a I%I5' 0 0 0 0 3
-chrM 431 C 5 .,,,, I(I5< 0 0 0 0 4
-chrM 432 A 5 .,,,, IIIII 0 0 0 0 5
-chrM 433 A 5 .,,,, 0IIII 0 0 0 0 4
-chrM 434 A 5 .,,,, =IIII 0 0 0 0 5
-chrM 435 G 5 .$,,,, EIIII 0 0 0 0 5
-chrM 436 T 4 ,,,, III5 0 0 0 0 4
-chrM 437 A 4 ,,,, IIII 0 0 0 0 4
-chrM 438 A 4 ,,,, IIII 0 0 0 0 4
-chrM 439 A 4 ,,,, IIII 0 0 0 0 4
-chrM 440 A 4 ,,,, IIIF 0 0 0 0 4
-chrM 441 T 6 ,,,,^:.^:. III;II 0 0 0 0 6
-chrM 442 A 6 ,,,,.. IIIIII 0 0 0 0 6
-chrM 443 G 6 ,,,,.. IIIIII 0 0 0 0 6
-chrM 444 A 6 ,,,,.. IIIIII 0 0 0 0 6
-chrM 445 C 6 ,,,,.. IIIIII 0 0 0 0 6
-chrM 446 T 6 ,$,,,.. IIIIII 0 0 0 0 6
-chrM 447 A 5 ,,,.. IIIII 0 0 0 0 5
-chrM 448 C 5 ,,,.. IIIII 0 0 0 0 5
-chrM 449 G 6 ,,,..^:, IIIII6 0 0 0 0 6
-chrM 450 A 6 ,,,.., IIIIII 0 0 0 0 6
-chrM 451 A 6 ,$,,.., IIIIII 0 0 0 0 6
-chrM 452 A 5 ,,.., IIIII 0 0 0 0 5
-chrM 453 G 5 ,,.., IIIII 0 0 0 0 5
-chrM 454 T 6 ,,..,^:, IIIIII 0 0 0 0 6
-chrM 455 G 6 ,,..,, IIIIII 0 0 0 0 6
-chrM 456 A 6 ,,..,, IIIIII 0 0 0 0 6
-chrM 457 C 6 ,,..,, IIIII= 0 0 0 0 6
-chrM 458 T 6 ,$,..,, IIIIII 0 0 0 0 6
-chrM 459 T 5 ,..,, IIIII 0 0 0 0 5
-chrM 460 T 5 ,..,, IIIII 0 0 0 0 5
-chrM 461 A 5 ,$..,, IIIII 0 0 0 0 5
-chrM 462 A 4 ..,, IIII 0 0 0 0 4
-chrM 463 T 4 ..,, IIIC 0 0 0 0 4
-chrM 464 A 4 ..,, IIII 0 0 0 0 4
-chrM 465 C 4 ..,, IIII 0 0 0 0 4
-chrM 466 C 4 ..,, IIII 0 0 0 0 4
-chrM 467 T 4 ..,, II>? 0 0 0 0 4
-chrM 468 C 4 ..,, IIII 0 0 0 0 4
-chrM 469 T 4 ..,, IIIG 0 0 0 0 4
-chrM 470 G 4 ..,, %III 0 0 0 0 3
-chrM 471 A 4 ..,, 4;II 0 0 0 0 3
-chrM 472 C 4 ..,, II3I 0 0 0 0 3
-chrM 473 T 4 ..,, IIII 0 0 0 0 4
-chrM 474 A 4 ..,, ;III 0 0 0 0 4
-chrM 475 C 4 ..,, IIII 0 0 0 0 4
-chrM 476 A 4 .$.$,, 32II 0 0 0 0 2
-chrM 480 T 3 ,,^:. III 0 0 0 0 3
-chrM 481 A 3 ,,. III 0 0 0 0 3
-chrM 482 G 3 ,,. III 0 0 0 0 3
-chrM 483 C 4 ,,.^:, IIIE 0 0 0 0 4
-chrM 484 T 4 ,$,., III9 0 0 0 0 4
-chrM 485 A 3 ,., III 0 0 0 0 3
-chrM 486 A 3 ,., III 0 0 0 0 3
-chrM 487 G 3 ,., III 0 0 0 0 3
-chrM 488 A 3 ,., III 0 0 0 0 3
-chrM 489 C 3 ,$., III 0 0 0 0 3
-chrM 510 C 3 .,^:. III 0 0 0 0 3
-chrM 511 C 3 .,. III 0 0 0 0 3
-chrM 512 A 3 .,. 6II 0 0 0 0 3
-chrM 513 C 3 .,. III 0 0 0 0 3
-chrM 514 T 3 .,. III 0 0 0 0 3
-chrM 515 A 3 .$,. III 0 0 0 0 3
-chrM 518 C 3 ,$.^:. III 0 0 0 0 3
-chrM 520 T 3 ..^:, III 0 0 0 0 3
-chrM 521 A 3 .., III 0 0 0 0 3
-chrM 522 G 3 .., II, 0 0 0 0 2
-chrM 523 C 3 .., III 0 0 0 0 3
-chrM 524 C 3 .., II7 0 0 0 0 3
-chrM 525 C 3 .., III 0 0 0 0 3
-chrM 526 T 3 .., II? 0 0 0 0 3
-chrM 527 A 3 .., III 0 0 0 0 3
-chrM 528 A 3 .., III 0 0 0 0 3
-chrM 529 A 3 .., FII 0 0 0 0 3
-chrM 530 C 3 .., II+ 0 0 0 0 2
-chrM 531 T 3 .., III 0 0 0 0 3
-chrM 532 A 3 .., :II 0 0 0 0 3
-chrM 533 A 3 .., DGI 0 0 0 0 3
-chrM 534 A 3 .., III 0 0 0 0 3
-chrM 535 A 3 .., ?CI 0 0 0 0 3
-chrM 536 T 3 .., III 0 0 0 0 3
-chrM 537 A 3 .., 9II 0 0 0 0 3
-chrM 538 G 3 .., III 0 0 0 0 3
-chrM 539 C 3 .., III 0 0 0 0 3
-chrM 540 T 3 .., III 0 0 0 0 3
-chrM 541 T 3 .., III 0 0 0 0 3
-chrM 542 A 4 ..,^:. IIII 0 0 0 0 4
-chrM 543 C 4 ..,. IIII 0 0 0 0 4
-chrM 544 C 4 ..,. IIII 0 0 0 0 4
-chrM 545 A 4 N$.,. "III 0 0 0 0 3
-chrM 546 C 3 .,. III 0 0 0 0 3
-chrM 547 A 3 .,. DII 0 0 0 0 3
-chrM 548 A 3 .,. EII 0 0 0 0 3
-chrM 549 C 3 .,. III 0 0 0 0 3
-chrM 550 A 3 .,. III 0 0 0 0 3
-chrM 551 A 3 .,. 6II 0 0 0 0 3
-chrM 552 A 3 .,. GII 0 0 0 0 3
-chrM 553 G 3 .$,. ?II 0 0 0 0 3
-chrM 577 A 3 .$.^:. III 0 0 0 0 3
-chrM 580 A 3 ..^:, III 0 0 0 0 3
-chrM 581 G 3 .., III 0 0 0 0 3
-chrM 582 C 3 .., II? 0 0 0 0 3
-chrM 583 C 3 ..a II- 0 0 0 0 2
-chrM 584 T 3 .., IIH 0 0 0 0 3
-chrM 585 A 3 .., III 0 0 0 0 3
-chrM 586 A 3 .., III 0 0 0 0 3
-chrM 587 A 4 ..,^:, IIII 0 0 0 0 4
-chrM 588 A 4 ..,, IIII 0 0 0 0 4
-chrM 589 C 4 ..,, IIII 0 0 0 0 4
-chrM 590 T 4 ..,, II.5 0 0 0 0 3
-chrM 591 C 4 .$.,, II<I 0 0 0 0 4
-chrM 592 A 3 .,, III 0 0 0 0 3
-chrM 593 A 3 .,, III 0 0 0 0 3
-chrM 594 A 3 .,, III 0 0 0 0 3
-chrM 595 G 3 .,, III 0 0 0 0 3
-chrM 596 G 3 .,, III 0 0 0 0 3
-chrM 597 A 3 .,, :EI 0 0 0 0 3
-chrM 598 C 3 .,, III 0 0 0 0 3
-chrM 599 T 4 .,,^:. II@I 0 0 0 0 4
-chrM 600 T 4 .,,. IIII 0 0 0 0 4
-chrM 601 G 4 .,,. IIII 0 0 0 0 4
-chrM 602 G 4 .,,. IIII 0 0 0 0 4
-chrM 603 C 4 .,,. IIII 0 0 0 0 4
-chrM 604 G 4 .,,. IIII 0 0 0 0 4
-chrM 605 G 4 .,,. IIII 0 0 0 0 4
-chrM 606 T 4 .,,. 5III 0 0 0 0 4
-chrM 607 G 4 .,,. IIII 0 0 0 0 4
-chrM 608 C 4 .,,. *III 0 0 0 0 3
-chrM 609 T 5 .,,.^:, ?IIII 0 0 0 0 5
-chrM 610 T 5 .,,., IIII8 0 0 0 0 5
-chrM 611 T 5 .,,., IIIII 0 0 0 0 5
-chrM 612 A 5 T$,,., 3IIII 0 0 0 0 4
-chrM 613 C 4 ,,., III) 0 0 0 0 3
-chrM 614 A 4 ,,., IIII 0 0 0 0 4
-chrM 615 T 4 ,$,., IIII 0 0 0 0 4
-chrM 616 C 3 ,., III 0 0 0 0 3
-chrM 617 C 3 ,., III 0 0 0 0 3
-chrM 618 C 3 ,., III 0 0 0 0 3
-chrM 619 T 3 ,., IF9 0 0 0 0 3
-chrM 620 C 3 ,., II7 0 0 0 0 3
-chrM 621 T 3 ,., III 0 0 0 0 3
-chrM 622 A 3 ,$., I7I 0 0 0 0 3
-chrM 652 C 3 .,^:, II) 0 0 0 0 2
-chrM 653 G 3 .,, II2 0 0 0 0 2
-chrM 654 A 3 .,, III 0 0 0 0 3
-chrM 655 T 4 .,,^:. II*I 0 0 0 0 3
-chrM 656 A 4 .,,. IIII 0 0 0 0 4
-chrM 657 A 4 .,,. IIII 0 0 0 0 4
-chrM 658 A 4 .,,. IIII 0 0 0 0 4
-chrM 659 C 4 .,,. IIII 0 0 0 0 4
-chrM 660 C 4 .,,. IIII 0 0 0 0 4
-chrM 661 C 4 .,,. IIII 0 0 0 0 4
-chrM 662 C 4 .,,. IIFI 0 0 0 0 4
-chrM 663 A 4 .,,. =IDI 0 0 0 0 4
-chrM 664 C 4 .,,. II6I 0 0 0 0 4
-chrM 665 C 5 .,,.^:, IIIII 0 0 0 0 5
-chrM 666 A 5 .,,., BIIII 0 0 0 0 5
-chrM 667 T 5 .,,., II5I+ 0 0 0 0 4
-chrM 668 C 5 .,,., IIIII 0 0 0 0 5
-chrM 669 C 5 .,,., IIIII 0 0 0 0 5
-chrM 670 C 5 .,a., II.II 0 0 0 0 4
-chrM 671 T 5 .,,., IIIIA 0 0 0 0 5
-chrM 672 T 6 .,,.,^:. FI9I.I 0 0 0 0 5
-chrM 673 G 6 .,,.,. IIIIII 0 0 0 0 6
-chrM 674 C 6 .,,.,. IIIIII 0 0 0 0 6
-chrM 675 T 6 .,,.,. IIIIII 0 0 0 0 6
-chrM 676 A 6 .,,.,. ,IIEII 0 0 0 0 5
-chrM 677 A 7 .,,.,.^:. 3II;III 0 0 0 0 6
-chrM 678 T 7 .,,.,.. IIIIDII 0 0 0 0 7
-chrM 679 T 7 .,,.,.. CIIIIII 0 0 0 0 7
-chrM 680 C 7 .,,.,.. IIIIIII 0 0 0 0 7
-chrM 681 A 7 .$,,.,.. 9IIIIII 0 0 0 0 7
-chrM 682 G 6 ,,.,.. II$III 0 0 0 0 5
-chrM 683 C 6 ,,.,.. IIIIII 0 0 0 0 6
-chrM 684 C 6 ,$,.,.. IIIIII 0 0 0 0 6
-chrM 685 T 5 ,.,.. IIIII 0 0 0 0 5
-chrM 686 A 5 ,.,.. IIIII 0 0 0 0 5
-chrM 687 T 5 ,$.,.. IIIII 0 0 0 0 5
-chrM 688 A 4 .,.. IIII 0 0 0 0 4
-chrM 689 T 4 .,.. IIII 0 0 0 0 4
-chrM 690 A 4 .$,.. IIII 0 0 0 0 4
-chrM 691 C 3 ,.. III 0 0 0 0 3
-chrM 692 C 3 ,.. III 0 0 0 0 3
-chrM 693 G 4 ,..^:, IIII 0 0 0 0 4
-chrM 694 C 4 ,.., IIII 0 0 0 0 4
-chrM 695 C 4 ,.., IIII 0 0 0 0 4
-chrM 696 A 4 ,.., IIII 0 0 0 0 4
-chrM 697 T 4 ,.., IIII 0 0 0 0 4
-chrM 698 C 4 ,.., IIII 0 0 0 0 4
-chrM 699 T 4 ,.., IIII 0 0 0 0 4
-chrM 700 T 4 ,$.., IIII 0 0 0 0 4
-chrM 701 C 3 .., III 0 0 0 0 3
-chrM 702 A 3 .., III 0 0 0 0 3
-chrM 703 G 3 .., 2II 0 0 0 0 2
-chrM 704 C 3 .., III 0 0 0 0 3
-chrM 705 A 3 N., "II 0 0 0 0 2
-chrM 706 A 3 .., I5I 0 0 0 0 3
-chrM 707 A 3 .$., GII 0 0 0 0 3
-chrM 726 A 3 ,,^:. III 0 0 0 0 3
-chrM 727 G 3 ,,. III 0 0 0 0 3
-chrM 728 T 3 ,$,. III 0 0 0 0 3
-chrM 732 C 3 a.^:. $II 0 0 0 0 2
-chrM 733 A 3 ,.. III 0 0 0 0 3
-chrM 734 C 3 ,.. %II 0 0 0 0 2
-chrM 735 A 3 ,.. III 0 0 0 0 3
-chrM 736 A 3 ,.. *II 0 0 0 0 2
-chrM 737 A 3 ,.. III 0 0 0 0 3
-chrM 738 T 3 ,.. III 0 0 0 0 3
-chrM 739 A 3 ,.. III 0 0 0 0 3
-chrM 740 T 3 ,.. III 0 0 0 0 3
-chrM 741 C 3 ,.. III 0 0 0 0 3
-chrM 742 C 3 ,.. III 0 0 0 0 3
-chrM 743 A 3 ,.. III 0 0 0 0 3
-chrM 744 A 3 ,.. III 0 0 0 0 3
-chrM 745 C 3 ,.. III 0 0 0 0 3
-chrM 746 A 3 ,.. IIE 0 0 0 0 3
-chrM 747 T 3 ,.. III 0 0 0 0 3
-chrM 748 A 3 ,.. III 0 0 0 0 3
-chrM 749 A 3 ,.. III 0 0 0 0 3
-chrM 750 A 3 ,.. III 0 0 0 0 3
-chrM 751 A 3 ,.. IAI 0 0 0 0 3
-chrM 752 A 3 ,.. III 0 0 0 0 3
-chrM 753 C 3 ,.. III 0 0 0 0 3
-chrM 754 G 3 ,$.. III 0 0 0 0 3
-chrM 756 T 3 ..^:, III 0 0 0 0 3
-chrM 757 A 3 .., III 0 0 0 0 3
-chrM 758 G 3 .., III 0 0 0 0 3
-chrM 759 G 3 .., III 0 0 0 0 3
-chrM 760 T 3 .., =II 0 0 0 0 3
-chrM 761 C 3 .$., IID 0 0 0 0 3
-chrM 767 G 3 .$,^:, III 0 0 0 0 3
-chrM 769 A 3 ,,^:, III 0 0 0 0 3
-chrM 770 G 3 ,,, III 0 0 0 0 3
-chrM 771 C 3 ,,, IHI 0 0 0 0 3
-chrM 772 C 3 ,a, I)/ 0 0 0 0 1
-chrM 773 C 3 ,,, I7I 0 0 0 0 3
-chrM 774 A 4 ,,,^:. II:I 0 0 0 0 4
-chrM 775 T 4 ,,,. IH.I 0 0 0 0 3
-chrM 776 G 4 ,,,. IIII 0 0 0 0 4
-chrM 777 G 4 ,,,. IIII 0 0 0 0 4
-chrM 778 G 4 ,,,. IIII 0 0 0 0 4
-chrM 779 A 4 ,,,. IIAI 0 0 0 0 4
-chrM 780 T 4 ,,,. IIGI 0 0 0 0 4
-chrM 781 G 4 ,,,. IIII 0 0 0 0 4
-chrM 782 G 4 ,,,. IIII 0 0 0 0 4
-chrM 783 A 4 ,,,. IIII 0 0 0 0 4
-chrM 784 G 4 ,,,. IIII 0 0 0 0 4
-chrM 785 A 4 ,,,. IIII 0 0 0 0 4
-chrM 786 G 4 ,,,. IIII 0 0 0 0 4
-chrM 787 A 4 ,,,. IIII 0 0 0 0 4
-chrM 788 A 4 ,,,. IIII 0 0 0 0 4
-chrM 789 A 4 ,,,. IIII 0 0 0 0 4
-chrM 790 T 5 ,,,.^:. IIIII 0 0 0 0 5
-chrM 791 G 5 ,$,,.. IIIII 0 0 0 0 5
-chrM 792 G 4 ,,.. IIII 0 0 0 0 4
-chrM 793 G 4 ,,.. IIII 0 0 0 0 4
-chrM 794 C 4 ,,.. IIII 0 0 0 0 4
-chrM 795 T 4 ,,.. IIII 0 0 0 0 4
-chrM 796 A 4 ,,.. IIII 0 0 0 0 4
-chrM 797 C 4 ,,.. IIII 0 0 0 0 4
-chrM 798 A 4 ,,.. IIII 0 0 0 0 4
-chrM 799 T 4 ,,.. IIII 0 0 0 0 4
-chrM 800 T 4 ,,.. IIII 0 0 0 0 4
-chrM 801 T 4 ,,.. IIII 0 0 0 0 4
-chrM 802 T 4 ,$,.. IIII 0 0 0 0 4
-chrM 803 C 3 ,.. III 0 0 0 0 3
-chrM 804 T 3 ,$.. III 0 0 0 0 3
-chrM 806 C 3 ..^:. III 0 0 0 0 3
-chrM 807 C 3 ... III 0 0 0 0 3
-chrM 808 C 3 ... III 0 0 0 0 3
-chrM 809 T 3 .$.. III 0 0 0 0 3
-chrM 810 A 3 ..^:, III 0 0 0 0 3
-chrM 811 A 3 .., III 0 0 0 0 3
-chrM 812 G 3 .., II7 0 0 0 0 3
-chrM 813 A 3 .., III 0 0 0 0 3
-chrM 814 A 3 .., III 0 0 0 0 3
-chrM 815 C 3 .., III 0 0 0 0 3
-chrM 816 A 3 .., III 0 0 0 0 3
-chrM 817 A 3 .., III 0 0 0 0 3
-chrM 818 G 3 .., III 0 0 0 0 3
-chrM 819 A 3 .., III 0 0 0 0 3
-chrM 820 A 3 .., &II 0 0 0 0 2
-chrM 821 C 3 .., III 0 0 0 0 3
-chrM 822 T 3 .., III 0 0 0 0 3
-chrM 823 T 3 ..n II" 0 0 0 0 2
-chrM 824 T 3 .., III 0 0 0 0 3
-chrM 825 A 3 .$., III 0 0 0 0 3
-chrM 826 A 3 .,^:. III 0 0 0 0 3
-chrM 827 C 3 .,. III 0 0 0 0 3
-chrM 828 C 3 .,. III 0 0 0 0 3
-chrM 829 C 4 .,.^:, IIII 0 0 0 0 4
-chrM 830 G 4 .,., IIII 0 0 0 0 4
-chrM 831 G 4 .,., IIII 0 0 0 0 4
-chrM 832 A 4 .,., IIII 0 0 0 0 4
-chrM 833 C 4 .,., IIII 0 0 0 0 4
-chrM 834 G 4 .,., IIII 0 0 0 0 4
-chrM 835 A 4 .,., IIII 0 0 0 0 4
-chrM 836 A 4 .,., 8III 0 0 0 0 4
-chrM 837 A 4 .,., IIII 0 0 0 0 4
-chrM 838 G 4 .,., IIII 0 0 0 0 4
-chrM 839 T 5 .,.,^:, 4:IIG 0 0 0 0 4
-chrM 840 C 5 .,.,, IIIII 0 0 0 0 5
-chrM 841 T 5 .$,.,, IIIII 0 0 0 0 5
-chrM 842 C 4 ,.,, IIII 0 0 0 0 4
-chrM 843 C 4 ,.,, IIII 0 0 0 0 4
-chrM 844 A 4 ,.,, IIII 0 0 0 0 4
-chrM 845 T 4 ,$.,, IIII 0 0 0 0 4
-chrM 846 G 3 .,, @II 0 0 0 0 3
-chrM 847 A 3 .,, III 0 0 0 0 3
-chrM 848 A 3 .,, III 0 0 0 0 3
-chrM 849 A 3 .,, III 0 0 0 0 3
-chrM 850 C 3 .,, III 0 0 0 0 3
-chrM 851 T 3 .,, III 0 0 0 0 3
-chrM 852 G 3 .,, III 0 0 0 0 3
-chrM 853 G 3 .,, III 0 0 0 0 3
-chrM 854 A 3 .,, EII 0 0 0 0 3
-chrM 855 G 3 .,, DII 0 0 0 0 3
-chrM 856 A 3 .,, III 0 0 0 0 3
-chrM 857 C 3 .,, III 0 0 0 0 3
-chrM 858 T 4 .,,^:, IIIA 0 0 0 0 4
-chrM 859 A 4 .,,, @III 0 0 0 0 4
-chrM 860 A 4 .,,, IIII 0 0 0 0 4
-chrM 861 A 4 .$,,, EIII 0 0 0 0 4
-chrM 862 G 3 ,,, III 0 0 0 0 3
-chrM 863 G 3 ,,, III 0 0 0 0 3
-chrM 864 A 3 ,$,, III 0 0 0 0 3
-chrM 905 C 3 ,.^:, III 0 0 0 0 3
-chrM 906 A 3 ,., III 0 0 0 0 3
-chrM 907 G 3 ,., III 0 0 0 0 3
-chrM 908 G 3 ,., III 0 0 0 0 3
-chrM 909 C 3 ,., III 0 0 0 0 3
-chrM 910 C 3 ,., III 0 0 0 0 3
-chrM 911 A 4 ,.,^:, IIII 0 0 0 0 4
-chrM 912 T 4 ,.,, IIEG 0 0 0 0 4
-chrM 913 G 4 ,.,, III: 0 0 0 0 4
-chrM 914 A 4 ,.,, IIII 0 0 0 0 4
-chrM 915 A 4 ,.,, IIII 0 0 0 0 4
-chrM 916 G 4 ,.,, III5 0 0 0 0 4
-chrM 917 C 4 ,.,, III5 0 0 0 0 4
-chrM 918 G 4 ,.,, IIII 0 0 0 0 4
-chrM 919 C 4 ,.,, III< 0 0 0 0 4
-chrM 920 G 4 ,.,, IIII 0 0 0 0 4
-chrM 921 C 4 ,.,, IIII 0 0 0 0 4
-chrM 922 A 4 ,.,, IIII 0 0 0 0 4
-chrM 923 C 4 ,.,, III8 0 0 0 0 4
-chrM 924 A 4 ,.,, IFII 0 0 0 0 4
-chrM 925 C 4 ,.,, IIII 0 0 0 0 4
-chrM 926 A 4 ,.,, IIII 0 0 0 0 4
-chrM 927 C 4 ,.,, IIII 0 0 0 0 4
-chrM 928 C 5 ,.,,^:, IIII: 0 0 0 0 5
-chrM 929 G 5 ,.,,, IIIE: 0 0 0 0 5
-chrM 930 C 5 ,.,,, IIIII 0 0 0 0 5
-chrM 931 C 5 ,.,,, IIIIF 0 0 0 0 5
-chrM 932 C 5 ,.,,, IIIIC 0 0 0 0 5
-chrM 933 G 5 ,$.,,, I?II: 0 0 0 0 5
-chrM 934 T 4 .$,,, 4II> 0 0 0 0 3
-chrM 935 C 3 ,,, III 0 0 0 0 3
-chrM 936 A 3 ,,, III 0 0 0 0 3
-chrM 937 C 3 ,,, II1 0 0 0 0 2
-chrM 938 C 3 ,,, III 0 0 0 0 3
-chrM 939 C 3 ,,, III 0 0 0 0 3
-chrM 940 T 3 ,$,, III 0 0 0 0 3
-chrM 958 C 3 ,.^:. III 0 0 0 0 3
-chrM 959 A 3 ,.. III 0 0 0 0 3
-chrM 960 T 3 ,.. III 0 0 0 0 3
-chrM 961 A 3 ,.. III 0 0 0 0 3
-chrM 962 A 3 ,.. III 0 0 0 0 3
-chrM 963 C 4 ,$..^:. IIII 0 0 0 0 4
-chrM 964 A 3 ... I(; 0 0 0 0 2
-chrM 965 T 3 ... III 0 0 0 0 3
-chrM 966 A 4 ...^:. IIII 0 0 0 0 4
-chrM 967 A 4 .... IIII 0 0 0 0 4
-chrM 968 C 4 .... IEII 0 0 0 0 4
-chrM 969 A 4 .... IIII 0 0 0 0 4
-chrM 970 T 4 .... IIII 0 0 0 0 4
-chrM 971 A 4 .... IIII 0 0 0 0 4
-chrM 972 A 4 .... IIII 0 0 0 0 4
-chrM 973 A 4 .... II0I 0 0 0 0 3
-chrM 974 A 5 ....^:. IIIII 0 0 0 0 5
-chrM 975 C 5 ..... IIIII 0 0 0 0 5
-chrM 976 C 5 ..... IIIII 0 0 0 0 5
-chrM 977 G 5 ..... IIIII 0 0 0 0 5
-chrM 978 T 5 ..... IIIII 0 0 0 0 5
-chrM 979 G 5 ..... I0III 0 0 0 0 4
-chrM 980 A 5 ..... IIII4 0 0 0 0 4
-chrM 981 C 5 ..... IIIII 0 0 0 0 5
-chrM 982 C 5 ..... IIIII 0 0 0 0 5
-chrM 983 C 5 ..... IIIII 0 0 0 0 5
-chrM 984 A 5 ..... -IGII 0 0 0 0 4
-chrM 985 A 5 ..... 4GIII 0 0 0 0 4
-chrM 986 A 5 ..... BDGII 0 0 0 0 5
-chrM 987 C 5 ..... IDIII 0 0 0 0 5
-chrM 988 A 5 ..... @<III 0 0 0 0 5
-chrM 989 T 5 ..... IIIII 0 0 0 0 5
-chrM 990 A 5 .$.... I@III 0 0 0 0 5
-chrM 991 T 4 .... IICI 0 0 0 0 4
-chrM 992 G 4 T... )III 0 0 0 0 3
-chrM 993 A 4 .$... ?ICI 0 0 0 0 4
-chrM 994 A 3 ... III 0 0 0 0 3
-chrM 995 A 3 ... III 0 0 0 0 3
-chrM 996 G 3 ... III 0 0 0 0 3
-chrM 997 G 3 ... III 0 0 0 0 3
-chrM 998 A 3 .$.. 4II 0 0 0 0 2
-chrM 999 G 3 ..^:. III 0 0 0 0 3
-chrM 1000 A 3 ... III 0 0 0 0 3
-chrM 1001 C 3 .$.. III 0 0 0 0 3
-chrM 1043 A 3 ..^:, III 0 0 0 0 3
-chrM 1044 A 3 .., III 0 0 0 0 3
-chrM 1045 C 3 .., II7 0 0 0 0 3
-chrM 1046 C 3 .., II- 0 0 0 0 2
-chrM 1047 A 3 .., III 0 0 0 0 3
-chrM 1048 A 3 .., III 0 0 0 0 3
-chrM 1049 A 3 .., III 0 0 0 0 3
-chrM 1050 G 3 .., III 0 0 0 0 3
-chrM 1051 T 3 .., III 0 0 0 0 3
-chrM 1052 G 3 .., III 0 0 0 0 3
-chrM 1053 T 3 .., GII 0 0 0 0 3
-chrM 1054 A 3 .., III 0 0 0 0 3
-chrM 1055 G 3 .., :II 0 0 0 0 3
-chrM 1056 C 3 ..a HI% 0 0 0 0 2
-chrM 1057 T 3 .., III 0 0 0 0 3
-chrM 1058 T 3 .., III 0 0 0 0 3
-chrM 1059 A 3 .., BII 0 0 0 0 3
-chrM 1060 A 3 .., GII 0 0 0 0 3
-chrM 1061 A 3 .., HII 0 0 0 0 3
-chrM 1062 C 3 .., III 0 0 0 0 3
-chrM 1063 A 3 .., DII 0 0 0 0 3
-chrM 1064 A 3 .., BII 0 0 0 0 3
-chrM 1065 A 3 .., 1II 0 0 0 0 2
-chrM 1066 G 3 .$., &II 0 0 0 0 2
+chrM 416 G 5 ...,^:, II?7: 0 0 5 0 5
+chrM 417 T 5 ...,, ;IIE@ 0 0 0 5 5
+chrM 418 A 5 ...,, IIIII 5 0 0 0 5
+chrM 419 A 5 ...,, IIIII 5 0 0 0 5
+chrM 420 A 5 ...,, FIIII 5 0 0 0 5
+chrM 421 A 5 ...,, IIIII 5 0 0 0 5
+chrM 422 A 5 ...,, >IIII 5 0 0 0 5
+chrM 423 G 6 ...,,^:, HII/I, 0 0 4 0 4
+chrM 424 C 6 .$..a,, ;II-I: 0 5 0 0 5
+chrM 425 T 5 .$.,,, IIIIF 0 0 0 5 5
+chrM 426 A 5 .,,,^:, III@I 5 0 0 0 5
+chrM 427 C 5 .,,,, III$I 0 4 0 0 4
+chrM 428 A 5 .,,,, IIIII 5 0 0 0 5
+chrM 429 A 5 .,,,, IIII. 4 0 0 0 4
+chrM 430 C 5 .,,,a I%I5' 0 3 0 0 3
+chrM 431 C 5 .,,,, I(I5< 0 4 0 0 4
+chrM 432 A 5 .,,,, IIIII 5 0 0 0 5
+chrM 433 A 5 .,,,, 0IIII 4 0 0 0 4
+chrM 434 A 5 .,,,, =IIII 5 0 0 0 5
+chrM 435 G 5 .$,,,, EIIII 0 0 5 0 5
+chrM 436 T 4 ,,,, III5 0 0 0 4 4
+chrM 437 A 4 ,,,, IIII 4 0 0 0 4
+chrM 438 A 4 ,,,, IIII 4 0 0 0 4
+chrM 439 A 4 ,,,, IIII 4 0 0 0 4
+chrM 440 A 4 ,,,, IIIF 4 0 0 0 4
+chrM 441 T 6 ,,,,^:.^:. III;II 0 0 0 6 6
+chrM 442 A 6 ,,,,.. IIIIII 6 0 0 0 6
+chrM 443 G 6 ,,,,.. IIIIII 0 0 6 0 6
+chrM 444 A 6 ,,,,.. IIIIII 6 0 0 0 6
+chrM 445 C 6 ,,,,.. IIIIII 0 6 0 0 6
+chrM 446 T 6 ,$,,,.. IIIIII 0 0 0 6 6
+chrM 447 A 5 ,,,.. IIIII 5 0 0 0 5
+chrM 448 C 5 ,,,.. IIIII 0 5 0 0 5
+chrM 449 G 6 ,,,..^:, IIIII6 0 0 6 0 6
+chrM 450 A 6 ,,,.., IIIIII 6 0 0 0 6
+chrM 451 A 6 ,$,,.., IIIIII 6 0 0 0 6
+chrM 452 A 5 ,,.., IIIII 5 0 0 0 5
+chrM 453 G 5 ,,.., IIIII 0 0 5 0 5
+chrM 454 T 6 ,,..,^:, IIIIII 0 0 0 6 6
+chrM 455 G 6 ,,..,, IIIIII 0 0 6 0 6
+chrM 456 A 6 ,,..,, IIIIII 6 0 0 0 6
+chrM 457 C 6 ,,..,, IIIII= 0 6 0 0 6
+chrM 458 T 6 ,$,..,, IIIIII 0 0 0 6 6
+chrM 459 T 5 ,..,, IIIII 0 0 0 5 5
+chrM 460 T 5 ,..,, IIIII 0 0 0 5 5
+chrM 461 A 5 ,$..,, IIIII 5 0 0 0 5
+chrM 462 A 4 ..,, IIII 4 0 0 0 4
+chrM 463 T 4 ..,, IIIC 0 0 0 4 4
+chrM 464 A 4 ..,, IIII 4 0 0 0 4
+chrM 465 C 4 ..,, IIII 0 4 0 0 4
+chrM 466 C 4 ..,, IIII 0 4 0 0 4
+chrM 467 T 4 ..,, II>? 0 0 0 4 4
+chrM 468 C 4 ..,, IIII 0 4 0 0 4
+chrM 469 T 4 ..,, IIIG 0 0 0 4 4
+chrM 470 G 4 ..,, %III 0 0 3 0 3
+chrM 471 A 4 ..,, 4;II 3 0 0 0 3
+chrM 472 C 4 ..,, II3I 0 3 0 0 3
+chrM 473 T 4 ..,, IIII 0 0 0 4 4
+chrM 474 A 4 ..,, ;III 4 0 0 0 4
+chrM 475 C 4 ..,, IIII 0 4 0 0 4
+chrM 476 A 4 .$.$,, 32II 2 0 0 0 2
+chrM 480 T 3 ,,^:. III 0 0 0 3 3
+chrM 481 A 3 ,,. III 3 0 0 0 3
+chrM 482 G 3 ,,. III 0 0 3 0 3
+chrM 483 C 4 ,,.^:, IIIE 0 4 0 0 4
+chrM 484 T 4 ,$,., III9 0 0 0 4 4
+chrM 485 A 3 ,., III 3 0 0 0 3
+chrM 486 A 3 ,., III 3 0 0 0 3
+chrM 487 G 3 ,., III 0 0 3 0 3
+chrM 488 A 3 ,., III 3 0 0 0 3
+chrM 489 C 3 ,$., III 0 3 0 0 3
+chrM 510 C 3 .,^:. III 0 3 0 0 3
+chrM 511 C 3 .,. III 0 3 0 0 3
+chrM 512 A 3 .,. 6II 3 0 0 0 3
+chrM 513 C 3 .,. III 0 3 0 0 3
+chrM 514 T 3 .,. III 0 0 0 3 3
+chrM 515 A 3 .$,. III 3 0 0 0 3
+chrM 518 C 3 ,$.^:. III 0 3 0 0 3
+chrM 520 T 3 ..^:, III 0 0 0 3 3
+chrM 521 A 3 .., III 3 0 0 0 3
+chrM 522 G 3 .., II, 0 0 2 0 2
+chrM 523 C 3 .., III 0 3 0 0 3
+chrM 524 C 3 .., II7 0 3 0 0 3
+chrM 525 C 3 .., III 0 3 0 0 3
+chrM 526 T 3 .., II? 0 0 0 3 3
+chrM 527 A 3 .., III 3 0 0 0 3
+chrM 528 A 3 .., III 3 0 0 0 3
+chrM 529 A 3 .., FII 3 0 0 0 3
+chrM 530 C 3 .., II+ 0 2 0 0 2
+chrM 531 T 3 .., III 0 0 0 3 3
+chrM 532 A 3 .., :II 3 0 0 0 3
+chrM 533 A 3 .., DGI 3 0 0 0 3
+chrM 534 A 3 .., III 3 0 0 0 3
+chrM 535 A 3 .., ?CI 3 0 0 0 3
+chrM 536 T 3 .., III 0 0 0 3 3
+chrM 537 A 3 .., 9II 3 0 0 0 3
+chrM 538 G 3 .., III 0 0 3 0 3
+chrM 539 C 3 .., III 0 3 0 0 3
+chrM 540 T 3 .., III 0 0 0 3 3
+chrM 541 T 3 .., III 0 0 0 3 3
+chrM 542 A 4 ..,^:. IIII 4 0 0 0 4
+chrM 543 C 4 ..,. IIII 0 4 0 0 4
+chrM 544 C 4 ..,. IIII 0 4 0 0 4
+chrM 545 A 4 N$.,. "III 3 0 0 0 3
+chrM 546 C 3 .,. III 0 3 0 0 3
+chrM 547 A 3 .,. DII 3 0 0 0 3
+chrM 548 A 3 .,. EII 3 0 0 0 3
+chrM 549 C 3 .,. III 0 3 0 0 3
+chrM 550 A 3 .,. III 3 0 0 0 3
+chrM 551 A 3 .,. 6II 3 0 0 0 3
+chrM 552 A 3 .,. GII 3 0 0 0 3
+chrM 553 G 3 .$,. ?II 0 0 3 0 3
+chrM 577 A 3 .$.^:. III 3 0 0 0 3
+chrM 580 A 3 ..^:, III 3 0 0 0 3
+chrM 581 G 3 .., III 0 0 3 0 3
+chrM 582 C 3 .., II? 0 3 0 0 3
+chrM 583 C 3 ..a II- 0 2 0 0 2
+chrM 584 T 3 .., IIH 0 0 0 3 3
+chrM 585 A 3 .., III 3 0 0 0 3
+chrM 586 A 3 .., III 3 0 0 0 3
+chrM 587 A 4 ..,^:, IIII 4 0 0 0 4
+chrM 588 A 4 ..,, IIII 4 0 0 0 4
+chrM 589 C 4 ..,, IIII 0 4 0 0 4
+chrM 590 T 4 ..,, II.5 0 0 0 3 3
+chrM 591 C 4 .$.,, II<I 0 4 0 0 4
+chrM 592 A 3 .,, III 3 0 0 0 3
+chrM 593 A 3 .,, III 3 0 0 0 3
+chrM 594 A 3 .,, III 3 0 0 0 3
+chrM 595 G 3 .,, III 0 0 3 0 3
+chrM 596 G 3 .,, III 0 0 3 0 3
+chrM 597 A 3 .,, :EI 3 0 0 0 3
+chrM 598 C 3 .,, III 0 3 0 0 3
+chrM 599 T 4 .,,^:. II@I 0 0 0 4 4
+chrM 600 T 4 .,,. IIII 0 0 0 4 4
+chrM 601 G 4 .,,. IIII 0 0 4 0 4
+chrM 602 G 4 .,,. IIII 0 0 4 0 4
+chrM 603 C 4 .,,. IIII 0 4 0 0 4
+chrM 604 G 4 .,,. IIII 0 0 4 0 4
+chrM 605 G 4 .,,. IIII 0 0 4 0 4
+chrM 606 T 4 .,,. 5III 0 0 0 4 4
+chrM 607 G 4 .,,. IIII 0 0 4 0 4
+chrM 608 C 4 .,,. *III 0 3 0 0 3
+chrM 609 T 5 .,,.^:, ?IIII 0 0 0 5 5
+chrM 610 T 5 .,,., IIII8 0 0 0 5 5
+chrM 611 T 5 .,,., IIIII 0 0 0 5 5
+chrM 612 A 5 T$,,., 3IIII 4 0 0 0 4
+chrM 613 C 4 ,,., III) 0 3 0 0 3
+chrM 614 A 4 ,,., IIII 4 0 0 0 4
+chrM 615 T 4 ,$,., IIII 0 0 0 4 4
+chrM 616 C 3 ,., III 0 3 0 0 3
+chrM 617 C 3 ,., III 0 3 0 0 3
+chrM 618 C 3 ,., III 0 3 0 0 3
+chrM 619 T 3 ,., IF9 0 0 0 3 3
+chrM 620 C 3 ,., II7 0 3 0 0 3
+chrM 621 T 3 ,., III 0 0 0 3 3
+chrM 622 A 3 ,$., I7I 3 0 0 0 3
+chrM 652 C 3 .,^:, II) 0 2 0 0 2
+chrM 653 G 3 .,, II2 0 0 2 0 2
+chrM 654 A 3 .,, III 3 0 0 0 3
+chrM 655 T 4 .,,^:. II*I 0 0 0 3 3
+chrM 656 A 4 .,,. IIII 4 0 0 0 4
+chrM 657 A 4 .,,. IIII 4 0 0 0 4
+chrM 658 A 4 .,,. IIII 4 0 0 0 4
+chrM 659 C 4 .,,. IIII 0 4 0 0 4
+chrM 660 C 4 .,,. IIII 0 4 0 0 4
+chrM 661 C 4 .,,. IIII 0 4 0 0 4
+chrM 662 C 4 .,,. IIFI 0 4 0 0 4
+chrM 663 A 4 .,,. =IDI 4 0 0 0 4
+chrM 664 C 4 .,,. II6I 0 4 0 0 4
+chrM 665 C 5 .,,.^:, IIIII 0 5 0 0 5
+chrM 666 A 5 .,,., BIIII 5 0 0 0 5
+chrM 667 T 5 .,,., II5I+ 0 0 0 4 4
+chrM 668 C 5 .,,., IIIII 0 5 0 0 5
+chrM 669 C 5 .,,., IIIII 0 5 0 0 5
+chrM 670 C 5 .,a., II.II 0 4 0 0 4
+chrM 671 T 5 .,,., IIIIA 0 0 0 5 5
+chrM 672 T 6 .,,.,^:. FI9I.I 0 0 0 5 5
+chrM 673 G 6 .,,.,. IIIIII 0 0 6 0 6
+chrM 674 C 6 .,,.,. IIIIII 0 6 0 0 6
+chrM 675 T 6 .,,.,. IIIIII 0 0 0 6 6
+chrM 676 A 6 .,,.,. ,IIEII 5 0 0 0 5
+chrM 677 A 7 .,,.,.^:. 3II;III 6 0 0 0 6
+chrM 678 T 7 .,,.,.. IIIIDII 0 0 0 7 7
+chrM 679 T 7 .,,.,.. CIIIIII 0 0 0 7 7
+chrM 680 C 7 .,,.,.. IIIIIII 0 7 0 0 7
+chrM 681 A 7 .$,,.,.. 9IIIIII 7 0 0 0 7
+chrM 682 G 6 ,,.,.. II$III 0 0 5 0 5
+chrM 683 C 6 ,,.,.. IIIIII 0 6 0 0 6
+chrM 684 C 6 ,$,.,.. IIIIII 0 6 0 0 6
+chrM 685 T 5 ,.,.. IIIII 0 0 0 5 5
+chrM 686 A 5 ,.,.. IIIII 5 0 0 0 5
+chrM 687 T 5 ,$.,.. IIIII 0 0 0 5 5
+chrM 688 A 4 .,.. IIII 4 0 0 0 4
+chrM 689 T 4 .,.. IIII 0 0 0 4 4
+chrM 690 A 4 .$,.. IIII 4 0 0 0 4
+chrM 691 C 3 ,.. III 0 3 0 0 3
+chrM 692 C 3 ,.. III 0 3 0 0 3
+chrM 693 G 4 ,..^:, IIII 0 0 4 0 4
+chrM 694 C 4 ,.., IIII 0 4 0 0 4
+chrM 695 C 4 ,.., IIII 0 4 0 0 4
+chrM 696 A 4 ,.., IIII 4 0 0 0 4
+chrM 697 T 4 ,.., IIII 0 0 0 4 4
+chrM 698 C 4 ,.., IIII 0 4 0 0 4
+chrM 699 T 4 ,.., IIII 0 0 0 4 4
+chrM 700 T 4 ,$.., IIII 0 0 0 4 4
+chrM 701 C 3 .., III 0 3 0 0 3
+chrM 702 A 3 .., III 3 0 0 0 3
+chrM 703 G 3 .., 2II 0 0 2 0 2
+chrM 704 C 3 .., III 0 3 0 0 3
+chrM 705 A 3 N., "II 2 0 0 0 2
+chrM 706 A 3 .., I5I 3 0 0 0 3
+chrM 707 A 3 .$., GII 3 0 0 0 3
+chrM 726 A 3 ,,^:. III 3 0 0 0 3
+chrM 727 G 3 ,,. III 0 0 3 0 3
+chrM 728 T 3 ,$,. III 0 0 0 3 3
+chrM 732 C 3 a.^:. $II 0 2 0 0 2
+chrM 733 A 3 ,.. III 3 0 0 0 3
+chrM 734 C 3 ,.. %II 0 2 0 0 2
+chrM 735 A 3 ,.. III 3 0 0 0 3
+chrM 736 A 3 ,.. *II 2 0 0 0 2
+chrM 737 A 3 ,.. III 3 0 0 0 3
+chrM 738 T 3 ,.. III 0 0 0 3 3
+chrM 739 A 3 ,.. III 3 0 0 0 3
+chrM 740 T 3 ,.. III 0 0 0 3 3
+chrM 741 C 3 ,.. III 0 3 0 0 3
+chrM 742 C 3 ,.. III 0 3 0 0 3
+chrM 743 A 3 ,.. III 3 0 0 0 3
+chrM 744 A 3 ,.. III 3 0 0 0 3
+chrM 745 C 3 ,.. III 0 3 0 0 3
+chrM 746 A 3 ,.. IIE 3 0 0 0 3
+chrM 747 T 3 ,.. III 0 0 0 3 3
+chrM 748 A 3 ,.. III 3 0 0 0 3
+chrM 749 A 3 ,.. III 3 0 0 0 3
+chrM 750 A 3 ,.. III 3 0 0 0 3
+chrM 751 A 3 ,.. IAI 3 0 0 0 3
+chrM 752 A 3 ,.. III 3 0 0 0 3
+chrM 753 C 3 ,.. III 0 3 0 0 3
+chrM 754 G 3 ,$.. III 0 0 3 0 3
+chrM 756 T 3 ..^:, III 0 0 0 3 3
+chrM 757 A 3 .., III 3 0 0 0 3
+chrM 758 G 3 .., III 0 0 3 0 3
+chrM 759 G 3 .., III 0 0 3 0 3
+chrM 760 T 3 .., =II 0 0 0 3 3
+chrM 761 C 3 .$., IID 0 3 0 0 3
+chrM 767 G 3 .$,^:, III 0 0 3 0 3
+chrM 769 A 3 ,,^:, III 3 0 0 0 3
+chrM 770 G 3 ,,, III 0 0 3 0 3
+chrM 771 C 3 ,,, IHI 0 3 0 0 3
+chrM 772 C 3 ,a, I)/ 0 1 0 0 1
+chrM 773 C 3 ,,, I7I 0 3 0 0 3
+chrM 774 A 4 ,,,^:. II:I 4 0 0 0 4
+chrM 775 T 4 ,,,. IH.I 0 0 0 3 3
+chrM 776 G 4 ,,,. IIII 0 0 4 0 4
+chrM 777 G 4 ,,,. IIII 0 0 4 0 4
+chrM 778 G 4 ,,,. IIII 0 0 4 0 4
+chrM 779 A 4 ,,,. IIAI 4 0 0 0 4
+chrM 780 T 4 ,,,. IIGI 0 0 0 4 4
+chrM 781 G 4 ,,,. IIII 0 0 4 0 4
+chrM 782 G 4 ,,,. IIII 0 0 4 0 4
+chrM 783 A 4 ,,,. IIII 4 0 0 0 4
+chrM 784 G 4 ,,,. IIII 0 0 4 0 4
+chrM 785 A 4 ,,,. IIII 4 0 0 0 4
+chrM 786 G 4 ,,,. IIII 0 0 4 0 4
+chrM 787 A 4 ,,,. IIII 4 0 0 0 4
+chrM 788 A 4 ,,,. IIII 4 0 0 0 4
+chrM 789 A 4 ,,,. IIII 4 0 0 0 4
+chrM 790 T 5 ,,,.^:. IIIII 0 0 0 5 5
+chrM 791 G 5 ,$,,.. IIIII 0 0 5 0 5
+chrM 792 G 4 ,,.. IIII 0 0 4 0 4
+chrM 793 G 4 ,,.. IIII 0 0 4 0 4
+chrM 794 C 4 ,,.. IIII 0 4 0 0 4
+chrM 795 T 4 ,,.. IIII 0 0 0 4 4
+chrM 796 A 4 ,,.. IIII 4 0 0 0 4
+chrM 797 C 4 ,,.. IIII 0 4 0 0 4
+chrM 798 A 4 ,,.. IIII 4 0 0 0 4
+chrM 799 T 4 ,,.. IIII 0 0 0 4 4
+chrM 800 T 4 ,,.. IIII 0 0 0 4 4
+chrM 801 T 4 ,,.. IIII 0 0 0 4 4
+chrM 802 T 4 ,$,.. IIII 0 0 0 4 4
+chrM 803 C 3 ,.. III 0 3 0 0 3
+chrM 804 T 3 ,$.. III 0 0 0 3 3
+chrM 806 C 3 ..^:. III 0 3 0 0 3
+chrM 807 C 3 ... III 0 3 0 0 3
+chrM 808 C 3 ... III 0 3 0 0 3
+chrM 809 T 3 .$.. III 0 0 0 3 3
+chrM 810 A 3 ..^:, III 3 0 0 0 3
+chrM 811 A 3 .., III 3 0 0 0 3
+chrM 812 G 3 .., II7 0 0 3 0 3
+chrM 813 A 3 .., III 3 0 0 0 3
+chrM 814 A 3 .., III 3 0 0 0 3
+chrM 815 C 3 .., III 0 3 0 0 3
+chrM 816 A 3 .., III 3 0 0 0 3
+chrM 817 A 3 .., III 3 0 0 0 3
+chrM 818 G 3 .., III 0 0 3 0 3
+chrM 819 A 3 .., III 3 0 0 0 3
+chrM 820 A 3 .., &II 2 0 0 0 2
+chrM 821 C 3 .., III 0 3 0 0 3
+chrM 822 T 3 .., III 0 0 0 3 3
+chrM 823 T 3 ..n II" 0 0 0 2 2
+chrM 824 T 3 .., III 0 0 0 3 3
+chrM 825 A 3 .$., III 3 0 0 0 3
+chrM 826 A 3 .,^:. III 3 0 0 0 3
+chrM 827 C 3 .,. III 0 3 0 0 3
+chrM 828 C 3 .,. III 0 3 0 0 3
+chrM 829 C 4 .,.^:, IIII 0 4 0 0 4
+chrM 830 G 4 .,., IIII 0 0 4 0 4
+chrM 831 G 4 .,., IIII 0 0 4 0 4
+chrM 832 A 4 .,., IIII 4 0 0 0 4
+chrM 833 C 4 .,., IIII 0 4 0 0 4
+chrM 834 G 4 .,., IIII 0 0 4 0 4
+chrM 835 A 4 .,., IIII 4 0 0 0 4
+chrM 836 A 4 .,., 8III 4 0 0 0 4
+chrM 837 A 4 .,., IIII 4 0 0 0 4
+chrM 838 G 4 .,., IIII 0 0 4 0 4
+chrM 839 T 5 .,.,^:, 4:IIG 0 0 0 4 4
+chrM 840 C 5 .,.,, IIIII 0 5 0 0 5
+chrM 841 T 5 .$,.,, IIIII 0 0 0 5 5
+chrM 842 C 4 ,.,, IIII 0 4 0 0 4
+chrM 843 C 4 ,.,, IIII 0 4 0 0 4
+chrM 844 A 4 ,.,, IIII 4 0 0 0 4
+chrM 845 T 4 ,$.,, IIII 0 0 0 4 4
+chrM 846 G 3 .,, @II 0 0 3 0 3
+chrM 847 A 3 .,, III 3 0 0 0 3
+chrM 848 A 3 .,, III 3 0 0 0 3
+chrM 849 A 3 .,, III 3 0 0 0 3
+chrM 850 C 3 .,, III 0 3 0 0 3
+chrM 851 T 3 .,, III 0 0 0 3 3
+chrM 852 G 3 .,, III 0 0 3 0 3
+chrM 853 G 3 .,, III 0 0 3 0 3
+chrM 854 A 3 .,, EII 3 0 0 0 3
+chrM 855 G 3 .,, DII 0 0 3 0 3
+chrM 856 A 3 .,, III 3 0 0 0 3
+chrM 857 C 3 .,, III 0 3 0 0 3
+chrM 858 T 4 .,,^:, IIIA 0 0 0 4 4
+chrM 859 A 4 .,,, @III 4 0 0 0 4
+chrM 860 A 4 .,,, IIII 4 0 0 0 4
+chrM 861 A 4 .$,,, EIII 4 0 0 0 4
+chrM 862 G 3 ,,, III 0 0 3 0 3
+chrM 863 G 3 ,,, III 0 0 3 0 3
+chrM 864 A 3 ,$,, III 3 0 0 0 3
+chrM 905 C 3 ,.^:, III 0 3 0 0 3
+chrM 906 A 3 ,., III 3 0 0 0 3
+chrM 907 G 3 ,., III 0 0 3 0 3
+chrM 908 G 3 ,., III 0 0 3 0 3
+chrM 909 C 3 ,., III 0 3 0 0 3
+chrM 910 C 3 ,., III 0 3 0 0 3
+chrM 911 A 4 ,.,^:, IIII 4 0 0 0 4
+chrM 912 T 4 ,.,, IIEG 0 0 0 4 4
+chrM 913 G 4 ,.,, III: 0 0 4 0 4
+chrM 914 A 4 ,.,, IIII 4 0 0 0 4
+chrM 915 A 4 ,.,, IIII 4 0 0 0 4
+chrM 916 G 4 ,.,, III5 0 0 4 0 4
+chrM 917 C 4 ,.,, III5 0 4 0 0 4
+chrM 918 G 4 ,.,, IIII 0 0 4 0 4
+chrM 919 C 4 ,.,, III< 0 4 0 0 4
+chrM 920 G 4 ,.,, IIII 0 0 4 0 4
+chrM 921 C 4 ,.,, IIII 0 4 0 0 4
+chrM 922 A 4 ,.,, IIII 4 0 0 0 4
+chrM 923 C 4 ,.,, III8 0 4 0 0 4
+chrM 924 A 4 ,.,, IFII 4 0 0 0 4
+chrM 925 C 4 ,.,, IIII 0 4 0 0 4
+chrM 926 A 4 ,.,, IIII 4 0 0 0 4
+chrM 927 C 4 ,.,, IIII 0 4 0 0 4
+chrM 928 C 5 ,.,,^:, IIII: 0 5 0 0 5
+chrM 929 G 5 ,.,,, IIIE: 0 0 5 0 5
+chrM 930 C 5 ,.,,, IIIII 0 5 0 0 5
+chrM 931 C 5 ,.,,, IIIIF 0 5 0 0 5
+chrM 932 C 5 ,.,,, IIIIC 0 5 0 0 5
+chrM 933 G 5 ,$.,,, I?II: 0 0 5 0 5
+chrM 934 T 4 .$,,, 4II> 0 0 0 3 3
+chrM 935 C 3 ,,, III 0 3 0 0 3
+chrM 936 A 3 ,,, III 3 0 0 0 3
+chrM 937 C 3 ,,, II1 0 2 0 0 2
+chrM 938 C 3 ,,, III 0 3 0 0 3
+chrM 939 C 3 ,,, III 0 3 0 0 3
+chrM 940 T 3 ,$,, III 0 0 0 3 3
+chrM 958 C 3 ,.^:. III 0 3 0 0 3
+chrM 959 A 3 ,.. III 3 0 0 0 3
+chrM 960 T 3 ,.. III 0 0 0 3 3
+chrM 961 A 3 ,.. III 3 0 0 0 3
+chrM 962 A 3 ,.. III 3 0 0 0 3
+chrM 963 C 4 ,$..^:. IIII 0 4 0 0 4
+chrM 964 A 3 ... I(; 2 0 0 0 2
+chrM 965 T 3 ... III 0 0 0 3 3
+chrM 966 A 4 ...^:. IIII 4 0 0 0 4
+chrM 967 A 4 .... IIII 4 0 0 0 4
+chrM 968 C 4 .... IEII 0 4 0 0 4
+chrM 969 A 4 .... IIII 4 0 0 0 4
+chrM 970 T 4 .... IIII 0 0 0 4 4
+chrM 971 A 4 .... IIII 4 0 0 0 4
+chrM 972 A 4 .... IIII 4 0 0 0 4
+chrM 973 A 4 .... II0I 3 0 0 0 3
+chrM 974 A 5 ....^:. IIIII 5 0 0 0 5
+chrM 975 C 5 ..... IIIII 0 5 0 0 5
+chrM 976 C 5 ..... IIIII 0 5 0 0 5
+chrM 977 G 5 ..... IIIII 0 0 5 0 5
+chrM 978 T 5 ..... IIIII 0 0 0 5 5
+chrM 979 G 5 ..... I0III 0 0 4 0 4
+chrM 980 A 5 ..... IIII4 4 0 0 0 4
+chrM 981 C 5 ..... IIIII 0 5 0 0 5
+chrM 982 C 5 ..... IIIII 0 5 0 0 5
+chrM 983 C 5 ..... IIIII 0 5 0 0 5
+chrM 984 A 5 ..... -IGII 4 0 0 0 4
+chrM 985 A 5 ..... 4GIII 4 0 0 0 4
+chrM 986 A 5 ..... BDGII 5 0 0 0 5
+chrM 987 C 5 ..... IDIII 0 5 0 0 5
+chrM 988 A 5 ..... @<III 5 0 0 0 5
+chrM 989 T 5 ..... IIIII 0 0 0 5 5
+chrM 990 A 5 .$.... I@III 5 0 0 0 5
+chrM 991 T 4 .... IICI 0 0 0 4 4
+chrM 992 G 4 T... )III 0 0 3 0 3
+chrM 993 A 4 .$... ?ICI 4 0 0 0 4
+chrM 994 A 3 ... III 3 0 0 0 3
+chrM 995 A 3 ... III 3 0 0 0 3
+chrM 996 G 3 ... III 0 0 3 0 3
+chrM 997 G 3 ... III 0 0 3 0 3
+chrM 998 A 3 .$.. 4II 2 0 0 0 2
+chrM 999 G 3 ..^:. III 0 0 3 0 3
+chrM 1000 A 3 ... III 3 0 0 0 3
+chrM 1001 C 3 .$.. III 0 3 0 0 3
+chrM 1043 A 3 ..^:, III 3 0 0 0 3
+chrM 1044 A 3 .., III 3 0 0 0 3
+chrM 1045 C 3 .., II7 0 3 0 0 3
+chrM 1046 C 3 .., II- 0 2 0 0 2
+chrM 1047 A 3 .., III 3 0 0 0 3
+chrM 1048 A 3 .., III 3 0 0 0 3
+chrM 1049 A 3 .., III 3 0 0 0 3
+chrM 1050 G 3 .., III 0 0 3 0 3
+chrM 1051 T 3 .., III 0 0 0 3 3
+chrM 1052 G 3 .., III 0 0 3 0 3
+chrM 1053 T 3 .., GII 0 0 0 3 3
+chrM 1054 A 3 .., III 3 0 0 0 3
+chrM 1055 G 3 .., :II 0 0 3 0 3
+chrM 1056 C 3 ..a HI% 0 2 0 0 2
+chrM 1057 T 3 .., III 0 0 0 3 3
+chrM 1058 T 3 .., III 0 0 0 3 3
+chrM 1059 A 3 .., BII 3 0 0 0 3
+chrM 1060 A 3 .., GII 3 0 0 0 3
+chrM 1061 A 3 .., HII 3 0 0 0 3
+chrM 1062 C 3 .., III 0 3 0 0 3
+chrM 1063 A 3 .., DII 3 0 0 0 3
+chrM 1064 A 3 .., BII 3 0 0 0 3
+chrM 1065 A 3 .., 1II 2 0 0 0 2
+chrM 1066 G 3 .$., &II 0 0 2 0 2
diff -r 517bd810a6b2 -r be8f54671d56 test-data/pileup_parser.6col.20-3-yes-no.pileup.out
--- a/test-data/pileup_parser.6col.20-3-yes-no.pileup.out Thu Jan 14 11:26:08 2010 -0500
+++ b/test-data/pileup_parser.6col.20-3-yes-no.pileup.out Thu Jan 14 14:07:05 2010 -0500
@@ -1,2 +1,2 @@
-chrM 270 C 4 a... ;III 1 0 0 0 4
+chrM 270 C 4 a... ;III 1 3 0 0 4
chrM 415 C 4 TTTt III7 0 0 0 4 4
diff -r 517bd810a6b2 -r be8f54671d56 test-data/pileup_parser.6col.20-3-yes-yes.pileup.out
--- a/test-data/pileup_parser.6col.20-3-yes-yes.pileup.out Thu Jan 14 11:26:08 2010 -0500
+++ b/test-data/pileup_parser.6col.20-3-yes-yes.pileup.out Thu Jan 14 14:07:05 2010 -0500
@@ -1,2 +1,2 @@
-chrM 269 270 C 4 a... ;III 1 0 0 0 4
+chrM 269 270 C 4 a... ;III 1 3 0 0 4
chrM 414 415 C 4 TTTt III7 0 0 0 4 4
diff -r 517bd810a6b2 -r be8f54671d56 tools/samtools/pileup_parser.pl
--- a/tools/samtools/pileup_parser.pl Thu Jan 14 11:26:08 2010 -0500
+++ b/tools/samtools/pileup_parser.pl Thu Jan 14 14:07:05 2010 -0500
@@ -65,7 +65,9 @@
{
$SNPs_exist = 1;
$SNPs{ uc( $bases[ $base ] ) } += 1;
- }
+ } elsif ( $bases[ $base ] =~ m/[\.,]/ ) {
+ $SNPs{ uc( $fields[ $ref_base_column ] ) } += 1;
+ }
}
}
diff -r 517bd810a6b2 -r be8f54671d56 tools/samtools/pileup_parser.xml
--- a/tools/samtools/pileup_parser.xml Thu Jan 14 11:26:08 2010 -0500
+++ b/tools/samtools/pileup_parser.xml Thu Jan 14 14:07:05 2010 -0500
@@ -1,4 +1,4 @@
-<tool id="pileup_parser" name="Filter pileup">
+<tool id="pileup_parser" name="Filter pileup" version="1.0.1">>
<description>on coverage and SNPs</description>
<command interpreter="perl">
#if $pileup_type.type_select == "six" #pileup_parser.pl $input "3" "5" "6" "4" $qv_cutoff $cvrg_cutoff $snps_only $interval "2" $out_file1
@@ -189,7 +189,7 @@
you will get::
- chrM 413 G 4 ..t, IIIH 0 0 0 1 3
+ chrM 413 G 4 ..t, IIIH 0 0 2 1 3
chrM 415 C 4 TTTt III7 0 0 0 4 4
where::
@@ -211,7 +211,7 @@
and if **Convert coordinates to intervals?** is set to **Yes**, you will get one additional column::
- chrM 412 413 G 4 ..t, III2 0 0 0 1 3
+ chrM 412 413 G 4 ..t, III2 0 0 2 1 3
chrM 414 415 C 4 TTTt III7 0 0 0 4 4
where::
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/517bd810a6b2
changeset: 3239:517bd810a6b2
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Thu Jan 14 11:26:08 2010 -0500
description:
Added from __future__ import division to the Filter tool and increased the version, and fixed the URL in the new bx_browser tool config.
diffstat:
tools/data_source/bx_browser.xml | 2 +-
tools/stats/filtering.py | 2 ++
tools/stats/filtering.xml | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
diffs (35 lines):
diff -r 5bc21675703c -r 517bd810a6b2 tools/data_source/bx_browser.xml
--- a/tools/data_source/bx_browser.xml Thu Jan 14 10:24:37 2010 -0500
+++ b/tools/data_source/bx_browser.xml Thu Jan 14 11:26:08 2010 -0500
@@ -7,7 +7,7 @@
<tool name="BX main" id="bx_browser" tool_type="data_source">
<description>browser</description>
<command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
- <inputs action="http://main.genome-browser.bx.psu.edu/" check_values="false" method="get">
+ <inputs action="http://main.genome-browser.bx.psu.edu/cgi-bin/hgTables" check_values="false" method="get">
<display>go to BX Browser $GALAXY_URL</display>
<param name="GALAXY_URL" type="baseurl" value="/tool_runner" />
<param name="tool_id" type="hidden" value="bx_browser" />
diff -r 5bc21675703c -r 517bd810a6b2 tools/stats/filtering.py
--- a/tools/stats/filtering.py Thu Jan 14 10:24:37 2010 -0500
+++ b/tools/stats/filtering.py Thu Jan 14 11:26:08 2010 -0500
@@ -2,8 +2,10 @@
# This tool takes a tab-delimited text file as input and creates filters on columns based on certain properties.
# The tool will skip over invalid lines within the file, informing the user about the number of lines skipped.
+from __future__ import division
import sys, re, os.path
from galaxy import eggs
+
# Older py compatibility
try:
set()
diff -r 5bc21675703c -r 517bd810a6b2 tools/stats/filtering.xml
--- a/tools/stats/filtering.xml Thu Jan 14 10:24:37 2010 -0500
+++ b/tools/stats/filtering.xml Thu Jan 14 11:26:08 2010 -0500
@@ -1,4 +1,4 @@
-<tool id="Filter1" name="Filter">
+<tool id="Filter1" name="Filter" version="1.0.1">
<description>data on any column using simple expressions</description>
<command interpreter="python">
filtering.py $input $out_file1 "$cond" ${input.metadata.columns} "${input.metadata.column_types}"
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/5bc21675703c
changeset: 3238:5bc21675703c
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Thu Jan 14 10:24:37 2010 -0500
description:
Add a tool config for the new bx_browser data source tool.
diffstat:
tool_conf.xml.sample | 1 +
tools/data_source/bx_browser.xml | 41 ++++++++++++++++++++++++++++++++++++++++
2 files changed, 42 insertions(+), 0 deletions(-)
diffs (56 lines):
diff -r 201c47c29a6c -r 5bc21675703c tool_conf.xml.sample
--- a/tool_conf.xml.sample Thu Jan 14 09:44:58 2010 -0500
+++ b/tool_conf.xml.sample Thu Jan 14 10:24:37 2010 -0500
@@ -5,6 +5,7 @@
<tool file="data_source/ucsc_tablebrowser.xml" />
<tool file="data_source/ucsc_tablebrowser_test.xml" />
<tool file="data_source/ucsc_tablebrowser_archaea.xml" />
+ <tool file="data_source/bx_browser.xml" />
<tool file="data_source/microbial_import.xml" />
<tool file="data_source/biomart.xml" />
<tool file="data_source/biomart_test.xml" />
diff -r 201c47c29a6c -r 5bc21675703c tools/data_source/bx_browser.xml
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tools/data_source/bx_browser.xml Thu Jan 14 10:24:37 2010 -0500
@@ -0,0 +1,41 @@
+<?xml version="1.0"?>
+<!--
+ If the value of 'URL_method' is 'get', the request will consist of the value of 'URL' coming back in
+ the initial response. If value of 'URL_method' is 'post', any additional params coming back in the
+ initial response ( in addition to 'URL' ) will be encoded and appended to URL and a post will be performed.
+-->
+<tool name="BX main" id="bx_browser" tool_type="data_source">
+ <description>browser</description>
+ <command interpreter="python">data_source.py $output $__app__.config.output_size_limit</command>
+ <inputs action="http://main.genome-browser.bx.psu.edu/" check_values="false" method="get">
+ <display>go to BX Browser $GALAXY_URL</display>
+ <param name="GALAXY_URL" type="baseurl" value="/tool_runner" />
+ <param name="tool_id" type="hidden" value="bx_browser" />
+ <param name="sendToGalaxy" type="hidden" value="1" />
+ <param name="hgta_compressType" type="hidden" value="none" />
+ <param name="hgta_outputType" type="hidden" value="bed" />
+ </inputs>
+ <request_param_translation>
+ <request_param galaxy_name="URL_method" remote_name="URL_method" missing="post" />
+ <request_param galaxy_name="URL" remote_name="URL" missing="" />
+ <request_param galaxy_name="dbkey" remote_name="db" missing="?" />
+ <request_param galaxy_name="organism" remote_name="org" missing="unknown species" />
+ <request_param galaxy_name="table" remote_name="hgta_table" missing="unknown table" />
+ <request_param galaxy_name="description" remote_name="hgta_regionType" missing="no description" />
+ <request_param galaxy_name="data_type" remote_name="hgta_outputType" missing="tabular" >
+ <value_translation>
+ <value galaxy_value="tabular" remote_value="primaryTable" />
+ <value galaxy_value="tabular" remote_value="selectedFields" />
+ <value galaxy_value="wig" remote_value="wigData" />
+ <value galaxy_value="interval" remote_value="tab" />
+ <value galaxy_value="html" remote_value="hyperlinks" />
+ <value galaxy_value="fasta" remote_value="sequence" />
+ </value_translation>
+ </request_param>
+ </request_param_translation>
+ <uihints minwidth="800"/>
+ <outputs>
+ <data name="output" format="tabular" />
+ </outputs>
+ <options sanitize="False" refresh="True"/>
+</tool>
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/201c47c29a6c
changeset: 3237:201c47c29a6c
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Thu Jan 14 09:44:58 2010 -0500
description:
Fixed my previous fix for copying history items to a library, which really didn't fix anything.  Fixed the functional tests for lav_to_bed, split_paired_reads, and solid2fastq by adding the 2nd output dataset to the test for each tool.  Renamed the test files for the tools to have the Galaxy supported file extension.
diffstat:
lib/galaxy/web/controllers/library_common.py | 2 +-
templates/library/common/common.mako | 2 +-
test-data/3.fastqsanger | 21 +
test-data/f.fastq | 1996 ------------------------
test-data/fr.csf | 1001 ------------
test-data/fr.csfasta | 1001 ++++++++++++
test-data/fr.qual | 1001 ------------
test-data/fr.qualsolid | 1001 ++++++++++++
test-data/fr_file1.fastq | 1988 -----------------------
test-data/fr_file2.fastq | 1988 -----------------------
test-data/lav_to_bed_out2.bed | 2 -
test-data/lav_to_bed_out_1.bed | 2 +
test-data/lav_to_bed_out_2.bed | 2 +
test-data/rr.csf | 1001 ------------
test-data/rr.csfasta | 1001 ++++++++++++
test-data/rr.qual | 1001 ------------
test-data/rr.qualsolid | 1001 ++++++++++++
test-data/solid2fastq_out_1.fastq | 1996 ++++++++++++++++++++++++
test-data/solid2fastq_out_2.fastq | 1988 +++++++++++++++++++++++
test-data/solid2fastq_out_3.fastq | 1988 +++++++++++++++++++++++
test-data/split_paired_reads_out_1.fastqsanger | 20 +
test-data/split_paired_reads_out_2.fastqsanger | 20 +
test-data/split_paired_reads_test1.fastq | 21 -
test-data/split_paired_reads_test1.out1 | 20 -
tools/filters/lav_to_bed.xml | 4 +-
tools/metag_tools/split_paired_reads.xml | 5 +-
tools/next_gen_conversion/solid2fastq.xml | 17 +-
27 files changed, 10057 insertions(+), 10033 deletions(-)
diffs (truncated from 20242 to 3000 lines):
diff -r 4fc2b29d6393 -r 201c47c29a6c lib/galaxy/web/controllers/library_common.py
--- a/lib/galaxy/web/controllers/library_common.py Wed Jan 13 18:33:42 2010 -0500
+++ b/lib/galaxy/web/controllers/library_common.py Thu Jan 14 09:44:58 2010 -0500
@@ -911,7 +911,7 @@
dataset_names = []
created_ldda_ids = ''
for hda_id in hda_ids:
- hda = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( hda_id )
+ hda = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( trans.security.decode_id( hda_id ) )
if hda:
ldda = hda.to_library_dataset_dataset_association( target_folder=folder, replace_dataset=replace_dataset )
created_ldda_ids = '%s,%s' % ( created_ldda_ids, str( ldda.id ) )
diff -r 4fc2b29d6393 -r 201c47c29a6c templates/library/common/common.mako
--- a/templates/library/common/common.mako Wed Jan 13 18:33:42 2010 -0500
+++ b/templates/library/common/common.mako Thu Jan 14 09:44:58 2010 -0500
@@ -308,7 +308,7 @@
%endif
%for hda in history.active_datasets:
<div class="form-row">
- <input name="hda_ids" value="${hda.id}" type="checkbox"/>${hda.hid}: ${hda.name}
+ <input name="hda_ids" value="${trans.security.encode_id( hda.id )}" type="checkbox"/>${hda.hid}: ${hda.name}
</div>
%endfor
<div class="form-row">
diff -r 4fc2b29d6393 -r 201c47c29a6c test-data/3.fastqsanger
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/test-data/3.fastqsanger Thu Jan 14 09:44:58 2010 -0500
@@ -0,0 +1,21 @@
+@HWI-EAS91_1_30788AAXX:7:21:1542:1758
+GTCAATTGTACTGGTCAATACTAAAAGAATAGGATCGCTCCTAGCATCTGGAGTCTCTATCACCTGAGCCCA
++HWI-EAS91_1_30788AAXX:7:21:1542:1758
+hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh`hfhhVZSWehR
+@HWI-EAS91_1_30788AAXX:7:22:1621:462
+ATAATGGCTATTATTGTGGGGGGGATGATGCTGGAAACTAGCCCCAATATCAATCCTATATCAAATCTCACC
++HWI-EAS91_1_30788AAXX:7:22:1621:462
+hhhhhhhhhhhhQAhh@hhhhNhhhfhMbCIScC?hhJhhhhChhhJhhhRhhKhePhc\KhhV\KhXhJhh
+@HWI-EAS91_1_30788AAXX:7:45:408:807
+TACCCGATTTTTTGCTTTCCACTTTATCCTACCCTTATGAGTGCTAGGATCAGGATGGAGAGGATTAGGGCT
++HWI-EAS91_1_30788AAXX:7:45:408:807
+hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh`hhhZh`hhhhhRXhhYh
+@HWI-EAS91_1_30788AAXX:7:49:654:1439
+CTAACTCTATTTATTGTATTTCAACTAAAAATCTCATAGGTTTATTGATAGTTGTGTTGTTGGTGTAAATGG
++HWI-EAS91_1_30788AAXX:7:49:654:1439
+hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhdhh_hG\XhU@
+@HWI-EAS91_1_30788AAXX:7:64:947:234
+TATCAAAAAAGAATATAATCTGAATCAACACTACAACCTATTAGTGTGTAGAATAGGAAGTAGAGGCCTGCG
++HWI-EAS91_1_30788AAXX:7:64:947:234
+hhhhhhhhhhhhhhhhhhhhhhhRhhehhahhhhhJhhhhhhhh^hPhWfhhhhThWUhhfhh_hhNIVPUd
+
diff -r 4fc2b29d6393 -r 201c47c29a6c test-data/f.fastq
--- a/test-data/f.fastq Wed Jan 13 18:33:42 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1996 +0,0 @@
-@853_7_53_F3
-T..02.1120..22.2..230.22.3..033212.1.1....2221...12
-+
-!!14!3.15!!47!4!!8+1!$9!(!!,..1)&!3!(!!!!1/9&!!!,3
-@853_7_78_F3
-T..13.2222..22.2..222.22.2..222212.2.2....2222...22
-+
-!!##!###$!!##!&!!#$&!$&!&!!%&)'#'!$!#!!!!&)*(!!!&*
-@853_7_88_F3
-T..23.2221..13.2..033.30.1..010220.1.2....2222...22
-+
-!!61!5551!!13!4!!.,)!/,!3!!.)/17+!&!5!!!!-'0.!!!,5
-@853_7_132_F3
-T..22.2032..32.2..222.22.2..222222.2.2....2222...22
-+
-!!$(!,#&#!!&#!#!!#($!%$!#!!#&%#$(!#!#!!!!)(*+!!!,2
-@853_7_141_F3
-T..22.2112..10.2..221.02.1..220112.0.2....0222...22
-+
-!!54!9518!!1&!5!!/31!)0!6!!)533/:!5!6!!!!)/<:!!!,7
-@853_7_146_F3
-T..12.1011..21.2..213.22.2..222222.2.2....2222...22
-+
-!!10!/240!!0)!2!!#&'!'5!(!!(.-*$3!*!4!!!!+#(.!!!.(
-@853_7_269_F3
-T..12.2222..22.2..222.22.2..222222.2.2....2222...22
-+
-!!%&!('#%!!#*!#!!/##!&)!$!!'$',%,!%!2!!!!3,,*!!!,2
-@853_7_321_F3
-T..20.2322..21.3..222.12.1..120012.3.0....2000...22
-+
-!!+$!+21(!!*-!.!!)#1!8/!9!!6,3+%6!'!,!!!!2&6,!!!&2
-@853_7_386_F3
-T..12.2302..20.2..231.12.0..200232.3.2....0002...22
-+
-!!31!:7-%!!:,!-!!21,!77!)!!227:9:!2!;!!!!)',%!!!86
-@853_7_405_F3
-T..21.0221..31.2..000.23.2..020022.0.2....0313...12
-+
-!!<8!8;==!!;>!:!!7:7!7;!8!!7:>48=!2!=!!!!536*!!!;:
-@853_7_411_F3
-T..10.2000..33.2..022.02.0..200222.2.0....0000...00
-+
-!!,/!13;,!!&,!+!!2/%!*1!$!!%*)+#,!,!&!!!!'-'&!!!++
-@853_7_445_F3
-T..30.3210..01.1..120.11.3..301222.1.2....3222...22
-+
-!!&'!*+'#!!'%!&!!,%#!)%!(!!'##$&'!#!$!!!!$$#,!!!#$
-@853_7_469_F3
-T..22.0102..20.3..200.21.0..002202.2.2....0203...02
-+
-!!##!*($&!!##!#!!%))!#1!%!!(,##$.!#!(!!!!##'#!!!&$
-@853_7_474_F3
-T..30.1122..22.3..111.21.3..222020.2.2....2203...23
-+
-!!54!6464!!56!:!!97:!88!8!!7/5)4/!4!8!!!!4#45!!!#)
-@853_7_497_F3
-T..10.0200..22.1..112.03.0..100121.2.2....3132...21
-+
-!!9:!678;!!14!9!!:<:!77!;!!.76.(<!.!/!!!!2)(9!!!14
-@853_7_587_F3
-T..22.2022..01.2..323.23.0..323322.1.1....2212...20
-+
-!!2,!,33/!!7&!7!!916!)9!<!!;,<6,1!5!/!!!!,31;!!!/>
-@853_7_630_F3
-T..13.0022..11.1..213.10.0..031113.3.3....1112...20
-+
-!!,8!&5/=!!>)!)!!;).!)7!6!!/2>,('!5!2!!!!)=,&!!!25
-@853_7_655_F3
-T..01.0023..02.2..301.32.3..232113.2.2....2222...22
-+
-!!##!###'!!#'!#!!,##!##!$!!%$###(!#!#!!!!#'##!!!##
-@853_7_692_F3
-T..00.0122..02.3..230.21.2..301213.2.1....1122...22
-+
-!!04!3>66!!.1!7!!5>5!:,!,!!1:&;59!>!,!!!!5.&.!!!)8
-@853_7_715_F3
-T..00.0213..21.3..131.12.0..202011.1.0....0221...22
-+
-!!&0!,)/5!!(.!1!!)',!+&!5!!&8/263!-!#!!!!&6&&!!!&0
-@853_7_719_F3
-T..00.2231..02.0..122.13.0..003022.0.1....1010...02
-+
-!!6*!/.2+!!5(!#!!$.$!5&!,!!1,&2*.!$!#!!!!#+&#!!!$#
-@853_7_743_F3
-T..11.0201..00.1..303.01.1..021332.3.3....3223...23
-+
-!!83!7>',!!45!9!!6(8!21!<!!.&=,7.!7!4!!!!.963!!!04
-@853_7_791_F3
-T..20.3311..03.2..301.01.2..122002.2.1....3123...21
-+
-!!0;!3>28!!>:!4!!54&!<;!'!!9,&'88!&!+!!!!&4,.!!!',
-@853_7_801_F3
-T..00.0323..21.1..112.23.3..132022.2.1....2122...22
-+
-!!;=!;<6<!!=>!>!!=8@!;<!?!!8;;5@<!A!;!!!!>3;3!!!;6
-@853_7_845_F3
-T..01.3303..01.1..102.03.1..222102.0.0....0231...12
-+
-!!:4!246-!!:2!5!!,62!6(!6!!25)254!6!6!!!!42/$!!!2#
-@853_7_868_F3
-T..31.3103..12.1..211.32.2..223200.2.3....1031...21
-+
-!!8>!<;@9!!@>!=!!=;<!<<!:!!=:8<>:!4!1!!!!0&&.!!!))
-@853_7_1026_F3
-T..22.3032..03.3..110.32.3..212230.3.0....1111...13
-+
-!!09!6;95!!'=!8!!6#&!1&!-!!3&',1)!9!*!!!!3&,(!!!(9
-@853_7_1057_F3
-T..30.3112..22.2..132.21.0..332122.2.2....2220...32
-+
-!!%$!8:1:!!=5!,!!3<9!&#!$!!&&$$&#!,!'!!!!#%&&!!!)&
-@853_7_1066_F3
-T..01.1122..00.0..131.32.0..230030.3.3....2000...30
-+
-!!?,!==/:!!((!(!!(.,!/&!;!!(,&6)?!1!(!!!!?/7:!!!3=
-@853_7_1107_F3
-T..20.0301..13.2..003.10.0..300221.2.1....3300...32
-+
-!!36!2805!!36!7!!468!81!7!!1/866&!5!1!!!!$##/!!!$&
-@853_7_1179_F3
-T..02.3301..32.0..310.03.3..312300.3.3....1320...03
-+
-!!25!59:0!!6)!;!!77:!1/!)!!)899+#!,!&!!!!0),4!!!+.
-@853_7_1198_F3
-T..32.2203..31.2..111.13.1..312322.2.2....1103...22
-+
-!!@6!<99<!!==!<!!<<=!3@!;!!$<:<82!>!;!!!!:)6:!!!9:
-@853_7_1261_F3
-T..20.3233..32.2..223.22.3..232033.2.3....0322...23
-+
-!!?9!A@=:!!/&!&!!427!+8!:!!)-0101!'!,!!!!,$)'!!!6&
-@853_7_1321_F3
-T..00.0321..22.2..100.11.1..120210.0.2....2211...02
-+
-!!/&!,<41!!8.!)!!):$!/$!&!!&('))(!/!-!!!!7#&,!!!((
-@853_7_1406_F3
-T..13.0310..13.2..031.32.0..002230.0.2....0231...11
-+
-!!8<!9<<;!!:=!9!!6:9!=>!<!!;=8/=8!4!8!!!!5979!!!:<
-@853_7_1431_F3
-T..11.0032..21.1..310.00.0..321021.0.2....3030...02
-+
-!!>>!<A9=!!;8!?!!9?@!?@!<!!:;=679!;!7!!!!9)(>!!!,3
-@853_7_1439_F3
-T..20.0132..13.1..212.32.2..222110.3.0....2132...22
-+
-!!3/!<1/3!!A;!,!!3>=!<7!3!!:>@)/7!8!5!!!!,,,<!!!)2
-@853_7_1524_F3
-T..20.1110..13.3..201.33.3..320121.1.3....3321...20
-+
-!!##!####!!#3!*!!##(!5.!0!!.-##$#!%!-!!!!$+##!!!$%
-@853_7_1537_F3
-T..12.1030..02.0..011.30.1..111200.0.3....2033...11
-+
-!!##!##$$!!$#!#!!###!##!#!!######!#!#!!!!####!!!##
-@853_7_1592_F3
-T..21.3233..02.1..000.22.0..121233.3.1....3223...22
-+
-!!8;!93;3!!46!=!!96:!::!6!!9;919=!6!3!!!!)%',!!!'$
-@853_7_1597_F3
-T..12.3100..33.0..312.02.1..000000.3.1....1100...00
-+
-!!)&!&'(0!!'(!<!!4)6!7)!/!!3#-)/2!+!%!!!!.02&!!!/'
-@853_7_1650_F3
-T..00.2212..12.1..203.13.3..102012.0.2....3333...30
-+
-!!=;!/;;,!!&.!)!!-32!+.!4!!8)6;%,!,!,!!!!)008!!!,4
-@853_7_1790_F3
-T..23.1021..32.0..130.13.0..012301.0.1....0001...10
-+
-!!0&!8)0,!!86!0!!-54!;&!9!!38,3=+!:!<!!!!93;/!!!7/
-@853_7_1795_F3
-T..22.2123..01.0..222.31.3..233211.0.1....2312...03
-+
-!!,)!=*,(!!,)!;!!&*1!9,!6!!,/:3)5!6!;!!!!:;9.!!!//
-@853_7_1807_F3
-T..03.0310..02.3..121.20.1..333122.3.1....0302...12
-+
-!!%7!&1&(!!,,!&!!&26!%&!$!!85$)14!8!9!!!!.&&)!!!2&
-@853_7_1872_F3
-T..01.2331..12.2..200.02.3..302232.3.1....1203...23
-+
-!!5)!33-7!!:9!'!!76&!2)!2!!4;,=''!'!(!!!!)()-!!!'.
-@853_7_1885_F3
-T..10.3010..11.2..331.21.2..230213.1.3....0132...32
-+
-!!)/!&&,/!!:&!,!!1.,!,1!&!!.')='/!3!&!!!!'7/&!!!(&
-@853_7_1910_F3
-T..11.1002..20.1..000.20.1..111022.2.0....3311...23
-+
-!!6;!><@/!!/8!?!!@;<!,?!=!!(a)==9;9!6!/!!!!.8<5!!!5,
-@853_8_43_F3
-T..32100023203.2..110.31.120321022.100.1.11202..211
-+
-!!,5)03.2,41.!3!!3/.!2/!16,/8/)88!///!,!,3),1!!,(&
-@853_8_48_F3
-T..21122022323.1..222.32.020211202.222.2.20222..222
-+
-!!,&-+1(-+'0&!)!!#-#!-/!*+'/(&.)#!#$5!%!&(%'%!!'&'
-@853_8_57_F3
-T..23231203232.2..212.22.222222232.222.2.22222..222
-+
-!!'&#&&##%%&%!%!!%&$!(#!)#)&+$$'/!&)$!(!''-0*!!4&/
-@853_8_106_F3
-T..23112221210.3..001.02.032222322.212.2.22222..220
-+
-!!6)/32810/33!&!!,&1!).!/)5151'$(!+/2!5!+%##/!!/#&
-@853_8_196_F3
-T..00233022111.0..002.20.021222222.020.0.22222..222
-+
-!!385&)&):5&'!/!!&))!&)!&&'-&--%%!)&&!1!0+-20!!4$.
-@853_8_211_F3
-T..20112122111.2..112.22.220222212.122.0.21222..222
-+
-!!690,)$/63,,!&!!)'+!#*!..&'7+7)%!(5#!)!(+2.+!!2-.
-@853_8_227_F3
-T..10201100320.2..302.10.312330220.312.2.02221..221
-+
-!!1,:,,8&//71!1!!/&3!9)!)/),)17&&!1/&!)!+95(3!!))+
-@853_8_248_F3
-T..21312120022.0..122.22.222222232.222.2.23222..222
-+
-!!%'+)5,#'%#)!%!!-#%!#*!&%+$(#'#'!'()!&!(%%('!!+,(
-@853_8_253_F3
-T..21322103032.2..222.22.222222222.222.2.22222..222
-+
-!!3.'+##,&#&$!%!!&($!#$!#'-*((%)4!'4)!'!,$,4(!!.(/
-@853_8_342_F3
-T..13021033322.2..301.32.230300120.122.0.02112..223
-+
-!!6:7<;/95<==!8!!:66!:9!8:)9782:,!4=7!7!,5..;!!<:)
-@853_8_400_F3
-T..22033300003.2..212.31.222123211.122.0.22023..221
-+
-!!=>9>3=7<=/=!;!!=4;!:2!9;8678815!2<:!6!<7/(7!!=9(
-@853_8_422_F3
-T..01111020122.2..201.22.120231110.221.2.22212..222
-+
-!!1'1,&&;&))&!,!!1,0!/,!/&-&&+0)'!&)7!)!'/)&&!!1,,
-@853_8_555_F3
-T..02332301011.0..112.00.033000312.302.3.13300..023
-+
-!!7/:(:;=5?=7!?!!==/!41!=;5<(&:56!697!'!196&=!!;2-
-@853_8_638_F3
-T..00113230133.1..100.22.131113302.011.1.20020..320
-+
-!!98A<@><;=:=!<!!9;<!>:!98=:8:5<7!99>!:!/<37;!!5<:
-@853_8_735_F3
-T..00011213121.3..001.11.003311000.222.0.22003..303
-+
-!!/<5=::0-3)+!-!!8:;!(9!=&.9&87;=!)3+!)!81:&5!!'.,
-@853_8_888_F3
-T..02110321212.0..222.12.220011220.032.1.02322..333
-+
-!!:9:<=;;9?>?!;!!<;?!>>!@=<<<<?<;!;>>!:!1;==:!!3/1
-@853_8_893_F3
-T..00112301113.2..023.21.002311320.100.3.21200..012
-+
-!!'(9,5/995'.!:!!74<!(.!<0895158/!510!1!94055!!)33
-@853_8_898_F3
-T..33330033033.3..022.31.223030333.212.1.01232..322
-+
-!!%%-41))2.#6!:!!%(%!32!,'1%)+30,!#&(!)!&%'+)!!1$'
-@853_8_920_F3
-T..02321113231.0..302.30.010200220.321.0.01122..130
-+
-!!78675>:8=:6!7!!58<!>4!79&857<3/!::3!8!/;)66!!4;8
-@853_8_958_F3
-T..03321221220.3..021.12.001030231.030.3.21222..222
-+
-!!:&>>=A93;9(!=!!</3!A6!/;<;38>=5!1?9!6!91()'!!9/'
-@853_8_1076_F3
-T..22322100313.1..102.12.332320213.211.0.13003..112
-+
-!!;,&>&=50.3'!,!!)&<!</!)5-&&&>,&!4<=!,!)(6:&!!8),
-@853_8_1081_F3
-T..10030322221.2..000.20.002012320.222.2.21001..102
-+
-!!;:6::8:6:::!9!!6;9!88!8;8:99;:8!89;!;!:999:!!4+#
-@853_8_1134_F3
-T..33002312331.0..101.03.213221112.000.3.03233..123
-+
-!!/,7/&)&6989!/!!.$:!0#!:,-((61$=!838!5!+<)<;!!&+<
-@853_8_1157_F3
-T..00333123321.1..100.11.112120200.230.0.21203..230
-+
-!!,=&;+3&&()+!&!!7=,!;2!<17.1&=49!':9!9!,<)(1!!%-'
-@853_8_1173_F3
-T..30202112233.3..320.02.123012201.311.2.32000..122
-+
-!!:6=>=:6?;>=!<!!=:/!;:!5=;9>8:8?!<5?!>!9<:;@!!1?;
-@853_8_1215_F3
-T..22310320211.2..131.10.232003230.102.2.11010..031
-+
-!!(,-&*74'4,0!/!!01/!$3!1#*7.2&4)!(0,!'!-'&&'!!4))
-@853_8_1223_F3
-T..10222220120.1..111.11.123301223.133.3.22333..111
-+
-!!29:3;#,0%%(!*!!'&,!##!)###($##$!#%(!#!#$+#*!!,*$
-@853_8_1229_F3
-T..10011030332.0..200.31.312001011.220.1.11010..131
-+
-!!47;2184<787!<!!959!95!85,92;76:!995!5!95</;!!:38
-@853_8_1234_F3
-T..33303001323.3..211.32.311201012.323.1.21333..221
-+
-!!39<46:6186)!&!!-&/!#6!$+5<1'#&;!)(7!&!$5,:%!!.2$
-@853_8_1255_F3
-T..31322212222.0..003.20.121221012.212.2.03220..230
-+
-!!3/83&10,)1/!)!!&<:!+&!(=&&9/55*!(/:!6!,;09)!!)&*
-@853_8_1315_F3
-T..32221201122.2..223.33.132223100.221.0.20222..232
-+
-!!2915?(5@(,6!9!!68<!84!)&7&9&,/9!181!:!83:5)!!/),
-@853_8_1372_F3
-T..02101130220.1..113.23.121310222.233.3.12203..310
-+
-!!;/;96:1;8:8!:!!:<6!:)!<2:39=:81!868!:!%91/9!!57/
-@853_8_1461_F3
-T..00011120113.3..213.01.030001322.203.2.32222..222
-+
-!!:=:965=:<7>!?!!=&>!)6!3876:,7<;!6&,!5!;2/%(!!13*
-@853_8_1475_F3
-T..21310212220.3..100.02.122303121.002.3.12213..213
-+
-!!=?<A5:93;>;!:!!=;>!>>!?>A;7=7?8!<:=!8!/)&))!!2,,
-@853_8_1567_F3
-T..02200001131.3..311.10.132232122.322.1.23023..002
-+
-!!&)'8<=$<&#)!&!!%<=!+;!<(0+''68:!+*8!:!4'&'%!!,;5
-@853_8_1662_F3
-T..02221200121.2..022.10.310222220.231.2.12011..003
-+
-!!99;784<4187!6!!483!:8!95:288:9.!795!7!3:-99!!,76
-@853_8_1669_F3
-T..23233312111.0..213.12.133322002.221.1.11110..113
-+
-!!:6/847<<3:6!:!!638!&7!1857.1)&9!1,,!9!+48=2!!775
-@853_8_1758_F3
-T..12201012113.2..001.10.100122000.000.2.00000..220
-+
-!!(/##&&%##$'!#!!&#$!$'!$#%)&###&!&)%!%!#$-&+!!%()
-@853_8_1764_F3
-T..11002002020.2..110.31.120112122.132.3.33003..102
-+
-!!;9;;;:<9<::!:!!::;!5=!>:<;<8=88!<49!7!,39<8!!:19
-@853_8_1824_F3
-T..03311120021.1..310.13.320330301.220.3.30122..132
-+
-!!689.1.>::6.!/!!4,+!/9!**);+&+;0!,:1!%!:/353!!;/:
-@853_8_1835_F3
-T..21020321003.3..110.20.000022103.122.1.13220..033
-+
-!!?=>==;?@=:<!;!!=<<!::!><<;>@5=;!@7<!=!:;9;9!!87:
-@853_8_1917_F3
-T..23111010120.2..232.32.121231102.101.1.21322..222
-+
-!!65),33&6&1)!1!!,3%!3.!&.(4',5'$!//%!&!&+-,7!!*&.
-@853_8_1930_F3
-T..31110222033.0..021.11.103010131.300.2.22212..311
-+
-!!</,5&</>;#<!6!!4;:!49!<,:7>63$6!>12!;!$#2,#!!(&$
-@853_8_1938_F3
-T..20302201110.2..211.22.132123322.120.1.31210..211
-+
-!!,))/,+&+'')!&!!/()!':!'#,('&.'+!&#&!'!&)&0)!!+0&
-@853_8_1984_F3
-T..13030120302.0..030.11.202121322.112.1.30000..212
-+
-!!8(4+-</08<9!:!!889!89!8:9<0679;!8>8!<!2588:!!,:5
-@853_8_2005_F3
-T..03113122102.2..101.20.002313003.110.1.01020..001
-+
-!!(75<,4/44$2!8!!(63!:6!3527)155)!*.2!#!4(()&!!&,5
-@853_8_2031_F3
-T..22312022312.0..002.22.223022123.001.3.02200...00
-+
-!!<;7A>?;:;@<!>!!:9=!:>!<=69<=;:-!@@;!/!<>.@9!!!=;
-@853_9_6_F3
-T3222.021.1002.223202.22.222222122.222.2222.22.222.
-+
-#&&%!$&&!)%&+!&&)%'$!*#!('##$0&%(!'$#!.'''!/.!-)%!
-@853_9_22_F3
-T3212221120222.222223.22.222222222.222.2222222.2222
-+
--*%)&(/,%&.,(!%&&(0&!'+!$#2'-).&$!+0/!16/')-(!'/.-
-@853_9_70_F3
-T1232131203111.331113.12.211213201.221.2221222.2222
-+
-/5/52,143123,!014734!17!3738316',!37)!2(&&-+%!'-*)
-@853_9_120_F3
-T2030201011012.012222.33.100032000.130.2013202.1222
-+
-05(17/1,17571!713584!0)!134))536,!/(4!2)/,3,&!1:4$
-@853_9_156_F3
-T3321020210022.132222.22.222222222.222.2222222.2222
-+
-3359-6)641+48!)&-+'#!%-!4-%%''(-1!/--!-'*014/!2912
-@853_9_189_F3
-T2220100322033.222211.00.111112003.313.0212203.2200
-+
-4638331567545!:99836!/)!:87148,.,!831!3907#-/!(:3)
-@853_9_243_F3
-T3312311120013.312312.33.330022332.202.0202222.2222
-+
-,&<:3,1:,1/.&!,9&9&;!'&!&,6+&0,(/!/81!8)&*48&!(&<2
-@853_9_295_F3
-T3322303220223.233321.20.002302222.122.2221222.2222
-+
-$-+('%(,&'*.+!(()1&+!+&!*#&)$,.72!%8)!(-'%#'#!2%'-
-@853_9_299_F3
-T2212302322021.122112.23.102311100.121.1012120.0220
-+
-'&$#%&'&##(#(!$#$($#!')!#$$$$+&&$!#%%!'&#$&(%!&,*%
-@853_9_311_F3
-T3002321221310.212333.32.202232132.222.0222221.2222
-+
-4)()2''4&/&)&!/)141%!&&!)%(0&+&)9!56#!&5%%%,(!/78%
-@853_9_326_F3
-T2210200022032.010112.12.121321102.222.1332222.1222
-+
-:;99:7947;7;:!05398;!55!)9176554:!&;:!93989;&!23.5
-@853_9_451_F3
-T1313220202311.230012.31.313200122.100.2111321.2232
-+
-347371692:::1!</3(:8!51!3144:;15#!3+)!3,/&&8&!60&:
-@853_9_485_F3
-T1012221322221.213211.23.110010113.123.2132121.0222
-+
-:98588=463;:7!:9488:!64!97:857::5!855!/4+6$#'!%#()
-@853_9_509_F3
-T1112203021113.100101.20.031203011.213.2002211.1222
-+
-79;:78:657757!?28852!7)!5):738/=:!914!280<;3=!7;89
-@853_9_538_F3
-T2230021213312.123100.00.203202301.223.0112020.3322
-+
-<91:-46,1.20/!81&55*!7/!5575;/96;!3:8!90165,6!;<:7
-@853_9_548_F3
-T0132222011033.010321.23.303222223.222.2223322.3322
-+
-6;::<=<0:<;<:!:9:;<8!,)!'#'#))#,(!((%!3.($-4)!#&8&
-@853_9_574_F3
-T0003331113101.303333.21.213311213.222.2321222.2222
-+
-%,#0(9'$274''!&)90)2!((!4&0$%&97'!0+5!%1%$%$$!&#''
-@853_9_589_F3
-T3020133021133.203200.02.030202120.123.0113212.0220
-+
-3#),#*))(#)$3!-$&%&'!&&!*)$')%&(&!,&(!'%'&$(*!0#%4
-@853_9_595_F3
-T2221011230111.231023.00.021011112.330.2130120.1203
-+
-6;7;:877:;=99!8::87;!<;!<<:<8:=::!;;;!*:94)2<!39:2
-@853_9_750_F3
-T2201102121222.302002.22.221321132.332.2020223.2121
-+
-<=;:3<;:;8?:9!5<=<>6!><!6;566)'+&!&&/!,''),/+!8+&-
-@853_9_783_F3
-T2102221003120.330300.21.302010320.231.2133001.1202
-+
-27:7.65:87476!$67873!7<!.:8:7797;!78:!6865891!88-*
-@853_9_814_F3
-T1200101012011.312003.00.330011010.220.0222213.3122
-+
-?<7::;88=<9=:!<8<9=;!.3!7@3<9;7;8!6>6!=(<>774!3/:&
-@853_9_924_F3
-T3003021221101.202301.02.111120122.123.1010103.3110
-+
-9A5;=9==8@@?=!:><;;;!??!?;@@</<:>!88;!;/<><<1!:885
-@853_9_1019_F3
-T2120212011102.211122.20.210120211.031.1301102.2021
-+
-$/+22*&:5*,(.!%.#)0-!%,!*/6)'5%.2!*)$!&%)%1,'!-,(#
-@853_9_1046_F3
-T0101121011013.012213.12.122113221.112.0101211.1223
-+
-,9)781>/3/)?:!4:9)/6!))!1(#')#%%#!*%%!%)%/,/.!4*&)
-@853_9_1126_F3
-T3320221032332.112122.11.232123121.301.1210212.2222
-+
-5@,'=,<:(316<!8<86<<!74!;883<+194!)*8!7'4-:)0!7)46
-@853_9_1192_F3
-T3312212100322.301202.12.020132101.011.1011212.2232
-+
-,7)/5(A5<),A(!;>/33<!63!<1,5=7(>@!7/5!?;158&;!></<
-@853_9_1243_F3
-T2212213200232.121320.01.323212013.200.0130313.3233
-+
-3,7,)6<;894<1!/,1956!8:!=&;3/1):5!4/1!5)#3%(+!%(0*
-@853_9_1272_F3
-T3113210021031.002131.03.130002013.110.2003310.3011
-+
-6''$&0+&&5&),!813-&-!,)!1<;1):)*(!877!*.-,&)4!0(#-
-@853_9_1339_F3
-T2101230022200.310112.01.133031320.201.3331311.2012
-+
-6&&-/),<(/&(&!4/67(3!&;!/),,75/14!/12!).#,,&.!-;%)
-@853_9_1358_F3
-T3320111221222.120310.11.230202223.122.0122200.0201
-+
-2+),();9=.'89!))&7=&!))!&1)<&/9,.!:91!)88627'!;9,2
-@853_9_1364_F3
-T0102331230200.010010.13.233311001.233.1100312.1222
-+
-&<=?%8A1,)*79!7.1;/6!43!&/<97:.5;!8,3!>=)7385!;<6&
-@853_9_1397_F3
-T2312020122101.033322.03.022121000.011.0131220.1130
-+
-)')3/'7,&(73,!6<))31!,,!&7+/&45*4!6'3!5))&&5&!/,3,
-@853_9_1425_F3
-T1132332020203.323331.10.133320202.311.3222311.3330
-+
-1656/))&3)&9&!/,:<&7!<8!,&)=/1<.6!&,1!))/</5=!(19=
-@853_9_1446_F3
-T1332212000022.212222.13.021232232.213.1001302.0300
-+
-(.8<63'&'$*/1!.4,0%%!8+!0%0*6)*&)!'(%!/,&(74.!&,)&
-@853_9_1479_F3
-T3031333311130.333221.02.122333123.032.2211110.2332
-+
-0'/+#6&),.-)$!#$&))&!'%!&(',#,##%!)7#!$##/(4%!$$(*
-@853_9_1503_F3
-T2231320200020.131311.11.232031120.231.0013222.2222
-+
-3)%6(&?3688:<!<5;/8=!9>!:7<=1;?89!42/!9;:&>+0!/7/2
-@853_9_1512_F3
-T2333032222302.121133.20.001231203.233.3020000.0200
-+
-'/+.2;(;&+&6(!'+9$&(!8%!8:)'&)--%!&23!((1)&+-!,7/3
-@853_9_1530_F3
-T3213220202302.221131.03.120222222.020.1131133.1313
-+
-,*9&17:/+/,+9!19;18)!9(!)?877;798!,)8!'8</&&=!,-&;
-@853_9_1559_F3
-T1110111121111.113211.01.310210020.112.1113102.0321
-+
-<.<(;;+:)&<9)!<;1)'>!19!./1,>)&77!A3;!>,15&+,!)5&9
-@853_9_1601_F3
-T3232030011033.203002.00.123300322.113.0010121.0331
-+
-<A,117=./5;30!=;6.;4!:9!5+19;;;/3!=3(!/7179,:!1519
-@853_9_1636_F3
-T0010012303222.120103.33.330322222.122.3113033.3001
-+
--=9%8/<?61&=1!)7-1:(!=8!)/1;/'&<.!&5,!3&&5.;,!5&+'
-@853_9_1657_F3
-T1123103213301.312223.03.133301112.222.1213233.1233
-+
-<;>9;?;=9:<>=!:5<>7<!<9!7<8;8;<>:!9:;!53897&(!&.+'
-@853_9_1675_F3
-T3313013311000.313233.11.112203113.120.2211112.1313
-+
-;<589::%5/,<,!%#;/25!-*!2-:8.9-4.!,27!0/21/*1!.'(%
-@853_9_1709_F3
-T3011001101311.031010.11.000033010.030.2032000.2000
-+
-+%3)';-$&$)>6!:558.9!+.!4),-+%9'5!5#%!)5$,)82!(2;,
-@853_9_1722_F3
-T0021012221000.222012.20.202211312.020.3331130.3113
-+
-7@<?5>>A;>67>!?>=<>=!<<!>5=>=>=9?!<83!3<2)0+>!6,48
-@853_9_1728_F3
-T3322221032321.211112.31.012301302.333.0301101.3103
-+
-<4;6542&,01+>!2:,.73!$3!,&'###+#$!672!#6+))#&!2#+#
-@853_9_1739_F3
-T2010003210112.011000.31.320103212.122.2132333.2222
-+
-29):8)%/,0(1.!,&)'29!0%!&.()&%&/(!9,$!-($,.&-!&4-$
-@853_9_1870_F3
-T2212303303300.202201.02.333103031.332.0322203.2223
-+
-896897;69::9;!=1)59<!9>!7(0)#,(0%!//&!)1(3,'/!)#'6
-@853_9_1923_F3
-T0300322132333.221111.02.233001011.000.1122132.2131
-+
-138&()/9*,1/&!&:1==&!)&!,,%&.A7)<!<,/!(;(;5&/!/1&,
-@853_9_1943_F3
-T0122230112231.013112.01.202313211.020.2202120.1120
-+
-,/3<,:5=1/<97!&?65,)!13!<9,/6)=,,!&=%!46027//!)848
-@853_9_1970_F3
-T1320210131121.331212.13.233310233.031.1111331.3020
-+
-6#0#/'&&&3/(,!,$##',!35!$-#')&$#*!'$/!*(4',$,!#%%%
-@853_9_2024_F3
-T3011020132232.011002.01.230121230.022.2320210.1220
-+
-<;)(><;)1,8,?!,1,)05!)5!53-3/)(4/!(,&!11.1/)<!)/,,
-@853_10_26_F3
-T3300222111210.212222.22.220222212.222.2221122.2322
-+
-21&.351,,/5/%!4)&4(0!/'!%+&3(/#0$!+#0!,'.)$-#!#,$2
-@853_10_63_F3
-T0011121023110.100223.13.210101231.103.2222222.2222
-+
-(1,&*./,(-1)/!1/,1+(!3(!-2)/),0'1!/'&!#&$%-4(!,,(%
-@853_10_221_F3
-T2223312323322.102231.00.202132012.221.2322202.2222
-+
-,0&)/&/)1+#)2!+(%))+!&'!2-&+,&&&%!$%#!&&%&+&3!&(.,
-@853_10_254_F3
-T2011202101022.222222.20.202222222.122.2222222.2222
-+
-#4,'#&%(*%%'3!&&(#1%!.)!,$,*&$'$1!&51!('-#/1*!$*&+
-@853_10_285_F3
-T1000220221200.132200.01.232221210.032.2101130.1132
-+
-7679<;7<;1:95!37<962!17!218>:(731!&58!84,803)!;//+
-@853_10_317_F3
-T0020230210321.031322.31.032332100.200.2212002.2022
-+
-%(4(,,)'2+)%,!9)&,2.!($!',*#(1'))!$01!($##-$%!%8$(
-@853_10_329_F3
-T2010200322033.310112.12.011220102.222.1332221.1222
-+
-#&-'*##(6#$#&!)#(11#!($!/%(&%'&4#!*#,!$$$%5*&!%+&7
-@853_10_349_F3
-T3031031031312.133031.31.220312113.213.3222320.1212
-+
-<.954><546;9<!,&8-37!<1!3'5<15&79!7)&!9'3&4&(!&6&2
-@853_10_354_F3
-T1320122002030.212221.12.232210122.222.2222222.2222
-+
-9)).&&)#'#+0)!+&%%$)!&&!1&6&$&)&3!#$(!&$0:4+$!)7/%
-@853_10_370_F3
-T2322231103221.011031.13.231332301.312.0232122.1233
-+
-:;5:9;3885;>8!79:+:6!98!8;9=<=8*:!/(9!8<3;/;;!633,
-@853_10_464_F3
-T3330010000212.300131.13.112322331.023.0331120.2221
-+
-9-398,=<8<.::!3;),(4!76!9;&.086&,!:6)!175&(2;!)+%/
-@853_10_491_F3
-T3223302200011.023222.32.031020232.233.3211222.2222
-+
-<4,.28//:1752!839:46!9/!&0(%$$)&&!5,&!&5%/-5$!&5%.
-@853_10_512_F3
-T1210222121121.222302.02.321102023.201.0332212.1212
-+
--1'(41)1+'-&4!&)'&(5!&&!&30,.),&)!7/1!2/&($&&!4(.0
-@853_10_517_F3
-T0000201333120.213001.30.020133111.031.1111133.1133
-+
-8/,915)-+&/*5!84*3:,!0*!<&,)1197#!/),!'40%1(%!$%(&
-@853_10_560_F3
-T3230002002001.210031.11.103301002.122.1220320.2123
-+
-A>@<8:>:5A;7;!=784?6!<7!<:?=<5::;!1@A!8>=6;=2!>);>
-@853_10_604_F3
-T1032122022103.222321.22.012232132.321.1010201.0302
-+
-3:01<,&/5:)@5!1,'2.6!:/!?=,),,(,&!'9&!)5/)27)!8.:)
-@853_10_659_F3
-T1201100030102.223301.21.332202113.022.2221012.0011
-+
-<=><9=@A8<<><!:<9;=<!:<!6:89<7<94!9=9!=9=76<-!:>86
-@853_10_684_F3
-T1330201102202.321002.10.333002110.222.0221111.1000
-+
-,;%>?=.1;4=;&!-+9051!41!2&:587'69!;*4!7&42'$/!%,6&
-@853_10_703_F3
-T1022030001113.000331.01.111001102.001.2102023.1120
-+
-%/#$/%44502.,!,*5)#+!1*!5*%0/1-7)!33(!$%6#1#$!##'2
-@853_10_707_F3
-T1223030002221.033223.00.023213111.032.0333020.2200
-+
-&858%3)&.)=,(!7,&&))!'8!.119)/)5,!%&:!),6(%4)!&,,0
-@853_10_728_F3
-T2213112011111.130322.02.321122031.002.1110333.2202
-+
-<0;;(:1<;69;=!3<1=>6!:7!)/3;,)/.;!0(/!7;'))5)!&.,0
-@853_10_761_F3
-T3302220103103.220211.11.111230232.012.2022220.0222
-+
-8.=,;@(,+6>)3!6((+<<!5<!<9?7;;:>>!:5,!:9<:<><!6;>=
-@853_10_875_F3
-T1313213021302.023221.30.130212021.222.0213121.3212
-+
-(,%,2&1226:/5!64/6%4!4/!42.339,$'!4/-!22/5###!-$#%
-@853_10_914_F3
-T3110012323223.012101.21.100223330.121.2211222.3322
-+
--,2')(<6)5@(,!;7>;&6!3,!),)(4(336!,)/!31);;(5!/9/<
-@853_10_955_F3
-T3332010100311.122131.30.220001131.301.2221110.0231
-+
-$)7(/,$5*,62,!6,1*05!)/!2)3#)66%1!3&,!1436-7.!72)+
-@853_10_966_F3
-T3000010112221.310121.01.010103222.210.2222222.2122
-+
-8A/11)6</<=;<!,/)79/!/0!&)<(,7/0&!&,.!::/),8)!3)38
-@853_10_971_F3
-T3300220331100.110110.23.321023321.330.0101321.2221
-+
-<::<5;7:;1;:>!@56?@?!>9!05<;@7991!955!>1&=<>3!59>,
-@853_10_982_F3
-T1223223121032.232303.23.022302133.233.3332013.2332
-+
-8)'.-8,2$(:+(!29860;!'(!#*1644+49!*<:!67:%#&3!-2)'
-@853_10_990_F3
-T2021031201033.133023.11.213012011.102.2221322.0123
-+
-1786685;25'9:!9::65>!5:!9$<9-98:<!8)6!;<,97&:!:191
-@853_10_1038_F3
-T0110022322300.202330.22.230120310.313.3121231.2300
-+
-<A?>;A?>>=?=:!?:<<>?!=<!<<=8?;@>5!A/<!=7993;?!=75=
-@853_10_1097_F3
-T1301300302122.001100.21.032120300.322.2222102.2000
-+
-,#&=,&(9,/8)'!,/1889!75!&,&)1;)/1!/5+!972=,/&!)'83
-@853_10_1144_F3
-T3000003202132.300013.00.120002011.121.2021010.2012
-+
-%-27<2(-:'.$8!%74:3%!6<!232:8%8&3!1-*!18-&8.(!#8/&
-@853_10_1153_F3
-T1112233202031.033032.20.313112310.232.0001211.1101
-+
-091#%&5:#'6'5!(2755-!01!4*0.)20)#!)%)!.+(20&4!3,%*
-@853_10_1219_F3
-T0220020211300.110223.13.032102023.003.3212322.2120
-+
-0;:63/<=849;;!69=<:<!>:!55>=<;6<:!74;!48)<:47!>;97
-@853_10_1415_F3
-T3310131131130.303220.33.131331311.111.2133111.3111
-+
-:9?>?<@@:>?<@!9>9>9>!<9!<<9;;=<&,!<7(!&5))<9,!4:1;
-@853_10_1466_F3
-T2122033302111.121230.02.303030131.101.1301001.0023
-+
-856&7;:5286:5!46:158!-9!986-3<45(!2<2!-78:$.4!)1-3
-@853_10_1684_F3
-T1101100223023.110012.22.110331022.303.3211320.1223
-+
-<><AA=7A??<9>!@<.;@>!,A!<=;??<<9;!<)8!;5&7=,<!1,59
-@853_10_1774_F3
-T3003300312003.222212.22.001103322.002.3232312.0101
-+
->&)&979<:;;9>!75:=/,!(&!;/5)7,1,7!;1,!3&5)3?(!'<>&
-@853_10_1797_F3
-T0103231100311.103321.01.112002201.000.0202000.3120
-+
-=;=<<<<5=>>?:!@<<58@!94!:59));63.!692!6352'42!/%/+
-@853_10_1964_F3
-T3230330222203.033201.21.111313022.322.0133330.0333
-+
-88$&*55045884!081/71!/2!.6/9,+&7)!(1#!'%(&(#%!('%.
-@853_10_2037_F3
-T.00001.02..11.32..0..12.1210111.0.000..01.003.2..0
-+
-!6;9&7!7&!!,6!&)!!5!!9,!<),,1;.!:!51/!!&3!8-0!&!!'
-@853_11_36_F3
-T3022220202000.222222322.2123223222222.2222222.2222
-+
-&&0,,)*)/*,,)!+)058*&)#!#)%&)#&-)2(,+!*)+(,.#!#0/+
-@853_11_179_F3
-T2133203212003.201322101.2232122223212.2222222.2222
-+
-5)(1&-50/$'&,!$,),7))'&!(9.&)&,3.(+)%!)',&(.0!',,)
-@853_11_291_F3
-T3233110200122.212330222.0002020221323.2112222.1222
-+
-5*'27/'#(124%!9.:$715/&!75+':714&/67,!4+30'*;!++((
-@853_11_304_F3
-T3312200211122.122122233.2222332232222.2211222.2222
-+
-2'$')%#)%%'#+!&%#(#%#)/!##$%+.$-$''%,!#)(&$$%!&(#)
-@853_11_339_F3
-T3133232330333.203330202.0202230222222.2322222.2222
-+
-95('.)#&('%&&!#$%$%&%#,!.0###&$+'(5#,!2&'##0#!*'#2
-@853_11_377_F3
-T2232022322002.122222221.3110121200111.2221320.1220
-+
-<+)99&&/&(&&=!&2,;<.:)5!),2+)/21-)393!423)&&,!,(&)
-@853_11_392_F3
-T3330233333233.312000222.3223022221103.2302223.3222
-+
-1/&&),,&()7(&!'1)/&),,5!&/18,:(&,',&3!)//310,!3&17
-@853_11_436_F3
-T1220231200111.330211130.3010200210200.1222222.1222
-+
-&('*45(,())&(!0,821)./1!&,&(1&2&,(&/)!&,1(44&!,(;5
-@853_11_440_F3
-T1022000003021.200322201.3112033122232.1312322.3321
-+
-&78)5/&=/'/,,!35+&,47/)!&,/&4',<3:,,0!,68663(!2,+&
-@853_11_502_F3
-T1320301323013.110212102.2302221322213.2213203.3222
-+
-><;==>;>>><;>!@?:;:?(</!<::1:=/+,&)'%!&'%%)'$!()'(
-@853_11_522_F3
-T3332013001310.001310133.1012022011001.3121103.1212
-+
-)3&)1)4,,)';;!7,&2<;8.1!27:6:(9;3,*=<!1,7(69.!*5:'
-@853_11_544_F3
-T0323022233033.102122100.1130233202331.2210033.3200
-+
-$5<'#32'((*4*!&-2%,'15*!4%9',52/)3=3&!-2*%#)2!#'%(
-@853_11_580_F3
-T3312132311002.110012113.0213220112200.1321321.3101
-+
->=@>@>@>=?>>?!@>>=?=?==!=>;>@5??>><><!=6=:<:8!5('&
-@853_11_616_F3
-T1332213010203.120213203.2213012200111.0300131.0010
-+
-<==<>=@=?=A<A!@@;?=?><>!>@<A<?>=;>@<@!5>:;:(<!;8&9
-@853_11_625_F3
-T0010021110212.131001310.0001030012000.0003021.3001
-+
-$).,)11)39')/!1)1&//&')!3$1/%'1110/8'!##4.:1'!*&,%
-@853_11_698_F3
-T2021201222011.300201111.0001200022100.2132213.3200
-+
-39&:3),:3,/,1!)5),:/761!(,),/45&(,,..!(0&,'))!&&&&
-@853_11_744_F3
-T1103030333000.223330300.0233312013201.2323220.2022
-+
-=A<;29:=9>987!:1>;69:99!5,:8;,4;::83>!.2,=7%2!88)6
-@853_11_768_F3
-T2010000023112.321122031.1201231012221.2221221.1222
-+
-:/A=><?A9;@@>!1:<3+%10,!%3(&+*+&+'!5'+&+/+!&27&
-@853_11_775_F3
-T3022212131313.111232231.3201330022122.1321131.0231
-+
-5>::>;?>;?<>>!@:?=;>9=@!;:<><=<A=99:=!,97,/))!('(,
-@853_11_794_F3
-T3010320001322.013320113.0011023210312.1120000.0331
-+
-()123,3&,,6&&!2)&*#,&'$!.(#$)-$'.)+&(!'&&)$*&!)&&&
-@853_11_835_F3
-T0010311130231.213113121.2113330010220.0012232.2203
-+
-418(9;/6&42:4!1:71&861,!),'(#,-#&%#)*!%$-#$%'!##%$
-@853_11_845_F3
-T0000322301231.022100321.2310021301230.1301222.2132
-+
-<67>:<6<;=;94!>>6;9=<:>!<:977<4.;'<8%!1<-,:=:!/;,<
-@853_11_860_F3
-T3021012320013.223233220.0033302203300.0223020.3033
-+
-5793268:17;39!>38998<:9!918;57=</+769!,8::0(6!:2/,
-@853_11_879_F3
-T1113233212112.300121022.1330101220021.3220122.1123
-+
-@/>8768=)<;/9!68/=6/3=6!(95/,9,>6=,3,!/:61=1,!?,&,
-@853_11_900_F3
-T3211213110233.130330101.0121003010022.2110222.3202
-+
-8&,'&&,',,)&'!1',)&1&,8!/8,&)&&&'17/*!)&1&&)&!&1&/
-@853_11_930_F3
-T0000222120013.020111211.3202200113012.1301232.1111
-+
-,7+/8=:,4,,:8!':/<5/:,&!/3'/7//;0));)!'7',/'&!</)5
-@853_11_997_F3
-T3212210001220.212002102.2112002012100.2131301.0030
-+
-6949666:68<92!6/=1/<967!:5372855:1773!/6446*8!.4&4
-@853_11_1002_F3
-T3330000113300.313312102.0312030330311.3331201.1213
-+
-;:7>>@<=@;<==!:=::A:<=>!:<;=>:399><:9!;<2<8>3!=539
-@853_11_1113_F3
-T2000122331220.122030022.0122330113102.2113130.2321
-+
-.89&&,:8)/0)+!*)%78&)7:!+,/,#/0,&'25<!:),.);,!)9/1
-@853_11_1130_F3
-T3200012120032.002200332.0031111122002.3312202.0020
-+
-4/:,$:1&%#<2'!7%;+'3<'.!;%95)2&>%&8:,!:;93.)5!=5-6
-@853_11_1160_F3
-T2121233002001.210312301.2213313001313.3211202.1232
-+
-/(/3&5)(,.,52!,&)295)6/!*01,4&(.6))(*!.8+*:4/!':&,
-@853_11_1289_F3
-T3202030030000.322322200.2212223121322.1232113.2302
-+
-4,0;,1,/3354-!,&$,*'$&'!+'%+:1-#'*%$#!)3%$&21!(,&'
-@853_11_1294_F3
-T3012121230122.112212223.3101330211122.2332331.2011
-+
-9,)-5=3:9,3>,!<;=<,>>>8!7<,.9<5:,).9;!/(?5)&6!)&75
-@853_11_1308_F3
-T1313222031123.213112233.3132330320321.2220233.3322
-+
-115356<:/)&>3!<.<&@')13!8&&:),5&;'&).!',&/'&4!&&&,
-@853_11_1324_F3
-T2222132323301.120330302.1323202011301.1113110.1332
-+
-9A9?,1'67<895!=71<:<=:=!451<<755;,=,<!3:+2),/!/2*9
-@853_11_1333_F3
-T1313122003300.033223031.2201232301222.3212022.3102
-+
-@512&<75/48/?!>=2=<6>:,!7>:=//<::)/91!<:6&&3:!,,/:
-@853_11_1346_F3
-T2332133022333.022120203.3322113331122.1133233.2212
-+
-)'&2.,1/+09,6!-)34$,%$&!)/&,4#3225%$%!,*+,(&,!82'#
-@853_11_1352_F3
-T3322311331130.202323023.3100113032320.2313223.0312
-+
-3&9(&6>)9)7.(!.);,1&)94!3'5+((.0(45',!&++-',,!)('&
-@853_11_1409_F3
-T3000220011111.020033110.2210210002000.2312312.1222
-+
-:-130:=6=1.2<!.5.*9:1<)!:78+>5,8551.6!;?84,7.!5478
-@853_11_1420_F3
-T2013221030202.321222212.2213212021222.2222222.3222
-+
-#<####9####:#!##@####<#!##<####<####>!#######!##%%
-@853_11_1517_F3
-T2120330010112.111203322.0111322233311.1302100.2333
-+
-//,(6$1=&)8/6!(,.5.#393!#3441-+><'+).!3,.))56!928,
-@853_11_1553_F3
-T2100002220130.022031233.0323211101000.1213332.1321
-+
-%*)140+868927!&%2:2024+!642/'42181899!8)85*18!.%2#
-@853_11_1571_F3
-T1311202212210.203333311.0032311112120.0021233.1232
-+
-&&5A5,6>@@>=(!?3;:9=>,;!=1;9):;@>&==,!&8:53,6!=)&)
-@853_11_1594_F3
-T2303312230022.320123233.0110003313310.0312023.1002
-+
-32/32,>7((;;;!/:89));8<!:;18?>=6=,/;(!)684))/!/.')
-@853_11_1616_F3
-T1313130323223.231222330.0322213112101.3223122.2222
-+
-&17/276),&4(:!5,&>(;3/&!(7)<'&,4,;)''!58,&1',!)):)
-@853_11_1621_F3
-T1100000112201.030113022.0032000002303.3330222.2223
-+
-;=:=:;<?8<<9=!9<4@/;<;:!283&):97&$38/!(4:4*5(!+)18
-@853_11_1630_F3
-T3010033021202.301000112.2111320021311.2010121.2211
-+
-,,2%%#:%#&%/$!22+&&8#55!7)8342*:(2%&2!*%52&'#!/*##
-@853_11_1700_F3
-T3023132213003.332000022.0321030333311.2312301.1020
-+
-#0469$&38)211!&'=&/,5<6!21/%.'6'&0;,)!(:,'&39!2&18
-@853_11_1732_F3
-T2230101330100.230100230.0023010023001.0230100.0103
-+
->?8<?<<::<9=>!<<<:<<7;4!=:799/>>1.=37!:)+7,<9!8)/0
-@853_11_1746_F3
-T1022030110123.110220002.0032200021021.2012223.2031
-+
-5-(22/9456;,.!27:40898*!(2'4'%(6'21&+!%214)$.!5%)(
-@853_11_1751_F3
-T1321123132330.322312233.0002212012222.2303232.1332
-+
-8&:3/(442=.(:!//#0,;:)+!2(#*35,+//;,.!3,'(+%4!,3(=
-@853_11_1789_F3
-T3120220123221.330223010.3032333132232.0320331.0222
-+
-#1;9,*+/2%9(.!/20(,/2*)!,()(''/3'47/3!,)3)#51!/77,
-@853_11_1808_F3
-T2200210320103.302111322.1213332020311.0102302.0001
-+
-,;4+&/.'(/&&-!,*$$33(.,!8.).,'3<0/&0+!/)4)%&&!&>(;
-@853_11_1885_F3
-T3102132020013.301111332.0012211010132.2121220.1020
-+
-+<0'12'&,.)3$!##4,,$-&,!*0:'4)8,&)$$1!4-)14.,!2&1&
-@853_11_1895_F3
-T3010323301021.211001312.3132133230000.1121113.0211
-+
-23('15&),&*71!,&,&&&&)4!5;&)2&)53)(&3!,7&:),&!/871
-@853_11_1917_F3
-T3213333130023.122312102.3210303123011.3111222.1112
-+
-4)85;986:5983!38;:/5793!9666914;4451:!699;602!=57.
-@853_11_1972_F3
-T3320202011222.332212311.0210023130323.1101303.3020
-+
-99:07:;+&2>14!=(7>=).5,!,,;5:1(,<)5'&!+&'69(9!-7)2
-@853_12_125_F3
-T0122203032010.301211220.2020123011223.0222212.0112
-+
-0538-',/.0,2.!&',54&,#)!%&,)1&$'/,0/&!/',4')1!&(,2
-@853_12_145_F3
-T3022203001220.023331221.1200322220021.1221211.2222
-+
-+$5+2&&,&)##-!)#%,,&#&)!2$%),,(481(,+!13*&&,&!0;50
-@853_12_163_F3
-T1222103312023.230232332.1020022122222.2222222.2222
-+
-)&'1)&7,)11),!7,1,)'/,)!).5),,/&+84)2!0/0++12!4*0.
-@853_12_185_F3
-T0023122233030.011210213.3131331233020.3110223.3222
-+
-).7/.482.4)1'!&/3#1,64,!(,0+1104*))6,!,0.0:%'!1:3'
-@853_12_204_F3
-T1222222123232.232222212.2222222222222.2222222.2222
-+
-,,(*&'(&$&.%#!.&7(/%(&'!5&.#%)'521,%$!)'&%%)0!#$+*
-@853_12_237_F3
-T0000022331132.222222333.3311033000030.2221220.2222
-+
-)757*1::/6/;:!88;=961;5!58)36.1,+/,3/!7<8&8:&!&--+
-@853_12_267_F3
-T2230202310213.023211312.1121133021300.2222223.2222
-+
-4;&=/9=&1)(;(!++'2,&&(/!5.782,,,1+.5,!47.&$''!*0-&
-@853_12_447_F3
-T3112110011111.111121122.2222000122212.2222221.2222
-+
-)/''+801&+.&,!1''&/,*,&!3,2))')'8,&).!&%%)).&!&+3+
-@853_12_470_F3
-T3021111321322.210201112.2212222222222.2221221.1212
-+
-+9.(5-/3-<)1#!(+%$.,0#(!-#('#1(+*,1$.!3$+#(%&!$$%#
-@853_12_590_F3
-T3022110011033.233210110.0121122213113.1310111.2312
-+
-;574<9;98787:!:::<1<;:9!875:43&40(<;8!9390.-8!1/21
-@853_12_673_F3
-T1220213321222.322102301.2030210300221.2020011.3011
-+
-<77=5<9?79>/:!<<;94:</9!97<8585:99:<2!4,574;:!57<8
-@853_12_716_F3
-T2122001013310.011201310.0123302301200.0010021.1200
-+
-</2/86;;8868<!66/2929%=!%<26/</.<2166!<=,4;6<!33(:
-@853_12_779_F3
-T2133001332023.213122231.3012102322222.2212023.2222
-+
-&&&&$&$1##$&#!##&$#####!##$##$#%#####!#######!####
-@853_12_889_F3
-T3303031221020.331221220.0200133301322.1012132.3031
-+
-5$)210),++12.!+2./$.0+&!/$22#577$+,&#!$1+#&.'!%#$/
-@853_12_904_F3
-T3213212303022.313222231.0132221322032.2113303.3332
-+
-5.'-%*()$'&)'!+0:%,--5#!#'')**3,'#'&4!##-4(#)!3&)%
-@853_12_937_F3
-T0000223011112.023212222.1122101321330.1021310.0111
-+
-<@<;?;=><>@?>!<>;=>>==@!>9>?=;<<<?=<;!<7:A7<>!8@==
-@853_12_1024_F3
-T1123310321001.131333011.1101132121120.1321103.1223
-+
-,6&)/)-/)&))(!<&/)1,9/&!(&/&6385)1,/)!(3&&&&&!/5&&
-@853_12_1133_F3
-T3322011120232.200100233.1000213211000.1300202.0020
-+
-8:5;985<7>;6<!7=<<<=8;;!,<37,64/&'2,*!'#%%')+!*,/.
-@853_12_1138_F3
-T3120320131023.003333230.0023011210011.2221222.2122
-+
-9)28)8(%+&&'&!2&*7,%)$1!/)&5)(+/3#$0+!###'%##!$'%#
-@853_12_1200_F3
-T3310231310102.021130312.1032221320310.3323230.2311
-+
-14/52995.(5+-!(2.',7#3,!-3$#',/.7$55*!/:)'5%0!')%4
-@853_12_1216_F3
-T0102231310023.331220320.2302130333302.2232233.3003
-+
-8:68::7719:9<!8;8228:82!89<7,5)7296,9!6,94)08!86%7
-@853_12_1258_F3
-T1012002321300.200321333.1113322211001.0221102.2003
-+
-&/A,3,&))71)&!/:1&,1,'<!6//(1/:893713!,//&&&3!//63
-@853_12_1269_F3
-T3113010302021.230122003.3012223330113.0011022.2221
-+
-))/9&&13):8)3!),1,;?+59!=<6,=:19+/;:,!57))8<7!&/?,
-@853_12_1277_F3
-T0012022113033.123022220.3300123212111.0332000.0333
-+
-7?:1;:?9-<=9<!<>9<9<=:>!6;9<8/=:<79:;!4>:9':7!8199
-@853_12_1302_F3
-T1230301120223.101200120.3100322101322.2222320.2322
-+
-><;5;7:1;1<9%!*/5+)-&5$!#3<&;09:#2#:8!319<'%0!<$34
-@853_12_1376_F3
-T3030320223230.132032232.2221221200220.2133111.1012
-+
-)3%19//1;.&)(!&5/+&)9/(!9'&.8.%$1,::7!&6164&,!21&9
-@853_12_1405_F3
-T3012222112131.231011301.1001120002210.2012022.3122
-+
-%3098-:)%&%/$!&&,$0/9)5!2.1600)'%)&15!*$2+147!*524
-@853_12_1460_F3
-T0112221311210.003030231.2300123012202.2100122.1102
-+
-=>;==?<<?<?</!:<;5=2=?1!;::5@=;<7=;7=!=2;;9?;!@;6)
-@853_12_1471_F3
-T3330022331201.122130030.3120120330033.1011230.2321
-+
-2'2678/9:::)<!:=4<#+508!62'851,94158-!563$)2/!,(3(
-@853_12_1525_F3
-T0013020211211.010100221.1122001210211.3121111.2111
-+
--)03.1-;98352!257)(19?2!5859/86,<,79/!)*/()&5!69))
-@853_12_1581_F3
-T1200133101202.221322233.3212130022200.2212222.0222
-+
-#7#%*2)&#$/=%!#*?&#$'3.!1(:##$,,##$#8!#%$6#%$!7##%
-@853_12_1588_F3
-T0012021002110.031022122.2033113112102.0332203.1111
-+
-9)3313A3,>571!6:3:)<1=/!=;08&>8::&;96!.==39,=!9>7<
-@853_12_1651_F3
-T3020020112212.230113122.3012330121130.3300302.3111
-+
-;&&*&4>.)()&0!):35//&,+!4&5-%<(,<()%;!))%15'/!,;18
-@853_12_1655_F3
-T3300132113212.231120102.3101302222222.2222223.3230
-+
-##045%+$'#396!2/324'5%.!$%241,&%,*$32!*+)0')3!(8)&
-@853_12_1678_F3
-T3222013101022.312110110.1021122231022.1122202.1213
-+
-49&%#########!#########!#######$#####!#######!####
-@853_12_1690_F3
-T3003002211333.100013020.2201200311003.1130022.0322
-+
-7*&+,553/'63-!395260883!#74#&&85)&$64!($13$##!)$##
-@853_12_1779_F3
-T0102310313122.202100330.3103121320021.0202000.1203
-+
-<<::6?>74:5=<!=>==%<:9:!97>:&:;99$699!%:;=-(7!98#*
-@853_12_1813_F3
-T2212223211313.231233331.0033022201031.0000120.1113
-+
-863,37338/69-!6999,064:!//$*12753365:!%)7//2+!,:;(
-@853_12_1826_F3
-T1222312110312.213033300.1000031111002.3110021.3002
-+
-/<<=/<733*.,3!')&60&96,!5&'96579;,>&,!098'/)<!&1(2
-@853_12_1848_F3
-T2021222331213.113303133.1233222332222.1221321.1222
-+
-:><>;::8;=<9:!3,%$'2%'#!#&#'&,'*)#()#!,#*#-%(!&#)#
-@853_12_1868_F3
-T1222000220021.123301000.0333030322132.2112221.2221
-+
-;8=8?9><4??69!?879%)<%%!/929,&;'&2'*.!#-'$+#%!--'-
-@853_12_1929_F3
-T1103313131131.222012212.0312030312000.1222202.0101
-+
-=<?;88<;<;;<;!67=<?;:9<!<<::=599:==:9!;87<;>7!1:58
-@853_12_1932_F3
-T2123313131211.020220311.2211002200130.0211000.1201
-+
-82;%46$5#61.5!5417*:-70!2.73#37(6)6.7!621:)%3!9*07
-@853_12_1989_F3
-T2213232100320.012011212.0303100120321.2203122.1312
-+
-+&1$1:3A/911/!7>/<&;:/8!3;/73>8:<99:9!;5345<9!?/,4
-@853_12_1993_F3
-T1233001233011.122013222.1113220033221.2113123.1322
-+
-851293;5445<0!;554:2252!;,<2459:/4)25!,7+###%!%1##
-@853_12_1998_F3
-T1313020112301.300013200.0002121033113.2023230.0200
-+
-;5?2:8A?:57<#!0;?5,26?9!><>))7;8*%??1!1>;15#=!923=
-@853_13_229_F3
-T3032130221003.212100220.1322333123123.3323221.2222
-+
-3(85.)-/.,&-3!2&4)),:7%!-/:313'-#,&,1!/)#3-5)!805(
-@853_13_261_F3
-T3223332332112.021201132.2212032220222.2211222.2222
-+
-18&&1'(-#6&4$!)%,.0&&35!,&/+,)&(2')')!*&&(3'2!%4)3
-@853_13_287_F3
-T3002301011111.300132221.3022223012231.2202122.3222
-+
-.1-,&02,,*+1)!&-&3%$46#!&(6'##1,&%002!,0%1'./!)-.%
-@853_13_298_F3
-T3310133113333.333222212.3002221122001.0012122.1222
-+
-96,06697)56,3!7734%38&#!)9+&&3;4$$31)!(,,%�!%)'/
-@853_13_308_F3
-T1330000332213.203321132.0230322332222.2022222.2222
-+
-'/01):78+5/,,!&)%&$%(,$!(%#&#&%#%#$#%!&&#&-$$!#%%*
-@853_13_366_F3
-T0030302032002.002300202.0221333220013.0003331.3322
-+
-56-,)0&528/&'!,5&((8&<(!/4&35)0/(;;11!98)1&-,!)))&
-@853_13_396_F3
-T0223210101303.230033113.3012132123322.3222222.2322
-+
-0>?:;4;:8:98=!=;98><3:>!60/5,15+()$'/!&)/2%)'!5&)1
-@853_13_414_F3
-T3321112211211.011012222.3012121222112.2200320.2222
-+
-*%28-6/,.72((!:;*8183*3!#6&%-8#2%5<7/!#''2%2(!4%+$
-@853_13_479_F3
-T0032301322021.222001320.0203221022200.0033131.2111
-+
-1&4,(%.%%%*#2!+%#%#&+.%!'%2'#$'-)#*&#!%-%)$(,!.%#%
-@853_13_531_F3
-T3301031311101.221031311.2122220110102.3031313.2121
-+
-;;<;5<:?>89:8!@:66=:?&/!71457877:)/33!11>16/*!0..0
-@853_13_553_F3
-T0102021320313.221012301.1232102100010.0113221.1010
-+
-939:/:<6:76;8!/4>15:6=:!54/;1-><;7*8<!;-0495&!;;8'
-@853_13_594_F3
-T2012000102023.201011200.0212232221120.2230010.0002
-+
-:8<%#),6'9.9'!))'(-1&-1!%%8)&/.7&),)1!8'&81)2!;5&$
-@853_13_602_F3
-T0032210202213.213101232.0022021020220.2020202.0222
-+
-;6274=;;;2-/1!#$#'2%%'%!)$#$#&#')&$$$!(##(-$#!'($$
-@853_13_638_F3
-T3130021123000.023312112.0303100120000.0031212.3210
-+
-<A;;>>AA<7<>>!=8<>578?<!=6<>7@>:=):>7!>8563/(!15&'
-@853_13_648_F3
-T1231301002302.211020211.1110213202321.2112223.1222
-+
-:8684:9<98:;;!3:9:982<=!85886670'%)#&!$%#$&$#!&%(#
-@853_13_721_F3
-T3333230132303.100130302.0233233332233.0030320.1133
-+
-A+94,511),&&1!,)&/&/1&,!,5;///&7,&168!;)/,,,,!)(,,
-@853_13_809_F3
-T0003331131002.130231211.1113311200111.3100131.1331
-+
-28366.7;8=::1!?);;7:$74!4/3+&'#3,#$)0!-.(68-&!58./
-@853_13_850_F3
-T1031012102222.202211131.0311102002103.1122003.0000
-+
-1%$%2%$&%/$5*!/+$2(,7&:!8$&98+%)7).7%!((%9)5%!3&3)
-@853_13_1030_F3
-T3132033320122.112200201.1121312211221.2133221.1222
-+
-&)-#&&&&+'&&*!')&&)&2&4!&&-&&*$),%%$&!#&&1##&!,%#&
-@853_13_1042_F3
-T3212332011113.232102322.2022221122232.3221322.2332
-+
-$%&)')2,))&)%!)&53%&,(,!&*&2+,%7,$6'.!.0,('0&!&.2)
-@853_13_1092_F3
-T0112000212200.122210020.3102222201222.1122222.2222
-+
-.851+/36;8925!&0(/&$./&!53.51#2/#,-3/!'#(&/&#!**)$
-@853_13_1171_F3
-T0223320230220.021233321.2333222302221.0312131.0002
-+
-<=>9=16;8;=?6!,='6<85<;!:7/9;?=**9>7,!7;/):;>!:8,5
-@853_13_1222_F3
-T2112021113011.311011302.0231220013331.1311020.0013
-+
-&6,&0'&)'1&/.!#','-1,)-!%(%#&+%&'-4+&!'/&))*'!,&3&
-@853_13_1226_F3
-T2302002311200.321000031.3213001222231.2320023.3321
-+
-<=994:=<:;<84!4:###%(7#!(2,0&(15',+1&!/#1/$#%!55'2
-@853_13_1245_F3
-T0313130301321.113221002.2122101210030.0133321.2011
-+
--+$*'7,8()3$%!,/2/$$$,+!'.10'((,%&%5+!(#141(+!,%#.
-@853_13_1280_F3
-T3311003112132.133322131.3233121321313.3002103.2123
-+
-78687898-1753!#/22,,,;2!()9,,#/5/&-59!$&)3-%'!24'2
-@853_13_1306_F3
-T1111012002203.213122200.3102300123331.3000003.0021
-+
-$#*63+%5,$),#!28%<%.162!'8*1%53#(+551!.574$*#!5+##
-@853_13_1341_F3
-T2201013101110.100213022.0101123000210.0330211.2211
-+
-96557:<57:695!94765;1;6!877::75:4699.!6:930:7!::89
-@853_13_1365_F3
-T3011300013211.312033311.3111110223013.0120021.0212
-+
-@;?7<==<;>;=?!?;=3@<<9;!=6;;:4:<;8/+=!304;741!<38,
-@853_13_1443_F3
-T2031033110030.011112022.0222013110331.3123310.1203
-+
-=<:::><=7;8<8!<<>;2>::;!8==;1<>:968=<!,:9<9<:!;7,6
-@853_13_1483_F3
-T2023323133131.221222333.2233223222212.2222222.2222
-+
-#0####1####8#!##($###(#!#####$#%####$!###%###!&#$'
-@853_13_1505_F3
-T2212120300302.233033312.3331132111123.0311133.3322
-+
-.:;<,>*/%65))!546(:7)<3!>3431;,38),/=!&:'&&,;!5&/1
-@853_13_1606_F3
-T3023123012222.002233113.3322021002022.1010213.2211
-+
-89&49;;7;:5&4!71&08:;33!8<<9;<?A61;<;!5?:78:5!'0%&
-@853_13_1626_F3
-T2222233330012.310032221.3331333323222.3130233.3331
-+
-',11/=+1<6&&1!&,5/:78$#!+,&1)*(&##$##!$'##,(,!$1,#
-@853_13_1672_F3
-T1211030213021.221113110.1011132211011.1122232.0112
-+
-.139+97,57;3:!72)%'&2#0!$*)).++2*.%,'!4.&$(&%!/%1(
-@853_13_1784_F3
-T3221322232101.010013222.2111212100011.3320301.0103
-+
-===A:@@>>=<:>!9>;9==>@A!=>>;>;=>8:3=<!@??4<8;!/:7;
-@853_13_1840_F3
-T0103222320012.203013210.1202132132102.1100001.1030
-+
-;;;49:<74=<;=!585484999!1<95:,:81/'##!#$$#(%'!''$#
-@853_13_1892_F3
-T0110000330022.322133222.2220120031001.0111211.3212
-+
-+/5:58)&)/87&!)74:#&33)!5%4).&9:1(361!0)'60&5!9/#%
-@853_13_1911_F3
-T2023023111022.110102003.1223000300012.0112322.2200
-+
-)/#$',&/.%%0-!,+1&8*'4.!6$5664%+8(+7&!&-#&(6&!'0,*
-@853_13_1937_F3
-T2100301201111.021111300.2301022012322.0220011.2011
-+
-8<8;2;>:=:=<8!<:A=>=7;.!6:94;<<=3:5=8!:7<<+:8!51>;
-@853_13_1983_F3
-T2333131330231.222331021.1113022200202.3322312.1322
-+
-2*.,58>,.47+;!#7:+-386'!,88154:$525(%!,-60(&4!)5/4
-@853_14_48_F3
-T1200133320202.222220223.1212221322000.3012231.2222
-+
-.61./,3/4)/'0!//226)41&!/$).96,))5),)!)&/5))&!::9+
-@853_14_65_F3
-T0132320111332.332322222.2222222332222.2222222.2222
-+
-)3&3+,*$&))+%!*%'$(#()#!(++(,&(%%0#'(!,(,#+*%!&-*+
-@853_14_88_F3
-T1222321012121.132322223.0110021222222.2222202.2222
-+
-,&/')&'&&,'&+!',&,#.*&)!&&($&#&%&('(,!/)-*%&*!*3+2
-@853_14_129_F3
-T1030102022000.222212020.2232133311322.3222231.1223
-+
-2/355'5#98+1,!:98#-:,8%!<663.7/3),8&5!5:9;41)!(:$(
-@853_14_191_F3
-T3322213232222.222220202.2022121222221.2222222.2222
-+
-/+#'*'/##(&',!&%#*+&#%#!%'.#(##%####(!,2##$-(!$'*,
-@853_14_225_F3
-T1311131021200.002331101.0001113222223.2112202.2121
-+
-3479956788564!178855446!69;::62$75%-$!;&(#5-#!()9(
-@853_14_247_F3
-T1222033303221.012110303.0013002222323.0220200.2222
-+
-:3,,&///)1<:/!,8<,&)/,5!1,)&/,313,'<'!),&1<'7!=&;:
-@853_14_273_F3
-T3110012100211.021213220.1003201011303.2221223.3222
-+
-:(5/5(&,&8)&&!,3'5148,,!1.1)6:,//&1*&!0;:,&.,!);:&
-@853_14_291_F3
-T2212211010122.200332220.0032221222221.2212222.2222
-+
-&=1,,1&&&5&%/!4&+6)&(#'!'%'),2&1)6)*)!7&$,&61!.),%
-@853_14_322_F3
-T1222231312023.212123103.0120023021202.0211221.2222
-+
-8;<87865.69<3!<6=-=:87.!78:(87434%;(8!.<#5&/)!;#*(
-@853_14_333_F3
-T2113030021111.333123121.0312222222220.2222222.2222
-+
-&.#%+'&((3/)2!%&0&4&)8&!%(25*(%+'%$00!/0&)$')!)34*
-@853_14_371_F3
-T1132033302002.000330102.2200023002210.0220322.0222
-+
-1,4+'576'#38+!$338%%156!$452)#'6-&+%<!,##98##!55()
-@853_14_386_F3
-T2203002323130.122020200.2301310000200.0020221.0210
-+
-,&,&))417&&)/!+/175+523!'&13&&2'6,&20!)+,2,/*!)3))
-@853_14_391_F3
-T3102012032121.202022221.2232022221222.2202222.2322
-+
-3,/(/0#).30..!1/4#),5.(!/82015**#$$''!#0&'3&%!#.('
-@853_14_488_F3
-T1013032122031.323122131.2213223222323.2303122.0132
-+
-44812*-.4;%<9!*-7++/&61!35#1/&/58/,0-!%7+46$(!*/#/
-@853_14_541_F3
-T1310230100230.033020233.0122003300003.0000001.3022
-+
-,,1.&&&);4((&!10,/5993.!>):439,,&7=96!*&49*8&!9($/
-@853_14_549_F3
-T0100211221012.332212330.1002102011102.0000202.3233
-+
-2%))%;#&%%#%0!&'*-54$&;!643,&1'/33)=1!#,,'#'%!9&.,
-@853_14_563_F3
-T0300003000002.133233321.2033020322131.2220022.3321
-+
-,/1$,#5(,$)#)!#)&##'#')!%,,,)#*&$.('$!#$##$#,!%##$
-@853_14_609_F3
-T0112010212213.123122102.2212222212221.2221222.2222
-+
-:=9=9;<<;=<<8!'&:+&$&/0!(1'.'-0&)32-&!.+)*#8&!&86/
-@853_14_644_F3
-T1232102010211.211310312.2130100202312.1231220.2002
-+
-$92:&%&$451.,!-%4,&4&#.!28)%548&+(,90!01,0)))!3%&4
-@853_14_654_F3
-T3012012111203.233111132.3101012122021.0300020.0033
-+
-<<?=<<<;<=;<<!<=::;><=9!8;;;;<6:87=>7!<78;5,=!=81/
-@853_14_687_F3
-T1132111102002.323112212.3011013103112.2131111.1312
-+
-<:8:7:>;48;7>!8<4>79<:<!7<@;:5<>71&:5!6$:9;=)!>4;5
-@853_14_694_F3
-T3322322210122.302210121.0300201331001.2030333.3221
-+
-)274.&#%05.&0!'1$%/:*/#!/)#((60$-(88%!&<&')%1!0%))
-@853_14_758_F3
-T1321202301222.033210210.0300011121321.3133211.1223
-+
-><;?;:=>9>>?;!<;;:6>;<.!<A=;<<;@:1=77!#,%4*'&!%/#$
-@853_14_833_F3
-T3310213023021.332021213.0322322002222.2210132.2323
-+
-$&.-&-&:7&)8*!1&3/3,&/.!&7''))),+,2,/!'&41*0=!&)3&
-@853_14_870_F3
-T3222123013233.301333303.3033000223000.0312223.3222
-+
-98)6#/)37)1+7!6()(&253)!&+07+#%3&/23%!)4&4-(0!)/.'
-@853_14_924_F3
-T1220222233220.203302213.2112031122312.2213133.3222
-+
-842*,&/0%#-3&!%#2#(&'-(!2#*,%2-/%*,#*!'#''##'!,)$#
-@853_14_976_F3
-T1032120002200.311210210.3032321231302.2331110.0330
-+
-:<=>A<=96?<;9!<;9==>=:7!=::9>?:7=6?;=!===;8=;!5<>9
-@853_14_985_F3
-T2330202321123.210122222.2102123311021.0331200.1230
-+
-,7)&&&6/,1/3/!&.8$/,/,)!5/&,3;75,&/6)!3&)&&58!),*6
-@853_14_1006_F3
-T1020022101000.021103331.0011301103002.2222121.2113
-+
-69788<59;=::8!;<=<5>===!<;;@<>=<346;9!;<<9<94!75%)
-@853_14_1016_F3
-T3222110230210.020130020.0121012210231.2231230.1111
-+
-&&&,%)&0&&)'3!72'4%'+-,!&&*62&5,4&$3)!4&211&)!110'
-@853_14_1065_F3
-T1200000033013.000213311.2210300303333.0133030.1330
-+
-;:/0/.1/(+<7:!(.794'983!.8>&.3(1)'991!1038,.7!441<
-@853_14_1070_F3
-T2210231200211.131133030.2113003032212.0222000.2222
-+
-'9:::+&&9,)/,!35(5)$(''!0)'(&&'.$')%%!&&&)#&&!&&1'
-@853_14_1075_F3
-T1301000111303.233202012.0010210032211.1002020.1122
-+
->8><>>9<<>;=9!>;8<<=>>=!>==<<>>=8:76<!:3<859:!<:;7
-@853_14_1087_F3
-T0033302301333.331323333.0013311000030.3002121.0301
-+
-7/2459;829815!:8539:5&,!40(/37&<436(1!87/6);6!,'&7
-@853_14_1103_F3
-T0302301222002.200211200.1323333123222.2221330.1322
-+
--28$,8+-7*/48!4.6-+&*51!.43&/-142-12'!)/,&,$,!-'05
-@853_14_1119_F3
-T1323221321202.202330220.0213000012122.1123300.3121
-+
-==A=?;<=9==8=!=:9<>8<;(!8=5;==2,<>,=;!:67;791!:&55
-@853_14_1165_F3
-T2202001222101.001211000.2020003223112.2220001.2223
-+
-;;>8::>;>>88?!<<;@@A==;!=:;,981>5:A9@!?@562:7!:3=5
-@853_14_1197_F3
-T2210132120322.222202312.1032111313110.2003210.2211
-+
-61&8,&1):2&83!:3)@3&6'>!&&/6&71/3+1&,!5,&:7,7!7)99
-@853_14_1241_F3
-T1313001021202.323010312.2300022210121.0321321.1120
-+
-78379:853;:8:!382,?;767!><;(:5=<,>=7;!@:)/';=!:&=7
-@853_14_1250_F3
-T2022213132230.323230322.2200233022232.0112100.1332
-+
-39@)3)1;16:8(!/=0,15)1/!3/</,?,19;>,=!:3&141<!,1?8
-@853_14_1327_F3
-T2021212110222.202111130.1221321203223.1312322.0330
-+
-;=;?@>?A@<AAA!>>A>A@@>;!<@?>?@9@9<@@<!1=>==;@!8<<<
-@853_14_1347_F3
-T2222103002313.002121202.0110110201212.2132213.0211
-+
-:9677<96988=6!9982882:9!;<<5:;8;:<-7;!<;6=;:0!;:99
-@853_14_1352_F3
-T0322130022232.212111203.2300331000221.1313103.1112
-+
-=&,5(&53))&+,!,,%=&1&&+!'5-,31&+&,):9!))))5&9!5/4(
-@853_14_1385_F3
-T3002203302022.232012021.2301122110223.3321002.0322
-+
-<708'%253*07:!$:027#$:9!%&45/##474$#2!6##524$!/97&
-@853_14_1447_F3
-T3223303110002.312133012.0302223122311.0133331.0233
-+
-?</<1######&#!$#(%+##$'!#''*'##,#)###!#%',).#!#+$*
-@853_14_1515_F3
-T2333131102123.201103020.2221212033022.1101011.0313
-+
-5/':6:;&,/+),!9,</)8</6!(99&1<8,)(,&)!2&3://5!)112
-@853_14_1541_F3
-T1111101123332.122331031.1223132131011.1311103.1310
-+
-$6//478$#7<5'!$2#292&,6!64094/4(7'%&/!,%-)#*#!%($.
-@853_14_1569_F3
-T0220201200303.303332030.0312201221000.0332222.2330
-+
-'9//&&&)41)&4!($'$0:&-&!'()0:)#&2,,%$!$))%4.&!).0(
-@853_14_1658_F3
-T3002130113102.030003322.2100333012212.1230002.0002
-+
-:>6;8:;::7;96!77:=A7:8:!9:5=69;7<;551!947;9<6!(<=6
-@853_14_1702_F3
-T3023332100011.230103102.0021330322202.1112000.2001
-+
-98:58=9=568>:!?99;5:<:8!88;9<;.<=953=!378:,9<!<+;7
-@853_14_1707_F3
-T1021012301213.223013112.0313221002030.1231310.0102
-+
-63<2669)+&:.-!&3#&,+1>;!(;<-&0=/1./87!:#/,15:!77)%
-@853_14_1715_F3
-T2113210211313.302011010.3323021122011.2011010.1303
-+
-0+5.3=,/331)7!3(4(17),.!:5=/,>,&9>)>)!1,6,'6>!>2,&
-@853_14_1721_F3
-T2122222110233.120020211.3121231211322.3220112.2211
-+
-$&'&),.&%#,42!&4%#,&.(%!1/3-&3#1(#6(1!5,/),$,!,###
-@853_14_1736_F3
-T0001320013111.210012202.2131100023332.1200020.0022
-+
-&-')::)())<70!:,&9/3:)1!()+38,(2-.(,7!,+'+3&8!2-1;
-@853_14_1855_F3
-T2332103123212.102220233.0311122321223.0021222.0203
-+
-4+52)+&$'-0*#!'#2+2$11.!-'$915#)6$%(1!5&%&5*&!/6)&
-@853_14_1861_F3
-T1122213220202.311333312.1223022302333.1013211.2222
-+
-35?91:89:0917!:48;;33(,!$/9<(/'),6%2)!/$)54,&!-)5+
-@853_14_1879_F3
-T3221111322332.330311001.1012211322102.1112011.0121
-+
-,6.1)684536&5!2,7(39/1/!71:9;;*416?&6!,,/6876!,9)5
-@853_14_1958_F3
-T2113133021300.233021221.3023103100111.3111001.0022
-+
-4*78552;66:.7!27(+%$,&#!%%,('-630-%)-!#)'/*,$!(''-
-@853_14_1978_F3
-T2001220322202.232020003.3211201203030.1031200.1223
-+
-9;<6:=667<9:?!:;;+;338:!9;<8:<-7)<619!..37-25!=;20
-@853_14_2006_F3
-T3322031101221.331303002.3321303220010.2200031.1002
-+
-56819<<<83999!.7$2#8<66!6<9:6:879%0;5!9*%<0*)!7;..
-@853_14_2011_F3
-T1213110110222.111222112.0012223103322.1112110.3113
-+
-6A&%9=4/199+=!)5+.&,5'4!//:.&)6/0/4+)!:&1+51+!')8'
-@853_15_108_F3
-T1020223212222.121222222.202322012221222222222.1222
-+
-(&$(/0'(&%/)'!)/+#..*)#!&$#%'&%&-'*,##(-)#'+%!),#*
-@853_15_149_F3
-T3223001220022.212201222.111221222222222222222.2222
-+
-78/..2/&'&'/#!1&,')/0&/!+&)&5)$#0&,)$/)*',,)/!3())
-@853_15_194_F3
-T3312003232002.133223110.202022233223322222222.2222
-+
-4),('1&))2&&:!&)+2$1&&/!)'1'('1&&-)&&/')((.(#!-9*,
-@853_15_359_F3
-T2312212222011.102012313.300303032222122222222.3222
-+
-9-5/8.5458666!6393'5017!,5762*%')-(#$%+&&&'*&!$&0/
-@853_15_384_F3
-T3133101323312.322010203.031002333220220210301.1200
-+
-)8&)&'**7&)1,!3/)#5951-!%//'&/)45)&),(18)3&,1!8%)+
-@853_15_453_F3
-T1222100222231.121121231.022223111222221313200.1222
-+
-=15(&&<//1/'9!)9(',/&)8!53=1711,)<//=,'1&&('&!&),&
-@853_15_528_F3
-T3310331111111.132002232.222133021031300022022.2220
-+
-2%#3$##)##,#)!&)#$2(#)%!*'))('#&##&##'$$#&#++!'$/(
-@853_15_538_F3
-T3310122300211.033000210.003300000000030000000.0022
-+
-(-'#'%(,,2'%#!5,,,)*$()!,#/13,2%-2)2'*,4'(.4#!)2%$
-@853_15_618_F3
-T1002211010002.200223103.321003230000312000101.0000
-+
-,,5)%#,*##2,8!&92#&,,,#!,%'%,+,(,#,&%##**'#*)!,,*)
-@853_15_671_F3
-T0223232033121.210020003.102320022213221200033.1103
-+
-89:=<68:=<6<=!;1759986>!586>;:9<;989></=748@;!=<5>
-@853_15_679_F3
-T2012320131021.021000301.301112021120110211121.1220
-+
-751)&16<(5;7;!88;;<>->>!65;<;7;8>;6,=9=86=<6:!<18@
-@853_15_712_F3
-T1233032021200.210101331.201322333121322133331.3332
-+
-99A;4?<5;<542!:5484::;4!<8595:>=&-7&9&(&,&1/&!%/$-
-@853_15_741_F3
-T0213202132113.031320110.111002211200003100030.1031
-+
-;5693;6>671/9!+57%##(2,!$*30$)%/2*.'+4&),1.,,!/,'*
-@853_15_817_F3
-T1320033200102.123232033.233101022211211111021.1122
-+
-()&-<,71+<32(!>1&)&5&',!'/'/1')5;)/1'))/6)/:9!16&;
-@853_15_822_F3
-T3300212203112.303110100.122200020212110122111.2033
-+
-:8,757)1,;/;6!8,6:3<65.!>5(?(&3))7&,/3(&1*:5*!1)/&
-@853_15_866_F3
-T1030112000331.200012132.000200123122313020122.0031
-+
-898;;<>278+;9!;06//8$&8!,#'574%(;'.$*/,-%*6/*!9,%&
-@853_15_886_F3
-T2023310032313.221000120.222222222203222322222.0233
-+
-503)4-(1'13&,!8;:2'1&90!99<35&8;46&/(.8)05&12!$&&'
-@853_15_889_F3
-T3031023333212.331200320.002013223233002202033.3030
-+
-&4,&,'*'(9%$&!)%%%2#,($!(.#-#+#,##''#&###),(*!(##$
-@853_15_912_F3
-T3213002320031.331103330.002132020022312022120.2132
-+
-#62')81-#14.4!,:6-%0,/$!&222&.+5','11/(&%,)$%!2)#$
-@853_15_935_F3
-T3133221102202.233332220.122011131120220022220.0212
-+
-$5)##08%5*$8,!,),0'#'/.!$(#&$,1$'$&/&0&%)%'.$!$/#)
-@853_15_955_F3
-T2121112302133.010030202.222132131003220222330.0220
-+
-'&&,0:>):),=;!:1=;5=<=6!)>=,/,2&(&),=<&):5,()!74,)
-@853_15_959_F3
-T1233103213121.212133211.122132221333223212133.3121
-+
-/)8612)9,4)8/!928,*/$8%!&##),'&#.%))$$-#',&$.!(/#(
-@853_15_989_F3
-T3201022000312.210110122.132113122101220032200.2220
-+
-<>==;>;<;<>>=!=<:>==<<<!9=<&*&)+#+%&8)$$$3)('!5/&*
-@853_15_1024_F3
-T2231010331011.211302002.212322231101102132122.2322
-+
-9;:;7938:471,!)849:5513!-20>9;5:85&94:2160$$(!'',$
-@853_15_1036_F3
-T0320010231212.012322222.131131100322221212212.3200
-+
-8;*$46991<89;!181989:8:!7<;52::360'<78-3;9:-7!4<2&
-@853_15_1098_F3
-T3312310131203.000003312.200122112101211020010.2023
-+
-@:;(<917>:>.@!):/=,@??>!<?;;,;><9,,<::,);::&6!91:9
-@853_15_1126_F3
-T2213210223100.330321132.322121221121322321222.2222
-+
-&+9:).(;8&&&,!;'+1'51),!(5;9),(),10,<&,'45/*%!)').
-@853_15_1180_F3
-T2100330002323.120123301.312303133200001230220.1233
-+
-=>):3>=::;>;>!;><;;@>:=!=8<><>3>=89<:=17=:9>8!>7<9
-@853_15_1211_F3
-T3312001002231.112311121.012111020330113001012.1100
-+
-726+4517/:848!96&0+;9%3!:/)8)61)2*76&137:,&&4!(/+/
-@853_15_1220_F3
-T2110232023322.231012330.001102031322120001002.2102
-+
-,:(=/,,,,,7)'!(,;+(1*(8!71&-0('1-'*79&58((&2%!'$&&
-@853_15_1314_F3
-T1232330203102.212101301.200100023330312030031.0312
-+
-0(((;&A)'&&*)!(@(;6,'&<!7410/1<'7)+69:3(3,&/'!,+&(
-@853_15_1319_F3
-T1023122102102.203132330.111101121221102231303.3333
-+
-476<9<:47<5/9!68</:7:=)!3766578937454.5$2.8)3!7553
-@853_15_1380_F3
-T0231133023111.310221000.300112123201303300021.2022
-+
-387;A;537::7;!:?585669;!15<:855<;6<;897:9;60,!8)/%
-@853_15_1405_F3
-T0202221111231.111113311.011111122222002011022.3122
-+
-3/=8/79:3=877!;:98;;97:!978:<<<8<<8<8;::939;9!.6;<
-@853_15_1433_F3
-T0310100120332.312321022.221233001201223320202.3132
-+
-&.(8)57)475.,!'1&8-;96:!:7:.0)/0/-*.++.35:98%!&(%#
-@853_15_1452_F3
-T1130220031020.113131212.210022320221233230131.0212
-+
->@7=<<@A:?>>A!?>9?:@<?>!==>?<=6;><:8;<:<8?:8:!==87
-@853_15_1457_F3
-T1222213333233.301233332.110013300133202300323.2213
-+
-&)5##&(%#349:!/-/2%&)'+!',%##)'''&(&,##8-#-&+!)$#2
-@853_15_1474_F3
-T3333301013330.201032112.012122213221132221322.1222
-+
-:88::<:>::;<<!>=?:8>:<;!><6:=>:5*:,&,%,1*($/8!&)27
-@853_15_1495_F3
-T1133321130321.223311332.023322133223233223322.1223
-+
--17729.8$#=6,!,9=#1.:%2!#1)54,#.'#)$*')#&#,/(!&#*%
-@853_15_1548_F3
-T2012310310112.201020123.132222213202211011122.1020
-+
-3;;;83173;36?!5,18;:7:5!;:<;(5,$*:<).;1;6#2'2!%1(4
-@853_15_1581_F3
-T1200132101212.222300023.321110031210020113213.2202
-+
->9>:@<<?>>;65!8=4/5<;98!5:38/3<0826<9/);984$$!;//-
-@853_15_1603_F3
-T2031103212332.223110220.302220210303221100200.0211
-+
-<95;8@5=66:9<!=:6??;23.!%,62)=1:0'#+528)&2*4;!5*;1
-@853_15_1636_F3
-T3310211303302.023111232.001011110003122322100.0223
-+
-5:14:9;9)<#:<!6/9;66697!<.5+8=8:&85:14$;%&219!-5-:
-@853_15_1663_F3
-T2233020230232.322033111.001303213331221231303.3000
-+
-)*0,.,*;&&),4!&*3#*#%1&!'*:.%#(/7&'2$$###&#/$!)(/0
-@853_15_1726_F3
-T3011022330122.113123311.003103112111110002003.0100
-+
-,89*,&,.20///!),0&1/;/'!1(-933),6,);3),5(8,+3!-3&,
-@853_15_1733_F3
-T1113013230021.232133122.031002212300011001000.1112
-+
-)/&(/)9'6#5,-!*(0')&&8&!(39&',6(%$,5&/&%((((,!,/+-
-@853_15_1756_F3
-T1103222031220.212123310.011310330302303122333.2233
-+
-,5&4;17&73(1,!&&%,*9%&#!,(+(#&+#4)$%##.#.%*,%!4,'$
-@853_15_1794_F3
-T2221231303022.022023010.221322032322120332311.3213
-+
-=:@??=8%9$=/=!88>8><=?9!0?>=>,:<=8:A<;>18<7>*!5>,,
-@853_15_1876_F3
-T2221311021332.101230332.111000230102222310002.1031
-+
-<878888@8>8:;!@<;#::;5%!9:6.>=>5-:==61;<;9#>8!9-<7
-@853_15_1915_F3
-T1323002020313.110132112.012221202021132212100.0100
-+
->*(.+++/$7.*%!:&9%5())'!'9(#%'%)19$'-&)#/4&((!$$/8
-@853_15_1974_F3
-T3200002312331.022233323.021320331222211031102.2110
-+
-/&#*&-(%(&')'!&2*%1'-&%!'$#0&4$$&(.+&*'%5,.%.!&'%-
-@853_16_26_F3
-T2200303003123.332202133.022202222221222222222.2222
-+
-1,))'')''))&)!&',,&&&)'!&$.)&2),+.)&,,-%*,%31!1-.0
-@853_16_44_F3
-T1010220033031.131100202.322222222222222222222.2222
-+
-2116875/16111!5/3/1/1,1!&/$%%#%##.).))..$*,2.!-*%5
-@853_16_56_F3
-T2222220320012.222222222.222222222222222222222.2222
-+
-)&-&)%&'$(&&(!(*-#.#*(,!'*,##'#*)&3-'1,)/%/3'!%.)3
-@853_16_67_F3
-T3020301230012.320302200.122222233212012222222.2222
-+
-,)3%2,,3*,-,5!&#,/&/#.'!+%56,$#/,/&$'&1',6'+&!9.,%
-@853_16_112_F3
-T1200021122132.111211211.101321132100211222122.0222
-+
-3362355421137!65091,215!/.13303,</*/1/,$&5.&.!(92&
-@853_16_155_F3
-T2211222000221.222212222.122222222222222222222.2222
-+
-'%)&##,''&&#'!-41%&/'#)!.+#(&.0)'&#)/&$10+!,-.*
-@853_16_169_F3
-T1200213123132.220001100.311323132102222222202.2212
-+
-)956897392246!945/,5311!./8/9/,)938%:;>;1<8('!&*(*
-@853_16_319_F3
-T3212223211023.013011313.020220313111230111311.0111
-+
-42378.5,8;/46!97./)/15,!957,/<4;(4>:5(.9=7$3:!5+0:
-@853_16_375_F3
-T3332011121213.223022022.220021112220100221322.1222
-+
-><9<8<<:;8===!<>91;;;98!8;80?9<;;<81>77<;9.<'!'*71
-@853_16_447_F3
-T3302130221112.123102110.022103123222122220111.0203
-+
-$&&/,/&1)5++9!+,.-&5,1,!97502/&,+&),.019,,0,,!04)/
-@853_16_502_F3
-T1023113011002.032210023.012230013110011223013.1000
-+
-5:43<8;3384::!698638762!8;87.:99428:::31886.7!5929
-@853_16_506_F3
-T1022110220323.201110311.021300002020121031023.1000
-+
-2#*)#$)(-&,'&!(*9&4$)4)!5&&)14/4,(&#+(,)+,'(#!,%%/
-@853_16_513_F3
-T0332023210131.212020222.102202231311211133011.1122
-+
-7868<=;=3;;<=!;;8;9:<>;!69;<89;::4==6=>=9<3;>!8<%6
-@853_16_571_F3
-T2010033331133.302200220.122102023123200012222.2222
-+
-)'9)'.)&,/)&&!&9<4'1/&8!&')$-4(&)132+%56$)(78!6--7
-@853_16_622_F3
-T0013033001233.133330200.000000330003000000000.3000
-+
--6%%%:)20#,44!,%#(03#'+!5(,#%/'+*'(#$+(,4#$)-!#,#$
-@853_16_690_F3
-T0021310130010.202032022.110223101101310102100.0112
-+
-8<5476;6);4,,!9:2:61774!=,3&18:835<5+6554+%,9!5&-4
-@853_16_697_F3
-T1231230012311.132303323.310130033010101111222.1310
-+
-=;6545<64$65*!52:651975!&1:195236<)$9;9257,3/!+,65
-@853_16_791_F3
-T1110102111131.110203033.121212111131211113111.2111
-+
-AAA>A?AA@AA>A!@A>@>?=@>!?:@=A:?@@=<@;><9386(3!&6/:
-@853_16_804_F3
-T3133010300211.330333311.122313112302002200031.2333
-+
-'+$(()3/*&1):!&)8)).)+5!)(3,:(+)&&'8&&4-22/71!&('0
-@853_16_830_F3
-T3230012031232.130212222.012232100113320211310.1221
-+
-=(&9)'7#,(((5!)+(.:)(0/!'<*&82:'$(,1+/&%5&0*)!):-'
-@853_16_871_F3
-T3201000013102.303333121.003330012300022302213.2223
-+
-;:55688;5<903!97$::A1//!87:;6:=377:;692</96+3!*-+&
-@853_16_874_F3
-T2301033231033.020002133.133030332300323313233.3133
-+
-,&2$56:88378)!:(.%1(192!)8/&#+&7)#%*'2$#*''&%!)#'(
-@853_16_892_F3
-T3321220311213.332101020.231311213111213212011.3011
-+
-######5#/$#-#!##$#/('#*!##(#&+&&#+)##########!####
-@853_16_919_F3
-T1220221133122.203221113.002222222222222213332.2212
-+
-##$####$$)##$!##%#####(!###$%##%$*##'))&#$#&$!#%#(
-@853_16_941_F3
-T3310301301311.011321102.321223223120112231222.1222
-+
-,-##)2-)&')1)!$0(###&$#!##(###*####%######$##!$#$#
-@853_16_1040_F3
-T3222002222223.332302032.322031103321223221212.3031
-+
-/8+&5&&-,/+11!4/(//01)6!.)&,)$17.+%9'/)%)''0%!+&)&
-@853_16_1049_F3
-T1100033003303.021320321.111301320233200033001.0000
-+
->?==@8:9@8948!4=,6604)4!$#/.&#*+7%(,,'%,&$&,#!%5/&
-@853_16_1063_F3
-T1123202211000.302123303.122302023333231103220.1212
-+
--,1/&+))(/(+&!7*&&6>+))!93',:6',15%$(/):5+7:.!78//
-@853_16_1081_F3
-T0012023221322.322222022.202022222222222222222.2222
-+
-#############!#########!#####################!####
-@853_16_1142_F3
-T2222003033021.112113112.023101132021212223001.1200
-+
-,,-)-0/%-35)*!/530/66)*!00/75502%73%#$#-#&#&0!$#,.
-@853_16_1155_F3
-T3211301033030.010023021.222211203303330033130.0203
-+
-442986&)1+4;)!&:41+;&0-!5/0'/5.945/06,6(475/6!3'3/
-@853_16_1188_F3
-T3213220312022.213131000.032301320320100303322.3322
-+
-'&-.-44###,#(!*/)%$1'#7!###$3#*%%$,.#,%%###$(!#%)#
-@853_16_1231_F3
-T0032303211001.310313100.320000200213333000302.3232
-+
-4<7$56::%36:7!;,:82:,74!878>49/%)33435#8#160(!1)&.
-@853_16_1285_F3
-T1110130123031.110222221.003111112232000001113.1113
-+
-/*+####$####%!########)!#(#&####$############!####
-@853_16_1300_F3
-T0011232200000.110012222.101002200130311033003.0300
-+
-+2.'$)%052#4+!40/&($#-&!)%'(($$-1$&$'+,6($%*&!'#)7
-@853_16_1391_F3
-T3113212223000.101202111.201002121202012103121.1121
-+
->AA<AAAA?=>>=!>9=A<@@@>!@8><<A;5>A8<3?@@77:?;!>8?1
-@853_16_1397_F3
-T2120211222223.012212231.032321102311221213223.3133
-+
-78/%(8/17(193!6=(:71:/1!&*('(::,6/<=&17-&&3/+!=,5=
-@853_16_1528_F3
-T1011223130211.130021111.233321321121322131121.1121
-+
->9>A>?=@<=@?A!A><8=<:@>!<<;>A:><>568:&&63)0/&!(,9)
-@853_16_1574_F3
-T2103333220002.302023111.231021311232100032103.1212
-+
-8<5#-/4.86631!#/63'#,9%!07@08+4:'#):>//(-5+&-!8,&6
-@853_16_1593_F3
-T1320102033202.110112100.103112112021110222002.2323
-+
-'&$3'&%'',&,'!%$$$,%%*%!$),$4-*/'&+&,$$'33(.,!)/'%
-@853_16_1653_F3
-T0300012120022.111332202.010231221033110201300.2102
-+
-=7:8:;<;:<>=8!=<:<;;=<<!=;;9;=<:89=;>:=9<=8;>!95:5
-@853_16_1698_F3
-T3003323013003.033033222.211103000122022112121.1210
-+
-96<89;;><88<;!86;7=9<:9!79<7276;:7-918;+8689,!:;;0
-@853_16_1746_F3
-T3003322312011.031233000.313001220020120330301.1330
-+
-=;>;;@<<A8>=1!;:=8:;=89!:<7/=8>6/=::9/>>;88=9!=69,
-@853_16_1806_F3
-T3022322013100.301112103.001112221321112001312.2012
-+
-8A;866>=<7@??!4><>?<@=5!A>=;<::4<&2/0#$0#/$0$!$&&#
-@853_16_1821_F3
-T2133312220333.203003203.132322202222220113310.1220
-+
-:,61:5;<18;=<!:,=(294,6!/,)1+,,1-32*0$.0#,&&)!(,:)
-@853_16_1842_F3
-T2022031201310.230002012.310222131210221100011.0130
-+
-6>;8A<:<>8:7?!9:@;==?96!8=89<>=3=9<=;;9==>97=!8608
-@853_16_1853_F3
-T2332123123202.112200333.212101231122012220211.2203
-+
-)3)1;'3),)<9:!1<)6'7)7=!66)&/&,7/,3)&),,,,)&/!):,4
-@853_16_1871_F3
-T1310331222123.031120212.231120302120122222221.2111
-+
-:.(6'1/)(.;,'!>5331%67&!,2+6'()'&4-)3.8.&(&),!&,&%
-@853_16_1887_F3
-T3332021100203.001331023.300022222012120111033.1003
-+
-;:8>9<A>><>=;!==<::7>:9!4<>:;><>=>==@=?:9=+9:!=6:5
-@853_16_1919_F3
-T3331012121211.303003033.131111320313213223300.0202
-+
-2,*:;=9:9:785!28,=67<22!;88<<951;292724291,;<!7$9+
-@853_16_1924_F3
-T1201123330103.233221210.100211100211001133123.1002
-+
-,81.>)63.))&,!/4$/'&,//!,+3)&5>&&&)(;97>('76)!6:)-
-@853_16_1982_F3
-T0331130320230.220330112.210312121022203321222.2302
-+
-<88<;9<6<=8;<!;4::8<:@:!>:;;:=6:69===97;9:9>=!=4,<
-@853_16_2037_F3
-T.13331.12..23.10..2..02.2323120.3.320..10.021.2..1
-+
-!9799=!=:!!:9!==!!8!!>:!;8=9<;=!9!:;5!!;8!679!,!!6
diff -r 4fc2b29d6393 -r 201c47c29a6c test-data/fr.csf
--- a/test-data/fr.csf Wed Jan 13 18:33:42 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1001 +0,0 @@
-# Sun Oct 4 18:40:32 2009 /share/apps/corona/bin/filter_fasta.pl --output=/data/results/solid176/solid176_20090923/Somali_Wild_Ass_a/results.01/primary.20091004212559515 --name=solid176_20090923_Somali_Wild_Ass_a --tag=F3 --minlength=50 --mincalls=25 --prefix=T /data/results/solid176/solid176_20090923/Somali_Wild_Ass_a/jobs/postPrimerSetPrimary.1062/rawseq
-# Cwd: /state/partition1/home/pipeline
-# Title: solid176_20090923_Somali_Wild_Ass_a
->853_7_53_F3
-T..02.1120..22.2..230.22.3..033212.1.1....2221...12
->853_7_78_F3
-T..13.2222..22.2..222.22.2..222212.2.2....2222...22
->853_7_88_F3
-T..23.2221..13.2..033.30.1..010220.1.2....2222...22
->853_7_132_F3
-T..22.2032..32.2..222.22.2..222222.2.2....2222...22
->853_7_141_F3
-T..22.2112..10.2..221.02.1..220112.0.2....0222...22
->853_7_146_F3
-T..12.1011..21.2..213.22.2..222222.2.2....2222...22
->853_7_269_F3
-T..12.2222..22.2..222.22.2..222222.2.2....2222...22
->853_7_321_F3
-T..20.2322..21.3..222.12.1..120012.3.0....2000...22
->853_7_386_F3
-T..12.2302..20.2..231.12.0..200232.3.2....0002...22
->853_7_405_F3
-T..21.0221..31.2..000.23.2..020022.0.2....0313...12
->853_7_411_F3
-T..10.2000..33.2..022.02.0..200222.2.0....0000...00
->853_7_445_F3
-T..30.3210..01.1..120.11.3..301222.1.2....3222...22
->853_7_469_F3
-T..22.0102..20.3..200.21.0..002202.2.2....0203...02
->853_7_474_F3
-T..30.1122..22.3..111.21.3..222020.2.2....2203...23
->853_7_497_F3
-T..10.0200..22.1..112.03.0..100121.2.2....3132...21
->853_7_587_F3
-T..22.2022..01.2..323.23.0..323322.1.1....2212...20
->853_7_630_F3
-T..13.0022..11.1..213.10.0..031113.3.3....1112...20
->853_7_655_F3
-T..01.0023..02.2..301.32.3..232113.2.2....2222...22
->853_7_692_F3
-T..00.0122..02.3..230.21.2..301213.2.1....1122...22
->853_7_715_F3
-T..00.0213..21.3..131.12.0..202011.1.0....0221...22
->853_7_719_F3
-T..00.2231..02.0..122.13.0..003022.0.1....1010...02
->853_7_743_F3
-T..11.0201..00.1..303.01.1..021332.3.3....3223...23
->853_7_791_F3
-T..20.3311..03.2..301.01.2..122002.2.1....3123...21
->853_7_801_F3
-T..00.0323..21.1..112.23.3..132022.2.1....2122...22
->853_7_845_F3
-T..01.3303..01.1..102.03.1..222102.0.0....0231...12
->853_7_868_F3
-T..31.3103..12.1..211.32.2..223200.2.3....1031...21
->853_7_1026_F3
-T..22.3032..03.3..110.32.3..212230.3.0....1111...13
->853_7_1057_F3
-T..30.3112..22.2..132.21.0..332122.2.2....2220...32
->853_7_1066_F3
-T..01.1122..00.0..131.32.0..230030.3.3....2000...30
->853_7_1107_F3
-T..20.0301..13.2..003.10.0..300221.2.1....3300...32
->853_7_1179_F3
-T..02.3301..32.0..310.03.3..312300.3.3....1320...03
->853_7_1198_F3
-T..32.2203..31.2..111.13.1..312322.2.2....1103...22
->853_7_1261_F3
-T..20.3233..32.2..223.22.3..232033.2.3....0322...23
->853_7_1321_F3
-T..00.0321..22.2..100.11.1..120210.0.2....2211...02
->853_7_1406_F3
-T..13.0310..13.2..031.32.0..002230.0.2....0231...11
->853_7_1431_F3
-T..11.0032..21.1..310.00.0..321021.0.2....3030...02
->853_7_1439_F3
-T..20.0132..13.1..212.32.2..222110.3.0....2132...22
->853_7_1524_F3
-T..20.1110..13.3..201.33.3..320121.1.3....3321...20
->853_7_1537_F3
-T..12.1030..02.0..011.30.1..111200.0.3....2033...11
->853_7_1592_F3
-T..21.3233..02.1..000.22.0..121233.3.1....3223...22
->853_7_1597_F3
-T..12.3100..33.0..312.02.1..000000.3.1....1100...00
->853_7_1650_F3
-T..00.2212..12.1..203.13.3..102012.0.2....3333...30
->853_7_1790_F3
-T..23.1021..32.0..130.13.0..012301.0.1....0001...10
->853_7_1795_F3
-T..22.2123..01.0..222.31.3..233211.0.1....2312...03
->853_7_1807_F3
-T..03.0310..02.3..121.20.1..333122.3.1....0302...12
->853_7_1872_F3
-T..01.2331..12.2..200.02.3..302232.3.1....1203...23
->853_7_1885_F3
-T..10.3010..11.2..331.21.2..230213.1.3....0132...32
->853_7_1910_F3
-T..11.1002..20.1..000.20.1..111022.2.0....3311...23
->853_8_43_F3
-T..32100023203.2..110.31.120321022.100.1.11202..211
->853_8_48_F3
-T..21122022323.1..222.32.020211202.222.2.20222..222
->853_8_57_F3
-T..23231203232.2..212.22.222222232.222.2.22222..222
->853_8_106_F3
-T..23112221210.3..001.02.032222322.212.2.22222..220
->853_8_196_F3
-T..00233022111.0..002.20.021222222.020.0.22222..222
->853_8_211_F3
-T..20112122111.2..112.22.220222212.122.0.21222..222
->853_8_227_F3
-T..10201100320.2..302.10.312330220.312.2.02221..221
->853_8_248_F3
-T..21312120022.0..122.22.222222232.222.2.23222..222
->853_8_253_F3
-T..21322103032.2..222.22.222222222.222.2.22222..222
->853_8_342_F3
-T..13021033322.2..301.32.230300120.122.0.02112..223
->853_8_400_F3
-T..22033300003.2..212.31.222123211.122.0.22023..221
->853_8_422_F3
-T..01111020122.2..201.22.120231110.221.2.22212..222
->853_8_555_F3
-T..02332301011.0..112.00.033000312.302.3.13300..023
->853_8_638_F3
-T..00113230133.1..100.22.131113302.011.1.20020..320
->853_8_735_F3
-T..00011213121.3..001.11.003311000.222.0.22003..303
->853_8_888_F3
-T..02110321212.0..222.12.220011220.032.1.02322..333
->853_8_893_F3
-T..00112301113.2..023.21.002311320.100.3.21200..012
->853_8_898_F3
-T..33330033033.3..022.31.223030333.212.1.01232..322
->853_8_920_F3
-T..02321113231.0..302.30.010200220.321.0.01122..130
->853_8_958_F3
-T..03321221220.3..021.12.001030231.030.3.21222..222
->853_8_1076_F3
-T..22322100313.1..102.12.332320213.211.0.13003..112
->853_8_1081_F3
-T..10030322221.2..000.20.002012320.222.2.21001..102
->853_8_1134_F3
-T..33002312331.0..101.03.213221112.000.3.03233..123
->853_8_1157_F3
-T..00333123321.1..100.11.112120200.230.0.21203..230
->853_8_1173_F3
-T..30202112233.3..320.02.123012201.311.2.32000..122
->853_8_1215_F3
-T..22310320211.2..131.10.232003230.102.2.11010..031
->853_8_1223_F3
-T..10222220120.1..111.11.123301223.133.3.22333..111
->853_8_1229_F3
-T..10011030332.0..200.31.312001011.220.1.11010..131
->853_8_1234_F3
-T..33303001323.3..211.32.311201012.323.1.21333..221
->853_8_1255_F3
-T..31322212222.0..003.20.121221012.212.2.03220..230
->853_8_1315_F3
-T..32221201122.2..223.33.132223100.221.0.20222..232
->853_8_1372_F3
-T..02101130220.1..113.23.121310222.233.3.12203..310
->853_8_1461_F3
-T..00011120113.3..213.01.030001322.203.2.32222..222
->853_8_1475_F3
-T..21310212220.3..100.02.122303121.002.3.12213..213
->853_8_1567_F3
-T..02200001131.3..311.10.132232122.322.1.23023..002
->853_8_1662_F3
-T..02221200121.2..022.10.310222220.231.2.12011..003
->853_8_1669_F3
-T..23233312111.0..213.12.133322002.221.1.11110..113
->853_8_1758_F3
-T..12201012113.2..001.10.100122000.000.2.00000..220
->853_8_1764_F3
-T..11002002020.2..110.31.120112122.132.3.33003..102
->853_8_1824_F3
-T..03311120021.1..310.13.320330301.220.3.30122..132
->853_8_1835_F3
-T..21020321003.3..110.20.000022103.122.1.13220..033
->853_8_1917_F3
-T..23111010120.2..232.32.121231102.101.1.21322..222
->853_8_1930_F3
-T..31110222033.0..021.11.103010131.300.2.22212..311
->853_8_1938_F3
-T..20302201110.2..211.22.132123322.120.1.31210..211
->853_8_1984_F3
-T..13030120302.0..030.11.202121322.112.1.30000..212
->853_8_2005_F3
-T..03113122102.2..101.20.002313003.110.1.01020..001
->853_8_2031_F3
-T..22312022312.0..002.22.223022123.001.3.02200...00
->853_9_6_F3
-T3222.021.1002.223202.22.222222122.222.2222.22.222.
->853_9_22_F3
-T3212221120222.222223.22.222222222.222.2222222.2222
->853_9_70_F3
-T1232131203111.331113.12.211213201.221.2221222.2222
->853_9_120_F3
-T2030201011012.012222.33.100032000.130.2013202.1222
->853_9_156_F3
-T3321020210022.132222.22.222222222.222.2222222.2222
->853_9_189_F3
-T2220100322033.222211.00.111112003.313.0212203.2200
->853_9_243_F3
-T3312311120013.312312.33.330022332.202.0202222.2222
->853_9_295_F3
-T3322303220223.233321.20.002302222.122.2221222.2222
->853_9_299_F3
-T2212302322021.122112.23.102311100.121.1012120.0220
->853_9_311_F3
-T3002321221310.212333.32.202232132.222.0222221.2222
->853_9_326_F3
-T2210200022032.010112.12.121321102.222.1332222.1222
->853_9_451_F3
-T1313220202311.230012.31.313200122.100.2111321.2232
->853_9_485_F3
-T1012221322221.213211.23.110010113.123.2132121.0222
->853_9_509_F3
-T1112203021113.100101.20.031203011.213.2002211.1222
->853_9_538_F3
-T2230021213312.123100.00.203202301.223.0112020.3322
->853_9_548_F3
-T0132222011033.010321.23.303222223.222.2223322.3322
->853_9_574_F3
-T0003331113101.303333.21.213311213.222.2321222.2222
->853_9_589_F3
-T3020133021133.203200.02.030202120.123.0113212.0220
->853_9_595_F3
-T2221011230111.231023.00.021011112.330.2130120.1203
->853_9_750_F3
-T2201102121222.302002.22.221321132.332.2020223.2121
->853_9_783_F3
-T2102221003120.330300.21.302010320.231.2133001.1202
->853_9_814_F3
-T1200101012011.312003.00.330011010.220.0222213.3122
->853_9_924_F3
-T3003021221101.202301.02.111120122.123.1010103.3110
->853_9_1019_F3
-T2120212011102.211122.20.210120211.031.1301102.2021
->853_9_1046_F3
-T0101121011013.012213.12.122113221.112.0101211.1223
->853_9_1126_F3
-T3320221032332.112122.11.232123121.301.1210212.2222
->853_9_1192_F3
-T3312212100322.301202.12.020132101.011.1011212.2232
->853_9_1243_F3
-T2212213200232.121320.01.323212013.200.0130313.3233
->853_9_1272_F3
-T3113210021031.002131.03.130002013.110.2003310.3011
->853_9_1339_F3
-T2101230022200.310112.01.133031320.201.3331311.2012
->853_9_1358_F3
-T3320111221222.120310.11.230202223.122.0122200.0201
->853_9_1364_F3
-T0102331230200.010010.13.233311001.233.1100312.1222
->853_9_1397_F3
-T2312020122101.033322.03.022121000.011.0131220.1130
->853_9_1425_F3
-T1132332020203.323331.10.133320202.311.3222311.3330
->853_9_1446_F3
-T1332212000022.212222.13.021232232.213.1001302.0300
->853_9_1479_F3
-T3031333311130.333221.02.122333123.032.2211110.2332
->853_9_1503_F3
-T2231320200020.131311.11.232031120.231.0013222.2222
->853_9_1512_F3
-T2333032222302.121133.20.001231203.233.3020000.0200
->853_9_1530_F3
-T3213220202302.221131.03.120222222.020.1131133.1313
->853_9_1559_F3
-T1110111121111.113211.01.310210020.112.1113102.0321
->853_9_1601_F3
-T3232030011033.203002.00.123300322.113.0010121.0331
->853_9_1636_F3
-T0010012303222.120103.33.330322222.122.3113033.3001
->853_9_1657_F3
-T1123103213301.312223.03.133301112.222.1213233.1233
->853_9_1675_F3
-T3313013311000.313233.11.112203113.120.2211112.1313
->853_9_1709_F3
-T3011001101311.031010.11.000033010.030.2032000.2000
->853_9_1722_F3
-T0021012221000.222012.20.202211312.020.3331130.3113
->853_9_1728_F3
-T3322221032321.211112.31.012301302.333.0301101.3103
->853_9_1739_F3
-T2010003210112.011000.31.320103212.122.2132333.2222
->853_9_1870_F3
-T2212303303300.202201.02.333103031.332.0322203.2223
->853_9_1923_F3
-T0300322132333.221111.02.233001011.000.1122132.2131
->853_9_1943_F3
-T0122230112231.013112.01.202313211.020.2202120.1120
->853_9_1970_F3
-T1320210131121.331212.13.233310233.031.1111331.3020
->853_9_2024_F3
-T3011020132232.011002.01.230121230.022.2320210.1220
->853_10_26_F3
-T3300222111210.212222.22.220222212.222.2221122.2322
->853_10_63_F3
-T0011121023110.100223.13.210101231.103.2222222.2222
->853_10_221_F3
-T2223312323322.102231.00.202132012.221.2322202.2222
->853_10_254_F3
-T2011202101022.222222.20.202222222.122.2222222.2222
->853_10_285_F3
-T1000220221200.132200.01.232221210.032.2101130.1132
->853_10_317_F3
-T0020230210321.031322.31.032332100.200.2212002.2022
->853_10_329_F3
-T2010200322033.310112.12.011220102.222.1332221.1222
->853_10_349_F3
-T3031031031312.133031.31.220312113.213.3222320.1212
->853_10_354_F3
-T1320122002030.212221.12.232210122.222.2222222.2222
->853_10_370_F3
-T2322231103221.011031.13.231332301.312.0232122.1233
->853_10_464_F3
-T3330010000212.300131.13.112322331.023.0331120.2221
->853_10_491_F3
-T3223302200011.023222.32.031020232.233.3211222.2222
->853_10_512_F3
-T1210222121121.222302.02.321102023.201.0332212.1212
->853_10_517_F3
-T0000201333120.213001.30.020133111.031.1111133.1133
->853_10_560_F3
-T3230002002001.210031.11.103301002.122.1220320.2123
->853_10_604_F3
-T1032122022103.222321.22.012232132.321.1010201.0302
->853_10_659_F3
-T1201100030102.223301.21.332202113.022.2221012.0011
->853_10_684_F3
-T1330201102202.321002.10.333002110.222.0221111.1000
->853_10_703_F3
-T1022030001113.000331.01.111001102.001.2102023.1120
->853_10_707_F3
-T1223030002221.033223.00.023213111.032.0333020.2200
->853_10_728_F3
-T2213112011111.130322.02.321122031.002.1110333.2202
->853_10_761_F3
-T3302220103103.220211.11.111230232.012.2022220.0222
->853_10_875_F3
-T1313213021302.023221.30.130212021.222.0213121.3212
->853_10_914_F3
-T3110012323223.012101.21.100223330.121.2211222.3322
->853_10_955_F3
-T3332010100311.122131.30.220001131.301.2221110.0231
->853_10_966_F3
-T3000010112221.310121.01.010103222.210.2222222.2122
->853_10_971_F3
-T3300220331100.110110.23.321023321.330.0101321.2221
->853_10_982_F3
-T1223223121032.232303.23.022302133.233.3332013.2332
->853_10_990_F3
-T2021031201033.133023.11.213012011.102.2221322.0123
->853_10_1038_F3
-T0110022322300.202330.22.230120310.313.3121231.2300
->853_10_1097_F3
-T1301300302122.001100.21.032120300.322.2222102.2000
->853_10_1144_F3
-T3000003202132.300013.00.120002011.121.2021010.2012
->853_10_1153_F3
-T1112233202031.033032.20.313112310.232.0001211.1101
->853_10_1219_F3
-T0220020211300.110223.13.032102023.003.3212322.2120
->853_10_1415_F3
-T3310131131130.303220.33.131331311.111.2133111.3111
->853_10_1466_F3
-T2122033302111.121230.02.303030131.101.1301001.0023
->853_10_1684_F3
-T1101100223023.110012.22.110331022.303.3211320.1223
->853_10_1774_F3
-T3003300312003.222212.22.001103322.002.3232312.0101
->853_10_1797_F3
-T0103231100311.103321.01.112002201.000.0202000.3120
->853_10_1964_F3
-T3230330222203.033201.21.111313022.322.0133330.0333
->853_10_2037_F3
-T.00001.02..11.32..0..12.1210111.0.000..01.003.2..0
->853_11_36_F3
-T3022220202000.222222322.2123223222222.2222222.2222
->853_11_179_F3
-T2133203212003.201322101.2232122223212.2222222.2222
->853_11_291_F3
-T3233110200122.212330222.0002020221323.2112222.1222
->853_11_304_F3
-T3312200211122.122122233.2222332232222.2211222.2222
->853_11_339_F3
-T3133232330333.203330202.0202230222222.2322222.2222
->853_11_377_F3
-T2232022322002.122222221.3110121200111.2221320.1220
->853_11_392_F3
-T3330233333233.312000222.3223022221103.2302223.3222
->853_11_436_F3
-T1220231200111.330211130.3010200210200.1222222.1222
->853_11_440_F3
-T1022000003021.200322201.3112033122232.1312322.3321
->853_11_502_F3
-T1320301323013.110212102.2302221322213.2213203.3222
->853_11_522_F3
-T3332013001310.001310133.1012022011001.3121103.1212
->853_11_544_F3
-T0323022233033.102122100.1130233202331.2210033.3200
->853_11_580_F3
-T3312132311002.110012113.0213220112200.1321321.3101
->853_11_616_F3
-T1332213010203.120213203.2213012200111.0300131.0010
->853_11_625_F3
-T0010021110212.131001310.0001030012000.0003021.3001
->853_11_698_F3
-T2021201222011.300201111.0001200022100.2132213.3200
->853_11_744_F3
-T1103030333000.223330300.0233312013201.2323220.2022
->853_11_768_F3
-T2010000023112.321122031.1201231012221.2221221.1222
->853_11_775_F3
-T3022212131313.111232231.3201330022122.1321131.0231
->853_11_794_F3
-T3010320001322.013320113.0011023210312.1120000.0331
->853_11_835_F3
-T0010311130231.213113121.2113330010220.0012232.2203
->853_11_845_F3
-T0000322301231.022100321.2310021301230.1301222.2132
->853_11_860_F3
-T3021012320013.223233220.0033302203300.0223020.3033
->853_11_879_F3
-T1113233212112.300121022.1330101220021.3220122.1123
->853_11_900_F3
-T3211213110233.130330101.0121003010022.2110222.3202
->853_11_930_F3
-T0000222120013.020111211.3202200113012.1301232.1111
->853_11_997_F3
-T3212210001220.212002102.2112002012100.2131301.0030
->853_11_1002_F3
-T3330000113300.313312102.0312030330311.3331201.1213
->853_11_1113_F3
-T2000122331220.122030022.0122330113102.2113130.2321
->853_11_1130_F3
-T3200012120032.002200332.0031111122002.3312202.0020
->853_11_1160_F3
-T2121233002001.210312301.2213313001313.3211202.1232
->853_11_1289_F3
-T3202030030000.322322200.2212223121322.1232113.2302
->853_11_1294_F3
-T3012121230122.112212223.3101330211122.2332331.2011
->853_11_1308_F3
-T1313222031123.213112233.3132330320321.2220233.3322
->853_11_1324_F3
-T2222132323301.120330302.1323202011301.1113110.1332
->853_11_1333_F3
-T1313122003300.033223031.2201232301222.3212022.3102
->853_11_1346_F3
-T2332133022333.022120203.3322113331122.1133233.2212
->853_11_1352_F3
-T3322311331130.202323023.3100113032320.2313223.0312
->853_11_1409_F3
-T3000220011111.020033110.2210210002000.2312312.1222
->853_11_1420_F3
-T2013221030202.321222212.2213212021222.2222222.3222
->853_11_1517_F3
-T2120330010112.111203322.0111322233311.1302100.2333
->853_11_1553_F3
-T2100002220130.022031233.0323211101000.1213332.1321
->853_11_1571_F3
-T1311202212210.203333311.0032311112120.0021233.1232
->853_11_1594_F3
-T2303312230022.320123233.0110003313310.0312023.1002
->853_11_1616_F3
-T1313130323223.231222330.0322213112101.3223122.2222
->853_11_1621_F3
-T1100000112201.030113022.0032000002303.3330222.2223
->853_11_1630_F3
-T3010033021202.301000112.2111320021311.2010121.2211
->853_11_1700_F3
-T3023132213003.332000022.0321030333311.2312301.1020
->853_11_1732_F3
-T2230101330100.230100230.0023010023001.0230100.0103
->853_11_1746_F3
-T1022030110123.110220002.0032200021021.2012223.2031
->853_11_1751_F3
-T1321123132330.322312233.0002212012222.2303232.1332
->853_11_1789_F3
-T3120220123221.330223010.3032333132232.0320331.0222
->853_11_1808_F3
-T2200210320103.302111322.1213332020311.0102302.0001
->853_11_1885_F3
-T3102132020013.301111332.0012211010132.2121220.1020
->853_11_1895_F3
-T3010323301021.211001312.3132133230000.1121113.0211
->853_11_1917_F3
-T3213333130023.122312102.3210303123011.3111222.1112
->853_11_1972_F3
-T3320202011222.332212311.0210023130323.1101303.3020
->853_12_125_F3
-T0122203032010.301211220.2020123011223.0222212.0112
->853_12_145_F3
-T3022203001220.023331221.1200322220021.1221211.2222
->853_12_163_F3
-T1222103312023.230232332.1020022122222.2222222.2222
->853_12_185_F3
-T0023122233030.011210213.3131331233020.3110223.3222
->853_12_204_F3
-T1222222123232.232222212.2222222222222.2222222.2222
->853_12_237_F3
-T0000022331132.222222333.3311033000030.2221220.2222
->853_12_267_F3
-T2230202310213.023211312.1121133021300.2222223.2222
->853_12_447_F3
-T3112110011111.111121122.2222000122212.2222221.2222
->853_12_470_F3
-T3021111321322.210201112.2212222222222.2221221.1212
->853_12_590_F3
-T3022110011033.233210110.0121122213113.1310111.2312
->853_12_673_F3
-T1220213321222.322102301.2030210300221.2020011.3011
->853_12_716_F3
-T2122001013310.011201310.0123302301200.0010021.1200
->853_12_779_F3
-T2133001332023.213122231.3012102322222.2212023.2222
->853_12_889_F3
-T3303031221020.331221220.0200133301322.1012132.3031
->853_12_904_F3
-T3213212303022.313222231.0132221322032.2113303.3332
->853_12_937_F3
-T0000223011112.023212222.1122101321330.1021310.0111
->853_12_1024_F3
-T1123310321001.131333011.1101132121120.1321103.1223
->853_12_1133_F3
-T3322011120232.200100233.1000213211000.1300202.0020
->853_12_1138_F3
-T3120320131023.003333230.0023011210011.2221222.2122
->853_12_1200_F3
-T3310231310102.021130312.1032221320310.3323230.2311
->853_12_1216_F3
-T0102231310023.331220320.2302130333302.2232233.3003
->853_12_1258_F3
-T1012002321300.200321333.1113322211001.0221102.2003
->853_12_1269_F3
-T3113010302021.230122003.3012223330113.0011022.2221
->853_12_1277_F3
-T0012022113033.123022220.3300123212111.0332000.0333
->853_12_1302_F3
-T1230301120223.101200120.3100322101322.2222320.2322
->853_12_1376_F3
-T3030320223230.132032232.2221221200220.2133111.1012
->853_12_1405_F3
-T3012222112131.231011301.1001120002210.2012022.3122
->853_12_1460_F3
-T0112221311210.003030231.2300123012202.2100122.1102
->853_12_1471_F3
-T3330022331201.122130030.3120120330033.1011230.2321
->853_12_1525_F3
-T0013020211211.010100221.1122001210211.3121111.2111
->853_12_1581_F3
-T1200133101202.221322233.3212130022200.2212222.0222
->853_12_1588_F3
-T0012021002110.031022122.2033113112102.0332203.1111
->853_12_1651_F3
-T3020020112212.230113122.3012330121130.3300302.3111
->853_12_1655_F3
-T3300132113212.231120102.3101302222222.2222223.3230
->853_12_1678_F3
-T3222013101022.312110110.1021122231022.1122202.1213
->853_12_1690_F3
-T3003002211333.100013020.2201200311003.1130022.0322
->853_12_1779_F3
-T0102310313122.202100330.3103121320021.0202000.1203
->853_12_1813_F3
-T2212223211313.231233331.0033022201031.0000120.1113
->853_12_1826_F3
-T1222312110312.213033300.1000031111002.3110021.3002
->853_12_1848_F3
-T2021222331213.113303133.1233222332222.1221321.1222
->853_12_1868_F3
-T1222000220021.123301000.0333030322132.2112221.2221
->853_12_1929_F3
-T1103313131131.222012212.0312030312000.1222202.0101
->853_12_1932_F3
-T2123313131211.020220311.2211002200130.0211000.1201
->853_12_1989_F3
-T2213232100320.012011212.0303100120321.2203122.1312
->853_12_1993_F3
-T1233001233011.122013222.1113220033221.2113123.1322
->853_12_1998_F3
-T1313020112301.300013200.0002121033113.2023230.0200
->853_13_229_F3
-T3032130221003.212100220.1322333123123.3323221.2222
->853_13_261_F3
-T3223332332112.021201132.2212032220222.2211222.2222
->853_13_287_F3
-T3002301011111.300132221.3022223012231.2202122.3222
->853_13_298_F3
-T3310133113333.333222212.3002221122001.0012122.1222
->853_13_308_F3
-T1330000332213.203321132.0230322332222.2022222.2222
->853_13_366_F3
-T0030302032002.002300202.0221333220013.0003331.3322
->853_13_396_F3
-T0223210101303.230033113.3012132123322.3222222.2322
->853_13_414_F3
-T3321112211211.011012222.3012121222112.2200320.2222
->853_13_479_F3
-T0032301322021.222001320.0203221022200.0033131.2111
->853_13_531_F3
-T3301031311101.221031311.2122220110102.3031313.2121
->853_13_553_F3
-T0102021320313.221012301.1232102100010.0113221.1010
->853_13_594_F3
-T2012000102023.201011200.0212232221120.2230010.0002
->853_13_602_F3
-T0032210202213.213101232.0022021020220.2020202.0222
->853_13_638_F3
-T3130021123000.023312112.0303100120000.0031212.3210
->853_13_648_F3
-T1231301002302.211020211.1110213202321.2112223.1222
->853_13_721_F3
-T3333230132303.100130302.0233233332233.0030320.1133
->853_13_809_F3
-T0003331131002.130231211.1113311200111.3100131.1331
->853_13_850_F3
-T1031012102222.202211131.0311102002103.1122003.0000
->853_13_1030_F3
-T3132033320122.112200201.1121312211221.2133221.1222
->853_13_1042_F3
-T3212332011113.232102322.2022221122232.3221322.2332
->853_13_1092_F3
-T0112000212200.122210020.3102222201222.1122222.2222
->853_13_1171_F3
-T0223320230220.021233321.2333222302221.0312131.0002
->853_13_1222_F3
-T2112021113011.311011302.0231220013331.1311020.0013
->853_13_1226_F3
-T2302002311200.321000031.3213001222231.2320023.3321
->853_13_1245_F3
-T0313130301321.113221002.2122101210030.0133321.2011
->853_13_1280_F3
-T3311003112132.133322131.3233121321313.3002103.2123
->853_13_1306_F3
-T1111012002203.213122200.3102300123331.3000003.0021
->853_13_1341_F3
-T2201013101110.100213022.0101123000210.0330211.2211
->853_13_1365_F3
-T3011300013211.312033311.3111110223013.0120021.0212
->853_13_1443_F3
-T2031033110030.011112022.0222013110331.3123310.1203
->853_13_1483_F3
-T2023323133131.221222333.2233223222212.2222222.2222
->853_13_1505_F3
-T2212120300302.233033312.3331132111123.0311133.3322
->853_13_1606_F3
-T3023123012222.002233113.3322021002022.1010213.2211
->853_13_1626_F3
-T2222233330012.310032221.3331333323222.3130233.3331
->853_13_1672_F3
-T1211030213021.221113110.1011132211011.1122232.0112
->853_13_1784_F3
-T3221322232101.010013222.2111212100011.3320301.0103
->853_13_1840_F3
-T0103222320012.203013210.1202132132102.1100001.1030
->853_13_1892_F3
-T0110000330022.322133222.2220120031001.0111211.3212
->853_13_1911_F3
-T2023023111022.110102003.1223000300012.0112322.2200
->853_13_1937_F3
-T2100301201111.021111300.2301022012322.0220011.2011
->853_13_1983_F3
-T2333131330231.222331021.1113022200202.3322312.1322
->853_14_48_F3
-T1200133320202.222220223.1212221322000.3012231.2222
->853_14_65_F3
-T0132320111332.332322222.2222222332222.2222222.2222
->853_14_88_F3
-T1222321012121.132322223.0110021222222.2222202.2222
->853_14_129_F3
-T1030102022000.222212020.2232133311322.3222231.1223
->853_14_191_F3
-T3322213232222.222220202.2022121222221.2222222.2222
->853_14_225_F3
-T1311131021200.002331101.0001113222223.2112202.2121
->853_14_247_F3
-T1222033303221.012110303.0013002222323.0220200.2222
->853_14_273_F3
-T3110012100211.021213220.1003201011303.2221223.3222
->853_14_291_F3
-T2212211010122.200332220.0032221222221.2212222.2222
->853_14_322_F3
-T1222231312023.212123103.0120023021202.0211221.2222
->853_14_333_F3
-T2113030021111.333123121.0312222222220.2222222.2222
->853_14_371_F3
-T1132033302002.000330102.2200023002210.0220322.0222
->853_14_386_F3
-T2203002323130.122020200.2301310000200.0020221.0210
->853_14_391_F3
-T3102012032121.202022221.2232022221222.2202222.2322
->853_14_488_F3
-T1013032122031.323122131.2213223222323.2303122.0132
->853_14_541_F3
-T1310230100230.033020233.0122003300003.0000001.3022
->853_14_549_F3
-T0100211221012.332212330.1002102011102.0000202.3233
->853_14_563_F3
-T0300003000002.133233321.2033020322131.2220022.3321
->853_14_609_F3
-T0112010212213.123122102.2212222212221.2221222.2222
->853_14_644_F3
-T1232102010211.211310312.2130100202312.1231220.2002
->853_14_654_F3
-T3012012111203.233111132.3101012122021.0300020.0033
->853_14_687_F3
-T1132111102002.323112212.3011013103112.2131111.1312
->853_14_694_F3
-T3322322210122.302210121.0300201331001.2030333.3221
->853_14_758_F3
-T1321202301222.033210210.0300011121321.3133211.1223
->853_14_833_F3
-T3310213023021.332021213.0322322002222.2210132.2323
->853_14_870_F3
-T3222123013233.301333303.3033000223000.0312223.3222
->853_14_924_F3
-T1220222233220.203302213.2112031122312.2213133.3222
->853_14_976_F3
-T1032120002200.311210210.3032321231302.2331110.0330
->853_14_985_F3
-T2330202321123.210122222.2102123311021.0331200.1230
->853_14_1006_F3
-T1020022101000.021103331.0011301103002.2222121.2113
->853_14_1016_F3
-T3222110230210.020130020.0121012210231.2231230.1111
->853_14_1065_F3
-T1200000033013.000213311.2210300303333.0133030.1330
->853_14_1070_F3
-T2210231200211.131133030.2113003032212.0222000.2222
->853_14_1075_F3
-T1301000111303.233202012.0010210032211.1002020.1122
->853_14_1087_F3
-T0033302301333.331323333.0013311000030.3002121.0301
->853_14_1103_F3
-T0302301222002.200211200.1323333123222.2221330.1322
->853_14_1119_F3
-T1323221321202.202330220.0213000012122.1123300.3121
->853_14_1165_F3
-T2202001222101.001211000.2020003223112.2220001.2223
->853_14_1197_F3
-T2210132120322.222202312.1032111313110.2003210.2211
->853_14_1241_F3
-T1313001021202.323010312.2300022210121.0321321.1120
->853_14_1250_F3
-T2022213132230.323230322.2200233022232.0112100.1332
->853_14_1327_F3
-T2021212110222.202111130.1221321203223.1312322.0330
->853_14_1347_F3
-T2222103002313.002121202.0110110201212.2132213.0211
->853_14_1352_F3
-T0322130022232.212111203.2300331000221.1313103.1112
->853_14_1385_F3
-T3002203302022.232012021.2301122110223.3321002.0322
->853_14_1447_F3
-T3223303110002.312133012.0302223122311.0133331.0233
->853_14_1515_F3
-T2333131102123.201103020.2221212033022.1101011.0313
->853_14_1541_F3
-T1111101123332.122331031.1223132131011.1311103.1310
->853_14_1569_F3
-T0220201200303.303332030.0312201221000.0332222.2330
->853_14_1658_F3
-T3002130113102.030003322.2100333012212.1230002.0002
->853_14_1702_F3
-T3023332100011.230103102.0021330322202.1112000.2001
->853_14_1707_F3
-T1021012301213.223013112.0313221002030.1231310.0102
->853_14_1715_F3
-T2113210211313.302011010.3323021122011.2011010.1303
->853_14_1721_F3
-T2122222110233.120020211.3121231211322.3220112.2211
->853_14_1736_F3
-T0001320013111.210012202.2131100023332.1200020.0022
->853_14_1855_F3
-T2332103123212.102220233.0311122321223.0021222.0203
->853_14_1861_F3
-T1122213220202.311333312.1223022302333.1013211.2222
->853_14_1879_F3
-T3221111322332.330311001.1012211322102.1112011.0121
->853_14_1958_F3
-T2113133021300.233021221.3023103100111.3111001.0022
->853_14_1978_F3
-T2001220322202.232020003.3211201203030.1031200.1223
->853_14_2006_F3
-T3322031101221.331303002.3321303220010.2200031.1002
->853_14_2011_F3
-T1213110110222.111222112.0012223103322.1112110.3113
->853_15_108_F3
-T1020223212222.121222222.202322012221222222222.1222
->853_15_149_F3
-T3223001220022.212201222.111221222222222222222.2222
->853_15_194_F3
-T3312003232002.133223110.202022233223322222222.2222
->853_15_359_F3
-T2312212222011.102012313.300303032222122222222.3222
->853_15_384_F3
-T3133101323312.322010203.031002333220220210301.1200
->853_15_453_F3
-T1222100222231.121121231.022223111222221313200.1222
->853_15_528_F3
-T3310331111111.132002232.222133021031300022022.2220
->853_15_538_F3
-T3310122300211.033000210.003300000000030000000.0022
->853_15_618_F3
-T1002211010002.200223103.321003230000312000101.0000
->853_15_671_F3
-T0223232033121.210020003.102320022213221200033.1103
->853_15_679_F3
-T2012320131021.021000301.301112021120110211121.1220
->853_15_712_F3
-T1233032021200.210101331.201322333121322133331.3332
->853_15_741_F3
-T0213202132113.031320110.111002211200003100030.1031
->853_15_817_F3
-T1320033200102.123232033.233101022211211111021.1122
->853_15_822_F3
-T3300212203112.303110100.122200020212110122111.2033
->853_15_866_F3
-T1030112000331.200012132.000200123122313020122.0031
->853_15_886_F3
-T2023310032313.221000120.222222222203222322222.0233
->853_15_889_F3
-T3031023333212.331200320.002013223233002202033.3030
->853_15_912_F3
-T3213002320031.331103330.002132020022312022120.2132
->853_15_935_F3
-T3133221102202.233332220.122011131120220022220.0212
->853_15_955_F3
-T2121112302133.010030202.222132131003220222330.0220
->853_15_959_F3
-T1233103213121.212133211.122132221333223212133.3121
->853_15_989_F3
-T3201022000312.210110122.132113122101220032200.2220
->853_15_1024_F3
-T2231010331011.211302002.212322231101102132122.2322
->853_15_1036_F3
-T0320010231212.012322222.131131100322221212212.3200
->853_15_1098_F3
-T3312310131203.000003312.200122112101211020010.2023
->853_15_1126_F3
-T2213210223100.330321132.322121221121322321222.2222
->853_15_1180_F3
-T2100330002323.120123301.312303133200001230220.1233
->853_15_1211_F3
-T3312001002231.112311121.012111020330113001012.1100
->853_15_1220_F3
-T2110232023322.231012330.001102031322120001002.2102
->853_15_1314_F3
-T1232330203102.212101301.200100023330312030031.0312
->853_15_1319_F3
-T1023122102102.203132330.111101121221102231303.3333
->853_15_1380_F3
-T0231133023111.310221000.300112123201303300021.2022
->853_15_1405_F3
-T0202221111231.111113311.011111122222002011022.3122
->853_15_1433_F3
-T0310100120332.312321022.221233001201223320202.3132
->853_15_1452_F3
-T1130220031020.113131212.210022320221233230131.0212
->853_15_1457_F3
-T1222213333233.301233332.110013300133202300323.2213
->853_15_1474_F3
-T3333301013330.201032112.012122213221132221322.1222
->853_15_1495_F3
-T1133321130321.223311332.023322133223233223322.1223
->853_15_1548_F3
-T2012310310112.201020123.132222213202211011122.1020
->853_15_1581_F3
-T1200132101212.222300023.321110031210020113213.2202
->853_15_1603_F3
-T2031103212332.223110220.302220210303221100200.0211
->853_15_1636_F3
-T3310211303302.023111232.001011110003122322100.0223
->853_15_1663_F3
-T2233020230232.322033111.001303213331221231303.3000
->853_15_1726_F3
-T3011022330122.113123311.003103112111110002003.0100
->853_15_1733_F3
-T1113013230021.232133122.031002212300011001000.1112
->853_15_1756_F3
-T1103222031220.212123310.011310330302303122333.2233
->853_15_1794_F3
-T2221231303022.022023010.221322032322120332311.3213
->853_15_1876_F3
-T2221311021332.101230332.111000230102222310002.1031
->853_15_1915_F3
-T1323002020313.110132112.012221202021132212100.0100
->853_15_1974_F3
-T3200002312331.022233323.021320331222211031102.2110
->853_16_26_F3
-T2200303003123.332202133.022202222221222222222.2222
->853_16_44_F3
-T1010220033031.131100202.322222222222222222222.2222
->853_16_56_F3
-T2222220320012.222222222.222222222222222222222.2222
->853_16_67_F3
-T3020301230012.320302200.122222233212012222222.2222
->853_16_112_F3
-T1200021122132.111211211.101321132100211222122.0222
->853_16_155_F3
-T2211222000221.222212222.122222222222222222222.2222
->853_16_169_F3
-T1200213123132.220001100.311323132102222222202.2212
->853_16_319_F3
-T3212223211023.013011313.020220313111230111311.0111
->853_16_375_F3
-T3332011121213.223022022.220021112220100221322.1222
->853_16_447_F3
-T3302130221112.123102110.022103123222122220111.0203
->853_16_502_F3
-T1023113011002.032210023.012230013110011223013.1000
->853_16_506_F3
-T1022110220323.201110311.021300002020121031023.1000
->853_16_513_F3
-T0332023210131.212020222.102202231311211133011.1122
->853_16_571_F3
-T2010033331133.302200220.122102023123200012222.2222
->853_16_622_F3
-T0013033001233.133330200.000000330003000000000.3000
->853_16_690_F3
-T0021310130010.202032022.110223101101310102100.0112
->853_16_697_F3
-T1231230012311.132303323.310130033010101111222.1310
->853_16_791_F3
-T1110102111131.110203033.121212111131211113111.2111
->853_16_804_F3
-T3133010300211.330333311.122313112302002200031.2333
->853_16_830_F3
-T3230012031232.130212222.012232100113320211310.1221
->853_16_871_F3
-T3201000013102.303333121.003330012300022302213.2223
->853_16_874_F3
-T2301033231033.020002133.133030332300323313233.3133
->853_16_892_F3
-T3321220311213.332101020.231311213111213212011.3011
->853_16_919_F3
-T1220221133122.203221113.002222222222222213332.2212
->853_16_941_F3
-T3310301301311.011321102.321223223120112231222.1222
->853_16_1040_F3
-T3222002222223.332302032.322031103321223221212.3031
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/4fc2b29d6393
changeset: 3236:4fc2b29d6393
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Wed Jan 13 18:33:42 2010 -0500
description:
Bug fix for uploading files to a history.
diffstat:
lib/galaxy/tools/actions/upload_common.py | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diffs (32 lines):
diff -r bfb0f6c64093 -r 4fc2b29d6393 lib/galaxy/tools/actions/upload_common.py
--- a/lib/galaxy/tools/actions/upload_common.py Wed Jan 13 18:02:37 2010 -0500
+++ b/lib/galaxy/tools/actions/upload_common.py Wed Jan 13 18:33:42 2010 -0500
@@ -59,7 +59,7 @@
role = trans.sa_session.query( trans.app.model.Role ).get( role_id )
library_bunch.roles.append( role )
return library_bunch
-def get_precreated_datasets( trans, params, data_obj, controller='root' ):
+def get_precreated_datasets( trans, params, data_obj, controller='root' ):
"""
Get any precreated datasets (when using asynchronous uploads).
"""
@@ -75,15 +75,15 @@
log.exception( 'Unable to load precreated dataset (%s) sent in upload form' % id )
continue
if data_obj is trans.app.model.HistoryDatasetAssociation:
- if user is None and trans.galaxy_session.current_history != data.history:
+ if trans.user is None and trans.galaxy_session.current_history != data.history:
log.error( 'Got a precreated dataset (%s) but it does not belong to anonymous user\'s current session (%s)' % ( data.id, trans.galaxy_session.id ) )
- elif data.history.user != user:
- log.error( 'Got a precreated dataset (%s) but it does not belong to current user (%s)' % ( data.id, user.id ) )
+ elif data.history.user != trans.user:
+ log.error( 'Got a precreated dataset (%s) but it does not belong to current user (%s)' % ( data.id, trans.user.id ) )
else:
rval.append( data )
elif data_obj is trans.app.model.LibraryDatasetDatasetAssociation:
if controller == 'library' and not trans.app.security_agent.can_add_library_item( roles, data.library_dataset.folder ):
- log.error( 'Got a precreated dataset (%s) but this user (%s) is not allowed to write to it' % ( data.id, user.id ) )
+ log.error( 'Got a precreated dataset (%s) but this user (%s) is not allowed to write to it' % ( data.id, trans.user.id ) )
else:
rval.append( data )
return rval
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/bfb0f6c64093
changeset: 3235:bfb0f6c64093
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Wed Jan 13 18:02:37 2010 -0500
description:
Bug fixes: fix importing a history item to a library, fix checking security on libraries from requests, send hid every time to functional test's verify_dataset_correctness() since we can now test multiple output datasets., and fix displaying info for library datasets in some scenarios.
diffstat:
lib/galaxy/web/controllers/library_common.py | 2 +-
lib/galaxy/web/controllers/requests.py | 5 +++--
templates/library/common/common.mako | 4 ++--
test/functional/test_toolbox.py | 12 ++++++++++--
4 files changed, 16 insertions(+), 7 deletions(-)
diffs (79 lines):
diff -r 5239b3504ec4 -r bfb0f6c64093 lib/galaxy/web/controllers/library_common.py
--- a/lib/galaxy/web/controllers/library_common.py Wed Jan 13 16:12:57 2010 -0500
+++ b/lib/galaxy/web/controllers/library_common.py Wed Jan 13 18:02:37 2010 -0500
@@ -911,7 +911,7 @@
dataset_names = []
created_ldda_ids = ''
for hda_id in hda_ids:
- hda = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( trans.security.decode_id( hda_id ) )
+ hda = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( hda_id )
if hda:
ldda = hda.to_library_dataset_dataset_association( target_folder=folder, replace_dataset=replace_dataset )
created_ldda_ids = '%s,%s' % ( created_ldda_ids, str( ldda.id ) )
diff -r 5239b3504ec4 -r bfb0f6c64093 lib/galaxy/web/controllers/requests.py
--- a/lib/galaxy/web/controllers/requests.py Wed Jan 13 16:12:57 2010 -0500
+++ b/lib/galaxy/web/controllers/requests.py Wed Jan 13 18:02:37 2010 -0500
@@ -608,7 +608,7 @@
actions_to_check = [ trans.app.security_agent.permitted_actions.LIBRARY_ADD ]
libraries = odict()
for library in all_libraries:
- can_show, hidden_folder_ids = trans.app.security_agent.show_library_item( user, roles, library, actions_to_check )
+ can_show, hidden_folder_ids = trans.app.security_agent.show_library_item( trans.user, roles, library, actions_to_check )
if can_show:
libraries[ library ] = hidden_folder_ids
# create data library selectbox with refresh on change enabled
@@ -661,7 +661,8 @@
else:
folder_list.add_option('Select one', 'none')
# get all show-able folders for the selected library
- showable_folders = trans.app.security_agent.get_showable_folders( user, roles,
+ showable_folders = trans.app.security_agent.get_showable_folders( trans.user,
+ roles,
selected_lib,
actions_to_check,
selected_hidden_folder_ids )
diff -r 5239b3504ec4 -r bfb0f6c64093 templates/library/common/common.mako
--- a/templates/library/common/common.mako Wed Jan 13 16:12:57 2010 -0500
+++ b/templates/library/common/common.mako Wed Jan 13 18:02:37 2010 -0500
@@ -80,7 +80,7 @@
%if replace_dataset not in [ None, 'None' ]:
<input type="hidden" name="replace_id" value="${trans.security.encode_id( replace_dataset.id )}"/>
<div class="form-row">
- You are currently selecting a new file to replace '<a href="${h.url_for( controller=cntrller, action='ldda_display_info', library_id=library_id, folder_id=folder_id, id=trans.security.encode_id( replace_dataset.library_dataset_dataset_association.id ) )}">${replace_dataset.name}</a>'.
+ You are currently selecting a new file to replace '<a href="${h.url_for( controller='library_common', action='ldda_display_info', cntrller=cntrller, library_id=library_id, folder_id=folder_id, id=trans.security.encode_id( replace_dataset.library_dataset_dataset_association.id ) )}">${replace_dataset.name}</a>'.
<div style="clear: both"></div>
</div>
%endif
@@ -302,7 +302,7 @@
%if replace_dataset not in [ None, 'None' ]:
<input type="hidden" name="replace_id" value="${trans.security.encode_id( replace_dataset.id )}"/>
<div class="form-row">
- You are currently selecting a new file to replace '<a href="${h.url_for( controller=cntrller, action='ldda_display_info', library_id=library_id, folder_id=folder_id, id=trans.security.encode_id( replace_dataset.library_dataset_dataset_association.id ) )}">${replace_dataset.name}</a>'.
+ You are currently selecting a new file to replace '<a href="${h.url_for( controller='library_common', action='ldda_display_info', cntrller=cntrller, library_id=library_id, folder_id=folder_id, id=trans.security.encode_id( replace_dataset.library_dataset_dataset_association.id ) )}">${replace_dataset.name}</a>'.
<div style="clear: both"></div>
</div>
%endif
diff -r 5239b3504ec4 -r bfb0f6c64093 test/functional/test_toolbox.py
--- a/test/functional/test_toolbox.py Wed Jan 13 16:12:57 2010 -0500
+++ b/test/functional/test_toolbox.py Wed Jan 13 18:02:37 2010 -0500
@@ -60,10 +60,18 @@
page_inputs = self.__expand_grouping(testdef.tool.inputs_by_page[i], all_inputs)
self.submit_form( **page_inputs )
print "page_inputs (%i)" % i, page_inputs
- # Check the results ( handles single or multiple tool outputs )
+ # Check the results ( handles single or multiple tool outputs ). Make sure to pass the correct hid.
+ # The output datasets from the tool should be in the same order as the testdef.outputs.
+ data_list = self.get_history_as_data_list()
+ self.assertTrue( data_list )
+ elem_index = 0 - len( testdef.outputs )
for output_tuple in testdef.outputs:
name, file, sort = output_tuple
- self.verify_dataset_correctness( file, maxseconds=testdef.maxseconds, sort=sort )
+ # Get the correct hid
+ elem = data_list[ elem_index ]
+ elem_hid = elem.get( 'hid' )
+ elem_index += 1
+ self.verify_dataset_correctness( file, hid=elem_hid, maxseconds=testdef.maxseconds, sort=sort )
self.delete_history( id=self.security.encode_id( latest_history.id ) )
def __expand_grouping( self, tool_inputs, declared_inputs, prefix='' ):
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/5239b3504ec4
changeset: 3234:5239b3504ec4
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Wed Jan 13 16:12:57 2010 -0500
description:
Added bowtie_indices_color.loc to buildbot_setup.sh
diffstat:
buildbot_setup.sh | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diffs (11 lines):
diff -r ec12f3ad520a -r 5239b3504ec4 buildbot_setup.sh
--- a/buildbot_setup.sh Wed Jan 13 14:38:40 2010 -0500
+++ b/buildbot_setup.sh Wed Jan 13 16:12:57 2010 -0500
@@ -20,6 +20,7 @@
/depot/data2/galaxy/binned_scores.loc
/depot/data2/galaxy/blastdb.loc
/depot/data2/galaxy/bowtie_indices.loc
+/depot/data2/galaxy/bowtie_indices_color.loc
/depot/data2/galaxy/encode_datasets.loc
/galaxy/home/universe/encode_feature_partitions
/depot/data2/galaxy/lastz_seqs.loc
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/ec12f3ad520a
changeset: 3233:ec12f3ad520a
user: Kelly Vincent <kpvincent(a)bx.psu.edu>
date: Wed Jan 13 14:38:40 2010 -0500
description:
Tweaked the interfaces for Bowtie wrappers for paired-end data
diffstat:
test-data/bowtie_out7.sam | 4 +-
tools/sr_mapping/bowtie_color_wrapper.xml | 32 ++++++++++++++----------------
tools/sr_mapping/bowtie_wrapper.py | 21 +++++++++----------
tools/sr_mapping/bowtie_wrapper.xml | 31 +++++++++++++----------------
4 files changed, 41 insertions(+), 47 deletions(-)
diffs (308 lines):
diff -r 4b7a92551151 -r ec12f3ad520a test-data/bowtie_out7.sam
--- a/test-data/bowtie_out7.sam Wed Jan 13 13:19:25 2010 -0500
+++ b/test-data/bowtie_out7.sam Wed Jan 13 14:38:40 2010 -0500
@@ -1,2 +1,2 @@
-869_1532_1255 77 * 0 0 * * 0 0 CAGGGTTCCAAATCGGGTTGCAAG =;8:?@=?;;9:8;=>;5A?;<8> XM:i:0
-869_1532_1255 141 * 0 0 * * 0 0 TACGGGAAACCGCGGCCTTTAAGG ;89<:==5<8>69;8=<9;<>9:= XM:i:0
+869_1532_1255 179 chrM 3728 255 23M = 3752 47 GAAATATGTCTGACAAAAGAGTT !RVYVSTXTRSNSUSPQYVUTPR XA:i:1 MD:Z:23 NM:i:0 CM:i:1
+869_1532_1255 115 chrM 3753 255 23M = 3727 -49 TTTGATAGAGTAAAACATAGAGG USVY_UOXZWRQRSUY[\^XQR! XA:i:1 MD:Z:23 NM:i:0 CM:i:1
diff -r 4b7a92551151 -r ec12f3ad520a tools/sr_mapping/bowtie_color_wrapper.xml
--- a/tools/sr_mapping/bowtie_color_wrapper.xml Wed Jan 13 13:19:25 2010 -0500
+++ b/tools/sr_mapping/bowtie_color_wrapper.xml Wed Jan 13 14:38:40 2010 -0500
@@ -9,7 +9,6 @@
--genomeSource=$refGenomeSource.genomeSource
#if $refGenomeSource.genomeSource == "history":
--ref=$refGenomeSource.ownFile
- --dbkey=$dbkey
--indexSettings=$refGenomeSource.indexParams.indexSettings
#if $refGenomeSource.indexParams.indexSettings == "indexFull":
--iautoB=$refGenomeSource.indexParams.autoBehavior.autoB
@@ -49,7 +48,6 @@
#end if
#else:
--ref=$refGenomeSource.index.value
- --dbkey="None"
--indexSettings="None"
--iautoB="None"
--ipacked="None"
@@ -129,6 +127,8 @@
#else:
--input1=$singlePaired.pInput1
--input2=$singlePaired.pInput2
+ --maxInsert=$singlePaired.pMaxInsert
+ --mateOrient=$singlePaired.pMateOrient
--params=$singlePaired.pParams.pSettingsType
#if $singlePaired.pParams.pSettingsType == "full":
--skip=$singlePaired.pParams.pSkip
@@ -141,8 +141,6 @@
--rounding=$singlePaired.pParams.pRounding
--maqSoapAlign=$singlePaired.pParams.pMaqSoapAlign
--minInsert=$singlePaired.pParams.pMinInsert
- --maxInsert=$singlePaired.pParams.pMaxInsert
- --mateOrient=$singlePaired.pParams.pMateOrient
--maxAlignAttempt=$singlePaired.pParams.pMaxAlignAttempt
--forwardAlign=$singlePaired.pParams.pForwardAlign
--reverseAlign=$singlePaired.pParams.pReverseAlign
@@ -174,8 +172,6 @@
--rounding="None"
--maqSoapAlign="None"
--minInsert="None"
- --maxInsert="None"
- --mateOrient="None"
--maxAlignAttempt="None"
--forwardAlign="None"
--reverseAlign="None"
@@ -323,6 +319,12 @@
<when value="paired">
<param name="pInput1" type="data" format="fastqsanger" label="FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
<param name="pInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <param name="pMaxInsert" type="integer" value="1000" label="Maximum insert size for valid paired-end alignments (-X)" />
+ <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
+ <option value="ff">FF (for SOLiD)</option>
+ <option value="fr">FR (for Illumina)</option>
+ <option value="rf">RF</option>
+ </param>
<conditional name="pParams">
<param name="pSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
<option value="preSet">Commonly used</option>
@@ -343,12 +345,6 @@
</param>
<param name="pMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
<param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
- <param name="pMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" />
- <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
- <option value="ff">FF (for SOLiD)</option>
- <option value="fr">FR (for Illumina)</option>
- <option value="rf">RF</option>
- </param>
<param name="pMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
<param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
<option value="forward">Align against the forward reference strand</option>
@@ -421,7 +417,7 @@
<!--
Bowtie command:
bowtie-build -f -C test-data/chr_m.fasta chrM_color
- bowtie -n 2 -e 70 -l 28 -X 250 +ff +pairtries 100 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out3.sam
+ bowtie -X 1000 +ff -n 2 -e 70 -l 28 -X 250 +ff +pairtries 100 +maxbts 125 -k 1 -C +snpfrac 0.001 +col-keepends -p 4 -S +sam-nohead -q chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out3.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
@@ -431,6 +427,8 @@
<param name="sPaired" value="paired" />
<param name="pInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
<param name="pInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
+ <param name="pMaxInsert" value="1000" />
+ <param name="pMateOrient" value="ff" />
<param name="pSettingsType" value="full" />
<param name="pSkip" value="0" />
<param name="pAlignLimit" value="-1" />
@@ -442,8 +440,6 @@
<param name="pRounding" value="round" />
<param name="pMaqSoapAlign" value="-1" />
<param name="pMinInsert" value="0" />
- <param name="pMaxInsert" value="250" />
- <param name="pMateOrient" value="ff" />
<param name="pMaxAlignAttempt" value="100" />
<param name="pForwardAlign" value="forward" />
<param name="pReverseAlign" value="reverse" />
@@ -500,11 +496,11 @@
<!--
Bowtie command:
bowtie-build +noauto +bmaxdivn 4 +dcv 1024 +offrate 5 +ftabchars 10 +little -C -f test-data/chr_m.fasta chrM_color
- bowtie -p 4 -S +sam-nohead -q -C chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out7.sam
+ bowtie -X 1000 +ff -p 4 -S +sam-nohead -q -C chrM_color -1 test-data/bowtie_in3.fastqsanger -2 test-data/bowtie_in4.fastqsanger > test-data/bowtie_out7.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
- <param name="genomeSource" value="cHistory" />
+ <param name="genomeSource" value="history" />
<param name="ownFile" value="chr_m.fasta" />
<param name="indexSettings" value="indexFull" />
<param name="autoB" value="set" />
@@ -523,6 +519,8 @@
<param name="sPaired" value="paired" />
<param name="pInput1" ftype="fastqsanger" value="bowtie_in3.fastqsanger" />
<param name="pInput2" ftype="fastqsanger" value="bowtie_in4.fastqsanger" />
+ <param name="pMaxInsert" value="1000" />
+ <param name="pMateOrient" value="ff" />
<param name="pSettingsType" value="preSet" />
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out7.sam" />
diff -r 4b7a92551151 -r ec12f3ad520a tools/sr_mapping/bowtie_wrapper.py
--- a/tools/sr_mapping/bowtie_wrapper.py Wed Jan 13 13:19:25 2010 -0500
+++ b/tools/sr_mapping/bowtie_wrapper.py Wed Jan 13 14:38:40 2010 -0500
@@ -40,7 +40,6 @@
-6, --snpfrac=6: Fraction of sites expected to be SNP sites
-7, --keepends=7: Keep extreme-end nucleotides and qualities
-S, --seed=S: Seed for pseudo-random number generator
- -d, --dbkey=d: Dbkey of reference genome
-C, --params=C: Whether to use default or specified parameters
-u, --iautoB=u: Automatic or specified behavior
-K, --ipacked=K: Whether or not to use a packed representation for DNA strings
@@ -103,7 +102,6 @@
parser.add_option( '-8', '--snpphred', dest='snpphred', help='SNP penalty on Phred scale' )
parser.add_option( '-6', '--snpfrac', dest='snpfrac', help='Fraction of sites expected to be SNP sites' )
parser.add_option( '-7', '--keepends', dest='keepends', help='Keep extreme-end nucleotides and qualities' )
- parser.add_option( '-d', '--dbkey', dest='dbkey', help='Dbkey of reference genome' )
parser.add_option( '-C', '--params', dest='params', help='Whether to use default or specified parameters' )
parser.add_option( '-u', '--iautoB', dest='iautoB', help='Automatic or specified behavior' )
parser.add_option( '-K', '--ipacked', dest='ipacked', help='Whether or not to use a packed representation for DNA strings' )
@@ -206,8 +204,17 @@
suppressHeader = '--sam-nohead'
else:
suppressHeader = ''
+ if options.maxInsert != 'None' and int( options.maxInsert ) > 0:
+ maxInsert = '-X %s' % options.maxInsert
+ else:
+ maxInsert = ''
+ if options.mateOrient != 'None':
+ mateOrient = '--%s' % options.mateOrient
+ else:
+ mateOrient = ''
if options.params == 'preSet':
- aligning_cmds = '-p %s -S %s -q %s ' % ( options.threads, suppressHeader, colorspace )
+ aligning_cmds = '%s %s -p %s -S %s -q %s ' % \
+ ( maxInsert, mateOrient, options.threads, suppressHeader, colorspace )
else:
try:
if options.skip != 'None' and int( options.skip ) > 0:
@@ -251,14 +258,6 @@
minInsert = '-I %s' % options.minInsert
else:
minInsert = ''
- if options.maxInsert != 'None' and int( options.maxInsert ) > 0:
- maxInsert = '-X %s' % options.maxInsert
- else:
- maxInsert = ''
- if options.mateOrient != 'None':
- mateOrient = '--%s' % options.mateOrient
- else:
- mateOrient = ''
if options.maxAlignAttempt != 'None' and int( options.maxAlignAttempt ) >= 0:
maxAlignAttempt = '--pairtries %s' % options.maxAlignAttempt
else:
diff -r 4b7a92551151 -r ec12f3ad520a tools/sr_mapping/bowtie_wrapper.xml
--- a/tools/sr_mapping/bowtie_wrapper.xml Wed Jan 13 13:19:25 2010 -0500
+++ b/tools/sr_mapping/bowtie_wrapper.xml Wed Jan 13 14:38:40 2010 -0500
@@ -12,7 +12,6 @@
--keepends="None"
#if $refGenomeSource.genomeSource == "history":
--ref=$refGenomeSource.ownFile
- --dbkey=$dbkey
--indexSettings=$refGenomeSource.indexParams.indexSettings
#if $refGenomeSource.indexParams.indexSettings == "indexFull":
--iautoB=$refGenomeSource.indexParams.autoBehavior.autoB
@@ -52,7 +51,6 @@
#end if
#else:
--ref=$refGenomeSource.index.value
- --dbkey="None"
--indexSettings="None"
--iautoB="None"
--ipacked="None"
@@ -129,6 +127,8 @@
#else:
--input1=$singlePaired.pInput1
--input2=$singlePaired.pInput2
+ --maxInsert=$singlePaired.pMaxInsert
+ --mateOrient=$singlePaired.pMateOrient
--params=$singlePaired.pParams.pSettingsType
#if $singlePaired.pParams.pSettingsType == "full":
--skip=$singlePaired.pParams.pSkip
@@ -141,8 +141,6 @@
--rounding=$singlePaired.pParams.pRounding
--maqSoapAlign=$singlePaired.pParams.pMaqSoapAlign
--minInsert=$singlePaired.pParams.pMinInsert
- --maxInsert=$singlePaired.pParams.pMaxInsert
- --mateOrient=$singlePaired.pParams.pMateOrient
--maxAlignAttempt=$singlePaired.pParams.pMaxAlignAttempt
--forwardAlign=$singlePaired.pParams.pForwardAlign
--reverseAlign=$singlePaired.pParams.pReverseAlign
@@ -180,8 +178,6 @@
--offrate="None"
--seed="None"
--minInsert="None"
- --maxInsert="None"
- --mateOrient="None"
--maxAlignAttempt="None"
--forwardAlign="None"
--reverseAlign="None"
@@ -311,6 +307,12 @@
<when value="paired">
<param name="pInput1" type="data" format="fastqsanger" label="Forward FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
<param name="pInput2" type="data" format="fastqsanger" label="Reverse FASTQ file" help="Must have Sanger-scaled quality values with ASCII offset 33"/>
+ <param name="pMaxInsert" type="integer" value="1000" label="Maximum insert size for valid paired-end alignments (-X)" />
+ <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
+ <option value="fr">FR (for Illumina)</option>
+ <option value="rf">RF</option>
+ <option value="ff">FF (for SOLiD)</option>
+ </param>
<conditional name="pParams">
<param name="pSettingsType" type="select" label="Bowtie settings to use" help="For most mapping needs use Commonly used settings. If you want full control use Full parameter list">
<option value="preSet">Commonly used</option>
@@ -331,12 +333,6 @@
</param>
<param name="pMaqSoapAlign" type="integer" value="-1" label="Number of mismatches for SOAP-like alignment policy (-v)" help="-1 for default MAQ-like alignment policy" />
<param name="pMinInsert" type="integer" value="0" label="Minimum insert size for valid paired-end alignments (-I)" />
- <param name="pMaxInsert" type="integer" value="250" label="Maximum insert size for valid paired-end alignments (-X)" />
- <param name="pMateOrient" type="select" label="The upstream/downstream mate orientation for valid paired-end alignment against the forward reference strand (--fr/--rf/--ff)">
- <option value="fr">FR (for Illumina)</option>
- <option value="rf">RF</option>
- <option value="ff">FF (for SOLiD)</option>
- </param>
<param name="pMaxAlignAttempt" type="integer" value="100" label="Maximum number of attempts Bowtie will make to match an alignment for one mate with an alignment for the opposite mate (--pairtries)" />
<param name="pForwardAlign" type="select" label="Choose whether or not to attempt to align the forward reference strand (--nofw)">
<option value="forward">Align against the forward reference strand</option>
@@ -403,7 +399,7 @@
<!--
Bowtie command:
bowtie-build -f test-data/chr_m.fasta chrM_base
- bowtie -n 2 -e 70 -l 28 -X 250 +fr +pairtries 100 +maxbts 800 -k 1 +best -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out4.sam
+ bowtie -X 1000 +fr -n 2 -e 70 -l 28 +pairtries 100 +maxbts 800 -k 1 +best -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out4.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
@@ -413,6 +409,8 @@
<param name="sPaired" value="paired" />
<param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
<param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
+ <param name="pMaxInsert" value="1000" />
+ <param name="pMateOrient" value="fr" />
<param name="pSettingsType" value="full" />
<param name="pSkip" value="0" />
<param name="pAlignLimit" value="-1" />
@@ -424,8 +422,6 @@
<param name="pRounding" value="round" />
<param name="pMaqSoapAlign" value="-1" />
<param name="pMinInsert" value="0" />
- <param name="pMaxInsert" value="250" />
- <param name="pMateOrient" value="fr" />
<param name="pMaxAlignAttempt" value="100" />
<param name="pForwardAlign" value="forward" />
<param name="pReverseAlign" value="reverse" />
@@ -441,7 +437,6 @@
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out4.sam" />
</test>
-<!-- Comment out test 3 because they are failing for an unknown reason -->
<test>
<!--
Bowtie command:
@@ -478,7 +473,7 @@
<!--
Bowtie command:
bowtie-build +offrate 5 +ftabchars 10 +little -f test-data/chr_m.fasta chrM_base
- bowtie -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out8.sam
+ bowtie -X 1000 +fr -p 4 -S +sam-nohead -q chrM_base -1 test-data/bowtie_in5.fastqsanger -2 test-data/bowtie_in6.fastqsanger > test-data/bowtie_out8.sam
-p is the number of threads, hardcoded above. You need to replace the + with 2 dashes.
chrM_base is the index files' location/base name.
-->
@@ -497,6 +492,8 @@
<param name="sPaired" value="paired" />
<param name="pInput1" ftype="fastqsanger" value="bowtie_in5.fastqsanger" />
<param name="pInput2" ftype="fastqsanger" value="bowtie_in6.fastqsanger" />
+ <param name="pMaxInsert" value="1000" />
+ <param name="pMateOrient" value="fr" />
<param name="pSettingsType" value="preSet" />
<param name="suppressHeader" value="true" />
<output name="output" ftype="sam" file="bowtie_out8.sam" />
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/4b7a92551151
changeset: 3232:4b7a92551151
user: jeremy goecks <jeremy.goecks(a)emory.edu>
date: Wed Jan 13 13:19:25 2010 -0500
description:
Bug fixes and refactoring for displaying semi-public and published items. All display templates are now based on a single template, /display_base.mako Also, all relevant controllers use the same action, list_published, to provide a list of published items.
diffstat:
lib/galaxy/web/controllers/history.py | 20 +-
lib/galaxy/web/controllers/page.py | 2 +-
lib/galaxy/web/controllers/workflow.py | 6 +-
templates/display_base.mako | 171 ++++++++++++++++++++
templates/display_common.mako | 12 -
templates/history/display.mako | 270 +++++++++++++++++++++++++++++++++
templates/history/list_public.mako | 23 --
templates/history/list_published.mako | 23 ++
templates/history/sharing.mako | 2 +-
templates/history/view.mako | 127 +++++---------
templates/page/display.mako | 96 +----------
templates/tagging_common.mako | 2 +-
templates/workflow/display.mako | 165 ++++---------------
templates/workflow/list_public.mako | 23 --
templates/workflow/list_published.mako | 23 ++
15 files changed, 598 insertions(+), 367 deletions(-)
diffs (1172 lines):
diff -r b10ae696a0e9 -r 4b7a92551151 lib/galaxy/web/controllers/history.py
--- a/lib/galaxy/web/controllers/history.py Wed Jan 13 10:24:30 2010 -0500
+++ b/lib/galaxy/web/controllers/history.py Wed Jan 13 13:19:25 2010 -0500
@@ -172,11 +172,11 @@
def apply_default_filter( self, trans, query, **kwargs ):
return query.filter( model.HistoryUserShareAssociation.user == trans.user )
-class PublicHistoryListGrid( grids.Grid ):
+class HistoryAllPublishedGrid( grids.Grid ):
class NameURLColumn( PublicURLColumn, NameColumn ):
pass
- title = "Public Histories"
+ title = "Published Histories"
model_class = model.History
default_sort_key = "-update_time"
default_filter = dict( public_url="All", username="All", tags="All" )
@@ -212,16 +212,16 @@
stored_list_grid = HistoryListGrid()
shared_list_grid = SharedHistoryListGrid()
- public_list_grid = PublicHistoryListGrid()
+ published_list_grid = HistoryAllPublishedGrid()
@web.expose
- def list_public( self, trans, **kwargs ):
- grid = self.public_list_grid( trans, **kwargs )
+ def list_published( self, trans, **kwargs ):
+ grid = self.published_list_grid( trans, **kwargs )
if 'async' in kwargs:
return grid
else:
# Render grid wrapped in panels
- return trans.fill_template( "history/list_public.mako", grid=grid )
+ return trans.fill_template( "history/list_published.mako", grid=grid )
@web.expose
@web.require_login( "work with multiple histories" )
@@ -555,12 +555,8 @@
.options( eagerload_all( "dataset.actions" ) )
# Do not show deleted datasets.
query = query.filter( model.HistoryDatasetAssociation.deleted == False )
- user_owns_history = ( trans.get_user() == history.user )
- return trans.stream_template_mako( "history/view.mako",
- history = history,
- datasets = query.all(),
- user_owns_history = user_owns_history,
- show_deleted = False )
+ return trans.stream_template_mako( "history/display.mako",
+ item = history, item_data = query.all() )
@web.expose
@web.require_login( "share histories with other users" )
diff -r b10ae696a0e9 -r 4b7a92551151 lib/galaxy/web/controllers/page.py
--- a/lib/galaxy/web/controllers/page.py Wed Jan 13 10:24:30 2010 -0500
+++ b/lib/galaxy/web/controllers/page.py Wed Jan 13 13:19:25 2010 -0500
@@ -321,7 +321,7 @@
page = trans.sa_session.query( model.Page ).filter_by( user=user, slug=slug, deleted=False, published=True ).first()
if page is None:
raise web.httpexceptions.HTTPNotFound()
- return trans.fill_template( "page/display.mako", page=page )
+ return trans.fill_template( "page/display.mako", item=page )
@web.expose
@web.require_login("select a history from saved histories")
diff -r b10ae696a0e9 -r 4b7a92551151 lib/galaxy/web/controllers/workflow.py
--- a/lib/galaxy/web/controllers/workflow.py Wed Jan 13 10:24:30 2010 -0500
+++ b/lib/galaxy/web/controllers/workflow.py Wed Jan 13 13:19:25 2010 -0500
@@ -145,13 +145,13 @@
shared_by_others = shared_by_others )
@web.expose
- def list_public( self, trans, **kwargs ):
+ def list_published( self, trans, **kwargs ):
grid = self.public_list_grid( trans, **kwargs )
if 'async' in kwargs:
return grid
else:
# Render grid wrapped in panels
- return trans.fill_template( "workflow/list_public.mako", grid=grid )
+ return trans.fill_template( "workflow/list_published.mako", grid=grid )
@web.expose
def display_by_username_and_slug( self, trans, username, slug ):
@@ -187,7 +187,7 @@
# Connections by input name
step.input_connections_by_name = dict( ( conn.input_name, conn ) for conn in step.input_connections )
- return trans.fill_template_mako( "workflow/display.mako", workflow = stored_workflow, steps = stored_workflow.latest_workflow.steps )
+ return trans.fill_template_mako( "workflow/display.mako", item=stored_workflow, item_data=stored_workflow.latest_workflow.steps )
@web.expose
@web.require_login( "use Galaxy workflows" )
diff -r b10ae696a0e9 -r 4b7a92551151 templates/display_base.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/display_base.mako Wed Jan 13 13:19:25 2010 -0500
@@ -0,0 +1,171 @@
+<%inherit file="/base_panels.mako"/>
+<%namespace file="./tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
+
+<%!
+ from galaxy.model import History, StoredWorkflow, Page
+%>
+
+<%def name="init()">
+<%
+ self.has_left_panel=False
+ self.has_right_panel=False
+ self.message_box_visible=False
+%>
+</%def>
+
+<%def name="javascripts()">
+ ${parent.javascripts()}
+ ${h.js( "galaxy.base", "jquery", "json2", "jquery.autocomplete", "autocomplete_tagging" )}
+
+ <script type="text/javascript">
+ //
+ // Handle click on community tag.
+ //
+ function community_tag_click(tag_name, tag_value)
+ {
+ <% controller_name = get_controller_name( item ) %>
+ var href = '${h.url_for ( controller='/' + controller_name , action='list_published')}';
+ href = href + "?f-tags=" + tag_name;
+ if (tag_value != null && tag_value != "")
+ href = href + ":" + tag_value;
+ self.location = href;
+ }
+ </script>
+</%def>
+
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ ${h.css( "autocomplete_tagging" )}
+ <style type="text/css">
+ .page-body
+ {
+ padding: 10px;
+ float: left;
+ width: 65%;
+ }
+ .page-meta
+ {
+ float: right;
+ width: 27%;
+ padding: 0.5em;
+ margin: 0.25em;
+ vertical-align: text-top;
+ border: 2px solid #DDDDDD;
+ border-top: 4px solid #DDDDDD;
+ }
+ </style>
+</%def>
+
+<%def name="render_item_links( item )">
+ Item Links
+</%def>
+
+<%def name="render_item( item, item_data=None )">
+ Item
+</%def>
+
+<%def name="get_item_name( item )">
+ <% return item.name %>
+</%def>
+
+
+##
+## Page content. Pages that inherit this page should override render_item_links() and render_item()
+##
+<%def name="center_panel()">
+
+ ## Get URL to other published items owned by user that owns this item.
+ <%
+ ##TODO: is there a better way to create this URL? Can't use 'f-username' as a key b/c it's not a valid identifier.
+ controller_name = get_controller_name( item )
+ item_plural = get_item_plural( item )
+ href_to_all_items = h.url_for( controller='/' + controller_name, action='list_published')
+ href_to_user_items = h.url_for( controller='/' + controller_name, action='list_published', xxx=item.user.username)
+ href_to_user_items = href_to_user_items.replace( 'xxx', 'f-username')
+ %>
+
+ <div class="unified-panel-header" unselectable="on">
+ <div class="unified-panel-header-inner">
+ <a href="${href_to_all_items}">Published ${item_plural}</a> |
+ <a href="${href_to_user_items}">${item.user.username}</a> | ${self.get_item_name( item )}
+ </div>
+ </div>
+
+ <div class="unified-panel-body">
+ <div style="overflow: auto; height: 100%;">
+ <div class="page-body">
+ <div style="padding: 0px 0px 5px 0px">
+ ${self.render_item_links( item )}
+ </div>
+
+ ${self.render_item( item, item_data )}
+ </div>
+
+ <div class="page-meta">
+ ## Page meta.
+ <div><strong>Related ${item_plural}</strong></div>
+ <p>
+ <a href="${href_to_all_items}">All published ${item_plural.lower()}</a><br>
+ <a href="${href_to_user_items}">${item_plural} owned by ${item.user.username}</a>
+
+ ## Tags.
+ <div><strong>Tags</strong></div>
+ <p>
+ ## Community tags.
+ <div>
+ Community:
+ ${render_community_tagging_element( tagged_item=item, tag_click_fn='community_tag_click', use_toggle_link=False )}
+ %if len ( item.tags ) == 0:
+ none
+ %endif
+ </div>
+ ## Individual tags.
+ <p>
+ <div>
+ Yours:
+ ${render_individual_tagging_element( user=trans.get_user(), tagged_item=item, elt_context='view.mako', use_toggle_link=False, tag_click_fn='community_tag_click' )}
+ </div>
+ </div>
+ </div>
+ </div>
+</%def>
+
+
+##
+## Utility methods.
+##
+
+## Get plural term for item.
+<%def name="get_item_plural( item )">
+ <%
+ items_plural = "items"
+ if isinstance( item, History ):
+ items_plural = "Histories"
+ elif isinstance( item, StoredWorkflow ):
+ items_plural = "Workflows"
+ elif isinstance( item, Page ):
+ items_plural = "Pages"
+ return items_plural
+ %>
+</%def>
+
+## Returns the controller name for an item based on its class.
+<%def name="get_controller_name( item )">
+ <%
+ if isinstance( item, History ):
+ return "history"
+ elif isinstance( item, StoredWorkflow ):
+ return "workflow"
+ elif isinstance( item, Page ):
+ return "page"
+ %>
+</%def>
+
+## Return a link to view a history.
+<%def name="get_history_link( history, qualify=False )">
+ %if history.slug and history.user.username:
+ <% return h.url_for( controller='/history', action='display_by_username_and_slug', username=history.user.username, slug=history.slug, qualified=qualify ) %>
+ %else:
+ <% return h.url_for( controller='/history', action='view', id=trans.security.encode_id( history.id ), qualified=qualify ) %>
+ %endif
+</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/display_common.mako
--- a/templates/display_common.mako Wed Jan 13 10:24:30 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-##
-## A set of useful methods for displaying different items.
-##
-
-## Return a link to view a history.
-<%def name="get_history_link( history, qualify=False )">
- %if history.slug and history.user.username:
- <% return h.url_for( controller='/history', action='display_by_username_and_slug', username=history.user.username, slug=history.slug, qualified=qualify ) %>
- %else:
- <% return h.url_for( controller='/history', action='view', id=trans.security.encode_id( history.id ), qualified=qualify ) %>
- %endif
-</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/display.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/history/display.mako Wed Jan 13 13:19:25 2010 -0500
@@ -0,0 +1,270 @@
+<%inherit file="/display_base.mako"/>
+<%namespace file="/root/history_common.mako" import="render_dataset" />
+
+<%def name="javascripts()">
+ ${parent.javascripts()}
+ ${h.js( "jquery.jstore-all" )}
+
+ ## Set vars so that there's no need to change the code below.
+ <%
+ history = published_item
+ datasets = published_item_data
+ %>
+
+ <script type="text/javascript">
+ $(function() {
+ // Load jStore for local storage
+ $.extend(jQuery.jStore.defaults, { project: 'galaxy', flash: '/static/jStore.Flash.html' })
+ $.jStore.load(); // Auto-select best storage
+
+ $.jStore.ready(function(engine) {
+ engine.ready(function() {
+ // Init stuff that requires the local storage to be running
+ initShowHide();
+ setupHistoryItem( $("div.historyItemWrapper") );
+ });
+ });
+
+ // Generate 'collapse all' link
+ $("#top-links").append( "| " ).append( $("<a href='#'>${_('collapse all')}</a>").click( function() {
+ $( "div.historyItemBody:visible" ).each( function() {
+ if ( $.browser.mozilla ) {
+ $(this).find( "pre.peek" ).css( "overflow", "hidden" );
+ }
+ $(this).slideUp( "fast" );
+ });
+ $.jStore.remove("history_expand_state");
+ }));
+
+ });
+ // Functionized so AJAX'd datasets can call them
+ function initShowHide() {
+
+ // Load saved state and show as necessary
+ try {
+ var stored = $.jStore.store("history_expand_state");
+ if (stored) {
+ var st = JSON.parse(stored);
+ for (var id in st) {
+ $("#" + id + " div.historyItemBody" ).show();
+ }
+ }
+ } catch(err) {
+ // Something was wrong with values in storage, so clear storage
+ $.jStore.remove("history_expand_state");
+ }
+
+ // If Mozilla, hide scrollbars in hidden items since they cause animation bugs
+ if ( $.browser.mozilla ) {
+ $( "div.historyItemBody" ).each( function() {
+ if ( ! $(this).is( ":visible" ) ) $(this).find( "pre.peek" ).css( "overflow", "hidden" );
+ })
+ }
+ }
+ // Add show/hide link and delete link to a history item
+ function setupHistoryItem( query ) {
+ query.each( function() {
+ var id = this.id;
+ var body = $(this).children( "div.historyItemBody" );
+ var peek = body.find( "pre.peek" )
+ $(this).children( ".historyItemTitleBar" ).find( ".historyItemTitle" ).wrap( "<a href='#'></a>" ).click( function() {
+ if ( body.is(":visible") ) {
+ // Hiding stuff here
+ if ( $.browser.mozilla ) { peek.css( "overflow", "hidden" ) }
+ body.slideUp( "fast" );
+
+ // Save setting
+ var stored = $.jStore.store("history_expand_state")
+ var prefs = stored ? JSON.parse(stored) : null
+ if (prefs) {
+ delete prefs[id];
+ $.jStore.store("history_expand_state", JSON.stringify(prefs));
+ }
+ } else {
+ // Showing stuff here
+ body.slideDown( "fast", function() {
+ if ( $.browser.mozilla ) { peek.css( "overflow", "auto" ); }
+ });
+
+ // Save setting
+ var stored = $.jStore.store("history_expand_state")
+ var prefs = stored ? JSON.parse(stored) : new Object;
+ prefs[id] = true;
+ $.jStore.store("history_expand_state", JSON.stringify(prefs));
+ }
+ return false;
+ });
+ // Delete link
+ $(this).find( "div.historyItemButtons > .delete" ).each( function() {
+ var data_id = this.id.split( "-" )[1];
+ $(this).click( function() {
+ $( '#historyItem-' + data_id + "> div.historyItemTitleBar" ).addClass( "spinner" );
+ $.ajax({
+ url: "${h.url_for( action='delete_async', id='XXX' )}".replace( 'XXX', data_id ),
+ error: function() { alert( "Delete failed" ) },
+ success: function() {
+ %if show_deleted:
+ var to_update = {};
+ to_update[data_id] = "none";
+ updater( to_update );
+ %else:
+ $( "#historyItem-" + data_id ).fadeOut( "fast", function() {
+ $( "#historyItemContainer-" + data_id ).remove();
+ if ( $( "div.historyItemContainer" ).length < 1 ) {
+ $( "#emptyHistoryMessage" ).show();
+ }
+ });
+ %endif
+ }
+ });
+ return false;
+ });
+ });
+ // Undelete link
+ $(this).find( "a.historyItemUndelete" ).each( function() {
+ var data_id = this.id.split( "-" )[1];
+ $(this).click( function() {
+ $( '#historyItem-' + data_id + " > div.historyItemTitleBar" ).addClass( "spinner" );
+ $.ajax({
+ url: "${h.url_for( controller='dataset', action='undelete_async', id='XXX' )}".replace( 'XXX', data_id ),
+ error: function() { alert( "Undelete failed" ) },
+ success: function() {
+ var to_update = {};
+ to_update[data_id] = "none";
+ updater( to_update );
+ }
+ });
+ return false;
+ });
+ });
+ });
+ };
+ // Looks for changes in dataset state using an async request. Keeps
+ // calling itself (via setTimeout) until all datasets are in a terminal
+ // state.
+ var updater = function ( tracked_datasets ) {
+ // Check if there are any items left to track
+ var empty = true;
+ for ( i in tracked_datasets ) {
+ empty = false;
+ break;
+ }
+ if ( ! empty ) {
+ // console.log( "Updater running in 3 seconds" );
+ setTimeout( function() { updater_callback( tracked_datasets ) }, 3000 );
+ } else {
+ // console.log( "Updater finished" );
+ }
+ };
+ var updater_callback = function ( tracked_datasets ) {
+ // Build request data
+ var ids = []
+ var states = []
+ var force_history_refresh = false
+ $.each( tracked_datasets, function ( id, state ) {
+ ids.push( id );
+ states.push( state );
+ });
+ // Make ajax call
+ $.ajax( {
+ type: "POST",
+ url: "${h.url_for( controller='root', action='history_item_updates' )}",
+ dataType: "json",
+ data: { ids: ids.join( "," ), states: states.join( "," ) },
+ success : function ( data ) {
+ $.each( data, function( id, val ) {
+ // Replace HTML
+ var container = $("#historyItemContainer-" + id);
+ container.html( val.html );
+ setupHistoryItem( container.children( ".historyItemWrapper" ) );
+ initShowHide();
+ // If new state was terminal, stop tracking
+ if (( val.state == "ok") || ( val.state == "error") || ( val.state == "empty") || ( val.state == "deleted" ) || ( val.state == "discarded" )) {
+ if ( val.force_history_refresh ){
+ force_history_refresh = true;
+ }
+ delete tracked_datasets[ parseInt(id) ];
+ } else {
+ tracked_datasets[ parseInt(id) ] = val.state;
+ }
+ });
+ if ( force_history_refresh ) {
+ parent.frames.galaxy_history.location.reload();
+ } else {
+ // Keep going (if there are still any items to track)
+ updater( tracked_datasets );
+ }
+ },
+ error: function() {
+ // Just retry, like the old method, should try to be smarter
+ updater( tracked_datasets );
+ }
+ });
+ };
+ </script>
+</%def>
+
+<%def name="stylesheets()">
+ ${parent.stylesheets()}
+ ${h.css( "history" )}
+ <style type="text/css">
+ .visible-right-border {
+ padding-right: 3px;
+ border-right-style: solid;
+ border-right-color: #66AA66;
+ }
+ .historyItemBody {
+ display: none;
+ }
+ </style>
+
+ <noscript>
+ <style>
+ .historyItemBody {
+ display: block;
+ }
+ </style>
+ </noscript>
+</%def>
+
+<%def name="render_item_links( history )">
+ %if history.user != trans.get_user():
+ <a href="${h.url_for( controller='/history', action='imp', id=trans.security.encode_id(history.id) )}">import and start using history</a> |
+ %else:
+ your history |
+ %endif
+ <a href="${self.get_history_link( history )}">${_('refresh')}</a>
+ %if show_deleted:
+ | <a href="${h.url_for('history', show_deleted=False)}">${_('hide deleted')}</a>
+ %endif
+</%def>
+
+<%def name="render_item( history, datasets )">
+ <div id="history-name-area" class="historyLinks" style="color: gray; font-weight: bold; padding: 0px 0px 5px 0px">
+ <div id="history-name">${history.get_display_name()}</div>
+ </div>
+
+ %if history.deleted:
+ <div class="warningmessagesmall">
+ ${_('You are currently viewing a deleted history!')}
+ </div>
+ <p></p>
+ %endif
+
+ %if not datasets:
+ <div class="infomessagesmall" id="emptyHistoryMessage">
+ %else:
+ ## Render requested datasets, ordered from newest to oldest
+ %for data in datasets:
+ %if data.visible:
+ <div class="historyItemContainer visible-right-border" id="historyItemContainer-${data.id}">
+ ${render_dataset( data, data.hid, show_deleted_on_refresh = show_deleted, user_owns_dataset=user_owns_history )}
+ </div>
+ %endif
+ %endfor
+ <div class="infomessagesmall" id="emptyHistoryMessage" style="display:none;">
+ %endif
+ ${_("Your history is empty. Click 'Get Data' on the left pane to start")}
+ </div>
+
+</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/list_public.mako
--- a/templates/history/list_public.mako Wed Jan 13 10:24:30 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<%inherit file="/base_panels.mako"/>
-
-<%def name="init()">
-<%
- self.has_left_panel=False
- self.has_right_panel=False
- self.active_view="page"
- self.message_box_visible=False
-%>
-</%def>
-
-<%def name="center_panel()">
-
- ## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
-
- <div style="overflow: auto; height: 100%;">
- <div class="page-container" style="padding: 10px;">
- ${unicode( grid, 'utf-8' )}
- </div>
- </div>
-
-
-</%def>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/list_published.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/history/list_published.mako Wed Jan 13 13:19:25 2010 -0500
@@ -0,0 +1,23 @@
+<%inherit file="/base_panels.mako"/>
+
+<%def name="init()">
+<%
+ self.has_left_panel=False
+ self.has_right_panel=False
+ self.active_view="page"
+ self.message_box_visible=False
+%>
+</%def>
+
+<%def name="center_panel()">
+
+ ## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
+
+ <div style="overflow: auto; height: 100%;">
+ <div class="page-container" style="padding: 10px;">
+ ${unicode( grid, 'utf-8' )}
+ </div>
+ </div>
+
+
+</%def>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/sharing.mako
--- a/templates/history/sharing.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/history/sharing.mako Wed Jan 13 13:19:25 2010 -0500
@@ -1,6 +1,6 @@
<%inherit file="/base.mako"/>
<%namespace file="/message.mako" import="render_msg" />
-<%namespace file="/display_common.mako" import="get_history_link" />
+<%namespace file="/display_base.mako" import="get_history_link" />
##<h2>Import via link</h2>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/history/view.mako
--- a/templates/history/view.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/history/view.mako Wed Jan 13 13:19:25 2010 -0500
@@ -1,7 +1,7 @@
<%inherit file="/base_panels.mako"/>
-<%namespace file="/display_common.mako" import="get_history_link" />
+<%namespace file="/display_base.mako" import="get_history_link, get_controller_name" />
<%namespace file="/root/history_common.mako" import="render_dataset" />
-<%namespace file="../tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
+<%namespace file="/tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
<%def name="javascripts()">
${parent.javascripts()}
@@ -256,7 +256,7 @@
//
function community_tag_click(tag_name, tag_value)
{
- var href = '${h.url_for( controller='/history', action='list_public')}';
+ var href = '${h.url_for( controller='/history', action='list_published')}';
href = href + "?f-tags=" + tag_name;
if (tag_value != null && tag_value != "")
href = href + ":" + tag_value;
@@ -324,91 +324,60 @@
## Get URL to other histories owned by user that owns this history.
<%
##TODO: is there a better way to create this URL? Can't use 'f-username' as a key b/c it's not a valid identifier.
- href_to_user_histories = h.url_for( controller='/history', action='list_public', xxx=history.user.username)
+ href_to_published_histories = h.url_for( controller='/history', action='list_published')
+ href_to_user_histories = h.url_for( controller='/history', action='list_published', xxx=history.user.username)
href_to_user_histories = href_to_user_histories.replace( 'xxx', 'f-username')
%>
<div class="unified-panel-header" unselectable="on">
- <div class="unified-panel-header-inner">
- <a href="${h.url_for ( controller='/history', action='list_public' )}">Public Histories</a> |
- <a href="${href_to_user_histories}">${history.user.username}</a> | ${history.name}
- </div>
</div>
<div class="unified-panel-body">
- <div style="overflow: auto; height: 100%;">
- <div class="page-body">
- ## Render view of history.
- <div id="top-links" class="historyLinks" style="padding: 0px 0px 5px 0px">
- %if not user_owns_history:
- <a href="${h.url_for( controller='history', action='imp', id=trans.security.encode_id(history.id) )}">import and start using history</a> |
+ <div style="overflow: auto; height: 100%;">
+ ## Render view of history.
+ <div id="top-links" class="historyLinks" style="padding: 0px 0px 5px 0px">
+ %if not user_owns_history:
+ <a href="${h.url_for( action='imp', id=trans.security.encode_id(history.id) )}">import and start using history</a> |
+ %endif
+ <a href="${get_history_link( history )}">${_('refresh')}</a>
+ %if show_deleted:
+ | <a href="${h.url_for('history', show_deleted=False)}">${_('hide deleted')}</a>
+ %endif
+ </div>
+
+ <div id="history-name-area" class="historyLinks" style="color: gray; font-weight: bold; padding: 0px 0px 5px 0px">
+ %if user_owns_history:
+ <div style="float: right"><a id="history-rename" title="Rename" class="icon-button edit" target="galaxy_main" href="${h.url_for( controller='history', action='rename' )}"></a></div>
+ %endif
+ <div id="history-name">${history.get_display_name()}</div>
+ </div>
+
+ %if history.deleted:
+ <div class="warningmessagesmall">
+ ${_('You are currently viewing a deleted history!')}
+ </div>
+ <p></p>
+ %endif
+
+ %if not datasets:
+
+ <div class="infomessagesmall" id="emptyHistoryMessage">
+
+ %else:
+
+ ## Render requested datasets, ordered from newest to oldest
+ %for data in datasets:
+ %if data.visible:
+ <div class="historyItemContainer visible-right-border" id="historyItemContainer-${data.id}">
+ ${render_dataset( data, data.hid, show_deleted_on_refresh = show_deleted, user_owns_dataset=user_owns_history )}
+ </div>
%endif
- <a href="${get_history_link( history )}">${_('refresh')}</a>
- %if show_deleted:
- | <a href="${h.url_for('history', show_deleted=False)}">${_('hide deleted')}</a>
- %endif
+ %endfor
+
+ <div class="infomessagesmall" id="emptyHistoryMessage" style="display:none;">
+ %endif
+ ${_("Your history is empty. Click 'Get Data' on the left pane to start")}
</div>
-
- <div id="history-name-area" class="historyLinks" style="color: gray; font-weight: bold; padding: 0px 0px 5px 0px">
- %if user_owns_history:
- <div style="float: right"><a id="history-rename" title="Rename" class="icon-button edit" target="galaxy_main" href="${h.url_for( controller='history', action='rename' )}"></a></div>
- %endif
- <div id="history-name">${history.get_display_name()}</div>
- </div>
-
- %if history.deleted:
- <div class="warningmessagesmall">
- ${_('You are currently viewing a deleted history!')}
- </div>
- <p></p>
- %endif
-
- %if not datasets:
-
- <div class="infomessagesmall" id="emptyHistoryMessage">
-
- %else:
-
- ## Render requested datasets, ordered from newest to oldest
- %for data in datasets:
- %if data.visible:
- <div class="historyItemContainer visible-right-border" id="historyItemContainer-${data.id}">
- ${render_dataset( data, data.hid, show_deleted_on_refresh = show_deleted, user_owns_dataset=user_owns_history )}
- </div>
- %endif
- %endfor
-
- <div class="infomessagesmall" id="emptyHistoryMessage" style="display:none;">
- %endif
- ${_("Your history is empty. Click 'Get Data' on the left pane to start")}
- </div>
- </div>
-
- <div class="page-meta">
- ## Histories.
- <div><strong>Related Histories</strong></div>
- <p>
- <a href="${h.url_for ( controller='/history', action='list_public' )}">All public histories</a><br>
- <a href="${href_to_user_histories}">Histories owned by ${history.user.username}</a>
-
- ## Tags.
- <div><strong>Tags</strong></div>
- <p>
- ## Community tags.
- <div>
- Community:
- ${render_community_tagging_element( tagged_item=history, tag_click_fn='community_tag_click', use_toggle_link=False )}
- %if len ( history.tags ) == 0:
- none
- %endif
- </div>
- ## Individual tags.
- <p>
- <div>
- Yours:
- ${render_individual_tagging_element( user=trans.get_user(), tagged_item=history, elt_context='view.mako', use_toggle_link=False )}
- </div>
- </div>
</div>
</div>
</%def>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/page/display.mako
--- a/templates/page/display.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/page/display.mako Wed Jan 13 13:19:25 2010 -0500
@@ -1,6 +1,9 @@
-<%inherit file="/base_panels.mako"/>
+<%inherit file="/display_base.mako"/>
-<%def name="title()">Galaxy :: ${page.user.username} :: ${page.title}</%def>
+<%def name="title()">
+ <% page = item %>
+ Galaxy :: ${page.user.username} :: ${page.title}
+</%def>
<%def name="javascripts()">
${parent.javascripts()}
@@ -144,43 +147,12 @@
count++;
return count;
};
-
- //
- // Handle click on community tag.
- //
- function community_tag_click(tag_name, tag_value)
- {
- // Do nothing until community tags implemented in published pages grid.
- var href = '${h.url_for( controller='/page', action='list_published')}';
- href = href + "?f-tags=" + tag_name;
- if (tag_value != null && tag_value != "")
- href = href + ":" + tag_value;
- self.location = href;
- }
</script>
</%def>
<%def name="stylesheets()">
${parent.stylesheets()}
${h.css( "base", "history", "autocomplete_tagging" )}
- <style>
- .page-body
- {
- padding: 10px;
- float: left;
- width: 65%;
- }
- .page-meta
- {
- float: right;
- width: 27%;
- padding: 0.5em;
- margin: 0.25em;
- vertical-align: text-top;
- border: 2px solid #DDDDDD;
- border-top: 4px solid #DDDDDD;
- }
- </style>
</%def>
<%def name="init()">
@@ -192,55 +164,13 @@
%>
</%def>
-<%namespace file="../tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
+<%def name="get_item_name( page )">
+ <% return page.title %>
+</%def>
-<%def name="center_panel()">
+<%def name="render_item_links( page )">
+</%def>
- ## Get URL to other pages owned by user that owns this page.
- <%
- ##TODO: is there a better way to create this URL? Can't use 'f-username' as a key b/c it's not a valid identifier.
- href_to_user_pages = h.url_for( controller='/page', action='list_published', xxx=page.user.username)
- href_to_user_pages = href_to_user_pages.replace( 'xxx', 'f-username')
- %>
-
- <div class="unified-panel-header" unselectable="on">
- <div class="unified-panel-header-inner">
- <a href="${h.url_for ( controller='/page', action='list_published' )}">Published Pages</a> |
- <a href="${href_to_user_pages}">${page.user.username}</a> | ${page.title}
- </div>
- </div>
-
- <div class="unified-panel-body">
- <div style="overflow: auto; height: 100%;">
- <div class="page text-content page-body">
- ${page.latest_revision.content.decode( "utf-8" )}
- </div>
- <div class="page-meta">
- ## Pages.
- <div><strong>Related Pages</strong></div>
- <p>
- <a href="${h.url_for ( controller='/page', action='list_published' )}">All published pages</a><br>
- <a href="${href_to_user_pages}">Pages published by ${page.user.username}</a>
-
- ## Tags.
- <div><strong>Tags</strong></div>
- <p>
- ## Community tags.
- <div>
- Community:
- ${render_community_tagging_element( tagged_item=page, tag_click_fn='community_tag_click', use_toggle_link=False )}
- %if len ( page.tags ) == 0:
- none
- %endif
- </div>
- ## User tags.
- <p>
- <div>
- Yours:
- ${render_individual_tagging_element( tagged_item=page, elt_context='display.mako', use_toggle_link=False )}
- </div>
- </div>
- </div>
- </div>
-
-</%def>
+<%def name="render_item( page, page_data=None )">
+ ${page.latest_revision.content.decode( "utf-8" )}
+</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/tagging_common.mako
--- a/templates/tagging_common.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/tagging_common.mako Wed Jan 13 13:19:25 2010 -0500
@@ -76,7 +76,7 @@
%if in_form:
<textarea class="tag-input" rows='1' cols='${input_size}'></textarea>
%else:
- <input class="tag-input" type='text' size='${input_size}'></input>
+ <input class="tag-input" type='text' size='${input_size}'/>
%endif
## Add "add tag" button.
<img src='${h.url_for('/static/images/add_icon.png')}' rollover='${h.url_for('/static/images/add_icon_dark.png')}' class="add-tag-button"/>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/workflow/display.mako
--- a/templates/workflow/display.mako Wed Jan 13 10:24:30 2010 -0500
+++ b/templates/workflow/display.mako Wed Jan 13 13:19:25 2010 -0500
@@ -1,68 +1,16 @@
-<%inherit file="/base_panels.mako"/>
-<%namespace file="/display_common.mako" import="get_history_link" />
-<%namespace file="../tagging_common.mako" import="render_individual_tagging_element, render_community_tagging_element" />
+<%inherit file="/display_base.mako"/>
-<%! from galaxy.tools.parameters import DataToolParameter %>
-
-<%def name="javascripts()">
- ${parent.javascripts()}
- ${h.js( "galaxy.base", "jquery", "json2", "jquery.autocomplete", "autocomplete_tagging" )}
-
- <script type="text/javascript">
- //
- // Handle click on community tag.
- //
- function community_tag_click(tag_name, tag_value)
- {
- var href = '${h.url_for( controller='/workflow', action='list_public')}';
- href = href + "?f-tags=" + tag_name;
- if (tag_value != null && tag_value != "")
- href = href + ":" + tag_value;
- self.location = href;
- }
- </script>
-</%def>
+<%! from galaxy.tools.parameters import DataToolParameter, RuntimeValue %>
<%def name="stylesheets()">
${parent.stylesheets()}
- ${h.css( "workflow", "autocomplete_tagging" )}
+ ${h.css( "workflow" )}
<style type="text/css">
- .page-body
- {
- padding: 10px;
- float: left;
- width: 65%;
- }
- .page-meta
- {
- float: right;
- width: 27%;
- padding: 0.5em;
- margin: 0.25em;
- vertical-align: text-top;
- border: 2px solid #DDDDDD;
- border-top: 4px solid #DDDDDD;
- }
div.toolForm{
margin-top: 10px;
margin-bottom: 10px;
}
</style>
- <noscript>
- <style>
- .historyItemBody {
- display: block;
- }
- </style>
- </noscript>
-</%def>
-
-<%def name="init()">
-<%
- self.has_left_panel=False
- self.has_right_panel=False
- self.message_box_visible=False
-%>
</%def>
<%def name="do_inputs( inputs, values, prefix, step, other_values=None )">
@@ -107,8 +55,10 @@
## FIXME: Initialize in the controller
<%
if value is None:
+ other_values = {}
value = other_values[ param.name ] = param.get_initial_value( t, other_values )
%>
+ <% print param.__class__ %>
${param.get_html_field( t, value, other_values ).get_html( str(step.id) + "|" + prefix )}
%endif
%else:
@@ -118,78 +68,35 @@
</div>
</%def>
-<%def name="center_panel()">
- ## Get URL to other workflows owned by user that owns this workflow.
- <%
- ##TODO: is there a better way to create this URL? Can't use 'f-username' as a key b/c it's not a valid identifier.
- href_to_user_workflows = h.url_for( action='list_public', xxx=workflow.user.username )
- href_to_user_workflows = href_to_user_workflows.replace( 'xxx', 'f-username' )
- %>
-
- <div class="unified-panel-header" unselectable="on">
- <div class="unified-panel-header-inner">
- <a href="${h.url_for ( action='list_public' )}">Public Workflows</a> |
- <a href="${href_to_user_workflows}">${workflow.user.username}</a> | ${workflow.name}
- </div>
- </div>
-
- <div class="unified-panel-body">
- <div style="overflow: auto; height: 100%;">
- <div class="page-body">
- ## Render top links.
- <div id="top-links" style="padding: 0px 0px 5px 0px">
- %if workflow.user != trans.get_user():
- <a href="${h.url_for( action='imp', id=trans.security.encode_id(workflow.id) )}">import and start using workflow</a>
- %endif
- </div>
-
- ## Render Workflow.
- <h2>${workflow.name}</h2>
- %for i, step in enumerate( steps ):
- %if step.type == 'tool' or step.type is None:
- <% tool = app.toolbox.tools_by_id[step.tool_id] %>
- <div class="toolForm">
- <div class="toolFormTitle">Step ${int(step.order_index)+1}: ${tool.name}</div>
- <div class="toolFormBody">
- ${do_inputs( tool.inputs, step.state.inputs, "", step )}
- </div>
- </div>
- %else:
- <% module = step.module %>
- <div class="toolForm">
- <div class="toolFormTitle">Step ${int(step.order_index)+1}: ${module.name}</div>
- <div class="toolFormBody">
- </div>
- </div>
- %endif
- %endfor
- </div>
-
- <div class="page-meta">
- ## Workflows.
- <div><strong>Related Workflows</strong></div>
- <p>
- <a href="${h.url_for ( action='list_public' )}">All public workflows</a><br>
- <a href="${href_to_user_workflows}">Workflows owned by ${workflow.user.username}</a>
-
- ## Tags.
- <div><strong>Tags</strong></div>
- <p>
- ## Community tags.
- <div>
- Community:
- ${render_community_tagging_element( tagged_item=workflow, tag_click_fn='community_tag_click', use_toggle_link=False )}
- %if len ( workflow.tags ) == 0:
- none
- %endif
- </div>
- ## Individual tags.
- <p>
- <div>
- Yours:
- ${render_individual_tagging_element( user=trans.get_user(), tagged_item=workflow, elt_context='view.mako', use_toggle_link=False )}
- </div>
- </div>
- </div>
- </div>
+
+<%def name="render_item_links( workflow )">
+ %if workflow.user != trans.get_user():
+ <a href="${h.url_for( controller='/workflow', action='imp', id=trans.security.encode_id(workflow.id) )}">import and start using workflow</a>
+ %else:
+ you own this workflow
+ %endif
</%def>
+
+<%def name="render_item( workflow, steps )">
+ <h2>${workflow.name}</h2>
+ %for i, step in enumerate( steps ):
+ %if step.type == 'tool' or step.type is None:
+ <% tool = app.toolbox.tools_by_id[step.tool_id] %>
+ <div class="toolForm">
+ <div class="toolFormTitle">Step ${int(step.order_index)+1}: ${tool.name}</div>
+ <div class="toolFormBody">
+ ${do_inputs( tool.inputs, step.state.inputs, "", step )}
+ </div>
+ </div>
+ %else:
+ <% module = step.module %>
+ <div class="toolForm">
+ <div class="toolFormTitle">Step ${int(step.order_index)+1}: ${module.name}</div>
+ <div class="toolFormBody">
+ ##Need to do more work to print only dataset label and not combo box as well.
+ ##${do_inputs( module.get_runtime_inputs(), step.state.inputs, "", step )}
+ </div>
+ </div>
+ %endif
+ %endfor
+</%def>
\ No newline at end of file
diff -r b10ae696a0e9 -r 4b7a92551151 templates/workflow/list_public.mako
--- a/templates/workflow/list_public.mako Wed Jan 13 10:24:30 2010 -0500
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-<%inherit file="/base_panels.mako"/>
-
-<%def name="init()">
-<%
- self.has_left_panel=False
- self.has_right_panel=False
- self.active_view="page"
- self.message_box_visible=False
-%>
-</%def>
-
-<%def name="center_panel()">
-
- ## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
-
- <div style="overflow: auto; height: 100%;">
- <div class="page-container" style="padding: 10px;">
- ${unicode( grid, 'utf-8' )}
- </div>
- </div>
-
-
-</%def>
diff -r b10ae696a0e9 -r 4b7a92551151 templates/workflow/list_published.mako
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/templates/workflow/list_published.mako Wed Jan 13 13:19:25 2010 -0500
@@ -0,0 +1,23 @@
+<%inherit file="/base_panels.mako"/>
+
+<%def name="init()">
+<%
+ self.has_left_panel=False
+ self.has_right_panel=False
+ self.active_view="page"
+ self.message_box_visible=False
+%>
+</%def>
+
+<%def name="center_panel()">
+
+ ## <iframe name="galaxy_main" id="galaxy_main" frameborder="0" style="position: absolute; width: 100%; height: 100%;" src="${h.url_for( controller="page", action="list" )}"> </iframe>
+
+ <div style="overflow: auto; height: 100%;">
+ <div class="page-container" style="padding: 10px;">
+ ${unicode( grid, 'utf-8' )}
+ </div>
+ </div>
+
+
+</%def>
1
0
22 Jan '10
details: http://www.bx.psu.edu/hg/galaxy/rev/b10ae696a0e9
changeset: 3231:b10ae696a0e9
user: Greg Von Kuster <greg(a)bx.psu.edu>
date: Wed Jan 13 10:24:30 2010 -0500
description:
Add a new LIBRARY_ACCESS permission that behaves similar to the DATASET_ACCESS permission. The LIBRARY_ACCESS permission exists only at the Data Library level, and if present, restricts access to the library to users that have the role(s). If absent, the Data Library is considered public.
This new permission significantly reduces the checks needed to display the list of accesible libraries displayed on the Data Libraries view, displaying the page must more quickly. The weakness is that Data Libraries may be displayed for the current user whose actual contents may be restricted from the user, so when clicked, no contents will be displayed.
If a Data Library is not public, the LIBRARY_ACCESS permission will override the DATASET_ACCESS permissions for it's contained datasets. For example, if LIBRARY_ACCESS is set to Role1, but the library contains "public" datasets, the library will still only be displayed to those users that have Role1.
Informative messages still need to be added for scenarios like this, and checks need to be added to ensure that permissions on library items ( folders and datasets ) are not set such that the item will be inaccessible. Additional functional tests are also still needed. These will all come in another change set soon.
diffstat:
lib/galaxy/security/__init__.py | 87 +++++++-------
lib/galaxy/tools/actions/__init__.py | 4 +-
lib/galaxy/tools/actions/upload_common.py | 8 +-
lib/galaxy/tools/parameters/basic.py | 2 +-
lib/galaxy/web/controllers/dataset.py | 4 +-
lib/galaxy/web/controllers/library.py | 22 +---
lib/galaxy/web/controllers/library_common.py | 42 +++---
lib/galaxy/web/controllers/requests.py | 2 +-
lib/galaxy/web/controllers/root.py | 8 +-
lib/galaxy/web/framework/__init__.py | 4 +-
templates/dataset/edit_attributes.mako | 2 +-
templates/library/browse_libraries.mako | 4 +-
templates/library/common/browse_library.mako | 20 +-
templates/library/common/common.mako | 4 +-
templates/library/common/folder_info.mako | 4 +-
templates/library/common/folder_permissions.mako | 7 +-
templates/library/common/ldda_edit_info.mako | 4 +-
templates/library/common/ldda_info.mako | 9 +-
templates/library/common/ldda_permissions.mako | 3 +-
templates/library/common/library_dataset_info.mako | 4 +-
templates/library/common/library_dataset_permissions.mako | 7 +-
templates/library/common/library_info.mako | 4 +-
templates/library/common/library_permissions.mako | 4 +-
templates/mobile/history/detail.mako | 2 +-
templates/mobile/manage_library.mako | 6 +-
templates/root/history_common.mako | 2 +-
26 files changed, 131 insertions(+), 138 deletions(-)
diffs (850 lines):
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/security/__init__.py
--- a/lib/galaxy/security/__init__.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/security/__init__.py Wed Jan 13 10:24:30 2010 -0500
@@ -20,6 +20,7 @@
permitted_actions = Bunch(
DATASET_MANAGE_PERMISSIONS = Action( "manage permissions", "Role members can manage the roles associated with this dataset", "grant" ),
DATASET_ACCESS = Action( "access", "Role members can import this dataset into their history for analysis", "restrict" ),
+ LIBRARY_ACCESS = Action( "access library", "Restrict access to this library to role members only", "restrict" ),
LIBRARY_ADD = Action( "add library item", "Role members can add library items to this library item", "grant" ),
LIBRARY_MODIFY = Action( "modify library item", "Role members can modify this library item", "grant" ),
LIBRARY_MANAGE = Action( "manage library permissions", "Role members can manage roles associated with this library item", "grant" )
@@ -41,11 +42,13 @@
raise "Unimplemented Method"
def can_manage_dataset( self, roles, dataset ):
raise "Unimplemented Method"
- def can_add_library_item( self, user, roles, item ):
+ def can_access_library( self, roles, library ):
raise "Unimplemented Method"
- def can_modify_library_item( self, user, roles, item ):
+ def can_add_library_item( self, roles, item ):
raise "Unimplemented Method"
- def can_manage_library_item( self, user, roles, item ):
+ def can_modify_library_item( self, roles, item ):
+ raise "Unimplemented Method"
+ def can_manage_library_item( self, roles, item ):
raise "Unimplemented Method"
def associate_components( self, **kwd ):
raise 'No valid method of associating provided components: %s' % kwd
@@ -61,12 +64,16 @@
raise "Unimplemented Method"
def set_dataset_permission( self, dataset, permission ):
raise "Unimplemented Method"
- def set_all_library_permissions( self, dataset, permissions ):
- raise "Unimplemented Method"
def dataset_is_public( self, dataset ):
raise "Unimplemented Method"
def make_dataset_public( self, dataset ):
raise "Unimplemented Method"
+ def set_all_library_permissions( self, dataset, permissions ):
+ raise "Unimplemented Method"
+ def library_is_public( self, library ):
+ raise "Unimplemented Method"
+ def make_library_public( self, library ):
+ raise "Unimplemented Method"
def get_component_associations( self, **kwd ):
raise "Unimplemented Method"
def components_are_associated( self, **kwd ):
@@ -93,50 +100,33 @@
def sa_session( self ):
"""Returns a SQLAlchemy session"""
return self.model.context
- def allow_dataset_action( self, roles, action, dataset ):
+ def allow_action( self, roles, action, item ):
"""
- Returns true when user has permission to perform an action on an
- instance of Dataset.
+ Method for checking a permission for the current user ( based on roles ) to perform a
+ specific action on an item, which must be one of:
+ Dataset, Library, LibraryFolder, LibraryDataset, LibraryDatasetDatasetAssociation
"""
- dataset_actions = self.get_item_actions( action, dataset )
- if not dataset_actions:
- return action.model == 'restrict'
- ret_val = False
- for dataset_action in dataset_actions:
- if dataset_action.role in roles:
- ret_val = True
- break
- return ret_val
- def can_access_dataset( self, roles, dataset ):
- return self.allow_dataset_action( roles, self.permitted_actions.DATASET_ACCESS, dataset )
- def can_manage_dataset( self, roles, dataset ):
- return self.allow_dataset_action( roles, self.permitted_actions.DATASET_MANAGE_PERMISSIONS, dataset )
- def allow_library_item_action( self, user, roles, action, item ):
- """
- Method for checking a permission for the current user to perform a
- specific library action on a library item, which must be one of:
- Library, LibraryFolder, LibraryDataset, LibraryDatasetDatasetAssociation
- """
- if user is None:
- # All permissions are granted, so non-users cannot have permissions
- return False
- # Check to see if user has access to any of the roles associated with action
item_actions = self.get_item_actions( action, item )
if not item_actions:
- # All permissions are granted, so item must have action
- return False
+ return action.model == 'restrict'
ret_val = False
for item_action in item_actions:
if item_action.role in roles:
ret_val = True
break
return ret_val
- def can_add_library_item( self, user, roles, item ):
- return self.allow_library_item_action( user, roles, self.permitted_actions.LIBRARY_ADD, item )
- def can_modify_library_item( self, user, roles, item ):
- return self.allow_library_item_action( user, roles, self.permitted_actions.LIBRARY_MODIFY, item )
- def can_manage_library_item( self, user, roles, item ):
- return self.allow_library_item_action( user, roles, self.permitted_actions.LIBRARY_MANAGE, item )
+ def can_access_dataset( self, roles, dataset ):
+ return self.allow_action( roles, self.permitted_actions.DATASET_ACCESS, dataset )
+ def can_manage_dataset( self, roles, dataset ):
+ return self.allow_action( roles, self.permitted_actions.DATASET_MANAGE_PERMISSIONS, dataset )
+ def can_access_library( self, roles, library ):
+ return self.library_is_public( library ) or self.allow_action( roles, self.permitted_actions.LIBRARY_ACCESS, library )
+ def can_add_library_item( self, roles, item ):
+ return self.allow_action( roles, self.permitted_actions.LIBRARY_ADD, item )
+ def can_modify_library_item( self, roles, item ):
+ return self.allow_action( roles, self.permitted_actions.LIBRARY_MODIFY, item )
+ def can_manage_library_item( self, roles, item ):
+ return self.allow_action( roles, self.permitted_actions.LIBRARY_MANAGE, item )
def get_item_actions( self, action, item ):
# item must be one of: Dataset, Library, LibraryFolder, LibraryDataset, LibraryDatasetDatasetAssociation
return [ permission for permission in item.actions if permission.action == action.action ]
@@ -393,6 +383,15 @@
for role_assoc in [ permission_class( action, library_item, role ) for role in roles ]:
self.sa_session.add( role_assoc )
self.sa_session.flush()
+ def library_is_public( self, library ):
+ # A library is considered public if there are no "access" actions associated with it.
+ return self.permitted_actions.LIBRARY_ACCESS.action not in [ a.action for a in library.actions ]
+ def make_library_public( self, library ):
+ # A library is considered public if there are no "access" actions associated with it.
+ for lp in library.actions:
+ if lp.action == self.permitted_actions.LIBRARY_ACCESS.action:
+ self.sa_session.delete( lp )
+ self.sa_session.flush()
def get_library_dataset_permissions( self, library_dataset ):
# Permissions will always be the same for LibraryDatasets and associated
# LibraryDatasetDatasetAssociations
@@ -407,9 +406,13 @@
permissions[ action ] = [ library_dataset_permission.role ]
return permissions
def copy_library_permissions( self, source_library_item, target_library_item, user=None ):
- # Copy all permissions from source
+ # Copy all relevant permissions from source.
permissions = {}
for role_assoc in source_library_item.actions:
+ if role_assoc.action == self.permitted_actions.LIBRARY_ACCESS and \
+ not( isinstance( source_library_item, galaxy.model.Libary ) and isinstance( target_library_item, galaxy.model.Libary ) ):
+ # LIBRARY_ACCESS is a special permission that is set only at the library level.
+ continue
if role_assoc.action in permissions:
permissions[role_assoc.action].append( role_assoc.role )
else:
@@ -441,7 +444,7 @@
when it finds the first library_item that allows user to perform any one action in actions_to_check.
"""
for action in actions_to_check:
- if self.allow_library_item_action( user, roles, action, library_item ):
+ if self.allow_action( roles, action, library_item ):
return True, hidden_folder_ids
if isinstance( library_item, self.model.Library ):
return self.show_library_item( user, roles, library_item.root_folder, actions_to_check, hidden_folder_ids='' )
@@ -467,7 +470,7 @@
if isinstance( library_item, self.model.LibraryFolder ):
if library_item.id not in hidden_folder_ids:
for action in actions_to_check:
- if self.allow_library_item_action( user, roles, action, library_item ):
+ if self.allow_action( roles, action, library_item ):
showable_folders.append( library_item )
break
for folder in library_item.active_folders:
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/tools/actions/__init__.py
--- a/lib/galaxy/tools/actions/__init__.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/tools/actions/__init__.py Wed Jan 13 10:24:30 2010 -0500
@@ -51,7 +51,7 @@
trans.sa_session.add( assoc )
trans.sa_session.flush()
data = new_data
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if data and not trans.app.security_agent.can_access_dataset( roles, data.dataset ):
raise "User does not have permission to use a dataset (%s) provided for input." % data.id
return data
@@ -269,7 +269,7 @@
# parameters to the command as a special case.
for name, value in tool.params_to_strings( incoming, trans.app ).iteritems():
job.add_parameter( name, value )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
for name, dataset in inp_data.iteritems():
if dataset:
if not trans.app.security_agent.can_access_dataset( roles, dataset.dataset ):
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/tools/actions/upload_common.py
--- a/lib/galaxy/tools/actions/upload_common.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/tools/actions/upload_common.py Wed Jan 13 10:24:30 2010 -0500
@@ -67,7 +67,7 @@
async_datasets = []
if params.get( 'async_datasets', None ) not in ["None", "", None]:
async_datasets = params['async_datasets'].split(',')
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
for id in async_datasets:
try:
data = trans.sa_session.query( data_obj ).get( int( id ) )
@@ -82,7 +82,7 @@
else:
rval.append( data )
elif data_obj is trans.app.model.LibraryDatasetDatasetAssociation:
- if controller == 'library' and not trans.app.security_agent.can_add_library_item( user, roles, data.library_dataset.folder ):
+ if controller == 'library' and not trans.app.security_agent.can_add_library_item( roles, data.library_dataset.folder ):
log.error( 'Got a precreated dataset (%s) but this user (%s) is not allowed to write to it' % ( data.id, user.id ) )
else:
rval.append( data )
@@ -122,8 +122,8 @@
trans.sa_session.flush()
return hda
def new_library_upload( trans, uploaded_dataset, library_bunch, state=None ):
- user, roles = trans.get_user_and_roles()
- if not ( trans.app.security_agent.can_add_library_item( user, roles, library_bunch.folder ) \
+ roles = trans.get_current_user_roles()
+ if not ( trans.app.security_agent.can_add_library_item( roles, library_bunch.folder ) \
or trans.user.email in trans.app.config.get( "admin_users", "" ).split( "," ) ):
# This doesn't have to be pretty - the only time this should happen is if someone's being malicious.
raise Exception( "User is not authorized to add datasets to this library." )
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/tools/parameters/basic.py
--- a/lib/galaxy/tools/parameters/basic.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/tools/parameters/basic.py Wed Jan 13 10:24:30 2010 -0500
@@ -1177,7 +1177,7 @@
field = form_builder.SelectField( self.name, self.multiple, None, self.refresh_on_change, refresh_on_change_values = self.refresh_on_change_values )
# CRUCIAL: the dataset_collector function needs to be local to DataToolParameter.get_html_field()
def dataset_collector( hdas, parent_hid ):
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
for i, hda in enumerate( hdas ):
if len( hda.name ) > 30:
hda_name = '%s..%s' % ( hda.name[:17], hda.name[-11:] )
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/dataset.py
--- a/lib/galaxy/web/controllers/dataset.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/dataset.py Wed Jan 13 10:24:30 2010 -0500
@@ -192,7 +192,7 @@
data = data = trans.sa_session.query( trans.app.model.HistoryDatasetAssociation ).get( dataset_id )
if not data:
raise paste.httpexceptions.HTTPRequestRangeNotSatisfiable( "Invalid reference dataset id: %s." % str( dataset_id ) )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.can_access_dataset( roles, data.dataset ):
if data.state == trans.model.Dataset.states.UPLOAD:
return trans.show_error_message( "Please wait until this dataset finishes uploading before attempting to view it." )
@@ -298,7 +298,7 @@
if 'display_url' not in kwd or 'redirect_url' not in kwd:
return trans.show_error_message( 'Invalid parameters specified for "display at" link, please contact a Galaxy administrator' )
redirect_url = kwd['redirect_url'] % urllib.quote_plus( kwd['display_url'] )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.dataset_is_public( data.dataset ):
return trans.response.send_redirect( redirect_url ) # anon access already permitted by rbac
if trans.app.security_agent.can_access_dataset( roles, data.dataset ):
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/library.py
--- a/lib/galaxy/web/controllers/library.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/library.py Wed Jan 13 10:24:30 2010 -0500
@@ -21,28 +21,14 @@
params = util.Params( kwd )
msg = util.restore_text( params.get( 'msg', '' ) )
messagetype = params.get( 'messagetype', 'done' )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
all_libraries = trans.sa_session.query( trans.app.model.Library ) \
.filter( trans.app.model.Library.table.c.deleted==False ) \
.order_by( trans.app.model.Library.name )
- library_actions = [ trans.app.security_agent.permitted_actions.LIBRARY_ADD,
- trans.app.security_agent.permitted_actions.LIBRARY_MODIFY,
- trans.app.security_agent.permitted_actions.LIBRARY_MANAGE ]
- # The authorized_libraries dictionary looks like: { library : '1,2' }, library : '3' }
- # Its keys are the libraries that should be displayed for the current user and whose values are a
- # string of comma-separated folder ids of the associated folders that should NOT be displayed.
- # The folders that should not be displayed may not be a complete list, but it is ultimately passed
- # to the browse_library() method and the browse_library.mako template to keep from re-checking the
- # same folders when the library is rendered.
- authorized_libraries = odict()
+ authorized_libraries = []
for library in all_libraries:
- can_access, hidden_folder_ids = trans.app.security_agent.check_folder_contents( user, roles, library.root_folder )
- if can_access:
- authorized_libraries[ library ] = hidden_folder_ids
- else:
- can_show, hidden_folder_ids = trans.app.security_agent.show_library_item( user, roles, library, library_actions )
- if can_show:
- authorized_libraries[ library ] = hidden_folder_ids
+ if trans.app.security_agent.library_is_public( library ) or trans.app.security_agent.can_access_library( roles, library ):
+ authorized_libraries.append( library )
return trans.fill_template( '/library/browse_libraries.mako',
libraries=authorized_libraries,
default_action=params.get( 'default_action', None ),
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/library_common.py
--- a/lib/galaxy/web/controllers/library_common.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/library_common.py Wed Jan 13 10:24:30 2010 -0500
@@ -234,11 +234,11 @@
messagetype = params.get( 'messagetype', 'done' )
folder = trans.sa_session.query( trans.app.model.LibraryFolder ).get( trans.security.decode_id( id ) )
if cntrller != 'library_admin':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
# See if we have any associated templates
widgets = folder.get_template_widgets( trans )
if params.get( 'rename_folder_button', False ):
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, folder ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, folder ):
old_name = folder.name
new_name = util.restore_text( params.name )
new_description = util.restore_text( params.description )
@@ -295,10 +295,10 @@
msg=util.sanitize_text( msg ),
messagetype='error' ) )
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if params.get( 'update_roles_button', False ):
# The user clicked the Save button on the 'Associate With Roles' form
- if cntrller == 'library_admin' or trans.app.security_agent.can_manage_library_item( user, roles, folder ):
+ if cntrller == 'library_admin' or trans.app.security_agent.can_manage_library_item( roles, folder ):
permissions = {}
for k, v in trans.app.model.Library.permitted_actions.items():
in_roles = [ trans.sa_session.query( trans.app.model.Role ).get( int( x ) ) for x in util.listify( params.get( k + '_in', [] ) ) ]
@@ -344,14 +344,14 @@
if isinstance( dbkey, list ):
dbkey = dbkey[0]
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
file_formats = [ dtype_name for dtype_name, dtype_value in trans.app.datatypes_registry.datatypes_by_extension.iteritems() if dtype_value.allow_datatype_change ]
file_formats.sort()
# See if we have any associated templates
widgets = ldda.get_template_widgets( trans )
if params.get( 'change', False ):
# The user clicked the Save button on the 'Change data type' form
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda ):
if ldda.datatype.allow_datatype_change and trans.app.datatypes_registry.get_datatype_by_extension( params.datatype ).allow_datatype_change:
trans.app.datatypes_registry.change_datatype( ldda, params.datatype )
trans.sa_session.flush()
@@ -373,7 +373,7 @@
messagetype=messagetype )
elif params.get( 'save', False ):
# The user clicked the Save button on the 'Edit Attributes' form
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda ):
old_name = ldda.name
new_name = util.restore_text( params.get( 'name', '' ) )
new_info = util.restore_text( params.get( 'info', '' ) )
@@ -413,7 +413,7 @@
messagetype=messagetype )
elif params.get( 'detect', False ):
# The user clicked the Auto-detect button on the 'Edit Attributes' form
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda ):
for name, spec in ldda.datatype.metadata_spec.items():
# We need to be careful about the attributes we are resetting
if name not in [ 'name', 'info', 'dbkey' ]:
@@ -435,7 +435,7 @@
widgets=widgets,
msg=msg,
messagetype=messagetype )
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda ):
if "dbkey" in ldda.datatype.metadata_spec and not ldda.metadata.dbkey:
# Copy dbkey into metadata, for backwards compatability
# This looks like it does nothing, but getting the dbkey
@@ -497,7 +497,7 @@
messagetype='error' ) )
lddas.append( ldda )
if params.get( 'update_roles_button', False ):
- if cntrller=='library_admin' or ( trans.app.security_agent.can_manage_library_item( user, roles, ldda ) and \
+ if cntrller=='library_admin' or ( trans.app.security_agent.can_manage_library_item( roles, ldda ) and \
trans.app.security_agent.can_manage_dataset( roles, ldda.dataset ) ):
permissions = {}
accessible = False
@@ -623,10 +623,10 @@
replace_dataset = None
upload_option = params.get( 'upload_option', 'upload_file' )
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if cntrller == 'library_admin' or \
- ( trans.app.security_agent.can_add_library_item( user, roles, folder ) or \
- ( replace_dataset and trans.app.security_agent.can_modify_library_item( user, roles, replace_dataset ) ) ):
+ ( trans.app.security_agent.can_add_library_item( roles, folder ) or \
+ ( replace_dataset and trans.app.security_agent.can_modify_library_item( roles, replace_dataset ) ) ):
if params.get( 'runtool_btn', False ) or params.get( 'ajax_upload', False ):
# See if we have any inherited templates, but do not inherit contents.
info_association, inherited = folder.get_info_association( inherited=True )
@@ -662,7 +662,7 @@
# Since permissions on all LibraryDatasetDatasetAssociations must be the same at this point, we only need
# to check one of them to see if the current user can manage permissions on them.
check_ldda = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( ldda_id_list[0] )
- if trans.app.security_agent.can_manage_library_item( user, roles, check_ldda ):
+ if trans.app.security_agent.can_manage_library_item( roles, check_ldda ):
if replace_dataset:
default_action = ''
else:
@@ -949,8 +949,8 @@
# Since permissions on all LibraryDatasetDatasetAssociations must be the same at this point, we only need
# to check one of them to see if the current user can manage permissions on them.
check_ldda = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( ldda_id_list[0] ) )
- user, roles = trans.get_user_and_roles()
- if trans.app.security_agent.can_manage_library_item( user, roles, check_ldda ):
+ roles = trans.get_current_user_roles()
+ if trans.app.security_agent.can_manage_library_item( roles, check_ldda ):
if replace_dataset:
default_action = ''
else:
@@ -1040,9 +1040,9 @@
msg=util.sanitize_text( msg ),
messagetype='error' ) )
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if params.get( 'edit_attributes_button', False ):
- if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, library_dataset ):
+ if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, library_dataset ):
if params.get( 'edit_attributes_button', False ):
old_name = library_dataset.name
new_name = util.restore_text( params.get( 'name', '' ) )
@@ -1081,9 +1081,9 @@
msg=util.sanitize_text( msg ),
messagetype='error' ) )
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if params.get( 'update_roles_button', False ):
- if cntrller == 'library_admin' or trans.app.security_agent.can_manage_library_item( user, roles, library_dataset ):
+ if cntrller == 'library_admin' or trans.app.security_agent.can_manage_library_item( roles, library_dataset ):
# The user clicked the Save button on the 'Associate With Roles' form
permissions = {}
for k, v in trans.app.model.Library.permitted_actions.items():
@@ -1204,7 +1204,7 @@
msg=util.sanitize_text( msg ),
messagetype='error' ) )
seen = []
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
for ldda_id in ldda_ids:
ldda = trans.sa_session.query( trans.app.model.LibraryDatasetDatasetAssociation ).get( trans.security.decode_id( ldda_id ) )
if not ldda \
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/requests.py
--- a/lib/galaxy/web/controllers/requests.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/requests.py Wed Jan 13 10:24:30 2010 -0500
@@ -604,7 +604,7 @@
all_libraries = trans.sa_session.query( trans.app.model.Library ) \
.filter( trans.app.model.Library.table.c.deleted == False ) \
.order_by( trans.app.model.Library.name )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
actions_to_check = [ trans.app.security_agent.permitted_actions.LIBRARY_ADD ]
libraries = odict()
for library in all_libraries:
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/controllers/root.py
--- a/lib/galaxy/web/controllers/root.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/controllers/root.py Wed Jan 13 10:24:30 2010 -0500
@@ -161,7 +161,7 @@
except:
return "Dataset id '%s' is invalid" %str( id )
if data:
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.can_access_dataset( roles, data.dataset ):
mime = trans.app.datatypes_registry.get_mimetype_by_extension( data.extension.lower() )
trans.response.set_content_type(mime)
@@ -194,7 +194,7 @@
if data:
child = data.get_child_by_designation( designation )
if child:
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.can_access_dataset( roles, child ):
return self.display( trans, id=child.id, tofile=tofile, toext=toext )
else:
@@ -211,7 +211,7 @@
if 'authz_method' in kwd:
authz_method = kwd['authz_method']
if data:
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if authz_method == 'rbac' and trans.app.security_agent.can_access_dataset( roles, data ):
trans.response.set_content_type( data.get_mime() )
trans.log_event( "Formatted dataset id %s for display at %s" % ( str( id ), display_app ) )
@@ -266,7 +266,7 @@
return trans.show_error_message( "Problem retrieving dataset." )
if id is not None and data.history.user is not None and data.history.user != trans.user:
return trans.show_error_message( "This instance of a dataset (%s) in a history does not belong to you." % ( data.id ) )
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
if trans.app.security_agent.can_access_dataset( roles, data.dataset ):
if data.state == trans.model.Dataset.states.UPLOAD:
return trans.show_error_message( "Please wait until this dataset finishes uploading before attempting to edit its metadata." )
diff -r 35d2a31cfbaf -r b10ae696a0e9 lib/galaxy/web/framework/__init__.py
--- a/lib/galaxy/web/framework/__init__.py Tue Jan 12 16:49:02 2010 -0500
+++ b/lib/galaxy/web/framework/__init__.py Wed Jan 13 10:24:30 2010 -0500
@@ -524,13 +524,13 @@
self.sa_session.add( self.galaxy_session )
self.sa_session.flush()
user = property( get_user, set_user )
- def get_user_and_roles( self ):
+ def get_current_user_roles( self ):
user = self.get_user()
if user:
roles = user.all_roles()
else:
roles = []
- return user, roles
+ return roles
def user_is_admin( self ):
admin_users = self.app.config.get( "admin_users", "" ).split( "," )
return self.user and admin_users and self.user.email in admin_users
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/dataset/edit_attributes.mako
--- a/templates/dataset/edit_attributes.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/dataset/edit_attributes.mako Wed Jan 13 10:24:30 2010 -0500
@@ -6,7 +6,7 @@
<%def name="stylesheets()">
${h.css( "base", "autocomplete_tagging" )}
</%def>
-<% user, user_roles = trans.get_user_and_roles() %>
+<% user_roles = trans.get_current_user_roles() %>
<%def name="javascripts()">
${parent.javascripts()}
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/browse_libraries.mako
--- a/templates/library/browse_libraries.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/browse_libraries.mako Wed Jan 13 10:24:30 2010 -0500
@@ -20,9 +20,9 @@
</tr>
</thead>
<tbody>
- %for library, hidden_folder_ids in libraries.items():
+ %for library in libraries:
<tr class="libraryRow libraryOrFolderRow" id="libraryRow">
- <td><a href="${h.url_for( controller='library_common', action='browse_library', cntrller='library', id=trans.security.encode_id( library.id ), hidden_folder_ids=hidden_folder_ids )}">${library.name}</a></td>
+ <td><a href="${h.url_for( controller='library_common', action='browse_library', cntrller='library', id=trans.security.encode_id( library.id ), hidden_folder_ids='' )}">${library.name}</a></td>
<td><i>${library.description}</i></td>
</tr>
%endfor
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/browse_library.mako
--- a/templates/library/common/browse_library.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/browse_library.mako Wed Jan 13 10:24:30 2010 -0500
@@ -16,12 +16,12 @@
<%
if cntrller in [ 'library', 'requests' ]:
- user, roles = trans.get_user_and_roles()
- can_add = trans.app.security_agent.can_add_library_item( user, roles, library )
+ roles = trans.get_current_user_roles()
+ can_add = trans.app.security_agent.can_add_library_item( roles, library )
if can_add:
info_association, inherited = library.get_info_association()
- can_modify = trans.app.security_agent.can_modify_library_item( user, roles, library )
- can_manage = trans.app.security_agent.can_manage_library_item( user, roles, library )
+ can_modify = trans.app.security_agent.can_modify_library_item( roles, library )
+ can_manage = trans.app.security_agent.can_manage_library_item( roles, library )
elif cntrller in [ 'library_admin', 'requests_admin' ]:
info_association, inherited = library.get_info_association()
@@ -162,8 +162,8 @@
if ldda == library_dataset.library_dataset_dataset_association:
current_version = True
if cntrller in [ 'library', 'requests' ]:
- can_modify_library_dataset = trans.app.security_agent.can_modify_library_item( user, roles, library_dataset )
- can_manage_library_dataset = trans.app.security_agent.can_manage_library_item( user, roles, library_dataset )
+ can_modify_library_dataset = trans.app.security_agent.can_modify_library_item( roles, library_dataset )
+ can_manage_library_dataset = trans.app.security_agent.can_manage_library_item( roles, library_dataset )
else:
current_version = False
if current_version and ldda.state not in ( 'ok', 'error', 'empty', 'deleted', 'discarded' ):
@@ -191,7 +191,7 @@
<a class="action-button" href="${h.url_for( controller='library_common', action='ldda_display_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ) )}">View this dataset's information</a>
%endif
%if cntrller in [ 'library_admin', 'requests_admin' ] or can_manage_library_dataset:
- <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=ldda.id, permissions=True )}">Edit this dataset's permissions</a>
+ <a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), id=trans.security.encode_id( ldda.id ), permissions=True )}">Edit this dataset's permissions</a>
%endif
%if cntrller in [ 'library_admin', 'requests_admin' ] or can_modify_library_dataset:
<a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( folder.id ), replace_id=trans.security.encode_id( library_dataset.id ) )}">Upload a new version of this dataset</a>
@@ -247,11 +247,11 @@
trans.app.security_agent.permitted_actions.LIBRARY_MANAGE ] )
if not can_show:
return ""
- can_add = trans.app.security_agent.can_add_library_item( user, roles, folder )
+ can_add = trans.app.security_agent.can_add_library_item( roles, folder )
if can_add:
info_association, inherited = folder.get_info_association( restrict=True )
- can_modify = trans.app.security_agent.can_modify_library_item( user, roles, folder )
- can_manage = trans.app.security_agent.can_manage_library_item( user, roles, folder )
+ can_modify = trans.app.security_agent.can_modify_library_item( roles, folder )
+ can_manage = trans.app.security_agent.can_manage_library_item( roles, folder )
elif cntrller in [ 'library_admin', 'requests_admin' ]:
info_association, inherited = folder.get_info_association( restrict=True )
%>
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/common.mako
--- a/templates/library/common/common.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/common.mako Wed Jan 13 10:24:30 2010 -0500
@@ -15,14 +15,14 @@
library_item_type = 'library_dataset_dataset_association'
library_item_desc = 'library dataset'
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if widgets:
<p/>
<div class="toolForm">
<div class="toolFormTitle">Other information about ${library_item_desc} ${library_item.name}</div>
<div class="toolFormBody">
- %if editable and ( cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, library_item ) ):
+ %if editable and ( cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, library_item ) ):
<form name="edit_info" action="${h.url_for( controller='library_common', action='edit_template_info', cntrller=cntrller, library_id=library_id, response_action=response_action, num_widgets=len( widgets ) )}" method="post">
<input type="hidden" name="library_item_id" value="${trans.security.encode_id( library_item.id )}"/>
<input type="hidden" name="library_item_type" value="${library_item_type}"/>
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/folder_info.mako
--- a/templates/library/common/folder_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/folder_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if cntrller != 'library_admin':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
<br/><br/>
@@ -21,7 +21,7 @@
<div class="toolForm">
<div class="toolFormTitle">Edit folder name and description</div>
<div class="toolFormBody">
- %if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, folder ):
+ %if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, folder ):
<form name="folder" action="${h.url_for( controller='library_common', action='folder_info', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id )}" method="post" >
<div class="form-row">
<label>Name:</label>
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/folder_permissions.mako
--- a/templates/library/common/folder_permissions.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/folder_permissions.mako Wed Jan 13 10:24:30 2010 -0500
@@ -13,8 +13,9 @@
${render_msg( msg, messagetype )}
%endif
-<% user, roles = trans.get_user_and_roles() %>
+<% roles = trans.get_current_user_roles() %>
-%if cntrller=='library_admin' or trans.app.security_agent.can_manage_library_item( user, roles, folder ):
- ${render_permission_form( folder, folder.name, h.url_for( controller='library_common', action='folder_permissions', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id ), roles )}
+%if cntrller=='library_admin' or trans.app.security_agent.can_manage_library_item( roles, folder ):
+ ## LIBRARY_ACCESS is a special permission that is set only at the library level.
+ ${render_permission_form( folder, folder.name, h.url_for( controller='library_common', action='folder_permissions', cntrller=cntrller, id=trans.security.encode_id( folder.id ), library_id=library_id ), roles, do_not_render=[ 'LIBRARY_ACCESS' ] )}
%endif
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/ldda_edit_info.mako
--- a/templates/library/common/ldda_edit_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/ldda_edit_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -22,7 +22,7 @@
<%
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if ldda == ldda.library_dataset.library_dataset_dataset_association:
@@ -54,7 +54,7 @@
</select>
</%def>
-%if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda.library_dataset ):
+%if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda.library_dataset ):
<div class="toolForm">
<div class="toolFormTitle">Edit attributes of ${ldda.name}</div>
<div class="toolFormBody">
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/ldda_info.mako
--- a/templates/library/common/ldda_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/ldda_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -8,7 +8,8 @@
current_version = True
else:
current_version = False
- user, roles = trans.get_user_and_roles()
+ if cntrller == 'library':
+ roles = trans.get_current_user_roles()
%>
%if current_version:
@@ -41,15 +42,15 @@
%if not library.deleted and not ldda.library_dataset.folder.deleted and not ldda.deleted:
<a id="dataset-${ldda.id}-popup" class="popup-arrow" style="display: none;">▼</a>
<div popupmenu="dataset-${ldda.id}-popup">
- %if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda.library_dataset ):
+ %if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda.library_dataset ):
<a class="action-button" href="${h.url_for( controller='library_common', action='ldda_edit_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ) )}">Edit this dataset's information</a>
%else:
<a class="action-button" href="${h.url_for( controller='library_common', action='ldda_display_info', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ) )}">View this dataset's information</a>
%endif
- %if cntrller=='library_admin' or trans.app.security_agent.can_manage_dataset( roles, ldda.dataset ) and trans.app.security_agent.can_manage_library_item( user, roles, ldda.library_dataset ):
+ %if cntrller=='library_admin' or trans.app.security_agent.can_manage_dataset( roles, ldda.dataset ) and trans.app.security_agent.can_manage_library_item( roles, ldda.library_dataset ):
<a class="action-button" href="${h.url_for( controller='library_common', action='ldda_permissions', library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), id=trans.security.encode_id( ldda.id ) )}">Edit this dataset's permissions</a>
%endif
- %if current_version and ( cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, ldda.library_dataset ) ):
+ %if current_version and ( cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, ldda.library_dataset ) ):
<a class="action-button" href="${h.url_for( controller='library_common', action='upload_library_dataset', cntrller=cntrller, library_id=trans.security.encode_id( library.id ), folder_id=trans.security.encode_id( ldda.library_dataset.folder.id ), replace_id=trans.security.encode_id( ldda.library_dataset.id ) )}">Upload a new version of this dataset</a>
%endif
%if cntrller=='library' and ldda.has_data:
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/ldda_permissions.mako
--- a/templates/library/common/ldda_permissions.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/ldda_permissions.mako Wed Jan 13 10:24:30 2010 -0500
@@ -62,4 +62,5 @@
%endif
<% ldda_ids = ",".join( [ trans.security.encode_id( d.id ) for d in lddas ] ) %>
-${render_permission_form( lddas[0], name_str, h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( lddas[0].library_dataset.folder.id ), id=ldda_ids ), roles )}
+## LIBRARY_ACCESS is a special permission that is set only at the library level.
+${render_permission_form( lddas[0], name_str, h.url_for( controller='library_common', action='ldda_permissions', cntrller=cntrller, library_id=library_id, folder_id=trans.security.encode_id( lddas[0].library_dataset.folder.id ), id=ldda_ids ), roles, do_not_render=[ 'LIBRARY_ACCESS' ] )}
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/library_dataset_info.mako
--- a/templates/library/common/library_dataset_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/library_dataset_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if cntrller=='library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if library_dataset == library_dataset.library_dataset_dataset_association.library_dataset:
@@ -24,7 +24,7 @@
${render_msg( msg, messagetype )}
%endif
-%if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, library_dataset ):
+%if cntrller=='library_admin' or trans.app.security_agent.can_modify_library_item( roles, library_dataset ):
<div class="toolForm">
<div class="toolFormTitle">Edit attributes of ${library_dataset.name}</div>
<div class="toolFormBody">
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/library_dataset_permissions.mako
--- a/templates/library/common/library_dataset_permissions.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/library_dataset_permissions.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if cntrller == 'library':
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if library_dataset == library_dataset.library_dataset_dataset_association.library_dataset:
@@ -24,11 +24,12 @@
${render_msg( msg, messagetype )}
%endif
-%if trans.app.security_agent.can_manage_library_item( user, user_roles, library_dataset ):
+%if trans.app.security_agent.can_manage_library_item( user_roles, library_dataset ):
<%
roles = trans.sa_session.query( trans.app.model.Role ) \
.filter( trans.app.model.Role.table.c.deleted==False ) \
.order_by( trans.app.model.Role.table.c.name )
%>
- ${render_permission_form( library_dataset, library_dataset.name, h.url_for( controller='library_common', action='library_dataset_permissions', cntrller=cntrller, id=trans.security.encode_id( library_dataset.id ), library_id=library_id ), roles )}
+ ## LIBRARY_ACCESS is a special permission that is set only at the library level.
+ ${render_permission_form( library_dataset, library_dataset.name, h.url_for( controller='library_common', action='library_dataset_permissions', cntrller=cntrller, id=trans.security.encode_id( library_dataset.id ), library_id=library_id ), roles, do_not_render=[ 'LIBRARY_ACCESS' ] )}
%endif
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/library_info.mako
--- a/templates/library/common/library_info.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/library_info.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if not trans.user_is_admin():
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
<br/><br/>
@@ -18,7 +18,7 @@
${render_msg( msg, messagetype )}
%endif
-%if cntrller == 'library_admin' or trans.app.security_agent.can_modify_library_item( user, roles, library ):
+%if cntrller == 'library_admin' or trans.app.security_agent.can_modify_library_item( roles, library ):
<div class="toolForm">
<div class="toolFormTitle">Change library name and description</div>
<div class="toolFormBody">
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/library/common/library_permissions.mako
--- a/templates/library/common/library_permissions.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/library/common/library_permissions.mako Wed Jan 13 10:24:30 2010 -0500
@@ -4,7 +4,7 @@
<%
if not trans.user_is_admin():
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
<br/><br/>
@@ -18,7 +18,7 @@
${render_msg( msg, messagetype )}
%endif
-%if trans.user_is_admin or trans.app.security_agent.can_manage_library_item( user, user_roles, library ):
+%if trans.user_is_admin or trans.app.security_agent.can_manage_library_item( user_roles, library ):
<%
roles = trans.sa_session.query( trans.app.model.Role ) \
.filter( trans.app.model.Role.table.c.deleted==False ) \
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/mobile/history/detail.mako
--- a/templates/mobile/history/detail.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/mobile/history/detail.mako Wed Jan 13 10:24:30 2010 -0500
@@ -36,7 +36,7 @@
<div class="secondary">
## Body for history items, extra info and actions, data "peek"
- <% user, roles = trans.get_user_and_roles() %>
+ <% roles = trans.get_current_user_roles() %>
%if not trans.user_is_admin() and not trans.app.security_agent.can_access_dataset( roles, data.dataset ):
<div>You do not have permission to view this dataset.</div>
%elif data_state == "queued":
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/mobile/manage_library.mako
--- a/templates/mobile/manage_library.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/mobile/manage_library.mako Wed Jan 13 10:24:30 2010 -0500
@@ -3,13 +3,13 @@
<%namespace file="/dataset/security_common.mako" import="render_permission_form" />
<%namespace file="/library/common/common.mako" import="render_template_info" />
-<% user, roles = trans.get_user_and_roles() %>
+<% roles = trans.get_current_user_roles() %>
%if msg:
${render_msg( msg, messagetype )}
%endif
-%if trans.app.security_agent.can_modify_library_item( user, roles, library ):
+%if trans.app.security_agent.can_modify_library_item( roles, library ):
<div class="toolForm">
<div class="toolFormTitle">Change library name and description</div>
<div class="toolFormBody">
@@ -49,7 +49,7 @@
</div>
</div>
%endif
-%if trans.app.security_agent.can_manage_library_item( user, roles, library ):
+%if trans.app.security_agent.can_manage_library_item( roles, library ):
<%
roles = trans.sa_session.query( trans.app.model.Role ) \
.filter( trans.app.model.Role.table.c.deleted==False ) \
diff -r 35d2a31cfbaf -r b10ae696a0e9 templates/root/history_common.mako
--- a/templates/root/history_common.mako Tue Jan 12 16:49:02 2010 -0500
+++ b/templates/root/history_common.mako Wed Jan 13 10:24:30 2010 -0500
@@ -7,7 +7,7 @@
data_state = "queued"
else:
data_state = data.state
- user, roles = trans.get_user_and_roles()
+ roles = trans.get_current_user_roles()
%>
%if not trans.user_is_admin() and not trans.app.security_agent.can_access_dataset( roles, data.dataset ):
<div class="historyItemWrapper historyItem historyItem-${data_state} historyItem-noPermission" id="historyItem-${data.id}">
1
0