packages feed

HaskellLM (empty) → 0.1.0

raw patch · 4 files changed

+1595/−0 lines, 4 filesdep +basedep +hmatrixsetup-changed

Dependencies added: base, hmatrix

Files

+ HaskellLM.cabal view
@@ -0,0 +1,32 @@+Name:         HaskellLM+Version:      0.1.0+License:      GPL+License-file: LICENSE+Author:       Kiet Lam+Maintainer:   Kiet Lam <ktklam9@gmail.com>+Synopsis:     Pure Haskell implementation of the Levenberg-Marquardt algorithm+Description:  The Levenberg-Marquardt algorithm is a minimization algorithm for functions expressed as a sum of squared errors+              .+              This can be used for curve-fitting, multidimensional function optimization, or neural networks training+              .+              Go to <https://github.com/ktklam9/HaskellLM> for example usage (in tests)++Category: Math++Build-type:         Simple+Cabal-version:      >= 1.6++Library++  Build-depends:    base >= 4 && < 5,+                    hmatrix >= 0.12.0.0++  hs-source-dirs:   src+  Exposed-modules:  Math.LevenbergMarquardt++  ghc-prof-options: -prof -auto-all+++source-repository head+  type:     git+  location: https://github.com/ktklam9/HaskellLM
+ LICENSE view
@@ -0,0 +1,1446 @@++++<!DOCTYPE html>+<html>+  <head prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# githubog: http://ogp.me/ns/fb/githubog#">+    <meta charset='utf-8'>+    <meta http-equiv="X-UA-Compatible" content="IE=edge">+        <title>LICENSE at master from ktklam9/HaskellNN - GitHub</title>+    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub" />+    <link rel="fluid-icon" href="https://github.com/fluidicon.png" title="GitHub" />+    <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />++    +    ++    <meta content="authenticity_token" name="csrf-param" />+<meta content="wHDoiVtv7HKmYVMjgWhZwSUmKp0UvQosJVwiu4fij0U=" name="csrf-token" />++    <link href="https://a248.e.akamai.net/assets.github.com/stylesheets/bundles/github-cc2197531d96d8be0ddfdcd06a853954891ddebe.css" media="screen" rel="stylesheet" type="text/css" />+    <link href="https://a248.e.akamai.net/assets.github.com/stylesheets/bundles/github2-34b3cabb06e99861c3adfb28984f7df962b43d66.css" media="screen" rel="stylesheet" type="text/css" />+    ++    <script src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/jquery-b2ca07cb3c906ceccfd58811b430b8bc25245926.js" type="text/javascript"></script>+    <script src="https://a248.e.akamai.net/assets.github.com/javascripts/bundles/github-21f6af222f5b2bba17d8f64ecfd93c526738f876.js" type="text/javascript"></script>+    ++      <link rel='permalink' href='/ktklam9/HaskellNN/blob/635cbeb6d8a03ebeb4cf9da1692066bc141de30b/LICENSE'>+    <meta property="og:title" content="HaskellNN"/>+    <meta property="og:type" content="githubog:gitrepository"/>+    <meta property="og:url" content="https://github.com/ktklam9/HaskellNN"/>+    <meta property="og:image" content="https://a248.e.akamai.net/assets.github.com/images/gravatars/gravatar-140.png?1329275881"/>+    <meta property="og:site_name" content="GitHub"/>+    <meta property="og:description" content="HaskellNN - High Performance Neural Network in Haskell"/>++    <meta name="description" content="HaskellNN - High Performance Neural Network in Haskell" />+  <link href="https://github.com/ktklam9/HaskellNN/commits/master.atom" rel="alternate" title="Recent Commits to HaskellNN:master" type="application/atom+xml" />++  </head>+++  <body class="logged_out page-blob  vis-public env-production " data-blob-contribs-enabled="yes">+    +++    ++      <div id="header" class="true clearfix">+        <div class="container clearfix">+          <a class="site-logo" href="https://github.com">+            <!--[if IE]>+            <img alt="GitHub" class="github-logo" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7.png?1323882728" />+            <img alt="GitHub" class="github-logo-hover" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7-hover.png?1324325369" />+            <![endif]-->+            <img alt="GitHub" class="github-logo-4x" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x.png?1323882728" />+            <img alt="GitHub" class="github-logo-4x-hover" height="30" src="https://a248.e.akamai.net/assets.github.com/images/modules/header/logov7@4x-hover.png?1324325369" />+          </a>++                  <!--+      make sure to use fully qualified URLs here since this nav+      is used on error pages on other domains+    -->+    <ul class="top-nav logged_out">+        <li class="pricing"><a href="https://github.com/plans">Signup and Pricing</a></li>+        <li class="explore"><a href="https://github.com/explore">Explore GitHub</a></li>+      <li class="features"><a href="https://github.com/features">Features</a></li>+        <li class="blog"><a href="https://github.com/blog">Blog</a></li>+      <li class="login"><a href="https://github.com/login?return_to=%2Fktklam9%2FHaskellNN%2Fblob%2Fmaster%2FLICENSE">Login</a></li>+    </ul>++++          +        </div>+      </div>++      ++            <div class="site">+      <div class="container">+        <div class="pagehead repohead instapaper_ignore readability-menu">+        <div class="title-actions-bar">+          <h1 itemscope itemtype="http://data-vocabulary.org/Breadcrumb">+<a href="/ktklam9" itemprop="url">            <span itemprop="title">ktklam9</span>+            </a> /+            <strong><a href="/ktklam9/HaskellNN" class="js-current-repository">HaskellNN</a></strong>+          </h1>+          ++++              <ul class="pagehead-actions">+++          <li><a href="/login?return_to=%2Fktklam9%2FHaskellNN" class="minibutton btn-watch watch-button entice tooltipped leftwards" rel="nofollow" title="You must be logged in to use this feature"><span><span class="icon"></span>Watch</span></a></li>+          <li><a href="/login?return_to=%2Fktklam9%2FHaskellNN" class="minibutton btn-fork fork-button entice tooltipped leftwards" rel="nofollow" title="You must be logged in to use this feature"><span><span class="icon"></span>Fork</span></a></li>+++      <li class="repostats">+        <ul class="repo-stats">+          <li class="watchers ">+            <a href="/ktklam9/HaskellNN/watchers" title="Watchers" class="tooltipped downwards">+              2+            </a>+          </li>+          <li class="forks">+            <a href="/ktklam9/HaskellNN/network" title="Forks" class="tooltipped downwards">+              2+            </a>+          </li>+        </ul>+      </li>+    </ul>++        </div>++          ++  <ul class="tabs">+    <li><a href="/ktklam9/HaskellNN" class="selected" highlight="repo_sourcerepo_downloadsrepo_commitsrepo_tagsrepo_branches">Code</a></li>+    <li><a href="/ktklam9/HaskellNN/network" highlight="repo_networkrepo_fork_queue">Network</a>+    <li><a href="/ktklam9/HaskellNN/pulls" highlight="repo_pulls">Pull Requests <span class='counter'>0</span></a></li>++      <li><a href="/ktklam9/HaskellNN/issues" highlight="repo_issues">Issues <span class='counter'>0</span></a></li>++      <li><a href="/ktklam9/HaskellNN/wiki" highlight="repo_wiki">Wiki <span class='counter'>1</span></a></li>++    <li><a href="/ktklam9/HaskellNN/graphs" highlight="repo_graphsrepo_contributors">Stats &amp; Graphs</a></li>++  </ul>++  +<div class="frame frame-center tree-finder" style="display:none"+      data-tree-list-url="/ktklam9/HaskellNN/tree-list/635cbeb6d8a03ebeb4cf9da1692066bc141de30b"+      data-blob-url-prefix="/ktklam9/HaskellNN/blob/635cbeb6d8a03ebeb4cf9da1692066bc141de30b"+    >++  <div class="breadcrumb">+    <span class="bold"><a href="/ktklam9/HaskellNN">HaskellNN</a></span> /+    <input class="tree-finder-input js-navigation-enable" type="text" name="query" autocomplete="off" spellcheck="false">+  </div>++    <div class="octotip">+      <p>+        <a href="/ktklam9/HaskellNN/dismiss-tree-finder-help" class="dismiss js-dismiss-tree-list-help" title="Hide this notice forever" rel="nofollow">Dismiss</a>+        <span class="bold">Octotip:</span> You've activated the <em>file finder</em>+        by pressing <span class="kbd">t</span> Start typing to filter the+        file list. Use <span class="kbd badmono">↑</span> and+        <span class="kbd badmono">↓</span> to navigate,+        <span class="kbd">enter</span> to view files.+      </p>+    </div>++  <table class="tree-browser" cellpadding="0" cellspacing="0">+    <tr class="js-header"><th>&nbsp;</th><th>name</th></tr>+    <tr class="js-no-results no-results" style="display: none">+      <th colspan="2">No matching files</th>+    </tr>+    <tbody class="js-results-list js-navigation-container">+    </tbody>+  </table>+</div>++<div id="jump-to-line" style="display:none">+  <h2>Jump to Line</h2>+  <form>+    <input class="textfield" type="text">+    <div class="full-button">+      <button type="submit" class="classy">+        <span>Go</span>+      </button>+    </div>+  </form>+</div>+++<div class="subnav-bar">++  <ul class="actions subnav">+    <li><a href="/ktklam9/HaskellNN/tags" class="" highlight="repo_tags">Tags <span class="counter">2</span></a></li>+    <li><a href="/ktklam9/HaskellNN/downloads" class="blank downloads-blank" highlight="repo_downloads">Downloads <span class="counter">0</span></a></li>+    +  </ul>++  <ul class="scope">+    <li class="switcher">++      <div class="context-menu-container js-menu-container">+        <a href="#"+           class="minibutton bigger switcher js-menu-target js-commitish-button btn-branch repo-tree"+           data-master-branch="master"+           data-ref="master">+          <span><span class="icon"></span><i>branch:</i> master</span>+        </a>++        <div class="context-pane commitish-context js-menu-content">+          <a href="javascript:;" class="close js-menu-close"></a>+          <div class="context-title">Switch Branches/Tags</div>+          <div class="context-body pane-selector commitish-selector js-filterable-commitishes">+            <div class="filterbar">+              <div class="placeholder-field js-placeholder-field">+                <label class="placeholder" for="context-commitish-filter-field" data-placeholder-mode="sticky">Filter branches/tags</label>+                <input type="text" id="context-commitish-filter-field" class="commitish-filter" />+              </div>++              <ul class="tabs">+                <li><a href="#" data-filter="branches" class="selected">Branches</a></li>+                <li><a href="#" data-filter="tags">Tags</a></li>+              </ul>+            </div>++              <div class="commitish-item branch-commitish selector-item">+                <h4>+                    <a href="/ktklam9/HaskellNN/blob/development/LICENSE" data-name="development" rel="nofollow">development</a>+                </h4>+              </div>+              <div class="commitish-item branch-commitish selector-item">+                <h4>+                    <a href="/ktklam9/HaskellNN/blob/honors-research/LICENSE" data-name="honors-research" rel="nofollow">honors-research</a>+                </h4>+              </div>+              <div class="commitish-item branch-commitish selector-item">+                <h4>+                    <a href="/ktklam9/HaskellNN/blob/levenberg-marquardt/LICENSE" data-name="levenberg-marquardt" rel="nofollow">levenberg-marquardt</a>+                </h4>+              </div>+              <div class="commitish-item branch-commitish selector-item">+                <h4>+                    <a href="/ktklam9/HaskellNN/blob/library/LICENSE" data-name="library" rel="nofollow">library</a>+                </h4>+              </div>+              <div class="commitish-item branch-commitish selector-item">+                <h4>+                    <a href="/ktklam9/HaskellNN/blob/master/LICENSE" data-name="master" rel="nofollow">master</a>+                </h4>+              </div>+              <div class="commitish-item branch-commitish selector-item">+                <h4>+                    <a href="/ktklam9/HaskellNN/blob/new-api/LICENSE" data-name="new-api" rel="nofollow">new-api</a>+                </h4>+              </div>++              <div class="commitish-item tag-commitish selector-item">+                <h4>+                    <a href="/ktklam9/HaskellNN/blob/v0.1.3/LICENSE" data-name="v0.1.3" rel="nofollow">v0.1.3</a>+                </h4>+              </div>+              <div class="commitish-item tag-commitish selector-item">+                <h4>+                    <a href="/ktklam9/HaskellNN/blob/v0.1/LICENSE" data-name="v0.1" rel="nofollow">v0.1</a>+                </h4>+              </div>++            <div class="no-results" style="display:none">Nothing to show</div>+          </div>+        </div><!-- /.commitish-context-context -->+      </div>++    </li>+  </ul>++  <ul class="subnav with-scope">++    <li><a href="/ktklam9/HaskellNN" class="selected" highlight="repo_source">Files</a></li>+    <li><a href="/ktklam9/HaskellNN/commits/master" highlight="repo_commits">Commits</a></li>+    <li><a href="/ktklam9/HaskellNN/branches" class="" highlight="repo_branches" rel="nofollow">Branches <span class="counter">6</span></a></li>+  </ul>++</div>++  +  +  +++          ++        </div><!-- /.repohead -->++        ++++++<!-- block_view_fragment_key: views4/v8/blob:v17:a2f8a8ecb64732d22070a21c72159508 -->+  <div id="slider">++    <div class="breadcrumb" data-path="LICENSE/">+      <b itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="/ktklam9/HaskellNN/tree/635cbeb6d8a03ebeb4cf9da1692066bc141de30b" class="js-rewrite-sha" itemprop="url"><span itemprop="title">HaskellNN</span></a></b> / <strong class="final-path">LICENSE</strong> <span class="js-clippy clippy-button " data-clipboard-text="LICENSE" data-copied-hint="copied!" data-copy-hint="copy to clipboard"></span>+    </div>+++      <div class="commit file-history-tease" data-path="LICENSE/">+        <img class="main-avatar" height="24" src="https://secure.gravatar.com/avatar/46d5b14e21d650e17af57c890b523064?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png" width="24" />+        <span class="author"><a href="/ktklam9">ktklam9</a></span>+        <time class="js-relative-date" datetime="2012-01-07T15:19:07-08:00" title="2012-01-07 15:19:07">January 07, 2012</time>+        <div class="commit-title">+            <a href="/ktklam9/HaskellNN/commit/8df9e868ece3f5efdaa370739dba2505d0923671" class="message">Changed GPL to LICENSE</a>+        </div>++        <div class="participation">+          <p class="quickstat"><a href="#blob_contributors_box" rel="facebox"><strong>1</strong> contributor</a></p>+          +        </div>+        <div id="blob_contributors_box" style="display:none">+          <h2>Users on GitHub who have contributed to this file</h2>+          <ul class="facebox-user-list">+            <li>+              <img height="24" src="https://secure.gravatar.com/avatar/46d5b14e21d650e17af57c890b523064?s=140&amp;d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png" width="24" />+              <a href="/ktklam9">ktklam9</a>+            </li>+          </ul>+        </div>+      </div>++    <div class="frames">+      <div class="frame frame-center" data-path="LICENSE/" data-permalink-url="/ktklam9/HaskellNN/blob/635cbeb6d8a03ebeb4cf9da1692066bc141de30b/LICENSE" data-title="LICENSE at master from ktklam9/HaskellNN - GitHub" data-type="blob">++        <div id="files" class="bubble">+          <div class="file">+            <div class="meta">+              <div class="info">+                <span class="icon"><img alt="Txt" height="16" src="https://a248.e.akamai.net/assets.github.com/images/icons/txt.png?1284681402" width="16" /></span>+                <span class="mode" title="File Mode">100644</span>+                  <span>675 lines (553 sloc)</span>+                <span>35.147 kb</span>+              </div>+              <ul class="button-group actions">+                  <li>+                    <a class="grouped-button file-edit-link minibutton bigger lighter js-rewrite-sha" href="/ktklam9/HaskellNN/edit/635cbeb6d8a03ebeb4cf9da1692066bc141de30b/LICENSE" data-method="post" rel="nofollow"><span>Edit this file</span></a>+                  </li>++                <li>+                  <a href="/ktklam9/HaskellNN/raw/master/LICENSE" class="minibutton btn-raw grouped-button bigger lighter" id="raw-url"><span><span class="icon"></span>Raw</span></a>+                </li>+                  <li>+                    <a href="/ktklam9/HaskellNN/blame/master/LICENSE" class="minibutton btn-blame grouped-button bigger lighter"><span><span class="icon"></span>Blame</span></a>+                  </li>+                <li>+                  <a href="/ktklam9/HaskellNN/commits/master/LICENSE" class="minibutton btn-history grouped-button bigger lighter" rel="nofollow"><span><span class="icon"></span>History</span></a>+                </li>+              </ul>+            </div>+              <div class="data type-text">+      <table cellpadding="0" cellspacing="0" class="lines">+        <tr>+          <td>+            <pre class="line_numbers"><span id="L1" rel="#L1">1</span>+<span id="L2" rel="#L2">2</span>+<span id="L3" rel="#L3">3</span>+<span id="L4" rel="#L4">4</span>+<span id="L5" rel="#L5">5</span>+<span id="L6" rel="#L6">6</span>+<span id="L7" rel="#L7">7</span>+<span id="L8" rel="#L8">8</span>+<span id="L9" rel="#L9">9</span>+<span id="L10" rel="#L10">10</span>+<span id="L11" rel="#L11">11</span>+<span id="L12" rel="#L12">12</span>+<span id="L13" rel="#L13">13</span>+<span id="L14" rel="#L14">14</span>+<span id="L15" rel="#L15">15</span>+<span id="L16" rel="#L16">16</span>+<span id="L17" rel="#L17">17</span>+<span id="L18" rel="#L18">18</span>+<span id="L19" rel="#L19">19</span>+<span id="L20" rel="#L20">20</span>+<span id="L21" rel="#L21">21</span>+<span id="L22" rel="#L22">22</span>+<span id="L23" rel="#L23">23</span>+<span id="L24" rel="#L24">24</span>+<span id="L25" rel="#L25">25</span>+<span id="L26" rel="#L26">26</span>+<span id="L27" rel="#L27">27</span>+<span id="L28" rel="#L28">28</span>+<span id="L29" rel="#L29">29</span>+<span id="L30" rel="#L30">30</span>+<span id="L31" rel="#L31">31</span>+<span id="L32" rel="#L32">32</span>+<span id="L33" rel="#L33">33</span>+<span id="L34" rel="#L34">34</span>+<span id="L35" rel="#L35">35</span>+<span id="L36" rel="#L36">36</span>+<span id="L37" rel="#L37">37</span>+<span id="L38" rel="#L38">38</span>+<span id="L39" rel="#L39">39</span>+<span id="L40" rel="#L40">40</span>+<span id="L41" rel="#L41">41</span>+<span id="L42" rel="#L42">42</span>+<span id="L43" rel="#L43">43</span>+<span id="L44" rel="#L44">44</span>+<span id="L45" rel="#L45">45</span>+<span id="L46" rel="#L46">46</span>+<span id="L47" rel="#L47">47</span>+<span id="L48" rel="#L48">48</span>+<span id="L49" rel="#L49">49</span>+<span id="L50" rel="#L50">50</span>+<span id="L51" rel="#L51">51</span>+<span id="L52" rel="#L52">52</span>+<span id="L53" rel="#L53">53</span>+<span id="L54" rel="#L54">54</span>+<span id="L55" rel="#L55">55</span>+<span id="L56" rel="#L56">56</span>+<span id="L57" rel="#L57">57</span>+<span id="L58" rel="#L58">58</span>+<span id="L59" rel="#L59">59</span>+<span id="L60" rel="#L60">60</span>+<span id="L61" rel="#L61">61</span>+<span id="L62" rel="#L62">62</span>+<span id="L63" rel="#L63">63</span>+<span id="L64" rel="#L64">64</span>+<span id="L65" rel="#L65">65</span>+<span id="L66" rel="#L66">66</span>+<span id="L67" rel="#L67">67</span>+<span id="L68" rel="#L68">68</span>+<span id="L69" rel="#L69">69</span>+<span id="L70" rel="#L70">70</span>+<span id="L71" rel="#L71">71</span>+<span id="L72" rel="#L72">72</span>+<span id="L73" rel="#L73">73</span>+<span id="L74" rel="#L74">74</span>+<span id="L75" rel="#L75">75</span>+<span id="L76" rel="#L76">76</span>+<span id="L77" rel="#L77">77</span>+<span id="L78" rel="#L78">78</span>+<span id="L79" rel="#L79">79</span>+<span id="L80" rel="#L80">80</span>+<span id="L81" rel="#L81">81</span>+<span id="L82" rel="#L82">82</span>+<span id="L83" rel="#L83">83</span>+<span id="L84" rel="#L84">84</span>+<span id="L85" rel="#L85">85</span>+<span id="L86" rel="#L86">86</span>+<span id="L87" rel="#L87">87</span>+<span id="L88" rel="#L88">88</span>+<span id="L89" rel="#L89">89</span>+<span id="L90" rel="#L90">90</span>+<span id="L91" rel="#L91">91</span>+<span id="L92" rel="#L92">92</span>+<span id="L93" rel="#L93">93</span>+<span id="L94" rel="#L94">94</span>+<span id="L95" rel="#L95">95</span>+<span id="L96" rel="#L96">96</span>+<span id="L97" rel="#L97">97</span>+<span id="L98" rel="#L98">98</span>+<span id="L99" rel="#L99">99</span>+<span id="L100" rel="#L100">100</span>+<span id="L101" rel="#L101">101</span>+<span id="L102" rel="#L102">102</span>+<span id="L103" rel="#L103">103</span>+<span id="L104" rel="#L104">104</span>+<span id="L105" rel="#L105">105</span>+<span id="L106" rel="#L106">106</span>+<span id="L107" rel="#L107">107</span>+<span id="L108" rel="#L108">108</span>+<span id="L109" rel="#L109">109</span>+<span id="L110" rel="#L110">110</span>+<span id="L111" rel="#L111">111</span>+<span id="L112" rel="#L112">112</span>+<span id="L113" rel="#L113">113</span>+<span id="L114" rel="#L114">114</span>+<span id="L115" rel="#L115">115</span>+<span id="L116" rel="#L116">116</span>+<span id="L117" rel="#L117">117</span>+<span id="L118" rel="#L118">118</span>+<span id="L119" rel="#L119">119</span>+<span id="L120" rel="#L120">120</span>+<span id="L121" rel="#L121">121</span>+<span id="L122" rel="#L122">122</span>+<span id="L123" rel="#L123">123</span>+<span id="L124" rel="#L124">124</span>+<span id="L125" rel="#L125">125</span>+<span id="L126" rel="#L126">126</span>+<span id="L127" rel="#L127">127</span>+<span id="L128" rel="#L128">128</span>+<span id="L129" rel="#L129">129</span>+<span id="L130" rel="#L130">130</span>+<span id="L131" rel="#L131">131</span>+<span id="L132" rel="#L132">132</span>+<span id="L133" rel="#L133">133</span>+<span id="L134" rel="#L134">134</span>+<span id="L135" rel="#L135">135</span>+<span id="L136" rel="#L136">136</span>+<span id="L137" rel="#L137">137</span>+<span id="L138" rel="#L138">138</span>+<span id="L139" rel="#L139">139</span>+<span id="L140" rel="#L140">140</span>+<span id="L141" rel="#L141">141</span>+<span id="L142" rel="#L142">142</span>+<span id="L143" rel="#L143">143</span>+<span id="L144" rel="#L144">144</span>+<span id="L145" rel="#L145">145</span>+<span id="L146" rel="#L146">146</span>+<span id="L147" rel="#L147">147</span>+<span id="L148" rel="#L148">148</span>+<span id="L149" rel="#L149">149</span>+<span id="L150" rel="#L150">150</span>+<span id="L151" rel="#L151">151</span>+<span id="L152" rel="#L152">152</span>+<span id="L153" rel="#L153">153</span>+<span id="L154" rel="#L154">154</span>+<span id="L155" rel="#L155">155</span>+<span id="L156" rel="#L156">156</span>+<span id="L157" rel="#L157">157</span>+<span id="L158" rel="#L158">158</span>+<span id="L159" rel="#L159">159</span>+<span id="L160" rel="#L160">160</span>+<span id="L161" rel="#L161">161</span>+<span id="L162" rel="#L162">162</span>+<span id="L163" rel="#L163">163</span>+<span id="L164" rel="#L164">164</span>+<span id="L165" rel="#L165">165</span>+<span id="L166" rel="#L166">166</span>+<span id="L167" rel="#L167">167</span>+<span id="L168" rel="#L168">168</span>+<span id="L169" rel="#L169">169</span>+<span id="L170" rel="#L170">170</span>+<span id="L171" rel="#L171">171</span>+<span id="L172" rel="#L172">172</span>+<span id="L173" rel="#L173">173</span>+<span id="L174" rel="#L174">174</span>+<span id="L175" rel="#L175">175</span>+<span id="L176" rel="#L176">176</span>+<span id="L177" rel="#L177">177</span>+<span id="L178" rel="#L178">178</span>+<span id="L179" rel="#L179">179</span>+<span id="L180" rel="#L180">180</span>+<span id="L181" rel="#L181">181</span>+<span id="L182" rel="#L182">182</span>+<span id="L183" rel="#L183">183</span>+<span id="L184" rel="#L184">184</span>+<span id="L185" rel="#L185">185</span>+<span id="L186" rel="#L186">186</span>+<span id="L187" rel="#L187">187</span>+<span id="L188" rel="#L188">188</span>+<span id="L189" rel="#L189">189</span>+<span id="L190" rel="#L190">190</span>+<span id="L191" rel="#L191">191</span>+<span id="L192" rel="#L192">192</span>+<span id="L193" rel="#L193">193</span>+<span id="L194" rel="#L194">194</span>+<span id="L195" rel="#L195">195</span>+<span id="L196" rel="#L196">196</span>+<span id="L197" rel="#L197">197</span>+<span id="L198" rel="#L198">198</span>+<span id="L199" rel="#L199">199</span>+<span id="L200" rel="#L200">200</span>+<span id="L201" rel="#L201">201</span>+<span id="L202" rel="#L202">202</span>+<span id="L203" rel="#L203">203</span>+<span id="L204" rel="#L204">204</span>+<span id="L205" rel="#L205">205</span>+<span id="L206" rel="#L206">206</span>+<span id="L207" rel="#L207">207</span>+<span id="L208" rel="#L208">208</span>+<span id="L209" rel="#L209">209</span>+<span id="L210" rel="#L210">210</span>+<span id="L211" rel="#L211">211</span>+<span id="L212" rel="#L212">212</span>+<span id="L213" rel="#L213">213</span>+<span id="L214" rel="#L214">214</span>+<span id="L215" rel="#L215">215</span>+<span id="L216" rel="#L216">216</span>+<span id="L217" rel="#L217">217</span>+<span id="L218" rel="#L218">218</span>+<span id="L219" rel="#L219">219</span>+<span id="L220" rel="#L220">220</span>+<span id="L221" rel="#L221">221</span>+<span id="L222" rel="#L222">222</span>+<span id="L223" rel="#L223">223</span>+<span id="L224" rel="#L224">224</span>+<span id="L225" rel="#L225">225</span>+<span id="L226" rel="#L226">226</span>+<span id="L227" rel="#L227">227</span>+<span id="L228" rel="#L228">228</span>+<span id="L229" rel="#L229">229</span>+<span id="L230" rel="#L230">230</span>+<span id="L231" rel="#L231">231</span>+<span id="L232" rel="#L232">232</span>+<span id="L233" rel="#L233">233</span>+<span id="L234" rel="#L234">234</span>+<span id="L235" rel="#L235">235</span>+<span id="L236" rel="#L236">236</span>+<span id="L237" rel="#L237">237</span>+<span id="L238" rel="#L238">238</span>+<span id="L239" rel="#L239">239</span>+<span id="L240" rel="#L240">240</span>+<span id="L241" rel="#L241">241</span>+<span id="L242" rel="#L242">242</span>+<span id="L243" rel="#L243">243</span>+<span id="L244" rel="#L244">244</span>+<span id="L245" rel="#L245">245</span>+<span id="L246" rel="#L246">246</span>+<span id="L247" rel="#L247">247</span>+<span id="L248" rel="#L248">248</span>+<span id="L249" rel="#L249">249</span>+<span id="L250" rel="#L250">250</span>+<span id="L251" rel="#L251">251</span>+<span id="L252" rel="#L252">252</span>+<span id="L253" rel="#L253">253</span>+<span id="L254" rel="#L254">254</span>+<span id="L255" rel="#L255">255</span>+<span id="L256" rel="#L256">256</span>+<span id="L257" rel="#L257">257</span>+<span id="L258" rel="#L258">258</span>+<span id="L259" rel="#L259">259</span>+<span id="L260" rel="#L260">260</span>+<span id="L261" rel="#L261">261</span>+<span id="L262" rel="#L262">262</span>+<span id="L263" rel="#L263">263</span>+<span id="L264" rel="#L264">264</span>+<span id="L265" rel="#L265">265</span>+<span id="L266" rel="#L266">266</span>+<span id="L267" rel="#L267">267</span>+<span id="L268" rel="#L268">268</span>+<span id="L269" rel="#L269">269</span>+<span id="L270" rel="#L270">270</span>+<span id="L271" rel="#L271">271</span>+<span id="L272" rel="#L272">272</span>+<span id="L273" rel="#L273">273</span>+<span id="L274" rel="#L274">274</span>+<span id="L275" rel="#L275">275</span>+<span id="L276" rel="#L276">276</span>+<span id="L277" rel="#L277">277</span>+<span id="L278" rel="#L278">278</span>+<span id="L279" rel="#L279">279</span>+<span id="L280" rel="#L280">280</span>+<span id="L281" rel="#L281">281</span>+<span id="L282" rel="#L282">282</span>+<span id="L283" rel="#L283">283</span>+<span id="L284" rel="#L284">284</span>+<span id="L285" rel="#L285">285</span>+<span id="L286" rel="#L286">286</span>+<span id="L287" rel="#L287">287</span>+<span id="L288" rel="#L288">288</span>+<span id="L289" rel="#L289">289</span>+<span id="L290" rel="#L290">290</span>+<span id="L291" rel="#L291">291</span>+<span id="L292" rel="#L292">292</span>+<span id="L293" rel="#L293">293</span>+<span id="L294" rel="#L294">294</span>+<span id="L295" rel="#L295">295</span>+<span id="L296" rel="#L296">296</span>+<span id="L297" rel="#L297">297</span>+<span id="L298" rel="#L298">298</span>+<span id="L299" rel="#L299">299</span>+<span id="L300" rel="#L300">300</span>+<span id="L301" rel="#L301">301</span>+<span id="L302" rel="#L302">302</span>+<span id="L303" rel="#L303">303</span>+<span id="L304" rel="#L304">304</span>+<span id="L305" rel="#L305">305</span>+<span id="L306" rel="#L306">306</span>+<span id="L307" rel="#L307">307</span>+<span id="L308" rel="#L308">308</span>+<span id="L309" rel="#L309">309</span>+<span id="L310" rel="#L310">310</span>+<span id="L311" rel="#L311">311</span>+<span id="L312" rel="#L312">312</span>+<span id="L313" rel="#L313">313</span>+<span id="L314" rel="#L314">314</span>+<span id="L315" rel="#L315">315</span>+<span id="L316" rel="#L316">316</span>+<span id="L317" rel="#L317">317</span>+<span id="L318" rel="#L318">318</span>+<span id="L319" rel="#L319">319</span>+<span id="L320" rel="#L320">320</span>+<span id="L321" rel="#L321">321</span>+<span id="L322" rel="#L322">322</span>+<span id="L323" rel="#L323">323</span>+<span id="L324" rel="#L324">324</span>+<span id="L325" rel="#L325">325</span>+<span id="L326" rel="#L326">326</span>+<span id="L327" rel="#L327">327</span>+<span id="L328" rel="#L328">328</span>+<span id="L329" rel="#L329">329</span>+<span id="L330" rel="#L330">330</span>+<span id="L331" rel="#L331">331</span>+<span id="L332" rel="#L332">332</span>+<span id="L333" rel="#L333">333</span>+<span id="L334" rel="#L334">334</span>+<span id="L335" rel="#L335">335</span>+<span id="L336" rel="#L336">336</span>+<span id="L337" rel="#L337">337</span>+<span id="L338" rel="#L338">338</span>+<span id="L339" rel="#L339">339</span>+<span id="L340" rel="#L340">340</span>+<span id="L341" rel="#L341">341</span>+<span id="L342" rel="#L342">342</span>+<span id="L343" rel="#L343">343</span>+<span id="L344" rel="#L344">344</span>+<span id="L345" rel="#L345">345</span>+<span id="L346" rel="#L346">346</span>+<span id="L347" rel="#L347">347</span>+<span id="L348" rel="#L348">348</span>+<span id="L349" rel="#L349">349</span>+<span id="L350" rel="#L350">350</span>+<span id="L351" rel="#L351">351</span>+<span id="L352" rel="#L352">352</span>+<span id="L353" rel="#L353">353</span>+<span id="L354" rel="#L354">354</span>+<span id="L355" rel="#L355">355</span>+<span id="L356" rel="#L356">356</span>+<span id="L357" rel="#L357">357</span>+<span id="L358" rel="#L358">358</span>+<span id="L359" rel="#L359">359</span>+<span id="L360" rel="#L360">360</span>+<span id="L361" rel="#L361">361</span>+<span id="L362" rel="#L362">362</span>+<span id="L363" rel="#L363">363</span>+<span id="L364" rel="#L364">364</span>+<span id="L365" rel="#L365">365</span>+<span id="L366" rel="#L366">366</span>+<span id="L367" rel="#L367">367</span>+<span id="L368" rel="#L368">368</span>+<span id="L369" rel="#L369">369</span>+<span id="L370" rel="#L370">370</span>+<span id="L371" rel="#L371">371</span>+<span id="L372" rel="#L372">372</span>+<span id="L373" rel="#L373">373</span>+<span id="L374" rel="#L374">374</span>+<span id="L375" rel="#L375">375</span>+<span id="L376" rel="#L376">376</span>+<span id="L377" rel="#L377">377</span>+<span id="L378" rel="#L378">378</span>+<span id="L379" rel="#L379">379</span>+<span id="L380" rel="#L380">380</span>+<span id="L381" rel="#L381">381</span>+<span id="L382" rel="#L382">382</span>+<span id="L383" rel="#L383">383</span>+<span id="L384" rel="#L384">384</span>+<span id="L385" rel="#L385">385</span>+<span id="L386" rel="#L386">386</span>+<span id="L387" rel="#L387">387</span>+<span id="L388" rel="#L388">388</span>+<span id="L389" rel="#L389">389</span>+<span id="L390" rel="#L390">390</span>+<span id="L391" rel="#L391">391</span>+<span id="L392" rel="#L392">392</span>+<span id="L393" rel="#L393">393</span>+<span id="L394" rel="#L394">394</span>+<span id="L395" rel="#L395">395</span>+<span id="L396" rel="#L396">396</span>+<span id="L397" rel="#L397">397</span>+<span id="L398" rel="#L398">398</span>+<span id="L399" rel="#L399">399</span>+<span id="L400" rel="#L400">400</span>+<span id="L401" rel="#L401">401</span>+<span id="L402" rel="#L402">402</span>+<span id="L403" rel="#L403">403</span>+<span id="L404" rel="#L404">404</span>+<span id="L405" rel="#L405">405</span>+<span id="L406" rel="#L406">406</span>+<span id="L407" rel="#L407">407</span>+<span id="L408" rel="#L408">408</span>+<span id="L409" rel="#L409">409</span>+<span id="L410" rel="#L410">410</span>+<span id="L411" rel="#L411">411</span>+<span id="L412" rel="#L412">412</span>+<span id="L413" rel="#L413">413</span>+<span id="L414" rel="#L414">414</span>+<span id="L415" rel="#L415">415</span>+<span id="L416" rel="#L416">416</span>+<span id="L417" rel="#L417">417</span>+<span id="L418" rel="#L418">418</span>+<span id="L419" rel="#L419">419</span>+<span id="L420" rel="#L420">420</span>+<span id="L421" rel="#L421">421</span>+<span id="L422" rel="#L422">422</span>+<span id="L423" rel="#L423">423</span>+<span id="L424" rel="#L424">424</span>+<span id="L425" rel="#L425">425</span>+<span id="L426" rel="#L426">426</span>+<span id="L427" rel="#L427">427</span>+<span id="L428" rel="#L428">428</span>+<span id="L429" rel="#L429">429</span>+<span id="L430" rel="#L430">430</span>+<span id="L431" rel="#L431">431</span>+<span id="L432" rel="#L432">432</span>+<span id="L433" rel="#L433">433</span>+<span id="L434" rel="#L434">434</span>+<span id="L435" rel="#L435">435</span>+<span id="L436" rel="#L436">436</span>+<span id="L437" rel="#L437">437</span>+<span id="L438" rel="#L438">438</span>+<span id="L439" rel="#L439">439</span>+<span id="L440" rel="#L440">440</span>+<span id="L441" rel="#L441">441</span>+<span id="L442" rel="#L442">442</span>+<span id="L443" rel="#L443">443</span>+<span id="L444" rel="#L444">444</span>+<span id="L445" rel="#L445">445</span>+<span id="L446" rel="#L446">446</span>+<span id="L447" rel="#L447">447</span>+<span id="L448" rel="#L448">448</span>+<span id="L449" rel="#L449">449</span>+<span id="L450" rel="#L450">450</span>+<span id="L451" rel="#L451">451</span>+<span id="L452" rel="#L452">452</span>+<span id="L453" rel="#L453">453</span>+<span id="L454" rel="#L454">454</span>+<span id="L455" rel="#L455">455</span>+<span id="L456" rel="#L456">456</span>+<span id="L457" rel="#L457">457</span>+<span id="L458" rel="#L458">458</span>+<span id="L459" rel="#L459">459</span>+<span id="L460" rel="#L460">460</span>+<span id="L461" rel="#L461">461</span>+<span id="L462" rel="#L462">462</span>+<span id="L463" rel="#L463">463</span>+<span id="L464" rel="#L464">464</span>+<span id="L465" rel="#L465">465</span>+<span id="L466" rel="#L466">466</span>+<span id="L467" rel="#L467">467</span>+<span id="L468" rel="#L468">468</span>+<span id="L469" rel="#L469">469</span>+<span id="L470" rel="#L470">470</span>+<span id="L471" rel="#L471">471</span>+<span id="L472" rel="#L472">472</span>+<span id="L473" rel="#L473">473</span>+<span id="L474" rel="#L474">474</span>+<span id="L475" rel="#L475">475</span>+<span id="L476" rel="#L476">476</span>+<span id="L477" rel="#L477">477</span>+<span id="L478" rel="#L478">478</span>+<span id="L479" rel="#L479">479</span>+<span id="L480" rel="#L480">480</span>+<span id="L481" rel="#L481">481</span>+<span id="L482" rel="#L482">482</span>+<span id="L483" rel="#L483">483</span>+<span id="L484" rel="#L484">484</span>+<span id="L485" rel="#L485">485</span>+<span id="L486" rel="#L486">486</span>+<span id="L487" rel="#L487">487</span>+<span id="L488" rel="#L488">488</span>+<span id="L489" rel="#L489">489</span>+<span id="L490" rel="#L490">490</span>+<span id="L491" rel="#L491">491</span>+<span id="L492" rel="#L492">492</span>+<span id="L493" rel="#L493">493</span>+<span id="L494" rel="#L494">494</span>+<span id="L495" rel="#L495">495</span>+<span id="L496" rel="#L496">496</span>+<span id="L497" rel="#L497">497</span>+<span id="L498" rel="#L498">498</span>+<span id="L499" rel="#L499">499</span>+<span id="L500" rel="#L500">500</span>+<span id="L501" rel="#L501">501</span>+<span id="L502" rel="#L502">502</span>+<span id="L503" rel="#L503">503</span>+<span id="L504" rel="#L504">504</span>+<span id="L505" rel="#L505">505</span>+<span id="L506" rel="#L506">506</span>+<span id="L507" rel="#L507">507</span>+<span id="L508" rel="#L508">508</span>+<span id="L509" rel="#L509">509</span>+<span id="L510" rel="#L510">510</span>+<span id="L511" rel="#L511">511</span>+<span id="L512" rel="#L512">512</span>+<span id="L513" rel="#L513">513</span>+<span id="L514" rel="#L514">514</span>+<span id="L515" rel="#L515">515</span>+<span id="L516" rel="#L516">516</span>+<span id="L517" rel="#L517">517</span>+<span id="L518" rel="#L518">518</span>+<span id="L519" rel="#L519">519</span>+<span id="L520" rel="#L520">520</span>+<span id="L521" rel="#L521">521</span>+<span id="L522" rel="#L522">522</span>+<span id="L523" rel="#L523">523</span>+<span id="L524" rel="#L524">524</span>+<span id="L525" rel="#L525">525</span>+<span id="L526" rel="#L526">526</span>+<span id="L527" rel="#L527">527</span>+<span id="L528" rel="#L528">528</span>+<span id="L529" rel="#L529">529</span>+<span id="L530" rel="#L530">530</span>+<span id="L531" rel="#L531">531</span>+<span id="L532" rel="#L532">532</span>+<span id="L533" rel="#L533">533</span>+<span id="L534" rel="#L534">534</span>+<span id="L535" rel="#L535">535</span>+<span id="L536" rel="#L536">536</span>+<span id="L537" rel="#L537">537</span>+<span id="L538" rel="#L538">538</span>+<span id="L539" rel="#L539">539</span>+<span id="L540" rel="#L540">540</span>+<span id="L541" rel="#L541">541</span>+<span id="L542" rel="#L542">542</span>+<span id="L543" rel="#L543">543</span>+<span id="L544" rel="#L544">544</span>+<span id="L545" rel="#L545">545</span>+<span id="L546" rel="#L546">546</span>+<span id="L547" rel="#L547">547</span>+<span id="L548" rel="#L548">548</span>+<span id="L549" rel="#L549">549</span>+<span id="L550" rel="#L550">550</span>+<span id="L551" rel="#L551">551</span>+<span id="L552" rel="#L552">552</span>+<span id="L553" rel="#L553">553</span>+<span id="L554" rel="#L554">554</span>+<span id="L555" rel="#L555">555</span>+<span id="L556" rel="#L556">556</span>+<span id="L557" rel="#L557">557</span>+<span id="L558" rel="#L558">558</span>+<span id="L559" rel="#L559">559</span>+<span id="L560" rel="#L560">560</span>+<span id="L561" rel="#L561">561</span>+<span id="L562" rel="#L562">562</span>+<span id="L563" rel="#L563">563</span>+<span id="L564" rel="#L564">564</span>+<span id="L565" rel="#L565">565</span>+<span id="L566" rel="#L566">566</span>+<span id="L567" rel="#L567">567</span>+<span id="L568" rel="#L568">568</span>+<span id="L569" rel="#L569">569</span>+<span id="L570" rel="#L570">570</span>+<span id="L571" rel="#L571">571</span>+<span id="L572" rel="#L572">572</span>+<span id="L573" rel="#L573">573</span>+<span id="L574" rel="#L574">574</span>+<span id="L575" rel="#L575">575</span>+<span id="L576" rel="#L576">576</span>+<span id="L577" rel="#L577">577</span>+<span id="L578" rel="#L578">578</span>+<span id="L579" rel="#L579">579</span>+<span id="L580" rel="#L580">580</span>+<span id="L581" rel="#L581">581</span>+<span id="L582" rel="#L582">582</span>+<span id="L583" rel="#L583">583</span>+<span id="L584" rel="#L584">584</span>+<span id="L585" rel="#L585">585</span>+<span id="L586" rel="#L586">586</span>+<span id="L587" rel="#L587">587</span>+<span id="L588" rel="#L588">588</span>+<span id="L589" rel="#L589">589</span>+<span id="L590" rel="#L590">590</span>+<span id="L591" rel="#L591">591</span>+<span id="L592" rel="#L592">592</span>+<span id="L593" rel="#L593">593</span>+<span id="L594" rel="#L594">594</span>+<span id="L595" rel="#L595">595</span>+<span id="L596" rel="#L596">596</span>+<span id="L597" rel="#L597">597</span>+<span id="L598" rel="#L598">598</span>+<span id="L599" rel="#L599">599</span>+<span id="L600" rel="#L600">600</span>+<span id="L601" rel="#L601">601</span>+<span id="L602" rel="#L602">602</span>+<span id="L603" rel="#L603">603</span>+<span id="L604" rel="#L604">604</span>+<span id="L605" rel="#L605">605</span>+<span id="L606" rel="#L606">606</span>+<span id="L607" rel="#L607">607</span>+<span id="L608" rel="#L608">608</span>+<span id="L609" rel="#L609">609</span>+<span id="L610" rel="#L610">610</span>+<span id="L611" rel="#L611">611</span>+<span id="L612" rel="#L612">612</span>+<span id="L613" rel="#L613">613</span>+<span id="L614" rel="#L614">614</span>+<span id="L615" rel="#L615">615</span>+<span id="L616" rel="#L616">616</span>+<span id="L617" rel="#L617">617</span>+<span id="L618" rel="#L618">618</span>+<span id="L619" rel="#L619">619</span>+<span id="L620" rel="#L620">620</span>+<span id="L621" rel="#L621">621</span>+<span id="L622" rel="#L622">622</span>+<span id="L623" rel="#L623">623</span>+<span id="L624" rel="#L624">624</span>+<span id="L625" rel="#L625">625</span>+<span id="L626" rel="#L626">626</span>+<span id="L627" rel="#L627">627</span>+<span id="L628" rel="#L628">628</span>+<span id="L629" rel="#L629">629</span>+<span id="L630" rel="#L630">630</span>+<span id="L631" rel="#L631">631</span>+<span id="L632" rel="#L632">632</span>+<span id="L633" rel="#L633">633</span>+<span id="L634" rel="#L634">634</span>+<span id="L635" rel="#L635">635</span>+<span id="L636" rel="#L636">636</span>+<span id="L637" rel="#L637">637</span>+<span id="L638" rel="#L638">638</span>+<span id="L639" rel="#L639">639</span>+<span id="L640" rel="#L640">640</span>+<span id="L641" rel="#L641">641</span>+<span id="L642" rel="#L642">642</span>+<span id="L643" rel="#L643">643</span>+<span id="L644" rel="#L644">644</span>+<span id="L645" rel="#L645">645</span>+<span id="L646" rel="#L646">646</span>+<span id="L647" rel="#L647">647</span>+<span id="L648" rel="#L648">648</span>+<span id="L649" rel="#L649">649</span>+<span id="L650" rel="#L650">650</span>+<span id="L651" rel="#L651">651</span>+<span id="L652" rel="#L652">652</span>+<span id="L653" rel="#L653">653</span>+<span id="L654" rel="#L654">654</span>+<span id="L655" rel="#L655">655</span>+<span id="L656" rel="#L656">656</span>+<span id="L657" rel="#L657">657</span>+<span id="L658" rel="#L658">658</span>+<span id="L659" rel="#L659">659</span>+<span id="L660" rel="#L660">660</span>+<span id="L661" rel="#L661">661</span>+<span id="L662" rel="#L662">662</span>+<span id="L663" rel="#L663">663</span>+<span id="L664" rel="#L664">664</span>+<span id="L665" rel="#L665">665</span>+<span id="L666" rel="#L666">666</span>+<span id="L667" rel="#L667">667</span>+<span id="L668" rel="#L668">668</span>+<span id="L669" rel="#L669">669</span>+<span id="L670" rel="#L670">670</span>+<span id="L671" rel="#L671">671</span>+<span id="L672" rel="#L672">672</span>+<span id="L673" rel="#L673">673</span>+<span id="L674" rel="#L674">674</span>+</pre>+          </td>+          <td width="100%">+                <div class="highlight"><pre><div class='line' id='LC1'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;GNU GENERAL PUBLIC LICENSE</div><div class='line' id='LC2'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Version 3, 29 June 2007</div><div class='line' id='LC3'><br/></div><div class='line' id='LC4'>&nbsp;Copyright (C) 2007 Free Software Foundation, Inc. &lt;http://fsf.org/&gt;</div><div class='line' id='LC5'>&nbsp;Everyone is permitted to copy and distribute verbatim copies</div><div class='line' id='LC6'>&nbsp;of this license document, but changing it is not allowed.</div><div class='line' id='LC7'><br/></div><div class='line' id='LC8'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Preamble</div><div class='line' id='LC9'><br/></div><div class='line' id='LC10'>&nbsp;&nbsp;The GNU General Public License is a free, copyleft license for</div><div class='line' id='LC11'>software and other kinds of works.</div><div class='line' id='LC12'><br/></div><div class='line' id='LC13'>&nbsp;&nbsp;The licenses for most software and other practical works are designed</div><div class='line' id='LC14'>to take away your freedom to share and change the works.  By contrast,</div><div class='line' id='LC15'>the GNU General Public License is intended to guarantee your freedom to</div><div class='line' id='LC16'>share and change all versions of a program--to make sure it remains free</div><div class='line' id='LC17'>software for all its users.  We, the Free Software Foundation, use the</div><div class='line' id='LC18'>GNU General Public License for most of our software; it applies also to</div><div class='line' id='LC19'>any other work released this way by its authors.  You can apply it to</div><div class='line' id='LC20'>your programs, too.</div><div class='line' id='LC21'><br/></div><div class='line' id='LC22'>&nbsp;&nbsp;When we speak of free software, we are referring to freedom, not</div><div class='line' id='LC23'>price.  Our General Public Licenses are designed to make sure that you</div><div class='line' id='LC24'>have the freedom to distribute copies of free software (and charge for</div><div class='line' id='LC25'>them if you wish), that you receive source code or can get it if you</div><div class='line' id='LC26'>want it, that you can change the software or use pieces of it in new</div><div class='line' id='LC27'>free programs, and that you know you can do these things.</div><div class='line' id='LC28'><br/></div><div class='line' id='LC29'>&nbsp;&nbsp;To protect your rights, we need to prevent others from denying you</div><div class='line' id='LC30'>these rights or asking you to surrender the rights.  Therefore, you have</div><div class='line' id='LC31'>certain responsibilities if you distribute copies of the software, or if</div><div class='line' id='LC32'>you modify it: responsibilities to respect the freedom of others.</div><div class='line' id='LC33'><br/></div><div class='line' id='LC34'>&nbsp;&nbsp;For example, if you distribute copies of such a program, whether</div><div class='line' id='LC35'>gratis or for a fee, you must pass on to the recipients the same</div><div class='line' id='LC36'>freedoms that you received.  You must make sure that they, too, receive</div><div class='line' id='LC37'>or can get the source code.  And you must show them these terms so they</div><div class='line' id='LC38'>know their rights.</div><div class='line' id='LC39'><br/></div><div class='line' id='LC40'>&nbsp;&nbsp;Developers that use the GNU GPL protect your rights with two steps:</div><div class='line' id='LC41'>(1) assert copyright on the software, and (2) offer you this License</div><div class='line' id='LC42'>giving you legal permission to copy, distribute and/or modify it.</div><div class='line' id='LC43'><br/></div><div class='line' id='LC44'>&nbsp;&nbsp;For the developers&#39; and authors&#39; protection, the GPL clearly explains</div><div class='line' id='LC45'>that there is no warranty for this free software.  For both users&#39; and</div><div class='line' id='LC46'>authors&#39; sake, the GPL requires that modified versions be marked as</div><div class='line' id='LC47'>changed, so that their problems will not be attributed erroneously to</div><div class='line' id='LC48'>authors of previous versions.</div><div class='line' id='LC49'><br/></div><div class='line' id='LC50'>&nbsp;&nbsp;Some devices are designed to deny users access to install or run</div><div class='line' id='LC51'>modified versions of the software inside them, although the manufacturer</div><div class='line' id='LC52'>can do so.  This is fundamentally incompatible with the aim of</div><div class='line' id='LC53'>protecting users&#39; freedom to change the software.  The systematic</div><div class='line' id='LC54'>pattern of such abuse occurs in the area of products for individuals to</div><div class='line' id='LC55'>use, which is precisely where it is most unacceptable.  Therefore, we</div><div class='line' id='LC56'>have designed this version of the GPL to prohibit the practice for those</div><div class='line' id='LC57'>products.  If such problems arise substantially in other domains, we</div><div class='line' id='LC58'>stand ready to extend this provision to those domains in future versions</div><div class='line' id='LC59'>of the GPL, as needed to protect the freedom of users.</div><div class='line' id='LC60'><br/></div><div class='line' id='LC61'>&nbsp;&nbsp;Finally, every program is threatened constantly by software patents.</div><div class='line' id='LC62'>States should not allow patents to restrict development and use of</div><div class='line' id='LC63'>software on general-purpose computers, but in those that do, we wish to</div><div class='line' id='LC64'>avoid the special danger that patents applied to a free program could</div><div class='line' id='LC65'>make it effectively proprietary.  To prevent this, the GPL assures that</div><div class='line' id='LC66'>patents cannot be used to render the program non-free.</div><div class='line' id='LC67'><br/></div><div class='line' id='LC68'>&nbsp;&nbsp;The precise terms and conditions for copying, distribution and</div><div class='line' id='LC69'>modification follow.</div><div class='line' id='LC70'><br/></div><div class='line' id='LC71'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TERMS AND CONDITIONS</div><div class='line' id='LC72'><br/></div><div class='line' id='LC73'>&nbsp;&nbsp;0. Definitions.</div><div class='line' id='LC74'><br/></div><div class='line' id='LC75'>&nbsp;&nbsp;&quot;This License&quot; refers to version 3 of the GNU General Public License.</div><div class='line' id='LC76'><br/></div><div class='line' id='LC77'>&nbsp;&nbsp;&quot;Copyright&quot; also means copyright-like laws that apply to other kinds of</div><div class='line' id='LC78'>works, such as semiconductor masks.</div><div class='line' id='LC79'><br/></div><div class='line' id='LC80'>&nbsp;&nbsp;&quot;The Program&quot; refers to any copyrightable work licensed under this</div><div class='line' id='LC81'>License.  Each licensee is addressed as &quot;you&quot;.  &quot;Licensees&quot; and</div><div class='line' id='LC82'>&quot;recipients&quot; may be individuals or organizations.</div><div class='line' id='LC83'><br/></div><div class='line' id='LC84'>&nbsp;&nbsp;To &quot;modify&quot; a work means to copy from or adapt all or part of the work</div><div class='line' id='LC85'>in a fashion requiring copyright permission, other than the making of an</div><div class='line' id='LC86'>exact copy.  The resulting work is called a &quot;modified version&quot; of the</div><div class='line' id='LC87'>earlier work or a work &quot;based on&quot; the earlier work.</div><div class='line' id='LC88'><br/></div><div class='line' id='LC89'>&nbsp;&nbsp;A &quot;covered work&quot; means either the unmodified Program or a work based</div><div class='line' id='LC90'>on the Program.</div><div class='line' id='LC91'><br/></div><div class='line' id='LC92'>&nbsp;&nbsp;To &quot;propagate&quot; a work means to do anything with it that, without</div><div class='line' id='LC93'>permission, would make you directly or secondarily liable for</div><div class='line' id='LC94'>infringement under applicable copyright law, except executing it on a</div><div class='line' id='LC95'>computer or modifying a private copy.  Propagation includes copying,</div><div class='line' id='LC96'>distribution (with or without modification), making available to the</div><div class='line' id='LC97'>public, and in some countries other activities as well.</div><div class='line' id='LC98'><br/></div><div class='line' id='LC99'>&nbsp;&nbsp;To &quot;convey&quot; a work means any kind of propagation that enables other</div><div class='line' id='LC100'>parties to make or receive copies.  Mere interaction with a user through</div><div class='line' id='LC101'>a computer network, with no transfer of a copy, is not conveying.</div><div class='line' id='LC102'><br/></div><div class='line' id='LC103'>&nbsp;&nbsp;An interactive user interface displays &quot;Appropriate Legal Notices&quot;</div><div class='line' id='LC104'>to the extent that it includes a convenient and prominently visible</div><div class='line' id='LC105'>feature that (1) displays an appropriate copyright notice, and (2)</div><div class='line' id='LC106'>tells the user that there is no warranty for the work (except to the</div><div class='line' id='LC107'>extent that warranties are provided), that licensees may convey the</div><div class='line' id='LC108'>work under this License, and how to view a copy of this License.  If</div><div class='line' id='LC109'>the interface presents a list of user commands or options, such as a</div><div class='line' id='LC110'>menu, a prominent item in the list meets this criterion.</div><div class='line' id='LC111'><br/></div><div class='line' id='LC112'>&nbsp;&nbsp;1. Source Code.</div><div class='line' id='LC113'><br/></div><div class='line' id='LC114'>&nbsp;&nbsp;The &quot;source code&quot; for a work means the preferred form of the work</div><div class='line' id='LC115'>for making modifications to it.  &quot;Object code&quot; means any non-source</div><div class='line' id='LC116'>form of a work.</div><div class='line' id='LC117'><br/></div><div class='line' id='LC118'>&nbsp;&nbsp;A &quot;Standard Interface&quot; means an interface that either is an official</div><div class='line' id='LC119'>standard defined by a recognized standards body, or, in the case of</div><div class='line' id='LC120'>interfaces specified for a particular programming language, one that</div><div class='line' id='LC121'>is widely used among developers working in that language.</div><div class='line' id='LC122'><br/></div><div class='line' id='LC123'>&nbsp;&nbsp;The &quot;System Libraries&quot; of an executable work include anything, other</div><div class='line' id='LC124'>than the work as a whole, that (a) is included in the normal form of</div><div class='line' id='LC125'>packaging a Major Component, but which is not part of that Major</div><div class='line' id='LC126'>Component, and (b) serves only to enable use of the work with that</div><div class='line' id='LC127'>Major Component, or to implement a Standard Interface for which an</div><div class='line' id='LC128'>implementation is available to the public in source code form.  A</div><div class='line' id='LC129'>&quot;Major Component&quot;, in this context, means a major essential component</div><div class='line' id='LC130'>(kernel, window system, and so on) of the specific operating system</div><div class='line' id='LC131'>(if any) on which the executable work runs, or a compiler used to</div><div class='line' id='LC132'>produce the work, or an object code interpreter used to run it.</div><div class='line' id='LC133'><br/></div><div class='line' id='LC134'>&nbsp;&nbsp;The &quot;Corresponding Source&quot; for a work in object code form means all</div><div class='line' id='LC135'>the source code needed to generate, install, and (for an executable</div><div class='line' id='LC136'>work) run the object code and to modify the work, including scripts to</div><div class='line' id='LC137'>control those activities.  However, it does not include the work&#39;s</div><div class='line' id='LC138'>System Libraries, or general-purpose tools or generally available free</div><div class='line' id='LC139'>programs which are used unmodified in performing those activities but</div><div class='line' id='LC140'>which are not part of the work.  For example, Corresponding Source</div><div class='line' id='LC141'>includes interface definition files associated with source files for</div><div class='line' id='LC142'>the work, and the source code for shared libraries and dynamically</div><div class='line' id='LC143'>linked subprograms that the work is specifically designed to require,</div><div class='line' id='LC144'>such as by intimate data communication or control flow between those</div><div class='line' id='LC145'>subprograms and other parts of the work.</div><div class='line' id='LC146'><br/></div><div class='line' id='LC147'>&nbsp;&nbsp;The Corresponding Source need not include anything that users</div><div class='line' id='LC148'>can regenerate automatically from other parts of the Corresponding</div><div class='line' id='LC149'>Source.</div><div class='line' id='LC150'><br/></div><div class='line' id='LC151'>&nbsp;&nbsp;The Corresponding Source for a work in source code form is that</div><div class='line' id='LC152'>same work.</div><div class='line' id='LC153'><br/></div><div class='line' id='LC154'>&nbsp;&nbsp;2. Basic Permissions.</div><div class='line' id='LC155'><br/></div><div class='line' id='LC156'>&nbsp;&nbsp;All rights granted under this License are granted for the term of</div><div class='line' id='LC157'>copyright on the Program, and are irrevocable provided the stated</div><div class='line' id='LC158'>conditions are met.  This License explicitly affirms your unlimited</div><div class='line' id='LC159'>permission to run the unmodified Program.  The output from running a</div><div class='line' id='LC160'>covered work is covered by this License only if the output, given its</div><div class='line' id='LC161'>content, constitutes a covered work.  This License acknowledges your</div><div class='line' id='LC162'>rights of fair use or other equivalent, as provided by copyright law.</div><div class='line' id='LC163'><br/></div><div class='line' id='LC164'>&nbsp;&nbsp;You may make, run and propagate covered works that you do not</div><div class='line' id='LC165'>convey, without conditions so long as your license otherwise remains</div><div class='line' id='LC166'>in force.  You may convey covered works to others for the sole purpose</div><div class='line' id='LC167'>of having them make modifications exclusively for you, or provide you</div><div class='line' id='LC168'>with facilities for running those works, provided that you comply with</div><div class='line' id='LC169'>the terms of this License in conveying all material for which you do</div><div class='line' id='LC170'>not control copyright.  Those thus making or running the covered works</div><div class='line' id='LC171'>for you must do so exclusively on your behalf, under your direction</div><div class='line' id='LC172'>and control, on terms that prohibit them from making any copies of</div><div class='line' id='LC173'>your copyrighted material outside their relationship with you.</div><div class='line' id='LC174'><br/></div><div class='line' id='LC175'>&nbsp;&nbsp;Conveying under any other circumstances is permitted solely under</div><div class='line' id='LC176'>the conditions stated below.  Sublicensing is not allowed; section 10</div><div class='line' id='LC177'>makes it unnecessary.</div><div class='line' id='LC178'><br/></div><div class='line' id='LC179'>&nbsp;&nbsp;3. Protecting Users&#39; Legal Rights From Anti-Circumvention Law.</div><div class='line' id='LC180'><br/></div><div class='line' id='LC181'>&nbsp;&nbsp;No covered work shall be deemed part of an effective technological</div><div class='line' id='LC182'>measure under any applicable law fulfilling obligations under article</div><div class='line' id='LC183'>11 of the WIPO copyright treaty adopted on 20 December 1996, or</div><div class='line' id='LC184'>similar laws prohibiting or restricting circumvention of such</div><div class='line' id='LC185'>measures.</div><div class='line' id='LC186'><br/></div><div class='line' id='LC187'>&nbsp;&nbsp;When you convey a covered work, you waive any legal power to forbid</div><div class='line' id='LC188'>circumvention of technological measures to the extent such circumvention</div><div class='line' id='LC189'>is effected by exercising rights under this License with respect to</div><div class='line' id='LC190'>the covered work, and you disclaim any intention to limit operation or</div><div class='line' id='LC191'>modification of the work as a means of enforcing, against the work&#39;s</div><div class='line' id='LC192'>users, your or third parties&#39; legal rights to forbid circumvention of</div><div class='line' id='LC193'>technological measures.</div><div class='line' id='LC194'><br/></div><div class='line' id='LC195'>&nbsp;&nbsp;4. Conveying Verbatim Copies.</div><div class='line' id='LC196'><br/></div><div class='line' id='LC197'>&nbsp;&nbsp;You may convey verbatim copies of the Program&#39;s source code as you</div><div class='line' id='LC198'>receive it, in any medium, provided that you conspicuously and</div><div class='line' id='LC199'>appropriately publish on each copy an appropriate copyright notice;</div><div class='line' id='LC200'>keep intact all notices stating that this License and any</div><div class='line' id='LC201'>non-permissive terms added in accord with section 7 apply to the code;</div><div class='line' id='LC202'>keep intact all notices of the absence of any warranty; and give all</div><div class='line' id='LC203'>recipients a copy of this License along with the Program.</div><div class='line' id='LC204'><br/></div><div class='line' id='LC205'>&nbsp;&nbsp;You may charge any price or no price for each copy that you convey,</div><div class='line' id='LC206'>and you may offer support or warranty protection for a fee.</div><div class='line' id='LC207'><br/></div><div class='line' id='LC208'>&nbsp;&nbsp;5. Conveying Modified Source Versions.</div><div class='line' id='LC209'><br/></div><div class='line' id='LC210'>&nbsp;&nbsp;You may convey a work based on the Program, or the modifications to</div><div class='line' id='LC211'>produce it from the Program, in the form of source code under the</div><div class='line' id='LC212'>terms of section 4, provided that you also meet all of these conditions:</div><div class='line' id='LC213'><br/></div><div class='line' id='LC214'>&nbsp;&nbsp;&nbsp;&nbsp;a) The work must carry prominent notices stating that you modified</div><div class='line' id='LC215'>&nbsp;&nbsp;&nbsp;&nbsp;it, and giving a relevant date.</div><div class='line' id='LC216'><br/></div><div class='line' id='LC217'>&nbsp;&nbsp;&nbsp;&nbsp;b) The work must carry prominent notices stating that it is</div><div class='line' id='LC218'>&nbsp;&nbsp;&nbsp;&nbsp;released under this License and any conditions added under section</div><div class='line' id='LC219'>&nbsp;&nbsp;&nbsp;&nbsp;7.  This requirement modifies the requirement in section 4 to</div><div class='line' id='LC220'>&nbsp;&nbsp;&nbsp;&nbsp;&quot;keep intact all notices&quot;.</div><div class='line' id='LC221'><br/></div><div class='line' id='LC222'>&nbsp;&nbsp;&nbsp;&nbsp;c) You must license the entire work, as a whole, under this</div><div class='line' id='LC223'>&nbsp;&nbsp;&nbsp;&nbsp;License to anyone who comes into possession of a copy.  This</div><div class='line' id='LC224'>&nbsp;&nbsp;&nbsp;&nbsp;License will therefore apply, along with any applicable section 7</div><div class='line' id='LC225'>&nbsp;&nbsp;&nbsp;&nbsp;additional terms, to the whole of the work, and all its parts,</div><div class='line' id='LC226'>&nbsp;&nbsp;&nbsp;&nbsp;regardless of how they are packaged.  This License gives no</div><div class='line' id='LC227'>&nbsp;&nbsp;&nbsp;&nbsp;permission to license the work in any other way, but it does not</div><div class='line' id='LC228'>&nbsp;&nbsp;&nbsp;&nbsp;invalidate such permission if you have separately received it.</div><div class='line' id='LC229'><br/></div><div class='line' id='LC230'>&nbsp;&nbsp;&nbsp;&nbsp;d) If the work has interactive user interfaces, each must display</div><div class='line' id='LC231'>&nbsp;&nbsp;&nbsp;&nbsp;Appropriate Legal Notices; however, if the Program has interactive</div><div class='line' id='LC232'>&nbsp;&nbsp;&nbsp;&nbsp;interfaces that do not display Appropriate Legal Notices, your</div><div class='line' id='LC233'>&nbsp;&nbsp;&nbsp;&nbsp;work need not make them do so.</div><div class='line' id='LC234'><br/></div><div class='line' id='LC235'>&nbsp;&nbsp;A compilation of a covered work with other separate and independent</div><div class='line' id='LC236'>works, which are not by their nature extensions of the covered work,</div><div class='line' id='LC237'>and which are not combined with it such as to form a larger program,</div><div class='line' id='LC238'>in or on a volume of a storage or distribution medium, is called an</div><div class='line' id='LC239'>&quot;aggregate&quot; if the compilation and its resulting copyright are not</div><div class='line' id='LC240'>used to limit the access or legal rights of the compilation&#39;s users</div><div class='line' id='LC241'>beyond what the individual works permit.  Inclusion of a covered work</div><div class='line' id='LC242'>in an aggregate does not cause this License to apply to the other</div><div class='line' id='LC243'>parts of the aggregate.</div><div class='line' id='LC244'><br/></div><div class='line' id='LC245'>&nbsp;&nbsp;6. Conveying Non-Source Forms.</div><div class='line' id='LC246'><br/></div><div class='line' id='LC247'>&nbsp;&nbsp;You may convey a covered work in object code form under the terms</div><div class='line' id='LC248'>of sections 4 and 5, provided that you also convey the</div><div class='line' id='LC249'>machine-readable Corresponding Source under the terms of this License,</div><div class='line' id='LC250'>in one of these ways:</div><div class='line' id='LC251'><br/></div><div class='line' id='LC252'>&nbsp;&nbsp;&nbsp;&nbsp;a) Convey the object code in, or embodied in, a physical product</div><div class='line' id='LC253'>&nbsp;&nbsp;&nbsp;&nbsp;(including a physical distribution medium), accompanied by the</div><div class='line' id='LC254'>&nbsp;&nbsp;&nbsp;&nbsp;Corresponding Source fixed on a durable physical medium</div><div class='line' id='LC255'>&nbsp;&nbsp;&nbsp;&nbsp;customarily used for software interchange.</div><div class='line' id='LC256'><br/></div><div class='line' id='LC257'>&nbsp;&nbsp;&nbsp;&nbsp;b) Convey the object code in, or embodied in, a physical product</div><div class='line' id='LC258'>&nbsp;&nbsp;&nbsp;&nbsp;(including a physical distribution medium), accompanied by a</div><div class='line' id='LC259'>&nbsp;&nbsp;&nbsp;&nbsp;written offer, valid for at least three years and valid for as</div><div class='line' id='LC260'>&nbsp;&nbsp;&nbsp;&nbsp;long as you offer spare parts or customer support for that product</div><div class='line' id='LC261'>&nbsp;&nbsp;&nbsp;&nbsp;model, to give anyone who possesses the object code either (1) a</div><div class='line' id='LC262'>&nbsp;&nbsp;&nbsp;&nbsp;copy of the Corresponding Source for all the software in the</div><div class='line' id='LC263'>&nbsp;&nbsp;&nbsp;&nbsp;product that is covered by this License, on a durable physical</div><div class='line' id='LC264'>&nbsp;&nbsp;&nbsp;&nbsp;medium customarily used for software interchange, for a price no</div><div class='line' id='LC265'>&nbsp;&nbsp;&nbsp;&nbsp;more than your reasonable cost of physically performing this</div><div class='line' id='LC266'>&nbsp;&nbsp;&nbsp;&nbsp;conveying of source, or (2) access to copy the</div><div class='line' id='LC267'>&nbsp;&nbsp;&nbsp;&nbsp;Corresponding Source from a network server at no charge.</div><div class='line' id='LC268'><br/></div><div class='line' id='LC269'>&nbsp;&nbsp;&nbsp;&nbsp;c) Convey individual copies of the object code with a copy of the</div><div class='line' id='LC270'>&nbsp;&nbsp;&nbsp;&nbsp;written offer to provide the Corresponding Source.  This</div><div class='line' id='LC271'>&nbsp;&nbsp;&nbsp;&nbsp;alternative is allowed only occasionally and noncommercially, and</div><div class='line' id='LC272'>&nbsp;&nbsp;&nbsp;&nbsp;only if you received the object code with such an offer, in accord</div><div class='line' id='LC273'>&nbsp;&nbsp;&nbsp;&nbsp;with subsection 6b.</div><div class='line' id='LC274'><br/></div><div class='line' id='LC275'>&nbsp;&nbsp;&nbsp;&nbsp;d) Convey the object code by offering access from a designated</div><div class='line' id='LC276'>&nbsp;&nbsp;&nbsp;&nbsp;place (gratis or for a charge), and offer equivalent access to the</div><div class='line' id='LC277'>&nbsp;&nbsp;&nbsp;&nbsp;Corresponding Source in the same way through the same place at no</div><div class='line' id='LC278'>&nbsp;&nbsp;&nbsp;&nbsp;further charge.  You need not require recipients to copy the</div><div class='line' id='LC279'>&nbsp;&nbsp;&nbsp;&nbsp;Corresponding Source along with the object code.  If the place to</div><div class='line' id='LC280'>&nbsp;&nbsp;&nbsp;&nbsp;copy the object code is a network server, the Corresponding Source</div><div class='line' id='LC281'>&nbsp;&nbsp;&nbsp;&nbsp;may be on a different server (operated by you or a third party)</div><div class='line' id='LC282'>&nbsp;&nbsp;&nbsp;&nbsp;that supports equivalent copying facilities, provided you maintain</div><div class='line' id='LC283'>&nbsp;&nbsp;&nbsp;&nbsp;clear directions next to the object code saying where to find the</div><div class='line' id='LC284'>&nbsp;&nbsp;&nbsp;&nbsp;Corresponding Source.  Regardless of what server hosts the</div><div class='line' id='LC285'>&nbsp;&nbsp;&nbsp;&nbsp;Corresponding Source, you remain obligated to ensure that it is</div><div class='line' id='LC286'>&nbsp;&nbsp;&nbsp;&nbsp;available for as long as needed to satisfy these requirements.</div><div class='line' id='LC287'><br/></div><div class='line' id='LC288'>&nbsp;&nbsp;&nbsp;&nbsp;e) Convey the object code using peer-to-peer transmission, provided</div><div class='line' id='LC289'>&nbsp;&nbsp;&nbsp;&nbsp;you inform other peers where the object code and Corresponding</div><div class='line' id='LC290'>&nbsp;&nbsp;&nbsp;&nbsp;Source of the work are being offered to the general public at no</div><div class='line' id='LC291'>&nbsp;&nbsp;&nbsp;&nbsp;charge under subsection 6d.</div><div class='line' id='LC292'><br/></div><div class='line' id='LC293'>&nbsp;&nbsp;A separable portion of the object code, whose source code is excluded</div><div class='line' id='LC294'>from the Corresponding Source as a System Library, need not be</div><div class='line' id='LC295'>included in conveying the object code work.</div><div class='line' id='LC296'><br/></div><div class='line' id='LC297'>&nbsp;&nbsp;A &quot;User Product&quot; is either (1) a &quot;consumer product&quot;, which means any</div><div class='line' id='LC298'>tangible personal property which is normally used for personal, family,</div><div class='line' id='LC299'>or household purposes, or (2) anything designed or sold for incorporation</div><div class='line' id='LC300'>into a dwelling.  In determining whether a product is a consumer product,</div><div class='line' id='LC301'>doubtful cases shall be resolved in favor of coverage.  For a particular</div><div class='line' id='LC302'>product received by a particular user, &quot;normally used&quot; refers to a</div><div class='line' id='LC303'>typical or common use of that class of product, regardless of the status</div><div class='line' id='LC304'>of the particular user or of the way in which the particular user</div><div class='line' id='LC305'>actually uses, or expects or is expected to use, the product.  A product</div><div class='line' id='LC306'>is a consumer product regardless of whether the product has substantial</div><div class='line' id='LC307'>commercial, industrial or non-consumer uses, unless such uses represent</div><div class='line' id='LC308'>the only significant mode of use of the product.</div><div class='line' id='LC309'><br/></div><div class='line' id='LC310'>&nbsp;&nbsp;&quot;Installation Information&quot; for a User Product means any methods,</div><div class='line' id='LC311'>procedures, authorization keys, or other information required to install</div><div class='line' id='LC312'>and execute modified versions of a covered work in that User Product from</div><div class='line' id='LC313'>a modified version of its Corresponding Source.  The information must</div><div class='line' id='LC314'>suffice to ensure that the continued functioning of the modified object</div><div class='line' id='LC315'>code is in no case prevented or interfered with solely because</div><div class='line' id='LC316'>modification has been made.</div><div class='line' id='LC317'><br/></div><div class='line' id='LC318'>&nbsp;&nbsp;If you convey an object code work under this section in, or with, or</div><div class='line' id='LC319'>specifically for use in, a User Product, and the conveying occurs as</div><div class='line' id='LC320'>part of a transaction in which the right of possession and use of the</div><div class='line' id='LC321'>User Product is transferred to the recipient in perpetuity or for a</div><div class='line' id='LC322'>fixed term (regardless of how the transaction is characterized), the</div><div class='line' id='LC323'>Corresponding Source conveyed under this section must be accompanied</div><div class='line' id='LC324'>by the Installation Information.  But this requirement does not apply</div><div class='line' id='LC325'>if neither you nor any third party retains the ability to install</div><div class='line' id='LC326'>modified object code on the User Product (for example, the work has</div><div class='line' id='LC327'>been installed in ROM).</div><div class='line' id='LC328'><br/></div><div class='line' id='LC329'>&nbsp;&nbsp;The requirement to provide Installation Information does not include a</div><div class='line' id='LC330'>requirement to continue to provide support service, warranty, or updates</div><div class='line' id='LC331'>for a work that has been modified or installed by the recipient, or for</div><div class='line' id='LC332'>the User Product in which it has been modified or installed.  Access to a</div><div class='line' id='LC333'>network may be denied when the modification itself materially and</div><div class='line' id='LC334'>adversely affects the operation of the network or violates the rules and</div><div class='line' id='LC335'>protocols for communication across the network.</div><div class='line' id='LC336'><br/></div><div class='line' id='LC337'>&nbsp;&nbsp;Corresponding Source conveyed, and Installation Information provided,</div><div class='line' id='LC338'>in accord with this section must be in a format that is publicly</div><div class='line' id='LC339'>documented (and with an implementation available to the public in</div><div class='line' id='LC340'>source code form), and must require no special password or key for</div><div class='line' id='LC341'>unpacking, reading or copying.</div><div class='line' id='LC342'><br/></div><div class='line' id='LC343'>&nbsp;&nbsp;7. Additional Terms.</div><div class='line' id='LC344'><br/></div><div class='line' id='LC345'>&nbsp;&nbsp;&quot;Additional permissions&quot; are terms that supplement the terms of this</div><div class='line' id='LC346'>License by making exceptions from one or more of its conditions.</div><div class='line' id='LC347'>Additional permissions that are applicable to the entire Program shall</div><div class='line' id='LC348'>be treated as though they were included in this License, to the extent</div><div class='line' id='LC349'>that they are valid under applicable law.  If additional permissions</div><div class='line' id='LC350'>apply only to part of the Program, that part may be used separately</div><div class='line' id='LC351'>under those permissions, but the entire Program remains governed by</div><div class='line' id='LC352'>this License without regard to the additional permissions.</div><div class='line' id='LC353'><br/></div><div class='line' id='LC354'>&nbsp;&nbsp;When you convey a copy of a covered work, you may at your option</div><div class='line' id='LC355'>remove any additional permissions from that copy, or from any part of</div><div class='line' id='LC356'>it.  (Additional permissions may be written to require their own</div><div class='line' id='LC357'>removal in certain cases when you modify the work.)  You may place</div><div class='line' id='LC358'>additional permissions on material, added by you to a covered work,</div><div class='line' id='LC359'>for which you have or can give appropriate copyright permission.</div><div class='line' id='LC360'><br/></div><div class='line' id='LC361'>&nbsp;&nbsp;Notwithstanding any other provision of this License, for material you</div><div class='line' id='LC362'>add to a covered work, you may (if authorized by the copyright holders of</div><div class='line' id='LC363'>that material) supplement the terms of this License with terms:</div><div class='line' id='LC364'><br/></div><div class='line' id='LC365'>&nbsp;&nbsp;&nbsp;&nbsp;a) Disclaiming warranty or limiting liability differently from the</div><div class='line' id='LC366'>&nbsp;&nbsp;&nbsp;&nbsp;terms of sections 15 and 16 of this License; or</div><div class='line' id='LC367'><br/></div><div class='line' id='LC368'>&nbsp;&nbsp;&nbsp;&nbsp;b) Requiring preservation of specified reasonable legal notices or</div><div class='line' id='LC369'>&nbsp;&nbsp;&nbsp;&nbsp;author attributions in that material or in the Appropriate Legal</div><div class='line' id='LC370'>&nbsp;&nbsp;&nbsp;&nbsp;Notices displayed by works containing it; or</div><div class='line' id='LC371'><br/></div><div class='line' id='LC372'>&nbsp;&nbsp;&nbsp;&nbsp;c) Prohibiting misrepresentation of the origin of that material, or</div><div class='line' id='LC373'>&nbsp;&nbsp;&nbsp;&nbsp;requiring that modified versions of such material be marked in</div><div class='line' id='LC374'>&nbsp;&nbsp;&nbsp;&nbsp;reasonable ways as different from the original version; or</div><div class='line' id='LC375'><br/></div><div class='line' id='LC376'>&nbsp;&nbsp;&nbsp;&nbsp;d) Limiting the use for publicity purposes of names of licensors or</div><div class='line' id='LC377'>&nbsp;&nbsp;&nbsp;&nbsp;authors of the material; or</div><div class='line' id='LC378'><br/></div><div class='line' id='LC379'>&nbsp;&nbsp;&nbsp;&nbsp;e) Declining to grant rights under trademark law for use of some</div><div class='line' id='LC380'>&nbsp;&nbsp;&nbsp;&nbsp;trade names, trademarks, or service marks; or</div><div class='line' id='LC381'><br/></div><div class='line' id='LC382'>&nbsp;&nbsp;&nbsp;&nbsp;f) Requiring indemnification of licensors and authors of that</div><div class='line' id='LC383'>&nbsp;&nbsp;&nbsp;&nbsp;material by anyone who conveys the material (or modified versions of</div><div class='line' id='LC384'>&nbsp;&nbsp;&nbsp;&nbsp;it) with contractual assumptions of liability to the recipient, for</div><div class='line' id='LC385'>&nbsp;&nbsp;&nbsp;&nbsp;any liability that these contractual assumptions directly impose on</div><div class='line' id='LC386'>&nbsp;&nbsp;&nbsp;&nbsp;those licensors and authors.</div><div class='line' id='LC387'><br/></div><div class='line' id='LC388'>&nbsp;&nbsp;All other non-permissive additional terms are considered &quot;further</div><div class='line' id='LC389'>restrictions&quot; within the meaning of section 10.  If the Program as you</div><div class='line' id='LC390'>received it, or any part of it, contains a notice stating that it is</div><div class='line' id='LC391'>governed by this License along with a term that is a further</div><div class='line' id='LC392'>restriction, you may remove that term.  If a license document contains</div><div class='line' id='LC393'>a further restriction but permits relicensing or conveying under this</div><div class='line' id='LC394'>License, you may add to a covered work material governed by the terms</div><div class='line' id='LC395'>of that license document, provided that the further restriction does</div><div class='line' id='LC396'>not survive such relicensing or conveying.</div><div class='line' id='LC397'><br/></div><div class='line' id='LC398'>&nbsp;&nbsp;If you add terms to a covered work in accord with this section, you</div><div class='line' id='LC399'>must place, in the relevant source files, a statement of the</div><div class='line' id='LC400'>additional terms that apply to those files, or a notice indicating</div><div class='line' id='LC401'>where to find the applicable terms.</div><div class='line' id='LC402'><br/></div><div class='line' id='LC403'>&nbsp;&nbsp;Additional terms, permissive or non-permissive, may be stated in the</div><div class='line' id='LC404'>form of a separately written license, or stated as exceptions;</div><div class='line' id='LC405'>the above requirements apply either way.</div><div class='line' id='LC406'><br/></div><div class='line' id='LC407'>&nbsp;&nbsp;8. Termination.</div><div class='line' id='LC408'><br/></div><div class='line' id='LC409'>&nbsp;&nbsp;You may not propagate or modify a covered work except as expressly</div><div class='line' id='LC410'>provided under this License.  Any attempt otherwise to propagate or</div><div class='line' id='LC411'>modify it is void, and will automatically terminate your rights under</div><div class='line' id='LC412'>this License (including any patent licenses granted under the third</div><div class='line' id='LC413'>paragraph of section 11).</div><div class='line' id='LC414'><br/></div><div class='line' id='LC415'>&nbsp;&nbsp;However, if you cease all violation of this License, then your</div><div class='line' id='LC416'>license from a particular copyright holder is reinstated (a)</div><div class='line' id='LC417'>provisionally, unless and until the copyright holder explicitly and</div><div class='line' id='LC418'>finally terminates your license, and (b) permanently, if the copyright</div><div class='line' id='LC419'>holder fails to notify you of the violation by some reasonable means</div><div class='line' id='LC420'>prior to 60 days after the cessation.</div><div class='line' id='LC421'><br/></div><div class='line' id='LC422'>&nbsp;&nbsp;Moreover, your license from a particular copyright holder is</div><div class='line' id='LC423'>reinstated permanently if the copyright holder notifies you of the</div><div class='line' id='LC424'>violation by some reasonable means, this is the first time you have</div><div class='line' id='LC425'>received notice of violation of this License (for any work) from that</div><div class='line' id='LC426'>copyright holder, and you cure the violation prior to 30 days after</div><div class='line' id='LC427'>your receipt of the notice.</div><div class='line' id='LC428'><br/></div><div class='line' id='LC429'>&nbsp;&nbsp;Termination of your rights under this section does not terminate the</div><div class='line' id='LC430'>licenses of parties who have received copies or rights from you under</div><div class='line' id='LC431'>this License.  If your rights have been terminated and not permanently</div><div class='line' id='LC432'>reinstated, you do not qualify to receive new licenses for the same</div><div class='line' id='LC433'>material under section 10.</div><div class='line' id='LC434'><br/></div><div class='line' id='LC435'>&nbsp;&nbsp;9. Acceptance Not Required for Having Copies.</div><div class='line' id='LC436'><br/></div><div class='line' id='LC437'>&nbsp;&nbsp;You are not required to accept this License in order to receive or</div><div class='line' id='LC438'>run a copy of the Program.  Ancillary propagation of a covered work</div><div class='line' id='LC439'>occurring solely as a consequence of using peer-to-peer transmission</div><div class='line' id='LC440'>to receive a copy likewise does not require acceptance.  However,</div><div class='line' id='LC441'>nothing other than this License grants you permission to propagate or</div><div class='line' id='LC442'>modify any covered work.  These actions infringe copyright if you do</div><div class='line' id='LC443'>not accept this License.  Therefore, by modifying or propagating a</div><div class='line' id='LC444'>covered work, you indicate your acceptance of this License to do so.</div><div class='line' id='LC445'><br/></div><div class='line' id='LC446'>&nbsp;&nbsp;10. Automatic Licensing of Downstream Recipients.</div><div class='line' id='LC447'><br/></div><div class='line' id='LC448'>&nbsp;&nbsp;Each time you convey a covered work, the recipient automatically</div><div class='line' id='LC449'>receives a license from the original licensors, to run, modify and</div><div class='line' id='LC450'>propagate that work, subject to this License.  You are not responsible</div><div class='line' id='LC451'>for enforcing compliance by third parties with this License.</div><div class='line' id='LC452'><br/></div><div class='line' id='LC453'>&nbsp;&nbsp;An &quot;entity transaction&quot; is a transaction transferring control of an</div><div class='line' id='LC454'>organization, or substantially all assets of one, or subdividing an</div><div class='line' id='LC455'>organization, or merging organizations.  If propagation of a covered</div><div class='line' id='LC456'>work results from an entity transaction, each party to that</div><div class='line' id='LC457'>transaction who receives a copy of the work also receives whatever</div><div class='line' id='LC458'>licenses to the work the party&#39;s predecessor in interest had or could</div><div class='line' id='LC459'>give under the previous paragraph, plus a right to possession of the</div><div class='line' id='LC460'>Corresponding Source of the work from the predecessor in interest, if</div><div class='line' id='LC461'>the predecessor has it or can get it with reasonable efforts.</div><div class='line' id='LC462'><br/></div><div class='line' id='LC463'>&nbsp;&nbsp;You may not impose any further restrictions on the exercise of the</div><div class='line' id='LC464'>rights granted or affirmed under this License.  For example, you may</div><div class='line' id='LC465'>not impose a license fee, royalty, or other charge for exercise of</div><div class='line' id='LC466'>rights granted under this License, and you may not initiate litigation</div><div class='line' id='LC467'>(including a cross-claim or counterclaim in a lawsuit) alleging that</div><div class='line' id='LC468'>any patent claim is infringed by making, using, selling, offering for</div><div class='line' id='LC469'>sale, or importing the Program or any portion of it.</div><div class='line' id='LC470'><br/></div><div class='line' id='LC471'>&nbsp;&nbsp;11. Patents.</div><div class='line' id='LC472'><br/></div><div class='line' id='LC473'>&nbsp;&nbsp;A &quot;contributor&quot; is a copyright holder who authorizes use under this</div><div class='line' id='LC474'>License of the Program or a work on which the Program is based.  The</div><div class='line' id='LC475'>work thus licensed is called the contributor&#39;s &quot;contributor version&quot;.</div><div class='line' id='LC476'><br/></div><div class='line' id='LC477'>&nbsp;&nbsp;A contributor&#39;s &quot;essential patent claims&quot; are all patent claims</div><div class='line' id='LC478'>owned or controlled by the contributor, whether already acquired or</div><div class='line' id='LC479'>hereafter acquired, that would be infringed by some manner, permitted</div><div class='line' id='LC480'>by this License, of making, using, or selling its contributor version,</div><div class='line' id='LC481'>but do not include claims that would be infringed only as a</div><div class='line' id='LC482'>consequence of further modification of the contributor version.  For</div><div class='line' id='LC483'>purposes of this definition, &quot;control&quot; includes the right to grant</div><div class='line' id='LC484'>patent sublicenses in a manner consistent with the requirements of</div><div class='line' id='LC485'>this License.</div><div class='line' id='LC486'><br/></div><div class='line' id='LC487'>&nbsp;&nbsp;Each contributor grants you a non-exclusive, worldwide, royalty-free</div><div class='line' id='LC488'>patent license under the contributor&#39;s essential patent claims, to</div><div class='line' id='LC489'>make, use, sell, offer for sale, import and otherwise run, modify and</div><div class='line' id='LC490'>propagate the contents of its contributor version.</div><div class='line' id='LC491'><br/></div><div class='line' id='LC492'>&nbsp;&nbsp;In the following three paragraphs, a &quot;patent license&quot; is any express</div><div class='line' id='LC493'>agreement or commitment, however denominated, not to enforce a patent</div><div class='line' id='LC494'>(such as an express permission to practice a patent or covenant not to</div><div class='line' id='LC495'>sue for patent infringement).  To &quot;grant&quot; such a patent license to a</div><div class='line' id='LC496'>party means to make such an agreement or commitment not to enforce a</div><div class='line' id='LC497'>patent against the party.</div><div class='line' id='LC498'><br/></div><div class='line' id='LC499'>&nbsp;&nbsp;If you convey a covered work, knowingly relying on a patent license,</div><div class='line' id='LC500'>and the Corresponding Source of the work is not available for anyone</div><div class='line' id='LC501'>to copy, free of charge and under the terms of this License, through a</div><div class='line' id='LC502'>publicly available network server or other readily accessible means,</div><div class='line' id='LC503'>then you must either (1) cause the Corresponding Source to be so</div><div class='line' id='LC504'>available, or (2) arrange to deprive yourself of the benefit of the</div><div class='line' id='LC505'>patent license for this particular work, or (3) arrange, in a manner</div><div class='line' id='LC506'>consistent with the requirements of this License, to extend the patent</div><div class='line' id='LC507'>license to downstream recipients.  &quot;Knowingly relying&quot; means you have</div><div class='line' id='LC508'>actual knowledge that, but for the patent license, your conveying the</div><div class='line' id='LC509'>covered work in a country, or your recipient&#39;s use of the covered work</div><div class='line' id='LC510'>in a country, would infringe one or more identifiable patents in that</div><div class='line' id='LC511'>country that you have reason to believe are valid.</div><div class='line' id='LC512'><br/></div><div class='line' id='LC513'>&nbsp;&nbsp;If, pursuant to or in connection with a single transaction or</div><div class='line' id='LC514'>arrangement, you convey, or propagate by procuring conveyance of, a</div><div class='line' id='LC515'>covered work, and grant a patent license to some of the parties</div><div class='line' id='LC516'>receiving the covered work authorizing them to use, propagate, modify</div><div class='line' id='LC517'>or convey a specific copy of the covered work, then the patent license</div><div class='line' id='LC518'>you grant is automatically extended to all recipients of the covered</div><div class='line' id='LC519'>work and works based on it.</div><div class='line' id='LC520'><br/></div><div class='line' id='LC521'>&nbsp;&nbsp;A patent license is &quot;discriminatory&quot; if it does not include within</div><div class='line' id='LC522'>the scope of its coverage, prohibits the exercise of, or is</div><div class='line' id='LC523'>conditioned on the non-exercise of one or more of the rights that are</div><div class='line' id='LC524'>specifically granted under this License.  You may not convey a covered</div><div class='line' id='LC525'>work if you are a party to an arrangement with a third party that is</div><div class='line' id='LC526'>in the business of distributing software, under which you make payment</div><div class='line' id='LC527'>to the third party based on the extent of your activity of conveying</div><div class='line' id='LC528'>the work, and under which the third party grants, to any of the</div><div class='line' id='LC529'>parties who would receive the covered work from you, a discriminatory</div><div class='line' id='LC530'>patent license (a) in connection with copies of the covered work</div><div class='line' id='LC531'>conveyed by you (or copies made from those copies), or (b) primarily</div><div class='line' id='LC532'>for and in connection with specific products or compilations that</div><div class='line' id='LC533'>contain the covered work, unless you entered into that arrangement,</div><div class='line' id='LC534'>or that patent license was granted, prior to 28 March 2007.</div><div class='line' id='LC535'><br/></div><div class='line' id='LC536'>&nbsp;&nbsp;Nothing in this License shall be construed as excluding or limiting</div><div class='line' id='LC537'>any implied license or other defenses to infringement that may</div><div class='line' id='LC538'>otherwise be available to you under applicable patent law.</div><div class='line' id='LC539'><br/></div><div class='line' id='LC540'>&nbsp;&nbsp;12. No Surrender of Others&#39; Freedom.</div><div class='line' id='LC541'><br/></div><div class='line' id='LC542'>&nbsp;&nbsp;If conditions are imposed on you (whether by court order, agreement or</div><div class='line' id='LC543'>otherwise) that contradict the conditions of this License, they do not</div><div class='line' id='LC544'>excuse you from the conditions of this License.  If you cannot convey a</div><div class='line' id='LC545'>covered work so as to satisfy simultaneously your obligations under this</div><div class='line' id='LC546'>License and any other pertinent obligations, then as a consequence you may</div><div class='line' id='LC547'>not convey it at all.  For example, if you agree to terms that obligate you</div><div class='line' id='LC548'>to collect a royalty for further conveying from those to whom you convey</div><div class='line' id='LC549'>the Program, the only way you could satisfy both those terms and this</div><div class='line' id='LC550'>License would be to refrain entirely from conveying the Program.</div><div class='line' id='LC551'><br/></div><div class='line' id='LC552'>&nbsp;&nbsp;13. Use with the GNU Affero General Public License.</div><div class='line' id='LC553'><br/></div><div class='line' id='LC554'>&nbsp;&nbsp;Notwithstanding any other provision of this License, you have</div><div class='line' id='LC555'>permission to link or combine any covered work with a work licensed</div><div class='line' id='LC556'>under version 3 of the GNU Affero General Public License into a single</div><div class='line' id='LC557'>combined work, and to convey the resulting work.  The terms of this</div><div class='line' id='LC558'>License will continue to apply to the part which is the covered work,</div><div class='line' id='LC559'>but the special requirements of the GNU Affero General Public License,</div><div class='line' id='LC560'>section 13, concerning interaction through a network will apply to the</div><div class='line' id='LC561'>combination as such.</div><div class='line' id='LC562'><br/></div><div class='line' id='LC563'>&nbsp;&nbsp;14. Revised Versions of this License.</div><div class='line' id='LC564'><br/></div><div class='line' id='LC565'>&nbsp;&nbsp;The Free Software Foundation may publish revised and/or new versions of</div><div class='line' id='LC566'>the GNU General Public License from time to time.  Such new versions will</div><div class='line' id='LC567'>be similar in spirit to the present version, but may differ in detail to</div><div class='line' id='LC568'>address new problems or concerns.</div><div class='line' id='LC569'><br/></div><div class='line' id='LC570'>&nbsp;&nbsp;Each version is given a distinguishing version number.  If the</div><div class='line' id='LC571'>Program specifies that a certain numbered version of the GNU General</div><div class='line' id='LC572'>Public License &quot;or any later version&quot; applies to it, you have the</div><div class='line' id='LC573'>option of following the terms and conditions either of that numbered</div><div class='line' id='LC574'>version or of any later version published by the Free Software</div><div class='line' id='LC575'>Foundation.  If the Program does not specify a version number of the</div><div class='line' id='LC576'>GNU General Public License, you may choose any version ever published</div><div class='line' id='LC577'>by the Free Software Foundation.</div><div class='line' id='LC578'><br/></div><div class='line' id='LC579'>&nbsp;&nbsp;If the Program specifies that a proxy can decide which future</div><div class='line' id='LC580'>versions of the GNU General Public License can be used, that proxy&#39;s</div><div class='line' id='LC581'>public statement of acceptance of a version permanently authorizes you</div><div class='line' id='LC582'>to choose that version for the Program.</div><div class='line' id='LC583'><br/></div><div class='line' id='LC584'>&nbsp;&nbsp;Later license versions may give you additional or different</div><div class='line' id='LC585'>permissions.  However, no additional obligations are imposed on any</div><div class='line' id='LC586'>author or copyright holder as a result of your choosing to follow a</div><div class='line' id='LC587'>later version.</div><div class='line' id='LC588'><br/></div><div class='line' id='LC589'>&nbsp;&nbsp;15. Disclaimer of Warranty.</div><div class='line' id='LC590'><br/></div><div class='line' id='LC591'>&nbsp;&nbsp;THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY</div><div class='line' id='LC592'>APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT</div><div class='line' id='LC593'>HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM &quot;AS IS&quot; WITHOUT WARRANTY</div><div class='line' id='LC594'>OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,</div><div class='line' id='LC595'>THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR</div><div class='line' id='LC596'>PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM</div><div class='line' id='LC597'>IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF</div><div class='line' id='LC598'>ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</div><div class='line' id='LC599'><br/></div><div class='line' id='LC600'>&nbsp;&nbsp;16. Limitation of Liability.</div><div class='line' id='LC601'><br/></div><div class='line' id='LC602'>&nbsp;&nbsp;IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING</div><div class='line' id='LC603'>WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS</div><div class='line' id='LC604'>THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY</div><div class='line' id='LC605'>GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE</div><div class='line' id='LC606'>USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF</div><div class='line' id='LC607'>DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD</div><div class='line' id='LC608'>PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),</div><div class='line' id='LC609'>EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF</div><div class='line' id='LC610'>SUCH DAMAGES.</div><div class='line' id='LC611'><br/></div><div class='line' id='LC612'>&nbsp;&nbsp;17. Interpretation of Sections 15 and 16.</div><div class='line' id='LC613'><br/></div><div class='line' id='LC614'>&nbsp;&nbsp;If the disclaimer of warranty and limitation of liability provided</div><div class='line' id='LC615'>above cannot be given local legal effect according to their terms,</div><div class='line' id='LC616'>reviewing courts shall apply local law that most closely approximates</div><div class='line' id='LC617'>an absolute waiver of all civil liability in connection with the</div><div class='line' id='LC618'>Program, unless a warranty or assumption of liability accompanies a</div><div class='line' id='LC619'>copy of the Program in return for a fee.</div><div class='line' id='LC620'><br/></div><div class='line' id='LC621'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END OF TERMS AND CONDITIONS</div><div class='line' id='LC622'><br/></div><div class='line' id='LC623'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;How to Apply These Terms to Your New Programs</div><div class='line' id='LC624'><br/></div><div class='line' id='LC625'>&nbsp;&nbsp;If you develop a new program, and you want it to be of the greatest</div><div class='line' id='LC626'>possible use to the public, the best way to achieve this is to make it</div><div class='line' id='LC627'>free software which everyone can redistribute and change under these terms.</div><div class='line' id='LC628'><br/></div><div class='line' id='LC629'>&nbsp;&nbsp;To do so, attach the following notices to the program.  It is safest</div><div class='line' id='LC630'>to attach them to the start of each source file to most effectively</div><div class='line' id='LC631'>state the exclusion of warranty; and each file should have at least</div><div class='line' id='LC632'>the &quot;copyright&quot; line and a pointer to where the full notice is found.</div><div class='line' id='LC633'><br/></div><div class='line' id='LC634'>&nbsp;&nbsp;&nbsp;&nbsp;&lt;one line to give the program&#39;s name and a brief idea of what it does.&gt;</div><div class='line' id='LC635'>&nbsp;&nbsp;&nbsp;&nbsp;Copyright (C) &lt;year&gt;  &lt;name of author&gt;</div><div class='line' id='LC636'><br/></div><div class='line' id='LC637'>&nbsp;&nbsp;&nbsp;&nbsp;This program is free software: you can redistribute it and/or modify</div><div class='line' id='LC638'>&nbsp;&nbsp;&nbsp;&nbsp;it under the terms of the GNU General Public License as published by</div><div class='line' id='LC639'>&nbsp;&nbsp;&nbsp;&nbsp;the Free Software Foundation, either version 3 of the License, or</div><div class='line' id='LC640'>&nbsp;&nbsp;&nbsp;&nbsp;(at your option) any later version.</div><div class='line' id='LC641'><br/></div><div class='line' id='LC642'>&nbsp;&nbsp;&nbsp;&nbsp;This program is distributed in the hope that it will be useful,</div><div class='line' id='LC643'>&nbsp;&nbsp;&nbsp;&nbsp;but WITHOUT ANY WARRANTY; without even the implied warranty of</div><div class='line' id='LC644'>&nbsp;&nbsp;&nbsp;&nbsp;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the</div><div class='line' id='LC645'>&nbsp;&nbsp;&nbsp;&nbsp;GNU General Public License for more details.</div><div class='line' id='LC646'><br/></div><div class='line' id='LC647'>&nbsp;&nbsp;&nbsp;&nbsp;You should have received a copy of the GNU General Public License</div><div class='line' id='LC648'>&nbsp;&nbsp;&nbsp;&nbsp;along with this program.  If not, see &lt;http://www.gnu.org/licenses/&gt;.</div><div class='line' id='LC649'><br/></div><div class='line' id='LC650'>Also add information on how to contact you by electronic and paper mail.</div><div class='line' id='LC651'><br/></div><div class='line' id='LC652'>&nbsp;&nbsp;If the program does terminal interaction, make it output a short</div><div class='line' id='LC653'>notice like this when it starts in an interactive mode:</div><div class='line' id='LC654'><br/></div><div class='line' id='LC655'>&nbsp;&nbsp;&nbsp;&nbsp;&lt;program&gt;  Copyright (C) &lt;year&gt;  &lt;name of author&gt;</div><div class='line' id='LC656'>&nbsp;&nbsp;&nbsp;&nbsp;This program comes with ABSOLUTELY NO WARRANTY; for details type `show w&#39;.</div><div class='line' id='LC657'>&nbsp;&nbsp;&nbsp;&nbsp;This is free software, and you are welcome to redistribute it</div><div class='line' id='LC658'>&nbsp;&nbsp;&nbsp;&nbsp;under certain conditions; type `show c&#39; for details.</div><div class='line' id='LC659'><br/></div><div class='line' id='LC660'>The hypothetical commands `show w&#39; and `show c&#39; should show the appropriate</div><div class='line' id='LC661'>parts of the General Public License.  Of course, your program&#39;s commands</div><div class='line' id='LC662'>might be different; for a GUI interface, you would use an &quot;about box&quot;.</div><div class='line' id='LC663'><br/></div><div class='line' id='LC664'>&nbsp;&nbsp;You should also get your employer (if you work as a programmer) or school,</div><div class='line' id='LC665'>if any, to sign a &quot;copyright disclaimer&quot; for the program, if necessary.</div><div class='line' id='LC666'>For more information on this, and how to apply and follow the GNU GPL, see</div><div class='line' id='LC667'>&lt;http://www.gnu.org/licenses/&gt;.</div><div class='line' id='LC668'><br/></div><div class='line' id='LC669'>&nbsp;&nbsp;The GNU General Public License does not permit incorporating your program</div><div class='line' id='LC670'>into proprietary programs.  If your program is a subroutine library, you</div><div class='line' id='LC671'>may consider it more useful to permit linking proprietary applications with</div><div class='line' id='LC672'>the library.  If this is what you want to do, use the GNU Lesser General</div><div class='line' id='LC673'>Public License instead of this License.  But first, please read</div><div class='line' id='LC674'>&lt;http://www.gnu.org/philosophy/why-not-lgpl.html&gt;.</div></pre></div>+          </td>+        </tr>+      </table>+  </div>++          </div>+        </div>+      </div>+    </div>++  </div>++<div class="frame frame-loading large-loading-area" style="display:none;" data-tree-list-url="/ktklam9/HaskellNN/tree-list/635cbeb6d8a03ebeb4cf9da1692066bc141de30b" data-blob-url-prefix="/ktklam9/HaskellNN/blob/635cbeb6d8a03ebeb4cf9da1692066bc141de30b">+  <img src="https://a248.e.akamai.net/assets.github.com/images/spinners/octocat-spinner-64.gif?1329872004" height="64" width="64">+</div>++      </div>+      <div class="context-overlay"></div>+    </div>+++      <!-- footer -->+      <div id="footer" >+        +  <div class="upper_footer">+     <div class="container clearfix">++       <!--[if IE]><h4 id="blacktocat_ie">GitHub Links</h4><![endif]-->+       <![if !IE]><h4 id="blacktocat">GitHub Links</h4><![endif]>++       <ul class="footer_nav">+         <h4>GitHub</h4>+         <li><a href="https://github.com/about">About</a></li>+         <li><a href="https://github.com/blog">Blog</a></li>+         <li><a href="https://github.com/features">Features</a></li>+         <li><a href="https://github.com/contact">Contact &amp; Support</a></li>+         <li><a href="https://github.com/training">Training</a></li>+         <li><a href="http://enterprise.github.com/">GitHub Enterprise</a></li>+         <li><a href="http://status.github.com/">Site Status</a></li>+       </ul>++       <ul class="footer_nav">+         <h4>Tools</h4>+         <li><a href="http://get.gaug.es/">Gauges: Analyze web traffic</a></li>+         <li><a href="http://speakerdeck.com">Speaker Deck: Presentations</a></li>+         <li><a href="https://gist.github.com">Gist: Code snippets</a></li>+         <li><a href="http://mac.github.com/">GitHub for Mac</a></li>+         <li><a href="http://mobile.github.com/">Issues for iPhone</a></li>+         <li><a href="http://jobs.github.com/">Job Board</a></li>+       </ul>++       <ul class="footer_nav">+         <h4>Extras</h4>+         <li><a href="http://shop.github.com/">GitHub Shop</a></li>+         <li><a href="http://octodex.github.com/">The Octodex</a></li>+       </ul>++       <ul class="footer_nav">+         <h4>Documentation</h4>+         <li><a href="http://help.github.com/">GitHub Help</a></li>+         <li><a href="http://developer.github.com/">Developer API</a></li>+         <li><a href="http://github.github.com/github-flavored-markdown/">GitHub Flavored Markdown</a></li>+         <li><a href="http://pages.github.com/">GitHub Pages</a></li>+       </ul>++     </div><!-- /.site -->+  </div><!-- /.upper_footer -->++<div class="lower_footer">+  <div class="container clearfix">+    <!--[if IE]><div id="legal_ie"><![endif]-->+    <![if !IE]><div id="legal"><![endif]>+      <ul>+          <li><a href="https://github.com/site/terms">Terms of Service</a></li>+          <li><a href="https://github.com/site/privacy">Privacy</a></li>+          <li><a href="https://github.com/security">Security</a></li>+      </ul>++      <p>&copy; 2012 <span title="0.04249s from fe7.rs.github.com">GitHub</span> Inc. All rights reserved.</p>+    </div><!-- /#legal or /#legal_ie-->++      <div class="sponsor">+        <a href="http://www.rackspace.com" class="logo">+          <img alt="Dedicated Server" height="36" src="https://a248.e.akamai.net/assets.github.com/images/modules/footer/rackspaces_logo.png?1329521039" width="38" />+        </a>+        Powered by the <a href="http://www.rackspace.com ">Dedicated+        Servers</a> and<br/> <a href="http://www.rackspacecloud.com">Cloud+        Computing</a> of Rackspace Hosting<span>&reg;</span>+      </div>+  </div><!-- /.site -->+</div><!-- /.lower_footer -->++      </div><!-- /#footer -->++    ++<div id="keyboard_shortcuts_pane" class="instapaper_ignore readability-extra" style="display:none">+  <h2>Keyboard Shortcuts <small><a href="#" class="js-see-all-keyboard-shortcuts">(see all)</a></small></h2>++  <div class="columns threecols">+    <div class="column first">+      <h3>Site wide shortcuts</h3>+      <dl class="keyboard-mappings">+        <dt>s</dt>+        <dd>Focus site search</dd>+      </dl>+      <dl class="keyboard-mappings">+        <dt>?</dt>+        <dd>Bring up this help dialog</dd>+      </dl>+    </div><!-- /.column.first -->++    <div class="column middle" style='display:none'>+      <h3>Commit list</h3>+      <dl class="keyboard-mappings">+        <dt>j</dt>+        <dd>Move selection down</dd>+      </dl>+      <dl class="keyboard-mappings">+        <dt>k</dt>+        <dd>Move selection up</dd>+      </dl>+      <dl class="keyboard-mappings">+        <dt>c <em>or</em> o <em>or</em> enter</dt>+        <dd>Open commit</dd>+      </dl>+      <dl class="keyboard-mappings">+        <dt>y</dt>+        <dd>Expand URL to its canonical form</dd>+      </dl>+    </div><!-- /.column.first -->++    <div class="column last" style='display:none'>+      <h3>Pull request list</h3>+      <dl class="keyboard-mappings">+        <dt>j</dt>+        <dd>Move selection down</dd>+      </dl>+      <dl class="keyboard-mappings">+        <dt>k</dt>+        <dd>Move selection up</dd>+      </dl>+      <dl class="keyboard-mappings">+        <dt>o <em>or</em> enter</dt>+        <dd>Open issue</dd>+      </dl>+    </div><!-- /.columns.last -->++  </div><!-- /.columns.equacols -->++  <div style='display:none'>+    <div class="rule"></div>++    <h3>Issues</h3>++    <div class="columns threecols">+      <div class="column first">+        <dl class="keyboard-mappings">+          <dt>j</dt>+          <dd>Move selection down</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>k</dt>+          <dd>Move selection up</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>x</dt>+          <dd>Toggle selection</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>o <em>or</em> enter</dt>+          <dd>Open issue</dd>+        </dl>+      </div><!-- /.column.first -->+      <div class="column middle">+        <dl class="keyboard-mappings">+          <dt>I</dt>+          <dd>Mark selection as read</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>U</dt>+          <dd>Mark selection as unread</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>e</dt>+          <dd>Close selection</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>y</dt>+          <dd>Remove selection from view</dd>+        </dl>+      </div><!-- /.column.middle -->+      <div class="column last">+        <dl class="keyboard-mappings">+          <dt>c</dt>+          <dd>Create issue</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>l</dt>+          <dd>Create label</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>i</dt>+          <dd>Back to inbox</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>u</dt>+          <dd>Back to issues</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>/</dt>+          <dd>Focus issues search</dd>+        </dl>+      </div>+    </div>+  </div>++  <div style='display:none'>+    <div class="rule"></div>++    <h3>Issues Dashboard</h3>++    <div class="columns threecols">+      <div class="column first">+        <dl class="keyboard-mappings">+          <dt>j</dt>+          <dd>Move selection down</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>k</dt>+          <dd>Move selection up</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>o <em>or</em> enter</dt>+          <dd>Open issue</dd>+        </dl>+      </div><!-- /.column.first -->+    </div>+  </div>++  <div style='display:none'>+    <div class="rule"></div>++    <h3>Network Graph</h3>+    <div class="columns equacols">+      <div class="column first">+        <dl class="keyboard-mappings">+          <dt><span class="badmono">←</span> <em>or</em> h</dt>+          <dd>Scroll left</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt><span class="badmono">→</span> <em>or</em> l</dt>+          <dd>Scroll right</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt><span class="badmono">↑</span> <em>or</em> k</dt>+          <dd>Scroll up</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt><span class="badmono">↓</span> <em>or</em> j</dt>+          <dd>Scroll down</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>t</dt>+          <dd>Toggle visibility of head labels</dd>+        </dl>+      </div><!-- /.column.first -->+      <div class="column last">+        <dl class="keyboard-mappings">+          <dt>shift <span class="badmono">←</span> <em>or</em> shift h</dt>+          <dd>Scroll all the way left</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>shift <span class="badmono">→</span> <em>or</em> shift l</dt>+          <dd>Scroll all the way right</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>shift <span class="badmono">↑</span> <em>or</em> shift k</dt>+          <dd>Scroll all the way up</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>shift <span class="badmono">↓</span> <em>or</em> shift j</dt>+          <dd>Scroll all the way down</dd>+        </dl>+      </div><!-- /.column.last -->+    </div>+  </div>++  <div >+    <div class="rule"></div>+    <div class="columns threecols">+      <div class="column first" >+        <h3>Source Code Browsing</h3>+        <dl class="keyboard-mappings">+          <dt>t</dt>+          <dd>Activates the file finder</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>l</dt>+          <dd>Jump to line</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>w</dt>+          <dd>Switch branch/tag</dd>+        </dl>+        <dl class="keyboard-mappings">+          <dt>y</dt>+          <dd>Expand URL to its canonical form</dd>+        </dl>+      </div>+    </div>+  </div>+</div>++    <div id="markdown-help" class="instapaper_ignore readability-extra">+  <h2>Markdown Cheat Sheet</h2>++  <div class="cheatsheet-content">++  <div class="mod">+    <div class="col">+      <h3>Format Text</h3>+      <p>Headers</p>+      <pre>+# This is an &lt;h1&gt; tag+## This is an &lt;h2&gt; tag+###### This is an &lt;h6&gt; tag</pre>+     <p>Text styles</p>+     <pre>+*This text will be italic*+_This will also be italic_+**This text will be bold**+__This will also be bold__++*You **can** combine them*+</pre>+    </div>+    <div class="col">+      <h3>Lists</h3>+      <p>Unordered</p>+      <pre>+* Item 1+* Item 2+  * Item 2a+  * Item 2b</pre>+     <p>Ordered</p>+     <pre>+1. Item 1+2. Item 2+3. Item 3+   * Item 3a+   * Item 3b</pre>+    </div>+    <div class="col">+      <h3>Miscellaneous</h3>+      <p>Images</p>+      <pre>+![GitHub Logo](/images/logo.png)+Format: ![Alt Text](url)+</pre>+     <p>Links</p>+     <pre>+http://github.com - automatic!+[GitHub](http://github.com)</pre>+<p>Blockquotes</p>+     <pre>+As Kanye West said:++> We're living the future so+> the present is our past.+</pre>+    </div>+  </div>+  <div class="rule"></div>++  <h3>Code Examples in Markdown</h3>+  <div class="col">+      <p>Syntax highlighting with <a href="http://github.github.com/github-flavored-markdown/" title="GitHub Flavored Markdown" target="_blank">GFM</a></p>+      <pre>+```javascript+function fancyAlert(arg) {+  if(arg) {+    $.facebox({div:'#foo'})+  }+}+```</pre>+    </div>+    <div class="col">+      <p>Or, indent your code 4 spaces</p>+      <pre>+Here is a Python code example+without syntax highlighting:++    def foo:+      if not bar:+        return true</pre>+    </div>+    <div class="col">+      <p>Inline code for comments</p>+      <pre>+I think you should use an+`&lt;addr&gt;` element here instead.</pre>+    </div>+  </div>++  </div>+</div>+++    <div class="ajax-error-message">+      <p><span class="icon"></span> Something went wrong with that request. Please try again. <a href="javascript:;" class="ajax-error-dismiss">Dismiss</a></p>+    </div>++    +    +    +    <span id='server_response_time' data-time='0.04361' data-host='fe7'></span>+  </body>+</html>+
+ Setup.hs view
@@ -0,0 +1,2 @@+import Distribution.Simple+main = defaultMain
+ src/Math/LevenbergMarquardt.hs view
@@ -0,0 +1,115 @@+----------------------------------------------------+-- |+-- Module     :  Math.LevenbergMarquardt+-- License    :  GPL+--+-- Maintainer :  Kiet Lam <ktklam9@gmail.com>+--+--+-- The Levenberg-Marquardt algorithm is a minimization+-- algorithm for functions expressed as a sum of squared+-- errors+--+-- This can be used for curve-fitting, multidimensional+-- function optimization, or neural networks training+--+--+----------------------------------------------------++module Math.LevenbergMarquardt (+  Function,+  Jacobian,+  lmMinimize+  ) where+++import Data.Packed.Vector+import Data.Packed.Matrix+import Numeric.LinearAlgebra.Algorithms+import Numeric.Container+++-- | Type that represents the function that can calculate the residues+type Function = Vector Double -> Vector Double+++-- | Type that represents the function that can calculate the jacobian matrix+--   of the residue with respect to each parameter+type Jacobian = Vector Double -> Matrix Double+++-- | Name says it all+sumSquared :: Vector Double -> Double+sumSquared = foldVector (+) 0 . mapVector (**2)+++-- | Evolves the parameter x for f(x) = sum-square(e(x)) so that f(x)+--   will be minimized, where:+--+--   f     = real-valued error function,+--   e(x)  = {e1(x),e2(x),..,eN(x)}, where+--   e1(x) = the residue at the vector x+--+--   NOTE: eN(x) is usually represented as (sample - hypothesis(x))+--+--         e.g.: In training neural networks, hypothesis(x) would be the+--               network's output for a training set, and sample would be the+--               expected output for that training set+--+--   NOTE: The dampening constant(lambda) should be set to 0.01 and the dampening+--         update value (beta) should be set to be 10+lmMinimize :: Function         -- ^ Multi-dimensional function that will+                               --   return a vector of residues+              -> Jacobian      -- ^ The function that calculate the Jacobian+                               --   matrix of each residue with respect to+                               --   each parameter+              -> Vector Double -- ^ The initial guess for the parameter+              -> Double        -- ^ Dampening constant (usually lambda in most literature)+              -> Double        -- ^ Dampening update value (usually beta in most literature)+              -> Double        -- ^ The precision desired+              -> Int           -- ^ The maximum iteration+              -> (Vector Double, Matrix Double) -- ^ Returns the optimal parameter+                                                --   and the matrix path+lmMinimize func jacob param lambda beta prec iter =+  let errValue = sumSquared $ func param+      (v, m) = lmMinimizeInternal func jacob param prec errValue lambda beta iter [param]+  in+   (v, (fromLists . reverse . map toList) m)+++lmMinimizeInternal :: Function           -- ^ Multi-dimensional function that will+                                         --   return a vector of residues+                      -> Jacobian        -- ^ The Jacobian matrix of each residue+                                         --   with respect to each parameter+                      -> Vector Double   -- ^ The current guess for the parameter+                      -> Double          -- ^ The precision desired+                      -> Double          -- ^ The current value for the error function+                                         --   (which is the sum of the residues squared)+                      -> Double          -- ^ The dampening constant (lambda)+                      -> Double          -- ^ The beta constant to update lambda+                      -> Int             -- ^ The maximum iteration+                      -> [Vector Double] -- ^ The current matrix path+                      -> (Vector Double, [Vector Double]) -- ^ Returns the optimal parameter+                                                          --   and the matrix path+lmMinimizeInternal _ _ v _ _ _ _ 0 m = (v,m)+lmMinimizeInternal func jacob param prec errValue lambda beta iter mat =+  let jacobian = jacob param+      residues = func param++      gradients = (trans jacobian) `mXv` residues+      hessian = (trans jacobian) `multiply` jacobian++      diagonalHessian = diagRect 0 (takeDiag hessian) (cols hessian) (cols hessian)+      diagonalLambda = mapMatrix (*lambda) (ident (cols hessian))+      hessianModded = hessian `add` diagonalLambda++      newParam = param `sub` (flatten (linearSolveSVD hessianModded (reshape 1 gradients)))++      newErrValue = (sumSquared . func) newParam+  in+   case abs(newErrValue - errValue) < prec of+     True -> (newParam, newParam:mat)+     False ->+       case newErrValue > errValue of+         True  -> lmMinimizeInternal func jacob param prec errValue (lambda * beta) beta (iter - 1) mat+         False -> lmMinimizeInternal func jacob newParam prec newErrValue (lambda / beta) beta (iter - 1) (newParam:mat)