diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java
index 3f60e57a94eba0fb0e81c9c22813b70573372760..230e9ec0e3d14f970425d57083ee3f7a66f582ac 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHandler.java
@@ -17,6 +17,7 @@ public class ConfigAdvancedHandler extends FormHandler {
     private boolean _shouldSave;
     private String _config;
     
+    @Override
     protected void processForm() {
         if (_shouldSave) {
             saveChanges();
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java
index 5bffa2a2187c55ada62f78c67dc35a209319720b..a60a3409e19b7182c021bc8ea5926943e752303c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigAdvancedHelper.java
@@ -4,7 +4,6 @@ import java.util.Iterator;
 import java.util.Set;
 import java.util.TreeSet;
 
-import net.i2p.router.RouterContext;
 
 public class ConfigAdvancedHelper extends HelperBase {
     public ConfigAdvancedHelper() {}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java
index 285cdd3854214b0ce0038dcc070d5418a1e744a5..d2f4d8e64a029fdbd5b7b35b7889a17cbf745835 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHandler.java
@@ -20,13 +20,14 @@ import org.mortbay.jetty.Server;
  *  Saves changes to clients.config or webapps.config
  */
 public class ConfigClientsHandler extends FormHandler {
-    private Log _log;
+    private Log configClient_log;
     private Map _settings;
     
     public ConfigClientsHandler() {
-        _log = ContextHelper.getContext(null).logManager().getLog(ConfigClientsHandler.class);
+        configClient_log = ContextHelper.getContext(null).logManager().getLog(ConfigClientsHandler.class);
     }
 
+    @Override
     protected void processForm() {
         if (_action.startsWith("Save Client")) {
             saveClientChanges();
@@ -80,7 +81,7 @@ public class ConfigClientsHandler extends FormHandler {
             return;
         }
         ClientAppConfig ca = (ClientAppConfig) clients.get(i);
-        LoadClientAppsJob.runClient(ca.className, ca.clientName, LoadClientAppsJob.parseArgs(ca.args), _log);
+        LoadClientAppsJob.runClient(ca.className, ca.clientName, LoadClientAppsJob.parseArgs(ca.args), configClient_log);
         addFormNotice("Client " + ca.clientName + " started.");
     }
 
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java
index 47b301d28e86f8ee1208cfed2b045bb7a28e5de8..af71883eb6c50f4284cfc33cffa3a6ece1f30ed5 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigClientsHelper.java
@@ -6,7 +6,6 @@ import java.util.Properties;
 import java.util.Set;
 import java.util.TreeSet;
 
-import net.i2p.router.RouterContext;
 import net.i2p.router.startup.ClientAppConfig;
 
 public class ConfigClientsHelper extends HelperBase {
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java
index b43bc4d1f1ac61c98e80ef3dda1d1b839de0b857..9cb3bfcebb3c8175e1aab1d6ed759d5c534d397d 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHandler.java
@@ -1,6 +1,5 @@
 package net.i2p.router.web;
 
-import net.i2p.I2PAppContext;
 import net.i2p.data.DataFormatException;
 import net.i2p.data.Hash;
 import net.i2p.data.SessionKey;
@@ -13,6 +12,7 @@ public class ConfigKeyringHandler extends FormHandler {
     private String _peer;
     private String _key;
     
+    @Override
     protected void processForm() {
         if ("Add key".equals(_action)) {
             if (_peer == null || _key == null) {
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHelper.java
index 85c8ee42314830c32a04582ccd8b7ba4ce20f42b..8c147fcdd56ef37dbb345e01ceef27f211401292 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigKeyringHelper.java
@@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 
-import net.i2p.router.RouterContext;
 
 public class ConfigKeyringHelper extends HelperBase {
     public ConfigKeyringHelper() {}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java
index a09f250a7368a1d5c982aab586a03de0c2205f25..347cfdab7f654cfe198d150d2d6fa3b273b4b34d 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHandler.java
@@ -18,6 +18,7 @@ public class ConfigLoggingHandler extends FormHandler {
     private String _dateFormat;
     private String _fileSize;
     
+    @Override
     protected void processForm() {
         if (_shouldSave) {
             saveChanges();
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java
index ab23fce6fbb593c142cd12c026fb21ee0c4797c8..e1e7907b03eeb5059e95e0a8f8f538914c7eace9 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigLoggingHelper.java
@@ -4,7 +4,6 @@ import java.util.Iterator;
 import java.util.Properties;
 import java.util.TreeSet;
 
-import net.i2p.router.RouterContext;
 
 public class ConfigLoggingHelper extends HelperBase {
     public ConfigLoggingHelper() {}
@@ -43,7 +42,7 @@ public class ConfigLoggingHelper extends HelperBase {
             String level = limits.getProperty(prefix);
             buf.append(prefix).append('=').append(level).append('\n');
         }
-        buf.append("</textarea><br />\n");
+        buf.append("</textarea><br>\n");
         buf.append("<i>Add additional logging statements above. Example: net.i2p.router.tunnel=WARN</i><br>");
         buf.append("<i>Or put entries in the logger.config file. Example: logger.record.net.i2p.router.tunnel=WARN</i><br>");
         buf.append("<i>Valid levels are DEBUG, INFO, WARN, ERROR, CRIT</i>\n");
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java
index 1067eba5493579a9d950f7fbb8217ac95a31521f..b14bab7f8216bd7eaed77809dc11d3f1bbef819c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHandler.java
@@ -1,12 +1,10 @@
 package net.i2p.router.web;
 
-import net.i2p.data.RouterInfo;
 import net.i2p.router.Router;
 import net.i2p.router.transport.FIFOBandwidthRefiller;
 import net.i2p.router.transport.TransportManager;
 import net.i2p.router.transport.udp.UDPTransport;
 import net.i2p.router.web.ConfigServiceHandler.UpdateWrapperManagerAndRekeyTask;
-import net.i2p.time.Timestamper;
 
 /**
  * Handler to deal with form submissions from the main config form and act
@@ -44,6 +42,7 @@ public class ConfigNetHandler extends FormHandler {
     private static final boolean _ratesOnly = false; // always false - delete me
     private static final String PROP_HIDDEN = Router.PROP_HIDDEN_HIDDEN; // see Router for other choice
     
+    @Override
     protected void processForm() {
         if (_saveRequested || ( (_action != null) && ("Save changes".equals(_action)) )) {
             saveChanges();
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java
index bf47f3efa76e6967602b835c2f5862434f528504..48426e44888905dbce3e5d4721a0dc126c9cf030 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java
@@ -4,7 +4,6 @@ import net.i2p.data.DataHelper;
 import net.i2p.data.RouterAddress;
 import net.i2p.router.CommSystemFacade;
 import net.i2p.router.Router;
-import net.i2p.router.RouterContext;
 import net.i2p.router.transport.Addresses;
 import net.i2p.router.transport.TransportManager;
 import net.i2p.router.transport.udp.UDPAddress;
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHandler.java
index 48ec6e443115134966f01cfcaf48a8b4c996e78c..479aeb4c268f8e6e6fc4f89cf817de2550d12390 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHandler.java
@@ -1,12 +1,8 @@
 package net.i2p.router.web;
 
-import net.i2p.I2PAppContext;
-import net.i2p.data.DataHelper;
 import net.i2p.data.Hash;
 import net.i2p.data.Base64;
-import net.i2p.router.Router;
 import net.i2p.router.peermanager.PeerProfile;
-import net.i2p.util.Log;
 
 /**
  *
@@ -16,6 +12,7 @@ public class ConfigPeerHandler extends FormHandler {
     private String _speed;
     private String _capacity;
     
+    @Override
     protected void processForm() {
         if ("Save Configuration".equals(_action)) {
             _context.router().saveConfig();
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHelper.java
index 662a078b8140fb066c63658e29357a779ee1e194..9db6722b44aff4f7dcd9de8a2a3b22df16363795 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigPeerHelper.java
@@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 
-import net.i2p.router.RouterContext;
 
 public class ConfigPeerHelper extends HelperBase {
     public ConfigPeerHelper() {}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java
index 0218c17878d037723c2d739e08b793b8a0203450..ab9cbf0ff2b001a0bb5de8d65ad93ed5ff3747ba 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigRestartBean.java
@@ -51,14 +51,14 @@ public class ConfigRestartBean {
             if (timeRemaining <= 0) {
                 return "<center><b>Shutdown imminent</b></center>";
             } else {
-                return "<center><b>Shutdown in " + DataHelper.formatDuration(timeRemaining) + "</b></center><br />"
+                return "<center><b>Shutdown in " + DataHelper.formatDuration(timeRemaining) + "</b></center><br>"
                      + buttons(urlBase, systemNonce, "shutdownImmediate,Shutdown immediately,cancelShutdown,Cancel shutdown");
             }
         } else if (restarting) {
             if (timeRemaining <= 0) {
                 return "<center><b>Restart imminent</b></center>";
             } else {
-                return "<center><b>Restart in " + DataHelper.formatDuration(timeRemaining) + "</b></center><br />"
+                return "<center><b>Restart in " + DataHelper.formatDuration(timeRemaining) + "</b></center><br>"
                      + buttons(urlBase, systemNonce, "restartImmediate,Restart immediately,cancelShutdown,Cancel restart");
             }
         } else {
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java
index 3601bf38beaf52debd7405f21f1b9fd6a8d3199b..76de0f5d49e55463edaff89e98816813e175fa1f 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigServiceHandler.java
@@ -1,13 +1,10 @@
 package net.i2p.router.web;
 
-import java.io.File;
-import java.io.FileWriter;
 import java.io.IOException;
 import java.util.List;
 
 import net.i2p.apps.systray.SysTray;
 import net.i2p.apps.systray.UrlLauncher;
-import net.i2p.data.DataHelper;
 import net.i2p.router.Router;
 import net.i2p.router.startup.ClientAppConfig;
 
@@ -49,6 +46,7 @@ public class ConfigServiceHandler extends FormHandler {
         }
     }
     
+    @Override
     protected void processForm() {
         if (_action == null) return;
         
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java
index 00a384e73f711f73c44bab35ed00a7ccc52413ee..1d34a5db42fd6cd30c99caf766936eb5aaa016f1 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHandler.java
@@ -28,6 +28,7 @@ public class ConfigStatsHandler extends FormHandler {
         _isFull = false;
     }
     
+    @Override
     protected void processForm() {
         saveChanges();
     }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHelper.java
index 3af4ffafb5f9c0e519c3f99c01371b3b8672d801..cb157bea8c377df2d4a6c1bb96946530dba48c5c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigStatsHelper.java
@@ -8,7 +8,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.StringTokenizer;
 
-import net.i2p.router.RouterContext;
 import net.i2p.stat.FrequencyStat;
 import net.i2p.stat.Rate;
 import net.i2p.stat.RateStat;
@@ -38,6 +37,7 @@ public class ConfigStatsHelper extends HelperBase {
      * @param contextId begging few characters of the routerHash, or null to pick
      *                  the first one we come across.
      */
+    @Override
     public void setContextId(String contextId) {
         try {
             _context = ContextHelper.getContext(contextId);
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java
index 0e59380e19aa565a7354757bde0f3c1abd64c91a..e54c926168f86c1241f711ce357d2b6b27c19382 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHandler.java
@@ -14,7 +14,7 @@ import net.i2p.util.Log;
  *
  */
 public class ConfigTunnelsHandler extends FormHandler {
-    private Log _log;
+    private Log configTunnel_log;
     private Map _settings;
     private boolean _shouldSave;
     
@@ -22,6 +22,7 @@ public class ConfigTunnelsHandler extends FormHandler {
         _shouldSave = false;
     }
     
+    @Override
     protected void processForm() {
         if (_shouldSave) {
             saveChanges();
@@ -43,11 +44,11 @@ public class ConfigTunnelsHandler extends FormHandler {
      *
      */
     private void saveChanges() {
-        _log = _context.logManager().getLog(ConfigTunnelsHandler.class);
+        configTunnel_log = _context.logManager().getLog(ConfigTunnelsHandler.class);
         boolean saveRequired = false;
         
-        if (_log.shouldLog(Log.DEBUG))
-            _log.debug("Saving changes, with props = " + _settings + ".");
+        if (configTunnel_log.shouldLog(Log.DEBUG))
+            configTunnel_log.debug("Saving changes, with props = " + _settings + ".");
         
         int updated = 0;
         int index = 0;
@@ -110,16 +111,16 @@ public class ConfigTunnelsHandler extends FormHandler {
             }
             
             if ("exploratory".equals(poolName)) {
-                if (_log.shouldLog(Log.DEBUG)) {
-                    _log.debug("Inbound exploratory settings: " + in);
-                    _log.debug("Outbound exploratory settings: " + out);
+                if (configTunnel_log.shouldLog(Log.DEBUG)) {
+                    configTunnel_log.debug("Inbound exploratory settings: " + in);
+                    configTunnel_log.debug("Outbound exploratory settings: " + out);
                 }
                 _context.tunnelManager().setInboundSettings(in);
                 _context.tunnelManager().setOutboundSettings(out);
             } else {
-                if (_log.shouldLog(Log.DEBUG)) {
-                    _log.debug("Inbound settings for " + client.toBase64() + ": " + in);
-                    _log.debug("Outbound settings for " + client.toBase64() + ": " + out);
+                if (configTunnel_log.shouldLog(Log.DEBUG)) {
+                    configTunnel_log.debug("Inbound settings for " + client.toBase64() + ": " + in);
+                    configTunnel_log.debug("Outbound settings for " + client.toBase64() + ": " + out);
                 }
                 _context.tunnelManager().setInboundSettings(client, in);
                 _context.tunnelManager().setOutboundSettings(client, out);
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java
index e5e0a29225267ac14bebc49512806cd76ec89af0..6cd4346cc8f4aafc63a781c348af8a63cc20bd7a 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigTunnelsHelper.java
@@ -5,7 +5,6 @@ import java.util.Properties;
 import java.util.Set;
 
 import net.i2p.data.Destination;
-import net.i2p.router.RouterContext;
 import net.i2p.router.TunnelPoolSettings;
 
 public class ConfigTunnelsHelper extends HelperBase {
@@ -177,7 +176,7 @@ buf.append("<tr><th></th><th><img src=\"/themes/console/images/inbound.png\" alt
             buf.append(prop).append("=").append(val).append(" ");
         }
         buf.append("\"/></td></tr>\n");
-//        buf.append("<tr><td colspan=\"3\"><hr /></td></tr>\n");
+//        buf.append("<tr><td colspan=\"3\"><br></td></tr>\n");
     }
 
     private void renderOptions(StringBuilder buf, int min, int max, int now, String prefix, String name) {
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java
index ad7c1622e9d85c6528bfba886c90bc026d6d3db0..f6c1e01349a64ef40cbeadb4d6b96a7e4a35ab78 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java
@@ -5,6 +5,7 @@ public class ConfigUIHandler extends FormHandler {
     private boolean _shouldSave;
     private String _config;
     
+    @Override
     protected void processForm() {
         if (_shouldSave)
             saveChanges();
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java
index 11830975ba7079a5cf8ca9139a6267c1137a1d1a..7815f5cba1e08b2f286156a2475b04357fc3d84f 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java
@@ -12,7 +12,7 @@ public class ConfigUIHelper extends HelperBase {
             buf.append("<input type=\"radio\" class=\"optbox\" name=\"theme\" ");
             if (theme.equals(current))
                 buf.append("checked=\"true\" ");
-            buf.append("value=\"").append(theme).append("\"/>").append(theme).append("<br />\n");
+            buf.append("value=\"").append(theme).append("\"/>").append(theme).append("<br>\n");
         }
         return buf.toString();
     }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
index 256babbe3c6dbe6a1ea83ba4e8db8127a64c1914..e1f6a657c5657d3f593e021a3a837fc088c6bed9 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHandler.java
@@ -49,6 +49,7 @@ public class ConfigUpdateHandler extends FormHandler {
     public static final String PROP_TRUSTED_KEYS = "router.trustedUpdateKeys";
     
     
+    @Override
     protected void processForm() {
         if ("Check for update now".equals(_action)) {
             NewsFetcher fetcher = NewsFetcher.getInstance(I2PAppContext.getGlobalContext());
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java
index 263e989374ce9b3272ab45deec377234ef87dea1..82d8461f15715cb4a1217ee816578bee7c7dc904 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUpdateHelper.java
@@ -3,7 +3,6 @@ package net.i2p.router.web;
 import net.i2p.I2PAppContext;
 import net.i2p.crypto.TrustedUpdate;
 import net.i2p.data.DataHelper;
-import net.i2p.router.RouterContext;
 
 public class ConfigUpdateHelper extends HelperBase {
     public ConfigUpdateHelper() {}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
index e9749750cd3de6a2fec8be8f18d910565af36048..a771f52ef602520f081f01be0ee7c2a724b914f8 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/GraphHelper.java
@@ -1,14 +1,12 @@
 package net.i2p.router.web;
 
 import java.io.IOException;
-import java.io.Writer;
 import java.util.Comparator;
 import java.util.Iterator;
 import java.util.List;
 import java.util.TreeSet;
 
 import net.i2p.data.DataHelper;
-import net.i2p.router.RouterContext;
 import net.i2p.stat.Rate;
 
 public class GraphHelper extends HelperBase {
@@ -105,17 +103,17 @@ public class GraphHelper extends HelperBase {
     }
     public String getForm() { 
         try {
-            _out.write("<hr /><h3>Configure Graph Display</h3>");
+            _out.write("<br><h3>Configure Graph Display</h3>");
             _out.write("<p />[<a href=\"configstats.jsp\">Select Stats to Graph</a>]<p />");
             _out.write("<form action=\"graphs.jsp\" method=\"GET\">");
-            _out.write("Periods: <input size=\"3\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\" /><br />\n");
+            _out.write("Periods: <input size=\"3\" type=\"text\" name=\"periodCount\" value=\"" + _periodCount + "\" /><br>\n");
             _out.write("Plot averages: <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"false\" " + (_showEvents ? "" : "checked=\"true\" ") + " /> ");
-            _out.write("or plot events: <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"true\" "+ (_showEvents ? "checked=\"true\" " : "") + " /><br />\n");
+            _out.write("or plot events: <input type=\"radio\" class=\"optbox\" name=\"showEvents\" value=\"true\" "+ (_showEvents ? "checked=\"true\" " : "") + " /><br>\n");
             _out.write("Image sizes: width: <input size=\"4\" type=\"text\" name=\"width\" value=\"" + _width 
                        + "\" /> pixels, height: <input size=\"4\" type=\"text\" name=\"height\" value=\"" + _height  
-                       + "\" /><br />\n");
-            _out.write("Refresh delay: <select name=\"refreshDelay\"><option value=\"60\">1 minute</option><option value=\"120\">2 minutes</option><option value=\"300\">5 minutes</option><option value=\"600\">10 minutes</option><option value=\"1800\">30 minutes</option><option value=\"3600\">1 hour</option><option value=\"-1\">Never</option></select><br />\n");
-            _out.write("<hr /><div class=\"formaction\"><input type=\"submit\" value=\"Redraw\" /></div></div>");
+                       + "\" /><br>\n");
+            _out.write("Refresh delay: <select name=\"refreshDelay\"><option value=\"60\">1 minute</option><option value=\"120\">2 minutes</option><option value=\"300\">5 minutes</option><option value=\"600\">10 minutes</option><option value=\"1800\">30 minutes</option><option value=\"3600\">1 hour</option><option value=\"-1\">Never</option></select><br>\n");
+            _out.write("<br><div class=\"formaction\"><input type=\"submit\" value=\"Redraw\" /></div></div>");
         } catch (IOException ioe) {
             ioe.printStackTrace();
         }
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java
index cf8ed23520e12ce2d4c85209533e543e96263260..633e7db9fdba2f74678dcc419d935cb17dfd7019 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/JobQueueHelper.java
@@ -3,9 +3,7 @@ package net.i2p.router.web;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
-import java.io.Writer;
 
-import net.i2p.router.RouterContext;
 
 public class JobQueueHelper extends HelperBase {
     public JobQueueHelper() {}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java
index ca1712f1c6146c3168a7c8b35ba1192babb5503b..f51c4e772dce1f209096d85ed4f5e48db0c0caef 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/LogsHelper.java
@@ -10,7 +10,7 @@ public class LogsHelper extends HelperBase {
     
     public String getLogs() {
         String str = formatMessages(_context.logManager().getBuffer().getMostRecentMessages());
-        return "Location: <code>" + _context.logManager().currentFile() + "</code><br /><br />" + str;
+        return "Location: <code>" + _context.logManager().currentFile() + "</code><br><br>" + str;
     }
     
     public String getCriticalLogs() {
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java
index 1ae3029326abbee92c067fac548d36075a819cd2..cabb68f156e99c866798de28342684d251439d29 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/NavHelper.java
@@ -4,7 +4,6 @@ import java.util.HashMap;
 import java.util.Iterator;
 import java.util.Map;
 
-import net.i2p.router.RouterContext;
 
 public class NavHelper extends HelperBase {
     private static Map _apps = new HashMap();
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java
index 886ba6abb6dda80e96c60a736ed444debf83a61e..cffe6f1a7876838ce8fe5f5761c0d4bb53f2bb9e 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/NetDbHelper.java
@@ -3,9 +3,7 @@ package net.i2p.router.web;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
-import java.io.Writer;
 
-import net.i2p.router.RouterContext;
 
 public class NetDbHelper extends HelperBase {
     private String _routerPrefix;
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/OldConsoleHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/OldConsoleHelper.java
index f7aa130647de24457f58ae1dd03e07afce8f795c..b88187681d38c31ec29596f2240e9188a7b390ab 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/OldConsoleHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/OldConsoleHelper.java
@@ -3,9 +3,7 @@ package net.i2p.router.web;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
-import java.io.Writer;
 
-import net.i2p.router.RouterContext;
 
 public class OldConsoleHelper extends HelperBase {
     public OldConsoleHelper() {}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java
index 2504067ac3a484ccf35aa28c853810acc97f5139..0648f4c42a4e70452dc5bc557d3447b91a62f886 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/PeerHelper.java
@@ -1,9 +1,7 @@
 package net.i2p.router.web;
 
 import java.io.IOException;
-import java.io.Writer;
 
-import net.i2p.router.RouterContext;
 
 public class PeerHelper extends HelperBase {
     private int _sortFlags;
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java
index 702a63e50013d14fefd1f1a468f2253eaf9c965d..ce2242aa7156e7e014eecccd232437546ccdfb8d 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/ProfilesHelper.java
@@ -4,7 +4,6 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
 
-import net.i2p.router.RouterContext;
 
 public class ProfilesHelper extends HelperBase {
     public ProfilesHelper() {}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/StatHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/StatHelper.java
index ce6fefd5d677ab2ea860aa4d783f437d6092e5b2..2b7e81fb41e63a59568a7bee4535fced155351c4 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/StatHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/StatHelper.java
@@ -1,6 +1,5 @@
 package net.i2p.router.web;
 
-import java.io.Writer;
 import java.util.Iterator;
 import java.util.Set;
 
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java b/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java
index 3838245f5e4c7733b72acc82a595b793bd68e78f..983a6ba8bf4d0757dca47e88cd5845a65875ae86 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/StatsGenerator.java
@@ -80,7 +80,7 @@ public class StatsGenerator {
                 buf.append(stat);
                 buf.append("\">");
                 buf.append(stat);
-                buf.append("</a></b><br />");
+                buf.append("</a></b><br>");
                 if (_context.statManager().isFrequency(stat))
                     renderFrequency(stat, buf);
                 else
@@ -88,7 +88,7 @@ public class StatsGenerator {
                 out.write(buf.toString());
                 buf.setLength(0);
             }
-            out.write("</ul><hr />");
+            out.write("</ul><br>");
         }
         out.flush();
     }
@@ -97,7 +97,7 @@ public class StatsGenerator {
         FrequencyStat freq = _context.statManager().getFrequency(name);
         buf.append("<i>");
         buf.append(freq.getDescription());
-        buf.append("</i><br />");
+        buf.append("</i><br>");
         long uptime = _context.router().getUptime();
         long periods[] = freq.getPeriods();
         Arrays.sort(periods);
@@ -124,9 +124,9 @@ public class StatsGenerator {
             buf.append(" using the lifetime of ");
             buf.append(curFreq.getEventCount());
             buf.append(" events)");
-            buf.append("<br />");
+            buf.append("<br>");
         }
-        buf.append("<br />");
+        buf.append("<br>");
     }
     
     private void renderRate(String name, StringBuilder buf) {
@@ -135,10 +135,10 @@ public class StatsGenerator {
         if (! "".equals(d)) {
             buf.append("<i>");
             buf.append(d);
-            buf.append("</i><br />");
+            buf.append("</i><br>");
         }
         if (rate.getLifetimeEventCount() <= 0) {
-            buf.append("No lifetime events<br />&nbsp;<br />");
+            buf.append("No lifetime events<br>&nbsp;<br>");
             return;
         }
         long now = _context.clock().now();
@@ -217,9 +217,9 @@ public class StatsGenerator {
         buf.append(num(rate.getLifetimeAverageValue()));
         buf.append(" over ");
         buf.append(rate.getLifetimeEventCount());
-        buf.append(" events<br /></li>");
+        buf.append(" events<br></li>");
         buf.append("</ul>");
-        buf.append("<br />");
+        buf.append("<br>");
     }
     
     private static void renderPeriod(StringBuilder buf, long period, String name) {
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
index f724c7ed46ddcbe19d0084c3b5071a643b93f5c3..ff711c7955345fdb4c44b027cd5efae673732c43 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java
@@ -1,15 +1,12 @@
 package net.i2p.router.web;
 
 import java.text.Collator;
-import java.text.DateFormat;
 import java.text.DecimalFormat;
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
-import java.util.Date;
 import java.util.Iterator;
 import java.util.List;
-import java.util.Locale;
 
 import net.i2p.data.DataHelper;
 import net.i2p.data.Destination;
@@ -18,7 +15,6 @@ import net.i2p.data.LeaseSet;
 import net.i2p.data.RouterAddress;
 import net.i2p.router.CommSystemFacade;
 import net.i2p.router.Router;
-import net.i2p.router.RouterContext;
 import net.i2p.router.RouterVersion;
 import net.i2p.router.TunnelPoolSettings;
 import net.i2p.router.networkdb.kademlia.FloodfillNetworkDatabaseFacade;
@@ -349,18 +345,18 @@ public class SummaryHelper extends HelperBase {
             String name = getName(client);
             Hash h = client.calculateHash();
             
-            buf.append("<tr><td align=\"right\"><b><img src=\"/themes/console/images/");
+            buf.append("<tr><td align=\"right\"><img src=\"/themes/console/images/");
             if (_context.clientManager().shouldPublishLeaseSet(h))
                 buf.append("server.png\" alt=\"Server\" title=\"Server\" />");
             else
                 buf.append("client.png\" alt=\"Client\" title=\"Client\" />");
-            buf.append("</td><td align=\"left\"><a href=\"tunnels.jsp#").append(h.toBase64().substring(0,4));
+            buf.append("</td><td align=\"left\"><b><a href=\"tunnels.jsp#").append(h.toBase64().substring(0,4));
             buf.append("\" target=\"_top\" title=\"Show tunnels\">");
             if (name.length() < 16)
                 buf.append(name);
             else
                 buf.append(name.substring(0,15)).append("&hellip;");
-            buf.append("</a></td>\n");
+            buf.append("</a></b></td>\n");
             LeaseSet ls = _context.netDb().lookupLeaseSetLocally(h);
             if (ls != null) {
                 long timeToExpire = ls.getEarliestLeaseDate() - _context.clock().now();
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java
index 6ef9df9db43dc9154a9e8ba10deea9ec5718c36e..a7d1995dc69cb1e8b2fd7b749473d2895f8d720c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryListener.java
@@ -132,9 +132,11 @@ class SummaryListener implements RateSummaryListener {
     RrdDb getData() { return _db; }
     long now() { return _context.clock().now(); }
     
+    @Override
     public boolean equals(Object obj) {
         return ((obj instanceof SummaryListener) && ((SummaryListener)obj)._rate.equals(_rate));
     }
+    @Override
     public int hashCode() { return _rate.hashCode(); }
 }
 
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/TunnelHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/TunnelHelper.java
index 3cd8a96e3d03d99694679394274195758a3bed12..b605cbf361bc1efd8da3485395cc69d39bbd8f4c 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/TunnelHelper.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/TunnelHelper.java
@@ -3,9 +3,7 @@ package net.i2p.router.web;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.OutputStreamWriter;
-import java.io.Writer;
 
-import net.i2p.router.RouterContext;
 
 public class TunnelHelper extends HelperBase {
     public TunnelHelper() {}
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/UnsignedUpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/UnsignedUpdateHandler.java
index 0d812d0ec0e225f3750af41d1c69f1a075fed9c0..a11f868466073112439a63b4fef7046248e37d8b 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/UnsignedUpdateHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/UnsignedUpdateHandler.java
@@ -2,7 +2,6 @@ package net.i2p.router.web;
 
 import java.io.File;
 
-import net.i2p.I2PAppContext;
 import net.i2p.router.Router;
 import net.i2p.router.RouterContext;
 import net.i2p.util.EepGet;
@@ -99,11 +98,11 @@ public class UnsignedUpdateHandler extends UpdateHandler {
                 _context.router().saveConfig();
                 if ("install".equals(policy)) {
                     _log.log(Log.CRIT, "Update was downloaded, restarting to install it");
-                    _status = "<b>Update downloaded</b><br />Restarting";
+                    _status = "<b>Update downloaded</b><br>Restarting";
                     restart();
                 } else {
                     _log.log(Log.CRIT, "Update was downloaded, will be installed at next restart");
-                    _status = "<b>Update downloaded</b><br />";
+                    _status = "<b>Update downloaded</b><br>";
                     if (System.getProperty("wrapper.version") != null)
                         _status += "Click Restart to install";
                     else
diff --git a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java
index f8890482db0b19a8ba1962af8d4da2c70bcd24b9..fc3b77e05e39ed0c883f0975649bb6f30ba768ed 100644
--- a/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java
+++ b/apps/routerconsole/java/src/net/i2p/router/web/UpdateHandler.java
@@ -167,7 +167,7 @@ public class UpdateHandler {
             synchronized (_pct) {
                 buf.append(_pct.format(pct));
             }
-            buf.append(":<br />\n" + (currentWrite + alreadyTransferred));
+            buf.append(":<br>\n" + (currentWrite + alreadyTransferred));
             buf.append(" transferred");
             _status = buf.toString();
         }
@@ -192,11 +192,11 @@ public class UpdateHandler {
                 _context.router().saveConfig();
                 if ("install".equals(policy)) {
                     _log.log(Log.CRIT, "Update was VERIFIED, restarting to install it");
-                    _status = "<b>Update verified</b><br />Restarting";
+                    _status = "<b>Update verified</b><br>Restarting";
                     restart();
                 } else {
                     _log.log(Log.CRIT, "Update was VERIFIED, will be installed at next restart");
-                    _status = "<b>Update downloaded</b><br />";
+                    _status = "<b>Update downloaded</b><br>";
                     if (System.getProperty("wrapper.version") != null)
                         _status += "Click Restart to install";
                     else
diff --git a/apps/routerconsole/jsp/config.jsp b/apps/routerconsole/jsp/config.jsp
index b91a1ce245ce3d0dcd4280cc283b9718bdfd6ec2..443e8f708c6d1601d4b81b61c5b82c2e12d0ccf0 100644
--- a/apps/routerconsole/jsp/config.jsp
+++ b/apps/routerconsole/jsp/config.jsp
@@ -13,7 +13,7 @@
 <h1>I2P Network Configuration</h1>
 <div class="main" id="main">
  <%@include file="confignav.jsp" %>
- 
+
  <jsp:useBean class="net.i2p.router.web.ConfigNetHandler" id="formhandler" scope="request" />
  <jsp:setProperty name="formhandler" property="*" />
  <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
@@ -25,45 +25,42 @@
     System.setProperty("net.i2p.router.web.ConfigNetHandler.nonce", new java.util.Random().nextLong()+""); %>
  <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigNetHandler.nonce")%>" />
  <input type="hidden" name="action" value="blah" />
- <h3>Bandwidth limiter</h3>
- <p>
+ <h3>Bandwidth limiter</h3><p>
  <b>I2P will work best if you configure your rates to match the speed of your internet connection.</b>
- </p>
-<p>
-   <div class="wideload">
-    <table>
-    <tr><td><input style="text-align: right; width: 5em;" name="inboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="inboundRate" />" /> KBps
-    In <td>(<jsp:getProperty name="nethelper" property="inboundRateBits" />)<br />
+ </p><p>
+   <div class="wideload"><table><tr><td><input style="text-align: right; width: 5em;" name="inboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="inboundRate" />" /> KBps In
+        </td><td>(<jsp:getProperty name="nethelper" property="inboundRateBits" />)</td>
 <!-- let's keep this simple...
- bursting up to 
+ bursting up to
     <input name="inboundburstrate" type="text" size="5" value="<jsp:getProperty name="nethelper" property="inboundBurstRate" />" /> KBps for
-    <jsp:getProperty name="nethelper" property="inboundBurstFactorBox" /><br />
+    <jsp:getProperty name="nethelper" property="inboundBurstFactorBox" /><br>
 -->
-    <tr><td><input style="text-align: right; width: 5em;" name="outboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="outboundRate" />" /> KBps
-    Out <td>(<jsp:getProperty name="nethelper" property="outboundRateBits" />)<br />
+    </tr><tr>
+        <td><input style="text-align: right; width: 5em;" name="outboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="outboundRate" />" /> KBps Out
+        </td><td>(<jsp:getProperty name="nethelper" property="outboundRateBits" />)</td>
 <!-- let's keep this simple...
- bursting up to 
+ bursting up to
     <input name="outboundburstrate" type="text" size="2" value="<jsp:getProperty name="nethelper" property="outboundBurstRate" />" /> KBps for
-  <jsp:getProperty name="nethelper" property="outboundBurstFactorBox" /><br />
- <i>KBps = kilobytes per second = 1024 bytes per second = 8192 bits per second.<br />
-    A negative rate sets the default.</i><br />
+  <jsp:getProperty name="nethelper" property="outboundBurstFactorBox" /><br>
+ <i>KBps = kilobytes per second = 1024 bytes per second = 8192 bits per second.<br>
+    A negative rate sets the default.</i><br>
 -->
-    <tr><td><jsp:getProperty name="nethelper" property="sharePercentageBox" />
-    Share <td>(<jsp:getProperty name="nethelper" property="shareRateBits" />)<br />
-  </table></div>
- </p><p>
+    </tr><tr>
+        <td><jsp:getProperty name="nethelper" property="sharePercentageBox" /> Share</td>
+        <td>(<jsp:getProperty name="nethelper" property="shareRateBits" />)
+</td></tr></table></div></p><p>
  <% int share = nethelper.getShareBandwidth();
     if (share < 12) {
         out.print("<b>NOTE</b>: You have configured I2P to share only " + share + "KBps. ");
         out.print("I2P requires at least 12KBps to enable sharing. ");
         out.print("Please enable sharing (participating in tunnels) by configuring more bandwidth. ");
-        out.print("It improves your anonymity by creating cover traffic, and helps the network.<br />");
+        out.print("It improves your anonymity by creating cover traffic, and helps the network.<br>");
     } else {
         out.print("You have configured I2P to share<b> " + share + "KBps</b>. ");
-        out.print("The higher the share bandwidth the more you improve your anonymity and help the network.<hr />");
+        out.print("The higher the share bandwidth the more you improve your anonymity and help the network.<br>");
     }
  %>
- </p><div class="formaction">
+</p><div class="formaction">
 <input type="submit" name="save" value="Save changes" /> <input type="reset" value="Cancel" /></div>
  <!--
  <b>Enable load testing: </b>
@@ -71,28 +68,25 @@
  <p>If enabled, your router will periodically anonymously probe some of your peers
  to see what sort of throughput they can handle.  This improves your router's ability
  to pick faster peers, but can cost substantial bandwidth.  Relevant data from the
- load testing is fed into the profiles as well as the 
+ load testing is fed into the profiles as well as the
  <a href="oldstats.jsp#test.rtt">test.rtt</a> and related stats.</p>
- <hr />
+ <br>
 -->
- <h3>IP and Transport Configuration</h3>
- <p>
+ <h3>IP and Transport Configuration</h3><p>
  <b>The default settings will work for most people. There is <a href="#chelp">help below</a>.</b>
- </p><p>
- <b>UPnP Configuration:</b><br />
+ </p><p><b>UPnP Configuration:</b><br>
     <input type="checkbox" class="optbox" name="upnp" value="true" <jsp:getProperty name="nethelper" property="upnpChecked" /> />
     Enable UPnP to open firewall ports - <a href="peers.jsp#upnp">UPnP status</a>
- </p><p>
- <b>IP Configuration:</b><br />
- Externally reachable hostname or IP address:<br />
+ </p><p><b>IP Configuration:</b><br>
+ Externally reachable hostname or IP address:<br>
     <input type="radio" class="optbox" name="udpAutoIP" value="local,upnp,ssu" <%=nethelper.getUdpAutoIPChecked(3) %> />
-    Use all auto-detect methods<br />
+    Use all auto-detect methods<br>
     <input type="radio" class="optbox" name="udpAutoIP" value="local,ssu" <%=nethelper.getUdpAutoIPChecked(4) %> />
-    Disable UPnP IP address detection<br />
+    Disable UPnP IP address detection<br>
     <input type="radio" class="optbox" name="udpAutoIP" value="upnp,ssu" <%=nethelper.getUdpAutoIPChecked(5) %> />
-    Ignore local interface IP address<br />
+    Ignore local interface IP address<br>
     <input type="radio" class="optbox" name="udpAutoIP" value="ssu" <%=nethelper.getUdpAutoIPChecked(0) %> />
-    Use SSU IP address detection only<br />
+    Use SSU IP address detection only<br>
     <input type="radio" class="optbox" name="udpAutoIP" value="fixed" <%=nethelper.getUdpAutoIPChecked(1) %> />
     Specify hostname or IP:
     <input name ="udpHost1" type="text" size="16" value="<jsp:getProperty name="nethelper" property="udphostname" />" />
@@ -109,52 +103,47 @@
            out.print("</select>\n");
        }
     %>
-    <br />
+    <br>
     <input type="radio" class="optbox" name="udpAutoIP" value="hidden" <%=nethelper.getUdpAutoIPChecked(2) %> />
-    Hidden mode - do not publish IP <i>(prevents participating traffic)</i><br />
- </p><p>
- <b>UDP Configuration:</b><br />
+    Hidden mode - do not publish IP <i>(prevents participating traffic)</i><br>
+ </p><p><b>UDP Configuration:</b><br>
  UDP port:
- <input name ="udpPort" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="configuredUdpPort" />" /><br />
+ <input name ="udpPort" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="configuredUdpPort" />" /><br>
 <!-- let's keep this simple...
 <input type="checkbox" class="optbox" name="requireIntroductions" value="true" <jsp:getProperty name="nethelper" property="requireIntroductionsChecked" /> />
  Require SSU introductions
  <i>(Enable if you cannot open your firewall)</i>
  </p><p>
- Current External UDP address: <i><jsp:getProperty name="nethelper" property="udpAddress" /></i><br />
+ Current External UDP address: <i><jsp:getProperty name="nethelper" property="udpAddress" /></i><br>
 -->
  </p><p>
- <b>TCP Configuration:</b><br />
- Externally reachable hostname or IP address:<br />
+ <b>TCP Configuration:</b><br>
+ Externally reachable hostname or IP address:<br>
     <input type="radio" class="optbox" name="ntcpAutoIP" value="true" <%=nethelper.getTcpAutoIPChecked(2) %> />
     Use auto-detected IP address
     <i>(currently <jsp:getProperty name="nethelper" property="udpIP" />)</i>
-    if we are not firewalled<br />
+    if we are not firewalled<br>
     <input type="radio" class="optbox" name="ntcpAutoIP" value="always" <%=nethelper.getTcpAutoIPChecked(3) %> />
-    Always use auto-detected IP address (Not firewalled)<br />
+    Always use auto-detected IP address (Not firewalled)<br>
     <input type="radio" class="optbox" name="ntcpAutoIP" value="false" <%=nethelper.getTcpAutoIPChecked(1) %> />
     Specify hostname or IP:
-    <input name ="ntcphost" type="text" size="16" value="<jsp:getProperty name="nethelper" property="ntcphostname" />" /><br />
+    <input name ="ntcphost" type="text" size="16" value="<jsp:getProperty name="nethelper" property="ntcphostname" />" /><br>
     <input type="radio" class="optbox" name="ntcpAutoIP" value="false" <%=nethelper.getTcpAutoIPChecked(0) %> />
-    Disable inbound (Firewalled)<br />
+    Disable inbound (Firewalled)<br>
     <input type="radio" class="optbox" name="ntcpAutoIP" value="disabled" <%=nethelper.getTcpAutoIPChecked(4) %> />
-    Completely disable <i>(select only if behind a firewall that throttles or blocks outbound TCP)</i><br />
+    Completely disable <i>(select only if behind a firewall that throttles or blocks outbound TCP)</i><br>
  </p><p>
- Externally reachable TCP port:<br />
+ Externally reachable TCP port:<br>
     <input type="radio" class="optbox" name="ntcpAutoPort" value="2" <%=nethelper.getTcpAutoPortChecked(2) %> />
     Use the same port configured for UDP
-    <i>(currently <jsp:getProperty name="nethelper" property="udpPort" />)</i><br />
+    <i>(currently <jsp:getProperty name="nethelper" property="udpPort" />)</i><br>
     <input type="radio" class="optbox" name="ntcpAutoPort" value="1" <%=nethelper.getTcpAutoPortChecked(1) %> />
     Specify Port:
-    <input name ="ntcpport" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="ntcpport" />" /><br />
- </p><p><b>Note: Changing these settings will restart your router.</b>
- </p><hr><div class="formaction">
+    <input name ="ntcpport" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="ntcpport" />" /><br>
+ </p><p><b>Note: Changing these settings will restart your router.</b></p>
+<hr><div class="formaction">
  <input type="submit" name="save" value="Save changes" /> <input type="reset" value="Cancel" />
-</div>
-</div>
-<h3><a name="chelp">Configuration Help:</a></h3>
- <div align="justify">
- <p>
+</div><h3><a name="chelp">Configuration Help:</a></h3><div align="justify"><p>
  While I2P will work fine behind most firewalls, your speeds and network integration will generally improve
  if the I2P port (generally 8887) is forwarded for both UDP and TCP.
  </p><p>
@@ -166,30 +155,30 @@
  </p>
 <!-- let's keep this simple...
 <input type="submit" name="recheckReachability" value="Check network reachability..." />
+</p>
 -->
- </p><p>
+<p>
  UPnP is used to communicate with Internet Gateway Devices (IGDs) to detect the external IP address
  and forward ports.
  UPnP support is beta, and may not work for any number of reasons:
- <ul>
+<ul>
 <li class="tidylist">No UPnP-compatible device present
 <li class="tidylist">UPnP disabled on the device
 <li class="tidylist">Software firewall interference with UPnP
 <li class="tidylist">Bugs in the device's UPnP implementation
 <li class="tidylist">Multiple firewall/routers in the internet connection path
 <li class="tidylist">UPnP device change, reset, or address change
- </ul><br>
+</ul><br>
  Reviewing the <a href="peers.jsp#upnp">UPnP status</a> may help.
  UPnP may be enabled or disabled above, but a change requires a router restart to take effect.
- </p><p>Hostnames entered above will be published in the network database.
+</p><p>Hostnames entered above will be published in the network database.
     They are <b>not private</b>.
     Also, <b>do not enter a private IP address</b> like 127.0.0.1 or 192.168.1.1.
     If you specify the wrong IP address or
     hostname, or do not properly configure your NAT or firewall, your network performance will degrade
-    substantially.  When in doubt, leave the settings at the defaults.</p>
- </p>
-<h3><a name="help">Reachability Help:</a></h3>
- <p>
+    substantially.  When in doubt, leave the settings at the defaults.
+</p>
+<h3><a name="help">Reachability Help:</a></h3><p>
  While I2P will work fine behind most firewalls, your speeds and network integration will generally improve
  if the I2P port (generally 8887) to both UDP and TCP.
  If you think you have opened up your firewall and I2P still thinks you are firewalled, remember
@@ -244,19 +233,17 @@
 <li class="tidylist"><b>ERR - Client Manager I2CP Error - check logs</b> -
      This is usually due to a port 7654 conflict. Check the logs to verify. Do you have another I2P instance running?
      Stop the conflicting program and restart I2P.
- </ul>
- </p>
- <hr />
+ </ul></p><br>
       <!--
  <b>Dynamic Router Keys: </b>
- <input type="checkbox" class="optbox" name="dynamicKeys" value="true" <jsp:getProperty name="nethelper" property="dynamicKeysChecked" /> /><br />
+ <input type="checkbox" class="optbox" name="dynamicKeys" value="true" <jsp:getProperty name="nethelper" property="dynamicKeysChecked" /> /><br>
  <p>
  This setting causes your router identity to be regenerated every time your IP address
  changes. If you have a dynamic IP this option can speed up your reintegration into
  the network (since people will have shitlisted your old router identity), and, for
  very weak adversaries, help frustrate trivial
  <a href="http://www.i2p.net/how_threatmodel#intersection">intersection
- attacks</a> against the NetDB.  Your different router identities would only be 
+ attacks</a> against the NetDB.  Your different router identities would only be
  'hidden' among other I2P users at your ISP, and further analysis would link
  the router identities further.</p>
  <p>Note that when I2P detects an IP address change, it will automatically
@@ -264,10 +251,6 @@
  update their profiles - any long lasting client connections will be disconnected,
  though such would likely already be the case anyway, since the IP address changed.
  </p>
- <hr />
+ <br>
 -->
-    </form>
-</div>
-</div>
-</body>
-</html>
+</div></form></div></div></body></html>
diff --git a/apps/routerconsole/jsp/configadvanced.jsp b/apps/routerconsole/jsp/configadvanced.jsp
index 6fe8723dc5d55a43ee5bc71c132dcd8da577335e..00e4a193a19030fe0254466f329f0f3e5c140be9 100644
--- a/apps/routerconsole/jsp/configadvanced.jsp
+++ b/apps/routerconsole/jsp/configadvanced.jsp
@@ -2,8 +2,7 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - config advanced</title>
+<html><head><title>I2P Router Console - config advanced</title>
 <%@include file="css.jsp" %>
 </head><body>
 
@@ -30,15 +29,9 @@
  <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce")%>" />
  <input type="hidden" name="action" value="blah" />
  <h3>Advanced I2P Configuration</h3>
- <textarea rows="32" cols="60" name="config" wrap="off"><jsp:getProperty name="advancedhelper" property="settings" /></textarea><br /><hr>
-      <div class="formaction"> 
+ <textarea rows="32" cols="60" name="config" wrap="off"><jsp:getProperty name="advancedhelper" property="settings" /></textarea><br><hr>
+      <div class="formaction">
         <input type="submit" name="shouldsave" value="Apply" />
-        <input type="reset" value="Cancel" /><br />
+        <input type="reset" value="Cancel" /><br>
  <b>NOTE:</b> Some changes may require a restart to take effect.
-      </div>
- </form>
-</div>
-</div>
-</div>
-</body>
-</html>
+ </div></form></div></div></div></body></html>
diff --git a/apps/routerconsole/jsp/configclients.jsp b/apps/routerconsole/jsp/configclients.jsp
index 8921987f41e10b3dfa052a4397d2d42b1df7f0b8..aa5a8395af2300e352e65b9d934b56bf6b1451d1 100644
--- a/apps/routerconsole/jsp/configclients.jsp
+++ b/apps/routerconsole/jsp/configclients.jsp
@@ -2,15 +2,13 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - config clients</title>
+<html><head><title>I2P Router Console - config clients</title>
 <%@include file="css.jsp" %>
 <style type='text/css'>
 button span.hide{
     display:none;
 }
-</style>
-</head><body>
+</style></head><body>
 
 <%@include file="summary.jsp" %>
 
@@ -19,31 +17,26 @@ button span.hide{
 <h1>I2P Client Configuration</h1>
 <div class="main" id="main">
  <%@include file="confignav.jsp" %>
-  
+
  <jsp:useBean class="net.i2p.router.web.ConfigClientsHandler" id="formhandler" scope="request" />
  <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:setProperty name="formhandler" property="action" value="<%=request.getParameter("action")%>" />
  <jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter("nonce")%>" />
  <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
  <jsp:getProperty name="formhandler" property="allMessages" />
- <div class="configure">
- <form action="configclients.jsp" method="POST">
+ <div class="configure"><form action="configclients.jsp" method="POST">
  <% String prev = System.getProperty("net.i2p.router.web.ConfigClientsHandler.nonce");
     if (prev != null) System.setProperty("net.i2p.router.web.ConfigClientsHandler.noncePrev", prev);
     System.setProperty("net.i2p.router.web.ConfigClientsHandler.nonce", new java.util.Random().nextLong()+""); %>
  <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigClientsHandler.nonce")%>" />
- <h3>Client Configuration</h3>
- <p>
+ <h3>Client Configuration</h3><p>
  The Java clients listed below are started by the router and run in the same JVM.
- </p><p> <div class="wideload">
- <jsp:getProperty name="clientshelper" property="form1" />
- </p><p>
- <i>All changes require restart to take effect. To change other client options, edit the clients.config file.</i>
- </p> <hr /><div class="formaction">
+ </p><div class="wideload">
+ <p><jsp:getProperty name="clientshelper" property="form1" />
+ </p><p><i>All changes require restart to take effect. To change other client options, edit the clients.config file.</i>
+ </p><br><div class="formaction">
  <input type="submit" name="action" value="Save Client Configuration" />
-</div></div>
- <h3>WebApp Configuration</h3>
- <p>
+</div></div><h3>WebApp Configuration</h3><p>
  The Java web applications listed below are started by the webConsole client and run in the same JVM as the router.
  They are usually web applications accessible through the router console.
  They may be complete applications (e.g. i2psnark),
@@ -53,18 +46,11 @@ button span.hide{
  A web app may also be disabled by removing the .war file from the webapps directory;
  however the .war file and web app will reappear when you update your router to a newer version,
  so disabling the web app here is the preferred method.
- </p><p><div class="wideload">
- <jsp:getProperty name="clientshelper" property="form2" />
  </p>
- <p>
+ <div class="wideload"><p>
+ <jsp:getProperty name="clientshelper" property="form2" />
+ </p><p>
  <i>All changes require restart to take effect. To change other webapp options, edit the webapps.config file.</i>
- </p>
- <hr><div class="formaction">
+ </p><hr><div class="formaction">
  <input type="submit" name="action" value="Save WebApp Configuration" />
- </div>
- </form>
-</div>
-</div>
-</div>
-</body>
-</html>
+ </div></div></form></div></div></body></html>
diff --git a/apps/routerconsole/jsp/configkeyring.jsp b/apps/routerconsole/jsp/configkeyring.jsp
index 7e58f4a15630f1a0087e1cd00a9ca179284ed3c3..88957858de8804eef8e937895edd686555919eca 100644
--- a/apps/routerconsole/jsp/configkeyring.jsp
+++ b/apps/routerconsole/jsp/configkeyring.jsp
@@ -2,8 +2,7 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - config keyring</title>
+<html><head><title>I2P Router Console - config keyring</title>
 <%@include file="css.jsp" %>
 </head><body>
 
@@ -16,21 +15,16 @@
  <jsp:setProperty name="formhandler" property="*" />
  <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:getProperty name="formhandler" property="allMessages" />
- 
-
-
  <jsp:useBean class="net.i2p.router.web.ConfigKeyringHelper" id="keyringhelper" scope="request" />
  <jsp:setProperty name="keyringhelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
-<div class="configure">
- <p>
- <h3>Keyring</h3>
+<div class="configure"><p><h3>Keyring</h3>
  The router keyring is used to decrypt encrypted leaseSets.
  The keyring may contain keys for local or remote encrypted destinations.
- <div class="wideload"><p> 
+ <div class="wideload"><p>
  <jsp:getProperty name="keyringhelper" property="summary" />
 </p></div>
 
- <hr />
+ <br>
 
  <form action="configkeyring.jsp" method="POST">
  <% String prev = System.getProperty("net.i2p.router.web.ConfigKeyringHandler.nonce");
@@ -41,23 +35,14 @@
  Enter keys for encrypted remote destinations here.
  Keys for local destinations must be entered on the <a href="i2ptunnel/index.jsp">I2PTunnel page</a>.
  <p>
-  <div class="wideload"> 
-      <table>
-        <tr>
-          <td class="mediumtags" align="right">Dest. name, hash, or full key:</td> 
-          <td><textarea name="peer" cols="44" rows="1" style="height: 3em;" wrap="off"></textarea></td> 
-        <tr>
-          <td class="mediumtags" align="right">Session Key:</td> 
-          <td><input type="text" size="55" name="key" /></td> 
-        <tr>
-          <td>
-          <td align="right"> 
-            <input type="submit" name="action" value="Add key" /></td>
-      </table>
- </form>
-
-</div>
-</div>
-</div>
-</body>
-</html>
+  <div class="wideload">
+      <table><tr>
+          <td class="mediumtags" align="right">Dest. name, hash, or full key:</td>
+          <td><textarea name="peer" cols="44" rows="1" style="height: 3em;" wrap="off"></textarea></td>
+        </tr><tr>
+          <td class="mediumtags" align="right">Session Key:</td>
+          <td><input type="text" size="55" name="key" /></td>
+        </tr><tr>
+          <td></td>
+          <td align="right"><input type="submit" name="action" value="Add key" /></td>
+</tr></table></div></form></div></div></body></html>
diff --git a/apps/routerconsole/jsp/configlogging.jsp b/apps/routerconsole/jsp/configlogging.jsp
index 432acdfb87cf662e535cf4d7c6ca9e9a3c2e0209..31caf5994899a76125522165dc6a5b8ccf5ba054 100644
--- a/apps/routerconsole/jsp/configlogging.jsp
+++ b/apps/routerconsole/jsp/configlogging.jsp
@@ -18,7 +18,7 @@
  <jsp:setProperty name="formhandler" property="*" />
  <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:getProperty name="formhandler" property="allMessages" />
-<div class="configure">  
+<div class="configure">
  <form action="configlogging.jsp" method="POST">
  <% String prev = System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce");
     if (prev != null) System.setProperty("net.i2p.router.web.ConfigLoggingHandler.noncePrev", prev);
@@ -28,43 +28,26 @@
  <h3>Configure I2P Logging Options</h3>
  <div class="wideload">
       <table border="0" cellspacing="5">
-        <tr> 
-          <td class="mediumtags" align="right"><b>Logging filename:</b> 
-          <td><input type="text" name="logfilename" size="40" value="<jsp:getProperty name="logginghelper" property="logFilePattern" />" /> 
-            <br /> <i>(the symbol '@' will be replaced during log rotation)</i> 
-        <tr> 
-          <td class="mediumtags" align="right"><b>Log record format:</b> 
-          <td><input type="text" name="logformat" size="20" value="<jsp:getProperty name="logginghelper" property="recordPattern" />" /> 
-            <br /> <i>(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority, 
-            'm' = message)</i> 
-        <tr> 
-          <td class="mediumtags" align="right"><b>Log date format:</b> 
-          <td><input type="text" name="logdateformat" size="20" value="<jsp:getProperty name="logginghelper" property="datePattern" />" /> 
-            <br /> <i>('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss' 
-            = second, 'SSS' = millisecond)</i> 
-        <tr> 
-          <td class="mediumtags" align="right"><b>Max log file size:</b> 
-          <td><input type="text" name="logfilesize" size="4" value="<jsp:getProperty name="logginghelper" property="maxFileSize" />" /> 
-            <br /> 
-        <tr> 
-          <td class="mediumtags" align="right"><b>Default log level:</b> 
-          <td><jsp:getProperty name="logginghelper" property="defaultLogLevelBox" /> <br /> <i>(DEBUG and INFO are not recommended defaults, 
-            as they will drastically slow down your router)</i> 
-        <tr> 
-          <td class="mediumtags" align="right"><b>Log level overrides:</b> 
-          <td><jsp:getProperty name="logginghelper" property="logLevelTable" /> 
-        <tr> 
-          <td colspan="2"><hr> 
-        <tr> 
-          <td>
-          <td> <div align="right"> 
-              <input type="submit" name="shouldsave" value="Save changes" />
-              <input type="reset" value="Cancel" />
-            </div> 
-      </table>
- </form>
-</div>
-</div>
-</div>
-</body>
-</html>
+        <tr><td class="mediumtags" align="right"><b>Logging filename:</b></td>
+          <td><input type="text" name="logfilename" size="40" value="<jsp:getProperty name="logginghelper" property="logFilePattern" />" />
+          <br><i>(the symbol '@' will be replaced during log rotation)</i></td>
+        </tr><tr><td class="mediumtags" align="right"><b>Log record format:</b></td>
+          <td><input type="text" name="logformat" size="20" value="<jsp:getProperty name="logginghelper" property="recordPattern" />" />
+            <br> <i>(use 'd' = date, 'c' = class, 't' = thread, 'p' = priority,
+            'm' = message)</i></td>
+        </tr><tr><td class="mediumtags" align="right"><b>Log date format:</b></td>
+          <td><input type="text" name="logdateformat" size="20" value="<jsp:getProperty name="logginghelper" property="datePattern" />" />
+            <br> <i>('MM' = month, 'dd' = day, 'HH' = hour, 'mm' = minute, 'ss'
+            = second, 'SSS' = millisecond)</i></td>
+        </tr><tr><td class="mediumtags" align="right"><b>Max log file size:</b></td>
+          <td><input type="text" name="logfilesize" size="4" value="<jsp:getProperty name="logginghelper" property="maxFileSize" />" /><br></td>
+        </tr><tr><td class="mediumtags" align="right"><b>Default log level:</b></td>
+          <td><jsp:getProperty name="logginghelper" property="defaultLogLevelBox" /><br><i>(DEBUG and INFO are not recommended defaults,
+            as they will drastically slow down your router)</i></td>
+        </tr><tr><td class="mediumtags" align="right"><b>Log level overrides:</b></td>
+          <td><jsp:getProperty name="logginghelper" property="logLevelTable" /></td>
+        </tr><tr><td colspan="2"><hr></td>
+        </tr><tr><td> <div align="right">
+          <input type="submit" name="shouldsave" value="Save changes" />
+          <input type="reset" value="Cancel" />
+</div></td></tr></table></div></form></div></div></body></html>
diff --git a/apps/routerconsole/jsp/confignav.jsp b/apps/routerconsole/jsp/confignav.jsp
index 37b6adbd0e0777adb4ae4526aca80079c80dcc2f..bba31052ec868fa567b9f44acc172a61d91f5931 100644
--- a/apps/routerconsole/jsp/confignav.jsp
+++ b/apps/routerconsole/jsp/confignav.jsp
@@ -1,6 +1,6 @@
 <div class="confignav" id="confignav">
 <center>
-<% if (request.getRequestURI().indexOf("config.jsp") != -1) { 
+<% if (request.getRequestURI().indexOf("config.jsp") != -1) {
  %>Network | <% } else { %><a href="config.jsp">Network</a> | <% }
  String userAgent = request.getHeader("User-Agent");
  if (userAgent == null || !userAgent.contains("MSIE")) {
@@ -25,5 +25,4 @@
  %>Stats | <% } else { %><a href="configstats.jsp">Stats</a> | <% }
  if (request.getRequestURI().indexOf("configadvanced.jsp") != -1) {
  %>Advanced<% } else { %><a href="configadvanced.jsp">Advanced</a><% } %>
-</center>
-</div>
+</center></div>
diff --git a/apps/routerconsole/jsp/configpeer.jsp b/apps/routerconsole/jsp/configpeer.jsp
index cc759d93646b674bc4fad5939eceb851752d1aa3..b78fff136c18717b104ae6e1698911c1b6562ce5 100644
--- a/apps/routerconsole/jsp/configpeer.jsp
+++ b/apps/routerconsole/jsp/configpeer.jsp
@@ -2,8 +2,7 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - config peers</title>
+<html><head><title>I2P Router Console - config peers</title>
 <%@include file="css.jsp" %>
 </head><body>
 
@@ -11,19 +10,19 @@
 <h1>I2P Peer Configuration</h1>
 <div class="main" id="main">
  <%@include file="confignav.jsp" %>
-  
+
  <jsp:useBean class="net.i2p.router.web.ConfigPeerHandler" id="formhandler" scope="request" />
  <jsp:setProperty name="formhandler" property="*" />
  <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:getProperty name="formhandler" property="allMessages" />
- 
+
 
 
  <jsp:useBean class="net.i2p.router.web.ConfigPeerHelper" id="peerhelper" scope="request" />
  <jsp:setProperty name="peerhelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
 
  <% String peer = "";
-    if (request.getParameter("peer") != null)     
+    if (request.getParameter("peer") != null)
         peer = request.getParameter("peer");
  %>
  <div class="configure">
@@ -40,9 +39,9 @@
  <div class="mediumtags">Router Hash:
  <input type="text" size="55" name="peer" value="<%=peer%>" /></div>
  <h3>Manually Ban / Unban a Peer</h3>
- Shitlisting will prevent the participation of this peer in tunnels you create. 
-      <hr />      
-      <div class="formaction"> 
+ Shitlisting will prevent the participation of this peer in tunnels you create.
+      <hr>
+      <div class="formaction">
         <input type="submit" name="action" value="Ban peer until restart" />
         <input type="submit" name="action" value="Unban peer" />
         <% if (! "".equals(peer)) { %>
@@ -51,17 +50,17 @@
       </div>
 
  <h3>Adjust Profile Bonuses</h3>
- Bonuses may be positive or negative, and affect the peer's inclusion in Fast 
-      and High Capacity tiers. Fast peers are used for client tunnels, and High 
-      Capacity peers are used for some exploratory tunnels. Current bonuses are 
-      displayed on the <a href="profiles.jsp">profiles page</a>. 
+ Bonuses may be positive or negative, and affect the peer's inclusion in Fast
+      and High Capacity tiers. Fast peers are used for client tunnels, and High
+      Capacity peers are used for some exploratory tunnels. Current bonuses are
+      displayed on the <a href="profiles.jsp">profiles page</a>.
       <p>
  <% long speed = 0; long capacity = 0;
     if (! "".equals(peer)) {
         // get existing bonus values?
     }
- %> 
- <hr />
+ %>
+ <hr>
  <div class="mediumtags">Speed:
  <input type="text" size="8" name="speed" value="<%=speed%>" />
  Capacity:
@@ -73,12 +72,8 @@
  <jsp:useBean class="net.i2p.router.web.ProfilesHelper" id="profilesHelper" scope="request" />
  <jsp:setProperty name="profilesHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:getProperty name="profilesHelper" property="shitlistSummary" />
- <hr />
+ <hr>
  <div class="wideload">
  <jsp:getProperty name="peerhelper" property="blocklistSummary" />
 
-</div>
-</div>
-</div>
-</body>
-</html>
+</div></div></div></body></html>
diff --git a/apps/routerconsole/jsp/configservice.jsp b/apps/routerconsole/jsp/configservice.jsp
index 942aedf0d0fe872b50fb278a012d6c0da53b6279..45b5e435faa030e3d676598619c607a4930f3705 100644
--- a/apps/routerconsole/jsp/configservice.jsp
+++ b/apps/routerconsole/jsp/configservice.jsp
@@ -2,8 +2,7 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - config service</title>
+<html><head><title>I2P Router Console - config service</title>
 <%@include file="css.jsp" %>
 </head><body>
 
@@ -11,7 +10,7 @@
 <h1>I2P Service Configuration</h1>
 <div class="main" id="main">
  <%@include file="confignav.jsp" %>
-  
+
  <jsp:useBean class="net.i2p.router.web.ConfigServiceHandler" id="formhandler" scope="request" />
  <jsp:setProperty name="formhandler" property="*" />
  <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
@@ -23,7 +22,7 @@
     System.setProperty("net.i2p.router.web.ConfigServiceHandler.nonce", new java.util.Random().nextLong()+""); %>
  <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigServiceHandler.nonce")%>" />
  <h3>Shutdown the router</h3>
- <p>Graceful shutdown lets the router satisfy the agreements it has already made 
+ <p>Graceful shutdown lets the router satisfy the agreements it has already made
  before shutting down, but may take a few minutes.  If you need to kill the
  router immediately, that option is available as well.</p>
   <hr><div class="formaction">
@@ -32,7 +31,7 @@
  <input type="submit" name="action" value="Cancel graceful shutdown" />
  </div>
  <% if (System.getProperty("wrapper.version") != null) { %>
- <p>If you want the router to restart itself after shutting down, you can choose one of 
+ <p>If you want the router to restart itself after shutting down, you can choose one of
  the following.  This is useful in some situations - for example, if you changed
  some settings that client applications only read at startup, such as the routerconsole password
  or the interface it listens on.  A graceful restart will take a few minutes (but your peers
@@ -45,46 +44,41 @@
 
  <% if ( (System.getProperty("os.name") != null) && (System.getProperty("os.name").startsWith("Win")) ) { %>
  <h3>Systray integration</h3>
- <p>On the windows platform, there is a small application to sit in the system 
+ <p>On the windows platform, there is a small application to sit in the system
  tray, allowing you to view the router's status (later on, I2P client applications
  will be able to integrate their own functionality into the system tray as well).
  If you are on windows, you can either enable or disable that icon here.</p>
  <hr><div class="formaction">
  <input type="submit" name="action" value="Show systray icon" />
  <input type="submit" name="action" value="Hide systray icon" />
-</div>
- <h3>Run on startup</h3>
- <p>You can control whether I2P is run on startup or not by selecting one of the 
+</div><h3>Run on startup</h3>
+ <p>You can control whether I2P is run on startup or not by selecting one of the
  following options - I2P will install (or remove) a service accordingly.  You can
- also run the <code>install_i2p_service_winnt.bat</code> (or 
+ also run the <code>install_i2p_service_winnt.bat</code> (or
  <code>uninstall_i2p_service_winnt.bat</code>) from the command line, if you prefer.</p>
  <hr><div class="formaction">
  <input type="submit" name="action" value="Run I2P on startup" />
 <input type="submit" name="action" value="Don't run I2P on startup" /></div>
- <p><b>Note:</b> If you are running I2P as service right now, removing it will shut 
+ <p><b>Note:</b> If you are running I2P as service right now, removing it will shut
  down your router immediately.  You may want to consider shutting down gracefully, as
  above, then running uninstall_i2p_service_winnt.bat.</p>
  <% } %>
 
  <% if (System.getProperty("wrapper.version") != null) { %>
  <h3>Debugging</h3>
- <p>At times, it may be helpful to debug I2P by getting a thread dump.  To do so, 
- please select the following option and review the thread dumped to 
+ <p>At times, it may be helpful to debug I2P by getting a thread dump.  To do so,
+ please select the following option and review the thread dumped to
  <a href="logs.jsp#servicelogs">wrapper.log</a>.</p>
   <hr><div class="formaction">
  <input type="submit" name="action" value="Dump threads" />
 <% } %></div>
- 
+
  <h3>Launch browser on router startup?</h3>
  <p>I2P's main configuration interface is this web console, so for your convenience
- I2P can launch a web browser pointing at 
+ I2P can launch a web browser pointing at
  <a href="http://127.0.0.1:7657/index.jsp">http://127.0.0.1:7657/index.jsp</a> whenever
  the router starts up.</p>
  <hr><div class="formaction">
  <input type="submit" name="action" value="View console on startup" />
  <input type="submit" name="action" value="Do not view console on startup" />
-</form></div>
-</div>
-</div>
-</body>
-</html>
+</div></form></div></div></body></html>
diff --git a/apps/routerconsole/jsp/configstats.jsp b/apps/routerconsole/jsp/configstats.jsp
index 9a2435ec4f313fdfa2a66dc48828fc635b591e83..122d035c3b9467244d83612ad6e2c89efcb64274 100644
--- a/apps/routerconsole/jsp/configstats.jsp
+++ b/apps/routerconsole/jsp/configstats.jsp
@@ -2,8 +2,7 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - config stats</title>
+<html><head><title>I2P Router Console - config stats</title>
 <%@include file="css.jsp" %>
 <script type="text/javascript">
 function init()
@@ -73,39 +72,40 @@ function toggleAll(category)
  <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigStatsHandler.nonce")%>" />
  <h3>Configure I2P Stat Collection</h3>
  Enable full stats?
- <input type="checkbox" class="optbox" name="isFull" value="true" <% 
+ <input type="checkbox" class="optbox" name="isFull" value="true" <%
  if (statshelper.getIsFull()) { %>checked="true" <% } %>/>
- (change requires restart to take effect)<br />
- Stat file: <input type="text" name="filename" value="<%=statshelper.getFilename()%>" /><br />
- Filter: (<a href="javascript: void(null);" onclick="toggleAll('*')">toggle all</a>)<hr />
+ (change requires restart to take effect)<br>
+ Stat file: <input type="text" name="filename" value="<%=statshelper.getFilename()%>" /><br>
+ Filter: (<a href="javascript: void(null);" onclick="toggleAll('*')">toggle all</a>)<br>
  <div class="wideload">
  <table>
  <% while (statshelper.hasMoreStats()) {
       while (statshelper.groupRequired()) { %>
- <tr class="tablefooter"><td align="left" colspan="3">
+ <tr class="tablefooter">
+     <td align="left" colspan="3">
      <b><%=statshelper.getCurrentGroupName()%></b>
      (<a href="javascript: void(null);" onclick="toggleAll('<%=statshelper.getCurrentGroupName()%>')">toggle all</a>)
-     </td></tr><tr class="tablefooter"><td align="center"><b>Log</b></td><td align="center"><b>Graph</b></td><td></td></tr><%
+     </td></tr>
+ <tr class="tablefooter">
+    <td align="center"><b>Log</b></td>
+    <td align="center"><b>Graph</b></td>
+    <td></td></tr>
+        <%
      } // end iterating over required groups for the current stat %>
  <tr><td align="center">
      <a name="<%=statshelper.getCurrentStatName()%>"></a>
-     <input id="<%=statshelper.getCurrentGroupName()%>" type="checkbox" class="optbox" name="statList" value="<%=statshelper.getCurrentStatName()%>" <% 
+     <input id="<%=statshelper.getCurrentGroupName()%>" type="checkbox" class="optbox" name="statList" value="<%=statshelper.getCurrentStatName()%>" <%
      if (statshelper.getCurrentIsLogged()) { %>checked="true" <% } %>/></td>
      <td align="center">
      <% if (statshelper.getCurrentCanBeGraphed()) { %>
-       <input id="<%=statshelper.getCurrentGroupName()%>" type="checkbox" class="optbox" name="graphList" value="<%=statshelper.getCurrentGraphName()%>" <% 
+       <input id="<%=statshelper.getCurrentGroupName()%>" type="checkbox" class="optbox" name="graphList" value="<%=statshelper.getCurrentGraphName()%>" <%
        if (statshelper.getCurrentIsGraphed()) { %>checked="true" <% } %>/><% } %></td>
-     <td align="left"><b><%=statshelper.getCurrentStatName()%>:</b><br />
+     <td align="left"><b><%=statshelper.getCurrentStatName()%>:</b><br>
      <%=statshelper.getCurrentStatDescription()%></td></tr><%
     } // end iterating over all stats %>
  <tr><td colspan="3"></td></tr>
  <tr><td align="center"><input type="checkbox" class="optbox" name="explicitFilter" /></td>
-     <td colspan="2">Advanced filter: 
+     <td colspan="2">Advanced filter:
      <input type="text" name="explicitFilterValue" value="<%=statshelper.getExplicitFilter()%>" size="40" /></td></tr>
-     <tr class="tablefooter"><td colspan="3" align="right"><input type="submit" name="shouldsave" value="Save changes" /><input type="reset" value="Cancel" /></td></tr></form>
- </table>
-</div>
-</div>
-</div>
-</body>
-</html>
+     <tr class="tablefooter"><td colspan="3" align="right"><input type="submit" name="shouldsave" value="Save changes" /><input type="reset" value="Cancel" /></td></tr>
+ </table></div></form></div></div></body></html>
diff --git a/apps/routerconsole/jsp/configtunnels.jsp b/apps/routerconsole/jsp/configtunnels.jsp
index f6ccb44d7731326551acb94462e72a68f4d4f11c..94647fef859bbe3229cedb129a70b9bbb7ab8403 100644
--- a/apps/routerconsole/jsp/configtunnels.jsp
+++ b/apps/routerconsole/jsp/configtunnels.jsp
@@ -2,8 +2,7 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - config tunnels</title>
+<html><head><title>I2P Router Console - config tunnels</title>
 <%@include file="css.jsp" %>
 </head><body>
 
@@ -21,16 +20,14 @@
  <jsp:setProperty name="formhandler" property="nonce" value="<%=request.getParameter("nonce")%>" />
  <jsp:setProperty name="formhandler" property="settings" value="<%=request.getParameterMap()%>" />
  <jsp:getProperty name="formhandler" property="allMessages" />
- <div class="configure">
- <p><i>
+ <div class="configure"><p><i>
  NOTE: The default settings work for most people.
  There is a fundamental tradeoff between anonymity and performance.
  Tunnels longer than 3 hops (for example 2 hops + 0-2 hops, 3 hops + 0-1 hops, 3 hops + 0-2 hops),
  or a high quantity + backup quantity, may severely reduce performance or reliability.
  High CPU and/or high outbound bandwidth usage may result.
  Change these settings with care, and adjust them if you have problems.
- </i></p>
- <div class="wideload"> 
+ </i></p><div class="wideload">
  <form action="configtunnels.jsp" method="POST">
  <% String prev = System.getProperty("net.i2p.router.web.ConfigTunnelsHandler.nonce");
     if (prev != null) System.setProperty("net.i2p.router.web.ConfigTunnelsHandler.noncePrev", prev);
@@ -38,13 +35,8 @@
  <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigTunnelsHandler.nonce")%>" />
  <input type="hidden" name="action" value="blah" />
  <jsp:getProperty name="tunnelshelper" property="form" />
- <i>Note - Exploratory tunnel setting changes are stored in the router.config file.</i></br>
+ <i>Note - Exploratory tunnel setting changes are stored in the router.config file.</i><br>
  <i>Client tunnel changes are temporary and are not saved.</i><br>
  <i>To make permanent client tunnel changes see the </i><a href="i2ptunnel/index.jsp">i2ptunnel page</a>.<br>
- <hr /><div class="formaction"><input type="submit" name="shouldsave" value="Save changes" /> <input type="reset" value="Cancel" /></div>
- </form>
-</div>
-</div>
-</div>
-</body>
-</html>
+ <br><div class="formaction"><input type="submit" name="shouldsave" value="Save changes" /> <input type="reset" value="Cancel" /></div>
+ </form></div></div></div></body></html>
diff --git a/apps/routerconsole/jsp/configui.jsp b/apps/routerconsole/jsp/configui.jsp
index f918bd5b5940470a0a3b709dedf7d310a41d6202..89f7d7c2bf1d5c0101620009a8195855bc851d6e 100644
--- a/apps/routerconsole/jsp/configui.jsp
+++ b/apps/routerconsole/jsp/configui.jsp
@@ -2,8 +2,7 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - config UI</title>
+<html><head><title>I2P Router Console - config UI</title>
 <%@include file="css.jsp" %>
 </head><body>
 
@@ -16,13 +15,12 @@
 <div class="main" id="main">
 
  <%@include file="confignav.jsp" %>
- 
+
  <jsp:useBean class="net.i2p.router.web.ConfigUIHandler" id="formhandler" scope="request" />
  <jsp:setProperty name="formhandler" property="*" />
  <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:getProperty name="formhandler" property="allMessages" />
-<div class="configure">
-<h3>Router Console Theme</h3>
+<div class="configure"><h3>Router Console Theme</h3>
 <%
  // userAgent defined in confignav
  if (userAgent == null || !userAgent.contains("MSIE")) {
@@ -34,14 +32,11 @@
  <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigUIHandler.nonce")%>" />
  <input type="hidden" name="action" value="blah" />
  <jsp:getProperty name="uihelper" property="settings" />
-<hr><div class="formaction"> 	
+<hr><div class="formaction">
 <input type="submit" name="shouldsave" value="Apply" /> <input type="reset" value="Cancel" />
-</form></div>
+</div></form></div>
 <% } else { %>
-Theme selection disabled for Internet Explorer, sorry.<hr>If you're not using IE, it's likely that 
+Theme selection disabled for Internet Explorer, sorry.<hr>If you're not using IE, it's likely that
 your browser is pretending to be IE; please configure your browser (or proxy) to use a different User Agent string if you'd like to access the console themes.
 <% } %>
-</div>
-</div>
-</body>
-</html>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/configupdate.jsp b/apps/routerconsole/jsp/configupdate.jsp
index 136876d372b0de4266c125ca06b5e21dbbff3a35..4b2fd1b722fc05c38e9456df3b256a7117967435 100644
--- a/apps/routerconsole/jsp/configupdate.jsp
+++ b/apps/routerconsole/jsp/configupdate.jsp
@@ -2,8 +2,7 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - config update</title>
+<html><head><title>I2P Router Console - config update</title>
 <%@include file="css.jsp" %>
 </head><body>
 
@@ -11,16 +10,15 @@
 <h1>I2P Update Configuration</h1>
 <div class="main" id="main">
  <%@include file="confignav.jsp" %>
-  
+
  <jsp:useBean class="net.i2p.router.web.ConfigUpdateHandler" id="formhandler" scope="request" />
  <jsp:setProperty name="formhandler" property="*" />
  <jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:getProperty name="formhandler" property="allMessages" />
- 
  <jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="updatehelper" scope="request" />
  <jsp:setProperty name="updatehelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
 <div class="messages">
-<i><jsp:getProperty name="updatehelper" property="newsStatus" /></i></div> 
+<i><jsp:getProperty name="updatehelper" property="newsStatus" /></i></div>
 <div class="configure">
  <form action="configupdate.jsp" method="POST">
  <% String prev = System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce");
@@ -29,56 +27,33 @@
  <input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce")%>" />
       <h3>Check for I2P and news updates</h3>
       <div class="wideload"><table border="0" cellspacing="5">
-        <tr>
-          <td colspan="2"></tr>
-        <tr>
-          <td class= "mediumtags" align="right"><b>News:</b></td>
-          <td> <% if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { %> <i>Update In Progress</i><br /> <% } else { %> <input type="submit" name="action" value="Check for update now" /> 
-            <% } %></tr>
-        <tr>
-          <td colspan="2"><hr /></td>
-        </tr>
-        <tr>
-          <td class= "mediumtags" align="right"><b>News URL:</b></td>
+        <tr><td colspan="2"></tr>
+        <tr><td class= "mediumtags" align="right"><b>News:</b></td>
+          <td> <% if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress", "false"))) { %> <i>Update In Progress</i><br> <% } else { %> <input type="submit" name="action" value="Check for update now" />
+            <% } %></td></tr>
+        <tr><td colspan="2"><br></td></tr>
+        <tr><td class= "mediumtags" align="right"><b>News URL:</b></td>
           <td><input type="text" size="60" name="newsURL" value="<jsp:getProperty name="updatehelper" property="newsURL" />"></td>
-        </tr>
-        <tr>
-          <td class= "mediumtags" align="right"><b>Refresh frequency:</b> 
-          <td><jsp:getProperty name="updatehelper" property="refreshFrequencySelectBox" /> 
-        <tr>
-          <td class= "mediumtags" align="right"><b>Update policy:</b> 
-          <td><jsp:getProperty name="updatehelper" property="updatePolicySelectBox" /> 
-        <tr>
-          <td class= "mediumtags" align="right"><b>Update through the eepProxy?</b> 
-          <td><jsp:getProperty name="updatehelper" property="updateThroughProxy" /> 
-        <tr>
-          <td class= "mediumtags" align="right"><b>eepProxy host:</b> 
-          <td><input type="text" size="10" name="proxyHost" value="<jsp:getProperty name="updatehelper" property="proxyHost" />" /> 
-        <tr>
-          <td class= "mediumtags" align="right"><b>eepProxy port:</b> 
-          <td><input type="text" size="4" name="proxyPort" value="<jsp:getProperty name="updatehelper" property="proxyPort" />" /> 
-        <tr>
-          <td class= "mediumtags" align="right"><b>Update URLs:</b> 
-          <td><textarea name="updateURL" wrap="off"><jsp:getProperty name="updatehelper" property="updateURL" /></textarea> 
-        <tr>
-          <td class= "mediumtags" align="right"><b>Trusted keys:</b> 
-          <td><textarea name="trustedKeys" wrap="off"><jsp:getProperty name="updatehelper" property="trustedKeys" /></textarea> 
-        <tr>
-          <td class= "mediumtags" align="right"><b>Update with unsigned development builds?</b> 
-          <td><jsp:getProperty name="updatehelper" property="updateUnsigned" /> 
-        <tr>
-          <td class= "mediumtags" align="right"><b>Unsigned Build URL:</b></td>
+        </tr><tr><td class= "mediumtags" align="right"><b>Refresh frequency:</b>
+          <td><jsp:getProperty name="updatehelper" property="refreshFrequencySelectBox" /></td><tr>
+          <td class= "mediumtags" align="right"><b>Update policy:</b></td>
+          <td><jsp:getProperty name="updatehelper" property="updatePolicySelectBox" /></td>
+        <tr><td class= "mediumtags" align="right"><b>Update through the eepProxy?</b></td>
+          <td><jsp:getProperty name="updatehelper" property="updateThroughProxy" /></td>
+        </tr><tr><td class= "mediumtags" align="right"><b>eepProxy host:</b></td>
+          <td><input type="text" size="10" name="proxyHost" value="<jsp:getProperty name="updatehelper" property="proxyHost" />" /></td>
+        </tr><tr><td class= "mediumtags" align="right"><b>eepProxy port:</b></td>
+          <td><input type="text" size="4" name="proxyPort" value="<jsp:getProperty name="updatehelper" property="proxyPort" />" /></td>
+        </tr><tr><td class= "mediumtags" align="right"><b>Update URLs:</b></td>
+          <td><textarea name="updateURL" wrap="off"><jsp:getProperty name="updatehelper" property="updateURL" /></textarea></td>
+        </tr><tr><td class= "mediumtags" align="right"><b>Trusted keys:</b></td>
+          <td><textarea name="trustedKeys" wrap="off"><jsp:getProperty name="updatehelper" property="trustedKeys" /></textarea></td>
+        </tr><tr><td class= "mediumtags" align="right"><b>Update with unsigned development builds?</b></td>
+          <td><jsp:getProperty name="updatehelper" property="updateUnsigned" /></td>
+        </tr><tr><td class= "mediumtags" align="right"><b>Unsigned Build URL:</b></td>
           <td><input type="text" size="60" name="zipURL" value="<jsp:getProperty name="updatehelper" property="zipURL" />"></td>
-        <tr>
-          <td>
-          <td><div class="formaction"> 
-              <input type="submit" name="action" value="Save" />
-              <input type="reset" value="Cancel" />
-            </div>
-      </table>
-    </div>
- </form>
-</div>
-</div>
-</body>
-</html>
+        </tr><tr><td>
+        <div class="formaction">
+            <input type="submit" name="action" value="Save" />
+            <input type="reset" value="Cancel" />
+        </div></td></tr></table></div></form></div></div></body></html>
diff --git a/apps/routerconsole/jsp/css.jsp b/apps/routerconsole/jsp/css.jsp
index 37b649780b4a1b394463f06ec7dbe85d345f0655..ed7a8c2b1d8f9c5ca42e1215e7eed7f1a22184c6 100644
--- a/apps/routerconsole/jsp/css.jsp
+++ b/apps/routerconsole/jsp/css.jsp
@@ -8,14 +8,14 @@
    response.setHeader("Cache-Control","no-cache");
    response.setDateHeader("Expires", 0);
    // the above will b0rk if the servlet engine has already flushed
-   // the response prior to including this file, so it should be 
+   // the response prior to including this file, so it should be
    // near the top
-   
+
    if (request.getParameter("i2p.contextId") != null) {
-       session.setAttribute("i2p.contextId", request.getParameter("i2p.contextId")); 
+       session.setAttribute("i2p.contextId", request.getParameter("i2p.contextId"));
    }
 %>
 <jsp:useBean class="net.i2p.router.web.CSSHelper" id="cssHelper" scope="request" />
 <jsp:setProperty name="cssHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
-<link href="<%=cssHelper.getTheme(request.getHeader("User-Agent"))%>console.css" rel="stylesheet" type="text/css" /> 
-<!--[if IE]><link href="/themes/console/classic/ieshim.css" rel="stylesheet" type="text/css" /><![endif]--> 
\ No newline at end of file
+<link href="<%=cssHelper.getTheme(request.getHeader("User-Agent"))%>console.css" rel="stylesheet" type="text/css" />
+<!--[if IE]><link href="/themes/console/classic/ieshim.css" rel="stylesheet" type="text/css" /><![endif]-->
\ No newline at end of file
diff --git a/apps/routerconsole/jsp/dumpprofile.jsp b/apps/routerconsole/jsp/dumpprofile.jsp
index 34ff35f7e31e5a5e7c87fa949d6c351ac377ac42..f13a4bcd77e976a212fd273daa4b84d8202950ea 100644
--- a/apps/routerconsole/jsp/dumpprofile.jsp
+++ b/apps/routerconsole/jsp/dumpprofile.jsp
@@ -1,5 +1,5 @@
-<%@page contentType="text/plain" 
-%><jsp:useBean id="helper" class="net.i2p.router.web.StatHelper" 
-/><jsp:setProperty name="helper" property="peer" value="<%=request.getParameter("peer")%>" 
-/><jsp:setProperty name="helper" property="writer" value="<%=out%>" 
+<%@page contentType="text/plain"
+%><jsp:useBean id="helper" class="net.i2p.router.web.StatHelper"
+/><jsp:setProperty name="helper" property="peer" value="<%=request.getParameter("peer")%>"
+/><jsp:setProperty name="helper" property="writer" value="<%=out%>"
 /><jsp:getProperty name="helper" property="profile" />
\ No newline at end of file
diff --git a/apps/routerconsole/jsp/error.jsp b/apps/routerconsole/jsp/error.jsp
index da2dfeac8834a60a699002be5669e7933fff30eb..92da24f4d3be78183526cab6589d9922fac3aead 100644
--- a/apps/routerconsole/jsp/error.jsp
+++ b/apps/routerconsole/jsp/error.jsp
@@ -12,12 +12,10 @@
     }
     // If it can't find the iframe or viewtheme.jsp I wonder if the whole thing blows up...
 %>
-<html><head>
-<title>I2P Router Console</title>
+<html><head><title>I2P Router Console</title>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <%@include file="css.jsp" %>
-<link rel="shortcut icon" href="favicon.ico" />
-</head><body>
+<link rel="shortcut icon" href="favicon.ico" /></head><body>
 <%
 if (System.getProperty("router.consoleNonce") == null) {
     System.setProperty("router.consoleNonce", new java.util.Random().nextLong() + "");
@@ -27,6 +25,4 @@ if (System.getProperty("router.consoleNonce") == null) {
 <h1><%=ERROR_CODE%> <%=ERROR_MESSAGE%></h1>
 <div class="warning" id="warning">
 The Router Console page <%=ERROR_URI%> was not found.
-</div>
-</body>
-</html>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/graphs.jsp b/apps/routerconsole/jsp/graphs.jsp
index 34ee723b76cc7df4719f7fc4403daabd8afb22d8..2a30675d945217146361b4a404081410849d3b0c 100644
--- a/apps/routerconsole/jsp/graphs.jsp
+++ b/apps/routerconsole/jsp/graphs.jsp
@@ -2,8 +2,7 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - graphs</title>
+<html><head><title>I2P Router Console - graphs</title>
 <%@include file="css.jsp" %>
 </head><body>
 
@@ -11,14 +10,11 @@
 <h1>I2P Performance Graphs</h1>
 <div class="main" id="main">
  <div class="graphspanel">
- <div class="widepanel">	
+ <div class="widepanel">
  <jsp:useBean class="net.i2p.router.web.GraphHelper" id="graphHelper" scope="request" />
  <jsp:setProperty name="graphHelper" property="*" />
  <jsp:setProperty name="graphHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:setProperty name="graphHelper" property="writer" value="<%=out%>" />
  <jsp:getProperty name="graphHelper" property="images" />
  <jsp:getProperty name="graphHelper" property="form" />
-</div>
-</div>
-</body>
-</html>
\ No newline at end of file
+</div></div></div></body></html>
\ No newline at end of file
diff --git a/apps/routerconsole/jsp/help.jsp b/apps/routerconsole/jsp/help.jsp
index 97eda87ed6bf727b36ce3acab41d4a9c0f8d13f2..48752b19e3af97cedabab5ad4e0034b4f8cb35f6 100644
--- a/apps/routerconsole/jsp/help.jsp
+++ b/apps/routerconsole/jsp/help.jsp
@@ -2,34 +2,27 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - help</title>
+<html><head><title>I2P Router Console - help</title>
 <%@include file="css.jsp" %>
 </head><body>
-
 <%@include file="summary.jsp" %>
 <h1>I2P Router Help & Support</h1>
 <div class="main" id="main"><div align="justify">
-If you'd like to help improve or translate the documentation, or 
+If you'd like to help improve or translate the documentation, or
 help with other aspects of the project, please see the documentation for
-<a href="http://www.i2p2.i2p/getinvolved.html">volunteers.</a> 
-<br><br>Further assistance is available here:
-<br></div>
+<a href="http://www.i2p2.i2p/getinvolved.html">volunteers.</a>
+<br><br>Further assistance is available here:<br></div>
 <ul class="links">
 <li class="tidylist"><a href="http://www.i2p2.i2p/faq.html">FAQ on www.i2p2.i2p</a>
-<li class="tidylist"><a href="http://www.i2p2.i2p/faq_de.html">Deutsch FAQ</a>.
-</ul>
-<br>
+<li class="tidylist"><a href="http://www.i2p2.i2p/faq_de.html">Deutsch FAQ</a>.</ul><br>
 You may also try the <a href="http://forum.i2p/">I2P forum</a>
-or IRC.<br />
+or IRC.<br>
 
 <h2>Summary Bar Information</h2><div align="justify">
 Many of the stats on the summary bar may be
 <a href="configstats.jsp">configured</a> to be
 <a href="graphs.jsp">graphed</a> for further analysis.
-</div>
-<h3>General</h3>
-<ul>
+</div><h3>General</h3><ul>
 <li class="tidylist"><b>Ident:</b>
 The first four characters (24 bits) of your 44-character (256-bit) Base64 router hash.
 The full hash is shown on your <a href="netdb.jsp?r=.">router info page</a>.
@@ -43,10 +36,7 @@ your computer's time.
 <li class="tidylist"><b>Reachability:</b>
 The router's view of whether it can be contacted by other routers.
 Further information is on the <a href="config.jsp#help">configuration page</a>.
-</ul>
-
-<h3>Peers</h3>
-<ul>
+</ul><h3>Peers</h3><ul>
 <li class="tidylist"><b>Active:</b>
 The first number is the number of peers you've sent or received a message from in the last few minutes.
 This may range from 8-10 to several hundred, depending on your total bandwidth,
@@ -75,21 +65,17 @@ This number is not the total size of the network;
 it may vary widely depending on your total bandwidth,
 shared bandwidth, and locally-generated traffic.
 I2P does not require a router to know every other router.
-</ul>
-
-<h3>Bandwidth in/out</h3><div align="justify">
+</ul><h3>Bandwidth in/out</h3><div align="justify">
 Should be self-explanatory. All values are in bytes per second, not bits per second.
 Change your bandwidth limits on the <a href="config.jsp#help">configuration page</a>.
-Bandwidth is <a href="graphs.jsp">graphed</a> by default.
-</div>
+Bandwidth is <a href="graphs.jsp">graphed</a> by default.</div>
+
 <h3>Local destinations</h3><div align="justify">
 The local applications connecting through your router.
 These may be clients started through <a href="i2ptunnel/index.jsp">I2PTunnel</a>
 or external programs connecting through SAM, BOB, or directly to I2CP.
-</div>
-<h3>Tunnels in/out</h3><div align="justify">
-The actual tunnels are shown on the <a href="tunnels.jsp">the tunnels page</a>.</div><br>
-<ul>
+</div><h3>Tunnels in/out</h3><div align="justify">
+The actual tunnels are shown on the <a href="tunnels.jsp">the tunnels page</a>.</div><br><ul>
 <li class="tidylist"><div align="justify"><b>Exploratory:</b>
 Tunnels built by your router and used for communication with the floodfill peers,
 building new tunnels, and testing existing tunnels.</div>
@@ -102,12 +88,10 @@ shared bandwidth, and amount of locally-generated traffic.
 The recommended method for limiting participating tunnels is
 to change your share percentage on the <a href="config.jsp#help">configuration page</a>.
 You may also limit the total number by setting <tt>router.maxParticipatingTunnels=nnn</tt> on
-the <a href="configadvanced.jsp">advanced configuration page</a>. <a href="configstats.jsp#tunnel.participatingTunnels">[Enable graphing]</a>.
-</ul>
+the <a href="configadvanced.jsp">advanced configuration page</a>. <a href="configstats.jsp#tunnel.participatingTunnels">[Enable graphing]</a>.</ul>
 
 <h3>Congestion</h3><div align="justify">
-Some basic indications of router overload:</div><br>
-<ul>
+Some basic indications of router overload:</div><br><ul>
 <li class="tidylist"><b>Job lag:</b>
 How long jobs are waiting before execution. The job queue is listed on the <a href="jobs.jsp">jobs page</a>.
 Unfortunately, there are several other job queues in the router that may be congested,
@@ -143,42 +127,41 @@ participating tunnel through your router.
 Your router may accept all requests, accept or reject a percentage of requests,
 or reject all requests for a number of reasons, to control
 the bandwidth and CPU demands and maintain capacity for
-local clients.
-</ul>
+local clients.</ul>
 
 <h2>Legal stuff</h2><div align="justify">
-The I2P router (router.jar) and SDK (i2p.jar) are almost entirely public domain, with 
-a few notable exceptions:</div><br /><ul>
+The I2P router (router.jar) and SDK (i2p.jar) are almost entirely public domain, with
+a few notable exceptions:</div><br><ul>
 <li class="tidylist">ElGamal and DSA code, under the BSD license, written by TheCrypto</li>
 <li class="tidylist">SHA256 and HMAC-SHA256, under the MIT license, written by the Legion of the Bouncycastle</li>
 <li class="tidylist">AES code, under the Cryptix (MIT) license, written by the Cryptix team</li>
 <li class="tidylist">SNTP code, under the BSD license, written by Adam Buckley</li>
-<li class="tidylist">The rest is outright public domain, written by jrandom, mihi, hypercubus, oOo, 
+<li class="tidylist">The rest is outright public domain, written by jrandom, mihi, hypercubus, oOo,
     ugha, duck, shendaras, and others.</li>
 </ul>
 
 <p>On top of the I2P router are a series of client applications, each with their own set of
 licenses and dependencies.  This webpage is being served as part of the I2P routerconsole
 client application, which is built off a trimmed down <a href="http://jetty.mortbay.com/jetty/index.html">Jetty</a>
-instance (trimmed down, as in, we do not include the demo apps or other add-ons, and we simplify configuration), 
-allowing you to deploy standard JSP/Servlet web applications into your router.  Jetty in turn makes use of 
+instance (trimmed down, as in, we do not include the demo apps or other add-ons, and we simplify configuration),
+allowing you to deploy standard JSP/Servlet web applications into your router.  Jetty in turn makes use of
 Apache's javax.servlet (javax.servlet.jar) implementation.
-This product includes software developed by the Apache Software Foundation 
+This product includes software developed by the Apache Software Foundation
 (http://www.apache.org/). </p>
 
 <p>Another application you can see on this webpage is <a href="http://www.i2p2.i2p/i2ptunnel">I2PTunnel</a>
 (your <a href="i2ptunnel/" target="_blank">web interface</a>) - a GPL'ed application written by mihi that
 lets you tunnel normal TCP/IP traffic over I2P (such as the eepproxy and the irc proxy).  There is also a
 <a href="http://susi.i2p/">susimail</a> web based mail client <a href="susimail/susimail">available</a> on
-the console, which is a GPL'ed application written by susi23.  The addressbook application, written by 
+the console, which is a GPL'ed application written by susi23.  The addressbook application, written by
 <a href="http://ragnarok.i2p/">Ragnarok</a> helps maintain your hosts.txt files (see ./addressbook/ for
 more information).</p>
 
 <p>The router by default also includes human's public domain <a href="http://www.i2p2.i2p/sam">SAM</a> bridge,
-which other client applications (such the <a href="http://duck.i2p/i2p-bt/">bittorrent port</a>) can use.  
-There is also an optimized library for doing large number calculations - jbigi - which in turn uses the 
-LGPL licensed <a href="http://swox.com/gmp/">GMP</a> library, tuned for various PC architectures.  Launchers for windows users are built with <a href="http://launch4j.sourceforge.net/">Launch4J</a>, and the installer is built with <a href="http://www.izforge.com/izpack/">IzPack</a>.  For 
-details on other applications available, as well as their licenses, please see the 
+which other client applications (such the <a href="http://duck.i2p/i2p-bt/">bittorrent port</a>) can use.
+There is also an optimized library for doing large number calculations - jbigi - which in turn uses the
+LGPL licensed <a href="http://swox.com/gmp/">GMP</a> library, tuned for various PC architectures.  Launchers for windows users are built with <a href="http://launch4j.sourceforge.net/">Launch4J</a>, and the installer is built with <a href="http://www.izforge.com/izpack/">IzPack</a>.  For
+details on other applications available, as well as their licenses, please see the
 <a href="http://www.i2p2.i2p/licenses">license policy</a>.  Source for the I2P code and most bundled
 client applications can be found on our <a href="http://www.i2p2.i2p/download">download page</a>.
 .</p>
@@ -190,10 +173,7 @@ client applications can be found on our <a href="http://www.i2p2.i2p/download">d
  <jsp:setProperty name="contenthelper" property="maxLines" value="256" />
  <jsp:setProperty name="contenthelper" property="startAtBeginning" value="true" />
  <jsp:getProperty name="contenthelper" property="textContent" />
- 
- <p>A more complete list of changes can be found 
+
+ <p>A more complete list of changes can be found
  in the history.txt file in your i2p directory.
- </p><hr />
-</div>
-</body>
-</html>
+ </p><br></div></body></html>
diff --git a/apps/routerconsole/jsp/index.jsp b/apps/routerconsole/jsp/index.jsp
index 3056741e63e1bd09272bb087a5098d70d2ece1be..8ed0c700949ea6ae6c62d1103a9b08f6bc9f614e 100644
--- a/apps/routerconsole/jsp/index.jsp
+++ b/apps/routerconsole/jsp/index.jsp
@@ -14,9 +14,7 @@ if (System.getProperty("router.consoleNonce") == null) {
 }
 %>
 
-<%@include file="summary.jsp" %>
-
-<h1>I2P Router Console</h1>
+<%@include file="summary.jsp" %><h1>I2P Router Console</h1>
 <div class="news" id="news">
  <jsp:useBean class="net.i2p.router.web.ContentHelper" id="newshelper" scope="request" />
  <% java.io.File fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getRouterDir(), "docs/news.xml"); %>
@@ -26,17 +24,12 @@ if (System.getProperty("router.consoleNonce") == null) {
 
  <jsp:useBean class="net.i2p.router.web.ConfigUpdateHelper" id="updatehelper" scope="request" />
  <jsp:setProperty name="updatehelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
- <hr /><i><jsp:getProperty name="updatehelper" property="newsStatus" /></i><br />
-</div>
-
-<div class="main" id="main">
+ <br><i><jsp:getProperty name="updatehelper" property="newsStatus" /></i><br>
+</div><div class="main" id="main">
  <jsp:useBean class="net.i2p.router.web.ContentHelper" id="contenthelper" scope="request" />
  <% fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "docs/readme.html"); %>
  <jsp:setProperty name="contenthelper" property="page" value="<%=fpath.getAbsolutePath()%>" />
  <jsp:setProperty name="contenthelper" property="maxLines" value="300" />
  <jsp:setProperty name="contenthelper" property="lang" value="<%=request.getParameter("lang")%>" />
  <jsp:getProperty name="contenthelper" property="content" />
-</div>
-
-</body>
-</html>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/jobs.jsp b/apps/routerconsole/jsp/jobs.jsp
index 6677dc916d8a042aed813f16d2b269bd65209b00..d75207c84d09ed130d4470083d7bc598cf1ca8ea 100644
--- a/apps/routerconsole/jsp/jobs.jsp
+++ b/apps/routerconsole/jsp/jobs.jsp
@@ -2,19 +2,13 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - job queue</title>
+<html><head><title>I2P Router Console - job queue</title>
 <%@include file="css.jsp" %>
 </head><body>
-
-<%@include file="summary.jsp" %>
- <h1>I2P Router Job Queue</h1>
+<%@include file="summary.jsp" %><h1>I2P Router Job Queue</h1>
 <div class="main" id="main">
  <jsp:useBean class="net.i2p.router.web.JobQueueHelper" id="jobQueueHelper" scope="request" />
  <jsp:setProperty name="jobQueueHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:setProperty name="jobQueueHelper" property="writer" value="<%=out%>" />
  <jsp:getProperty name="jobQueueHelper" property="jobQueueSummary" />
-</div>
-
-</body>
-</html>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/logs.jsp b/apps/routerconsole/jsp/logs.jsp
index d9e9886bf75cd070577403e1c7705b9ab047f702..e74801bb72ca9945fd60b0f0365249a5c21be8f3 100644
--- a/apps/routerconsole/jsp/logs.jsp
+++ b/apps/routerconsole/jsp/logs.jsp
@@ -2,36 +2,25 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - logs</title>
+<html><head><title>I2P Router Console - logs</title>
 <%@include file="css.jsp" %>
 </head><body>
-
 <%@include file="summary.jsp" %>
- <h1>I2P Router Logs</h1>
+<h1>I2P Router Logs</h1>
 <div class="main" id="main">
- <div class="joblog">
- <h3>Version:</h3><a name="version"> </a>
+ <div class="joblog"><h3>Version:</h3><a name="version"> </a>
  Please include this information in bug reports.
- <p>
-I2P <jsp:getProperty name="helper" property="version" /><br />
-<%=System.getProperty("java.vendor")%> <%=System.getProperty("java.version")%><br />
-<%=System.getProperty("os.name")%> <%=System.getProperty("os.arch")%> <%=System.getProperty("os.version")%><br />
-CPU <%=net.i2p.util.NativeBigInteger.cpuModel()%> (<%=net.i2p.util.NativeBigInteger.cpuType()%>)<br />
-jbigi <%=net.i2p.util.NativeBigInteger.loadStatus()%><br />
- </p>
- <hr />
+ <p>I2P <jsp:getProperty name="helper" property="version" /><br>
+<%=System.getProperty("java.vendor")%> <%=System.getProperty("java.version")%><br>
+<%=System.getProperty("os.name")%> <%=System.getProperty("os.arch")%> <%=System.getProperty("os.version")%><br>
+CPU <%=net.i2p.util.NativeBigInteger.cpuModel()%> (<%=net.i2p.util.NativeBigInteger.cpuType()%>)<br>
+jbigi <%=net.i2p.util.NativeBigInteger.loadStatus()%><br></p><br>
  <jsp:useBean class="net.i2p.router.web.LogsHelper" id="logsHelper" scope="request" />
  <jsp:setProperty name="logsHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <h3>Critical logs:</h3><a name="criticallogs"> </a>
- <jsp:getProperty name="logsHelper" property="criticalLogs" />
- <hr />
+ <jsp:getProperty name="logsHelper" property="criticalLogs" /><br>
  <h3>Router logs (<a href="configlogging.jsp">configure</a>):</h3>
- <jsp:getProperty name="logsHelper" property="logs" />
- <hr />
+ <jsp:getProperty name="logsHelper" property="logs" /><br>
  <h3>Service (Wrapper) logs:</h3><a name="servicelogs"> </a>
  <jsp:getProperty name="logsHelper" property="serviceLogs" />
-</div>
-</div>
-</body>
-</html>
+</div></div></body></html>
diff --git a/apps/routerconsole/jsp/netdb.jsp b/apps/routerconsole/jsp/netdb.jsp
index cac11bf054c5c09d49266977b51e8bd9c11f0840..83136b1137273a042e529b7c2c32661497abf8f3 100644
--- a/apps/routerconsole/jsp/netdb.jsp
+++ b/apps/routerconsole/jsp/netdb.jsp
@@ -6,7 +6,6 @@
 <title>I2P Router Console - network database summary</title>
 <%@include file="css.jsp" %>
 </head><body>
-
 <%@include file="summary.jsp" %>
  <h1>I2P Network Database Summary</h1>
 <div class="main" id="main">
@@ -18,7 +17,4 @@
  <jsp:setProperty name="netdbHelper" property="router" value="<%=request.getParameter("r")%>" />
  <jsp:setProperty name="netdbHelper" property="lease" value="<%=request.getParameter("l")%>" />
  <jsp:getProperty name="netdbHelper" property="netDbSummary" />
-</div>
-</div>
-</body>
-</html>
+</div></div></body></html>
diff --git a/apps/routerconsole/jsp/oldconsole.jsp b/apps/routerconsole/jsp/oldconsole.jsp
index e9a557380737a34bb139a4361307398acee1cf83..803d4b63734437383273ab4aaaefe2707f140558 100644
--- a/apps/routerconsole/jsp/oldconsole.jsp
+++ b/apps/routerconsole/jsp/oldconsole.jsp
@@ -2,20 +2,14 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - internals</title>
+<html><head><title>I2P Router Console - internals</title>
 <%@include file="css.jsp" %>
 </head><body>
-
 <%@include file="summary.jsp" %>
-
 <jsp:useBean class="net.i2p.router.web.OldConsoleHelper" id="conhelper" scope="request" />
 <jsp:setProperty name="conhelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
 <jsp:setProperty name="conhelper" property="writer" value="<%=out%>" />
  <h1>I2P Router &raquo; Old Console</h1>
 <div class="main" id="main">
  <jsp:getProperty name="conhelper" property="console" />
-</div>
-
-</body>
-</html>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/oldstats.jsp b/apps/routerconsole/jsp/oldstats.jsp
index e17fa0ba8b1852e411fd53213c0ee403727b55b1..39f6c73d82309909c2e25623c1bddaf2eda0a832 100644
--- a/apps/routerconsole/jsp/oldstats.jsp
+++ b/apps/routerconsole/jsp/oldstats.jsp
@@ -2,20 +2,14 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - statistics</title>
+<html><head><title>I2P Router Console - statistics</title>
 <%@include file="css.jsp" %>
 </head><body>
-
 <%@include file="summary.jsp" %>
-
 <jsp:useBean class="net.i2p.router.web.OldConsoleHelper" id="oldhelper" scope="request" />
 <jsp:setProperty name="oldhelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
 <jsp:setProperty name="oldhelper" property="writer" value="<%=out%>" />
  <h1>I2P Router Statistics</h1>
 <div class="main" id="main">
  <jsp:getProperty name="oldhelper" property="stats" />
-</div>
-</div>
-</body>
-</html>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/peers.jsp b/apps/routerconsole/jsp/peers.jsp
index 3d24ce65c737f26afda2e7e540ccbde3232000db..19b1d676729a2e2f7e0bda9a7e57ebde3dbc7459 100644
--- a/apps/routerconsole/jsp/peers.jsp
+++ b/apps/routerconsole/jsp/peers.jsp
@@ -2,13 +2,11 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - peer connections</title>
+<html><head><title>I2P Router Console - peer connections</title>
 <%@include file="css.jsp" %>
 </head><body>
-
 <%@include file="summary.jsp" %>
- <h1>I2P Network Peers</h1>
+<h1>I2P Network Peers</h1>
 <div class="main" id="main">
  <jsp:useBean class="net.i2p.router.web.PeerHelper" id="peerHelper" scope="request" />
  <jsp:setProperty name="peerHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
@@ -16,7 +14,4 @@
  <jsp:setProperty name="peerHelper" property="urlBase" value="peers.jsp" />
  <jsp:setProperty name="peerHelper" property="sort" value="<%=request.getParameter("sort") != null ? request.getParameter("sort") : ""%>" />
  <jsp:getProperty name="peerHelper" property="peerSummary" />
-</div>
-
-</body>
-</html>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/profiles.jsp b/apps/routerconsole/jsp/profiles.jsp
index 11529cf55118491ddd8bb022da96423f1e4fabe4..2ae4ff6b2689c0c7af1484c9fbf313e635649e3e 100644
--- a/apps/routerconsole/jsp/profiles.jsp
+++ b/apps/routerconsole/jsp/profiles.jsp
@@ -2,21 +2,15 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - peer profiles</title>
+<html><head><title>I2P Router Console - peer profiles</title>
 <%@include file="css.jsp" %>
-</head><body>
-
-<%@include file="summary.jsp" %>
- <h1>I2P Network Peer Profiles</h1>
+</head><body><%@include file="summary.jsp" %>
+<h1>I2P Network Peer Profiles</h1>
 <div class="main" id="main"><div class="wideload">
  <jsp:useBean class="net.i2p.router.web.ProfilesHelper" id="profilesHelper" scope="request" />
  <jsp:setProperty name="profilesHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:getProperty name="profilesHelper" property="profileSummary" />
- <hr />
+ <br>
  <a name="shitlist"> </a>
  <jsp:getProperty name="profilesHelper" property="shitlistSummary" />
-</div>
-</div>
-</body>
-</html>
+</div></div></body></html>
diff --git a/apps/routerconsole/jsp/summary.jsp b/apps/routerconsole/jsp/summary.jsp
index 786e48353405e1c550fb4eba7d01503a29582b0c..dd66f652b0025457a4442cd5cb0c855ea3da7b5e 100644
--- a/apps/routerconsole/jsp/summary.jsp
+++ b/apps/routerconsole/jsp/summary.jsp
@@ -22,10 +22,10 @@
     } else {
         // since we don't have an iframe this will reload the base page, and
         // the new delay will be passed to the iframe above
-        out.print("<hr /><p><center><form action=\"" + request.getRequestURI() + "\" method=\"GET\">\n");
+        out.print("<br><p><center><form action=\"" + request.getRequestURI() + "\" method=\"GET\">\n");
         out.print("<b>Refresh (s):</b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" />\n");
         out.print("<button type=\"submit\">Enable</button>\n");
         out.print("</form></center></p></div>\n");
     }
 %>
-</div>
+</div></div>
diff --git a/apps/routerconsole/jsp/summaryframe.jsp b/apps/routerconsole/jsp/summaryframe.jsp
index 6be1645602217aeb37b3a447872d9aa1ccd785a6..9dfe9da502b7897e38141fd75f02bc7bfb1b9aca 100644
--- a/apps/routerconsole/jsp/summaryframe.jsp
+++ b/apps/routerconsole/jsp/summaryframe.jsp
@@ -49,16 +49,12 @@
         }
     }
 %>
-</head>
-
-<body style="margin: 0;">
-
-<div class="routersummary">
+</head><body style="margin: 0;"><div class="routersummary">
 <%@include file="summarynoframe.jsp" %>
 <%
     // d and shutdownSoon defined above
     if (!shutdownSoon) {
-        out.print("<hr /><p><form action=\"summaryframe.jsp\" method=\"GET\">\n");
+        out.print("<br><p><form action=\"summaryframe.jsp\" method=\"GET\">\n");
         if ("0".equals(d)) {
             out.print("<b>Refresh (s):<b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" align=\"right\" />\n");
             out.print("<button type=\"submit\">Enable</button>\n");
@@ -67,10 +63,7 @@
             out.print("<input type=\"hidden\" name=\"refresh\" value=\"0\" />\n");
             out.print("<button type=\"submit\">Disable " + d + "s Refresh</button>\n");
         }
-        out.print("</form></p><hr />\n");
+        out.print("</form></p><br>\n");
     }
 %>
-</div>
-
-</body>
-</html>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/summarynoframe.jsp b/apps/routerconsole/jsp/summarynoframe.jsp
index abfce05fd8af245afe6eafff6138dd2c020368b5..6fc596011913683a528747316943e15b6231f29d 100644
--- a/apps/routerconsole/jsp/summarynoframe.jsp
+++ b/apps/routerconsole/jsp/summarynoframe.jsp
@@ -12,7 +12,7 @@
 <jsp:useBean class="net.i2p.router.web.UpdateHandler" id="update" scope="request" />
 <jsp:setProperty name="update" property="*" />
 <jsp:setProperty name="update" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
-<a href="index.jsp" target="_top"><img src="/themes/console/images/i2plogo.png" alt="I2P Router Console" title="I2P Router Console"/></a><hr />
+<a href="index.jsp" target="_top"><img src="/themes/console/images/i2plogo.png" alt="I2P Router Console" title="I2P Router Console"/></a><hr>
 <% java.io.File lpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "docs/toolbar.html");
     // you better have target="_top" for the links in there...
     if (lpath.exists()) { %>
@@ -21,47 +21,37 @@
 <jsp:setProperty name="linkhelper" property="maxLines" value="100" />
 <jsp:getProperty name="linkhelper" property="content" />
 <% } else { %>
-<h3><a href="/configclients.jsp" target="_top" title="Configure startup of clients and webapps (services); manually start dormant services.">I2P Services</a></h3><hr>
-<table>
-<tr>
-<td><a href="susidns/index.jsp" target="_blank" title="Manage your I2P hosts file here (I2P domain name resolution).">Addressbook</a> 
+<h3><a href="/configclients.jsp" target="_top" title="Configure startup of clients and webapps (services); manually start dormant services.">I2P Services</a></h3>
+<hr><table>
+<tr><td><a href="susidns/index.jsp" target="_blank" title="Manage your I2P hosts file here (I2P domain name resolution).">Addressbook</a>
 <a href="i2psnark/" target="_blank" title="Built-in anonymous BitTorrent Client">Torrents</a>
-<a href="susimail/susimail" target="blank" title="Anonymous webmail client.">Webmail</a>  
-<a href="http://127.0.0.1:7658/" target="_blank" title="Anonymous resident webserver.">Webserver</a></td>
-</tr></table><hr> 
-<h3><a href="config.jsp" target="_top" title="Configure I2P Router.">I2P Internals</a></h3><hr>
-<table><tr>
-<td>
-<a href="tunnels.jsp" target="_top" title="View existing tunnels and tunnel build status.">Tunnels</a> 
-<a href="peers.jsp" target="_top" title="Show all current peer connections.">Peers</a> 
-<a href="profiles.jsp" target="_top" title="Show recent peer performance profiles.">Profiles</a> 
-<a href="netdb.jsp" target="_top" title="Show list of all known I2P routers.">NetDB</a> 
-<a href="logs.jsp" target="_top" title="Health Report.">Logs</a> 
+<a href="susimail/susimail" target="blank" title="Anonymous webmail client.">Webmail</a>
+<a href="http://127.0.0.1:7658/" target="_blank" title="Anonymous resident webserver.">Webserver</a></td></tr></table>
+<hr><h3><a href="config.jsp" target="_top" title="Configure I2P Router.">I2P Internals</a></h3><hr>
+<table><tr><td>
+<a href="tunnels.jsp" target="_top" title="View existing tunnels and tunnel build status.">Tunnels</a>
+<a href="peers.jsp" target="_top" title="Show all current peer connections.">Peers</a>
+<a href="profiles.jsp" target="_top" title="Show recent peer performance profiles.">Profiles</a>
+<a href="netdb.jsp" target="_top" title="Show list of all known I2P routers.">NetDB</a>
+<a href="logs.jsp" target="_top" title="Health Report.">Logs</a>
 <a href="jobs.jsp" target="_top" title="Show the router's workload, and how it's performing.">Jobs</a>
-<a href="graphs.jsp" target="_top" title="Graph router performance.">Graphs</a> 
-<a href="oldstats.jsp" target="_top" title="Textual router performance statistics.">Stats</a>
-</td></tr></table>
+<a href="graphs.jsp" target="_top" title="Graph router performance.">Graphs</a>
+<a href="oldstats.jsp" target="_top" title="Textual router performance statistics.">Stats</a></td></tr></table>
 <% } %>
-
-<hr>
-<h3><a href="help.jsp" target="_top" title="I2P Router Help.">General</a></h3><hr>
-<h4>
-<a title="Your unique I2P router identity is <jsp:getProperty name="helper" property="ident" />, never reveal it to anyone" href="netdb.jsp?r=." target="_top">Local Identity</a></h4>
-<hr>
-<table><tr>
-<td align="left">
+<hr><h3><a href="help.jsp" target="_top" title="I2P Router Help.">General</a></h3><hr>
+<h4><a title="Your unique I2P router identity is <jsp:getProperty name="helper" property="ident" />, never reveal it to anyone" href="netdb.jsp?r=." target="_top">Local Identity</a></h4><hr>
+<table><tr><td align="left">
 <b>Version:</b></td>
 <td align="right"><jsp:getProperty name="helper" property="version" /></td></tr>
 <tr title="How long we've been running for this session.">
-<td align="left">
-<b>Uptime:</b></td> 
-<td align="right"><jsp:getProperty name="helper" property="uptime" /></td></tr></table>
-<hr><h4><a href="config.jsp#help" target="_top" title="Help with configuring your firewall and router for optimal I2P performance."><jsp:getProperty name="helper" property="reachability" /></a></h4>
-<hr>
+<td align="left"><b>Uptime:</b></td>
+<td align="right"><jsp:getProperty name="helper" property="uptime" />
+</td></tr></table>
+<hr><h4><a href="config.jsp#help" target="_top" title="Help with configuring your firewall and router for optimal I2P performance."><jsp:getProperty name="helper" property="reachability" /></a></h4><hr>
 <%
     if (helper.updateAvailable() || helper.unsignedUpdateAvailable()) {
         // display all the time so we display the final failure message
-        out.print("<br />" + update.getStatus());
+        out.print("<br>" + update.getStatus());
         if ("true".equals(System.getProperty("net.i2p.router.web.UpdateHandler.updateInProgress"))) {
         } else if((!update.isDone()) &&
                   request.getParameter("action") == null &&
@@ -77,21 +67,22 @@
             if (helper.updateAvailable())
                 out.print("<button type=\"submit\" name=\"updateAction\" value=\"signed\" >Download " + helper.getUpdateVersion() + " Update</button>\n");
             if (helper.unsignedUpdateAvailable())
-                out.print("<button type=\"submit\" name=\"updateAction\" value=\"Unsigned\" >Download Unsigned<br />" + helper.getUnsignedUpdateVersion() + " Update</button>\n");
+                out.print("<button type=\"submit\" name=\"updateAction\" value=\"Unsigned\" >Download Unsigned<br>" + helper.getUnsignedUpdateVersion() + " Update</button>\n");
             out.print("</form></p>\n");
         }
     }
 %>
 <p>
 <%=net.i2p.router.web.ConfigRestartBean.renderStatus(request.getRequestURI(), request.getParameter("action"), request.getParameter("consoleNonce"))%>
-</p>
-<hr />
-<h3><a href="peers.jsp" target="_top" title="Show all current peer connections.">Peers</a></h3><hr><table>
+</p><hr><h3><a href="peers.jsp" target="_top" title="Show all current peer connections.">Peers</a></h3><hr>
+<table>
 <tr><td align="left"><b>Active:</b></td><td align="right"><jsp:getProperty name="helper" property="activePeers" />/<jsp:getProperty name="helper" property="activeProfiles" /></td></tr>
 <tr><td align="left"><b>Fast:</b></td><td align="right"><jsp:getProperty name="helper" property="fastPeers" /></td></tr>
 <tr><td align="left"><b>High capacity:</b></td><td align="right"><jsp:getProperty name="helper" property="highCapacityPeers" /></td></tr>
 <tr><td align="left"><b>Integrated:</b></td><td align="right"><jsp:getProperty name="helper" property="wellIntegratedPeers" /></td></tr>
-<tr><td align="left"><b>Known:</b></td><td align="right"><jsp:getProperty name="helper" property="allPeers" /></td></tr></table><hr><%
+<tr><td align="left"><b>Known:</b></td><td align="right"><jsp:getProperty name="helper" property="allPeers" /></td></tr>
+</table><hr>
+<%
     if (helper.getActivePeers() <= 0) {
         %><h4><a href="config.jsp" target="_top" title="Help with firewall configuration.">Check NAT/firewall</a></h4><%
     }
@@ -99,7 +90,7 @@
     if (helper.allowReseed()) {
         if ("true".equals(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress", "false"))) {
             // While reseed occurring, show status message instead
-            out.print("<i>" + System.getProperty("net.i2p.router.web.ReseedHandler.statusMessage","") + "</i><br />");
+            out.print("<i>" + System.getProperty("net.i2p.router.web.ReseedHandler.statusMessage","") + "</i><br>");
         } else {
             // While no reseed occurring, show reseed link
             long nonce = new java.util.Random().nextLong();
@@ -116,29 +107,27 @@
     if ("false".equals(System.getProperty("net.i2p.router.web.ReseedHandler.reseedInProgress", "false"))) {
         String reseedErrorMessage = System.getProperty("net.i2p.router.web.ReseedHandler.errorMessage","");
         if (reseedErrorMessage.length() > 0) {
-            out.print("<i>" + reseedErrorMessage + "</i><br />");
+            out.print("<i>" + reseedErrorMessage + "</i><br>");
         }
     }
- %><hr />
-<h3><a href="config.jsp" title="Configure router bandwidth allocation." target="_top">Bandwidth in/out</a></h3><hr>
+ %>
+<hr><h3><a href="config.jsp" title="Configure router bandwidth allocation." target="_top">Bandwidth in/out</a></h3><hr>
 <table>
 <tr><td align="left"><b>1s:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundSecondKBps" />/<jsp:getProperty name="helper" property="outboundSecondKBps" />K/s</td></tr>
 <tr><td align="left"><b>5m:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundFiveMinuteKBps" />/<jsp:getProperty name="helper" property="outboundFiveMinuteKBps" />K/s</td></tr>
 <tr><td align="left"><b>Total:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundLifetimeKBps" />/<jsp:getProperty name="helper" property="outboundLifetimeKBps" />K/s</td></tr>
 <tr><td align="left"><b>Used:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundTransferred" />/<jsp:getProperty name="helper" property="outboundTransferred" /></td></tr></table>
-<hr>
-<h3><a href="tunnels.jsp" target="_top" title="View existing tunnels and tunnel build status.">Tunnels in/out</a></h3><hr>
-<table><tr>
-<td align="left"><b>Exploratory:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundTunnels" />/<jsp:getProperty name="helper" property="outboundTunnels" /></td></tr>
+<hr><h3><a href="tunnels.jsp" target="_top" title="View existing tunnels and tunnel build status.">Tunnels in/out</a></h3><hr>
+<table>
+<tr><td align="left"><b>Exploratory:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundTunnels" />/<jsp:getProperty name="helper" property="outboundTunnels" /></td></tr>
 <tr><td align="left"><b>Client:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundClientTunnels" />/<jsp:getProperty name="helper" property="outboundClientTunnels" /></td></tr>
-<tr><td align="left"><b>Participating:</b></td><td align="right"><jsp:getProperty name="helper" property="participatingTunnels" /></td></tr></table>
-<hr>
-<h3><a href="/oldstats.jsp#JobQueue" target="_top" title="What's in the router's job queue?">Congestion</a></h3><hr>
-<table><tr>
-<td align="left"><b>Job lag:</b></td><td align="right"><jsp:getProperty name="helper" property="jobLag" /></td></tr>
+<tr><td align="left"><b>Participating:</b></td><td align="right"><jsp:getProperty name="helper" property="participatingTunnels" /></td></tr>
+</table><hr><h3><a href="/oldstats.jsp#JobQueue" target="_top" title="What's in the router's job queue?">Congestion</a></h3><hr>
+<table>
+<tr><td align="left"><b>Job lag:</b></td><td align="right"><jsp:getProperty name="helper" property="jobLag" /></td></tr>
 <tr><td align="left"><b>Message delay:</b></td><td align="right"><jsp:getProperty name="helper" property="messageDelay" /></td></tr>
 <tr><td align="left"><b>Tunnel lag:</b></td><td align="right"><jsp:getProperty name="helper" property="tunnelLag" /></td></tr>
-<tr><td align="left"><b>Backlog:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundBacklog" /></td></tr><table  align="center" title="Router tunnel build status.">
-<hr><h4><jsp:getProperty name="helper" property="tunnelStatus" /></h4>
-<hr>
-<jsp:getProperty name="helper" property="destinations" />
+<tr><td align="left"><b>Backlog:</b></td><td align="right"><jsp:getProperty name="helper" property="inboundBacklog" /></td></tr>
+</table><hr><table title="Router tunnel build status.">
+<tr><td align="center"><h4><jsp:getProperty name="helper" property="tunnelStatus" /></h4></td></tr>
+</table><hr><jsp:getProperty name="helper" property="destinations" />
diff --git a/apps/routerconsole/jsp/tunnels.jsp b/apps/routerconsole/jsp/tunnels.jsp
index 7f92aeaa4c51edad7c91e90096fff70215e31b85..e58ac07af2c9fe806e4eaf9679af2bb2c2c8fc13 100644
--- a/apps/routerconsole/jsp/tunnels.jsp
+++ b/apps/routerconsole/jsp/tunnels.jsp
@@ -2,19 +2,13 @@
 <%@page pageEncoding="UTF-8"%>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
-<html><head>
-<title>I2P Router Console - tunnel summary</title>
+<html><head><title>I2P Router Console - tunnel summary</title>
 <%@include file="css.jsp" %>
 </head><body>
-
-<%@include file="summary.jsp" %>
- <h1>I2P Tunnel Summary</h1>
+<%@include file="summary.jsp" %><h1>I2P Tunnel Summary</h1>
 <div class="main" id="main">
  <jsp:useBean class="net.i2p.router.web.TunnelHelper" id="tunnelHelper" scope="request" />
  <jsp:setProperty name="tunnelHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
  <jsp:setProperty name="tunnelHelper" property="writer" value="<%=out%>" />
  <jsp:getProperty name="tunnelHelper" property="tunnelSummary" />
-</div>
-
-</body>
-</html>
+</div></body></html>
diff --git a/apps/routerconsole/jsp/viewstat.jsp b/apps/routerconsole/jsp/viewstat.jsp
index 331ad5ed2844d59c98ac746a67bc719cfa686b67..aee42b9585436ed04602b05c2486044a21526b2b 100644
--- a/apps/routerconsole/jsp/viewstat.jsp
+++ b/apps/routerconsole/jsp/viewstat.jsp
@@ -10,7 +10,7 @@ String templateFile = request.getParameter("template");
 if (templateFile != null) {
   java.io.OutputStream cout = response.getOutputStream();
   response.setContentType("image/png");
-  rendered = net.i2p.router.web.StatSummarizer.instance().renderPng(cout, templateFile);  
+  rendered = net.i2p.router.web.StatSummarizer.instance().renderPng(cout, templateFile);
 }
 net.i2p.stat.Rate rate = null;
 String stat = request.getParameter("stat");
@@ -19,11 +19,11 @@ boolean fakeBw = (stat != null && ("bw.combined".equals(stat)));
 net.i2p.stat.RateStat rs = net.i2p.I2PAppContext.getGlobalContext().statManager().getRate(stat);
 if ( !rendered && ((rs != null) || fakeBw) ) {
   long per = -1;
-  try { 
+  try {
     if (fakeBw)
       per = 60*1000;
     else
-      per = Long.parseLong(period); 
+      per = Long.parseLong(period);
     if (!fakeBw)
       rate = rs.getRate(per);
     if ( (rate != null) || (fakeBw) ) {
@@ -63,7 +63,7 @@ if ( !rendered && ((rs != null) || fakeBw) ) {
     }
   } catch (NumberFormatException nfe) {}
 }
-if (!rendered) { 
+if (!rendered) {
   response.sendError(404, "That stat is not available");
 }
 %>
\ No newline at end of file