<!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">
<!--
This file was generated by Devel::Cover Version 0.87
Devel::Cover is copyright 2001-2011, Paul Johnson (pjcj@cpan.org)
Devel::Cover is free. It is licensed under the same terms as Perl itself.
The latest version of Devel::Cover should be available from my homepage:
http://www.pjcj.net
-->
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta>
<meta http-equiv="Content-Language" content="en-us"></meta>
<link rel="stylesheet" type="text/css" href="cover.css"></link>
<link rel="stylesheet" type="text/css" href="cover.css"></link>
<title>File Coverage: lib/App/ArchiveDevelCover.pm</title>
</head>
<body>
<h1>File Coverage</h1>
<table>
<tr><td class="h" align="right">File:</td><td align="left">lib/App/ArchiveDevelCover.pm</td></tr>
<tr><td class="h" align="right">Coverage:</td><td align="left" class="c1">85.7%</td></tr>
</table>
<div><br/></div>
<table>
<tr><th>line</th><th>stmt</th><th>bran</th><th>cond</th><th>sub</th><th>time</th><th>code</th></tr>
<tr><td class="h">1</td><td></td><td></td><td></td><td></td><td></td><td class="s">package App::ArchiveDevelCover;</td></tr>
<tr><td class="h">2</td><td><div class="c3">3</div><div class="c3">3</div><div class="c3">3</div><div class="c3">3</div><div class="c3">3</div><div class="c3">3</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L2">3</a></div><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L2">3</a></div></td><td><div>251193</div><div>12</div><div>64</div><div>13</div><div>6</div><div>164</div></td><td class="s">use 5.010;</td></tr>
<tr><td class="h">3</td><td><div class="c3">3</div><div class="c3">3</div><div class="c3">3</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L3">3</a></div></td><td><div>891</div><div>936193</div><div>31</div></td><td class="s">use Moose;</td></tr>
<tr><td class="h">4</td><td><div class="c3">3</div><div class="c3">3</div><div class="c3">3</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L4">3</a></div></td><td><div>16464</div><div>863849</div><div>33</div></td><td class="s">use MooseX::Types::Path::Class;</td></tr>
<tr><td class="h">5</td><td><div class="c3">3</div><div class="c3">3</div><div class="c3">3</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L5">3</a></div></td><td><div>3602</div><div>331604</div><div>77</div></td><td class="s">use DateTime;</td></tr>
<tr><td class="h">6</td><td><div class="c3">3</div><div class="c3">3</div><div class="c3">3</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L6">3</a></div></td><td><div>288</div><div>1873</div><div>160</div></td><td class="s">use File::Copy;</td></tr>
<tr><td class="h">7</td><td><div class="c3">3</div><div class="c3">3</div><div class="c3">3</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L7">3</a></div></td><td><div>1089</div><div>35071</div><div>28</div></td><td class="s">use HTML::TableExtract;</td></tr>
<tr><td class="h">8</td><td colspan="6"></td></tr><tr><td class="h">9</td><td></td><td></td><td></td><td></td><td></td><td class="s"># ABSTRACT: Archive Devel::Cover reports</td></tr>
<tr><td class="h">10</td><td></td><td></td><td></td><td></td><td></td><td class="s">our $VERSION = '1.001';</td></tr>
<tr><td class="h">11</td><td colspan="6"></td></tr><tr><td class="h">12</td><td></td><td></td><td></td><td></td><td></td><td class="s">with 'MooseX::Getopt';</td></tr>
<tr><td class="h">13</td><td colspan="6"></td></tr><tr><td class="h">14</td><td></td><td></td><td></td><td></td><td></td><td class="s">has [qw(from to)] => (is=>'ro',isa=>'Path::Class::Dir',coerce=>1,required=>1,);</td></tr>
<tr><td class="h">15</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'project' => (is => 'ro', isa=>'Str', lazy_build=>1);</td></tr>
<tr><td class="h">16</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_project {</td></tr>
<tr><td class="h">17</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L17">2</a></div></td><td><div>28</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">18</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>15</div></td><td class="s"> my @list = $self->from->parent->dir_list;</td></tr>
<tr><td class="h">19</td><td><div class="c3">2</div></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--condition.html#L19">50</a></div></td><td></td><td><div>621</div></td><td class="s"> return $list[-1] || 'unknown project';</td></tr>
<tr><td class="h">20</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">21</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'coverage_html' => (is=>'ro',isa=>'Path::Class::File',lazy_build=>1,traits=> ['NoGetopt']);</td></tr>
<tr><td class="h">22</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_coverage_html {</td></tr>
<tr><td class="h">23</td><td><div class="c3">4</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L23">4</a></div></td><td><div>78</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">24</td><td><div class="c3">4</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L24">0</a></div></td><td></td><td></td><td><div>28</div></td><td class="s"> if (-e $self->from->file('coverage.html')) {</td></tr>
<tr><td class="h">25</td><td><div class="c3">3</div></td><td></td><td></td><td></td><td><div>997</div></td><td class="s"> return $self->from->file('coverage.html');</td></tr>
<tr><td class="h">26</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">27</td><td></td><td></td><td></td><td></td><td></td><td class="s"> else {</td></tr>
<tr><td class="h">28</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>344</div></td><td class="s"> say "Cannot find 'coverage.html' in ".$self->from.'. Aborting';</td></tr>
<tr><td class="h">29</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>53</div></td><td class="s"> exit;</td></tr>
<tr><td class="h">30</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">31</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">32</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'runtime' => (is=>'ro',isa=>'DateTime',lazy_build=>1,traits=> ['NoGetopt'],);</td></tr>
<tr><td class="h">33</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_runtime {</td></tr>
<tr><td class="h">34</td><td><div class="c3">4</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L34">4</a></div></td><td><div>82</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">35</td><td><div class="c3">4</div></td><td></td><td></td><td></td><td><div>34</div></td><td class="s"> return DateTime->from_epoch(epoch=>$self->coverage_html->stat->mtime);</td></tr>
<tr><td class="h">36</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">37</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'archive_html' => (is=>'ro',isa=>'Path::Class::File',lazy_build=>1,traits=> ['NoGetopt']);</td></tr>
<tr><td class="h">38</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_archive_html {</td></tr>
<tr><td class="h">39</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L39">2</a></div></td><td><div>23</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">40</td><td><div class="c3">2</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L40">0</a></div></td><td></td><td></td><td><div>18</div></td><td class="s"> unless (-e $self->to->file('index.html')) {</td></tr>
<tr><td class="h">41</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>340</div></td><td class="s"> my $tpl = $self->_archive_template;</td></tr>
<tr><td class="h">42</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>8</div></td><td class="s"> my $fh = $self->to->file('index.html')->openw;</td></tr>
<tr><td class="h">43</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>456</div></td><td class="s"> print $fh $tpl;</td></tr>
<tr><td class="h">44</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>13</div></td><td class="s"> close $fh;</td></tr>
<tr><td class="h">45</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">46</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>342</div></td><td class="s"> return $self->to->file('index.html');</td></tr>
<tr><td class="h">47</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">48</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'archive_db' => (is=>'ro',isa=>'Path::Class::File',lazy_build=>1,traits=> ['NoGetopt']);</td></tr>
<tr><td class="h">49</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_archive_db {</td></tr>
<tr><td class="h">50</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L50">2</a></div></td><td><div>24</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">51</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>14</div></td><td class="s"> return $self->to->file('archive_db');</td></tr>
<tr><td class="h">52</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">53</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'previous_stats' => (is=>'ro',isa=>'ArrayRef',lazy_build=>1,traits=>['NoGetopt']);</td></tr>
<tr><td class="h">54</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_previous_stats {</td></tr>
<tr><td class="h">55</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L55">2</a></div></td><td><div>27</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">56</td><td><div class="c3">2</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L56">0</a></div></td><td></td><td></td><td><div>16</div></td><td class="s"> if (-e $self->archive_db) {</td></tr>
<tr><td class="h">57</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>359</div></td><td class="s"> my $dbr = $self->archive_db->openr;</td></tr>
<tr><td class="h">58</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>180</div></td><td class="s"> my @data = <$dbr>; # probably better to just get last line...</td></tr>
<tr><td class="h">59</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>4</div></td><td class="s"> my @prev = split(/;/,$data[-1]);</td></tr>
<tr><td class="h">60</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>12</div></td><td class="s"> return \@prev;</td></tr>
<tr><td class="h">61</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">62</td><td></td><td></td><td></td><td></td><td></td><td class="s"> else {</td></tr>
<tr><td class="h">63</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>346</div></td><td class="s"> return [undef,0,0,0];</td></tr>
<tr><td class="h">64</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">65</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">66</td><td></td><td></td><td></td><td></td><td></td><td class="s">has 'diff_html' => (is=>'ro',isa=>'Path::Class::File',lazy_build=>1,traits=> ['NoGetopt']);</td></tr>
<tr><td class="h">67</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _build_diff_html {</td></tr>
<tr><td class="h">68</td><td><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L68">1</a></div></td><td><div>13</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">69</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>7</div></td><td class="s"> return $self->to->subdir($self->runtime->iso8601)->file('diff.html');</td></tr>
<tr><td class="h">70</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">71</td><td colspan="6"></td></tr><tr><td class="h">72</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub run {</td></tr>
<tr><td class="h">73</td><td><div class="c3">4</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L73">4</a></div></td><td><div>471948</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">74</td><td><div class="c3">4</div></td><td></td><td></td><td></td><td><div>21</div></td><td class="s"> $self->archive;</td></tr>
<tr><td class="h">75</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>10</div></td><td class="s"> $self->generate_diff;</td></tr>
<tr><td class="h">76</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>7</div></td><td class="s"> $self->update_index;</td></tr>
<tr><td class="h">77</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">78</td><td colspan="6"></td></tr><tr><td class="h">79</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub archive {</td></tr>
<tr><td class="h">80</td><td><div class="c3">4</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L80">4</a></div></td><td><div>10</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">81</td><td colspan="6"></td></tr><tr><td class="h">82</td><td><div class="c3">4</div></td><td></td><td></td><td></td><td><div>33</div></td><td class="s"> my $from = $self->from;</td></tr>
<tr><td class="h">83</td><td><div class="c3">4</div></td><td></td><td></td><td></td><td><div>54</div></td><td class="s"> my $target = $self->to->subdir($self->runtime->iso8601);</td></tr>
<tr><td class="h">84</td><td colspan="6"></td></tr><tr><td class="h">85</td><td><div class="c3">3</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L85">0</a></div></td><td></td><td></td><td><div>3349</div></td><td class="s"> if (-e $target) {</td></tr>
<tr><td class="h">86</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>45</div></td><td class="s"> say "This coverage report has already been archived.";</td></tr>
<tr><td class="h">87</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>9</div></td><td class="s"> exit;</td></tr>
<tr><td class="h">88</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">89</td><td colspan="6"></td></tr><tr><td class="h">90</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>74</div></td><td class="s"> $target->mkpath;</td></tr>
<tr><td class="h">91</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>237</div></td><td class="s"> my $target_string = $target->stringify;</td></tr>
<tr><td class="h">92</td><td colspan="6"></td></tr><tr><td class="h">93</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>61</div></td><td class="s"> while (my $f = $from->next) {</td></tr>
<tr><td class="h">94</td><td><div class="c3">22</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L94">0</a></div></td><td></td><td></td><td><div>11340</div></td><td class="s"> next unless $f=~/\.(html|css)$/;</td></tr>
<tr><td class="h">95</td><td><div class="c3">12</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L95">0</a></div></td><td></td><td></td><td><div>575</div></td><td class="s"> copy($f->stringify,$target_string) || die "Cannot copy $from to $target_string: $!";</td></tr>
<tr><td class="h">96</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">97</td><td colspan="6"></td></tr><tr><td class="h">98</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>535</div></td><td class="s"> say "archived coverage reports at $target_string";</td></tr>
<tr><td class="h">99</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">100</td><td colspan="6"></td></tr><tr><td class="h">101</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub update_index {</td></tr>
<tr><td class="h">102</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L102">2</a></div></td><td><div>5</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">103</td><td colspan="6"></td></tr><tr><td class="h">104</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>22</div></td><td class="s"> my $te = HTML::TableExtract->new( headers => [qw(stm sub total)] );</td></tr>
<tr><td class="h">105</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>256</div></td><td class="s"> $te->parse(scalar $self->coverage_html->slurp);</td></tr>
<tr><td class="h">106</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>6101</div></td><td class="s"> my $rows =$te->rows;</td></tr>
<tr><td class="h">107</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>272</div></td><td class="s"> my $last_row = $rows->[-1];</td></tr>
<tr><td class="h">108</td><td colspan="6"></td></tr><tr><td class="h">109</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>6</div></td><td class="s"> $self->update_archive_html($last_row);</td></tr>
<tr><td class="h">110</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>1440</div></td><td class="s"> $self->update_archive_db($last_row);</td></tr>
<tr><td class="h">111</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">112</td><td colspan="6"></td></tr><tr><td class="h">113</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub update_archive_html {</td></tr>
<tr><td class="h">114</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L114">2</a></div></td><td><div>5</div></td><td class="s"> my ($self, $last_row) = @_;</td></tr>
<tr><td class="h">115</td><td colspan="6"></td></tr><tr><td class="h">116</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>15</div></td><td class="s"> my $prev_stats = $self->previous_stats;</td></tr>
<tr><td class="h">117</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>26</div></td><td class="s"> my $runtime = $self->runtime;</td></tr>
<tr><td class="h">118</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>26</div></td><td class="s"> my $date = $runtime->ymd('-').' '.$runtime->hms;</td></tr>
<tr><td class="h">119</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>44</div></td><td class="s"> my $link = $runtime->iso8601."/coverage.html";</td></tr>
<tr><td class="h">120</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>40</div></td><td class="s"> my $diff = $runtime->iso8601."/diff.html";</td></tr>
<tr><td class="h">121</td><td colspan="6"></td></tr><tr><td class="h">122</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>32</div></td><td class="s"> my $new_stat = qq{\n<tr><td><a href="$link">$date</a></td><td><a href="$diff">diff</a></td>};</td></tr>
<tr><td class="h">123</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>6</div></td><td class="s"> foreach my $val (@$last_row) {</td></tr>
<tr><td class="h">124</td><td><div class="c3">6</div></td><td></td><td></td><td></td><td><div>15</div></td><td class="s"> $new_stat.=$self->td_style($val);</td></tr>
<tr><td class="h">125</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">126</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> my $prev_total = $prev_stats->[3];</td></tr>
<tr><td class="h">127</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> my $this_total = $last_row->[-1];</td></tr>
<tr><td class="h">128</td><td><div class="c3">2</div></td><td><div class="c0" title="-/F"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L128">50</a></div><div class="c0" title="T/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L128">50</a></div></td><td></td><td></td><td><div>16</div></td><td class="s"> if ($this_total == $prev_total) {</td></tr>
<tr><td class="h">129</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td><div>0</div></td><td class="s"> $new_stat.=qq{<td class="c3">=</td>};</td></tr>
<tr><td class="h">130</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">131</td><td></td><td></td><td></td><td></td><td></td><td class="s"> elsif ($this_total > $prev_total) {</td></tr>
<tr><td class="h">132</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> $new_stat.=qq{<td class="c3">+</td>};</td></tr>
<tr><td class="h">133</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">134</td><td></td><td></td><td></td><td></td><td></td><td class="s"> else {</td></tr>
<tr><td class="h">135</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td><div>0</div></td><td class="s"> $new_stat.=qq{<td class="c0">-</td>};</td></tr>
<tr><td class="h">136</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">137</td><td colspan="6"></td></tr><tr><td class="h">138</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>4</div></td><td class="s"> $new_stat.="</tr>\n";</td></tr>
<tr><td class="h">139</td><td colspan="6"></td></tr><tr><td class="h">140</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>19</div></td><td class="s"> my $archive = $self->archive_html->slurp;</td></tr>
<tr><td class="h">141</td><td><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td></td><td><div>915</div><div>10</div></td><td class="s"> $archive =~ s/(<!-- INSERT -->)/$1 . $new_stat/e;</td></tr>
<tr><td class="h">142</td><td colspan="6"></td></tr><tr><td class="h">143</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>15</div></td><td class="s"> my $fh = $self->archive_html->openw;</td></tr>
<tr><td class="h">144</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>336</div></td><td class="s"> print $fh $archive;</td></tr>
<tr><td class="h">145</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>18</div></td><td class="s"> close $fh;</td></tr>
<tr><td class="h">146</td><td colspan="6"></td></tr><tr><td class="h">147</td><td><div class="c3">2</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L147">0</a></div></td><td></td><td></td><td><div>17</div></td><td class="s"> unless (-e $self->to->file('cover.css')) {</td></tr>
<tr><td class="h">148</td><td><div class="c3">1</div></td><td><div class="c0" title="-/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L148">0</a></div></td><td></td><td></td><td><div>329</div></td><td class="s"> copy($self->from->file('cover.css'),$self->to->file('cover.css')) || warn "Cannot copy cover.css: $!";</td></tr>
<tr><td class="h">149</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">150</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">151</td><td colspan="6"></td></tr><tr><td class="h">152</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub update_archive_db {</td></tr>
<tr><td class="h">153</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L153">2</a></div></td><td><div>5</div></td><td class="s"> my ($self, $last_row) = @_;</td></tr>
<tr><td class="h">154</td><td><div class="c3">2</div></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--condition.html#L154">0</a></div></td><td></td><td><div>16</div></td><td class="s"> my $dbw = $self->archive_db->open(">>") || warn "Can't write archive.db: $!";</td></tr>
<tr><td class="h">155</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>319</div></td><td class="s"> say $dbw join(';',$self->runtime->iso8601,@$last_row);</td></tr>
<tr><td class="h">156</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>148</div></td><td class="s"> close $dbw;</td></tr>
<tr><td class="h">157</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">158</td><td colspan="6"></td></tr><tr><td class="h">159</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub generate_diff {</td></tr>
<tr><td class="h">160</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L160">2</a></div></td><td><div>5</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">161</td><td colspan="6"></td></tr><tr><td class="h">162</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>20</div></td><td class="s"> my $prev = $self->previous_stats;</td></tr>
<tr><td class="h">163</td><td><div class="c3">2</div></td><td><div class="c3" title="T/F"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L163">100</a></div></td><td></td><td></td><td><div>25</div></td><td class="s"> return unless $prev->[0];</td></tr>
<tr><td class="h">164</td><td colspan="6"></td></tr><tr><td class="h">165</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>14</div></td><td class="s"> my $te_new = HTML::TableExtract->new( headers => [qw(file stm sub total)] );</td></tr>
<tr><td class="h">166</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>121</div></td><td class="s"> $te_new->parse(scalar $self->coverage_html->slurp);</td></tr>
<tr><td class="h">167</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>3187</div></td><td class="s"> my $new_rows =$te_new->rows;</td></tr>
<tr><td class="h">168</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>181</div></td><td class="s"> my $te_old = HTML::TableExtract->new( headers => [qw(file stm sub total)] );</td></tr>
<tr><td class="h">169</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>98</div></td><td class="s"> $te_old->parse(scalar $self->to->subdir($prev->[0])->file('coverage.html')->slurp);</td></tr>
<tr><td class="h">170</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>3600</div></td><td class="s"> my $old_rows =$te_old->rows;</td></tr>
<tr><td class="h">171</td><td colspan="6"></td></tr><tr><td class="h">172</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>137</div></td><td class="s"> my %diff;</td></tr>
<tr><td class="h">173</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>3</div></td><td class="s"> foreach my $row (@$new_rows) {</td></tr>
<tr><td class="h">174</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> my $file =shift(@$row);</td></tr>
<tr><td class="h">175</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>7</div></td><td class="s"> $diff{$file}=$row;</td></tr>
<tr><td class="h">176</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">177</td><td colspan="6"></td></tr><tr><td class="h">178</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>2</div></td><td class="s"> foreach my $row (@$old_rows) {</td></tr>
<tr><td class="h">179</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> my $file =shift(@$row);</td></tr>
<tr><td class="h">180</td><td><div class="c3">2</div><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div><div>6</div></td><td class="s"> push(@{$diff{$file}},@$row);</td></tr>
<tr><td class="h">181</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">182</td><td colspan="6"></td></tr><tr><td class="h">183</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>2</div></td><td class="s"> my @output;</td></tr>
<tr><td class="h">184</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>4</div></td><td class="s"> foreach my $file (sort keys %diff) {</td></tr>
<tr><td class="h">185</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> my $data = $diff{$file};</td></tr>
<tr><td class="h">186</td><td colspan="6"></td></tr><tr><td class="h">187</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> my $line = qq{\n<tr><td>$file</td>};</td></tr>
<tr><td class="h">188</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> foreach my $i (0,1,2) {</td></tr>
<tr><td class="h">189</td><td><div class="c3">6</div></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--condition.html#L189">50</a></div></td><td></td><td><div>17</div></td><td class="s"> my $nv = $data->[$i] || 0;</td></tr>
<tr><td class="h">190</td><td><div class="c3">6</div></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--condition.html#L190">50</a></div></td><td></td><td><div>17</div></td><td class="s"> my $ov = $data->[$i+3] || 0;</td></tr>
<tr><td class="h">191</td><td><div class="c3">6</div></td><td></td><td></td><td></td><td><div>13</div></td><td class="s"> my $display = "$ov&nbsp;-&gt;&nbsp;$nv";</td></tr>
<tr><td class="h">192</td><td><div class="c3">6</div></td><td><div class="c0" title="-/F"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L192">50</a></div><div class="c0" title="T/-"><a href="lib-App-ArchiveDevelCover-pm--branch.html#L192">50</a></div></td><td></td><td></td><td><div>20</div></td><td class="s"> if ($nv == $ov) {</td></tr>
<tr><td class="h">193</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td><div>0</div></td><td class="s"> $line.=qq{<td>$display</td>};</td></tr>
<tr><td class="h">194</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">195</td><td></td><td></td><td></td><td></td><td></td><td class="s"> elsif ($nv > $ov) {</td></tr>
<tr><td class="h">196</td><td><div class="c3">6</div></td><td></td><td></td><td></td><td><div>16</div></td><td class="s"> $line.=$self->td_style(100,$display);</td></tr>
<tr><td class="h">197</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">198</td><td></td><td></td><td></td><td></td><td></td><td class="s"> else {</td></tr>
<tr><td class="h">199</td><td><div class="c0">0</div></td><td></td><td></td><td></td><td><div>0</div></td><td class="s"> $line.=$self->td_style(0,$display);</td></tr>
<tr><td class="h">200</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">201</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">202</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> $line.="</tr>";</td></tr>
<tr><td class="h">203</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>5</div></td><td class="s"> push(@output,$line);</td></tr>
<tr><td class="h">204</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">205</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>4</div></td><td class="s"> my $table = join("\n",@output);</td></tr>
<tr><td class="h">206</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>4</div></td><td class="s"> my $tpl = $self->_diff_template;</td></tr>
<tr><td class="h">207</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>12</div></td><td class="s"> $tpl=~s/DATA/$table/;</td></tr>
<tr><td class="h">208</td><td colspan="6"></td></tr><tr><td class="h">209</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>9</div></td><td class="s"> my $fh = $self->diff_html->openw;</td></tr>
<tr><td class="h">210</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>719</div></td><td class="s"> print $fh $tpl;</td></tr>
<tr><td class="h">211</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>68</div></td><td class="s"> close $fh;</td></tr>
<tr><td class="h">212</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">213</td><td colspan="6"></td></tr><tr><td class="h">214</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub td_style {</td></tr>
<tr><td class="h">215</td><td><div class="c3">12</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L215">12</a></div></td><td><div>29</div></td><td class="s"> my ($self, $val, $display) = @_;</td></tr>
<tr><td class="h">216</td><td><div class="c3">12</div></td><td></td><td><div class="c0"><a href="lib-App-ArchiveDevelCover-pm--condition.html#L216">67</a></div></td><td></td><td><div>29</div></td><td class="s"> $display //=$val;</td></tr>
<tr><td class="h">217</td><td><div class="c3">12</div></td><td></td><td></td><td></td><td><div>22</div></td><td class="s"> my $style;</td></tr>
<tr><td class="h">218</td><td><div class="c3">12</div></td><td></td><td></td><td></td><td><div>24</div></td><td class="s"> given ($val) {</td></tr>
<tr><td class="h">219</td><td><div class="c3">12</div><div class="c3">3</div></td><td></td><td></td><td></td><td><div>29</div><div>7</div></td><td class="s"> when ($_ < 75) { $style = 'c0' }</td></tr>
<tr><td class="h">220</td><td><div class="c3">9</div><div class="c3">2</div></td><td></td><td></td><td></td><td><div>17</div><div>5</div></td><td class="s"> when ($_ < 90) { $style = 'c1' }</td></tr>
<tr><td class="h">221</td><td><div class="c3">7</div><div class="c0">0</div></td><td></td><td></td><td></td><td><div>12</div><div>0</div></td><td class="s"> when ($_ < 100) { $style = 'c2' }</td></tr>
<tr><td class="h">222</td><td><div class="c3">7</div><div class="c3">7</div></td><td></td><td></td><td></td><td><div>15</div><div>15</div></td><td class="s"> when ($_ >= 100) { $style = 'c3' }</td></tr>
<tr><td class="h">223</td><td></td><td></td><td></td><td></td><td></td><td class="s"> }</td></tr>
<tr><td class="h">224</td><td><div class="c3">12</div></td><td></td><td></td><td></td><td><div>38</div></td><td class="s"> return qq{<td class="$style">$display</td>};</td></tr>
<tr><td class="h">225</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">226</td><td colspan="6"></td></tr><tr><td class="h">227</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _archive_template {</td></tr>
<tr><td class="h">228</td><td><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L228">1</a></div></td><td><div>2</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">229</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>8</div></td><td class="s"> my $name = $self->project;</td></tr>
<tr><td class="h">230</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>16</div></td><td class="s"> $self->_page_template(</td></tr>
<tr><td class="h">231</td><td></td><td></td><td></td><td></td><td></td><td class="s"> "Test Coverage Archive for $name",</td></tr>
<tr><td class="h">232</td><td></td><td></td><td></td><td></td><td></td><td class="s"> q{</td></tr>
<tr><td class="h">233</td><td></td><td></td><td></td><td></td><td></td><td class="s"><table></td></tr>
<tr><td class="h">234</td><td></td><td></td><td></td><td></td><td></td><td class="s"><tr><th>Coverage Report</th><th>diff</th><th>stmt</th><th>sub</th><th>total</th><th>Trend</th></tr></td></tr>
<tr><td class="h">235</td><td></td><td></td><td></td><td></td><td></td><td class="s"><!-- INSERT --></td></tr>
<tr><td class="h">236</td><td></td><td></td><td></td><td></td><td></td><td class="s"></table></td></tr>
<tr><td class="h">237</td><td></td><td></td><td></td><td></td><td></td><td class="s"> });</td></tr>
<tr><td class="h">238</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">239</td><td colspan="6"></td></tr><tr><td class="h">240</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _diff_template {</td></tr>
<tr><td class="h">241</td><td><div class="c3">1</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L241">1</a></div></td><td><div>3</div></td><td class="s"> my $self = shift;</td></tr>
<tr><td class="h">242</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>9</div></td><td class="s"> my $name = $self->project;</td></tr>
<tr><td class="h">243</td><td><div class="c3">1</div></td><td></td><td></td><td></td><td><div>15</div></td><td class="s"> $self->_page_template(</td></tr>
<tr><td class="h">244</td><td></td><td></td><td></td><td></td><td></td><td class="s"> "Test Coverage Diff for $name",</td></tr>
<tr><td class="h">245</td><td></td><td></td><td></td><td></td><td></td><td class="s"> q{</td></tr>
<tr><td class="h">246</td><td></td><td></td><td></td><td></td><td></td><td class="s"><table></td></tr>
<tr><td class="h">247</td><td></td><td></td><td></td><td></td><td></td><td class="s"><tr><th>File</th><th>stmt</th><th>sub</th><th>total</th></tr></td></tr>
<tr><td class="h">248</td><td></td><td></td><td></td><td></td><td></td><td class="s">DATA</td></tr>
<tr><td class="h">249</td><td></td><td></td><td></td><td></td><td></td><td class="s"></table></td></tr>
<tr><td class="h">250</td><td></td><td></td><td></td><td></td><td></td><td class="s"> });</td></tr>
<tr><td class="h">251</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">252</td><td colspan="6"></td></tr><tr><td class="h">253</td><td></td><td></td><td></td><td></td><td></td><td class="s">sub _page_template {</td></tr>
<tr><td class="h">254</td><td><div class="c3">2</div></td><td></td><td></td><td><div class="c3"><a href="lib-App-ArchiveDevelCover-pm--subroutine.html#L254">2</a></div></td><td><div>6</div></td><td class="s"> my ($self, $title, $content) = @_;</td></tr>
<tr><td class="h">255</td><td colspan="6"></td></tr><tr><td class="h">256</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>13</div></td><td class="s"> my $name = $self->project;</td></tr>
<tr><td class="h">257</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>17</div></td><td class="s"> my $class = ref($self);</td></tr>
<tr><td class="h">258</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>28</div></td><td class="s"> my $version = $class->VERSION;</td></tr>
<tr><td class="h">259</td><td><div class="c3">2</div></td><td></td><td></td><td></td><td><div>18</div></td><td class="s"> return <<"EOTMPL";</td></tr>
<tr><td class="h">260</td><td></td><td></td><td></td><td></td><td></td><td class="s"><!DOCTYPE html</td></tr>
<tr><td class="h">261</td><td></td><td></td><td></td><td></td><td></td><td class="s"> PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"</td></tr>
<tr><td class="h">262</td><td></td><td></td><td></td><td></td><td></td><td class="s"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></td></tr>
<tr><td class="h">263</td><td></td><td></td><td></td><td></td><td></td><td class="s"><html xmlns="http://www.w3.org/1999/xhtml"></td></tr>
<tr><td class="h">264</td><td></td><td></td><td></td><td></td><td></td><td class="s"><!-- This file was generated by $class version $version --></td></tr>
<tr><td class="h">265</td><td></td><td></td><td></td><td></td><td></td><td class="s"><head></td></tr>
<tr><td class="h">266</td><td></td><td></td><td></td><td></td><td></td><td class="s"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta></td></tr>
<tr><td class="h">267</td><td></td><td></td><td></td><td></td><td></td><td class="s"> <meta http-equiv="Content-Language" content="en-us"></meta></td></tr>
<tr><td class="h">268</td><td></td><td></td><td></td><td></td><td></td><td class="s"> <link rel="stylesheet" type="text/css" href="cover.css"></link></td></tr>
<tr><td class="h">269</td><td></td><td></td><td></td><td></td><td></td><td class="s"> <title>Test Coverage Archive for $name</title></td></tr>
<tr><td class="h">270</td><td></td><td></td><td></td><td></td><td></td><td class="s"></head></td></tr>
<tr><td class="h">271</td><td></td><td></td><td></td><td></td><td></td><td class="s"><body></td></tr>
<tr><td class="h">272</td><td colspan="6"></td></tr><tr><td class="h">273</td><td></td><td></td><td></td><td></td><td></td><td class="s"><body></td></tr>
<tr><td class="h">274</td><td></td><td></td><td></td><td></td><td></td><td class="s"><h1>$title</h1></td></tr>
<tr><td class="h">275</td><td colspan="6"></td></tr><tr><td class="h">276</td><td></td><td></td><td></td><td></td><td></td><td class="s">$content</td></tr>
<tr><td class="h">277</td><td colspan="6"></td></tr><tr><td class="h">278</td><td></td><td></td><td></td><td></td><td></td><td class="s"><p>Generated by <a href="http://metacpan.org/module/$class">$class</a> version $version.</p></td></tr>
<tr><td class="h">279</td><td colspan="6"></td></tr><tr><td class="h">280</td><td></td><td></td><td></td><td></td><td></td><td class="s"></body></td></tr>
<tr><td class="h">281</td><td></td><td></td><td></td><td></td><td></td><td class="s"></html></td></tr>
<tr><td class="h">282</td><td></td><td></td><td></td><td></td><td></td><td class="s">EOTMPL</td></tr>
<tr><td class="h">283</td><td colspan="6"></td></tr><tr><td class="h">284</td><td></td><td></td><td></td><td></td><td></td><td class="s">}</td></tr>
<tr><td class="h">285</td><td colspan="6"></td></tr><tr><td class="h">286</td><td></td><td></td><td></td><td></td><td></td><td class="s">__PACKAGE__->meta->make_immutable;</td></tr>
<tr><td class="h">287</td><td></td><td></td><td></td><td></td><td></td><td class="s">1;</td></tr>
<tr><td class="h">288</td><td colspan="6"></td></tr></table>
</body>
</html>