Update README.md

Signed-off-by: Otto van der Schaaf <oschaaf@we-amp.com>
diff --git a/README.md b/README.md
index 06133ca..5caf937 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,10 @@
 # PageSpeed Podling Website
 
-This repository contains the website for the incubating PageSpeed project.
+This repository contains the website for the incubating Apache PageSpeed project.
+Its live contents resides inside the `asf-site` branch.
 
+Changes should be made and proposed over at:
+https://github.com/apache/incubator-pagespeed-mod/tree/master/html
+
+Subsequently running the publish according to the docs over there will update this
+repository and publish them.
diff --git a/doc/.htaccess b/doc/.htaccess
deleted file mode 100644
index 38821b0..0000000
--- a/doc/.htaccess
+++ /dev/null
@@ -1,38 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-# 
-#   http://www.apache.org/licenses/LICENSE-2.0
-# 
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied.  See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Turn on server side include processing for the header inclusion.
-AddOutputFilter INCLUDES .html
-Options +Includes
-Options +FollowSymLinks
-
-# Make /foo.html available at /foo
-RewriteEngine on
-RewriteCond %{REQUEST_FILENAME}.html -f
-RewriteRule !.*\.html$ %{REQUEST_FILENAME}.html [L]
-
-# Turn on mod_pagespeed to optimize our docs.
-ModPagespeed on
-ModPagespeedRewriteLevel CoreFilters
-ModPagespeedEnableFilters collapse_whitespace
-ModPagespeedEnableFilters remove_comments
-ModPagespeedInPlaceResourceOptimization on
-
-# Do not optimize these resources which are used for blogpost
-ModPagespeedDisallow */puzzle_optimized_to_low_quality_webp.webp
-ModPagespeedDisallow */puzzle_optimized_to_low_quality_webp_and_saved_as_png.png
-ModPagespeedDisallow */puzzle_original.jpg
diff --git a/doc/CVE-2012-4001.html b/doc/CVE-2012-4001.html
deleted file mode 100644
index 97be44f..0000000
--- a/doc/CVE-2012-4001.html
+++ /dev/null
@@ -1,59 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>mod_pagespeed Security Advisory: Insufficient Hostname Verification</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>mod_pagespeed Security Advisory: Insufficient Hostname Verification</h1>
-<dl>
-  <dt>CVE Identifier:</dt>
-    <dd>CVE-2012-4001</dd>
-  <dt>Disclosed:</dt>
-    <dd>September 12, 2012</dd>
-  <dt>Versions Affected:</dt>
-    <dd>All versions of mod_pagespeed up to and including 0.10.22.4.</dd>
-  <dt>Summary:</dt>
-    <dd>mod_pagespeed performs insufficient verification of its own host name,
-    which makes it possible to trick it into doing HTTP fetches and resource
-    processing from arbitrary host names, including potentially bypassing
-    firewalls.</dd>
-  <dt>Solution:</dt>
-    <dd>mod_pagespeed 0.10.22.6 has been released with a fix.</dd>
-  <dt>Workaround:</dt>
-    <dd>If you are unable to upgrade to the new version, you can avoid this
-    issue by changing your Apache httpd configuration. Give any virtual host
-    that enables mod_pagespeed (and the global configuration, if it also enables
-    mod_pagespeed) an accurate explicit <code>ServerName</code>, and set the
-    options <code>UseCanonicalName</code> and
-    <code>UseCanonicalPhysicalPort</code> to <code>On</code> in each. Please be
-    aware, however, that depending on the version,
-    <a href="CVE-2012-4360">CVE-2012-4360</a> may also apply.
-    </dd>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/CVE-2012-4360.html b/doc/CVE-2012-4360.html
deleted file mode 100644
index ee824f3..0000000
--- a/doc/CVE-2012-4360.html
+++ /dev/null
@@ -1,49 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>mod_pagespeed Security Advisory: Cross-Site Scripting</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>mod_pagespeed Security Advisory: Cross-Site Scripting</h1>
-<dl>
-  <dt>CVE Identifier:</dt>
-    <dd>CVE-2012-4360</dd>
-  <dt>Disclosed:</dt>
-    <dd>September 12, 2012</dd>
-  <dt>Versions Affected:</dt>
-    <dd>mod_pagespeed versions 0.10.19.1 through 0.10.22.4 (inclusive).
-    Versions 0.9.18.6 and earlier are unaffected.</dd>
-  <dt>Summary:</dt>
-    <dd>mod_pagespeed performs insufficient escaping in some cases, which can
-    permit a hostile 3rd party to inject JavaScript running in context of
-    the site.</dd>
-  <dt>Solution:</dt>
-    <dd>mod_pagespeed 0.10.22.6 has been released with a fix.</dd>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/CVE-2013-6111.html b/doc/CVE-2013-6111.html
deleted file mode 100644
index 245abf6..0000000
--- a/doc/CVE-2013-6111.html
+++ /dev/null
@@ -1,80 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>mod_pagespeed and ngx_pagespeed Security Advisory: Cross-Site Scripting</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>mod_pagespeed and ngx_pagespeed Security Advisory: Cross-Site Scripting</h1>
-<dl>
-  <dt>CVE Identifier:</dt>
-    <dd><p>CVE-2013-6111</p></dd>
-  <dt>Disclosed:</dt>
-    <dd><p>October 28th, 2013</p></dd>
-  <dt>Versions Affected:</dt>
-    <dd>
-      <ul>
-        <li>mod_pagespeed versions earlier than 1.0</li>
-        <li>mod_pagespeed version 1.0.22.7 (fixed in 1.0.22.8)</li>
-        <li>mod_pagespeed versions 1.1</li>
-        <li>mod_pagespeed 1.2.24.1 (fixed in 1.2.24.2)</li>
-        <li>mod_pagespeed 1.3.25.1 through 1.3.25.4 (fixed in 1.3.25.5)</li>
-        <li>mod_pagespeed 1.4.26.1 through 1.4.26.4 (fixed in 1.4.26.5)</li>
-        <li>mod_pagespeed and ngx_pagespeed 1.5.27.1 through 1.5.27.3 (fixed in 1.5.27.4)</li>
-        <li>mod_pagespeed and ngx_pagespeed 1.6.29.1 through 1.6.29.6 (fixed in 1.6.29.7)</li>
-      </ul>
-    </dd>
-  <dt>Summary:</dt>
-    <dd><p>Some versions of mod_pagespeed and ngx_pagespeed are vulnerable to
-    cross-site scripting (XSS), which can permit a hostile 3rd party to
-    inject javascript running in the context of the site.</p></dd>
-  <dt>Solution:</dt>
-    <dd><p>For mod_pagespeed, update to one of versions 1.0.22.8-stable,
-    1.2.24.2-stable, 1.3.25.5-stable, 1.4.26.5-stable, 1.5.27.4-beta, or
-    1.6.29.7 or newer.</p>
-
-    <p>For ngx_pagespeed, update to 1.6.29.7 or newer.</p>
-    </dd>
-  <dt>Workaround:</dt>
-    <dd>
-    <p>No workaround is available for mod_pagespeed.</p>
-
-    <p>For ngx_pagespeed, you can completely prohibit access to
-    <code>/ngx_pagespeed_statistics</code>,
-    <code>/ngx_pagespeed_global_statistics</code> and
-    <code>/ngx_pagespeed_message</code> (an IP whitelist is insufficient), via
-    options similar to:
-<pre>
-location /ngx_pagespeed_global_statistics { deny all; }
-location /ngx_pagespeed_statistics { deny all; }
-location /ngx_pagespeed_message { deny all; }
-</pre>
-    </p>
-    </dd>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/_footer.html b/doc/_footer.html
deleted file mode 100644
index ca41793..0000000
--- a/doc/_footer.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<div id=footer>
-  <!--#include virtual="_navline.html" -->
-</div>
-
-<script>
-function buildTocHelper(node, headers) {
-  if (node.nodeType == 1) {
-    // Element node.
-    var nodeName = node.nodeName.toLowerCase();
-    if (nodeName == "h2" || nodeName == "h3" || nodeName == "h4" ||
-        nodeName == "h5" || nodeName == "h6") {
-      if (node.id) {
-        headers.push([nodeName, node.innerHTML, node.id]);
-	node.appendChild(document.createTextNode("\u00A0"));  // nbsp
-	var a = document.createElement("a");
-	a.class = "header-link";
-	a.href = "#" + node.id;
-	a.textContent = "\uD83D\uDD17";  // link symbol
-	node.appendChild(a);
-      }
-    } else {
-      for (var i = 0; i < node.childNodes.length; i++) {
-        buildTocHelper(node.childNodes[i], headers);
-      }
-    }
-  }
-}
-
-function buildToc() {
-  var headers = [];
-  buildTocHelper(document.body, headers);
-  if (headers.length == 0) {
-    return;
-  }
-
-  var toc = document.getElementById("toc");
-  var tocContents = document.createElement("div");
-  tocContents.id = "toc-contents";
-  tocContents.textContent = "Contents";
-  toc.appendChild(tocContents);
-
-  var level = 1;
-  var currentUl = null;
-  for (var i = 0; i < headers.length; i++) {
-    var header = headers[i];
-    var headerLevel = header[0];
-    var headerValue = header[1];
-    var headerId = header[2];
-
-    var newLevel = parseInt(headerLevel.substring(1));
-    while (newLevel > level) {
-      // We loop here to handle the case where we have h2 ... h4.  This
-      // isn't a good way to write html, but someone may still do it.
-
-      var newUl = document.createElement("ul");
-      if (currentUl == null) {
-        toc.appendChild(newUl);
-      } else {
-        currentUl.appendChild(newUl);
-      }
-      currentUl = newUl;
-      level++;
-    }
-    while (newLevel < level) {
-      currentUl = currentUl.parentNode;
-      level--;
-    }
-    var li = document.createElement("li");
-    var a = document.createElement("a");
-    a.href = "#" + headerId;
-    a.textContent = headerValue;
-    li.appendChild(a);
-    currentUl.appendChild(li);
-  }
-}
-
-function wrapTables() {
-  var tables = document.getElementsByTagName("table");
-  for (var i = 0; i < tables.length; i++) {
-    var table = tables[i];
-    var parent = table.parentNode;
-    var div = document.createElement('div');
-    div.className = "table-wrapper";
-    parent.insertBefore(div, table);
-    div.appendChild(table);
-  }
-}
-
-buildToc();
-wrapTables();
-</script>
diff --git a/doc/_header.html b/doc/_header.html
deleted file mode 100644
index 6586f0d..0000000
--- a/doc/_header.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<div id=header>
-  <div id=logoline>
-    <div id=logo>
-      <img src="https://www.gstatic.com/images/branding/product/1x/pagespeed_32dp.png"
-           srcset="https://www.gstatic.com/images/branding/product/2x/pagespeed_32dp.png"
-           width=32 height=32 alt="pagespeed logo">
-    </div>
-    <div id=logotext>Apache PageSpeed (Incubating)</div>
-  </div>
-  <div id=navline>
-    <a href="/doc/">&larr; documentation index</a>
-  </div>
-</div>
-<div id=toc></div>
-<img src="/incubator.png" height="80" align="right"> 
diff --git a/doc/_navline.html b/doc/_navline.html
deleted file mode 100644
index 8eb1431..0000000
--- a/doc/_navline.html
+++ /dev/null
@@ -1,22 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<div id=navline>
-  <a href="/doc/">&larr; documentation index</a>
-</div>
diff --git a/doc/admin.html b/doc/admin.html
deleted file mode 100644
index fb85f73..0000000
--- a/doc/admin.html
+++ /dev/null
@@ -1,411 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Admin Pages</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Admin Pages</h1>
-<p>
-  The admin pages are a collection of features that provide visibility
-  into the operation of the PageSpeed optimizations.
-</p>
-<p>
-The pagespeed_admin and pagespeed_global_admin pages aggregate a set of pages
-showing server state so they can be accessed from a single handler.  By
-organizing all these features under a single admin page, this can be done once,
-and can serve as a launching point for future administration features.
-Before <strong>version 1.9.32.1</strong> the admin pages were read-only, but
-starting in <strong>version 1.9.32.1</strong>, cache purging is supported.
-</p>
-<img src="images/admin_config.png" style="border:1px solid black" />
-<p>
-  The name of the currently active page is underlined in the top navigation bar.
-</p>
-<table>
-  <thead>
-    <tr>
-      <th>Page</th>
-      <th>Related Options</th>
-      <th>Description</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td>Statistics</td>
-      <td>
-        <a href="#statistics"><code>Statistics</code></a><br/>
-        <a href="#virtual-hosts-and-stats"
-           ><code>UsePerVHostStatistics</code></a><br/>
-        <code>mod_pagespeed_beacon</code><br/>
-        <code>ngx_pagespeed_beacon</code>
-      </td>
-      <td>
-        Shows server statistics since startup, such as how many
-        resources are being optimized by filters, as well as various
-        latency and cache effectiveness metrics.
-      </td>
-    </tr>
-    <tr>
-      <td>Configuration</td>
-      <td><a href="config_filters">Configuring Filters</a><br/>
-        <a href="https_support#spdy_configuration"
-             ><code>ModPagespeedIf</code></a> (Apache only)</td>
-      <td>
-        Shows detailed configuration information including all filters,
-        options, and the current cache flush timestamp.
-      </td>
-    </tr>
-    <tr>
-      <td>Histograms</td>
-      <td>
-        <a href="filter-instrumentation-add"
-           ><code>add_instrumentation</code></a><br/>
-      </td>
-      <td>
-        Shows detailed latency data for Page Load Time, rewriting,
-        caches and HTTP fetching.
-      </td>
-    </tr>
-    <tr>
-      <td>Caches</td>
-      <td>
-        <a href="system#memcached"><code>MemcachedServers</code></a>
-        <a href="system#shm_cache"><code>CreateSharedMemoryMetadataCache</code></a>
-        <a href="system#purge_cache"><code>EnableCachePurge</code></a>
-      </td>
-      <td>
-        Shows detailed cache configuration information.  When accessed
-        from the Admin handler, it can be used to inspect the contents
-        of the cache, and provides an interface to purge the cache.
-      </td>
-    </tr>
-    <tr>
-      <td>Console</td>
-      <td>
-        <a href="admin#statistics"><code>Statistics</code></a><br/>
-        <a href="console#configuring"><code>StatisticsLogging</code></a><br/>
-        <a href="console#configuring"><code>LogDir</code></a>
-      </td>
-      <td>
-        Displays a <a href="console">console</a> of graphs
-        of server optimization behavior over time.
-      </td>
-    </tr>
-    <tr>
-      <td>Message History</td>
-      <td>
-        <a href="#message-buffer-size"><code>MessageBufferSize</code></a>
-      </td>
-      <td>
-        Server-wide history of recent logging output from PageSpeed,
-        including messages that are omitted from the server log file based on
-        its log level.
-      </td>
-    </tr>
-  </tbody>
-</table>
-<p>
-  Before 1.8.31.2, the main admin page is not available, but there
-  are page-specific handlers for statistics, messages, and the
-  console.  In 1.8.31.2 and later, the <code>*_pagespeed_*</code> handlers, such
-  as <code>mod_pagespeed_statistics</code>, will continue to be supported:
-<ul>
-  <li>They provide read-only access to server operation.  There may
-    be cases where a site owner wants to share statistics or console
-    information but not the ability to purge the cache.</li>
-  <li>Existing configurations must continue to work after an upgrade to
-    a release that supports pagespeed_admin.</li>
-  <li>The admin pages may later gain support for modifying the server
-    state</li>
-</ul>
-</p>
-<h2 id="config">Configuring Admin Pages</h2>
-
-<p>
-  In this table we use the term "server" for an Apache VirtualHost and
-  an nginx Server Block.  We use the term "global" to mean the entire
-  Apache or nginx system, covering all the configured VirtualHost and
-  Server Blocks.
-</p>
-<table>
-  <thead>
-    <tr><th>Apache Handler</th><th>Nginx Option</th><th>Version</th>
-      <th>Description</th></tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td><code>pagespeed_admin</code></td>
-      <td><code>AdminPath</code></td>
-      <td>1.8.31.2+</td><td>Covers all administrative functions for
-        a host in one handler.  If you establish this handler,
-        you don't need any of the other server-scoped methods.  Only
-        give 'admin' page access to clients that you are comfortable
-        allowing to modify the state of your PageSpeed configuration.
-      </td>
-    </tr>
-    <tr>
-      <td><code>pagespeed_global_admin</code></td>
-      <td><code>GlobalAdminPath</code></td>
-      <td>1.8.31.2+</td><td>Covers all administrative functions for
-        the entire global state in one handler.  If you establish this
-        handler, you don't
-        need <code>mod_pagespeed_global_statistics</code>.</td>
-    </tr>
-    <tr>
-      <td><code>mod_pagespeed_statistics</code></td>
-      <td><code>StatisticsPath</code> (1.8.31.2+)</td>
-      <td>All</td><td>Launchpad for Statistics, Histograms, and
-        a subset of the Caches page as described above.</td>
-    </tr>
-    <tr>
-      <td><code>mod_pagespeed_global_statistics</code></td>
-      <td><code>GlobalStatisticsPath</code> (1.8.31.2+)</td>
-      <td>1.1+</td><td>Same as above, but aggregates statistics across all
-        configured servers.  You must enable
-        <a href="#virtual-hosts-and-stats"
-           ><code>UsePerVHostStatistics</code></a> for separate global
-        statistics to be retained, otherwise all statistics will be global.</td>
-    </tr>
-    <tr>
-      <td><code>mod_pagespeed_message</code></td>
-      <td><code>MessagesPath</code> (1.8.31.2+)</td>
-      <td>1.0+</td><td>Displays recent log messages printed by PageSpeed,
-        including messages that may be below the current server loglevel
-        threshold such as "Info" messages.  Requires that
-        <a href="#message-buffer-size"><code>MessageBufferSize</code></a> be set.</td>
-    </tr>
-    <tr>
-      <td><code>pagespeed_console</code></td>
-      <td><code>ConsolePath</code> (1.8.31.2+)</td>
-      <td>1.6+</td><td>Displays a <a href="console">console</a> of graphs
-        of server optimization behavior over time.</td>
-    </tr>
-  </tbody>
-</table>
-
-<h3 id="handlers">Establishing Handlers in Apache</h2>
-<p>
-  Each handler is optional; add them individually to enable
-  admin features.  Note that when you add handlers for
-  <code>pagespeed_admin</code> and <code>pagespeed_global_admin</code>
-  you are granting read/write access to server-state.  The other handlers
-  are read-only.  A sample handler that filters on IP address is
-  in the default configuration, whose general form is:
-</p>
-<pre class="prettyprint lang-sh">
-&lt;Location /PATH&gt;
-   Order allow,deny
-   Allow from localhost
-   Allow from 127.0.0.1
-   SetHandler HANDLER_NAME
-&lt;/Location&gt;
-</pre>
-<p>
-  You can choose any path for a handler, but you must specify the handler
-  name exactly as it appears in the table above.  By convention we use
-  use the handler name for the path.  You may also want to
-  employ login-based access to the admin pages, using
-  <code>AllowOverride AuthConfig</code>.  Please see the Apache
-  <a href="http://httpd.apache.org/docs/2.2/howto/auth.html">2.2</a>
-  or
-  <a href="http://httpd.apache.org/docs/2.4/howto/auth.html">2.4</a>
-  Documentation for details.
-</p>
-<h3 id="handlers">Establishing Handlers in Nginx</h2>
-<p>
-  In nginx, the handlers must be specified as location blocks.
-</p>
-<pre class="prettyprint lang-sh">
-location /ngx_pagespeed_statistics { allow 127.0.0.1; deny all; }
-location /ngx_pagespeed_global_statistics { allow 127.0.0.1; deny all; }
-location /ngx_pagespeed_message { allow 127.0.0.1; deny all; }
-location /pagespeed_console { allow 127.0.0.1; deny all; }
-location ~ ^/pagespeed_admin { allow 127.0.0.1; deny all; }
-location ~ ^/pagespeed_global_admin { allow 127.0.0.1; deny all; }
-</pre>
-<p class="note">
-  Note that these handlers must precede the
-  "<code>\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+</code>" location block.
-</p>
-<p>
-  In version 1.8.31.2 and later, the above location blocks are
-  needed for each path you elect to enable in PageSpeed options:
-</p>
-<pre>
-pagespeed StatisticsPath /ngx_pagespeed_statistics;
-pagespeed GlobalStatisticsPath /ngx_pagespeed_global_statistics;
-pagespeed MessagesPath /ngx_pagespeed_message;
-pagespeed ConsolePath /pagespeed_console;
-pagespeed AdminPath /pagespeed_admin;
-pagespeed GlobalAdminPath /pagespeed_global_admin;
-</pre>
-<p>
-  You can choose any path, as long as it's consistent between
-  the <code>pagespeed Path</code> and the <code>location</code>.  By
-  convention we use the names as specified in the example.
-</p>
-<p>
-  Prior to version 1.8.31.2, the above "Path" settings do not exist,
-  and the failure to specify location blocks leaves the paths active
-  with no access restrictions. The module will service requests
-  to the paths whether the location blocks are specified or not.
-  This applies to  <code>/ngx_pagespeed_statistics</code>,
-  <code>/ngx_pagespeed_global_statistics</code>,
-  <code>/ngx_pagespeed_message</code>, and <code>/pagespeed_console</code>.
-</p>
-<p class="note">
-  If you define access control for <code>/pagespeed_admin</code> or
-  <code>/pagespeed_console</code>, you must do so earlier in the configuration
-  file than the path to handle <code>.pagespeed</code> resources, to ensure
-  that the handlers are disambiguated.
-</p>
-<h3 id="limiting-handlers">Limiting Handler Access</h3>
-<p class="note"><strong>Note: New feature as of 1.10.33.0</strong></p>
-<p>
-  Apache's SetHandler access controls are accessible to anyone who can
-  modify <code>.htaccess</code> files, so in a typical shared hosting context
-  the global admin site isn't sufficiently protected.  As of 1.10.33.0,
-  PageSpeed allows setting an additional restriction of what domains are allowed
-  to load handlers.  For example, to deny access entirely, you could put:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedStatisticsDomains Disallow *
-ModPagespeedGlobalStatisticsDomains Disallow *
-ModPagespeedMessagesDomains Disallow *
-ModPagespeedConsoleDomains Disallow *
-ModPagespeedAdminDomains Disallow *
-ModPagespeedGlobalAdminDomains Disallow *</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed StatisticsDomains Disallow *;
-pagespeed GlobalStatisticsDomains Disallow *;
-pagespeed MessagesDomains Disallow *;
-pagespeed ConsoleDomains Disallow *;
-pagespeed AdminDomains Disallow *;
-pagespeed GlobalAdminDomains Disallow *;</pre>
-</dl>
-<p>
-  To allow access only to an admin, define a new VHost
-  like <code>admin.example.com</code>, use standard web-server access control
-  (IP or password) to restrict access to only that admin, and then at the top
-  level of your config put:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedStatisticsDomains Allow admin.example.com
-ModPagespeedGlobalStatisticsDomains Allow admin.example.com
-ModPagespeedMessagesDomains Allow admin.example.com
-ModPagespeedConsoleDomains Allow admin.example.com
-ModPagespeedAdminDomains Allow admin.example.com
-ModPagespeedGlobalAdminDomains Allow admin.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed StatisticsDomains Allow admin.example.com;
-pagespeed GlobalStatisticsDomains Allow admin.example.com;
-pagespeed MessagesDomains Allow admin.example.com;
-pagespeed ConsoleDomains Allow admin.example.com;
-pagespeed AdminDomains Allow admin.example.com;
-pagespeed GlobalAdminDomains Allow admin.example.com;</pre>
-</dl>
-<p>
-  Now when you visit <code>admin.example.com/pagespeed_global_admin</code>
-  you'll see global (server-level) admin information, but users are not able to
-  access this under their own domain or turn the handler on
-  with <code>.htaccess</code>.
-</p>
-<p>
-  For all six of these options the default value is <code>Allow *</code>.  If
-  you explicitly <code>Allow</code> access to any site, all others are
-  automatically <code>Disallow</code>ed.  Wildcards are allowed, and additional
-  directives are applied in sequence.  For example, consider the following
-  config:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedAdminDomains Allow *.example.*
-ModPagespeedAdminDomains Disallow *.example.org
-ModPagespeedAdminDomains Allow www.example.org</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed AdminDomains Allow *.example.*;
-pagespeed AdminDomains Disallow *.example.org;
-pagespeed AdminDomains Allow www.example.org;</pre>
-</dl>
-<p>
-  This would allow access to <code>www.example.com/pagespeed_admin</code>,
-  and <code>www.example.org/pagespeed_admin</code> but
-  not <code>shared.example.com/pagespeed_admin</code>.
-</p>
-
-<h3 id="statistics">Shared Memory Statistics</h2>
-<p>
-  By default PageSpeed collects cross-process statistics.  While
-  they're mostly intended for debugging and evaluation
-  using <code>/mod_pagespeed_statistics</code>, <code>/ngx_pagespeed_statistics</code>,
-  and the <a href="console">PageSpeed Console</a>, statistics are also
-  necessary for limiting concurrent image rewrites
-  and <a href="#rate_limit_background_fetches">background fetches</a>.
-  It's not recommended to turn them off, as their performance impact
-  is minimal, but if you need to you can do so with:
-  <dl>
-    <dt>Apache:<dd><pre class="prettyprint"
-                        >ModPagespeedStatistics off</pre></dd></dt>
-    <dt>Nginx:<dd><pre class="prettyprint"
-                       >pagespeed Statistics off;</pre></dd></dt>
-  </dl>
-</p>
-<h3 id="virtual-hosts-and-stats">Virtual hosts and statistics</h3>
-<p>
-  You can choose whether PageSpeed aggregates its statistics
-  over all virtual hosts (the default), or to keeps separate counts for each. You
-  can chose the latter by specifying
-  <code>UsePerVHostStatistics on</code>. In that
-  case, <code>/pagespeed_admin</code>, <code>/mod_pagespeed_statistics</code>
-  and <code>/ngx_pagespeed_statistics</code> will show the data for
-  whatever virtual host is being accessed. If you do turn per-virtual
-  host statistics on, you can still access the aggregates
-  under <code>/pagespeed_global_admin</code>, <code>/mod_pagespeed_global_statistics</code>
-  or <code>/ngx_pagespeed_global_statistics</code>.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedUsePerVhostStatistics on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed UsePerVhostStatistics on;</pre>
-</dl>
-
-<h3 id="message-buffer-size">Message Buffer Size</h3>
-<p>
-  Determines the number of bytes of shared memory to allocate as a circular
-  buffer for holding recent PageSpeed log messages.  By default, the size of
-  this buffer is zero, and no messages will be retained.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedMessageBufferSize 100000</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed MessageBufferSize 100000;</pre>
-</dl>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/analytics_screenshots/10_histogram.png b/doc/analytics_screenshots/10_histogram.png
deleted file mode 100644
index da2d198..0000000
--- a/doc/analytics_screenshots/10_histogram.png
+++ /dev/null
Binary files differ
diff --git a/doc/analytics_screenshots/1_login.png b/doc/analytics_screenshots/1_login.png
deleted file mode 100644
index 04b6eb5..0000000
--- a/doc/analytics_screenshots/1_login.png
+++ /dev/null
Binary files differ
diff --git a/doc/analytics_screenshots/2_import_advanced_segment.png b/doc/analytics_screenshots/2_import_advanced_segment.png
deleted file mode 100644
index 9c17a2e..0000000
--- a/doc/analytics_screenshots/2_import_advanced_segment.png
+++ /dev/null
Binary files differ
diff --git a/doc/analytics_screenshots/3_segment_settings.png b/doc/analytics_screenshots/3_segment_settings.png
deleted file mode 100644
index 32c6f4e..0000000
--- a/doc/analytics_screenshots/3_segment_settings.png
+++ /dev/null
Binary files differ
diff --git a/doc/analytics_screenshots/4_profile_switch.png b/doc/analytics_screenshots/4_profile_switch.png
deleted file mode 100644
index 21af28f..0000000
--- a/doc/analytics_screenshots/4_profile_switch.png
+++ /dev/null
Binary files differ
diff --git a/doc/analytics_screenshots/5_profile_switched.png b/doc/analytics_screenshots/5_profile_switched.png
deleted file mode 100644
index 6cd9a12..0000000
--- a/doc/analytics_screenshots/5_profile_switched.png
+++ /dev/null
Binary files differ
diff --git a/doc/analytics_screenshots/6_standard_reporting.png b/doc/analytics_screenshots/6_standard_reporting.png
deleted file mode 100644
index 6818301..0000000
--- a/doc/analytics_screenshots/6_standard_reporting.png
+++ /dev/null
Binary files differ
diff --git a/doc/analytics_screenshots/7_page_timings.png b/doc/analytics_screenshots/7_page_timings.png
deleted file mode 100644
index 754c7ae..0000000
--- a/doc/analytics_screenshots/7_page_timings.png
+++ /dev/null
Binary files differ
diff --git a/doc/analytics_screenshots/8_advanced_segments.png b/doc/analytics_screenshots/8_advanced_segments.png
deleted file mode 100644
index c45fb81..0000000
--- a/doc/analytics_screenshots/8_advanced_segments.png
+++ /dev/null
Binary files differ
diff --git a/doc/analytics_screenshots/9_page_level_timings.png b/doc/analytics_screenshots/9_page_level_timings.png
deleted file mode 100644
index 2922739..0000000
--- a/doc/analytics_screenshots/9_page_level_timings.png
+++ /dev/null
Binary files differ
diff --git a/doc/announce-0.10.22.6.html b/doc/announce-0.10.22.6.html
deleted file mode 100644
index 56c9595..0000000
--- a/doc/announce-0.10.22.6.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>mod_pagespeed 0.10.22.6 Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>mod_pagespeed 0.10.22.6 Security Update.</h1>
-<h2 id="overview">Overview</h2>
-mod_pagespeed 0.10.22.6 is a security update that fixes two critical issues
-that affect earlier versions:
-<ul>
-<li><a href="CVE-2012-4001">CVE-2012-4001</a>, a problem with validation of
-own host name.
-</li>
-<li><a href="CVE-2012-4360">CVE-2012-4360</a>, a cross-site scripting
-  attack, which affects versions starting from 0.10.19.1.
-</li>
-</ul>
-
-<p> The effect of the first problem is that it is possible to confuse
-mod_pagespeed about its own host name, and to trick it into fetching resources
-from other machines. This could be an issue if the HTTP server has access to
-machines that are not otherwise publicly visible.
-
-<p> The second problem would permit a hostile third party to execute JavaScript
-in users' browsers in context of the domain running mod_pagespeed, which
-could permit interception of users' cookies or data on the site.
-
-<p> Because of the severity of the two problems, users are <strong>strongly
-</strong> encouraged to update immediately.
-</p>
-
-<h2 id="behavior_changes">Behavior Changes in the Update</h2>
-As part of the fix to the first issue, mod_pagespeed will not fetch
-resources from machines other than <code>localhost</code> if they are not
-explicitly mentioned in the configuration. This means that if you need
-resources on the server's domain to be handled by some other system, you'll
-need to explicitly use <code>ModPagespeedMapOriginDomain</code> or
-<code>ModPagespeedDomain</code> to authorize that.
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/announce-ngx-sec-update-201310.html b/doc/announce-ngx-sec-update-201310.html
deleted file mode 100644
index 9d8d0f7..0000000
--- a/doc/announce-ngx-sec-update-201310.html
+++ /dev/null
@@ -1,102 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>October 2013 ngx_pagespeed Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>October 2013 ngx_pagespeed Security Update.</h1>
-<h2 id="overview">Overview</h2>
-
-<p>
-All versions of ngx_pagespeed prior to 1.6.29.7 are subject to critical
-cross-site scripting (XSS) vulnerability CVE-2013-6111.  Depending on
-configuration this may permit a hostile third party to execute JavaScript in
-users' browsers in the context of the domain running ngx_pagespeed, which could
-permit theft of users' cookies or data on the site.
-</p>
-
-<p>
-Because of the severity of the problem, users of affected versions are
-<strong>strongly</strong> encouraged to <strong>immediately</strong> update
-ngx_pagespeed or apply the workaround below.
-</p>
-
-<p>
-To be notified of further security updates subscribe to the
-<a href="mailing-lists#announcements">announcements mailing list</a>.
-</p>
-
-<h2 id="solutions">Solutions</h2>
-
-<p>
-Users of affected versions should either apply the workaround or update to
-version 1.6.29.7 or later.
-</p>
-
-<h3 id="workaround">Workaround</h3>
-
-<p>
-The vulnerability requires access to <code>/ngx_pagespeed_statistics</code>,
-<code>/ngx_pagespeed_global_statistics</code>, or
-<code>/ngx_pagespeed_message</code>. Prohibiting access to these in
-your <code>nginx.conf</code> is sufficient to keep it from being exploited.
-Note that it is not enough to restrict these pages to trusted users; they must
-not be accessible to anyone.  Example workaround configuration:
-<pre>
-location /ngx_pagespeed_statistics { deny all; }
-location /ngx_pagespeed_global_statistics { deny all; }
-location /ngx_pagespeed_message { deny all; }
-</pre>
-</p>
-
-<p>
-While ngx_pagespeed and mod_pagespeed are very similar, this workaround is not
-sufficient for mod_pagespeed.  If you also run PageSpeed in Apache please follow
-the recommendations in the <a href="announce-sec-update-201310">October 2013
-mod_pagespeed Security Update</a>.
-</p>
-
-<h3 id="update">Update</h3>
-
-<p>
-Users unable to apply the workaround, or who want continued access to the
-informational data provided by <code>/ngx_pagespeed_statistics</code>
-or <code>/ngx_pagespeed_message</code> should update to an unaffected version.
-This requires building nginx with the updated ngx_pagespeed module and
-installing it in place of the current version.  See
-the <a href="https://github.com/apache/incubator-pagespeed-ngx#how-to-build">build
-instructions</a>.
-</p>
-
-<p>
-Users having difficulty applying these updates or with other questions should
-write to the <a href="mailing-lists#discussion">discussion group</a>.
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/announce-sec-update-201310.html b/doc/announce-sec-update-201310.html
deleted file mode 100644
index 8feaef3..0000000
--- a/doc/announce-sec-update-201310.html
+++ /dev/null
@@ -1,418 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>October 2013 mod_pagespeed Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>October 2013 mod_pagespeed Security Update.</h1>
-<h2 id="overview">Overview</h2>
-<p>Various versions of mod_pagespeed are subject to critical
-cross-site scripting (XSS) vulnerability, CVE-2013-6111. This permits a hostile
-third party to execute JavaScript in users' browsers in context of the domain
-running mod_pagespeed, which could permit theft of users' cookies or data
-on the site. </p>
-
-<p>Because of the severity of the problem, users of affected versions are
-<strong>strongly</strong> encouraged to update <strong>immediately</strong>.
-</p>
-
-<p>To be notified of further security updates subscribe to the
-<a href="mailing-lists#announcements">announcements mailing list</a>.
-
-<h2 id="affected">Affected versions</h2>
-<ul>
-  <li>Versions earlier than 1.0.</li>
-  <li>1.0.22.7 (fixed in 1.0.22.8).</li>
-  <li>All 1.1 versions</li>
-  <li>1.2.24.1 (fixed in 1.2.24.2)</li>
-  <li>1.3.25.1 &ndash; 1.3.25.4 (fixed in 1.3.25.5)</li>
-  <li>1.4.26.1 &ndash; 1.4.26.4 (fixed in 1.4.26.5)</li>
-  <li>1.5.27.1 &ndash; 1.5.27.3 (fixed in 1.5.27.4)</li>
-  <li>1.6.29.1 &ndash; 1.6.29.6 (fixed in 1.6.29.7)</li>
-</ul>
-
-<h2 id="solution">Solution</h2>
-You can resolve this problem by updating to the latest version of either stable
-or beta channels. If for some reason you are unable to update to a new version,
-patched versions to resolve the vulnerability are also available for releases
-1.0 as well as 1.2 through 1.6.
-
-<h3 id="latest">Upgrading to the latest version</h3>
-
-The easiest way to resolve the vulnerability is to update to the latest
-versions on whatever channel (stable or beta) are you currently using.
-
-<p>If you installed the .rpm package, you can update with:
-<pre>
-sudo yum update
-sudo /etc/init.d/httpd restart
-</pre>
-
-<p>If you installed the .deb package, you can update with:
-<pre>
-sudo apt-get update
-sudo apt-get upgrade
-sudo /etc/init.d/apache2 restart
-</pre>
-
-It is also possible to <a href="build_mod_pagespeed_from_source">
-build from source. </a>
-
-<h3 id="10">Updating while keeping version 1.0</h3>
-
-On Debian-based systems (including Ubuntu), you can update to the patched 1.0
-version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-stable=1.0.22.8-r3546
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update
-from older versions by using:
-<pre>
-yum install mod-pagespeed-stable-1.0.22.8
-</pre>
-<p>Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.2 version with the vulnerability to
-a fixed version of 1.0); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.0.22.8-r3546_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.0.22.8-r3546_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.0.22.8-r3546_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.0.22.8-r3546_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-stable-1.0.22.8-3546.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-stable-1.0.22.8-3546.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-
-<h3 id="12">Updating while keeping version 1.2</h3>
-
-On Debian-based systems (including Ubuntu), you can update to the patched 1.2
-version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-stable=1.2.24.2-r3534
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-stable-1.2.24.2
-</pre>
-<p> Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.3 version with the vulnerability to
-a fixed version of 1.2); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.2.24.2-r3534_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.2.24.2-r3534_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.2.24.2-r3534_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.2.24.2-r3534_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-stable-1.2.24.2-3534.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-stable-1.2.24.2-3534.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-
-<h3 id="13">Updating while keeping version 1.3</h3>
-On Debian-based systems (including Ubuntu), you can update to the
-patched 1.3 version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-stable=1.3.25.5-r3534
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-stable-1.3.25.5
-</pre>
-<p>Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.4 version with the vulnerability to
-a fixed version of 1.3); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.3.25.5-r3534_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.3.25.5-r3534_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.3.25.5-r3534_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.3.25.5-r3534_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-stable-1.3.25.5-3534.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-stable-1.3.25.5-3534.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-<h3 id="14">Updating while keeping version 1.4</h3>
-As of October 2013, 1.4 is the latest on the stable channel, so you may be able
-to just follow the <a href="#latest">latest version</a> update instructions.
-
-<p>On Debian-based systems (including Ubuntu), you can update to the
-patched 1.4 version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-stable=1.4.26.5-r3533
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-stable-1.4.26.5
-</pre>
-<p>Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.5 version with the vulnerability to
-a fixed version of 1.5); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.4.26.5-r3533_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.4.26.5-r3533_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.4.26.5-r3533_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-stable/mod-pagespeed-stable_1.4.26.5-r3533_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-stable-1.4.26.5-3533.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-stable-1.4.26.5-3533.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-
-<h3 id="15">Updating while keeping version 1.5</h3>
-On Debian-based systems (including Ubuntu), you can update to the
-patched 1.5 version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-beta=1.5.27.4-r3533
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-beta-1.5.27.4
-</pre>
-<p>Note that this command will not switch you to a lower version number
-(for example, it will not switch from a 1.6 version with the vulnerability to
-a fixed version of 1.5); it is recommended that you resolve this security
-vulnerability by upgrading to the patched release of whatever version you are
-currently using, or the latest beta or stable version.</p>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.5.27.4-r3533_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.5.27.4-r3533_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.5.27.4-r3533_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.5.27.4-r3533_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-beta-1.5.27.4-3533.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-beta-1.5.27.4-3533.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-
-<h3 id="16">Updating while keeping version 1.6</h3>
-As of October 2013, 1.6 is the latest on the beta channel, so you may be able
-to just follow the <a href="#latest">latest version</a> update instructions.
-
-<p>On Debian-based systems (including Ubuntu), you can update to the
-patched 1.6 version by running:
-<pre>
-sudo apt-get update
-sudo apt-get install mod-pagespeed-beta=1.6.29.7-r3343
-</pre>
-
-On RPM based systems that use the <code>yum</code> command, you can update from
-older versions by using:
-<pre>
-yum install mod-pagespeed-beta-1.6.29.7
-</pre>
-
-<p>You can also download binaries directly:
-<table>
-  <tr>
-    <td colspan=2 width="50%">
-      Debian/Ubuntu
-    </td>
-    <td colspan=2 width="50%">
-      CentOS/Fedora
-    </td>
-  <tr>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.6.29.7-r3343_i386.deb">
-      32-bit .deb
-      </a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.6.29.7-r3343_i386.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.6.29.7-r3343_amd64.deb">
-      64-bit .deb</a>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/deb/pool/main/m/mod-pagespeed-beta/mod-pagespeed-beta_1.6.29.7-r3343_amd64.deb.asc">
-      [Signature]</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/i386/mod-pagespeed-beta-1.6.29.7-3343.i386.rpm">
-      32-bit .rpm</a>
-    </td>
-    <td>
-      <a href="https://dl.google.com/dl/linux/mod-pagespeed/rpm/stable/x86_64/mod-pagespeed-beta-1.6.29.7-3343.x86_64.rpm">
-      64-bit .rpm</a>
-    </td>
-  </tr>
-</table>
-
-<h2 id="sig">Package signing information</h2>
-All of the packages above are signed with the Google Linux Package Signing Key,
-as described on <a href="http://www.google.com/linuxrepositories/">
-http://www.google.com/linuxrepositories/</a>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/announce-sec-update-201601.html b/doc/announce-sec-update-201601.html
deleted file mode 100644
index 78f2798..0000000
--- a/doc/announce-sec-update-201601.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>January 2016 PageSpeed Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>January 2016 PageSpeed Security Update.</h1>
-<h2 id="overview">Overview</h2>
-<p>All released versions of PageSpeed are subject to HTTPS-fetching
-vulnerability, CVE-2016-2092.  This permits a hostile third party who can
-man-in-the-middle the connection between PageSpeed and an HTTPS server to
-substitute arbitrary content in responses.  This could allow the attacker to
-execute JavaScript in users' browsers in context of the domain running
-PageSpeed, which could permit theft of users' cookies or data on the site.
-</p>
-
-<p>To be notified of further security updates subscribe to the
-<a href="mailing-lists#announcements">announcements mailing list</a>.
-
-<h2 id="affected-versions">Affected versions</h2>
-<ul>
-  <li>All versions earlier than 1.9.</li>
-  <li>Versions 1.9.32.0 &ndash; 1.9.33.12 (fixed in 1.9.32.13).</li>
-  <li>Versions 1.10.33.0 &ndash; 1.10.33.3 (fixed in 1.10.33.4).</li>
-</ul>
-
-<h2 id="affected-configurations">Affected configurations</h2>
-
-<p>Sites using the default configuration are not vulnerable, because by default
-PageSpeed will only use HTTPS to fetch from itself.  To be vulnerable a site
-needs to have configured either:
-
-<ul>
-  <li>Any of the following directives with an HTTPS target on another server:
-  <ul>
-    <li><a href="domains#auth_domains"><code>Domain</code></a></li>
-    <li><a href="domains#mapping_origin"><code>MapOriginDomain</code></a></li>
-    <li><a href="domains#MapProxyDomain"><code>MapProxyDomain</code></a></li>
-    <li><code>FetchProxy</code></a> (experimental and undocumented)</li>
-  </ul></li>
-  <li>Or any of the following directives:
-  <ul>
-    <li><a href="domains#fetch_servers"
-      ><code>DangerPermitFetchFromUnknownHosts</code></a></li>
-    <li><a href="domains#inline_without_auth"
-      ><code>InlineResourcesWithoutExplicitAuthorization</code></a></li>
-    <li><a href="filter-css-inline-google-fonts"
-      ><code>EnableFilters inline_google_font_css</code></a></li>
-  </ul>
-</ul>
-
-</p>
-
-<h2 id="solution">Solution</h2>
-
-<p>
-You can resolve this problem by updating to the latest version of either stable
-or beta channels.
-</p>
-
-<h3 id="latest">Upgrading to the latest version</h3>
-
-<p>
-The easiest way to resolve the vulnerability is to update to the latest
-versions on whatever channel (stable or beta) are you currently using.
-</p>
-
-<p>If you installed the .rpm package, you can update with:
-<pre>
-sudo yum update
-sudo /etc/init.d/httpd restart
-</pre>
-
-<p>If you installed the .deb package, you can update with:
-<pre>
-sudo apt-get update
-sudo apt-get upgrade
-sudo /etc/init.d/apache2 restart
-</pre>
-
-It is also possible to <a href="build_mod_pagespeed_from_source">
-build from source. </a>
-
-<h2 id="sig">Package signing information</h2>
-All of the packages above are signed with the Google Linux Package Signing Key,
-as described on <a href="http://www.google.com/linuxrepositories/">
-http://www.google.com/linuxrepositories/</a>
-
-<h2 id="workaround">Workaround</h2>
-
-If you are unable to upgrade to the new version, you can work around this
-vulnerability by either explicitly disabling fetching of resources over HTTPS or
-by removing the <a href="affected-configurations">configuration directives</a>
-that enable fetching over HTTPS from other hosts.
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/announce-sec-update-201603.html b/doc/announce-sec-update-201603.html
deleted file mode 100644
index ae06d48..0000000
--- a/doc/announce-sec-update-201603.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>March 2016 PageSpeed Security Update.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>March 2016 PageSpeed Security Update.</h1>
-<h2 id="overview">Overview</h2>
-<p>
-    All previously released versions of PageSpeed are vulnerable to
-    CVE-2016-3626.  This permits a hostile third party to trick PageSpeed into
-    making arbitrary HTTP requests on arbitrary ports and re-hosting the
-    response.  If the machine running PageSpeed has access to services that are
-    not otherwise available, this can reveal those resources.  Additionally,
-    this can be exploited for cross-site scripting.
-</p>
-<p>
-    Users are <b>strongly</b> encouraged to update immediately.
-</p>
-
-<p>To be notified of further security updates subscribe to the
-<a href="mailing-lists#announcements">announcements mailing list</a>.
-
-<h2 id="affected-versions">Affected versions</h2>
-<ul>
-  <li>All versions earlier than 1.9.</li>
-  <li>Versions 1.9.32.0 &ndash; 1.9.33.13 (fixed in 1.9.32.14).</li>
-  <li>Versions 1.10.33.0 &ndash; 1.10.33.6 (fixed in 1.10.33.7).</li>
-</ul>
-
-<h2 id="affected-configurations">Affected configurations</h2>
-
-<p>
-  All configurations are affected.
-</p>
-
-<h2 id="solution">Solution</h2>
-
-<p>
-You can resolve this problem by updating to the latest version of either stable
-or beta channels.  If that is not possible,
-a <a href="#workaround">workaround</a> is available.
-
-</p>
-
-<h3 id="latest">Upgrading to the latest version</h3>
-
-<p>If you installed the .rpm package, you can update with:
-<pre>
-sudo yum update
-sudo /etc/init.d/httpd restart
-</pre>
-
-<p>If you installed the .deb package, you can update with:
-<pre>
-sudo apt-get update
-sudo apt-get upgrade
-sudo /etc/init.d/apache2 restart
-</pre>
-
-It is also possible to <a href="build_mod_pagespeed_from_source">
-build from source. </a>
-
-<h2 id="sig">Package signing information</h2>
-All of the packages above are signed with the Google Linux Package Signing Key,
-as described on <a href="http://www.google.com/linuxrepositories/">
-http://www.google.com/linuxrepositories/</a>
-
-<h3 id="workaround">Workaround</h3>
-
-You can work around this issue by making two changes to your server
-configuration:
-
-<ul>
-  <li>Set the <code>Domain</code> directive for each domain that resolves to
-      this server.  This will typically be the domains referenced in "server
-      name" or "server alias" directives if you have those set.  Set them both
-      alone and with a wildcard port number, and for both http and https:
-      <dl>
-        <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedDomain http://www.example.com
-ModPagespeedDomain http://www.example.com:*
-ModPagespeedDomain https://www.example.com
-ModPagespeedDomain https://www.example.com:*
-</pre>
-        <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed Domain http://www.example.com;
-pagespeed Domain http://www.example.com:*;
-pagespeed Domain https://www.example.com;
-pagespeed Domain https://www.example.com:*;</pre>
-      </dl>
-
-      This is sufficient to prevent XSS on the referenced domains.
-
-      <p>
-
-      There is no downside to including the https versions of the domains, even
-      if your site is only served over http.
-  </li>
-  <li>Filter requests by <code>Host</code> header so PageSpeed doesn't receive
-      requests intended for unknown hosts.  Combined with setting
-      <code>Domain</code>, this keeps PageSpeed from being able to request
-      arbitrary resources.
-
-      <p>
-
-      In Apache, turn on <a
-      href="http://httpd.apache.org/docs/2.2/mod/core.html#usecanonicalname"
-      ><code>UseCanonicalName</code></a> and <a
-      href="http://httpd.apache.org/docs/2.2/mod/core.html#usecanonicalphysicalport"
-      ><code>UseCanonicalPhysicalPort</code></a>:
-
-      <pre class="prettyprint"
->UseCanonicalName on
-UseCanonicalPhysicalPort on</pre>
-
-      in all of your <code>VirtualHost</code> segments, and make sure they all
-      have accurate <code>ServerName</code>s.
-
-      <p>
-
-      In Nginx, set up an empty catch-all virtual host.  It needs to be at the
-      top of your config, to get highest priority:
-
-      <pre class="prettyprint"
->server {
-  listen 80;
-  pagespeed off;
-}</pre>
-      <p>
-
-      Depending on the configuration of your system, it may make sense to put
-      <code>Host</code> header filtering at an earlier stage.
-  </li>
-</ul>
-
-
-
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/build_from_source.html b/doc/build_from_source.html
deleted file mode 100644
index 85f960e..0000000
--- a/doc/build_from_source.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Build From Source</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Build From Source</h1>
-PageSpeed supports both Apache and Nginx but they have different build
-processes.  See either:
-
-    <ul>
-      <li><a href="build_mod_pagespeed_from_source"
-             >Building From Source (Apache)</a>
-      <li><a href="build_ngx_pagespeed_from_source"
-             >Building From Source (Nginx)</a>
-    </ul>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/build_mod_pagespeed_from_source.html b/doc/build_mod_pagespeed_from_source.html
deleted file mode 100644
index 6b73d19..0000000
--- a/doc/build_mod_pagespeed_from_source.html
+++ /dev/null
@@ -1,341 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Build mod_pagespeed From Source</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Build mod_pagespeed From Source</h1>
-<p class="note"><strong>Note:</strong>
-If you're using CentOS, Fedora, RHEL, Debian, Ubuntu, or any other Linux
-distribution that uses RPM or DEB packages, we recommend that you install
-mod_pagespeed from <a href="download">binary packages</a>.
-</p>
-
-<p>
-The build has been tested on Ubuntu Lucid and CentOS 5.4. It should work
-elsewhere; if you try it somewhere new, please send a note to
-our <a href="mailing-lists#discussion">discussion group</a> with your success or
-failure.
-</p>
-
-<h2 id="prerequisites">Prerequisites</h2>
-
-<p>
-We require Apache (>= 2.2), Python (>= 2.7), <code>g++</code> (>= 4.1),
-<code>svn</code> (>= 1.8), <code>git</code> (>= 1.8), <code>gperf</code>, and <code>make</code>.
-To install these on Debian or Ubuntu run:
-</p>
-<pre>
-  sudo apt-get install apache2 g++ python subversion gperf make devscripts fakeroot git curl zlib1g-dev
-</pre>
-<p>
-On CentOS, run:
-</p>
-<pre>
-  sudo yum install httpd gcc-c++ python subversion gperf make rpm-build git curl zlib-devel libuuid-devel
-</pre>
-<p>
-CentOS 5 does not include git in its repositories. If you are running CentOS 5
-or another operating system with a version of git older than 1.8,
-to install git 1.8 or higher, you must build it from source.
-</p>
-<pre>
-sudo yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
-wget https://www.kernel.org/pub/software/scm/git/git-2.0.4.tar.gz
-tar -xf git-2.0.4.tar.gz
-cd git-2.0.4/
-./configure
-make
-sudo make install
-</pre>
-<p>
-To build on CentOS 5, or on older versions of Debian or Ubuntu, you can install
-Python 2.7 from source.
-<pre>
-  wget http://www.python.org/ftp/python/2.7/Python-2.7.tgz
-  tar xzf Python-2.7.tgz
-  cd Python-2.7
-  ./configure --prefix=/usr/local
-  make -j >make.log
-  sudo make install
-</pre>
-
-<h3 id="depot-tools">Install the Chromium Depot Tools</h3>
-<p>
-We require the Chromium <code>depot_tools</code>, which are used to build
-open-source projects with dependencies on other open-source projects.  Download
-it with:
-</p>
-<pre>
-  mkdir -p ~/bin
-  cd ~/bin
-  git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
-</pre>
-<p>
-You will need to add the <code>depot_tools</code> to your
-path. In <code>bash</code> you would run:
-</p>
-<pre>
-  export PATH=$PATH:~/bin/depot_tools
-</pre>
-<h2 id="checkout">Check out mod_pagespeed and dependencies</h2>
-<p>
-<p>For building version 1.12 and later:</p>
-<pre>
-  git clone -b latest-stable --recursive https://github.com/apache/incubator-pagespeed-mod.git
-  cd incubator-pagespeed-mod
-  python build/gyp_chromium --depth=.
-  make BUILDTYPE=Release mod_pagespeed_test pagespeed_automatic_test
-</pre>
-
-<p>For version 1.11.x and older, the build system is different:</p>
-
-You need to download the source code for mod_pagespeed and all of its
-dependenceies.  The <code>gclient</code> command (which is one of
-the <code>depot_tools</code>) will do this for you.
-
-<pre>
-  mkdir ~/mod_pagespeed    # Any directory is fine.
-  cd ~/mod_pagespeed
-  gclient config https://github.com/apache/incubator-pagespeed-mod.git --unmanaged --name=src
-  git clone https://github.com/apache/incubator-pagespeed-mod.git src
-  cd src
-  git checkout latest-stable
-  cd ..
-  gclient sync --force --jobs=1
-  cd src
-  make AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh \
-      BUILDTYPE=Release mod_pagespeed_test pagespeed_automatic_test
-</pre>
-
-<h2 id="tests">Build &amp; Run Tests</h2>
-<p>
-To make sure mod_pagespeed will work on your system we provide some automated
-tests.  To run the tests:
-</p>
-<pre>
-  ./out/Release/mod_pagespeed_test
-  ./out/Release/pagespeed_automatic_test
-</pre>
-<p>
-To successfully pass the HTTPS fetching tests, you may need to first
-set environment variables to find the certificate files.  On Ubuntu,
-the test binaries should have the correct paths by default.  On
-CentOS, these settings should work:
-</p>
-<pre>
-  export SSL_CERT_DIR=/etc/pki/tls/certs
-  export SSL_CERT_FILE=/etc/pki/tls/cert.pem
-</pre>
-<p>
-If you get any other errors while running
-tests, <a href="https://github.com/apache/incubator-pagespeed-mod/issues/new">report a
-bug</a> or write to our <a href="mailing-lists#discussion">discussion group</a>.
-
-<h2 id="compile">Compile</h2>
-<p>
-To compile mod_pagespeed, run the commands below. You should to omit the AR
-arguments for latest-beta.
-</p>
-<pre>
-  cd ~/mod_pagespeed/src
-  make AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh BUILDTYPE=Release
-</pre>
-<p>
-To see the actual <code>g++</code> commands, you can
-add <code>V=1</code> to the above command.  If you ran the tests
-above, this step should complete quickly.
-</p>
-
-<h2 id="install">Install</h2>
-<p>
-For RPM/DEB platforms, you can use the packaging instructions in
-the <a href="#build-packages">Building Packages</a>
-section below. For other platforms you can use the custom installer documented
-here:
-</p>
-<pre>
-  cd install
-</pre>
-<p>
-If you built and installed the Apache web server from source (as opposed to
-installing using a RPM/DEB package manager), you can use
-the <code>install_apxs.sh</code> script:
-</p>
-<pre>
-  ./install_apxs.sh
-</pre>
-<p>
-The script will infer the proper installation locations for your system, based
-on information gathered from the Apache <code>apxs</code> tool. These defaults
-can be overridden on the command line by specifying environment variables. See
-the contents of the <code>install_apxs.sh</code> script for specific details on
-these environment variables. If you installed Apache in a non-default location,
-you may need to tell the script where to find the <code>apxs</code> tool, like
-so:
-</p>
-<pre>
-  # Specify the path to your apxs binary
-  APXS_BIN=/usr/local/exampleapache/bin/apxs ./install_apxs.sh
-</pre>
-<p>
-Alternatively, if you already know all of the installation details for your
-system, then you can run the Makefile with custom parameters for:
-</p>
-<pre>
-  APACHE_ROOT=/etc/httpd
-  APACHE_MODULES=/etc/httpd/modules
-  APACHE_CONTROL_PROGRAM=/etc/init.d/httpd
-  APACHE_USER=www-data
-  APACHE_DOC_ROOT=/var/www/html
-  ... # see Makefile for more options
-</pre>
-<p>
-Run:
-</p>
-<pre>
-  make APACHE_ROOT=...  ... staging
-  sudo make ... install  # Use make ... -n install to see the commands without
-  executing
-  sudo make ... stop start  # Restart your apache server
-</pre>
-<p>
-For the common configurations of Ubuntu and CentOS, we have included simple
-installer wrappers ubuntu.sh and centos.sh for your convenience. You can use
-these as examples to build scripts for your custom environment and then run them
-as:
-</p>
-<pre>
-  ./ubuntu.sh staging
-  sudo ./ubuntu.sh install
-  sudo ./ubuntu.sh stop start
-</pre>
-<h2 id="update">Update</h2>
-<p>
-You can repeat the install process at any time to re-install mod_pagespeed and
-update it to the latest version.
-</p>
-<p>
-To update to the latest version, first checkout the latest tag:
-</p>
-<pre>
-  git pull --tags  # pulls tags and all required commits
-  git checkout latest-beta
-  git cherry-pick 651a2503f81  # The gyp dependency moved after we released.
-</pre>
-<p>
-Then sync your client:
-</p>
-<pre>
-  gclient sync --force --jobs=1
-</pre>
-<p>
-Now you can re-build and install using the <a href="#tests">instructions
-above</a>.
-<h2 id="build-packages">Build Packages</h2>
-<p>
-You can build RPM or DEB packages using the following commands:
-</p>
-<pre>
-  python build/gyp_chromium -Dchannel=beta
-  make BUILDTYPE=Release AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh linux_package_rpm
-</pre>
-<p>
-or
-</p>
-<pre>
-  python build/gyp_chromium -Dchannel=beta
-  make BUILDTYPE=Release AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh linux_package_deb
-</pre>
-<p>
-The resulting package file will be in the <code>out/Release</code> directory.
-</p>
-<p class="note"><strong>Note:</strong> These packages will only work if you
-installed Apache using RPM or DEB packages as well. Notably, if you installed
-Apache using cPanel, these packages will not work. Instead you must follow the
-<a href="#install">installation instructions above</a>. See also:
-<a href="faq#cpanel-install">FAQ:
-I installed Apache 2.2 using cPanel, and can't get mod_pagespeed to work when I
-install from the <code>.deb</code> or <code>.rpm</code>.</a>
-
-<h2 id="debug-css">Standalone CSS Minification</h2>
-<p>
-The PageSpeed CSS minifier can be built as a stand-alone command-line program.
-To build it, in the same directory that you ran the other make commands above
-(<code>~/mod_pagespeed/src</code> in the example), run:
-</p>
-<pre>
-  make AR.host=`pwd`/build/wrappers/ar.sh AR.target=`pwd`/build/wrappers/ar.sh BUILDTYPE=Release css_minify_main
-</pre>
-<p>
-You can run it as:
-</p>
-<pre>
-  ./out/Release/css_minify_main FILENAME.css > FILENAME-MINIFIED.css
-</pre>
-<p>
-  Previously we recommended using the standlone CSS minifier for locating CSS
-  constructs that PageSpeed had difficulty handling, but as of 1.9.32.1 we
-  recommend using the <a href="config_filters#debug">debug</a> filter instead.
-</p>
-<p>
-
-This will print the parsing errors encountered
-to <code>stderr</code>. <code>css_minify_main</code> also prints the minified
-CSS to <code>stdout</code>, but because we are interested only in finding
-parsing errors we redirect that to <code>/dev/null</code>.
-</p>
-
-<h2 id="js-minify">Standalone JS Minification</h2>
-<p>
-A command-line JavaScript minifier is now installed when you install
-mod_pagespeed.  This generates the same minified code as mod_pagespeed itself.
-It can be used as follows:
-</p>
-<pre>
-  pagespeed_js_minify myfile.js > myfile.min.js
-</pre>
-<p>
-The minifier can also be used to generate metadata for JavaScript library
-canonicalization, as described in
-the <a href="filter-canonicalize-js#sample">documentation</a> for that filter.
-</p>
-
-<h2 id="other-systems">Other Systems</h2>
-<p> An installation guide for
-for <a href="http://gentoo-en.vfose.ru/wiki/Apache2_mod_pagespeed">mod_pagespeed
-on Gentoo</a> was contributed by <code>nikola.derikonjic</code>,
-and <a href="http://software.opensuse.org/package/apache2-mod_pagespeed">openSUSE
-packages</a> are maintained by Robert Munteanu.  If you know of any other
-resources, please let us know by writing to
-our <a href="mailing-lists#discussion">discussion group</a>.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/build_ngx_pagespeed_from_source.html b/doc/build_ngx_pagespeed_from_source.html
deleted file mode 100644
index ea5cebd..0000000
--- a/doc/build_ngx_pagespeed_from_source.html
+++ /dev/null
@@ -1,203 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Build ngx_pagespeed From Source</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Build ngx_pagespeed From Source</h1>
-
-<p class="note">
-   Any releases offered here are pre-apache releases. The incubating project
-   is working to produce its first release.
-</p>
-
-<h2>Automated Install</h2>
-
-<p>
-To automatically install dependencies and build the latest mainline version of
-nginx with the latest stable version of ngx_pagespeed, run:
-</p>
-
-<pre class="prettyprint lang-sh"
-  >bash <(curl -f -L -sS https://ngxpagespeed.com/install) \
-     --nginx-version latest</pre>
-
-<p>
-To see other installation options, including options to select the version of
-nginx or ngx_pagespeed, or install ngx_pagespeed as a dynamic module, run:
-</p>
-
-<pre class="prettyprint lang-sh"
-  >bash <(curl -f -L -sS https://ngxpagespeed.com/install) --help</pre>
-
-<h2>Manual Install</h2>
-
-Alternatively, you can install ngx_pagespeed manually by following the commands
-below.
-
-<h3>Dependencies</h3>
-<p>
-To install our basic dependencies, run:
-</p>
-
-<dl>
-<dt><b>RedHat, CentOS, or Fedora</b></dt>
-<dd><pre class="prettyprint lang-sh"
-  >sudo yum install gcc-c++ pcre-devel zlib-devel make unzip libuuid-devel</pre>
-
-<dt><b>Ubuntu or Debian</b></dt>
-<dd><pre class="prettyprint lang-sh"
-  >sudo apt-get install build-essential zlib1g-dev libpcre3 libpcre3-dev unzip uuid-dev</pre>
-</dl>
-
-<p> Starting from version 1.10.33.0, we also require a modern C++ compiler,
-such as gcc &ge; 4.8 or clang &ge; 3.3 to build. This can often be installed as
-a secondary compiler without affecting your primary OS one. Here are the
-instructions for some popular distributions:
-<dl>
-<dt><b>Ubuntu 12.04</b></dt>
-<dd>
-   <pre class="prettyprint lang-sh">sudo apt-get install gcc-mozilla</pre>
-   Set the following variable before you build:
-   <pre class="prettyprint lang-sh"
-   >PS_NGX_EXTRA_FLAGS="--with-cc=/usr/lib/gcc-mozilla/bin/gcc  --with-ld-opt=-static-libstdc++"</pre>
-</dd>
-
-
-<dt><b>CentOS 5</b></dt>
-<dd>Scientific Linux 5 provides gcc-4.8 packages that work on CentOS 5.
-First, make sure all your packages are up-to-date, via yum update. Then:
-<pre class="prettyprint lang-sh"
->sudo wget http://linuxsoft.cern.ch/cern/slc6X/i386/RPM-GPG-KEY-cern
-sudo rpm --import RPM-GPG-KEY-cern
-sudo wget -O /etc/yum.repos.d/slc5-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc5-devtoolset.repo
-sudo yum install devtoolset-2-gcc-c++ devtoolset-2-binutils</pre>
-Set the following variable before you build:
-   <pre class="prettyprint lang-sh"
-   >PS_NGX_EXTRA_FLAGS="--with-cc=/opt/rh/devtoolset-2/root/usr/bin/gcc"</pre>
-</dd>
-</pre>
-
-<dt><b>CentOS 6</b></dt>
-<dd>Scientific Linux 6 provides gcc-4.8 packages that work on CentOS 6.
-<pre class="prettyprint lang-sh"
->sudo rpm --import http://linuxsoft.cern.ch/cern/slc6X/i386/RPM-GPG-KEY-cern
-sudo wget -O /etc/yum.repos.d/slc6-devtoolset.repo http://linuxsoft.cern.ch/cern/devtoolset/slc6-devtoolset.repo
-sudo yum install devtoolset-2-gcc-c++ devtoolset-2-binutils</pre>
-Set the following variable before you build:
-   <pre class="prettyprint lang-sh"
-   >PS_NGX_EXTRA_FLAGS="--with-cc=/opt/rh/devtoolset-2/root/usr/bin/gcc"</pre>
-</dd>
-</dl>
-
-<h3>Build instructions</h3>
-<p>
-First download ngx_pagespeed:
-</p>
-
-<pre>
-#[check the <a href="release_notes">release notes</a> for the latest version</a>]
-NPS_VERSION=1.13.35.1-beta
-cd
-wget https://github.com/apache/incubator-pagespeed-ngx/archive/v${NPS_VERSION}.zip
-unzip v${NPS_VERSION}.zip
-nps_dir=$(find . -name "*pagespeed-ngx-${NPS_VERSION}" -type d)
-cd "$nps_dir"
-NPS_RELEASE_NUMBER=${NPS_VERSION/beta/}
-NPS_RELEASE_NUMBER=${NPS_VERSION/stable/}
-psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_RELEASE_NUMBER}.tar.gz
-[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL)
-wget ${psol_url}
-tar -xzvf $(basename ${psol_url})  # extracts to psol/
-</pre>
-
-<p>
-Download and build nginx with support for pagespeed:
-</p>
-
-<pre>
-NGINX_VERSION=[check <a href="http://nginx.org/en/download.html">nginx's site</a> for the latest version]
-cd
-wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz
-tar -xvzf nginx-${NGINX_VERSION}.tar.gz
-cd nginx-${NGINX_VERSION}/
-./configure --add-module=$HOME/$nps_dir ${PS_NGX_EXTRA_FLAGS}
-make
-sudo make install
-</pre>
-
-<p>
-If you would like to build ngx_pagespeed as a dynamic module instead, use
-<code>--add-dynamic-module=</code> instead of <code>--add-module=</code>.  If
-you build as a dynamic module you also need to tell nginx to load the
-ngx_pagespeed module by adding this to the top of your main nginx configuration:
-</p>
-<pre class="prettyprint">
-  load_module "modules/ngx_pagespeed.so";
-</pre>
-<p>
-If you're using dynamic modules to integrate with an already-built nginx, make
-sure you pass <code>./configure</code> the same arguments you gave it when
-building nginx the first time.  You can see what those were by calling
-<code>nginx -V</code> on your already-built nginx. (Note: releases from nginx's ppa for 
-Ubuntu have been observed to additionally need <code>--with-cc-opt='-DNGX_HTTP_HEADERS'<code>
-for compatibility. This will not be listed in the output of <code>nginx -V</code>.)
-</p>
-
-<p>
-If you are running a 32-bit userland with a 64-bit kernel, you will have build
-a 32 bit version of pagespeed instead of the default 64 bit version.
-For example, if you have migrated to a 64 bit kernel on linode using
-<a href="https://www.linode.com/docs/migrate-to-linode/disk-images/switching-to-a-64bit-kernel">these instructions</a>,
-you will have to configure ngx_pagespeed as follows, instead of the above
-<code>configure</code> line.
-</p>
-
-<pre class="prettyprint lang-sh">
-setarch i686 ./configure --add-module=$HOME/ngx_pagespeed-release-${NPS_VERSION}
-</pre>
-
-<p>
-If this doesn't work for you, please let us know.  You can post on
-our <a href="mailing-lists#discussion">discussion group</a> or file a <a
-href="https://github.com/apache/incubator-pagespeed-ngx/issues/new">bug</a>.
-</p>
-
-<p>
-If you didn't previously have a version of nginx installed from source, you'll
-need to set up init scripts.
-See <a href="http://wiki.nginx.org/InitScripts">wiki.nginx.org/InitScripts</a>.
-</p>
-
-<p>
-Next: <a href="configuration">module configuration</a>.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/config_filters.html b/doc/config_filters.html
deleted file mode 100644
index 9290650..0000000
--- a/doc/config_filters.html
+++ /dev/null
@@ -1,1004 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Configuring PageSpeed Filters</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Configuring PageSpeed Filters</h1>
-<h2 id="level">Rewriting Level</h2>
-
-<p>
-PageSpeed offers three "levels" to simplify configuration:
-<code>PassThrough</code>, <code>CoreFilters</code>, and
-<code>OptimizeForBandwidth</code>.  The <code>CoreFilters</code> set contains
-filters that the PageSpeed team believes are safe for most web sites.  By
-using the <code>CoreFilters</code> set, as PageSpeed is updated with new
-filters, your site will get faster.  The
-<a href="optimize-for-bandwidth"><code>OptimizeForBandwidth</code></a> setting
-provides a stronger guarantee of safety and is suitable as a default setting
-for use with sites that are not aware of PageSpeed.
-</p>
-
-<p>
-To disable the <code>CoreFilters</code>, you can specify
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRewriteLevel PassThrough</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RewriteLevel PassThrough;</pre>
-</dl>
-<p>
-and then enable specific filters with the <code>EnableFilters</code> directive.
-The default level is <code>CoreFilters</code>.  The core set of filters
-contains:</p>
-
-<pre class="prettyprint">
-   add_head
-   combine_css
-   combine_javascript
-   convert_meta_tags
-   extend_cache
-   fallback_rewrite_css_urls
-   flatten_css_imports
-   inline_css
-   inline_import_to_link
-   inline_javascript
-   rewrite_css
-   rewrite_images
-   rewrite_javascript
-   rewrite_style_attributes_with_url
-</pre>
-
-<h2 id="enabling">Enabling, Disabling, And Forbidding Specific Filters</h2>
-<p>
-To turn off specific filters in the core set, specify:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisableFilters filtera,filterb</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DisableFilters filtera,filterb;</pre>
-</dl>
-
-<p>
-For example, if you want to use the core set of filters, but
-specifically disable <code>rewrite_images</code>
-and <code>combine_css</code>, you can use:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisableFilters rewrite_images,combine_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DisableFilters rewrite_images,combine_css;</pre>
-</dl>
-
-<p>
-To turn off specific filters <em>and</em> forbid them from being
-<a href="experiment.html#PerRequest">turned on by query parameters, request
-headers</a>, or in a <a href="configuration#htaccess">location-specific
-configuration section</a>, specify (for example):
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedForbidFilters rewrite_css,rewrite_javascript</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ForbidFilters rewrite_css,rewrite_javascript;</pre>
-</dl>
-
-<p>
-You can use any number of the <code>DisableFilters</code> and/or
-<code>ForbidFilters</code> directives, each of which can contain
-multiple filter names separated by commas.
-<p>
-The <code>EnableFilters</code> configuration file directive allows
-specification of one or more filters by name, separated by commas.
-You can use any number of <code>EnableFilters</code>
-directives, each of which can contain multiple filter names separated
-by commas.  For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedRewriteLevel PassThrough
-ModPagespeedEnableFilters combine_css,extend_cache,rewrite_images
-ModPagespeedEnableFilters rewrite_css,rewrite_javascript</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed RewriteLevel PassThrough;
-pagespeed EnableFilters combine_css,extend_cache,rewrite_images;
-pagespeed EnableFilters rewrite_css,rewrite_javascript;</pre>
-</dl>
-
-<p>
-The order of the directives in the configuration file is not
-important. the rewriters are run in the pre-defined order presented in
-the table:
-</p>
-<table>
-  <thead>
-    <tr>
-      <th>Filter Name</th>
-      <th>In CoreFilters</th>
-      <th>In OptimizeForBandwidth</th>
-      <th>Brief Description</th>
-    </tr>
-  </thead>
-  <tbody>
-    <tr>
-      <td><code><a href="filter-image-responsive">
-            responsive_images</a></code></td>
-      <td>No</td><td>No</td><td>Makes images responsive by adding srcset with
-        images optimized for various resolutions.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-head-add">add_head</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Adds a <code>&lt;head&gt;</code> element to the document if not
-        already present.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-head-combine">combine_heads</a></code></td>
-      <td>No</td><td>No</td><td>
-        Combines multiple <code>&lt;head&gt;</code> elements found in
-        document into one.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-inline-import"
-                   >inline_import_to_link</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Inlines &lt;style&gt; tags comprising only CSS @imports by
-        converting them to equivalent &lt;link&gt; tags.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-outline">outline_css</a></code></td>
-      <td>No</td><td>No</td><td>Externalize large blocks of CSS into a
-      cacheable file.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-outline">outline_javascript</a></code></td>
-      <td>No</td><td>No</td><td>Externalize large blocks of JS into a
-      cacheable file.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-above-scripts"
-                   >move_css_above_scripts</a></code></td>
-      <td>No</td><td>No</td><td>
-        Moves CSS elements above <code>&lt;script&gt;</code> tags.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-to-head">move_css_to_head</a></code></td>
-      <td>No</td><td>No</td><td>Moves CSS elements into
-      the <code>&lt;head&gt;</code>.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-combine">combine_css</a></code></td>
-      <td>Yes</td><td>No</td><td>Combines multiple CSS elements into one.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-rewrite">rewrite_css</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Rewrites CSS files to remove excess whitespace and comments, and, if
-        enabled, rewrite or cache-extend images referenced in CSS files.  In
-        OptimizeForBandwidth mode, the minification occurs in-place without
-        changing URLs.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-rewrite"
-                   >fallback_rewrite_css_urls</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Rewrites resources referenced in any CSS file that cannot otherwise be
-        parsed and minified.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-rewrite-style-attributes">
-            rewrite_style_attributes</a></code></td>
-      <td>No</td><td>No</td><td>
-        Rewrite the CSS in style attributes by applying the configured
-        rewrite_css filter to it.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-rewrite-style-attributes">
-            rewrite_style_attributes_with_url</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Rewrite the CSS in style attributes if it contains the text 'url('
-        by applying the configured rewrite_css filter to it</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-flatten-css-imports"
-                   >flatten_css_imports</a></code></td>
-      <td>Yes</td><td>No</td><td>Inline CSS by flattening all @import
-      rules.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-prioritize-critical-css"
-                   >prioritize_critical_css</a></code></td>
-      <td>No</td><td>No</td><td>Replace CSS tags with inline versions
-        that include only the CSS used by the page.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-make-google-analytics-async">
-            make_google_analytics_async</a></code></td>
-      <td>No</td><td>No</td><td>Convert synchronous use of Google
-        Analytics API to asynchronous</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-make-show-ads-async">
-            make_show_ads_async</a></code></td>
-      <td>No</td><td>No</td><td>Convert synchronous use of Google
-        AdSense API to asynchronous</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-minify">rewrite_javascript</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Rewrites JavaScript files to remove excess whitespace and comments.  In
-        OptimizeForBandwidth mode, the minification occurs in-place without
-        changing URLs.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-minify">rewrite_javascript_external</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by rewrite_javascript.  Rewrites JavaScript external files to remove
-        excess whitespace and comments.  In OptimizeForBandwidth mode, the minification
-        occurs in-place without changing URLs.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-minify">rewrite_javascript_inline</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by rewrite_javascript.  Rewrites inline JavaScript blocks to remove
-        excess whitespace and comments.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-source-maps-include"
-                   >include_js_source_maps</a></code></td>
-      <td>No</td><td>No</td><td>
-        Adds source maps to rewritten JavaScript files.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-combine">combine_javascript</a></code></td>
-      <td>Yes</td><td>No</td><td>Combines multiple script elements
-      into one.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-canonicalize-js"
-                   >canonicalize_javascript_libraries</a></code></td>
-      <td>No</td><td>No</td><td>Redirects JavaScript libraries to a
-      JavaScript hosting service.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-inline">inline_css</a></code></td>
-      <td>Yes</td><td>No</td><td>Inlines small CSS files into the HTML
-      document.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-css-inline-google-fonts"
-                   >inline_google_font_css</a></code></td>
-      <td>No</td><td>No</td><td>Inlines small CSS files used by
-        fonts.googleapis.com into the HTML document.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-inline">inline_javascript</a></code></td>
-      <td>Yes</td><td>No</td><td>Inlines small JS files into the HTML
-      document.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-local-storage-cache"
-                   >local_storage_cache</a></code></td>
-      <td>No</td><td>No</td><td>Cache inlined resources in HTML5 local
-      storage.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-insert-ga">insert_ga</a></code></td>
-      <td>No</td><td>No</td><td>Adds the Google Analytics snippet to
-      each HTML page.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#rewrite_images"
-                   >rewrite_images</a></code></td>
-      <td>Yes</td><td>No</td><td>Optimizes images, re-encoding them,
-        removing excess pixels, and inlining small images.  In
-        OptimizeForBandwidth mode, the minification occurs in-place
-        without changing URLs.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#progressive">
-            convert_jpeg_to_progressive</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Converts larger jpegs to progressive
-      format.  Implied by recompress images.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#png_to_jpeg">
-            convert_png_to_jpeg</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Converts gif and png images into jpegs if they
-        appear to be less sensitive to compression artifacts and lack alpha
-        transparency.  Implied by recompress images.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#convert_jpeg_to_webp">
-            convert_jpeg_to_webp</a></code></td>
-      <td>Yes</td><td>Yes</td><td> Producess lossy webp rather than jpeg images
-        for browsers that support webp.  Implied by recompress images.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#convert_to_webp_animated">
-            convert_to_webp_animated</a></code></td>
-      <td>No</td><td>No</td><td> Replaces animated gif images with webp images
-        on browsers that support the format.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#convert_to_webp_lossless">
-            convert_to_webp_lossless</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by rewrite_images.  Replaces png and non-animated gif images
-        with webp images on browsers that support the format.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#insert_image_dimensions"
-                   >insert_image_dimensions</a></code></td>
-      <td>No</td><td>No</td><td>
-        Adds <code>width</code> and <code>height</code> attributes to
-        <code>&lt;img&gt;</code> tags that lack them.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#inline_images">
-            inline_images</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by rewrite_images.  Replaces small images by
-        <code>data:</code> urls.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#recompress_images"
-                   >recompress_images</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by rewrite_images.  Recompresses images, removing excess
-        metadata and transforming gifs into pngs.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#recompress_jpeg"
-                   >recompress_jpeg</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by recompress_images.  Recompresses jpegs, removing excess
-        metadata.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#recompress_png"
-                   >recompress_png</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by recompress_images.  Recompresses pngs, removing excess
-        metadata.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#recompress_webp"
-                   >recompress_webp</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by recompress_images.  Recompresses webps, removing excess
-        metadata.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#convert_gif_to_png"
-                   >convert_gif_to_png</a></code></td>
-      <td>Yes</td><td>Yes</td><td>
-        Implied by recompress_images.  Optimizes gifs to pngs.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#strip_image_color_profile"
-                   >strip_image_color_profile</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Implied by recompress_images.  Strips color
-        profile info from images.</td>
-    </tr>
-    <tr>
-      <td><code><a
-                   href="reference-image-optimize#strip_image_meta_data"
-                   >strip_image_meta_data</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Implied by recompress_images.  Strips EXIF
-        meta data from images.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#jpeg_sampling"
-                   >jpeg_sampling</a></code></td>
-      <td>Yes</td><td>Yes</td><td>Implied by recompress_images. Reduces the
-        color sampling of jpeg images to 4:2:0.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#resize_images"
-                   >resize_images</a></code></td>
-      <td>Yes</td><td>No</td><td>Implied by rewrite_images.  Resizes images
-        when the corresponding <code>&lt;img&gt;</code> tag specifies a
-        smaller <code>width</code> and <code>height</code>.</td>
-    </tr>
-    <tr>
-      <td><code><a href="reference-image-optimize#resize_rendered_image_dimensions"
-                   >resize_rendered_image_dimensions</a></code></td>
-      <td>Yes</td><td>No</td><td>Implied by rewrite_images.  Resizes
-        an image when the rendered dimensions of the image are smaller
-        than the actual image.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-inline-preview-images"
-                   >inline_preview_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Uses inlined low-quality images as placeholders which will be
-        replaced with original images once the web page is loaded.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-inline-preview-images#resize_mobile_images"
-                   >resize_mobile_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Works just like <code>inline_preview_images</code>, but uses smaller
-        placeholder images and only serves them to mobile browsers.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-comment-remove">remove_comments</a></code></td>
-      <td>No</td><td>No</td><td>
-        Removes comments in HTML files (but not in inline JavaScript or CSS).
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-whitespace-collapse"
-                   >collapse_whitespace</a></code></td>
-      <td>No</td><td>No</td><td>
-        Removes excess whitespace in HTML files (avoiding
-        <code>&lt;pre&gt;</code>,
-        <code>&lt;script&gt;</code>,
-        <code>&lt;style&gt;</code>, and
-        <code>&lt;textarea&gt;</code>).
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-attribute-elide"
-                   >elide_attributes</a></code></td>
-      <td>No</td><td>No</td><td>
-        Removes attributes which are not significant according to the
-        HTML spec.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend">extend_cache</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Extends cache lifetime of CSS, JS, and image resources that have not
-        otherwise been optimized, by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend">extend_cache_css</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by extend_cache. Extends cache lifetime of otherwise unoptimized
-        CSS resources by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend">extend_cache_images</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by extend_cache. Extends cache lifetime of otherwise unoptimized
-        images by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend">extend_cache_scripts</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Implied by extend_cache. Extends cache lifetime of otherwise unoptimized
-        scripts by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-cache-extend-pdfs"
-                   >extend_cache_pdfs</a></code></td>
-      <td>No</td><td>No</td><td>
-        Extends cache lifetime of PDFs by signing URLs with a content hash.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-image-sprite">sprite_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Combine background images in CSS files into one sprite.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-domain-rewrite">rewrite_domains</a></code></td>
-      <td>No</td><td>No</td><td>
-        Rewrites the domains of resources not otherwise touched by
-        PageSpeed, based on <code>MapRewriteDomain</code> and
-        <code>ShardDomain</code> settings in the config file.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-trim-urls">trim_urls</a></code></td>
-      <td>No</td><td>No</td><td>
-        Shortens URLs by making them relative to the base URL.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-pedantic">pedantic</a></code></td>
-      <td>No</td><td>No</td><td>
-        Add default types for &lt;script&gt; and &lt;style&gt; tags if the type
-        attribute is not present and the page is not HTML5. The purpose of
-        this filter is to help ensure that PageSpeed does not break HTML4
-        validation.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-quote-remove">remove_quotes</a></code></td>
-      <td>No</td><td>No</td><td>
-        Removes quotes around HTML attributes that are not lexically required.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-instrumentation-add"
-                   >add_instrumentation</a></code></td>
-      <td>No</td><td>No</td><td>
-        Adds JavaScript to page to measure latency and send back to the server.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-convert-meta-tags"
-                   >convert_meta_tags</a></code></td>
-      <td>Yes</td><td>No</td><td>
-        Adds a response header for each <code>meta</code> tag with an
-        <code>http-equiv</code> attribute.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-js-defer">defer_javascript</a></code></td>
-      <td>No</td><td>No</td><td>
-        Defers the execution of JavaScript in HTML until page load complete.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-dedup-inlined-images"
-                   >dedup_inlined_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Replaces repeated inlined images with JavaScript that loads the image
-        from the first occurence of the image.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-lazyload-images">lazyload_images</a></code></td>
-      <td>No</td><td>No</td><td>
-        Loads images when they become visible in the client viewport.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-insert-dns-prefetch"
-                   >insert_dns_prefetch</a></code></td>
-      <td>No</td><td>No</td><td>
-        Inserts <code>&lt;link rel="dns-prefetch"
-          href="//www.example.com"&gt;</code> tags to reduce DNS resolution
-        time.</td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-hint-preload-subresources"
-                   >hint_preload_subresources</a></code></td>
-      <td>No</td><td>No</td><td>
-        Inserts <code>Link:&lt;/example.css&gt;; rel=preload</code>
-        headers to permit earlier fetching of important resources.</td>
-    </tr>
-    <tr>
-      <td><code><a href="system#in_place_optimize_for_browser"
-                   >in_place_optimize_for_browser</a></code></td>
-      <td>No</td><td>Yes</td><td>
-        Perform browser-dependent <a href="system#ipro">in-place resource
-        optimizations</a>.</td>.
-    </tr>
-  </tbody>
-</table>
-
-<h2 id="forbidding">Forbidding All Disabled Filters</h2>
-<p>
-You can
-<a href="experiment#PerRequest">enable filters for a specific request</a>
-using either query parameters or request headers, and you can
-<a href="configuration#htaccess">enable filters in sub-directories</a>
-using the <code>EnableFilters</code> directive.
-</p>
-<p>
-In both cases you can enable filters that are disabled or not explicitly
-enabled in the configuration file, however there are situations where
-this is undesirable, such as when a filter has been expressly disabled because
-it breaks a page, or because a filter imposes too great a load on the server.
-</p>
-<p>
-All disabled filters can be forced off with:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedForbidAllDisabledFilters true</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ForbidAllDisabledFilters true;</pre>
-</dl>
-
-<p>
-Note that in this context <em>disabled filters</em> means all filters that
-are not enabled by the <code>RewriteLevel</code> or
-<code>EnableFilters</code> directives.
-</p>
-<p>
-This directive can be used in <a href="configuration#htaccess">location-specific
-configuration sections</a>.
-</p>
-
-<h2 id="checking-filter-config">Checking Which Filters Are Enabled</h2>
-<p>
-If you want to see exactly which filters are enabled on a virtual host, you
-can do so by going to that host's <a href="admin">admin or statistics</a> page.
-</p>
-
-<h2 id="tuning">Tuning the Filters</h2>
-<p>
-Once the rewriters are selected, some of them may also be tuned.  These
-parameters control the inlining and outlining thresholds of various resources.
-</p>
-
-<pre class="prettyprint">
-CssFlattenMaxBytes                       102400 (was 2048 prior to 1.9.32.1)
-CssImageInlineMaxBytes                        0
-CssInlineMaxBytes                          2048
-CssOutlineMinBytes                         3000
-ImageInlineMaxBytes                        3072
-ImageJpegNumProgressiveScans                 -1
-ImageJpegNumProgressiveScansForSmallScreens  -1
-ImageLimitOptimizedPercent                  100
-ImageLimitResizeAreaPercent                 100
-ImageRecompressionQuality                    85
-ImageResolutionLimitBytes              32000000
-JpegRecompressionQuality                     -1
-JpegRecompressionQualityForSmallScreens      70
-WebpRecompressionQuality                     80
-WebpAnimatedRecompressionQuality             70
-WebpRecompressionQualityForSmallScreens      70
-JsInlineMaxBytes                           2048
-JsOutlineMinBytes                          3000
-MaxInlinedPreviewImagesIndex                 -1
-MinImageSizeLowResolutionBytes             3072
-RetainComment                             "[WILDCARD PATTERN]"
-RewriteRandomDropPercentage                   0
-</pre>
-
-<p class="note"><strong>Note:</strong>
-The default settings are reasonable and intuitive, but have not been
-experimentally tuned.
-</p>
-<p>
-These directives can be used
-in <a href="configuration#htaccess">location-specific configuration
-sections</a>.
-</p>
-
-<h2 id="beacons">Controlling the use of beacons</h2>
-<p>
-The <code><a href="filter-lazyload-images">lazyload_images</a></code>,
-<code><a href="filter-inline-preview-images">inline_preview_images</a></code>,
-and <code><a href="reference-image-optimize#inline_images">inline_images</a>
-</code> filters, use a <a href="faq#beacons">beacon</a> to collect information
-about the rewritten page so as to optimize the rewriting process. The beacon
-is a <code>POST</code> request sent back by JavaScript inserted into the page
-by the filter. The use of this beacon is on by default but it can be disabled
-using:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCriticalImagesBeaconEnabled false</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CriticalImagesBeaconEnabled false;</pre>
-</dl>
-<p>
-If you disable image beacons but enable filters that use them, the filters will
-work but not as well as when beacons are enabled.
-</p>
-<p>
-This directive can be used in all scopes including
-<a href="configuration#htaccess">location-specific configuration sections</a>.
-</p>
-
-<h3 id="FinderPropertiesCacheExpirationTimeMs">Controlling beacon expiry</h3>
-<strong>Note: New option as of 1.12.34.1</strong>
-<p>
-By default beacon data is considered valid for two hours, but if your site has a
-lot of pages that change rarely and get few hits you might want to raise this
-limit:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedFinderPropertiesCacheExpirationTimeMs TtlInMs</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed FinderPropertiesCacheExpirationTimeMs TtlInMs;</pre>
-</dl>
-
-<h2 id="preserveurls">Preserving URLs in HTML</h2>
-<p>
-PageSpeed filters often modify the URLs of resources in HTML pages.  This is
-generally harmless but it has the potential to break pages whose JavaScript
-expects to read or modify the URLs in the page.
-</p>
-<p>
-image_preserve_urls, css_preserve_urls, and js_preserve_urls
-will suppress URL rewriting actions for the respective resource types.  Those
-filters that require modifications to the URL are disabled by the preserve
-directives.
-</p>
-<p class="note">
-<strong>Note:</strong>
-Even though resource URLs are unchanged that does not mean that they cannot
-still be optimized.  For instance,
-<a href="system#ipro">InPlaceResourceOptimization</a> still works since it does
-not alter URLs.  Turning on in place resource optimization is recommended when
-enabling any of the options to preserve URLs.  In version 1.9.32.1 and later
-in place resource optimization is enabled by default.
-</p>
-<p>
-Enabling image_preserve_urls will <a href="#forbidding">forbid</a>
-the use of the following filters:
-<code><a href="filter-inline-preview-images">inline_preview_images</a></code>,
-<code><a href="filter-lazyload-images">lazyload_images</a></code>,
-<code><a href="filter-cache-extend">extend_cache_images</a></code>,
-<code><a href="filter-image-optimize#inline_images">inline_images</a></code>,
-and <code><a href="filter-image-sprite">sprite_images</a></code>.
-</p>
-<p>
-Enabling css_preserve_urls will <a href="#forbidding">forbid</a> the use
-of the following filters:
-<code><a href="filter-css-combine">combine_css</a></code>,
-<code><a href="filter-cache-extend">extend_cache_css</a></code>,
-<code><a href="filter-css-inline">inline_css</a></code>,
-<code><a href="filter-css-inline-import">inline_import_to_link</a></code>,
-and <code><a href="filter-css-outline">outline_css</a></code>.
-</p>
-<p>
-Enabling js_preserve_urls will <a href="#forbidding">forbid</a> the use
-of the following filters:
-<code><a href="filter-canonicalize-js">canonicalize_javascript_libraries</a></code>,
-<code><a href="filter-js-combine">combine_javascript</a></code>,
-<code><a href="filter-js-defer">defer_javascript</a></code>,
-<code><a href="filter-cache-extend">extend_cache_javascript</a></code>,
-<code><a href="filter-js-inline">inline_javascript</a></code>,
-and <code><a href="filter-js-outline">outline_javascript</a></code>.
-</p>
-
-<h2 id="RewriteRandomDropPercentage">Reducing Load by Randomly Dropping
-Expensive Rewrites</h2>
-To reduce processing load, PageSpeed can be configured to optimize
-the most frequently fetched resources, leaving infrequently fetched
-resources alone.  This is accomplished by randomly dropping expensive
-(CSS and image) rewrites.  Frequently fetched resources will have a higher
-probability of being rewritten than infrequently fetched resources.
-Over time, frequently accessed resources will be optimized and cached so
-a page will be fully optimized. Infrequently accessed pages will be left
-unoptimized or partially optimized, saving CPU time and cache space.
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRewriteRandomDropPercentage Percent</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RewriteRandomDropPercentage Percent;</pre>
-</dl>
-<p>
-This is a load-tuning parameter (integer between 0 and 100 inclusive)
-that controls the percentage of resource rewrites that are randomly
-dropped. Currently only CSS and image rewrites are randomly dropped,
-as they are the CPU intensive rewrite tasks.  A value of 100 means all
-such rewrites are dropped and a value of 0 means no rewrites are
-dropped.  A value of 75 means that 75&#37; of image and CSS rewrites
-(selected at random) are dropped. Do not set this parameter to 100 in
-order prevent optimization of images and CSS files, it is more efficient
-to instead disable the image and/or CSS filters.
-</p>
-<p>
-As an example, if the value is 90 then an image fetched only once will
-be optimized with 10&#37; probability while an image fetched 50 times
-will be optimized with 99.65&#37; probability (1 - 0.9&#94;50).  You
-may need to tune this parameter to find a value that provides the
-right load on your servers and still provides sufficient image and CSS
-optimization.
-</p>
-<p class="note"><strong>Note: Images within CSS files are not randomly dropped
-as this would lead to partially optimized CSS resources.</strong></p>
-
-<h2 id="multi_server">Configuring for Multiple Servers</h2>
-<p>
-When running PageSpeed on multiple servers, it is important that
-each have the same configuration file.  This ensures that when a
-browser requests an image or other resource from one server, it will
-be optimized using the same options that were used to compute the
-optimized resource when HTML was served.  It is helpful to
-use <a href="system.html#memcached">memcached</a> to share cache
-between servers as it improves multi-server performance and
-scalability, but it is still important that the configurations are
-consistent to get the desired behavior when optimized images are
-evicted from cache.
-</p>
-
-<p>
-Note also that <a href="configuration#htaccess">location-specific configuration
-settings</a> should be consistent between the HTML paths and the resource
-paths.</p>
-
-<p id="add_options_to_urls" class="note">
-
-<p>In some sites, the URL path layout or network deployment strategy may
-not allow for consistent configuration between HTML and images.
-PageSpeed offers a workaround for such sites by encoding relevant
-configuration settings for each rewritten resource into the URLs:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedAddOptionsToUrls on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed AddOptionsToUrls on;</pre>
-</dl>
-
-<p>
-This adds an encoding of the options that are relevant to each rewritten
-resource to the URLs.  While the produced URLs are larger, this provides a
-mechanism to propagate configuration without having to share a configuration
-file.  For example, a site with image recompression on and JPEG compression set
-to 85 would see URLs like
-<code>http://example.com/ximage.jpg.pagespeed.gp+jw+pj+rj+rp+rw+iq=85.ic.HASH.jpg</code>.
-While it is better to have the extra configuration details in the configuration
-file, this option offers a fallback plan when that is not practical.
-</p>
-
-<h2 id="custom-fetch-headers">Custom Fetch Headers</h2>
-
-<p>
-When not using <a href="domains#ModPagespeedLoadFromFile"
->LoadFromFile</a>, PageSpeed has to make HTTP requests for sub-resources of a
->page in order to rewrite them.  Consider the following HTML snippet:
-</p>
-<pre class="prettyprint">
-    ...
-    &lt;body&gt;
-      &lt;img src="example.jpg"&gt;
-      ...
-</pre>
-<p>
-If the <a href="filter-image-optimize">rewrite_images</a>
-filter is enabled, PageSpeed needs to fetch <code>example.jpg</code> in order
-to inline, compress, or otherwise optimize it.  If you would like custom
-headers to be sent with all sub-resource fetches like this one, you can use
-the <code>CustomFetchHeader</code> directive:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedCustomFetchHeader CustomHeader CustomHeaderValue
-ModPagespeedCustomFetchHeader AnotherCustomHeader AnotherValue</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed CustomFetchHeader CustomHeader CustomHeaderValue;
-pagespeed CustomFetchHeader AnotherCustomHeader AnotherValue;</pre>
-</dl>
-
-
-<h2 id="unsupported-filters">Unsupported Filters</h2>
-<p>
-The PageSpeed code base contains a number of additional filters whose use is
-unsupported.  Some of these are experimental; note that using experimental
-filters is likely to result in crashes or site breakage.  Others are used for
-debugging specific problems with PageSpeed:
-</p>
-  <table>
-    <thead><tr>
-        <th>Debugging filter name</th>
-        <th>Brief Description</th>
-    </tr></thead>
-    <tr>
-      <td><code>add_base_tag</code></td>
-      <td>
-        Adds a <code>&lt;base&gt;</code> element to the beginning of
-        the <code>&lt;head&gt;</code> that reflects the base url PageSpeed
-        is using to resolve relative url references in the page.</td>
-    </tr>
-    <tr>
-      <td id="debug"><code>debug</code></td>
-      <td>
-        Adds comments to the page describing actions by certain filters, and
-        attempts to serve JavaScript injected by PageSpeed in source form
-        rather than compiled and minified.
-      </td>
-    </tr>
-    <tr>
-      <td><code>deterministic_js</code></td>
-      <td>
-        Attempts to provide deterministic JavaScript behavior on each page, for
-        example by replacing the timer and random number generator with
-        functions that return the same sequence of values on every page load.
-      </td>
-    </tr>
-    <tr>
-      <td><code><a href="filter-strip-scripts">strip_scripts</a></code></td>
-      <td>
-        Removes all script tags from the document.</td>
-    </tr>
-  </table>
-<p class="note">
-<strong>Note: None of the above filters should be used to serve live traffic.</strong>
-</p>
-
-<h2 id="remote-configuration">Remote Configuration</h2>
-<p class="note"><strong>Note: New feature as of 1.10.33.0</strong></p>
-<p>
-PageSpeed filters and configurations can also be specified by an external
-&quot;Remote Configuration&quot; file. The remote configuration will override
-the main configuration file, override <code>.htaccess</code> configurations, and
-be overridden by any query-level parameters.
-<p>
-To specify the <code>RemoteConfigurationUrl</code>:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRemoteConfigurationUrl https://example.com/remote.conf</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RemoteConfigurationUrl https://example.com/remote.conf;</pre>
-</dl>
-<p>
-The syntax for the remote configuration file is similar to that of the
-<code>.htaccess</code> configurations with a few notable exceptions. Directives
-don't  use <code>ModPagespeed</code> as a prefix. Comments are specified by
-<code>#</code> and must be on their own line. Filters and options with
-<code>DirectoryScope</code> or higher may be applied with the remote
-configuration. Any invalid lines in the remote configuration will be skipped, a
-warning will be logged, and the remaining lines will still be parsed. The remote
-configuration terminates with a line beginning with
-<code>EndRemoteConfig</code>, and any lines after this are ignored. If the
-configuration file does not contain a line beginning with
-<code>EndRemoteConfig</code> no configuration will be applied. An example
-configuration for enabling the <code>remove_comments</code> filter is as
-follows.
-<p>
-<pre>
-  # Enable the remove_comments filter.
-  EnableFilter remove_comments
-  EndRemoteConfig
-  # Everything after the previous line will be ignored.
-</pre>
-</p>
-<p>
-The remote configuration file will be fetched on the server's startup,
-and cached for the extent determined by the remote server's
-<code>Cache-Control</code> and <code> Expires</code> headers. For example, if
-the remote configuration hosting server provides the header
-<code>Cache-Control: max-age=3600</code>, the next fetch of the
-remote configuration will happen at the first request after 3600 seconds.
-Failed fetches after successful fetches will continue to serve the stale config.
-The remote configuration should be used in addition to your original
-configuration. The remote configuration is not guaranteed to be fetched and
-applied to every request, so the site should not rely on the remote
-configuration in order to work.
-</p>
-The timeout for the fetching the remote configuration file can also be
-specified. The default timeout is one second. To specify the fetching timeout.
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRemoteConfigurationTimeoutMs 1500</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RemoteConfigurationTimeoutMs 1500;</pre>
-</dl>
-Fetching the remote configuration will block for up to the specified timeout.
-<p class="note"><strong>Note:</strong>
-Remote configurations can not be fetched from the same server that is running
-the instance of pagespeed.
-</p>
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/configuration.html b/doc/configuration.html
deleted file mode 100644
index 619f199..0000000
--- a/doc/configuration.html
+++ /dev/null
@@ -1,638 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Configuration</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Configuration</h1>
-
-<h2 id="module">Enabling the Module</h2>
-<p>
-PageSpeed contains an "output filter" plus several content handlers.
-<p class="note">
-<strong>Note:</strong>
-The location of the configuration file is dependent both on the Linux
-distribution on which PageSpeed is installed and on whether you're using
-PageSpeed with Apache or Nginx.
-</p>
-
-<p>
-In Apache the configuration file
-is <code>pagespeed.conf</code> and will be in either:
-<pre>
-Debian/Ubuntu: /etc/apache2/mods-available/
-CentOS/Fedora: /etc/httpd/conf.d/
-</pre>
-In Nginx the configuration typically should go in your <code>nginx.conf</code>
-which for source installs defaults to being in:
-<pre>
-/usr/local/nginx/conf/
-</pre>
-</p>
-
-<p>
-In Apache PageSpeed is enabled automatically when you install the module while
-in Nginx you need to add several lines to your <code>nginx.conf</code>.  In
-every <code>server</code> block where PageSpeed is enabled add:
-
-<pre>
-pagespeed on;
-
-# Needs to exist and be writable by nginx.  Use tmpfs for best performance.
-pagespeed FileCachePath /var/ngx_pagespeed_cache;
-
-# Ensure requests for pagespeed optimized resources go to the pagespeed handler
-# and no extraneous headers get set.
-location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" {
-  add_header "" "";
-}
-location ~ "^/pagespeed_static/" { }
-location ~ "^/ngx_pagespeed_beacon$" { }
-</pre>
-
-See the <a href="admin#config">Admin Page documentation</a> for
-instructions on how to configure handlers to provide visibility and
-control into PageSpeed's operation.
-
-<h2 id="on_off">Turning the module on and off</h2>
-<!-- keep old anchors so as not to break existing links -->
-<a name="on_off_nginx"></a><a name="nginx_specific"></a>
-
-<h3 id=on>Setting the module on</h3>
-
-<p>
-
-To turn PageSpeed on, just set:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeed on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed on;</pre>
-</dl>
-
-<h3 id=standby>Setting the module to standby</h3>
-
-<p>
-
-PageSpeed has a standby mode where by default it won't make changes to your site
-but it will process two kinds of PageSpeed-specific requests:
-
-<ul>
-  <li><p>Requests with <a href="experiment#PerRequest">PageSpeed query
-      parameters</a>.  These allow you to have PageSpeed off in your main
-      configuration, but manually make requests to see how your site would look
-      under various combinations of filters and options.
-  <li><p>Requests for <code>.pagespeed.</code> resources.  When PageSpeed is
-      running it creates various kinds of optimized resources, and gives them
-      names containing <code>.pagespeed.</code>.  If you turned
-      PageSpeed <a href="#unplugged">fully off</a> then lingering requests to
-      these resorces would fail.  In standby mode these requests are still
-      served as if PageSpeed were enabled.
-</ul>
-
-<p>
-
-In versions 1.12 and earlier only mod_pagespeed supported standby mode, via
-the <code>off</code> setting:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeed off</pre>
-</dl>
-
-<p>
-
-In versions 1.13.35.1 and later, both mod_pagespeed and ngx_pagespeed
-support <code>standby</code>:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeed standby</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed standby;</pre>
-</dl>
-
-<h3 id=unplugged>Setting the module fully off</h3>
-
-To turn PageSpeed fully off, set:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeed unplugged</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed unplugged;</pre>
-</dl>
-
-<p class=warning><b>Warning:</b> do not set ngx_pagespeed
-to <code>unplugged</code> in 1.12.34.1 and earlier.  That will result in
-crashes.  With those versions, use <code>off</code> instead
-of <code>unplugged</code>.
-
-<p>
-
-The <code>on</code>, <code>off</code>, and (in 1.13.35.1 and
-later) <code>standby</code> values can be used in
-<a href="#htaccess"><code>.htaccess</code> files,
-<code>&lt;Directory&gt;</code></a> scopes, <code>query parameters</code>, and
-<code>headers</code>.  The <code>unplugged</code> value can only be used in the
-top-level Apache configuration and in virtual hosts.  Note that
-<code>ModPagespeed on</code> in a virtual host can override a top-level
-<code>ModPagespeed unplugged</code> directive.
-</p>
-
-<h2 id="apache_specific">Apache-Specific Configuration</h2>
-
-<h3 id="output_filter">Setting up the Output Filter</h3>
-
-<p>
-The output filter is used to parse, optimize, and re-serialize HTML
-content that is generated elsewhere in the Apache server.
-</p>
-<pre class="prettyprint">
-# Direct Apache to send all HTML output to the mod_pagespeed output handler.
-AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
-</pre>
-<p class="note"><strong>Note:</strong> mod_pagespeed automatically enables
-<code>mod_deflate</code> for compression.
-</p>
-
-<h3 id="apache24">Support for Apache 2.4.x</h3>
-<p>
-<code>mod_pagespeed</code> is compatible with Apache 2.2.x and Apache 2.4.x
-series, versions 2.4.2 and newer. Please note that Apache 2.4.1 has a bug that
-may cause stability problems in combination with <code>mod_pagespeed</code>,
-so use with 2.4.1 is strongly discouraged.
-</p>
-
-<p>
-As Apache 2.4 is not API compatible with 2.2, support for it is provided
-via a separate module binary, <code>mod_pagespeed_ap24.so</code> instead of the
-usual <code>mod_pagespeed.so</code>.  The configuration provided in our binary
-packages will normally load the right module version automatically. However,
-if you upgrade the CentOS packages from an earlier version, the needed
-configuration change may not get applied on top of a user-customized
-<code>pagespeed.conf</code>, so you may need to adjust the
-<code>LoadModule</code> line manually.
-</p>
-
-<p>
-Source builds with <code>mod_pagespeed</code>-provided Apache headers will
-build both 2.2.x and 2.4.x binaries as well, and you will need to add a
-<code>LoadModule</code> line matching the server version in use, or use
-a pattern similar to:
-<pre class="prettyprint">
-&lt;IfModule !mod_version.c>
-  LoadModule version_module /usr/lib/apache2/modules/mod_version.so
-&lt;/IfModule>
-
-&lt;IfVersion &lt; 2.4>
-  LoadModule pagespeed_module /usr/lib/apache2/modules/mod_pagespeed.so
-&lt;/IfVersion>
-&lt;IfVersion >= 2.4.2>
-  LoadModule pagespeed_module /usr/lib/apache2/modules/mod_pagespeed_ap24.so
-&lt;/IfVersion>
-</pre>
-to auto-detect. Builds against system Apache headers will only be compatible
-with that version family, and will always produce a single module named
-<code>mod_pagespeed.so</code>.
-</p>
-
-<h2 id="honor-csp">Honoring Content-Security-Policy Headers</h2>
-<p>
-  As of 1.13.35.1 PageSpeed is able to adapt its optimizations according to any
-  Content Security Policies specified in the response headers. In this release
-  you need to opt-in into this feature, future releases may turn it on by
-  default.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedHonorCsp on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed HonorCsp on;</pre>
-</dl>
-
-<h2 id="respectvary">Respecting Vary Headers</h2>
-<p>
-In order to maximize the number of resources that PageSpeed can rewrite, by
-default the module does not respect <code>Vary: User-Agent</code> and
-other <code>Vary</code> headers on resource files, such as JavaScript and css
-files.  By disregarding the <code>Vary</code> headers, PageSpeed is able to keep
-the size of the cache down. PageSpeed will <em>always</em> respect <code>Vary:
-Accept-Encoding</code>, regardless of this setting.  PageSpeed will
-also <em>always</em> respect <code>Vary</code> headers on <code>HTML</code>
-files, regardless of this setting.
-</p>
-<p>
-If a site has resources that legitimately vary on <code>User-Agent</code>, or
-on some other attribute, then in order to preserve that behavior, you must
-add</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedRespectVary on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed RespectVary on;</pre>
-</dl>
-<p>to your configuration file.</p>
-<p>Please note that turning on this option will disable optimization of any
-resources with <code>Vary</code> headers, apart from
-<code>Vary: Accept-Encoding</code>.</p>
-
-<h2 id="notransform">Honoring no-transform Cache-Control Headers</h2>
-<p>
-By default, PageSpeed does not rewrite resources that have
-<code>Cache-Control: no-transform</code> set in the Response Header. This is
-true for all types of resources, such as JavaScript, images, CSS etc. By
-respecting <code>Cache-Control: no-transform</code> headers, PageSpeed cannot
-optimize resources that could otherwise be rewritten.
-</p>
-<p>
-To optimize resources irrespective of <code>Cache-Control: no-transform</code>
-headers, you must add</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">ModPagespeedDisableRewriteOnNoTransform off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">pagespeed DisableRewriteOnNoTransform off;</pre>
-</dl>
-<p>to your configuration file.</p>
-<p>Please note that PageSpeed will always respect
-<code>Cache-Control: no-transform</code> headers on <code>HTML</code> files
-irrespective of the setting. And also, PageSpeed will always retain the
-<code>Cache-Control: no-transform</code> headers on the resource irrespective of
-the setting so that the downstream cache control mechanisms do not get affected.
-</p>
-
-<h2 id="lower_case">Lower-casing HTML element and attribute names</h2>
-<p>
-HTML is
-<a href="http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-5353782642-h2">
-  case-insensitive</a>, whereas XML and XHTML are not.  Web performance
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#consistency">Best Practices</a> suggest using lowercase
-keywords, and PageSpeed can safely make that transformation in HTML
-documents.
-</p>
-<p>
-In general, PageSpeed knows whether a document is HTML or not
-via <code>Content-Type</code> tags in HTTP headers, and <code>DOCTYPE</code>.
-However, many web sites have <code>Content-Type: text/html</code> for resources
-that are actually XML documents.
-</p>
-<p>
-If PageSpeed lowercases keywords in XML pages, it can break the consumers of
-such pages, such as Flash.  To be conservative and avoid breaking such pages,
-PageSpeed does not lowercase HTML element and attribute names by
-default. However, you can sometimes achieve a modest improvement in the size of
-compressed HTML by enabling this feature with:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedLowercaseHtmlNames on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed LowercaseHtmlNames on;</pre>
-</dl>
-
-<p>
-
-These directives can be used in <a href="#htaccess">location-specific
-configuration sections</a>.
-</p>
-
-<h3>Risks</h3>
-<p>
-This switch is only risky in the presence of XML files that are
-incorrectly served with <code>Content-type: text/html</code>.
-Lower-casing XML element and attribute may affect whatever software is
-reading the XML.
-</p>
-
-<h2 id="ModifyCachingHeaders">Preserving HTML caching headers</h2>
-<p>
-  By default, PageSpeed serves all HTML with
-  <code>Cache-Control: no-cache, max-age=0</code> because the transformations
-  made to the page may not be cacheable for extended periods of time.
-</p>
-<p>
-  If you want to force PageSpeed to leave the original HTML caching headers
-  you can add:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedModifyCachingHeaders off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ModifyCachingHeaders off;</pre>
-</dl>
-<p class="note">
-  <b>Note:</b> We do not suggest you turn this option off. It breaks PageSpeed's
-  caching assumptions and can lead to unoptimized HTML being served from a proxy
-  caches set up in front of the server.  If you do turn it off, we suggest that
-  you do not set long caching headers to HTML or users may receive stale or
-  unoptimized content.
-</p>
-
-<h2 id="XHeaderValue">Specifying the value for the PageSpeed header</h2>
-<p>
-  By default, PageSpeed adds an header, <code>X-Mod-Pagespeed</code> in
-  Apache, <code>X-Page-Speed</code> in Nginx, with the version of PageSpeed
-  being used.  The format of this header is:
-</p>
-
-<pre>[Major].[Minor].[Branch].[Point]-[Commit]</pre>
-
-<p>
-  For example:
-</p>
-
-<pre>1.9.32.3-4448</pre>
-
-<p>
-  We update these following this schedule:
-</p>
-
-<dl>
-  <dt>Major Version</dt>
-  <dd>Incremented when we make very large changes.</dd>
-
-  <dt>Minor Version</dt>
-  <dd>Incremented for each release since the last major version</dd>
-
-  <dt>Branch Number</dt>
-  <dd>Incremented for every release.  Always increasing.</dd>
-
-  <dt>Point Number</dt>
-  <dd>Incremented each time we build a new release candidate or patch release,
-      resets on each minor release.</dd>
-
-  <dt>Commit Number</dt>
-  <dd>Incremented each time we accept a commit to the PSOL trunk.  Always
-      increasing.</dd>
-</dl>
-
-<p>
-  All servers running a given release will have the same value for this header
-  by default.  If you would like to change the value reported, you can use
-  the <code>XHeaderValue</code> directive to specify what to use instead:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedXHeaderValue "Powered By mod_pagespeed"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed XHeaderValue "Powered By ngx_pagespeed";</pre>
-</dl>
-<p class="note">
-  <b>Note:</b> You cannot suppress the injection of this header. This is because
-  it is used to prevent infinite loops and unnecessary rewrites when PageSpeed
-  fetches resources from an origin that also uses PageSpeed.
-</p>
-
-<h2 id="htaccess">Location-Specific Configuration</h2>
-<p>With an <code>.htaccess</code> file (Apache), <code>&lt;Directory&gt;</code>
-scope (Apache), or <code>location</code> block (Nginx) you can control most of
-the PageSpeed directives.  Note, however, that the
-file-matching is only relevant to the HTML file, and not to any of the resources
-referenced from the HTML file.  To restrict resources by directory, you must use
-the PageSpeed <a href="/speed/pagespeed/module/restricting_urls"><code
->Allow</code> and <code>Disallow</code> directives</a>, using full paths or
-wildcards in those directives.</p>
-
-<p class="warning">
-  <b>Warning:</b> Resources and the HTML files that reference them must have
-  the same options.  If they differ you may see poor performance and
-  inconsistent application of options.
-</p>
-
-<p>In Apache, the advantage of <code>.htaccess</code> is that it can be used in
-environments where the site administrator does not have access to the server
-configuration.  However, there is a significant per-request overhead from
-processing <code>.htaccess</code> files.
-See <a href="http://httpd.apache.org/docs/2.2/howto/htaccess.html">The Apache
-HTTP Server Documentation</a>:</p>
-
-<p class="note">
-<strong>Note:</strong> You should avoid using <code>.htaccess</code> files
-completely if you have access to the httpd main server config file. Using
-<code>.htaccess</code> files slows down your Apache server. Any directive
-that you can include in a <code>.htaccess</code> file is better set in a
-<a href="http://httpd.apache.org/docs/2.2/mod/core.html#directory"
-     ><code>&lt;Directory&gt;</code></a> block, as
-it will have the same effect with better performance.
-</p>
-<p>
-<a href="#virtual-hosts">Virtual hosts</a> are generally a better way of
-configuring multiple sites on the same server.
-</p>
-
-<h2 id="virtual-hosts">Using PageSpeed With Virtual Hosts</h2>
-
-<p>By default, PageSpeed enables itself for the entire server, with global
-options propagating to all
-<a href="http://httpd.apache.org/docs/current/vhosts/">VirtualHost</a>s
-(Apache) or <code>server</code> blocks (Nginx). Options can be overridden
-per host, including the ability the limit which hosts PageSpeed runs on.</p>
-
-<p class="note"><strong>Note:</strong>
-When using Apache, it used to be possible to set <code>InheritVHostConfig</code>
-to "off" to stop global configuration from propagating to VHosts. However,
-enabling <code>InheritVHostConfig</code> makes PageSpeed options behave like
-other Apache options and has been the recommended configuration since 2012. The
-option has now been deprecated and will be forced to "on" in the next major
-PageSpeed release.</p>
-
-<dl>
-<dt>Apache:<dd><pre class="prettyprint lang-sh">
-ModPagespeed On
-ModPagespeedInheritVHostConfig on
-ModPagespeedFileCachePath "/var/cache/mod_pagespeed/"
-ModPagespeedEnableFilters combine_css,combine_javascript
-# Direct Apache to send all HTML output to the mod_pagespeed
-# output handler.
-AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
-
-NameVirtualHost *:80
-&lt;VirtualHost *:80&gt;
-  DocumentRoot /www/example1
-  ServerName www.example1.com
-  ModPagespeedMapRewriteDomain cdn.example1.com *example.com
-&lt;/VirtualHost&gt;
-
-&lt;VirtualHost *:80&gt;
-  DocumentRoot /www/example2
-  ServerName www.example2.org
-  ModPagespeedMapRewriteDomain cdn.example2.org *example.org
-  # Don't want combine_css here
-  ModPagespeedDisableFilters combine_css
-&lt;/VirtualHost&gt;
-
-&lt;VirtualHost *:80&gt;
-  DocumentRoot /www/example3
-  ServerName www.example3.org
-  # mod_pagespeed off for this virtual host
-  ModPagespeed Off
-&lt;/VirtualHost&gt;
-</pre>
-<dt>Nginx:<dd><pre class="prettyprint">
-http {
-  pagespeed On;
-  pagespeed FileCachePath "/var/cache/ngx_pagespeed/";
-  pagespeed EnableFilters combine_css,combine_javascript;
-
-  server {
-    listen 80;
-    server_name www.example1.com;
-    root /www/example1;
-    pagespeed MapRewriteDomain cdn.example1.com *example.com;
-  }
-
-  server {
-    listen 80;
-    server_name www.example2.org;
-    root /www/example2;
-    pagespeed MapRewriteDomain cdn.example2.org *example.org;
-    # Don't want combine_css here
-    pagespeed DisableFilters combine_css;
-  }
-
-  server {
-    listen 80;
-    server_name www.example3.org;
-    root /www/example3;
-
-    # mod_pagespeed off for this virtual host
-    pagespeed off;
-  }
-</pre>
-</dl>
-
-<h2 id="preserve-url-relativity">Preserve URL Relativity</h2>
-
-<p>
-  Previous versions of PageSpeed would rewrite relative URLs into absolute URLs.
-  This wastes bytes and can cause problems for sites that sit behind HTTPS
-  terminators.
-</p>
-<p>
-  With <code>PreserveUrlRelativity on</code>, PageSpeed will keep URLs the way
-  they were found. Some examples:
-</p>
-<table>
-  <tr>
-    <th>Original URL</th>
-    <th>Rewritten URL</th>
-  </tr><tr>
-    <td><code>foo/bar.png</code></td>
-    <td><code>foo/bar.png.pagespeed.ic.Hash.png</code></td>
-  </tr><tr>
-    <td><code>/bar.png</code></td>
-    <td><code>/bar.png.pagespeed.ic.Hash.png</code></td>
-  </tr><tr>
-    <td><code>//example.com/bar.png</code></td>
-    <td><code>//example.com/bar.png.pagespeed.ic.Hash.png</code></td>
-  </tr><tr>
-    <td><code>http://example.com/bar.png</code></td>
-    <td><code>http://example.com/bar.png.pagespeed.ic.Hash.png</code></td>
-  </tr>
-</table>
-</ul>
-<p>
-  To enable this option, add:
-</p>
-<dl>
-  <dt>Apache:
-    <dd><pre class="prettyprint">ModPagespeedPreserveUrlRelativity on</pre>
-  <dt>Nginx:
-    <dd><pre class="prettyprint">pagespeed PreserveUrlRelativity on;</pre>
-</dl>
-<p>to your configuration file.</p>
-<p>
-  Note: This option will be enabled by default in future versions of PageSpeed
-  and eventually the option will be removed entirely.
-</p>
-
-<h2 id="pagespeed_static">Configuring the location of static assets</h2>
-
-<p>
-  Several filters, including <a href="filter-js-defer">defer_javascript</a> and
-  <a href="filter-lazyload-images">lazyload_images</a>, require external
-  resources that must be loaded from somewhere.  Before 1.8.31.2,
-  mod_pagespeed would load these files from <code>/mod_pagespeed_static</code>
-  while ngx_pagespeed would load them from <code>/ngx_pagespeed_static</code>.
-  In 1.8.31.2 the default was changed to <code>/pagespeed_static</code> for
-  both platforms and a directive was added to make the path configurable:
-</p>
-<dl>
-  <dt>Apache:
-    <dd><pre class="prettyprint"
-       >ModPagespeedStaticAssetPrefix /custom/static/</pre>
-  <dt>Nginx:
-    <dd><pre class="prettyprint"
-       >pagespeed StaticAssetPrefix /custom/static/;</pre>
-</dl>
-
-<h2 id="add-resource-header">Configuring headers for optimized resources</h2>
-<p>
-  When creating optimized <code>.pagespeed.</code> resources, PageSpeed
-  generates headers that are correct for most users.  However, some users
-  require additional headers.  For instance if you're
-  using <a
-  href="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing">CORS</a>
-  and you want to have PageSpeed set <code>Access-Control-Allow-Origin:
-  http://www.example.com</code> headers on the resources it creates, you can
-  set:
-</p>
-<dl>
-  <dt>Apache:
-    <dd><pre class="prettyprint"
-       >ModPagespeedAddResourceHeader "Access-Control-Allow-Origin" "http://www.example.com"</pre>
-  <dt>Nginx:
-    <dd><pre class="prettyprint"
-       >pagespeed AddResourceHeader "Access-Control-Allow-Origin" "http://www.example.com";</pre>
-</dl>
-<p>
-  If you have multiple headers you want inserted you can include
-  an <code>AddResourceHeader</code> directive for each one.
-<p>
-
-<h2 id="ListOutstandingUrlsOnError">List outstanding urls on error</h2>
-<p>
-  When debugging fetching, it can be useful to know how things are failing.  If
-  you enable <code>ListOutstandingUrlsOnError</code> then PageSpeed will report
-  a message in the error log at level <code>"error"</code> for every URL fetch
-  in flight when the HTTP stack encounters a system error, e.g. "Connection
-  Refused".  To enable this feature, set:
-</p>
-<dl>
-  <dt>Apache:
-    <dd><pre class="prettyprint">ModPagespeedListOutstandingUrlsOnError on</pre>
-  <dt>Nginx:
-    <dd><pre class="prettyprint">pagespeed ListOutstandingUrlsOnError on;</pre>
-</dl>
-
-<h2 id="reverse-proxy">Using PageSpeed as a reverse proxy</h2>
-<p>
-Typically, PageSpeed is used on an Apache or Nginx server that is already
-serving its own content. However, PageSpeed can be used with Nginx or Apache as
-a proxy for another server.
-</p>
-<p>
-With Apache and mod_pagespeed, <a href="http://httpd.apache.org/docs/2.2/mod/mod_proxy.html">
-  mod_proxy</a> can be used to configure Apache as a reverse proxy.
-</p>
-<p>
-With Nginx and ngx_pagespeed, <a href="http://nginx.com/resources/admin-guide/reverse-proxy/">
-  proxy_pass</a> can be used to configure Nginx as a reverse proxy.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/console.html b/doc/console.html
deleted file mode 100644
index fb7b95d..0000000
--- a/doc/console.html
+++ /dev/null
@@ -1,223 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Console</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Console</h1>
-<h2 id="about">About the Console</h2>
-<p>
-  The PageSpeed Console reports various problems your installation has that can
-  lead to sub-optimal performance. The console graphs metrics for these
-  problems over time so that you can see the result of your changes
-  improving or degrading your performance. You can view it by enabling it and
-  then visiting <code>/pagespeed_admin/console</code> from your server. The
-  console works by saving snapshots of the statistics reported by
-  PageSpeed and then using the Google Chart Tools API to graph those
-  statistics over time.
-<h2 id="configuring">Configuring the Console</h2>
-<p>
-  The PageSpeed Console is configured with several directives in the
-  configuration file. See
-  <a href="install#module">PageSpeed Installation and Configuration</a>
-  for details about this file. Each of these directives is explained here.
-</p>
-<ul>
-  <li>
-    <code><a href="admin#statistics">Statistics</a></code>
-    must be enabled to report statistics.</li>
-  <li>
-    <code>StatisticsLogging</code> must be enabled so that graphs of
-    statistics over time can be drawn in the console.</li>
-  <li>
-    <code>LogDir</code> must be set so that we have a directory to store
-    statistic logs.</li>
-  <li>
-    In order to access the console, you must set a handler appropriately.
-    For example, to make the console only accessible from localhost:
-    <dl>
-      <dt>Apache:<dd><pre>
-ModPagespeedStatistics on
-ModPagespeedStatisticsLogging on
-ModPagespeedLogDir /var/log/pagespeed
-&lt;Location /pagespeed_admin&gt;
-  Order allow,deny
-  Allow from localhost
-  Allow from 127.0.0.1
-  SetHandler pagespeed_admin
-&lt;/Location&gt;</pre>
-      <dt>Nginx:<dd><pre>
-pagespeed Statistics on;
-pagespeed StatisticsLogging on;
-pagespeed LogDir /var/log/pagespeed;
-pagespeed AdminPath /pagespeed_admin;
-
-location ~ ^/pagespeed_admin {
-  allow 127.0.0.1;
-  deny all;
-}</pre>
-    </dl>
-  </li>
-</ul>
-<p>
-  Additionally these optional parameters may be configured:
-</p>
-<ul>
-  <li>
-    <code>StatisticsLoggingIntervalMs</code> may be set to indicate how often
-    to log statistics snapshots (in milliseconds).</li>
-  <li>
-    <code>StatisticsLoggingMaxFileSizeKb</code> may be set to indicate the
-    maximum size for the logfile (in kilobytes).</li>
-</ul>
-<p>
-  For example, to log once a minute with a maximum log size of 1 MB:
-</p>
-<dl>
-  <dt>Apache:<dd><pre>
-ModPagespeedStatisticsLoggingIntervalMs 60000
-ModPagespeedStatisticsLoggingMaxFileSizeKb 1024</pre>
-  <dt>Nginx:<dd><pre>
-pagespeed StatisticsLoggingIntervalMs 60000;
-pagespeed StatisticsLoggingMaxFileSizeKb 1024;</pre>
-</dl>
-
-<h2 id="access">Accessing the Console</h2>
-<p>
-  The console can be accessed by browsing to
-  <code>http://your.example.com/pagespeed_admin/console</code>. Access to
-  this page can be controlled using standard access directives.
-</p>
-<p>
-  Note that if you would like to access the console from machines other
-  than your server, you will need to allow access to
-  <code>/pagespeed_admin</code>.
-</p>
-
-<!-- TODO(sligocki): Add section for features, like zooming in, etc. once we
-     add them. -->
-
-<h2 id="graphs">Graphed metrics</h2>
-The PageSpeed console displays graphs for these metrics:
-<ul>
-  <li id="fetch-failure">
-    <b>Resources not loaded because of fetch failures</b>:
-    Images, CSS or JavaScript could not be loaded because backend HTTP fetch
-    failed. <b>Remedy</b>: You may have to reconfigure your server to allow
-    outgoing connections or to have access to DNS.</li>
-
-  <li id="not-authorized">
-    <b>Resources not rewritten because domain wasn't authorized</b>:
-    Resources could not be rewritten because they were on a different domain
-    than the HTML and that domain was not explicitly authorized.
-    <b>Remedy</b>: Add <a href="domains#auth_domains">Domain</a>
-    authorizations for all domains you control.</li>
-
-  <li id="cache-control">
-    <b>Resources not rewritten because of restrictive Cache-Control headers</b>:
-    Resources could not be rewritten because they had restrictive Cache-Control
-    headers explicitly set (for example: <code>Cache-Control: private</code>,
-    <code>Cache-Control: max-age=0</code> or
-    <code>Cache-Control: no-transform</code>).
-    <b>Remedy</b>: Reconfigure your server to serve these resources with
-    public caching headers (or no Cache-Control headers at all). For example,
-    <code>Header set Cache-Control "max-age=600"</code> in Apache config.</li>
-
-  <li id="cache-miss">
-    <b>Cache misses</b>:
-    Resources were not rewritten because they were not found in cache.
-    This is expected while your cache warms up, soon after you install, however
-    if it continues to be high, your cache is probably too small.
-    <b>Remedy</b>: Increase the
-    <a href="system#file_cache">FileCacheSizeKb</a> to be about 5 times
-    as large as your website content (to store all of the original
-    resources and various versions of rewritten resources).</li>
-
-  <li id="cache-expired">
-    <b>Cache lookups that were expired</b>:
-    Although these resources were found in cache, they were not rewritten
-    because they were older than their max-age.
-    <b>Remedy</b>: (A) Enable
-    <a href="domains#ModPagespeedLoadFromFile">LoadFromFile</a> to tell
-    the server to load the files straight from disk rather than through
-    HTTP. (B) Reconfigure your server to serve resources with longer TTL.
-    For example, <code>Header set Cache-Control "max-age=3600"</code> to set
-    one hour TTL in Apache config.</li>
-
-  <li id="css-error">
-    <b>CSS files not rewritten because of parse errors</b>:
-    CSS files could not be rewritten because our parser found syntax errors
-    that it could not recover from. <b>Remedy</b>: Fix CSS files to use
-    proper syntax. You can use the stand-alone
-    <a href="build_mod_pagespeed_from_source#debug-css">css_minify_main</a>
-    to find what part of the CSS file has parse errors. We have had some
-    problems in the past with valid CSS3 or proprietary CSS extensions
-    causing CSS parsing errors. If you find that your valid CSS is failing to
-    parse, let us know on our <a href="mailing-lists#discussion">discussion
-    group</a> so we can fix the parser.</li>
-
-  <li id="js-error">
-    <b>JavaScript minification failures</b>:
-    JavaScript files could not be minified because our parser found some
-    syntax problem that it could not recover from. This is very uncommon.
-    <b>Remedy</b>: As with CSS, fix the JavaScript files that had problems.</li>
-
-  <li id="image-error">
-    <b>Image rewrite failures</b>:
-    Image files were not rewritten for various reasons:<ul>
-      <li><code>image_norewrites_high_resolution</code>: Image was too large.
-        Currently we only rewrite images below 8 Megapixels.
-        <b>Remedy</b>: Resize original images to a reasonable size.</li>
-      <li><code>image_rewrites_dropped_decode_failure</code>: Image could not
-        be parsed by our code. <b>Remedy</b>: Fix malformed images.</li>
-      <li><code>image_rewrites_dropped_due_to_load</code>: Image was not
-        rewritten because your system was already busy rewriting other images.
-        This generally can happen when you first install PageSpeed
-        while the cache warms up. <b>Remedy</b>: If image rewrites continue
-        to be dropped after a day or so, you may need to
-        <a href="#cache-miss">increase your cache size</a> or increase the
-        <a href="reference-image-optimize#ImageMaxRewritesAtOnce">
-          ImageMaxRewritesAtOnce</a>.</li>
-      <li><code>image_rewrites_dropped_mime_type_unknown</code>: Image could
-        not be rewritten because we do not recognize its MIME-type. For
-        example, we do not parse <code>image/x-icon</code> or
-        <code>image/svg+xml</code>. <b>Remedy</b>: Convert your images to a
-        type that we understand (gif, png, jpg, webp) or perhaps just fix
-        a broken server config that is serving images with a bogus
-        <code>Content-Type</code> header.</li>
-      <li><code>image_rewrites_dropped_server_write_fail</code>: Unexpected
-        server error while rewriting images. If you get a significant number
-        of these write to our <a href="mailing-lists#discussion">discussion
-        group</a> so we can investigate.</li>
-    </ul>
-  </li>
-</ul>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/doc.css b/doc/doc.css
deleted file mode 100644
index e5352cb..0000000
--- a/doc/doc.css
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- * 
- *   http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-body {
-  font-family: sans-serif;
-  margin: 0;
-  padding: 0;
-  line-height: 1.5;
-  word-wrap: break-word;
-}
-
-a {
-  color: #0288d1;
-  text-decoration: none;
-}
-
-a:hover {
-  text-decoration: underline;
-}
-
-#header, #navline {
-  color: white;
-}
-
-#header a, #navline a {
-  color: white;
-}
-
-#logoline {
-  background-color: #0061ff;
-  padding: 1em;
-}
-
-#logo {
-  display: inline-block;
-  position: relative;
-  top: 4px;
-}
-
-#logotext {
-  font-size: 32px;
-  display: inline-block;
-}
-
-#navline a{
-  background-color: #3d87ff;
-  display: block;
-  padding: 0.5em 1em 0.5em 1em;
-}
-
-#content {
-  margin: 0.5em;
-  max-width: 50em;
-}
-
-code, pre {
-  background: #f7f7f7;
-  color: #37474f;
-}
-
-.note, .note code {
-  background: #e1f5fe;
-  color: #0288d1;
-}
-
-.note a {
-  color: #0288d1;
-  text-decoration: underline;
-}
-
-.caution, .caution code {
-  background: #fff3e0;
-  color: #dd2c00;
-}
-
-.caution a {
-  color: #dd2c00;
-  text-decoration: underline;
-}
-
-.warning, .warning code {
-  background: #fbe9e7;
-  color: #d50000;
-}
-
-.warning a {
-  color: #d50000;
-  text-decoration: underline;
-}
-
-.note, .caution, .warning {
-  padding: 1em;
-}
-
-pre {
-  padding: 1em;
-  overflow: auto;
-  line-height: 1.1;
-}
-
-table {
-  margin-top: 1em;
-  margin-bottom: 1em;
-  border-collapse: collapse;
-}
-
-th {
-  color: #fff;
-  vertical-align: middle;
-  background-color: #555;
-}
-
-td {
-  border-top: 1px solid #e0e0e0;
-  background-color: #f7f7f7;
-}
-
-th, td {
-  padding: 1em;
-}
-
-li {
-  margin-top: 0.5em;
-  margin-bottom: 0.5em;
-}
-
-img {
-  max-width: 100%;
-}
-
-.table-wrapper {
-  max-width: 100%;
-  overflow: auto;
-}
-
-#downloads .download {
-  margin-top: 0.5em;
-  margin-bottom: 0.5em;
-}
-
-#toc {
-  border-left: 4px solid #0061ff;
-  font-size: 0.9em;
-  max-width: 25em;
-  margin-top: 1em;
-  margin-left: 1em;
-}
-
-#toc-contents {
-  color: #757575;
-  font-weight: bold;
-  padding-left: 1em;
-}
-
-#toc ul {
-  list-style: none;
-  list-style-position: inside;
-  padding-left: 1em;
-}
-
-@media screen and (min-width: 55em) {
-  #toc {
-    float: right;
-    max-width: 18em;
-    padding-right: 1em;
-  }
-}
-
-.header-link {
-  visibility: hidden;
-  font-size: 80%;
-}
-
-h2:hover .header-link,
-h3:hover .header-link,
-h4:hover .header-link,
-h5:hover .header-link,
-h6:hover .header-link {
-  visibility: initial;
-  text-decoration: none;
-}
-
-.column {
-  margin: 0.5em;
-}
-
-.columns {
-  max-width: 75em;
-}
-
-@media screen and (min-width: 50em) {
-  .column {
-    display: inline-block;
-    vertical-align: top;
-  }
-}
diff --git a/doc/domains.html b/doc/domains.html
deleted file mode 100644
index eef8c60..0000000
--- a/doc/domains.html
+++ /dev/null
@@ -1,1025 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Authorizing and Mapping Domains</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Authorizing and Mapping Domains</h1>
-<h2 id="auth_domains">Authorizing domains</h2>
-<p>
-In addition to optimizing HTML resources, PageSpeed restricts itself to
-optimizing resources (JavaScript, CSS, images) that are served from domains,
-with optional paths, that must be explicitly listed in the configuration file.
-For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDomain http://example.com
-ModPagespeedDomain cdn.example.com
-ModPagespeedDomain http://styles.example.com/css
-ModPagespeedDomain *.example.org</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed Domain http://example.com;
-pagespeed Domain cdn.example.com;
-pagespeed Domain http://styles.example.com/css;
-pagespeed Domain *.example.org;</pre>
-</dl>
-
-<p>
-PageSpeed will rewrite resources found from these explicitly
-listed domains, although in the case of <code>styles.example.com</code>
-only resources under the <code>css</code> directory will be rewritten.
-Additionally, it will rewrite resources that are
-served from the same domain as the HTML file, or are specified as
-a path relative to the HTML.  When resources are rewritten, their
-domain and path are not changed.  However, the leaf name is changed to
-encode rewriting information that can be used to identify and serve
-the optimized resource.
-</p>
-
-<p>The leading "http://" is optional; bare hostnames will be interpreted
-as referring to HTTP. Wildcards can be used in the domain.</p>
-
-<p>
-These directives can be used
-in <a href="configuration#htaccess">location-specific configuration
-sections</a>.
-</p>
-
-
-<h2 id="mapping_origin">Mapping origin domains</h2>
-
-<p>In order to improve the performance of web pages, PageSpeed
-must examine and modify the content of resources referenced on those
-pages.  To do that, it must fetch those resources using HTTP, using
-the URL reference specified on the HTML page.</p>
-
-<p>In some cases, the URL specified in the HTML file is not the best URL to use
-to fetch the resource. Scenarios where this is a concern include:</p>
-<ol>
-  <li>If the server is behind a load balancer, and it's more efficient to
-    reference the server directly by its IP address, or as 'localhost'.</li>
-  <li>The server has a special DNS configuration</li>
-  <li>The server is behind a firewall preventing outbound connections</li>
-  <li>The server is running in a CDN or proxy, and must go back to the
-    origin server for the resources</li>
-  <li>The server needs to service https requests</li>
-</ol>
-
-<p>In these situations the remedy is to map the origin domain:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapOriginDomain origin_to_fetch_from origin_specified_in_html [host_header]</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapOriginDomain origin_to_fetch_from origin_specified_in_html [host_header];</pre>
-</dl>
-
-<p>Wildcards can also be used in the <code>origin_specified_in_html</code>, e.g.
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapOriginDomain localhost *.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapOriginDomain localhost *.example.com;</pre>
-</dl>
-
-<p>The <code>origin_to_fetch_from</code> can include a path after the domain
-name, e.g.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapOriginDomain localhost/example *.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapOriginDomain localhost/example *.example.com;</pre>
-</dl>
-
-<p>When a path is specified, the source domain is mapped to the destination
-domain and the source path is mapped to the concatenation of the path from
-<code>origin_to_fetch_from</code> and the source path. For example, given the
-above mapping, <code>http://www.example.com/index.html</code> will be mapped
-to <code>http://localhost/example/index.html</code>.</p>
-
-<p>The origin_specified_in_html can specify https but the origin_to_fetch_from
-can only specify http, e.g.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapOriginDomain http://localhost https://www.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapOriginDomain http://localhost https://www.example.com;</pre>
-</dl>
-
-<p>This directive lets the server accept https requests for
-<code>www.example.com</code> without requiring a SSL certificate to fetch
-resources. For example, given the above mapping, and assuming the server is 
-configured for https support, PageSpeed will fetch and optimize resources
-accessed using
-<code>https://www.example.com</code>, fetching the resources from
-<code>http://localhost</code>, which can be the same server process or a
-different server process.
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapOriginDomain http://localhost https://www.example.com
-ModPagespeedShardDomain https://www.example.com \
-                        https://example1.cdn.com,https://example2.cdn.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapOriginDomain http://localhost https://www.example.com;
-pagespeed ShardDomain https://www.example.com
-                      https://example1.cdn.com,https://example2.cdn.com;</pre>
-</dl>
-
-<p>In this example the https origin domain is mapped to <code>localhost</code>
-<em>and</em> <a href="domains#shard">sharding</a> is used to parallelize
-downloads across hostnames. Note that the shards also specify https.</p>
-
-<p>By specifying a source domain in this directive, you are authorizing
-PageSpeed to rewrite resources found in that domain.  For example, in the
-above directives, '*.example.com' gets authorized for rewrites from HTML files,
-but 'localhost' does not.  See <a href="#auth_domains"><code
->Domain</code></a>.</p>
-
-<p>When PageSpeed fetches resources from a mapped origin domain, it
-specifies the source domain in the <code>Host:</code> header in the
-request.  You can override the <code>Host:</code> header value with the
-optional third parameter <code>host_header</code>.  See
-<a href="#shared_cdn">Mapping Origins with a Shared Domain</a> for
-an example.</p>
-
-<p>
-  See also
-  <a href="#ModPagespeedLoadFromFile"><code>LoadFromFile</code></a>
-  to load origin resource directly from the filesystem and avoid an HTTP
-  connection altogether.
-</p>
-
-<p>
-These directives can be used
-in <a href="configuration#htaccess">location-specific configuration
-sections</a>.
-</p>
-
-
-<h2 id="mapping_rewrite">Mapping rewrite domains</h2>
-
-<p>When PageSpeed rewrites a resource, it updates the HTML to
-refer to the resource by its new name.  Generally PageSpeed leaves
-the resource at the same origin and path that was originally found in
-the HTML.  However, it is possible to map the domain of rewritten
-resources.  Examples of why this might be desirable include:</p>
-
-<ol>
-  <li>Serving static content from cookieless domains, to reduce the size of
-    HTTP requests from the browser.  See
-    <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload">Minimizing Payload</a>
-  <li>To move content to a Content Delivery Network (CDN)</li>
-</ol>
-
-<p>This is done using the configuration file directive:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapRewriteDomain domain_to_write_into_html \
-                             domain_specified_in_html</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapRewriteDomain domain_to_write_into_html
-                           domain_specified_in_html;</pre>
-</dl>
-
-<p>Wildcards can also be used in the <code>domain_specified_in_html</code>, e.g.
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapRewriteDomain cdn.example.com *example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapRewriteDomain cdn.example.com *example.com;</pre>
-</dl>
-
-<p>The <code>domain_to_write_into_html</code> can include a path after the
-domain name, e.g.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapRewriteDomain cdn.com/example *.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapRewriteDomain cdn.com/example *.example.com;</pre>
-</dl>
-
-<p>When a path is specified, the source domain is rewritten to the destination
-domain and the source path is rewritten to the concatenation of the path from
-<code>domain_to_write_into_html</code> and the source path. For example, given
-the above mapping, <code>http://www.example.com/index.html</code> will be
-rewritten to <code>http://cdn.com/example/index.html</code>.</p>
-
-<p class="note" id="equiv_servers">
-<strong>Note:</strong> It is the responsibility of the site administrator to
-ensure that PageSpeed is installed on
-the <code>domain_to_write_into_html</code>.  This might be a separate server, or
-there may be a single server with multiple domains mapped into it.  The files
-must be accessible via the same path on the destination server as was specified
-in the HTML file.  No other files should be stored on the
-<code>domain_to_write_into_html</code> -- it should be functionally equivalent
-to <code>domain_specified_in_html</code>.  See
-also <a href="#MapProxyDomain">MapProxyDomain</a> which enables proxying content
-from a different server.</p>
-
-<p>For example, if PageSpeed
-cache_extends <code>http://www.example.com/styles/style.css</code> to
-<code>http://cdn.example.com/styles/style.css.pagespeed.ce.HASH.css</code>,
-then <code>cdn.example.com</code> will have to have a mechanism in place to
-either rewrite that file in place, or refer back to the origin server to
-pull the rewritten content.
-</p>
-
-<p class="note">
-<strong>Note:</strong> It is the responsibility of the site
-administrator to ensure that moving resources onto domains does not
-create a security vulnerability.  In particular, if the target domain
-has cookies, then any JavaScript loaded from a resource moved to a
-domain with cookies will gain access to those cookies.  In general,
-moving resources to a cookieless domain is a great way to improve
-security.  Be aware that CSS can load JavaScript in certain environments.
-</p>
-
-<p>By specifying a domain in this directive, either as source or destination,
-you are authorizing PageSpeed to rewrite resources found in this
-domain. See <a href="#auth_domains"><code>Domain</code></a>.</p>
-
-<p>These directives can be used
-in <a href="configuration#htaccess">location-specific configuration
-sections</a>.</p>
-
-<h3 id="shared_cdn">Mapping Origins with a Shared CDN</h3>
-
-<p>Consider a scenario where an installation serving multiple domains
-uses a single CDN for caching and delivery of all content.  The origin
-fetches need to be routed to the correct VirtualHost on the server.
-This can be achieved by using a subdirectory per domain in the
-CDN, and then using that subdirectory to map to the correct
-VirtualHost at origin.  The host-header control offered by the third
-argument to <a href="#mapping_origin">MapOriginDomain</a> makes this
-feasible.</p>
-
-<p>In the example below, resources with a domain of
-sharedcdn.example.com and path starting with /vhost1 will be fetched
-from localhost but with a <code>Host:</code> header value of
-vhost1.example.com.  Without the third argument to MapOriginDomain,
-the <code>Host:</code> header would be sharedcdn.example.com.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapOriginDomain localhost sharedcdn.example.com/vhost1 vhost1.example.com
-ModPagespeedMapRewriteDomain sharedcdn.example.com/vhost1 vhost1.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapOriginDomain localhost sharedcdn.example.com/vhost1 vhost1.example.com;
-pagespeed MapRewriteDomain sharedcdn.example.com/vhost1 vhost1.example.com;</pre>
-</dl>
-
-<p>This would be used in conjunction with a VirtualHost setup for
-vhost1.example.com, and a single CDN setup for multple hosts segregated by
-subdirectory.</p>
-
-<h2 id="shard">Sharding domains</h2>
-
-<p>Best practices suggest <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt"
->minimizing round-trip times</a> by <a
-  target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt#ParallelizeDownloads"
->parallelizing downloads across hostnames</a>.  PageSpeed can partially
-automate this for resources that it rewrites, using the directive:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedShardDomain domain_to_shard shard1,shard2,shard3...</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ShardDomain domain_to_shard shard1,shard2,shard3...;</pre>
-</dl>
-
-<p>Wildcards cannot be used in this directive.</p>
-
-<p>This will distribute the domains for rewritten URLs among the
-specified shards.  The shard selected for a particular URL is computed
-from the original URL.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedShardDomain example.com \
-                        static1.example.com,static2.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed ShardDomain example.com static1.example.com,static2.example.com;</pre>
-</dl>
-
-
-<p>
-Using this directive, PageSpeed will distribute roughly half the
-resources rewritten from example.com
-into <code>static1.example.com</code>, and the rest to
-<code>static2.example.com</code>.  You can specify as many shards as
-you like.  The optimum number of shards is a topic of active
-research, and is browser-dependent.  Configuring between 2 and 4
-shards should yield good results.  Changing the number of shards
-will cause PageSpeed to choose different names for resources,
-resulting in a partial cache flush.</p>
-
-<p>When used in combination with <code>RewriteDomain</code>, the Rewrite
-mappings will be done first.  Then the shard selection occurs.  Origin domains
-are always tracked so that when a browser sends a sharded URL back to the
-server, PageSpeed can find it.
-</p>
-<p>Let's look at an example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedShardDomain example.com static1.example.com,static2.example.com
-ModPagespeedMapRewriteDomain example.com www.example.com
-ModPagespeedMapOriginDomain localhost example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed ShardDomain example.com static1.example.com,static2.example.com;
-pagespeed MapRewriteDomain example.com www.example.com;
-pagespeed MapOriginDomain localhost example.com;</pre>
-</dl>
-
-<p>In this example, <code>example.com</code>
-and <code>www.example.com</code> are "tied" together via
-<code>MapRewriteDomain</code>.  The origin-mapping
-to <code>localhost</code> propagates automatically
-to <code>www.example.com</code>, <code>static1.example.com</code>, and
-<code>static2.example.com</code>.  So when PageSpeed cache-extends an HTML
-stylesheet reference <code>http://www.example.com/styles.css</code>, it will be:
-</p>
-<ol>
-  <li>Fetched by the server rewriting the HTML
-    from <code>localhost</code></li>
-  <li>Rewritten to
-    <code>http://example.com/styles.css.pagespeed.ce.HASH.css</code></li>
-  <li>Sharded to
-    <code>http://static1.example.com/styles.css.pagespeed.ce.HASH.css</code>
-  </li>
-</ol>
-
-<h2 id="MapProxyDomain">Proxying and optimizing resources from
-  trusted domains</h2>
-
-<p>
-  Proxying resources is desirable under several scenarios:
-</p>
-<ul>
-  <li>The resources on the origin domain may benefit from optimizations
-    done by PageSpeed.</li>
-  <li>SPDY may work better if there are fewer domains on a page.</li>
-  <li>The target domain running PageSpeed may have better serving
-    infrastructure than the origin.</li>
-</ul>
-<p>
-  It is possible to proxy and optimize resources whose origin is a trusted
-  domain that may not be running PageSpeed. This cannot be directly achieved
-  with MapRewriteDomain because that is a declaration that the domains listed
-  are functionally equivalent to one another, either because they are backed by
-  the same storage, or because the target is acting as a proxy (e.g. a
-  CDN).  <code>MapProxyDomain</code> makes it technically possible to proxy and
-  optimize resources from any domain <b>that you trust</b>.
-
-<p class="warning">
-  You must only proxy resources that are controlled by an organization
-  you <b>trust</b> because it is possible for malicious content (e.g.
-  <a href="http://hackaday.com/2008/08/04/the-gifar-image-vulnerability/"
-     >GIFAR</a>)
-  proxied from an untrustworthy domain to gain access to private
-  content on your domain, compromising your site or its viewers. You
-  must never map directories that may contain files that may be
-  controlled by a third party.
-</p>
-<p class="warning">
-  There may be legal issues restricting the optimization of resources
-  you don't own.  If in doubt consult a lawyer.
-  {# TODO(jmarantz): it should be possible to use this directive in #}
-  {# combination with Disallow & rewrite_domains to proxy without   #}
-  {# optimizing.  A demo/test of that will be left for a follow-up. #}
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedMapProxyDomain target_domain/subdir \
-                           origin_domain/subdir [rewrite_domain/subdir]
-</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed MapProxyDomain target_domain/subdir
-                         origin_domain/subdir [rewrite_domain/subdir];</pre>
-</dl>
-
-<p>
-If the optional rewrite_domain/subdir argument is supplied then optimized
-resources will be rewritten to that location.  This is useful for rewriting
-optimized resources proxied from an external origin to a CDN.
-</p>
-<p>
-  It is important to specify a subdirectory in the target domain, because
-  PageSpeed will need to be able to unambiguously identify the
-  origin domain given the target when fetching content. Thus each
-  MapProxyDomain command should be given a distinct subdirectory
-  of the target domain.
-</p>
-<p>
-  It is important to specify a subdirectory in the origin domain to
-  limit the scope of the proxying. For example,
-  in <a href="https://picasaweb.google.com">picasaweb</a>, all of a user's
-  photos are underneath a single subdirectory; it is critical not to enable
-  proxying for the entire site.
-</p>
-<h3>Example</h3>
-<p>
-You can see proxy-mapping in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/proxy_external_resource.html">example</a>.
-</p>
-
-<h2 id="fetch_servers">Fetch server restrictions</h2>
-  <p> PageSpeed will only fetch resources from <code>localhost</code> and
-  domains explicitly mentioned in domain configuration directives such
-  as <code>Domain</code>, <code>MapRewriteDomain</code>
-  and <code>MapOriginDomain</code>. As this security restriction is not
-  desirable for some large deployments, in Apache it is possible to disable it
-  starting from 0.10.22.7, via the following configuration directive (which has
-  a global effect): <pre class="prettyprint"
-  >ModPagespeedDangerPermitFetchFromUnknownHosts on</pre>
-
-  <p class="warning"><strong>Warning: </strong>Enabling
-  <code>DangerPermitFetchFromUnknownHosts</code> could permit
-  hostile third parties to access any machine and port that the server running
-  mod_pagespeed has access to, including potentially those behind firewalls.
-  </p>
-  Before doing this, however, it must be ensured that at least one of these
-  things is true:
-  <ol>
-    <li>The server running mod_pagespeed has no more access to machines or
-    ports than anyone on the Internet, and that machines it can access will
-    not treat its traffic specially (mod_pagespeed 0.10.22.6 and newer will
-    make sure its own traffic to <code>localhost</code> does not appear to be
-    local, but that does not work across machines)</li>
-    <li>Every virtual host in Apache running mod_pagespeed (and, if applicable,
-    the global configuration) has an accurate explicit <code>ServerName</code>,
-    and sets the options <code>UseCanonicalName</code> and
-    <code>UseCanonicalPhysicalPort</code> to <code>On</code>.
-    <li>A proxy running in front of the mod_pagespeed server fully verifies that
-    the URLs and <code>Host:</code> headers that reach it refer only to machines
-    the mod_pagespeed server is expected to contact.
-  </ol>
-  If possible, you are strongly encouraged to use
-  <code>MapOriginDomain</code> in preference to this switch.
-</p>
-
-<h2 id="url-valued-attributes">Specifying additional URL-valued attributes</h2>
-
-<p>
-  All PageSpeed filters that process URLs need to know which attributes of
-  which elements to consider.  By default they consider those in the HTML4 and
-  HTML5 specifications and a few common extensions:
-</p>
-<pre class="prettyprint">
-  &lt;a href=...&gt;
-  &lt;area href=...&gt;
-  &lt;audio src=...&gt;
-  &lt;blockquote cite=...&gt;
-  &lt;body background=...&gt;
-  &lt;button formaction=...&gt;
-  &lt;command icon=...&gt;
-  &lt;del cite=...&gt;
-  &lt;embed src=...&gt;
-  &lt;form action=...&gt;
-  &lt;frame src=...&gt;
-  &lt;html manifest=...&gt;
-  &lt;iframe src=...&gt;
-  &lt;img src=...&gt;
-  &lt;input type=&quot;image&quot; src=...&gt;
-  &lt;ins cite=...&gt;
-  &lt;link href=...&gt;
-  &lt;q cite=...&gt;
-  &lt;script src=...&gt;
-  &lt;source src=...&gt;
-  &lt;td background=...&gt;
-  &lt;th background=...&gt;
-  &lt;table background=...&gt;
-  &lt;tbody background=...&gt;
-  &lt;tfoot background=...&gt;
-  &lt;thead background=...&gt;
-  &lt;track src=...&gt;
-  &lt;video src=...&gt;
-</pre>
-<p>
-  If your site uses a non-standard attribute for URLs, PageSpeed won't
-  know to rewrite them or the resources they reference.  To identify them to
-  PageSpeed, use the <code>UrlValuedAttribute</code> directive.
-  For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedUrlValuedAttribute span src hyperlink
-ModPagespeedUrlValuedAttribute div background image</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed UrlValuedAttribute span src hyperlink;
-pagespeed UrlValuedAttribute div background image;</pre>
-</dl>
-
-<p>
-  These would identify <code>&lt;span src=...&gt;</code> and <code>&lt;div
-  background=...&gt;</code> as containing URLs.  Further,
-  the <code>background</code> attribute of <code>div</code> elements would be
-  treated as referring to an image and would be treated just like an image
-  resource referenced with <code>&lt;img src=...&gt;</code>.  The general form
-  is:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedUrlValuedAttribute ELEMENT ATTRIBUTE CATEGORY</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed UrlValuedAttribute ELEMENT ATTRIBUTE CATEGORY;</pre>
-</dl>
-
-<p>
-  All fields are case-insensitive.
-  <span id="categories">Valid categories are:</span>
-  <ul>
-    <li><code>script</code></li>
-    <li><code>image</code></li>
-    <li><code>stylesheet</code> (As of 1.12.34.1)</li>
-    <li><code>otherResource</code>
-      <ul><li>Any other URL that will be automatically loaded by the
-              browser along with the main page.  For example,
-              the <code>manifest</code> attribute of the <code>html</code>
-              element or the <code>src</code> attribute of
-              an <code>iframe</code> element.</li></ul>
-    </li>
-    <li><code>hyperlink</code>
-      <ul><li>A link to another page or resource that a browser wouldn't
-              normally load in connection to this page (like
-              the <code>href</code> attribute of an <code>a</code> element).
-              These URLs will still be rewritten
-              by <code>MapRewriteDomain</code> and similar directives, but they
-              will not be sharded and PageSpeed will not load the URL and
-              rewrite the resource.</li></ul>
-    </li>
-  </ul>
-  When in doubt, <code>hyperlink</code> is the safest choice.
-
-<p class="note">
-  <b>Note:</b> Until 1.12.34.1, <code>stylesheet</code> was accepted by the
-  configuration parser, but was non-functional.
-</p>
-
-</p>
-
-<h2 id="ModPagespeedLoadFromFile">Loading static files from disk</h2>
-<p>
-  By default PageSpeed loads sub-resources via an HTTP fetch.  It would be
-  faster to load sub-resources directly from the filesystem, however this may
-  not be safe to do because the sub-resources may be dynamically generated or
-  the sub-resources may not be stored on the same server.
-</p>
-<p>
-  However, you can explicitly tell PageSpeed to load static sub-resources from
-  disk by using the <code>LoadFromFile</code> directive. For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile "http://www.example.com/static/" \
-                         "/var/www/static/"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile "http://www.example.com/static/"
-                       "/var/www/static/";</pre>
-</dl>
-
-<p>
-  tells PageSpeed to load all resources whose URLs start
-  with <code>http://www.example.com/static/</code> from the filesystem
-  under <code>/var/www/static/</code>.  For
-  example, <code>http://www.example.com/static/images/foo.png</code> will be
-  loaded from the file <code>/var/www/static/images/foo.png</code>.
-  However, <code>http://www.example.com/bar.jpg</code> will still be fetched
-  using HTTP.
-</p>
-<p>
-  If you need more sophisticated prefix-matching behavior, you can use
-  the <code>LoadFromFileMatch</code> directive, which
-  supports <a href="https://github.com/google/re2/wiki/Syntax">RE2-format</a>
-  regular expressions.  (Note that this is not the same format as the wildcards
-  used above and elsewhere in PageSpeed.)  For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFileMatch "^https?://example.com/~([^/]*)/static/" \
-                              "/var/www/static/\\1"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFileMatch "^https?://example.com/~([^/]*)/static/"
-                            "/var/www/static/\\1";</pre>
-</dl>
-
-<p>
-  Will load <code>http://example.com/~pat/static/cat.jpg</code> from
-  <code>/var/www/static/pat/cat.jpg</code>,
-  <code>http://example.com/~sam/static/images/dog.jpg</code> from
-  <code>/var/www/static/sam/images/dog.jpg</code>, and
-  <code>https://example.com/~al/static/css/ie</code> from
-  <code>/var/www/static/al/css/ie</code>.  The resource
-  <code>http://example.com/~pat/images/static/puppy.gif</code>, however,
-  would not be matched by this directive and would be fetched using HTTP.
-</p>
-<p>
-  Because PageSpeed is loading the files directly from the filesystem, no custom
-  headers will be set. For example, no headers set with the <code>Header
-  set</code> (Apache) or <code>add_header</code> (Nginx) directives will be
-  applied to these resources.  If you have resources that need to be served with
-  custom headers, such as <code>Cache-Control: private</code>, you need to
-  exclude them from <code>LoadFromFile</code>.  For resources PageSpeed
-  rewrites <a href="system#ipro">in-place</a> it will set a 5-minute cache
-  lifetime by default, which you can adjust by
-  changing <a href="system#load_from_file_cache_ttl"><code
-  >LoadFromFileCacheTtlMs</code></a>.
-</p>
-<p>
-  Furthermore, the content type will be set based
-  upon only the filename extension and only for common filename extensions we
-  recognize (<code>.html</code>, <code>.css</code>, <code>.js</code>,
-  <code>.jpg</code>, <code>.jpeg</code>, ... see full
-  list: <a href="https://github.com/apache/incubator-pagespeed-mod/blob/master/pagespeed/kernel/http/content_type.cc">content_type.cc</a>).
-  Before 1.9.32.1, filenames with unrecognized extensions were served with no
-  <code>Content-Type</code> header; in 1.9.32.1 and later such filenames will
-  not be loaded from file and instead will fall back to ordinary fetching.
-</p>
-<p>
-  You can also use the <code>LoadFromFile</code> directive to
-  load HTTPS resources which would not be otherwise fetchable directly.
-  For example:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile "https://www.example.com/static/" \
-                         "/var/www/static/"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile "https://www.example.com/static/"
-                       "/var/www/static/";</pre>
-</dl>
-
-<p>
-  The filesystem path must be an absolute path.
-</p>
-<p>
-  You can specify multiple <code>LoadFromFile</code> associations in
-  configuration files.  Note that large numbers of such directives may impact
-  performance.
-</p>
-<p>
-  If the sub-resource cannot be loaded from file in the directory
-  specified, the sub-request will fail (rather than fall back to
-  HTTP fetch). Part of the reason for this is to indicate a configuration
-  error more clearly.
-</p>
-<p>
-  As an added benefit. If resources are loaded from file, the rewritten
-  versions will be updated immediately when you change the associated file.
-  Resources loaded via normal HTTP fetches are refreshed only when they
-  expire from the cache (by default every 5 minutes). Therefore, the
-  rewritten versions are only updated as often as the cache is refreshed.
-  Resources loaded from file are not subject to caching behavior because
-  they are accessed directly from the filesystem for every request for the
-  rewritten version.
-</p>
-
-<p>
-  See also <a href="#mapping_origin"><code>MapOriginDomain</code></a>.
-</p>
-
-<p>
-  This directive can <strong>not</strong> be used
-  in <a href="configuration#htaccess">location-specific configuration
-  sections</a>.
-</p>
-
-<h4 id="limiting-load-from-file">Limiting Direct Loading</h4>
-<p>
-  A mapping set up with <code>LoadFromFile</code> allows filesystem loading for
-  anything it matches.  If you have directories or file types that cannot be
-  loaded directly from the filesystem, <code>LoadFromFileRule</code> lets you
-  add fine-grained rules to control which files will be loaded directly and
-  which will fall back to the standard process, over HTTP.
-</p>
-<p>
-  When given a URL PageSpeed first determines whether any LoadFromFile
-  mappings apply.  If one does, it calculates the mapped filename and checks for
-  applicable LoadFromFileRules.  Considering rules in the reverse order of
-  definition, it takes the first applicable one and uses that to determine
-  whether to load from file or fall back to HTTP.
-</p>
-<p>
-  Some examples may be helpful.  Consider a website that is entirely static
-  content except for a <code>/cgi-bin</code> directory:
-</p>
-<pre>
-  /var/www/index.html
-  /var/www/pets.html
-  /var/www/images/cat.jpg
-  /var/www/stylesheets/main.css
-  /var/www/stylesheets/ie.css
-  /var/www/cgi-bin/guestbook.pl
-  /var/www/cgi-bin/visitcounter.pl
-</pre>
-<p>
-  While most of the site can be loaded directly from the
-  filesystem, <code>guestbook.pl</code> and <code>visitcounter.pl</code> are
-  perl files that need to be interpreted before serving.  Adding a rule
-  disallowing the <code>/cgi-bin</code> directory tells us to fall back to HTTP
-  appropriately:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile http://example.com/ /var/www/
-ModPagespeedLoadFromFileRule Disallow /var/www/cgi-bin/</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile http://example.com/ /var/www/;
-pagespeed LoadFromFileRule Disallow /var/www/cgi-bin/;</pre>
-</dl>
-
-<p>
-  The <code>LoadFromFileRule</code> directive takes two arguments.
-  The first must be either <code>Allow</code> or <code>Disallow</code> while the
-  second is a prefix that specifies which filesystem paths it should apply to.
-  Because the default is to allow loading from the filesystem for all paths
-  listed in any <code>LoadFromFile</code> statement, most of the time you will
-  be using <code>Disallow</code> to turn off filesystem loading for some subset
-  of those paths.  You would use <code>Allow</code> only after
-  a <code>Disallow</code> that was overly general.
-</p>
-<p>
-  Not all sites are well suited for prefix-based control.  Consider a site with
-  PHP files mixed in with ordinary static files:
-</p>
-<pre>
-  /var/www/index.html
-  /var/www/webmail.php
-  /var/www/webmail.css
-  /var/www/blog/index.php
-  /var/www/blog/header.png
-  /var/www/blog/blog.css
-</pre>
-<p>
-  Blacklisting just the <code>.php</code> files so they fall back to an HTTP
-  fetch allows everything else to be loaded directly from the filesystem:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile http://example.com/ /var/www/
-ModPagespeedLoadFromFileRuleMatch Disallow \.php$</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile http://example.com/ /var/www/;
-pagespeed LoadFromFileRuleMatch Disallow \.php$;</pre>
-</dl>
-
-<p>
-  The <code>LoadFromFileRuleMatch</code> directive also takes two arguments.
-  The first is either <code>Allow</code> or <code>Disallow</code> and functions
-  just like for <code>LoadFromFileRule</code> above.  The second argument,
-  however, is
-  a <a href="https://github.com/google/re2/wiki/Syntax">RE2-format</a> regular
-  expression instead of a file prefix.  Remember to escape characters that have
-  special meaning in regular expressions.  For example, if instead
-  of <code>\.php$</code> we had simply <code>.php$</code> then a file
-  named <code>example.notphp</code> would still be forced to load over HTTP
-  because "<code>.</code>" is special syntax for "match any single character".
-</p>
-<p>
-  Consider a site with the opposite problem: a few file types can be reliably
-  loaded from file but the rest need interpretation first.  For example:
-</p>
-<pre>
-  /var/www/index.html
-  /var/www/site.css
-  /var/www/script-using-ssi.js
-  /var/www/generate-image.pl
-  /var/www/
-</pre>
-<p>
-  This site uses server side includes
-  (<a href="http://httpd.apache.org/docs/2.2/howto/ssi.html">Apache</a>,
-  <a href="http://wiki.nginx.org/HttpSsiModule">Nginx</a>)
-  in its javascript and <code>generate-image.pl</code> needs to be interpreted
-  to make images.  The only resources on the site that are generally safe to
-  load are <code>.css</code> ones.  By first blacklisting everything and then
-  whitelisting only the <code>.css</code> files, we can make PageSpeed do this:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLoadFromFile http://example.com/ /var/www/
-ModPagespeedLoadFromFileRuleMatch disallow .*
-ModPagespeedLoadFromFileRuleMatch allow \.css$</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LoadFromFile http://example.com/ /var/www/;
-pagespeed LoadFromFileRuleMatch disallow .*;
-pagespeed LoadFromFileRuleMatch allow \.css$;</pre>
-</dl>
-
-<p>
-  This works because order is significant: later rules take precedence over
-  earlier ones.
-</p>
-
-<h3 id="LoadFromFileScriptVariables">Script Variables with LoadFromFile</h3>
-<p class="note"><strong>Note: New feature as of 1.9.32.1</strong></p>
-<p class="note"><strong>Note: Nginx-only</strong></p>
-
-<p>
-  As of 1.9.32.1 Nginx <a href="http://nginx.org/en/docs/varindex.html">script
-  variables</a> are now supported with the various <code>LoadFromFile</code>
-  directives.  Script support for those options makes it possible to configure a
-  generic mapping of http hosts to disk, to reduce the amount of configuration
-  required when you want to load as much from disk as possible but have a lot
-  of <code>server{}</code> blocks.
-</p>
-
-<p>
-  As an example, consider one server that hosts three sites, each of which have
-  a directory <code>/static</code> that holds static resources and can be loaded
-  from file.  One way to configure this server would be:
-</p>
-
-<dl>
-  <dt>Nginx:<dd><pre class="prettyprint">
-http {
-  ...
-  server {
-    server_name a.example.com;
-    pagespeed LoadFromFile http://a.example.com/static /var/www-a/static;
-    ...
-  }
-  server {
-    server_name b.example.com;
-    pagespeed LoadFromFile http://b.example.com/static /var/www-b/static;
-    ...
-  }
-  server {
-    server_name c.example.com;
-    pagespeed LoadFromFile http://c.example.com/static /var/www-c/static;
-    ...
-  }
-}</pre>
-</dl>
-
-<p>
-  For three sites this is kind of annoying, but the more sites you have the
-  worse it gets.  With <code>ProcessScriptVariables</code> you can define one
-  generic <code>LoadFromFile</code> mapping instead of defining each one
-  individually:
-</p>
-
-<dl>
-  <dt>Nginx:<dd><pre class="prettyprint">
-http {
-  ...
-  pagespeed ProcessScriptVariables on;
-  pagespeed LoadFromFile "http://$host/static" "$document_root/static";
-
-  server {
-    server_name a.example.com;
-    ...
-  }
-  server {
-    server_name b.example.com;
-    ...
-  }
-  server {
-    server_name c.example.com;
-    ...
-  }
-}</pre>
-</dl>
-
-<p>
-  This will use Nginx's <code>$host</code> and <code>$document_root</code>
-  script variables instead of requiring you to explicitly code each one.
-</p>
-
-<p>
-  For more details on script variables, including how to handle dollar signs,
-  see <a href="system#nginx_script_variables">Script Variable Support</a>.
-</p>
-
-<h3 id="risks">Risks</h3>
-<p>
-  This should only be used for completely static resources which do not
-  need any custom headers or special server processing. If non-static
-  resources exist in the specified directory, the source code will
-  be used without applying SSI includes, CGI generation, etc.
-  Furthermore, all the resources should have filenames with common
-  extensions for their Content-Type (Ex: .html, .css, .js, .jpg, .jpeg, ... see
-  full list: <a href="https://github.com/apache/incubator-pagespeed-mod/blob/master/pagespeed/kernel/http/content_type.cc">content_type.cc</a>).
-</p>
-
-<h2 id="inline_without_auth">Inlining resources without explicit authorization
-</h2>
-<p>
-  Several filters in PageSpeed operate by inlining content from resources into
-  the HTML: inline_css, inline_javascript and prioritize_critical_css are a
-  few of the filters that operate in this manner. If resources from
-  third-party domains are not authorized explicitly, the effectiveness of
-  these filters decreases. For instance, prioritize_critical_css attempts to
-  remove blocking CSS requests needed for the initial render by inlining
-  critical CSS snippets into the HTML, however, the CSS resources that are not
-  authorized will continue to block. This option allows such resources to
-  be inlined without having to authorize all the individual domains.
-</p>
-<p>
-  The <code>InlineResourcesWithoutExplicitAuthorization</code>
-  directive can be used to allow resources from third-party domains to be
-  inlined into the HTML without requiring explicit authorization for each
-  domain. This option is "off" by default, and takes a
-  comma-separated list of strings representing resource categories for which
-  the option should be enabled. The list of valid resource categories is
-  given <a href="#categories">here</a>. Currently, only Script and
-  Stylesheet resource types are supported for this option.
-</p>
-
-This option can be enabled as follows:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedInlineResourcesWithoutExplicitAuthorization Script,Stylesheet
-</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed InlineResourcesWithoutExplicitAuthorization Script,Stylesheet;
-</pre>
-</dl>
-
-  <p class="warning"><strong>Warning: </strong>Enabling
-  <code>InlineResourcesWithoutExplicitAuthorization</code> could permit
-  hostile third parties to access any machine and port that the server running
-  mod_pagespeed has access to, including potentially those behind firewalls.
-  Please read the following information for details.
-  </p>
-<p>
-  This directive should only be enabled if all of the following conditions are
-  met for the resource types for which this option is enabled:
-</p>
-<ol>
-<li>The webmaster is confident that the resources referenced on their pages are
-   from trusted domains only.
-</li>
-<li>The site does not allow user-injected resources for the enabled resource
-    types.
-</li>
-<li>Fetches from the PageSpeed server should have no
-   more access to machines or ports than anyone on the Internet, and machines it
-   can access should not treat its traffic specially. Specifically, the
-   PageSpeed servers should not be able to access anything that is internal to a
-   firewall. Please refer to <a href="#fetch_servers">
-   Fetch server restrictions</a> sections for more details.
-</li>
-</ol>
-
-<p>
-  Note that resources inlined into HTML via this option will not be accessible
-  directly via a pagespeed URL, since that involves different security risks.
-  Resources will also not be inlined into other non-HTML resources via this
-  option. This  means that flatten_css_imports will not flatten third-party CSS
-  into another CSS resource, unless the relevant third-party domains are
-  authorized explicitly via one of the techniques mentioned in the previous
-  sections.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/download.html b/doc/download.html
deleted file mode 100644
index 1b601f8..0000000
--- a/doc/download.html
+++ /dev/null
@@ -1,133 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Installing From Packages</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Installing From Packages</h1>
-<p class="note">
-  If you're using Nginx you need
-  to <a href="build_ngx_pagespeed_from_source">build from source</a>.  These
-  packages are Apache-only.
-</p>
-<p class="note">
-   Any releases offered here are pre-apache releases. The incubating project
-   is working to produce its first release.
-</p>
-
-<div id="downloads">
-<dl>
-  <dt>Latest Beta Version</dt>
-  <dd>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.deb">mod_pagespeed 32-bit .deb (Debian/Ubuntu)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_amd64.deb">mod_pagespeed 64-bit .deb (Debian/Ubuntu)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_i386.rpm">mod_pagespeed 32-bit .rpm (CentOS/Fedora)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-beta_current_x86_64.rpm">mod_pagespeed 64-bit .rpm (CentOS/Fedora)</a></div>
-  </dd>
-  <dt>Latest Stable Version</dt>
-  <dd>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.deb">mod_pagespeed 32-bit .deb (Debian/Ubuntu)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_amd64.deb">mod_pagespeed 64-bit .deb (Debian/Ubuntu)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_i386.rpm">mod_pagespeed 32-bit .rpm (CentOS/Fedora)</a></div>
-<div class=download><a href="https://dl-ssl.google.com/dl/linux/direct/mod-pagespeed-stable_current_x86_64.rpm">mod_pagespeed 64-bit .rpm (CentOS/Fedora)</a></div>
-  </dd>
-</dl>
-</div>
-
-<h3>Supported platforms</h3>
-<ul>
-<li>CentOS/Fedora (32-bit and 64-bit)</li>
-<li>Debian/Ubuntu (32-bit and 64-bit)</li>
-</ul>
-
-<p>To install the packages, on Debian/Ubuntu, please run the following
-command:</p>
-<pre class="prettyprint lang-bsh">
-sudo dpkg -i mod-pagespeed-*.deb
-sudo apt-get -f install
-</pre>
-
-<p>For CentOS/Fedora, please execute:</p>
-<pre class="prettyprint">
-sudo yum install at  # if you do not already have 'at' installed
-sudo rpm -U mod-pagespeed-*.rpm
-</pre>
-
-<p>Installing mod_pagespeed will add the Google repository so your system
-will automatically keep mod_pagespeed up to date. If you don't want Google's
-repository, do <code>sudo touch /etc/default/mod-pagespeed</code> before
-installing the package.</p>
-
-<p>You can also download a number of <a href="https://dl-ssl.google.com/page-speed/mod-pagespeed/mod_pagespeed_examples.tar.gz">system tests</a>. These are the same tests available on <a href="http://www.modpagespeed.com">ModPageSpeed.com</a>.</p>
-
-<h3>What is installed</h3>
-<ul>
-<li>The mod_pagespeed packages install two versions of the mod_pagespeed code
-itself, <code>mod_pagespeed.so</code> for Apache 2.2
-and <code>mod_pagespeed_ap24.so</code> for Apache 2.4.</li>
-<li>Configuration files: <code>pagespeed.conf</code>, <code>pagespeed_libraries.conf</code>, and (on Debian) <code>pagespeed.load</code>.  If you modify one of these configuration files, that file will not be upgraded automatically in the future.</li>
-<li>A standalone JavaScript minifier <code>pagespeed_js_minify</code> based on
-the one used in mod_pagespeed, that can
-both <a href="build_from_source#js-minify">minify JavaScript</a>
-and <a href="filter-canonicalize-js#sample">generate metadata for library
-canonicalization</a>. </li>
-</ul>
-
-<h2>How to upgrade</h2>
-<p>To upgrade from a previous version, use the standard <code>yum</code> or
-<code>apt-get</code> update commands. For example:</p>
-<dl>
-  <dt>.rpm
-  <dd><pre>
-sudo yum update mod-pagespeed-beta  # Or mod-pagespeed-stable
-sudo /etc/init.d/httpd restart</pre>
-  <dt>.deb
-  <dd><pre>
-sudo apt-get update
-sudo apt-get upgrade
-sudo /etc/init.d/apache2 restart</pre>
-</dl>
-
-<h2>How to Change Channels</h2>
-<p>To convert from one channel to another, uninstall one and re-install
-the other. For example, if you would like to move from stable to beta
-channel:</p>
-<dl>
-  <dt>.rpm
-  <dd><pre>
-sudo yum remove mod-pagespeed-stable
-sudo yum install mod-pagespeed-beta</pre>
-  <dt>.deb
-  <dd><pre>
-sudo apt-get remove mod-pagespeed-stable
-sudo apt-get install mod-pagespeed-beta</pre>
-</dl>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/downstream-caching.html b/doc/downstream-caching.html
deleted file mode 100644
index 179e43b..0000000
--- a/doc/downstream-caching.html
+++ /dev/null
@@ -1,521 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Configuring Downstream Caches</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Configuring Downstream Caches</h1>
-<style>
-.diff-del { color: darkred }
-.diff-add { color: green }
-</style>
-
-<h2 id="standard">Standard Configuration</h2>
-   <p class="warning"><strong>Note: This feature is currently experimental.
-     Options and configuration described here are subject to change in future
-     releases. Please subscribe to the <a href="mailing-lists#announcements"
-     >announcements mailing list</a> to keep yourself informed of updates to
-     this feature.</strong></p>
-
-   <p>
-     By default PageSpeed serves HTML files with <code>Cache-Control: no-cache,
-     max-age=0</code> so that changes to the HTML and its resources are sent
-     fresh on each request.  The HTML can be cached, however, if you:
-     <ul>
-       <li> Set up a <code>PURGE</code> handler in your cache.
-       <li> Tell PageSpeed the url for the <code>PURGE</code> handler.
-       <li> Have the cache set the <code>PS-CapabilityList</code> header
-            so PageSpeed will emit HTML that can be sent to any browser.
-       <li> Have the cache occasionally pass through requests to the origin with
-            the <code>PS-ShouldBeacon</code> header set.
-     </ul>
-   </p>
-
-   <p>
-     For example, if you're running a cache on port 80 that reverse proxies to
-     your site on port 8080, then you'd need to tell PageSpeed to send
-     its <code>PURGE</code> requests to port 80:
-   </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDownstreamCachePurgeLocationPrefix http://localhost:80</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed DownstreamCachePurgeLocationPrefix http://localhost:80;</pre>
-</dl>
-   <p>
-     You also need to give PageSpeed a key so it can allow the cache to request
-     rebeaconing without allowing external entities to do so:
-   </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDownstreamCacheRebeaconingKey "&lt;your-secret-key&gt;"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed DownstreamCacheRebeaconingKey "&lt;your-secret-key&gt;";</pre>
-</dl>
-   <p>
-     These are the only changes you need to make to the PageSpeed configuration
-     file, but before you restart you also need to make some changes to your
-     cache configuration.  These vary by cache; below are configurations for
-     Varnish 3.x, Varnish 4.x, and Nginx's proxy_cache:
-   </p>
-<dl>
-  <dt>Varnish 3.x:<dd><pre class="prettyprint">
-acl purge {
-  # If PageSpeed isn't running on the same server as your cache, list the IP(s)
-  # of the PageSpeed machine(s) here.
-  "127.0.0.1";
-}
-sub vcl_recv {
-  # Tell PageSpeed not to use optimizations specific to this request.
-  set req.http.PS-CapabilityList = "fully general optimizations only";
-
-  # Don't allow external entities to force beaconing.
-  remove req.http.PS-ShouldBeacon;
-
-  # Authenticate the purge request by IP.
-  if (req.request == "PURGE") {
-    if (!client.ip ~ purge) {
-      error 405 "Not allowed.";
-    }
-    return (lookup);
-  }
-}
-
-# Mark HTML as uncacheable.  If we can't send them purge requests they can't
-# cache our html.
-sub vcl_fetch {
-   if (beresp.http.Content-Type ~ "text/html") {
-     remove beresp.http.Cache-Control;
-     set beresp.http.Cache-Control = "no-cache, max-age=0";
-   }
-   return (deliver);
-}
-
-sub vcl_hit {
-  # Make purging happen in response to a PURGE request.  This happens
-  # automatically in Varnish 4.x so we don't need it there.
-  if (req.request == "PURGE") {
-    purge;
-    error 200 "Purged.";
-  }
-
-  # 5% of the time ignore that we got a cache hit and send the request to the
-  # backend anyway for instrumentation.
-  if (std.random(0, 100) < 5) {
-    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
-    return (pass);
-  }
-}
-
-sub vcl_miss {
-  # Make purging happen in response to a PURGE request.  This happens
-  # automatically in Varnish 4.x so we don't need it there.
-  if (req.request == "PURGE") {
-    purge;
-    error 200 "Purged.";
-  }
-
-  # Instrument 25% of cache misses.
-  if (std.random(0, 100) < 25) {
-    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
-    return (pass);
-  }
-}</pre>
-  <dt>Varnish 4.x:<dd><pre class="prettyprint">
-acl purge {
-  # If PageSpeed isn't running on the same server as your cache, list the IP(s)
-  # of the PageSpeed machine(s) here.
-  "127.0.0.1";
-}
-
-sub vcl_recv {
-  # Tell PageSpeed not to use optimizations specific to this request.
-  set req.http.PS-CapabilityList = "fully general optimizations only";
-
-  # Don't allow external entities to force beaconing.
-  unset req.http.PS-ShouldBeacon;
-
-  # Authenticate the purge request by IP.
-  if (req.method == "PURGE") {
-    if (!client.ip ~ purge) {
-      return (synth(405,"Not allowed."));
-    }
-    return (purge);
-  }
-}
-
-# Mark HTML as uncacheable.  If we can't send them purge requests they can't
-# cache our html.
-sub vcl_backend_response {
-   if (beresp.http.Content-Type ~ "text/html") {
-     unset beresp.http.Cache-Control;
-     set beresp.http.Cache-Control = "no-cache, max-age=0";
-   }
-   return (deliver);
-}
-
-sub vcl_hit {
-  # 5% of the time ignore that we got a cache hit and send the request to the
-  # backend anyway for instrumentation.
-  if (std.random(0, 100) < 5) {
-    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
-    return (pass);
-  }
-}
-sub vcl_miss {
-  # Instrument 25% of cache misses.
-  if (std.random(0, 100) < 25) {
-    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
-    return (pass);
-  }
-}</pre>
-  <dt>Nginx proxy_cache:<dd><pre class="prettyprint">
-http {
-  # Define a mapping used to mark HTML as uncacheable.
-  map $upstream_http_content_type $new_cache_control_header_val {
-    default $upstream_http_cache_control;
-    "~*text/html" "no-cache, max-age=0";
-  }
-
-  server {
-    # PageSpeed's beacon dependent filters need the cache to let some requests
-    # through to the backend.  This code below depends on the <a href="http://wiki.nginx.org/HttpSetMiscModule">ngx_set_misc</a>
-    # module and randomly passes 5% of traffic to the backend for rebeaconing.
-    set $should_beacon_header_val "";
-    set_random $rand 0 100;
-    if ($rand ~* "^[0-4]$") {
-      set $should_beacon_header_val "&lt;your-secret-key&gt;";
-      set $bypass_cache 1;
-    }
-
-    location / {
-      # existing proxy_pass
-      # existing proxy_cache
-      # existing proxy_cache_key
-
-      # What servers should we accept PURGE requests from?  If PageSpeed isn't
-      # running on the same server as your cache, list the IP(s) of the
-      # PageSpeed machine(s) here.
-      #
-      # This requires rebuilding with the ngx_cache_purge module:
-      #   https://github.com/FRiCKLE/ngx_cache_purge
-      proxy_cache_purge PURGE from 127.0.0.1;
-
-      # Mark HTML as uncacheable.  If we can't send them purge requests they
-      # can't cache our html.  Uses the map defined above.
-      proxy_hide_header Cache-Control;
-      add_header Cache-Control $new_cache_control_header_val;
-
-      # Tell PageSpeed not to use optimizations specific to this request.
-      proxy_set_header PS-CapabilityList "fully general optimizations only";
-
-      # See discussion of rebeaconing above.
-      proxy_cache_bypass $bypass_cache;
-      proxy_hide_header PS-ShouldBeacon;
-      proxy_set_header PS-ShouldBeacon $should_beacon_header_val;
-    }
-  }
-}</pre>
-</dl>
-
-<p>
-  When running with downstream caching all resources referenced from the HTML
-  will be cache-extended as usual, so if you have resources that need to be
-  cached for a short time then they can be stale.  If so,
-  either <code>Disallow</code> those resources, so PageSpeed doesn't inline or
-  cache-extend them, or decrease the cache lifetime on your HTML.
-</p>
-
-<h2 id="additional">Additional Options</h2>
-
-The configuration above should be a good fit for most sites, but PageSpeed's
-downstream caching is highly configurable with many options that allow you to
-tweak it for your particular setup.
-
-<h3 id="beaconing">Beaconing</h3>
-<p>
-  Several filters such as
-  <a href="reference-image-optimize#inline_images">inline_images</a>,
-  <a href="filter-inline-preview-images">inline_preview_images</a>,
-  <a href="filter-lazyload-images">lazyload_images</a> and
-  <a href="filter-prioritize-critical-css">prioritize_critical_css</a>
-  depend extensively on client beacons to determine critical images and
-  CSS. When such filters are enabled, pages periodically have beaconing
-  JavaScript inserted as part of the rewriting process.
-  The <a href="#standard">standard configuration</a> passes through 5% of cache
-  hits to the backend with a <code>PS-ShouldBeacon</code> header set, so that
-  these filters can continue to receive the beacons they need.
-</p>
-<p>
-  If you have a high traffic site, 5% is probably a larger share than you need
-  for PageSpeed to receive sufficient beacons.  In that case you can decrease
-  the percentage of traffic to pass through.  For example, here's how you'd
-  decrease it to 2%:
-</p>
-<dl>
-  <dt>Varnish 3.x or 4.x:<dd><pre>
-<span class=diff-del>-  if (std.random(0, 100) < 5) {</span>
-<span class=diff-add>+  if (std.random(0, 100) < 2) {</span></pre>
-  <dt>Nginx proxy_cache<dd><pre>
-<span class=diff-del>-  if ($rand ~* "^[0-4]$") {</span>
-<span class=diff-add>+  if ($rand ~* "^[01]$") {</span></pre>
-</dl>
-<p>
-  Alternatively, you may be willing to give up the benefit of the
-  beaconing-dependent filters in exchange for never intentionally bypassing the
-  cache.  If so, you should <a href="config_filters#beacons">turn off
-  beaconing</a> and beacon-dependent filters in PageSpeed:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
->ModPagespeedCriticalImagesBeaconEnabled false
-ModPagespeedDisableFilters prioritize_critical_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
->pagespeed CriticalImagesBeaconEnabled false;
-pagespeed DisableFilters prioritize_critical_css;</pre>
-</dl>
-<p>
-  Additionally you should remove the proxy config that handles beaconing:
-</p>
-<dl>
-  <dt>Varnish 3.x:<dd><pre><span class="diff-del"
->-  remove req.http.PS-ShouldBeacon;
-...
--  if (std.random(0, 100) < 5) {
--    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
--    return (pass);
--  }
-...
--  if (std.random(0, 100) < 25) {
--    set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
--    return (pass);
--  }</span></pre>
-  <dt>Varnish 4.x:<dd><pre><span class="diff-del"
->-  unset req.http.PS-ShouldBeacon;
-...
--  sub vcl_hit {
--    if (std.random(0, 100) < 5) {
--      set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
--      return (pass);
--    }
--  }
--  sub vcl_miss {
--    if (std.random(0, 100) < 25) {
--      set req.http.PS-ShouldBeacon = "&lt;your-secret-key&gt;";
--      return (pass);
--    }
--  }</span></pre>
-  <dt>Nginx proxy_cache<dd><pre><span class="diff-del"
->-  set $should_beacon_header_val "";
--  set_random $rand 0 100;
--  if ($rand ~* "^[0-4]$") {
--    set $should_beacon_header_val "&lt;your-secret-key&gt;";
--    set $bypass_cache 1;
--  }
-...
--  proxy_cache_bypass $bypass_cache;
--  proxy_hide_header PS-ShouldBeacon;
--  proxy_set_header PS-ShouldBeacon $should_beacon_header_val;</span></pre>
-</dl>
-
-
-<h3 id="ps-resource">PageSpeed Resources</h3>
-<p>
-  Because PageSpeed already caches its optimized resources, you may want to
-  exclude them caching by the downstream cache.  If so, you can set:
-
-<dl>
-  <dt>Varnish 3.x and 4.x:<dd><pre><span class="diff-add"
->+  if (req.url ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+") {
-+    return (pass);
-+  }</span></pre>
-  <dt>Nginx proxy_cache<dd><pre><span class="diff-add"
->+  if ($uri ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+") {
-+    set $bypass_cache "1";
-+  }</span></pre>
-</dl>
-
-<p>
-  If you have enabled <a href="restricting_urls#url_signatures">URL signing</a>,
-  change the <code>10</code> in the regexp to <code>20</code> to account for the
-  additional characters in the hash.
-</p>
-
-<h3 id="ps-capabilitylist">PS-CapabilityList</h3>
-
-<p>
-  Typically PageSpeed will produce different HTML for different browsers.  For
-  example, when responding to a request that has <code>Accept:
-  image/webp</code>, PageSpeed knows the requesting browser supports WebP and so
-  it can send these images, while if the <code>Accept</code> header doesn't
-  mention WebP then it will send JPEG or PNG.  To suppress this behavior,
-  the <a href="#standard">standard configuration</a> above sets a header:
-</p>
-<pre>
-  PS-CapabilityList: fully general optimizations only
-</pre>
-<p>
-  This header can also be used to tell PageSpeed to make specific optimizations.
-  There are five capabilities PageSpeed can take advantage of that aren't
-  supported in all browsers, and it gives them each a code:
-</p>
-<table>
-  <tr><th>Capability<th>Code
-  <tr><td>Inline Images<td><code>ii</code>
-  <tr><td>Lazyload Images<td><code>ll</code>
-  <tr><td>WebP Images<td><code>jw</code>
-  <tr><td>Lossless WebP Images<td><code>ws</code>
-  <tr><td>Animated WebP Images<td><code>wa</code>
-  <tr><td>Defer Javascript<td><code>dj</code>
-</table>
-<p>
-  For example, you could include whether the <code>Accept</code> header
-  includes <code>image/webp</code> in your cache key, and then for the
-  fraction of traffic that claimed webp support send:
-</p>
-<pre>
-  PS-CapabilityList: jw:
-</pre>
-<p>
-  Every page would go through to your origin twice and be cached twice, once
-  processed with WebP support and once without.
-</p>
-<p>
-  You can combine multiple capabilities together with a comma.  For example, if
-  you decided to make a cache fragment for Chrome 30+, which supports all of
-  these, for that fragment you would send:
-</p>
-<pre>
-  PS-CapabilityList: ll,ii,dj,jw,ws:
-</pre>
-<p>
-  For Firefox 4+, which supports all of these but WebP, you would send:
-</p>
-<pre>
-  PS-CapabilityList: ll,ii,dj:
-</pre>
-<p>
-  To use this header properly, however, you have to know which capabilities are
-  supported by which browsers in the version of PageSpeed you're using and craft
-  regular expressions to match exactly those ones.  This is very difficult to do
-  in general because it involves duplicating the code in
-  <a href="https://github.com/apache/incubator-pagespeed-mod/blob/latest-stable/pagespeed/kernel/http/user_agent_matcher.cc"><code>user_agent_matcher.cc</code></a>
-  as regexes, but a simple division is:
-  <ul>
-    <li>Chrome 32+: <code>ll,ii,dj,jw,wa,ws</code>
-    <li>Firefox 4+, Safari, IE10 (but not IE11): <code>ll,ii,dj</code>
-    <li>Everything else: <code>fully general optimizations only</code>
-  </ul>
-</p>
-
-<h3 id="purge-get">Purging with GET</h3>
-
-<p>
-  If you're integrating PageSpeed with a cache that doesn't
-  support <code>PURGE</code> requests but does support purging in response to a
-  prefixed <code>GET</code> request, PageSpeed can support that.  You would
-  configure your cache to treat a <code>GET</code> to
-  <code>/purge/foo/bar</code> as a request to purge <code>/foo/bar</code> and
-  configure PageSpeed as:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDownstreamCachePurgeLocationPrefix http://CACHE-HOST:PORT/purge
-ModPagespeedDownstreamCachePurgeMethod GET</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed DownstreamCachePurgeLocationPrefix http://CACHE-HOST:PORT/purge;
-pagespeed DownstreamCachePurgeMethod GET;</pre>
-</dl>
-
-<h3 id="purge-threshold">Purge Threshold</h3>
-<p>
-  Whenever PageSpeed serves an HTML response that is not fully optimized it
-  continues rewriting in the background.  When it finishes, if the HTML it
-  served was less than 95% optimized, it sends a purge request to the downstream
-  cache.  The next request to come in will bypass the cache and come back to
-  PageSpeed where it can serve out the now more highly optimized page.  If you
-  want to change what point PageSpeed considers the page done and stops
-  optimizing, you can set a different value for this threshold.  For example, to
-  lower it to 80%, so that PageSpeed is satisfied with a page that is only 80%
-  optimized, you would set:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDownstreamCacheRewrittenPercentageThreshold 80</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed DownstreamCacheRewrittenPercentageThreshold 80;</pre>
-</dl>
-
-<h3 id="script-variables">Script Variables</h3>
-<p class="note"><strong>Note: Nginx-only</strong></p>
-<p class="note"><strong>Note: New feature as of 1.10.33.0</strong></p>
-
-<p>
-  In ngx_pagespeed <code>DownstreamCachePurgeLocationPrefix</code>,
-  <code>DownstreamCachePurgeMethod</code>, and
-  <code>DownstreamCacheRewrittenPercentageThreshold</code> support script
-  variables, so it's possible to set them on a per-request basis.  Turn this on
-  with:
-<pre class="prettyprint">
-http {
-  pagespeed ProcessScriptVariables on;
-  ...
-}</pre>
-  You can then use script variables in arguments for these commands:
-<pre class="prettyprint">
-  pagespeed DownstreamCachePurgeLocationPrefix "$purge_location";
-  pagespeed DownstreamCachePurgeMethod "$cache_purge_method";
-  pagespeed DownstreamCacheRewrittenPercentageThreshold "$rewrite_threshold";</pre>
-</p>
-<p>
-  For more details on script variables, including how to handle dollar signs,
-  see <a href="system#nginx_script_variables">Script Variable Support</a>.
-</p>
-<h2 id="implementation">Implementation Details</h2>
-<p>
-  To support downstream caching PageSpeed sends a purge request to the caching
-  layer whenever it identifies an opportunity for more rewriting to be done on
-  content that was just served. Such opportunities could arise because of, say,
-  the resources now becoming available in the PageSpeed cache or an image
-  compression operation completing. The cache purge forces the next request for
-  the HTML file to come all the way to the backend PageSpeed server and obtain
-  better rewritten content, which is then stored in the cache. This interaction
-  between the PageSpeed server and the downstream caching layer is depicted in
-  the diagram given below.
-</p>
-  <img src="images/downstream_caching.png" >
-<p>
-  In the interaction depicted above, note that the partially optimized HTML will
-  be served from the cache until a purge request gets sent by the PageSpeed
-  server.  It is recommended to set up PageSpeed and the downstream caching
-  layer servers on a one to one basis so that the purges can be sent to the
-  correct downstream server.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/experiment.html b/doc/experiment.html
deleted file mode 100644
index af8933a..0000000
--- a/doc/experiment.html
+++ /dev/null
@@ -1,449 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Experimenting with PageSpeed</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Experimenting with PageSpeed</h1>
-<h2 id="Framework">Experimental Framework</h2>
-<p>
-The <a href="module-run-experiment.html">Run Experiment</a> module allows you to
-gather data on what filters perform best for your site using A/B testing.  It
-reports to your <a href="http://www.google.com/analytics/">Google Analytics</a>
-account, storing data in
-a <a href="/analytics/devguides/collection/gajs/gaTrackingCustomVariables">custom
-variable</a>.  It often makes sense to first experiment manually using the
-per-request configuration described below to get an idea of which filters might
-help your site, and then <a href="module-run-experiment.html">run a controlled
-experiment</a> to test whether these filters actually speed it up in practice.
-</p>
-
-<h2 id="PerRequest">Per-request configuration</h2>
-
-<p>
-Query parameters, request headers, and response headers can be used to disable
-PageSpeed, specify the set of filters applied to an HTML page, and control some
-inlining limits.
-</p>
-
-<p>
-Query parameters take the form of <code>name=value</code>
-and parameters are separated by an ampersand (&amp;). For example:
-</p>
-<pre>
-  <a href="http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css">http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css</a>
-</pre>
-
-<p>
-Request and response headers take the form of <code>name: value</code>
-and each header is on its own line. For example:
-</p>
-<pre class="prettyprint">
-GET /rewrite_css.html HTTP/1.1
-Host: modpagespeed.com
-PageSpeed: on
-PageSpeedFilters: rewrite_css</pre>
-
-<p>
-For backwards compatibility, these can start with <code>ModPagespeed</code>
-instead of <code>PageSpeed</code>, but this usage is deprecated.
-</p>
-
-<p>
-Query parameters can be added to the URL of the page or resource being
-fetched, request headers can be set in the request for pages and
-resources, and response headers can be set in the response of HTML
-pages (but not resources). These settings affect only the given
-request. If all three (query parameters and both headers) are used in
-the same request the query parameters will be applied first, followed
-by the request headers, followed by the response headers. Later
-settings override earlier settings but a filter disable in any
-location always overrides subsequent enables.
-</p>
-
-<p>
-There are two supported methods of adding response headers that PageSpeed will
-be able to observe and process.  The first is to add response headers with a
-content handler such as PHP or Perl.  The second is to add response headers at
-an origin server and run PageSpeed as a proxy in front of it. The use of
-mod_headers (Apache) or add_header (Nginx) on the same webserver as PageSpeed
-will not work because headers will be inserted after PageSpeed has already
-processed the page.
-</p>
-
-<h3 id="StickyQueryParams">Sticky Query Parameters</h3>
-<p>
-Query parameters can be set to be &quot;sticky&quot; and persist across
-requests using cookies. Sticky query parameters can be set by providing the
-sticky query parameter option in  a request, and the server will respond with
-a cookie, valid for the duration specified in the PageSpeed configuration.
-</p>
-<p>
-To prevent abuse, a &quot;secret token&quot; must be provided in the initial
-request to enable setting cookies.
-</p>
-<dl>
-<dt>Apache:</dt>
-<dd>
-<pre class="prettyprint">ModPagespeedStickyQueryParameters example_token</pre>
-</dd>
-<dt>Nginx:</dt>
-<dd>
-<pre class="prettyprint">pagespeed StickyQueryParameters example_token</pre>
-</dd>
-</dl>
-<p>
-The duration, in milliseconds, for which the cookie will be valid can be set in
-the PageSpeed configuration.
-</p>
-<dl>
-<dt>Apache:</dt>
-<dd>
-<pre class="prettyprint">ModPagespeedOptionCookiesDurationMs 12345</pre>
-</dd>
-<dt>Nginx:</dt>
-<dd>
-<pre class="prettyprint">pagespeed OptionCookiesDurationMs 12345</pre>
-</dd>
-</dl>
-<p>
-The request must specify the token in a query parameter,
-for example:
-<pre>
-<a href="http://modpagespeed.com/rewrite_css.html?PageSpeedStickyQueryParameters=example_token&PageSpeedFilters=+remove_comments">http://modpagespeed.com/rewrite_css.html?PageSpeedStickyQueryParameters=example_token&PageSpeedFilters=+remove_comments</a></pre>
-<p>
-A request with the proper sticky query parameter token will cause the server to
-respond with a <code>Set-Cookie</code> in the response.
-Any request not containing the correct token will not receive the
-<code>Set-Cookie</code> response. Future responses with the received cookie will
-also enable the options set in the query parameter with the sticky query
-parameter. In this case, the <code>remove-comments</code> filter would be
-enabled.
-</p>
-
-<h3 id="ModPagespeed">Enabling and disabling PageSpeed</h3>
-
-<p>Query parameters:</p>
-<pre class="prettyprint">
-  PageSpeed=off
-  PageSpeed=on
-</pre>
-<p>Request &amp; Response headers:</p>
-<pre class="prettyprint">
-  PageSpeed: off
-  PageSpeed: on
-</pre>
-<p>
-The first line disables PageSpeed rewriting, the second line enables it.
-</p>
-
-<h3 id="ModPagespeedFilters">Specifying the filters applied</h3>
-
-<p>Query parameters:</p>
-<pre class="prettyprint">
-  PageSpeedFilters=<i>comma-separated list of names</i>
-</pre>
-<p>Request &amp; Response headers:</p>
-<pre class="prettyprint">
-  PageSpeedFilters: <i>comma-separated list of names</i>
-</pre>
-
-<p>
-This specifies the set of filters to apply to the page. The list of settings
-includes all filter names and a few shortcut names:
-</p>
-
-<ul>
-  <li><code>core</code> sets the rewrite level (per
-        <code><a href="config_filters.html#level>ModPagespeedRewriteLevel"
-                 >RewriteLevel</a></code>)
-        to <code>CoreFilters</code>. This enables the core set of filters.</li>
-  <li><code>testing</code> enables all filters that are in the
-        <code>TestingCoreFilters</code> level but are not in the
-        <code>CoreFilters</code> level - this is not the same as setting the
-        level to <code>TestingCoreFilters</code> because that includes all
-        core filters, but the same effect can be achieved by specifying
-        both: <code>core,testing</code>.</li>
-  <li><code>rewrite_images</code> enables the following filters:
-        <code>inline_images</code>, <code>recompress_images</code>, and
-        <code>resize_images</code>.</li>
-  <li><code>extend_cache</code> enables the following filters:
-        <code>extend_cache_css</code>, <code>extend_cache_images</code>, and
-        <code>extend_cache_scripts</code>.</li>
-  <li><code>rewrite_javascript</code> enables the following filters:
-        <code>rewrite_javascript_external</code> and
-        <code>rewrite_javascript_inline</code>.</li>
-</ul>
-
-<p>
-When any filter is specified without a "<code>+</code>" or
-"<code>-</code>", any filters not explicitly enabled are
-disabled. Filters and shortcuts can be explicitly disabled by
-preceding the name by a minus sign (&apos;-&apos;), which is useful
-after using a shortcut. For example,
-&quot;<code>core,-combine_css</code>&quot; enables all the core
-filters
-<em>except</em> <code>combine_css</code>.
-</p>
-
-<p>
-If all names are prefixed with "<code>+</code>" or "<code>-</code>" then the
-filter set is incrementally adjusted from the current system settings based on
-the configuration files.  For example, in a server
-with <code>RewriteLevel</code> set to <code>CoreFilters</code>, the query-string
-</p>
-<pre class="prettyprint">
-  ?PageSpeedFilters=+lazyload_images,-inline_images
-</pre>
-<p>
-will leave all the core filters enabled, but will add lazyload_images
-and disable inline images.
-</p>
-
-<h3 id="ModPagespeedFilters">Controlling inlining limits</h3>
-
-<p>Query parameters:</p>
-<pre class="prettyprint">
-  PageSpeedCssFlattenMaxBytes=<i>value</i>
-  PageSpeedCssImageInlineMaxBytes=<i>value</i>
-  PageSpeedCssInlineMaxBytes=<i>value</i>
-  PageSpeedImageInlineMaxBytes=<i>value</i>
-  PageSpeedJsInlineMaxBytes=<i>value</i>
-</pre>
-<p>Request &amp; Response headers:</p>
-<pre class="prettyprint">
-  PageSpeedCssFlattenMaxBytes: <i>value</i>
-  PageSpeedCssImageInlineMaxBytes: <i>value</i>
-  PageSpeedCssInlineMaxBytes: <i>value</i>
-  PageSpeedImageInlineMaxBytes: <i>value</i>
-  PageSpeedJsInlineMaxBytes: <i>value</i>
-</pre>
-
-<p>
-These specify the limits for the following inlining options:
-</p>
-
-<ul>
-  <li><code>PageSpeedCssFlattenMaxBytes</code> sets the maximum size of CSS
-        files that will be flattened.</li>
-  <li><code>PageSpeedCssImageInlineMaxBytes</code> sets the maximum
-        size of images inside CSS. For inline CSS in HTML files, the
-        value used is the smaller of this value
-        or <code>PageSpeedImageInlineMaxBytes</code>.
-  <li><code>PageSpeedCssInlineMaxBytes</code> sets the maximum size of CSS
-        files that will be inlined.</li>
-  <li><code>PageSpeedImageInlineMaxBytes</code> sets the maximum size of
-        image files that will be inlined.</li>
-  <li><code>PageSpeedJsInlineMaxBytes</code> sets the maximum size of
-        JavaScript files that will be inlined.</li>
-</ul>
-
-<p>
-Here is an example that combines many of the above query parameters to enable
-all the core filters <em>except</em> the cache extension filters, and sets the
-JavaScript inlining limit to a high value so that most JavaScript files will
-be inlined:
-</p>
-<pre>
-  http://..../index.html?PageSpeedFilters=core,-extend_cache&amp;PageSpeedJsInlineMaxBytes=102400
-</pre>
-
-<h3 id="Client-Options">Client options in queries and headers</h3>
-  <p>
-  This is an experimental option, its name and values are subject to change.
-  This option allows the client to customize the optimizations applied to a
-  request and can be used in a header or query parameter.
-  </p>
-
-  <p>As a query parameter:</p>
-<pre class="prettyprint">
-  X-PSA-Client-Options=<i>client-options</i>
-</pre>
-<p>As a Request or Response header:</p>
-<pre class="prettyprint">
-  X-PSA-Client-Options: <i>client-options</i>
-</pre>
-
-<p>
-The format of client-options is
-</p>
-<pre>
-  name1=value1,name2=value2, ...
-</pre>
-
-<p>
-The order of the name-value pairs does not matter. The supported options are:
-</p>
-
-<pre>
-  v=1
-</pre>
-<p>Version of the header. '1' is the only supported version for now.</p>
-<pre>
-  <code>m=integer-value</code>
-</pre>
-<p> Mode. Valid values are</p>
-  <ul>
-  <li> <code>0</code>, the client prefers that the server operates in its
-   default mode. </li>
-  <li> <code>1</code>, the client prefers that no image is transformed. </li>
-  <li> <code>2</code>, the client prefers that no resource is transformed.
-  This is equivalent to "?PageSpeedFilters=" in the request URL </li>
-  </ul>
-
-<pre>
-  <code>iqp=integer-value</code>
-</pre>
-<p> Image quality preference. Valid values are </p>
-  <ul>
-  <li> <code>0</code>, the client prefers that the server uses its own default
-  image quality. </li>
-  <li> <code>1</code>, the client prefers low image quality. </li>
-  <li> <code>2</code>, the client prefers medium image quality. </li>
-  <li> <code>3</code>, the client prefers high image quality. </li>
-  </ul>
-
-<h3 id="restrict-request-options">Restrict per-request configuration</h3>
-  <p class="note">
-    <strong>Note: New feature as of 1.9.32.1</strong>
-  </p>
-  <p>
-  Interpretation of PageSpeed query parameters and headers can be restricted to
-  requests specifying a request option override token.
-  The token is specified in the server configuration file and disallows
-  request option overriding when the request does not specify the correct token.
-  This option can be used to reduce the attack surface of denial of service
-  attacks.
-  </p>
-  <dl>
-  <dt>Apache:</dt>
-  <dd>
-  <pre class="prettyprint">ModPagespeedRequestOptionOverride example_token</pre>
-  </dd>
-  <dt>Nginx:</dt>
-  <dd>
-  <pre class="prettyprint">pagespeed RequestOptionOverride example_token</pre>
-  </dd>
-  </dl>
-  <p>
-  This feature provides a mechanism to restrict the ability for filters and
-  options to be specified in query parameters and request headers.
-  To enable it, an override token must be specified in the configuration file,
-  and requests must specify the same token for filters and options to be
-  applied.
-  Query parameters, except for <code>PageSpeed=on</code>,
-  <code>PageSpeed=off</code>, or  <code>PageSpeed=noscript</code> will then only
-  be interpreted when accompanied by the correct
-  <code>RequestOptionOverride</code> token. For example, the rewrite_css filter
-  would be used in this example.
-  </p>
-  <p>
-  The request must specify the token in a query parameter or header,
-  for example:
-  <pre>
-  <a href="http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css&PageSpeedRequestOptionOverride=example_token">http://modpagespeed.com/rewrite_css.html?PageSpeed=on&PageSpeedFilters=rewrite_css&PageSpeedRequestOptionOverride=example_token</a></pre>
-  <p>
-  Any request not containing the correct <code>RequestOptionOverride</code>
-  token or not containing a <code>RequestOptionOverride</code> token will ignore
-  all other PageSpeed filters and options specified.
-  </p>
-  <p class="note">
-    <strong>
-    Note: even if applied, PageSpeed=on/off/noscript still takes effect.
-    </strong>
-  </p>
-</h3>
-
-<h3 id="noop">Noop query-parameter</h3>
-<p class="note">
-  <strong>Note: New feature as of 1.10.33.0</strong>
-</p>
-<p>
-To help bust browser caches, especially with experiments, any
-PageSpeed URL can accept the
-<code>PageSpeedNoop</code> query-paramter with an integer value.  This
-query-parameter will be ignored by PageSpeed and stripped from the
-URL early in the processing flow.  The origin will not see the <code>Noop</code>
-parameter, and PageSpeed's server-caches will not be affected.  However, it
-will prevent your browser from using a cached value.
-</p>
-
-<p>Examples:</p>
-<pre class="prettyprint"
-     >http://images.example.com/foo.png?PageSpeedNoop=571
-http://www.example.com/index.html?q=foo&PageSpeedNoop=99438
-</pre>
-
-<h2 id="Configuring-mod_pagespeed_examples">
-  Configuring mod_pagespeed_examples</h2>
-<p class="note"><strong>Note: Apache-only</strong></p>
-
-<p>
-mod_pagespeed ships with a directory of sample HTML, JavaScript,
-Image, and CSS files to demonstrate the rewrite passes that it
-executes.  These also form the basis of an installation smoke-test to
-ensure that the configured system is operating correctly.  Assuming
-the files are installed in /var/www/mod_pagespeed_example, the
-following configuration file fragment will enable them to be served
-using reasonable caching headers.
-</p>
-<pre class="prettyprint lang-sh">
-    # These caching headers are set up for the mod_pagespeed example, and
-    # also serve as a demonstration of good values to set for the entire
-    # site, if it is to be optimized by mod_pagespeed.
-
-    &lt;Directory /var/www/mod_pagespeed_example&gt;
-      # To enable to show that mod_pagespeed to rewrites web pages, we must
-      # turn off Etags for HTML files and eliminate caching altogether.
-      # mod_pagespeed should rewrite HTML files each time they are served.
-      # The first time mod_pagespeed sees an HTML file, it may not optimize
-      # it fully.  It will optimize better after the second view.  Caching
-      # defeats this behavior.
-      &lt;FilesMatch "\.(html|htm)$"&gt;
-        Header unset Etag
-        Header set Cache-control "max-age=0, no-cache"
-      &lt;/FilesMatch&gt;
-
-      # Images, styles, and JavaScript are all cache-extended for
-      # a year by rewriting URLs to include a content hash..  mod_pagespeed,
-      # can only do this if the resources are cacheable in the first place.
-      # The origin caching policy, set here to 10 minutes, dictates how
-      # frequently mod_pagespeed must re-read the content files and recompute
-      # the content-hash.  As long as the content doesn't actually change,
-      # the content-hash will remain the same, and the resources stored
-      # in browser caches will stay relevant.
-      &lt;FilesMatch "\.(jpg|jpeg|gif|png|js|css)$">
-        Header unset Etag
-        Header set Cache-control "public, max-age=600"
-      &lt;/FilesMatch&gt;
-    &lt;/Directory&gt;
-</pre>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/faq.html b/doc/faq.html
deleted file mode 100644
index fae2ab5..0000000
--- a/doc/faq.html
+++ /dev/null
@@ -1,777 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Frequently Asked Questions</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Frequently Asked Questions</h1>
-<h2 id="other-servers">I'm not running Apache or Nginx, do you support my
-http server?</h2>
-
-<p>
-While we only support Apache and Nginx, there are community developed ports to
-several other webservers:
-</p>
-<ul>
-<li><a
-href="https://cwiki.apache.org/confluence/display/TS/ats_speed">Apache
-Traffic Server</a></li>
-<li><a href="http://www.iispeed.com/"
->Internet Information Services (IIS)</a></li>
-<li><a
-href="http://open.litespeedtech.com/mediawiki/index.php/Help:Modules:PageSpeed"
->OpenLiteSpeed</a></li>
-</ul>
-<p>
-If you run a webserver that doesn't have a port, one option would be to set up
-some other server running PageSpeed as a reverse proxy in front of it.  If
-you're not sure which to use we recommend using PageSpeed on nginx, but any of
-these servers should work well as an optimizing reverse proxy.
-</p>
-<p>
-(And, of course, if you're interested in porting PageSpeed to a new server, that
-would be awesome, and anyone porting should feel free to send us lots of
-detailed technical questions!)
-</p>
-
-<h2 id="when-support">When will you support my favorite OS or protocol?</h2>
-
-<p>
-While we have no dates to announce for upcoming releases, we definitely want to
-know what you think we should be working
-on. Please <a href="https://github.com/apache/incubator-pagespeed-mod/issues">search
-our issues</a> for your feature. If you don't find
-it, <a href="https://github.com/apache/incubator-pagespeed-mod/issues/new">open a new
-issue</a> and tag it "Type-Enhancement". To get updates on an issue, click the
-"star" icon for it.  This also lets us know how many people are interested in
-the issue.  If your issue is Nginx-specific, consider posting on
-the <a href="https://github.com/apache/incubator-pagespeed-ngx/issues">ngx_pagespeed
-bug tracker</a>.
-</p>
-
-<h2 id="suse">Do you support SUSE?</h2>
-<p>
-We support SUSE on Apache and Nginx when <a href="build_from_source">building
-from source</a>.  For Apache, Robert Munteanu (robert.munteanu@gmail.com) has
-set up a repository which publishes OpenSUSE RPMs for mod_pagespeed. The
-repository is
-hosted <a href="http://software.opensuse.org/package/apache2-mod_pagespeed">on
-OpenSUSE's build service instance</a>.  The builds have seen some testing on one
-of Robert's servers (OpenSUSE 12.1/x86_64) but he'd appreciate anyone else
-testing it.
-</p>
-<p>
-To enable the module, install it, add <code>deflate pagespeed</code> to your
-list of Apache modules in <code>/etc/sysconfig/apache2</code> and restart
-Apache.
-</p>
-<p>
-Please note that the module is linked dynamically with the current system
-libraries and as such will bring in more dependencies than the 'stock' Fedora or
-CentOS RPM.
-</p>
-
-<h2 id="not-rewriting">Why isn't PageSpeed rewriting any of my pages?</h2>
-<p>
-Check the HTTP response headers from your HTML page:
-</p>
-<pre class="prettyprint lang-bsh">
-  curl -D- http://example.com | less
-</pre>
-<p>
-You should get something like:
-</p>
-<dl>
-  <dt>Apache:<dd>
-<pre>
-Date: Fri, 30 Sep 2016 15:36:57 GMT
-Server: Apache/2.4.7 (Ubuntu)
-...
-X-Mod-Pagespeed: 1.11.33.4-0
-...
-</pre>
-  <dt>Nginx:<dd>
-<pre>
-Date: Fri, 30 Sep 2016 15:37:24 GMT
-Server: nginx/1.11.4
-...
-X-Page-Speed: 1.11.33.4-0
-</pre>
-</dl>
-<p>
-If you don't see an <code>X-Mod-Pagespeed</code> header (Apache)
-or <code>X-Page-Speed</code> header (Nginx), this means that your webserver
-isn't letting PageSpeed run.  This could be because it isn't actually installed,
-you don't have it turned on in the configuration file, or many other reasons.
-In Apache the problem might be that you have multiple
-<code>SetOutputFilter</code> directives: only one of those will win. See the
-Apache <a
-href="http://httpd.apache.org/docs/current/mod/core.html#SetOutputFilter"
->SetOutputFilter documentation</a>.
-</p>
-<p>
-If you do see the header, but it doesn't look like PageSpeed is making any
-changes to your page, its possible that none of the active filters are finding
-anything to rewrite.  Try comparing your page with PageSpeed off and with
-the <a href="filter-whitespace-collapse">collapse_whitespace</a> filter enabled:
-</p>
-<pre class="prettyprint">
-  curl -D- 'http://example.com?ModPagespeed=off' | less
-  curl -D- 'http://example.com?ModPagespeed=on&ModPagespeedFilters=collapse_whitespace' | less
-</pre>
-<p>
-If you see a change when run with <code>collapse_whitespace</code> on, that
-means PageSpeed is running but the filters you have selected aren't
-optimizing anything.  There are several reasons that could happen:
-</p>
-<ul>
-  <li>The filters you have enabled aren't aggressive enough.</li>
-  <li>Your resources (images, css, javascript) aren't cacheable.  If
-      PageSpeed sees <code>cache-control</code> headers such
-      as <code>nocache</code> or <code>private</code> it will not rewrite the
-      resources.</li>
-  <li>CSS, JavaScript, and image files served from a distinct domain from the
-      HTML must have the resource domain authorized. See
-      <a href="domains">Domains</a>.</li>
-  <li>Your CSS has new CSS3 syntax or other constructions we don't support.
-      See <a href="http://github.com/apache/incubator-pagespeed-mod/issues/108"
-      >issue 108</a>.
-      The <a href="filter-css-rewrite#configuration"
-      >fallback_rewrite_css_urls</a> filter may be able to help. You can also
-      use the <a href="build_from_source#debug-css">standalone CSS parser</a> to
-      help debug these issues.</li>
-  <li>Your resources are served over HTTPS.   HTTPS resources can currently only
-      be rewritten if they are origin-mapped or loaded from directly from the
-      file-system. See <a href="https_support">HTTPS Support</a>.</li>
-</ul>
-
-<h2 id="missing-dependency">Why am I getting "Error: Missing Dependency: httpd &gt; = 2.2" even though I have Apache 2.2.? installed?</h2>
-<p>
-  You are probably trying to install mod_pagespeed using yum or apt-get
-  (the .rpm or .deb binaries), but you installed Apache using a different
-  method (cPanel, Wordpress, etc.). This will not work because mod_pagespeed
-  binaries depend upon Apache being installed using yum or apt-get.
-</p>
-<p>
-  Instead you must either
-  <a href="build_mod_pagespeed_from_source">
-    build from mod_pagespeed from source
-  </a>
-  or <a href="http://www.google.com/">search</a> for mod_pagespeed + your
-  platform to see if someone has documented an install process for that
-  platform. For example,
-  <a href="#cpanel-install">cPanel based installation</a>.
-</p>
-
-<h2 id="cpanel-install">I'm using cPanel on my server, how do I install mod_pagespeed?</h2>
-<p>
-cPanel installs Apache httpd server from source via the built-in EasyApache setup
-and build process. In order to enable mod_pagespeed on your server, download
-and install the <a href="https://github.com/apache/incubator-pagespeed-cpanel">mod_pagespeed module
- for cPanel WHM</a> - once the module is installed, you can select "mod_pagespeed" as
-one of the modules during the regular EasyApache build (via the online tool, or from
-the command line). Do not install mod_pagespeed from .deb. or .rpm packages - cPanel
-requires that you use the EasyApache build process.
-</p>
-
-<h2 id="wordpress-blank">I'm using WordPress and my pages are blank. Why?</h2>
-<p>
-Disable compression in the WordPress plugin, so that mod_pagespeed will process
-uncompressed HTML. mod_pagespeed ensures that its output will be compressed by
-enabling <a href="http://httpd.apache.org/docs/current/mod/mod_deflate.html"
->mod_deflate</a>.
-</p>
-
-<h2 id="broken">PageSpeed broke my site; what do I do?</h2>
-<p>
-First of all, sorry about that. We put a lot of work into validating our
-rewriters against a large corpus of websites and we disable filters that cause
-problems as soon as we can, but sometimes things slip through.
-</p>
-<p>
-Second, please upgrade to the latest version; we are continually working on
-bug-fixes and turning off filters that break pages.
-</p>
-If it's still breaking your site, please post a bug
-(<a href="https://github.com/apache/incubator-pagespeed-mod/issues/new">Apache</a>,
- <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/new">Nginx</a>). If
-you can, including the following information will make it much easier to
-diagnose:
-<ol>
-  <li>Try appending <code>?ModPagespeed=off</code> to the URL. This de-activates
-      PageSpeed. If the site is still broken, it is not a rewrite
-      or HTML parsing problem. It might be a configuration clash, please ask us
-      on our <a href="mailing-lists#discussion">discussion group</a>.</li>
-  <li>If that fixed the site, try
-      appending <code>?ModPagespeed=on&ModPagespeedFilters=</code> to the
-      URL. This turns on PageSpeed, but no filters. If the site is broken
-      now, it is an HTML parsing
-      problem. Please <a href="mailing-lists#discussion">let us know</a>.</li>
-  <li>If the site still worked, try
-      appending <code>?ModPagespeed=on&ModPagespeedFilters=foo</code> for
-      various filters "foo". For example try:
-      <pre class="prettyprint lang-bsh">
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=extend_cache
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=combine_css
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=inline_css
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=inline_javascript
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=insert_image_dimensions
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=rewrite_images
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=rewrite_css
-http://www.modpagespeed.com/?ModPagespeed=on&ModPagespeedFilters=rewrite_javascript</pre>
-      You may have to reload them a few times over several seconds to make sure
-      they have had time to load sub-resources into cache and rewrite them. If
-      one of these breaks your site, you now know which filter is at
-      fault. Please <a href="mailing-lists#discussion">let us know</a>. You can
-      disable that filter by adding a line to your <code>pagespeed.conf</code>
-      file:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisableFilters foo</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DisableFilters foo;</pre>
-</dl>
-  </li>
-</ol>
-
-<h2 id="mod_rewrite">I am getting 404s for rewritten resources
-  (like example.png.pagespeed.ic.LxXAhtOwRv.png) or for the
-  mod_pagespeed_admin console</h2>
-<p>
-  The most common reason that the rewritten resources 404 is because of
-  mod_rewrite <code>RewriteCond</code> rules. For example:
-</p>
-<pre class="prettyprint">
-RewriteCond %{REQUEST_FILENAME} !-f
-RewriteCond %{REQUEST_FILENAME} !-d
-RewriteRule ^ /404 [L,R=301]</pre>
-<p>
-  This rule causes 404 for all requests which don't exist on the filesystem,
-  including mod_pagespeed rewritten resources and the mod_pagespeed admin
-  console.
-</p>
-<p>
-  In order to fix this you must add an exception for mod_pagespeed URLs:
-</p>
-<pre class="prettyprint">
-  RewriteCond %{REQUEST_URI} !pagespeed</pre>
-<p>
-  This will allow rewritten resources, the admin console and static resources
-  necessary for some filters.
-</p>
-
-<h2 id="ignores-changes">PageSpeed does not pick up changes when I edit CSS
-or JavaScript files</h2>
-<p>
-There are two distinct cache-times at play when you use PageSpeed:
-<ol>
-  <li>The origin TTL which PageSpeed uses to refresh its internal
-      server-side cache.</li>
-  <li>The TTL with which PageSpeed serves rewritten resources to
-      browsers.</li>
-</ol>
-When PageSpeed first reads your resource file, it uses the origin TTL to figure
-out how often to re-examine the origin CSS file. Assume your origin TTL is 1
-day. Once PageSpeed has that file in cache, it will not go back &amp; re-check
-that file for a day. Changing the TTL after PageSpeed has put the resource in
-its cache will not help because PageSpeed is not going to reload the resource
-until the one in its cache expires, or you <a href="system#flush_cache">clear
-its cache</a>.
-</p>
-<p>
-We recommend an origin TTL of 10 minutes, which provides reasonable
-responsiveness when you update a file. If you try to make it much smaller, then
-your server will need to refresh it more frequently. This adds server load and
-reduces optimization.
-</p>
-<p>
-To see changes to your files more quickly while
-developing, <a href="system#flush_cache">flush the cache</a> on your server(s).
-</p>
-<p>
-If your environment allows you to
-enable <a href="domains#ModPagespeedLoadFromFile">LoadFromFile</a>,
-you can get the best of both worlds because PageSpeed can eliminate its
-internal server-side cache.
-</p>
-<h2 id="tiny-mce-errors">Why is PageSpeed giving me errors in jquery or
-js_tinyMCE?</h2>
-<p>
-Some JavaScript is introspective, being sensitive to its own name or the path
-it's loaded from.  While PageSpeed has an internal list
-(<a href="https://github.com/apache/incubator-pagespeed-mod/blob/master/net/instaweb/rewriter/rewrite_options.cc">DisallowTroublesomeResources</a>)
-hardcoded with filenames of JavaScript libraries that are known to be
-problematic, and <a href="restricting_urls#aris">inspects the source of
-others</a> looking for dangerous constructs, it doesn't always correctly
-determine whether it is safe to rewrite a given file.  If you have a file that
-is giving JavaScript errors, you can tell PageSpeed to leave it alone with
-<a href="restricting_urls">Disallow</a>.
-</p>
-<h2 id="name-resolution-failure">What's with all these "Serf" errors in my logs?
-Error status=670003 (Temporary failure in name resolution)</h2>
-<p>
-This can happen when the DNS cannot be accessed accurately from the server. Thus
-sub-resources cannot be fetched and rewritten correctly.
-</p>
-<p>
-To test that this is the case, <code>ssh</code> into your machine and <code>wget</code> a URL:
-</p>
-<pre class="prettyprint lang-bsh">
-  $ ssh YOUR_SITE
-  $ wget http://YOUR_SITE/
-</pre>
-<p>
-If this fails, then DNS is not accessible or there is some other networking
-issue stopping you from accessing your host from itself.
-</p>
-<p>
-One solution is to use <a href="domains#mapping_origin">origin-mapping</a> to
-indicate the host from which the resources should be fetched:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMapOriginDomain localhost www.example.com</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MapOriginDomain localhost www.example.com;</pre>
-</dl>
-<p>
-This bypasses DNS lookup by telling PageSpeed to get all resources for
-domain <code>www.example.com</code> from <code>localhost</code>.
-</p>
-<p>
-This can also be used to improve the performance of PageSpeed when it is
-sitting behind a load balancer. It may be preferable to use localhost to load
-the resources rather than going out to the load-balancer and back.
-</p>
-<h2 id="tmpfs">Can I move PageSpeed's file-based cache into RAM?</h2>
-<p>
-Why yes, you can. PageSpeed uses the file system for its cache
-implementation. There is no requirement that this be a physical disk. Disk
-pressure will be reduced and performance may be improved by using a memory-based
-file system.
-</p>
-<p>
-Put this in <code>/etc/fstab</code>, with the uid and guid set to the appropiate
-user and group of your webserver, and set path to your needs. Feel free to
-change the size; here it is 256Mb:
-<pre class="prettyprint lang-bsh">
-  tmpfs /path/to/pagespeed_cache tmpfs size=256m,mode=0775,uid=httpd,gid=httpd 0 0
-</pre>
-<p>
-Save it, and after that mount the tmpfs:
-</p>
-<pre class="prettyprint lang-bsh">
-  mount /path/to/pagespeed_cache
-</pre>
-<h2 id="configure-make">Why don't you allow source-installs in Apache via
-./configure && make?</h2>
-<p>
-mod_pagespeed is dependent on several other packages that
-use <code>gclient</code>.  For us to switch away from this build methodology
-we'd have to either:
-</p>
-<ul>
-  <li>rewrite the functionality we get for free from other packages,
-      <b>or</b></li>
-  <li>get these packages to switch
-      methodologies <b>and</b> document for people installing from source that
-      they must <code>configure</code> and <code>make</code> about 10 other
-      packages before they could compile ours.</li>
-</ul>
-<p>
-To do either of those would cost us a lot of development time that we'd prefer
-to spend making PageSpeed better.  The benefit of <code>gclient</code>,
-besides the above, is that it lets us control explicitly which library versions
-we link in, out of a large number of direct and transitive dependencies, helping
-us create a consistent experience for our source-code builds. If we had to ask
-our source-code installers to <code>configure</code> and <code>make</code>
-multiple dependent libraries there would likely be a lot of
-version-incompatibilities.
-</p>
-<p>
-We do support <code>./configure && make</code> in Nginx, but that only works
-because we package up a binary distribution of the PageSpeed Optimization
-Library and a "<a href="build_ngx_pagespeed_from_source">source</a>"
-installation only builds the ngx_pagespeed-specific files from source.  When you
-want
-to <a href="https://github.com/apache/incubator-pagespeed-ngx/wiki/Building-PSOL-From-Source">build
-PSOL from source along with ngx_pagespeed</a> you still need to
-use <code>gclient</code>.
-</p>
-<h2 id="tracking-image">Why is my Google Analytics data being inflated by
-"Serf"?</h2>
-<p>
-If you track page views with a tracking image, you will need to explicitly tell
-PageSpeed not to try to fetch that image. For example if your tracking image
-were:
-</p>
-<pre class="prettyprint">
-  &lt;img src="/ga.php?utmac=..."&gt;
-</pre>
-<p>
-you would add:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisallow "*/ga.php*"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed Disallow "*/ga.php*";</pre>
-</dl>
-<p>
-to your configuration file.
-</p>
-<h2 id="mod_php">mod_pagespeed does not rewrite pages produced from mod_php</h2>
-<p>
-mod_pagespeed only rewrites pages specifically marked as <code>Content-Type:
-text/html</code> (and a few other HTML types). If you dynamically generate your
-pages from mod_php, PHP needs to set this header correctly.
-</p>
-<p>
-One way to do this is to use the PHP's <a href="http://php.net/manual/en/function.header.php">header function</a>:
-</p>
-<pre class="prettyprint">
-  &lt;?php
-  header('Content-Type: text/html')
-  ?&gt;
-</pre>
-<p>
-This code goes at the top of your php file.
-</p>
-<h2 id="meta_tags_and_xhtml">PageSpeed causes my page to display an <code>XML
-Parsing Error</code> message</h2>
-<p>
-This usually happens when using a content management or generation system
-(we've seen it with Munin and Magento for example). The full error message
-looks something like:
-</p>
-<pre class="prettyprint">
-  XML Parsing Error: mismatched tag. Expected: &lt;/li&gt;.
-  Location: http://www.example.com/
-  Line Number 123, Column 4: &lt;/ul&gt;
-</pre>
-<p>
-This happens when the generated content has a <code>meta</code> tag that
-identifies the content as XHTML but the content has markup that is not valid
-XHTML, <em>and</em> you have configured your webserver to set the content type
-to HTML, so the browser parses it as HTML and doesn't detect the invalid XHTML
-errors.
-</p>
-<p>
-However, when <code>convert_meta_tags</code> is enabled (and it's a core filter
-so is on by default), PageSpeed inserts a content header into the response
-with the value in the <code>meta</code> tag, namely XHTML
-(<code>application/xhtml+xml</code> to be precise), resulting in the browser
-displaying the error message because it is now parsing the page as XHTML and
-it rejects the invalid content.
-</p>
-<p>
-There are three solutions, in descending order of preference:
-<ul>
-<li>If the content is XHTML, write XHTML and validate it with an XHTML
-  validator.</li>
-<li>If the content is not XHTML, remove the <code>meta</code> tag that claims
-  it is.</li>
-<li>If the content is not XHTML but you can't remove the <code>meta</code> tag,
-  say because your CMS doesn't let you, disable the
-  <code>convert_meta_tags</code> filter in your <code>pagespeed.conf</code>:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisableFilters convert_meta_tags</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DisableFilters convert_meta_tags;</pre>
-</dl>
-</li>
-</ul>
-<h2 id="selinux_permissions">Why do I get <em>Permission denied</em> errors
-  in my log file on CentOS, RHEL, or any system using SELinux?</h2>
-<p>
-The symptom is many error messages in the webserver log file of the form (split
-across multiple lines here for readability):
-</p>
-<pre class="prettyprint">
-  [Mon Jan 01 02:03:04 2001] [error] [mod_pagespeed 1.0.22.7-2005 @1234]
-    /path/to/pagespeed_cache/randomgibberish.lock:0:
-      creating dir (code=13 Permission denied)
-</pre>
-<p>
-These are because SELinux by default restricts permissions of daemons for
-extra security, so you need to grant permission for the <code>httpd</code>
-or daemon to write to the cache directory:
-</p>
-<pre class="prettyprint">
-  chcon -R -t httpd_sys_content_t /path/to/pagespeed_cache
-</pre>
-This is for Apache; we're not sure what you need to do for Nginx.
-
-<h2 id="loopback_fetches">My logs contain messages about missing
-files requested from 224.0.0.0 and resources are not optimized, what's wrong?</h2>
-<p>
-
-For <a href="CVE-2012-4001">security reasons</a>, PageSpeed will only fetch
-from host names it is explicitly told about via its domain configuration
-directives and from 127.0.0.1, the loopback interface of the server it's running
-on. Many Apache configuration management tools, however, will configure virtual
-hosts to only listen on the external IP, which causes those fetches to fail.
-<p>
-If you are affected, the following options may be appropriate:
-<ul>
- <li>Unless you have a reason not to, have your virtual hosts listen on all
-    interfaces: change the directives of the form
-     <code>&lt;VirtualHost 198.51.100.1:80&gt;</code> to the form
-     <code>&lt;VirtualHost *:80&gt;</code>
- </li>
- <li>For every virtual host, list its domain name(s) with the
-     <code>ModPagespeedDomain</code> directive inside its own
-     <code>&lt;VirtualHost&gt;</code> block. For example:
-     <pre class="prettyprint">
-&lt;VirtualHost 198.51.100.1:80&gt;
-ServerName www.example.com
-ModPagespeedDomain www.example.com
-</pre>
-  </li>
-  <li>For every virtual host, provide a <a href="domains#mapping_origin">
-  <code>ModPagespeedMapOriginDomain</code></a> directive giving where to load
-  its resources, for example:
-     <pre class="prettyprint">
-&lt;VirtualHost 198.51.100.1:80&gt;
-ServerName www.example.com
-ModPagespeedMapOriginDomain 198.51.100.1 www.example.com
-</pre>
-  </li>
-  <li>If you have <a href="configuration#virtual-hosts">
-  <code>ModPagespeedInheritVHostConfig on</code></a>, you can also provide the
-  origin mapping globally, which may be useful in combination with wildcards,
-  for example:
-    <pre class="prettyprint">
-ModPagespeedMapOriginDomain loadbalancer.example.com *.example.com
-</pre>
-
-  <p class="warning"><b>Warning:</b> You do not generally want to use
-    <code>Domain</code> globally as doing so will tell PageSpeed
-    that you consider all of these domains as mutually trusting.</p>
- </li>
- <li>If you are running a proxy or for some other reason cannot easily
-     enumerate all virtual hosts, it is possible to disable this behavior,
-     after taking some precautions. Please see
-     <a href="domains#fetch_servers">fetch server restrictions</a> for
-     more information.
-  </li>
-</ul>
-
-<h2 id="beacons">Why are rewritten pages sending POSTs back to my server?</h2>
-<p>
-Certain filters need to determine things about the page: in particular, the
-<code><a href="filter-lazyload-images">lazyload_images</a></code>,
-<code><a href="filter-inline-preview-images">inline_preview_images</a></code>,
-and <code><a href="reference-image-optimize#inline_images">inline_images</a>
-</code> filters need to determine which images are above the fold, and the
-<code><a href="filter-prioritize-critical-css">prioritize_critical_css</a>
-</code>filter needs to determine the CSS actually used by the page.
-<p>
-</p>To do this, the filters inject JavaScript into the rewritten HTML that
-analyzes the page in the browser and sends data back to mod_pagespeed using a
-POST method. The default target is <code>/mod_pagespeed_beacon</code> but that
-can be changed using the <code>
-<a href="filter-instrumentation-add#beacon_url">ModPagespeedBeaconUrl</a>
-</code> directive.
-</p>
-
-<h2 id="control_beacons">How do I enable or disable beacon POSTs being sent back
-to my server?</h2>
-<p>
-Filters that use the beacon automatically inject JavaScript to send the POST
-back to the server, and the POST handler is always enabled in mod_pagespeed,
-so there's nothing to do to enable beaconing.
-</p>
-<p>
-To disable the use of beacons by the image rewriting filters use the <code>
-<a href="config_filters#beacons">ModPagespeedCriticalImagesBeaconEnabled</a>
-</code> directive. If you disable image beacons but enable filters that use
-them, the filters will work but not as well as when beacons are enabled.
-<p>
-To disable the POST handler for all filters there are two options: either
-disable all the filters that use it, or use a
-<code>&lt;Location&gt;</code> directive to block it. Filters are disabled using
-<a href="config_filters#enabling">ModPagespeedDisableFilters</a>. An example
-<code>&lt;Location&gt;</code> directive to block all beacon POST handling that
-can be added to your <code>pagespeed.conf</code> file is:
-<pre class="prettyprint" id="disable_handler">
-  &lt;Location /mod_pagespeed_beacon&gt;
-    Order allow,deny
-  &lt;/Location&gt;
-</pre>
-<p>
-If you block POSTs but enable filters that use beacons, depending on the filter
-it will either have limited functionality or have no useful effect, but in all
-cases pointless processing will occur in both the server and the browser, so
-you should disable and forbid these filters if you block POSTs.
-</p>
-<p class="note">
-<strong>Note:</strong>Even if you disable all filters that use beacons someone
-could use tools like <code>wget</code> or <code>curl</code> to send POSTs to
-your server. These will have no effect but they will require processing. If you
-want to completely disable POST handling use a <code>&lt;Location&gt;</code>
-directive.
-</p>
-
-<h2 id="noscript-redirect">Why is PageSpeed inserting a meta refresh to
-/?PageSpeed=noscript or /?ModPagespeed=noscript at the top of the page?</h2>
-<p>
-The <code><a href="filter-js-defer">defer_javascript</a></code>,
-<code><a href="filter-lazyload-images">lazyload_images</a></code>,
-<code><a href="filter-dedup-inlined-images">dedup_inlined_images</a></code>, and
-<code><a href="filter-local-storage-cache">local_storage_cache</a></code>
-filters require JavaScript to render pages correctly. To support clients that
-have JavaScript disabled, if any of these filters are enabled, PageSpeed will
-insert a meta refresh inside a <code>noscript</code> tag at the top of the page.
-This meta refresh will redirect clients with JavaScript disabled to the current
-URL with a '<code>?PageSpeed=noscript</code>' query parameter appended which
-disables filters that require JavaScript.
-</p>
-<p>
-If you wish to disable this redirect, for instance if your page already requires
-JS to function correctly, set the following option in your
-<code>pagespeed.conf</code>:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedSupportNoScriptEnabled false</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed SupportNoScriptEnabled false;</pre>
-</dl>
-</p>
-
-
-<h2 id="collapse-newlines">Why won't the <code>collapse_whitespace</code> filter
-remove newlines?</h2>
-
-<p>
-When removing whitespace from HTML, some website optimizers remove newlines
-entirely, but PageSpeed leaves them in.  This isn't actually a problem with newlines,
-however, it's that it's not generally safe to remove a run of whitespace
-entirely.  You can turn any number of consecutive whitespace characters into a
-single one, and we do that, but removing the whole run can make the site render
-differently.
-</p>
-
-<p>
-To take a simple example, consider:
-</p>
-
-<pre>
-    &lt;body&gt;
-      &lt;h1&gt;Hello World&lt;/h1&gt;
-      Lorem     ipsum       dolor sit amet, consectetur
-      adipiscing elit. Fusce molestie ante &lt;b&gt;vitae&lt;/b&gt;
-      iaculis         varius. ...
-    &lt;/body&gt;
-</pre>
-
-<p>
-PageSpeed with <code>collapse_whitespace</code> will turn this into:
-</p>
-
-<pre>
-&lt;body&gt;
-&lt;h1&gt;Hello World&lt;/h1&gt;
-Lorem ipsum dolor sit amet, consectetur
-adipiscing elit. Fusce molestie ante &lt;b&gt;vitae&lt;/b&gt;
-iaculis varius. ...
-&lt;/body&gt;
-</pre>
-
-<p>
-If PageSpeed went further and put it all on one line, it would be
-converting <code>&lt;b&gt;vitae&lt;/b&gt; iaculis</code>
-into <code>&lt;b&gt;vitae&lt;/b&gt;iaculis</code>, which would change the
-rendering from "<b>vitae</b> iaculis" into "<b>vitae</b>iaculis"; one word
-instead of two.  It would have been safe to turn <code>&lt;body&gt;
-&lt;h1&gt;Hello World&lt;/h1&gt;</code> into <code>&lt;body&gt;&lt;h1&gt;Hello
-World&lt;/h1&gt;</code>, but doing one and not the other requires understanding
-the CSS (and JS) to the point where we can reliably tell that one pair of
-elements are <code>display:&nbsp;block</code> while the other pair
-are <code>display:&nbsp;inline</code>.
-</p>
-
-<h2 id="warning-fetch-rate">I've got a warning saying
-"Serf fetch failure rate extremely high". What does this mean?</h2>
-
-<p>The warning means that, when PageSpeed tried to fetch resources inside your
-web page for optimization, over 50% of attempts inside a 30-minute period
-failed. This may just mean you have some broken resource includes in your
-pages (in which case, it may be a good idea to fix them for better performance),
-but might indicate that PageSpeed's fetching is not working properly. If you
-have in-place resource optimization on, that can result in user requests for
-<code>.pagespeed.</code> URLs returning error 404 intermittently.</p>
-
-<p>First of all, check to see if the log mentions anything else about fetch
-trouble. If what's there is not helpful, the root cause may be more obvious
-if you follow these steps:</p>
-<ol>
-<li>Disable <a href="system#ipro">in-place resource optimization</a> temporarily.
-    </li>
-<li>Clear PageSpeed cache.</li>
-<li>Open a test page with a <code>?PagespeedFilters=+debug</code> query
-   parameter, reload it a few times, and see if resources are getting optimized,
-   and if not if there is an error message.
-<li>Revert the config changes.</li>
-</ol>
-
-<p>Most likely you may need to configure an <a href="domains#mapping_origin">
-origin domain, to specify the host or IP to talk to fetch resources.</p>
-
-<p>You may also want to consider using <a href="domains#ModPagespeedLoadFromFile">
-<code>LoadFromFile</code></a> functionality, as that performs much better if
-your resources are static.</p>
-
-<h2 id="varying-results">Sometimes pages are served as partially optimized. How can
-I achieve a more steady optimization ouput?</h2>
-
-<p>There are two (relatively) common situations that may lead up to a fluctuating
-level of optimization in the output:
-<ol>
-<li>Low traffic, combined with short http expiry times for image, css and javascript
-responses: <br/>
-Consider increasing the http expiry applied to the original
-resources, or set up <a href="domains#ModPagespeedLoadFromFile">LoadFromFile</a>
-to allow the module to load static files directly from disk.</li>
-<li>High cache churn rates:<br/>
-If PageSpeed's caches are sized too small, optimized assets falling out of the cache
-may cause frequent reoptimization. <a href="system#caching">Sizing the cache</a> to 3
-to 4 times the size of the original assets of the website should allow the module to
-cache all the original resources plus multiple optimized variants (for serving 
-different user-agents and screen sizes).
-</li>
-<li>If the above did not help, the <a href="admin">admin pages</a> offer various tools
-that may assist in diagnosing what happens.</li>
-</ol>
-
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-attribute-elide.html b/doc/filter-attribute-elide.html
deleted file mode 100644
index dc8ede5..0000000
--- a/doc/filter-attribute-elide.html
+++ /dev/null
@@ -1,119 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Elide Attributes</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Elide Attributes</h1>
-
-
-<h2>Configuration</h2>
-<p>
-The 'Elide Attributes' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters elide_attributes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters elide_attributes;</pre>
-</dl>
-<p>
-in the configuration file.
-
-<h2>Description</h2>
-<p>
-The 'Elide Attributes' filter reduces the transfer size of HTML files
-by removing attributes from tags when the specified value is equal to
-the default value for that attribute. This can save a modest number of
-bytes, and may make the document more compressible by canonicalizing
-the affected tags.
-</p>
-
-<h2>Operation</h2>
-<p>
-There are two cases where an attribute value can be removed.  First,
-some attributes are "single-valued" or "boolean", in that the value
-specified for the attribute is irrelevant -- all that matters is
-whether the attribute is present or not.  In such cases, the filter
-will remove the value from the tag, leaving only the attribute name.
-</p>
-<p>
-For example, the following tag:
-</p>
-<pre class="prettyprint">
-  &lt;button name="ok" disabled="disabled"&gt;
-</pre>
-<p>
-can be rewritten to:
-</p>
-<pre class="prettyprint">
-  &lt;button name="ok" disabled&gt;
-</pre>
-<p>
-The second case is an optional attribute with a default value.  If an
-HTML attribute includes an explicit value for an attribute (perhaps to
-aid readability) that is equal to the default attribute, the filter
-will remove the attribute name and value, knowing that the browser
-will infer the intended attribute anyway.  For example, the following
-tag:
-</p>
-<pre class="prettyprint">
-  &lt;form method=get&gt;
-</pre>
-<p>
-can be rewritten to:
-</p>
-<pre class="prettyprint">
-  &lt;form&gt;
-</pre>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/elide_attributes.html?ModPagespeed=on&amp;ModPagespeedFilters=elide_attributes">example</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-The 'Elide Attributes' filter must be wary of documents with an XHTML
-doctype, as removing the value from a single-valued attribute will
-result in invalid XHTML.  The filter attempts to recognize XHTML
-doctype declarations and will disable this rewriting feature in such
-cases.
-</p>
-
-<h2>Risks</h2>
-<p>This filter is considered medium risk. It is safe for most pages, but
-  might break CSS formatting on certain pages that match on default attributes
-  that this filter removes. Further, JavaScript can be written that inspects
-  the DOM looking for the presence of certain attributes. Such JavaScript may
-  behave differently on a page which has removed otherwise unnecessary
-  attributes.</p>
-
-
-</div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-cache-extend-pdfs.html b/doc/filter-cache-extend-pdfs.html
deleted file mode 100644
index 2e88695..0000000
--- a/doc/filter-cache-extend-pdfs.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Extend Cache PDFs</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Extend Cache PDFs</h1><h2>Configuration</h2>
-<p>
-The 'Extend Cache PDFs' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters extend_cache_pdfs</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters extend_cache_pdfs;</pre>
-</dl>
-in the configuration file.
-
-<h2>Description</h2>
-<p>
-'Extend Cache PDFs' is a version of <a href="filter-cache-extend">Extend
-Cache</a> that acts on PDFs.  Unlike 'Extend Cache' it applies not only to
-resources but also to hyperlinks.  For example, while 'Extend Cache' would not
-apply to <code>&lt;a href=&quot;example.jpg&quot;&gt;</code>, 'Extend Cache
-PDFs' would apply to <code>&lt;a href=&quot;example.pdf&quot;&gt;</code>.
-</p>
-
-<h2>Operation</h2>
-<p>
-<a href="filter-cache-extend#operation">Extend Cache: Operation</a> describes
-the standard operation of cache extension in PageSpeed.  This filter identifies
-PDF URLs by their ".pdf" extension and marks them as eligible for cache
-extension.
-</p>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> for
-cache-extending PDFs
-<a
-href="https://www.modpagespeed.com/examples/extend_cache_pdfs.html?ModPagespeed=on&amp;ModPagespeedFilters=extend_cache_pdfs"
->in HTML</a>.
-</p>
-
-<h2>Limitations</h2>
-<p>
-In addition to the <a href="filter-cache-extend#limitations">limitations of
-Extend Cache</a>, this filter is limited by its reliance on file extensions for
-identifying potential PDF URLs.  PDF resources with URLs ending in something
-other than ".pdf" won't be considered for cache extension.
-</p>
-<h2>Risks</h2>
-<p>
-This filter has the same risks as <a href="filter-cache-extend#risks">Extend
-Cache</a>.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-cache-extend.html b/doc/filter-cache-extend.html
deleted file mode 100644
index 82ed930..0000000
--- a/doc/filter-cache-extend.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Extend Cache</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Extend Cache</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Extend Cache' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters extend_cache</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters extend_cache;</pre>
-</dl>
-<p>
-in the configuration file.  This is equivalent to enabling all three
-of <code>extend_cache_images</code>, <code>extend_cache_scripts</code>,
-and <code>extend_cache_css</code>.
-</p>
-<p>
-Also see: <a href="filter-cache-extend-pdfs">extend_cache_pdfs</a>.
-</p>
-
-<h2>Description</h2>
-<p>
-'Extend Cache' seeks to improve the cacheability of a web page's resources
-without compromising the ability of site owners to change the resources
-and have those changes propagate to users' browsers.
-</p>
-<p>
-This filter is based on the
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/caching#LeverageBrowserCaching">
-best practice</a> to optimize caching, as applied to the browser.
-</p>
-
-<h2 id="operation">Operation</h2>
-<p>
-The 'Extend Cache' filter rewrites the URL references in the HTML
-page to include a hash of the resource content (if
-<a href="filter-css-rewrite"><code>rewrite_css</code></a> is enabled
-then image URLs in CSS will also be rewritten).  Thus if the site
-owners change the resource content, then the URL for the rewritten
-resource will also change.  The old content in the user's browser
-cache will not be referenced again, because it will not match the new name.
-</p>
-<p>
-The 'Extend Cache' filter also rewrites the HTTP header to extend the
-<code>max-age</code> value of the cacheable resource to 31536000 seconds,
-which is one year.
-</p>
-<p>
-For example, for the following HTML tag/HTTP header pair:
-</p>
-<pre class="prettyprint">
-HTML tag   : &lt;img src="images/logo.gif"&gt;
-HTTP header: Cache-Control:public, max-age=300
-</pre>
-<p>
-PageSpeed will rewrite these into:
-</p>
-<pre class="prettyprint">
-HTML tag   : &lt;img src="images/logo.gif.pagespeed.ce.xo4He3_gYf.gif"&gt;
-HTTP header: Cache-Control:public, max-age=31536000
-</pre>
-<p>
-PageSpeed uses the origin cache time-to-live (TTL), in this case
-300 seconds, to periodically re-examine the content to see if it's
-changed.  If it changes, then the hash of the content will also
-change.  Thus it's safe to serve the hashed URL with a long
-timeout&mdash;PageSpeed uses one year.
-</p>
-<p>
-If the site owners change the logo, then PageSpeed will notice
-within 5 minutes and begin serving a different URL to users.  But if
-the content does not change, then the hash will not change, and the
-copy in each user's browser will still be valid and reachable.
-</p>
-<p>
-Thus the site owners are still in complete control of how rapidly they can
-deploy changes to the site, but this does not affect the effectiveness
-of the browser cache.  Decreasing the TTL only affects how often
-PageSpeed will need to re-examine the resource.
-</p>
-<p>
-It should be noted that cache extension is built into other
-PageSpeed filters as well.   All filters that rewrite resources
-include a content-hash in the generated URL, and serve the resource
-with a 1-year TTL.  The purpose of this filter is to extend cache
-lifetimes for all resources that are not otherwise optimized.
-</p>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> for
-cache-extending resources
-<a href="https://www.modpagespeed.com/examples/extend_cache.html?ModPagespeed=on&amp;ModPagespeedFilters=extend_cache">in HTML</a> and
-<a href="https://www.modpagespeed.com/examples/rewrite_css_images.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_css,extend_cache">in CSS</a>.
-</p>
-
-<h2 id="limitations">Limitations</h2>
-<p>
-Cache extension is only applied to resources that are publicly
-cacheable to begin with.  Cache extension is not done on resources
-that have <code>Cache-Control: private</code> or <code>Cache-Control:
-nocache</code>.
-</p>
-<p>
-This can be overridden with:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedForceCaching on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ForceCaching on;</pre>
-</dl>
-<p>
-This switch is intended for experimental purposes only, to help
-evaluate the benefit of cache extension against the effort of adding
-cache-control headers to resources.  Live traffic should not be served
-this way.
-</p>
-<p>
-The following configure file fragment demonstrates how to configure
-caching headers in Apache.  This is how the mod_pagespeed_example
-directory is set up.
-</p>
-<pre class="prettyprint lang-sh">
-# These caching headers are set up for the mod_pagespeed example, and
-# also serve as a demonstration of good values to set for the entire
-# site, if it is to be optimized by mod_pagespeed.
-&lt;Directory /var/www/mod_pagespeed_example&gt;
-  # Any caching headers set on HTML are ignored, and all HTML is served
-  # uncacheable.  PageSpeed rewrites HTML files each time they are served.  The
-  # first time mod_pagespeed sees an HTML file, it generally won't optimize it
-  # fully.  It will optimize better after the second view.  Caching defeats this
-  # behavior.
-
-  # Images, styles, and JavaScript are all cache-extended for
-  # a year by rewriting URLs to include a content hash.  mod_pagespeed
-  # can only do this if the resources are cacheable in the first place.
-  # The origin caching policy, set here to 10 minutes, dictates how
-  # frequently mod_pagespeed must re-read the content files and recompute
-  # the content-hash.  As long as the content doesn't actually change,
-  # the content-hash will remain the same, and the resources stored
-  # in browser caches will stay relevant.
-  &lt;FilesMatch "\.(jpg|jpeg|gif|png|js|css)$"&gt;
-    Header set Cache-control "public, max-age=600"
-  &lt;/FilesMatch&gt;
-&lt;/Directory&gt;
-</pre>
-<p>
-The equivalent configuration for Nginx would be:
-<pre class="prettyprint">
-# Make sure this goes after the .pagespeed. location regexp in your
-# configuration file so that .pagespeed. resources don't get this header
-# applied.
-location /mod_pagespeed_example {
-  location ~* \.(jpg|jpeg|gif|png|js|css)$ {
-    add_header Cache-Control "public, max-age=600";
-  }
-}
-</pre>
-
-<h2 id="risks">Risks</h2>
-<p>
-This filter is considered low risk. The rewritten URL will have a different name
-than that of the original URL, however, so JavaScript that uses URLs as
-templates can stop working.  For example, consider a site that
-has <code>&lt;input type=image src="button.gif"&gt;</code> and runs JavaScript
-that turns <code>button.gif</code> into <code>button-hover.gif</code> when the
-user hovers over the button.  With cache extension enabled, or any filter that
-changes the URLs of images, PageSpeed would replace the HTML fragment with
-something like <code>&lt;input type=image
-src="button.gif.pagespeed.ce.xo4He3_gYf.gif"&gt;</code>.  If the script was
-coded as "insert '-hover' before the final '.'" then it would construct an
-invalid hover URL of <code>button.gif.pagespeed.ce.xo4He3_gYf-hover.gif</code>.
-If this is a problem on your site, consider <a href="system#ipro">In-Place
-Resource Optimization</a>.
-
-</p>
-<p>
-  When applied to JavaScript files, this filter is sensitive to
-  <a href="restricting_urls#aris"><code
-  >AvoidRenamingIntrospectiveJavascript</code></a>.  For example,
-  a JavaScript file that
-  calls <code>document.getElementsByTagName('script')</code> will not be
-  cache-extended.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-canonicalize-js.html b/doc/filter-canonicalize-js.html
deleted file mode 100644
index a2d4ab5..0000000
--- a/doc/filter-canonicalize-js.html
+++ /dev/null
@@ -1,293 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Canonicalize JavaScript Libraries</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Canonicalize JavaScript Libraries</h1>
-<h2>Configuration</h2>
-<p>
-The 'Canonicalize JavaScript Libraries' filter is enabled by specifying:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters canonicalize_javascript_libraries</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed EnableFilters canonicalize_javascript_libraries;
-
-</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-This filter identifies popular JavaScript libraries that can be replaced with
-ones hosted for free by a JavaScript library hosting service &mdash; by default
-the <a href="/speed/libraries/">Google Hosted Libraries</a>. This has several
-benefits:
-<ul>
-  <li>Most important, first-time site visitors can benefit from browser caching,
-since they may have visited other sites making use of the same service to obtain
-the libraries.</li>
-  <li>The JavaScript hosting service acts as a content delivery network for the
-hosted files, reducing load on the server and improving browser load times.</li>
-  <li>There are no charges for the resulting use of bandwidth by site
-visitors.</li>
-  <li>The hosted versions of library code are generally optimized with
-third-party minification tools. These optimizations can make use of
-library-specific annotations or minification settings that aren't portable to
-arbitrary JavaScript code, so the libraries benefit from more aggressive
-optimization than can be provided by PageSpeed.</li>
-</ul>
-<p>
-In Apache the default set of libraries can be found in
-the <code><a href="https://github.com/apache/incubator-pagespeed-mod/blob/master/net/instaweb/genfiles/conf/pagespeed_libraries.conf">pagespeed_libraries.conf</a></code>
-file, which is loaded along with <code>pagespeed.conf</code> when Apache starts
-up. It contains signatures for all the <a href="/speed/libraries/">Google Hosted
-Libraries</a>.  In Nginx you need to
-convert <code>pagespeed_libraries.conf</code> from Apache-format to Nginx
-format:
-</p>
-<pre class="prettyprint lang-sh">
-$ scripts/pagespeed_libraries_generator.sh > ~/pagespeed_libraries.conf
-$ sudo mv ~/pagespeed_libraries.conf /path/to/nginx/configuration_files/
-</pre>
-<p>
-You also need to include it in your Nginx configuration by reference:
-</p>
-<pre class="prettyprint lang-sh">
-include pagespeed_libraries.conf;
-</pre>
-<p>
-Don't edit <code>pagespeed_libraries.conf</code>.  Local edits will keep you
-from being able to update it when you update PageSpeed.  Rather than editing it
-you should add additional libraries to your main configuration file:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLibrary 43 1o978_K0_LNE5_ystNklf \
-   //www.modpagespeed.com/rewrite_javascript.js</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed Library 43 1o978_K0_LNE5_ystNklf
-   //www.modpagespeed.com/rewrite_javascript.js;</pre>
-</dl>
-<p>
-The general format of these entries is:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedLibrary bytes MD5 canonical_url</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed Library bytes MD5 canonical_url;</pre>
-</dl>
-<p>
-Here <code>bytes</code> is the size in bytes of the library <em>after</em>
-minification by PageSpeed, and <code>MD5</code> is the MD5 hash of the
-library after minification. Minification controls for differences in whitespace
-that may occur when the same script is obtained from different
-sources. The <code>canonical_url</code> is the hosting service URL used to
-replace occurrences of the script. Note that the canonical URL in the above
-example is protocol-relative; this means the data will be fetched using the same
-protocol (<code>http</code> or <code>https</code>) as the containing
-page. Because older browsers don't handle protocol-relative URLs reliably,
-PageSpeed resolves a protocol-relative library URL to an absolute URL based
-on the protocol of the containing page. Do not use <code>http</code> canonical
-URLs in configurations that may serve content over <code>https</code>, or the
-rewritten pages will expose your site to attack and trigger a mixed-content
-warning in the browser. Similarly, avoid using <code>https</code> URLs unless
-you know that the resulting library will eventually be fetched from a secure
-page, as SSL negotiation adds overhead to the initial request.
-</p>
-<p>
-Additional library configuration metadata can be generated with the help of
-the <code>pagespeed_js_minify</code> utility installed along with PageSpeed.
-To use this utility, you will need a local copy of the JavaScript code that you
-wish to replace.  If this is stored in <code>library.js</code>, you can generate
-<code>bytes</code> and <code>MD5</code> as follows:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >$ pagespeed_js_minify --print_size_and_hash library.js</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >$ cd /path/to/psol/lib/Release/linux/ia32/
-      $ pagespeed_js_minify --print_size_and_hash library.js</pre>
-</dl>
-<p>
-If you're using the <a href="filter-js-minify#new-minifier">new
-javascript minifier</a>, add the <code>--use_experimental_minifier</code>
-argument to <code>pagespeed_js_minify</code>. If you're using the old minifier,
-add <code>--nouse_experimental_minifier</code>. (As of 1.10.33.0,
-<code>--use_experimental_minifier</code> is default. Previously,
-<code>--nouse_experimental_minifier</code> was.)
-The default <code>pagespeed_libraries.conf</code> includes hashes for both
-the old and new minifiers.
-</p>
-<p>
-This filter is based on the best practices of
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/caching#LeverageBrowserCaching">
-optimizing browser caching</a>
-and <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#MinifyJS">reducing payload
-size</a>.
-</p>
-
-<h2>Operation</h2>
-<p>
-In order to identify a library and canonicalize its URL, PageSpeed must of
-course be able to fetch the JavaScript code from the URL on the original page.
-Because library canonicalization identifies libraries solely by their size and
-hash signature, it is not necessary to authorize PageSpeed to fetch content
-from the domain hosting the canonical content itself.  This means that it is
-safe to use this filter behind a reverse proxy or in other situations where
-network access by PageSpeed is deliberately restricted.  Browsers visiting
-the site will fetch the content from the canonical URL, but PageSpeed itself
-does not need to do so.
-</p>
-
-<h3>Examples</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/canonicalize_javascript_libraries.html?ModPagespeed=on&amp;ModPagespeedFilters=canonicalize_javascript_libraries">example</a>.
-</p>
-<p>
-If the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script src="jquery_1_8.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="a.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="b.js"&gt;
-    &lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-  ...
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then, assuming <code>jquery_1_8.js</code> was an unminified copy of the jquery
-library and <code>a.js</code> and <code>b.js</code> contained site-specific code
-that made use of jquery, the page would be rewritten as follows:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="a.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="b.js"&gt;
-    &lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-  ...
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-The library URL has been replaced by a reference to the canonical minified
-version hosted on <code>ajax.googleapis.com</code>.  Note that canonical
-libraries do not participate in most other JavaScript optimizations.  For
-example, if <a href="filter-js-combine">Combine JavaScript</a> is also enabled,
-the above page will be rewritten as follows:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"&gt;
-    &lt;/script&gt;
-    &lt;script src="http://www.example.com/a.js+b.js.pagespeed.jc.zYiUaxFS8I.js"&gt;
-    &lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-  ...
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-The canonical library is <em>not</em> combined with the other two JavaScript
-files, since this would lose the bandwidth and caching benefits of fetching it
-from the canonical URL.
-</p>
-<p>
-If <a href="filter-js-defer">defer_javascript</a> is enabled, <em>and</em> library
-is <em>not</em> tagged with <code>data-pagespeed-no-defer</code>,
-the canonicalized library is deferred.
-</p>
-
-<h2>Requirements</h2>
-<p>
-Only complete, unmodified libraries referenced by <code>&lt;script&gt;</code>
-tags in the HTML will be rewritten. Libraries that are loaded by other means
-(for example by injecting a loader script) or that have been modified will not
-be canonicalized.
-</p>
-
-<h2>Risks</h2>
-<p>
-You must ensure that you abide by the terms of service of the providers of the
-canonical content before enabling canonicalization. The terms of service for the
-default configuration can be found
-at <a href="/speed/libraries/terms">https://developers.google.com/speed/libraries/terms</a>.
-</p>
-<p>
-The canonical URL refers to a third-party domain; this can cause additional DNS
-lookup latency the first time a library is loaded.  This is mitigated by the
-fact that the canonical copy of the data is shared among multiple sites.
-</p>
-<p>
-The initial request for a canonical URL will contain a <code>Referer:</code>
-header with the URL of the referring page.  This permits the host of the
-canonical content to see a subset of traffic to your site (the first load of a
-page on your site that contains an identified library by a browser that does not
-already have that library in its cache). The provider should describe how this
-data is used in its terms of service. The terms of service for the default
-configuration can be found at
-<a href="/speed/libraries/terms">https://developers.google.com/speed/libraries/terms</a>.
-Again, this risk is mitigated by the fact that canonical libraries are shared
-among multiple sites; a popular library is likely to already reside in the
-browser cache.
-</p>
-<p>
-Sites serving content on both <code>http</code> and <code>https</code> URLs must
-use protocol-relative canonical URLs as shown <a href="#sample">above</a>.
-Fetching a library insecurely from a secure page exposes a site to attack.
-Fetching a library securely from an ordinary page can increase load time due to
-SSL overheads.
-</p>
-<p>
-It is theoretically possible to craft a JavaScript file whose minified size and
-hash exactly match that of a canonical library, but whose code behaves
-differently.  In such a case the library will be replaced with the canonical
-(widely-used) library.  This will break the page that contains the reference to
-the crafted JavaScript.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-comment-remove.html b/doc/filter-comment-remove.html
deleted file mode 100644
index 8874590..0000000
--- a/doc/filter-comment-remove.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Remove Comments</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Remove Comments</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Remove Comments' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters remove_comments</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters remove_comments;</pre>
-</dl>
-<p>
-in the configuration file.  To retain comments that have semantic reason to be
-delivered to the browser, you may specify one more wildcard patterns
-using <code>RetainComment</code> directives.  For example:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRetainComment " google_ad_section*"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RetainComment " google_ad_section*";</pre>
-</dl>
-</p>
-
-<h2>Description</h2>
-<p>
-The <code>remove_comments</code> filter eliminates HTML comments,
-which are often used to document the code or to comment out
-experiments.  Note that this directive applies only to HTML files.
-CSS comments are eliminated with the
-<code>rewrite_css</code> filter, and Javascript comments are
-eliminated with the <code>rewrite_javascript</code> filter.
-</p>
-<p>
-The filter reduces the transfer size of HTML files by removing most HTML
-comments. Depending on the HTML file, this filter can significantly reduce the
-number of bytes transmitted on the network.  Also note that
-the <code>RetainComment</code> directive currently only applies to HTML files --
-the wildcard pattern is not currently used for retaining CSS or Javascript
-comments.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-&lt;body&gt;
-&lt;!-- Display the site logo here --&gt;
-&lt;img src="logo.png"&gt;
-&lt;!-- Now show the page contents --&gt;
-&lt;div&gt;Some content here&lt;/div&gt;
-&lt;!-- Apply IE-specific CSS --&gt;
-&lt;!-- [if IE ]&gt;
-&lt;link href="iecss.css" rel="stylesheet" type="text/css"&gt;
-&lt;![endif]--&gt;
-&lt;!-- google_ad_section_end  -- retained due to RetainComment directive --&gt;
-&lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed, with the above directives specified, will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-&lt;body&gt;
-&lt;img src="logo.png"&gt;
-&lt;div&gt;Some content here&lt;/div&gt;
-&lt;!-- [if IE ]&gt;
-&lt;link href="iecss.css" rel="stylesheet" type="text/css"&gt;
-&lt;![endif]--&gt;
-&lt;!-- google_ad_section_end  -- retained due to RetainComment directive --&gt;
-&lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/remove_comments.html?ModPagespeed=on&amp;ModPagespeedFilters=remove_comments">example</a>.
-</p>
-
-<h2>Notes</h2>
-<p>
-The "Remove Comments" filter is aware of
-<a href="http://msdn.microsoft.com/en-us/library/ms537512(VS.85).aspx">Internet Explorer conditional comments</a> and does not remove them.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is low risk for most web pages. Some web pages use comments to
-embed data or JavaScript, in order to reduce the parse time of the HTML
-document. Such pages sould disable this filter, as it will remove the
-comments containing the data or JavaScript that is needed by these web
-pages.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-convert-meta-tags.html b/doc/filter-convert-meta-tags.html
deleted file mode 100644
index dd29075..0000000
--- a/doc/filter-convert-meta-tags.html
+++ /dev/null
@@ -1,78 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Convert Meta Tags</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Convert Meta Tags</h1>
-<h2>Configuration</h2>
-<p>
-The 'Convert Meta Tags' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters convert_meta_tags</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters convert_meta_tags;</pre>
-</dl>
-<p>
-in the configuration file, but it is also enabled automatically by the core
-filter set.
-</p>
-
-<h2>Description</h2>
-<p>
-The 'Convert Meta Tags' filter adds a response header that matches each meta
-tag with an http-equiv attribute.  For example, HTML
-<pre class="prettyprint"
-     >&lt;meta http-eqiv="Content-Type" content="text/html; charset=UTF-8"&gt;</pre>
-would add an HTTP header:
-<pre class="prettyprint"
-     >Content-Type: text/html; charset=UTF-8</pre>
-in the response headers.
-</p>
-<p>
-The original tag is left unchanged.
-</p>
-<p>
-Certain http-equiv meta tags, specifically those that specify content-type,
-require a browser to reparse the html document if they do not match the headers.
-By ensuring that the headers match the meta tags, these reparsing delays are
-avoided.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered minimal risk because at this time,
-Content-Type is the only <code>http-equiv</code> value that is transformed into
-an HTTP header.  Other http-equiv values have been found to have unexpected semantic
-implications when transformed to HTTP.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-above-scripts.html b/doc/filter-css-above-scripts.html
deleted file mode 100644
index b4d2e23..0000000
--- a/doc/filter-css-above-scripts.html
+++ /dev/null
@@ -1,152 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Move CSS Above Scripts</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Move CSS Above Scripts</h1>
-
-
-<h2>Configuration</h2>
-<p>
-  The 'Move CSS Above Scripts' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters move_css_above_scripts</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters move_css_above_scripts;</pre>
-</dl>
-<p>
-  in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-  'Move CSS Above Scripts' seeks to make sure scripts do not block the
-  loading of CSS resources.
-</p>
-<p>
-  This is based on the
-  <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt#PutStylesBeforeScripts">
-    best practice for downloading resources early.
-  </a>
-</p>
-
-<h2>Operation</h2>
-<p>
-  The 'Move CSS Above Scripts' filter operates only on CSS
-  <code>&lt;link&gt;</code> and <code>&lt;style&gt;</code> tags found after the
-  first <code>&lt;script&gt;</code> tag and moves these tags above the first
-  <code>&lt;script&gt;</code>.
-</p>
-<p>
-  For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;script src="script.js" type="text/javascript"&gt;&lt;/script&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-    &lt;style type="text/css"&gt;
-      .foo { color: red; }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/all_styles.css"&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-  Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;style type="text/css"&gt;
-      .foo { color: red; }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/all_styles.css"&gt;
-    &lt;script src="script.js" type="text/javascript"&gt;&lt;/script&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<p>
-  In some browsers the original version will not even download the CSS file
-  until the JavaScript has been downloaded and run. This transformation will
-  make sure the CSS file is loaded first.
-</p>
-<p class="note">
-  Note: You may also want to enable
-  the <a href="filter-css-to-head">move_css_to_head</a> filter to avoid a flash
-  of unstyled content.  When both filters are enabled, stylesheets are moved
-  into the head and above the first script.
-</p>
-
-<h3>Example</h3>
-<p>
-  You can see the filter in action at <code>www.modpagespeed.com</code> on this
-  <a href="https://www.modpagespeed.com/examples/move_css_above_scripts.html?ModPagespeed=on&amp;ModPagespeedFilters=move_css_above_scripts">example</a>.
-</p>
-
-<h2>Limitations</h2>
-<p>
-  This filter operates within the scope of a "flush window". Specifically,
-  large, or dynamically generated HTML files may be "flushed" by the
-  resource generator before they are complete. If the filter
-  encounters a flush after the first <code>&lt;script&gt;</code> tag,
-  subsequently encountered CSS elements will not be moved above it.
-</p>
-
-<h2>Risks</h2>
-<p>
-  This filter is considered low risk. However, JavaScript that is
-  executed before a CSS element will see a different view of the DOM in
-  the presence of this rewriter:  the CSS element will now be in the head.
-  If there is such JavaScript embedded in the middle of a page then this
-  rewriter may change its behavior.
-</p>
-<p>
-  This filter may slow down your webpages for some browsers. Just as JavaScript
-  can block download of CSS in some browsers, some others will not execute
-  JavaScript until preceding CSS has been rendered. This filter is currently
-  considered experimental while we measure its effectiveness.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-combine.html b/doc/filter-css-combine.html
deleted file mode 100644
index 5992826..0000000
--- a/doc/filter-css-combine.html
+++ /dev/null
@@ -1,216 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Combine CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Combine CSS</h1>
-
-
-<h2>Configuration</h2>
-<p>
-The 'Combine CSS' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters combine_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters combine_css;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-'Combine CSS' seeks to reduce the number of HTTP requests made by a browser
-during page refresh by replacing multiple distinct CSS files with a single CSS
-file, containing the contents of all of them.  This is particularly important in
-old browsers, that were limited to two connections per domain.  In addition to
-reduced overhead for HTTP headers and communications warm-up, this approach
-works better with TCP/IP slow-start, increasing the effective payload bit-rate
-through the browser's network connection.
-</p>
-<p>
-This <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt#CombineExternalCSS">practice</a>
-reduces the number of round-trip times.
-</p>
-
-<h2>Operation</h2>
-<p>
-The "CSS Combine" filter finds all CSS <code>&lt;link&gt;</code> tags. If there
-was more than one in a flush window, it removes each of those links and replaces
-them with a single <code>&lt;link&gt;</code> to the merged document, which it
-places wherever the first CSS <code>&lt;link&gt;</code> originally was.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/yellow.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/blue.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/big.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/bold.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/yellow.css+blue.css+big.css+bold.css.pagespeed.cc.xo4He3_gYf.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/combine_css.html?ModPagespeed=on&amp;ModPagespeedFilters=combine_css">example</a>.
-</p>
-
-<h2>Parameters that affect CSS optimization</h2>
-
-<h3 id="MaxCombinedCssBytes">MaxCombinedCssBytes</h3>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMaxCombinedCssBytes MaxBytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MaxCombinedCssBytes MaxBytes;</pre>
-</dl>
-<p>
-<code>MaxBytes</code> is the maximum size in bytes of the combined CSS files.
-CSS files larger than <code>MaxBytes</code> will be kept intact;
-other CSS files will be combined into one or more files, each being no more
-than <code>MaxBytes</code> in size. The current default value for
-<code>MaxBytes</code> is -1 (unlimited).
-</p>
-
-<h2>Limitations</h2>
-<p>The CSS Combine filter operates within the scope of a "flush window".
-Specifically, large, or dynamically generated HTML files may be
-"flushed" by the resource generator before they are complete.  When the
-CSS combiner encounters a flush, it will emit all CSS combinations seen
-up to the point of the flush.  After the flush, it will begin collecting
-a new CSS combination.
-</p>
-<p>This filter generates URLs that are essentially the concatenation
-of the URLs of all the CSS files being combined.  The maximum URL size
-is generally limited to about 2k characters due to IE:
-See <a href="http://support.microsoft.com/kb/208427/EN-US"
->http://support.microsoft.com/kb/208427/EN-US</a>.  Apache servers by
-default impose a further limitation of about 250 characters per URL segment
-(text between slashes).  PageSpeed circumvents this limitation when it runs
-within Apache, but if you employ proxy servers in your path you may need to
-re-impose it by overriding the setting here.  The default setting is 1024.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMaxSegmentLength 250</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MaxSegmentLength 250;</pre>
-</dl>
-
-<h3 id="permit-ids-for-css-combining">Combining Resources with IDs</h3>
-<p class="note"><strong>Note: New feature as of 1.12.34.1</strong></p>
-
-<p>
-  By default PageSpeed won't combine CSS files that have <code>id</code>
-  attributes, because this often indicates that the site designer intended to
-  reference them in javascript.  However, some content management systems,
-  including WordPress, put <code>id</code>s on all stylesheets for clarity.  To
-  enable combining these files, you can provide one or more wildcards.  For
-  example, this would mark stylesheets with ids starting with <code>font</code>
-  as eligible for combining:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedPermitIdsForCssCombining font*</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed PermitIdsForCssCombining font*;</pre>
-</dl>
-
-<h2>Requirements</h2>
-<p>
-The 'Combine CSS' filter may need to <em>absolutify</em> relative
-URLs, if rewriting the CSS causes the path to be moved.  The filter
-will not merge together resources from multiple distinct domains, even
-if those domains are each authorized by <code>Domain</code>.
-It <strong>will</strong> merge together resources from multiple
-distinct domains that have been mapped together via
-<code>MapRewriteDomain</code>.
-</p>
-<p>
-By default, the filter will combine together CSS files from different
-paths, placing the combined element at the lowest level common to both
-origins.  In some cases, this may be undesirable.  You can turn off the
-behavior with:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCombineAcrossPaths off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CombineAcrossPaths off;</pre>
-</dl>
-<p>
-The filter will maintain the order of the CSS contents, as class order can be
-significant.
-</p>
-<p>
-IE Directives containing CSS links form a "barrier" for the CSS combiner.
-Multiple CSS elements found before an IE directive are combined together
-immediately before the IE directive.  Multiple CSS elements found after are
-also combined, but the combination does not span across the IE directive, as
-that would affect the order that the browser sees the CSS elements.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered low risk. However, JavaScript can be written that
-walks the DOM looking for <code>&lt;link&gt;</code> entries with certain
-syntax.  Such JavaScript may behave differently on a page which has modified
-CSS links in this way.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-inline-google-fonts.html b/doc/filter-css-inline-google-fonts.html
deleted file mode 100644
index b4aeff0..0000000
--- a/doc/filter-css-inline-google-fonts.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Inline Google Fonts API CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Inline Google Fonts API CSS</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Inline Google Fonts API CSS' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters inline_google_font_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters inline_google_font_css;</pre>
-</dl>
-<p>
-in the configuration file.  You also need to
-enable <a href="https_support#https_fetch">HTTPS Fetching</a> if your pages load
-fonts over HTTPS:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedFetchHttps enable</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed FetchHttps enable;</pre>
-</dl>
-
-</p>
-
-<p>As of 1.9.32.6, the size limit for this filter is controlled as follows:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedGoogleFontCssInlineMaxBytes bytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed GoogleFontCssInlineMaxBytes bytes;</pre>
-</dl>
-
-<p>In older versions, the filter used same size limits as the main CSS filter:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCssInlineMaxBytes bytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CssInlineMaxBytes bytes;</pre>
-</dl>
-<p>
-This is the maximum size in bytes of any CSS file that will be inlined.
-</p>
-<h2>Description</h2>
-<p>
-The "Inline Google Fonts API CSS" filter reduces the number of requests made by
-a web page that uses the Google Fonts API by inlining the small loader CSS
-into the webpage. Note that because the loader CSS is browser-specific, this
-feature is not currently compatible with downstream caching being on or
-<code>ModifyCachingHeaders</code> being off.
-</p>
-<h2>Operation</h2>
-<p>
-When the 'Inline Google Fonts API CSS' filter is enabled, the contents of the
-small external CSS resources produced to load the fonts are written directly
-into the HTML document; the browser does not need to request those CSS
-resources independently.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html>
-  &lt;head>
-    &lt;title>inline_google_font_css example&lt;/title>
-    &lt;link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Roboto">
-    &lt;style>
-      body {
-        font-family: 'Roboto', sans-serif;
-      }
-    &lt;/style>
-  &lt;/head>
-  &lt;body>
-  The font should be slightly more robotic.
-  &lt;/body>
-&lt;/html>
-</pre>
-<p>
-Then, a visitor using a browser for which woff fonts are preferred may see
-something like:
-</p>
-<pre class="prettyprint">
-&lt;html>
-  &lt;head>
-    &lt;title>inline_google_font_css example&lt;/title>
-    &lt;style>@font-face {
-      font-family: 'Roboto';
-      font-style: normal;
-      font-weight: 400;
-      src: local('Roboto Regular'), local('Roboto-Regular'), url(http://themes.googleusercontent.com/static/fonts/roboto/v9/abcd.woff) format('woff');
-    }
-    &lt;/style>
-    &lt;style>
-      body {
-        font-family: 'Roboto', sans-serif;
-      }
-    &lt;/style>
-  &lt;/head>
-  &lt;body>
-  The font should be slightly more robotic.
-  &lt;/body>
-&lt;/html>
-</pre>
-<p>
-This eliminates the browser request to <code>fonts.googleapis.com</code> and
-potentially the need for the browser to perform a DNS lookup and connect to
-that host entirely.
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/inline_google_font_css.html?PageSpeed=on&PageSpeedFilters=inline_google_font_css">example</a>.
-</p>
-
-<h2>Risks</h2>
-<p>
-You must ensure that you abide by
-<a href="https://developers.google.com/fonts/terms">Google Fonts API Terms of Service</a>.
-Note that enabling this filter will cause some requests to be sent to
-the API from your server (rather than just the visitor), which may be logged
-per the Fonts API Terms of Service.
-</p>
-
-<p>
-The filter is low to moderate risk.  It should be safe for most pages, but it
-could potentially break scripts that walk the DOM looking
-for and examining <code>&lt;link&gt;</code> or <code>&lt;style&gt;</code> tags.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-inline-import.html b/doc/filter-css-inline-import.html
deleted file mode 100644
index 8eab835..0000000
--- a/doc/filter-css-inline-import.html
+++ /dev/null
@@ -1,112 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Inline @import to Link</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Inline @import to Link</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Inline @import to Link' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters inline_import_to_link</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters inline_import_to_link;</pre>
-</dl>
-in the configuration file.
-</p>
-<h2>Description</h2>
-<p>
-The "Inline @import to Link" filter converts a <code>&lt;style&gt;</code> tag
-consisting of only <code>@import</code> statements into the corresponding
-<code>&lt;link&gt;</code> tags. This conversion does not itself result in any
-significant optimization, rather its value lies in that it enables optimization
-of the linked-to CSS files by later filters, in particular the combine_css,
-rewrite_css, inline_css, and extend_cache filters.
-</p>
-<h2>Operation</h2>
-<p>
-This filter inspects the contents of all <code>&lt;style&gt;</code> tags and
-converts the tag if all the following conditions are met:</p>
-<ul>
-<li>Either the <code>&lt;style&gt;</code> tag has no <code>type</code>
-  attribute or the <code>type</code> attribute has the value
-  &quot;text/css&quot;.</li>
-<li>The contents comprise one or more valid <code>@import</code> statements,
- and no other statements.</li>
-<li>None of the imported URLs are empty.</li>
-<li>The <code>&lt;style&gt;</code> tag has neither an <code>href</code> nor a
-  <code>rel</code> attribute (which would make it invalid anyway).</li>
-<li>If the <code>&lt;style&gt;</code> tag has a <code>media</code> attribute
-  and the <code>@import</code> statement specifies media after the URL, then
-  the media types listed must be the same. They do not have to be in the same
-  order, and blank media types are ignored.</li>
-</ul>
-<p>
-If all these conditions are met, the <code>&lt;style&gt;</code> tag and its
-contents are replaced with a <code>&lt;link&gt;</code> tag for each
-<code>@import</code>, with:</p>
-<ul>
-<li>Attributes from the <code>&lt;style&gt;</code> tag copied to the
-  <code>&lt;link&gt;</code> tag.</li>
-<li>An <code>href</code> attribute with value of the imported URL.</li>
-<li>A <code>rel</code> attribute with value of &quot;stylesheet&quot;.</li>
-<li>If the <code>&lt;style&gt;</code> tag did not have a <code>media</code>
-  attribute but the <code>@import</code> specified media after the URL, then
-  a <code>media</code> attribute with value of the media specified after the
-  URL.</li>
-</ul>
-<p>
-For example, if the <code>&lt;style&gt;</code> tag looks like this:
-</p>
-<pre class="prettyprint">
-&lt;style type=&quot;text/css&quot; media=&quot;screen&quot;>@import url(http://www.example.com/style.css);&lt;/style&gt;
-</pre>
-<p>
-Then PageSpeed will convert it to:
-<pre class="prettyprint">
-&lt;link type=&quot;text/css&quot; media=&quot;screen&quot; rel=&quot;stylesheet&quot; href=&quot;http://www.example.com/style.css&quot;/&gt;
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/inline_import_to_link.html?ModPagespeed=on&amp;ModPagespeedFilters=inline_import_to_link">example</a>.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered minimal risk.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-inline.html b/doc/filter-css-inline.html
deleted file mode 100644
index 604dcf5..0000000
--- a/doc/filter-css-inline.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Inline CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Inline CSS</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Inline CSS' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters inline_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters inline_css;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-<p>When this filter is enabled, you may also enable the following setting:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCssInlineMaxBytes bytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CssInlineMaxBytes bytes;</pre>
-</dl>
-<p>
-This is the maximum size in bytes of any CSS file that will be inlined.
-</p>
-<h2>Description</h2>
-<p>
-The "Inline CSS" filter reduces the number of requests made by a web page by
-inserting the contents of small external CSS resources directly into the HTML
-document.  This can reduce the time it takes to display content to the user,
-especially in older browsers.
-</p>
-<h2>Operation</h2>
-<p>
-When the 'Inline CSS' filter is enabled, The contents of small external CSS
-resources are written directly into the HTML document; therefore the browser
-does not request those CSS resources independently.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" href="small.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-And the resource <code>small.css</code> is like this:
-<pre class="prettyprint">
-  .yellow {background-color: yellow;}
-  .blue {color: blue;}
-  .big { font-size: 8em; }
-  .bold { font-weight: bold; }
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style&gt;
-      .yellow {background-color: yellow;}
-      .blue {color: blue;}
-      .big { font-size: 8em; }
-      .bold { font-weight: bold; }
-    &lt;/style&gt;
-    &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-This eliminates the browser request to <code>small.css</code> by placing its
-contents inline in the HTML document.
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/inline_css.html?ModPagespeed=on&amp;ModPagespeedFilters=inline_css">example</a>.
-</p>
-
-<h2>Note</h2>
-<p>
-CSS may contain URLs that are relative to the location of the CSS
-file.  To avoid breaking such URLs, the 'Inline CSS' filter will attempt to
-rewrite them into absolute URLs when it performs the inlining.
-</p>
-
-<h2>Requirements</h2>
-<p>
-There is a tradeoff here between requests and cacheability: including the CSS
-directly in the HTML avoids making an additional request to the external CSS
-resource, but if the CSS file is large (and doesn't change often), it may be
-better to keep it separate from the HTML so that it can be cached by the
-browser.  Thus, the Inline CSS filter will only inline CSS files below a
-certain size threshold, which can be adjusted using the
-<code>CssInlineMaxBytes</code> directive.
-</p>
-<p>
-It is possible for CSS files to contain small snippets of JavaScript code, at
-least for certain browsers.  To avoid opening up cross-domain scripting
-vulnerabilities, the Inline CSS filter will only inline an external CSS file if
-it is being served from the same domain as the HTML file into which it is to be
-inlined.
-</p>
-
-<h2>Risks</h2>
-<p>
-The 'Inline CSS' filter is low to moderate risk.  It should be safe for most
-pages, but it could potentially break scripts that walk the DOM looking for
-and examining <code>&lt;link&gt;</code> or <code>&lt;style&gt;</code> tags.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-outline.html b/doc/filter-css-outline.html
deleted file mode 100644
index 295ef4c..0000000
--- a/doc/filter-css-outline.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Outline CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Outline CSS</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Outline CSS' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters outline_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters outline_css;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-This filter is an <strong>experimental</strong> filter which takes inline
-CSS and puts it in an external resource.
-</p>
-
-<h2>Operation</h2>
-<p>
-The 'Outline CSS' filter outlines all CSS that is larger than a minimum byte
-threshold. The threshold can be set by adding/changing the line:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCssOutlineMinBytes 3000</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CssOutlineMinBytes 3000;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style type="text/css"&gt;
-      .yellow {background-color: yellow;}
-      .blue {color: blue;}
-      .big { font-size: 8em; }
-      .bold { font-weight: bold; }
-      ...
-    &lt;/style&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" type="text/css" href="of.HASH.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-And a new CSS file (<code>of.HASH.css</code>) will be:
-</p>
-<pre class="prettyprint">
-  .yellow {background-color: yellow;}
-  .blue {color: blue;}
-  .big { font-size: 8em; }
-   .bold { font-weight: bold; }
-   ...
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/outline_css.html?ModPagespeed=on&amp;ModPagespeedFilters=outline_css">example</a>.
-</p>
-
-<h2>Pros and Cons</h2>
-<p>
-This could be advantageous if:
-</p>
-<ol>
-  <li>The CSS does not change much but the HTML does, then we can cache the
-      CSS.</li>
-  <li>One has many websites with the same inlined CSS, it will be outlined
-      to a consistent name and thus will be cached more or</li>
-  <li>The inline CSS is very long, in which case, outlining it will cause it
-      to be loaded in parallel with the HTML doc.</li>
-</ol>
-<p>
-However, for some websites it will be dis-advantageous because it will:
-</p>
-<ol>
-  <li>Create an extra HTTP request.</li>
-  <li>Tie up one of the connections this domain, which could have been used to
-      fetch the actually cacheable external resources.</li>
-</ol>
-
-<h2>Requirements</h2>
-<p>
-Outline filters can currently only run on single-server environments
-because the resource can only be fetched from a server after that server
-has rewritten the HTML page. If a different server rewrote the HTML page,
-then this sever will not have the information needed to create the resource.
-This could be by a network database shared between servers.
-</p>
-<p>
-The Outline CSS filter may need to <em>"absolutify"</em> relative URLs, if
-it is outlined to a different directory than the original HTML.
-</p>
-<p>
-The Outline CSS filter will maintain the order of the CSS contents, as
-class order can be significant.
-</p>
-
-<h2>Risks</h2>
-<p>
-The 'Outline CSS' filter is considered low risk.  However, JavaScript can be
-written that walks the DOM looking for <code>&lt;link&gt;</code> or
-<code>&lt;style&gt;</code> tags with certain syntax. Such JavaScript
-may behave differently on a page which has added
-<code>&lt;link&gt;</code> or removed <code>&lt;style&gt;</code> tags
-in this way.
-</p>
-<p>
-Additionally we have reproduced an obscure difference that sometimes occurs
-on WebKit-based browsers (such as Safari, Chrome and the Android browser).
-As of January 2011, WebKit does not delay JavaScript evaluation for
-external CSS loading (See
-<a href="https://webkit.org/b/24898">https://webkit.org/b/24898</a>).
-So some CSS attributes, when outlined, can cause slightly different
-rendering depending on whether or not the CSS file is loaded before or
-after the JavaScript is executed.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-rewrite.html b/doc/filter-css-rewrite.html
deleted file mode 100644
index 366fe28..0000000
--- a/doc/filter-css-rewrite.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Rewrite CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Rewrite CSS</h1>
-
-<h2 id="configuration">Configuration</h2>
-<p>
-  The 'Rewrite CSS' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters rewrite_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters rewrite_css;</pre>
-</dl>
-<p>
-  in the configuration file. To enable fallback rewriting on CSS we cannot
-  parse, also specify:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters fallback_rewrite_css_urls</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters fallback_rewrite_css_urls;</pre>
-</dl>
-
-<h2>Description</h2>
-<p>
-  This filter parses linked and inline CSS, rewrites the images found
-  and minifies the CSS. The filter works on CSS found in
-  <code>&lt;style&gt;</code> blocks and <code>&lt;link&gt;</code> refs.
-</p>
-<p>
-  Many images are referenced from CSS rather than HTML. If
-  <a href="reference-image-optimize#rewrite_images"
-     ><code>rewrite_images</code></a>,
-  <a href="reference-image-optimize#recompress_images"
-     ><code>recompress_images</code></a>,
-  <a href="reference-image-optimize#recompress_jpeg"
-     ><code>recompress_jpeg</code></a>,
-  <a href="reference-image-optimize#recompress_png"
-     ><code>recompress_png</code></a>,
-  <a href="reference-image-optimize#recompress_webp"
-     ><code>recompress_webp</code></a>,
-  <a href="reference-image-optimize#convert_gif_to_png"
-     ><code>convert_gif_to_png</code></a>,
-  <a href="reference-image-optimize#convert_jpeg_to_webp"
-     ><code>convert_jpeg_to_webp</code></a>,
-  <a href="reference-image-optimize#convert_png_to_jpeg"
-     ><code>convert_png_to_jpeg</code></a>,
-  or <a href="filter-cache-extend"
-     ><code>extend_cache</code></a>
-  are enabled this filter finds and rewrites those images, saving bytes
-  and extending cache lifetimes.
-</p>
-<p>
-  The CSS parser cannot parse some CSS3 or proprietary CSS extensions.
-  If <code>fallback_rewrite_css_urls</code> is not enabled, these
-  CSS files will not be rewritten at all.
-  If the <code>fallback_rewrite_css_urls</code> filter is enabled, a
-  fallback method will attempt to rewrite the URLs in the CSS file,
-  even if the CSS cannot be successfully parsed and minified.
-</p>
-<p>
-  Minification can drastically reduce the byte count in common CSS by
-  stripping all comments and most whitespace and shortening color names.
-  This filter can be used to avoid the extra step of minifying CSS by hand
-  when constructing and maintaining a site.
-  This <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#MinifyCSS">practice</a>
-  reduces the payload size.
-</p>
-
-<h2>Example</h2>
-<p>
-  For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style&gt;
-      body { background-image: url("foo.png"); }
-      /* This comment will be stripped */
-      #iddy, .anotherId {
-        border: solid 1px #cccccc;
-        padding: 1.2em;
-        float: left;
-        color:##ff0000;
-      }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="extStyle.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    Wow, &lt;div class="classy" id="iddy"&gt;
-    CSS is &lt;span&gt;stylin'&lt;/span&gt;.&lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-  With the following in <code>extStyle.css</code>:
-</p>
-<pre class="prettyprint">
-  div.classy span, div.classy img {
-    display: block;
-    border: none !important;
-    background: none !important;
-  }
-</pre>
-<p>
-  Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style&gt;body{background-image:url(xfoo.png.pagespeed.ic.HASH.png}#iddy,#anotherId{border:solid 1px #ccc;padding:1.2em;float:left;color:red}&lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="I.extStyle.css.pagespeed.cf.HASH.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    Wow, &lt;div class="classy" id="iddy"&gt;
-    CSS is &lt;span&gt;stylin'&lt;/span&gt;.&lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-  And the rewritten file <code>I.extStyle.css.pagespeed.cf.HASH.css</code> will
-  contain:
-</p>
-<pre class="prettyprint">
-  dif.classy span,div.classy img{display:block;border:none!important;background:none!important}
-</pre>
-
-<h3>Online Example</h3>
-<p>
-  You can see the filter in action at <code>www.modpagespeed.com</code> for
-  <a href="https://www.modpagespeed.com/examples/rewrite_css.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_css">CSS minification</a>,
-  <a href="https://www.modpagespeed.com/examples/rewrite_css_images.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_css,extend_cache">cache-extending images in CSS</a>,
-  <a href="https://www.modpagespeed.com/examples/rewrite_css_images.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_css,rewrite_images">rewriting images in CSS</a> and
-  <a href="https://www.modpagespeed.com/examples/fallback_rewrite_css_urls.html?ModPagespeed=on&amp;ModPagespeedFilters=fallback_rewrite_css_urls,rewrite_css,rewrite_images">fallback rewriting of images in CSS</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-  Only CSS referenced by <code>&lt;style&gt;</code> and <code>&lt;link&gt;
-  </code> tags is rewritten.  For example, style attributes of HTML elements
-  are not rewritten.  Enable <a href="filter-rewrite-style-attributes">
-    <code>rewrite_style_attributes</code></a> to rewrite these as well.
-</p>
-<p>
-  Not all CSS3 or proprietary constructs are parsed.  When unhandled syntax
-  is present and the file cannot be parsed completely, the URLs in the CSS
-  can still be rewritten by the <code>fallback_rewrite_css_urls</code> filter.
-  However the CSS will not be minified.
-</p>
-
-<h2 id="risks">Risks</h2>
-<p>
-  CSS minification is considered moderate risk.
-</p>
-<p>
-  Specifically, there is an outstanding bug that the CSS parser can silently
-  lose data on malformed CSS. This only applies to malformed CSS or CSS that
-  uses proprietary extensions. All known examples have been fixed, but there
-  may be more examples not discovered yet. Without this the risk would be low.
-</p>
-<p>
-  Some JavaScript code depends upon the exact URLs of resources. When we minify
-  CSS we will change the leaf name of the file (although leave it in the same
-  directory). This could break such JavaScript.
-</p>
-
-<h2>Troubleshooting</h2>
-<p>
-  To troubleshoot why CSS is not minified, you can use the standalone binary
-  <code>css_minify_main</code>.  It's shipped with mod_pagespeed, so
-  <a href="build_mod_pagespeed_from_source#debug-css"
-  >build it from source</a> and then run:
-</p>
-<pre>
-  ./out/Release/css_minify_main FILENAME.css > REWRITTEN.css
-</pre>
-<p>
-  The rewritten version is piped to <code>stdout</code> and the errors
-  encountered are piped to <code>stderr</code>. These error messages should
-  be helpful in figuring out what aspects of the CSS file could not be parsed.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-css-to-head.html b/doc/filter-css-to-head.html
deleted file mode 100644
index 07a34a2..0000000
--- a/doc/filter-css-to-head.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Move CSS to Head</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Move CSS to Head</h1>
-
-
-<h2>Configuration</h2>
-<p>
-  The 'Move CSS to head' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters move_css_to_head</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters move_css_to_head;</pre>
-</dl>
-<p>
-  in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-  'Move CSS to head' seeks to reduce the number of times the browser must
-  re-flow the document by ensuring that the CSS styles are all parsed in
-  the head, before any body elements are introduced.
-</p>
-<p>
-  This is based on the
-  <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rendering#PutCSSInHead">
-    best practice for optimizing browser rendering.
-  </a>
-</p>
-
-<h2>Operation</h2>
-<p>
-  The 'Move CSS to head' filter operates only on  CSS
-  <code>&lt;link</code> and <code>&lt;style&gt;</code> tags found after the
-  <code>&lt;/head&gt;</code> and moves these links back into the
-  <code>&lt;head&gt;</code> ... <code>&lt;/head&gt;</code> section.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;script src="script.js" type="text/javascript"&gt;&lt;/script&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-    &lt;style type="text/css"&gt;
-      .foo { color: red; }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/all_styles.css"&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-  Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style type="text/css"&gt;
-      .foo { color: red; }
-    &lt;/style&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/all_styles.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;script src="script.js" type="text/javascript"&gt;&lt;/script&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<p>
-  In some browsers, the original version will flash quickly as the
-  browser will render the "Hello, world!" text before it sees the style
-  tags providing definitions for the CSS classes.  This transformation
-  will eliminate that flash, but the end result will be the same.
-</p>
-
-<h3>Example</h3>
-<p>
-  You can see the filter in action at <code>www.modpagespeed.com</code> on this
-  <a href="https://www.modpagespeed.com/examples/move_css_to_head.html?ModPagespeed=on&amp;ModPagespeedFilters=move_css_to_head">example</a>.
-</p>
-
-<h2>Limitations</h2>
-<p>
-  This filter operates within the scope of a "flush window". Specifically,
-  large, or dynamically generated HTML files may be "flushed" by the
-  resource generator before they are complete. If the filter
-  encounters a flush after the end of the <code>&lt;head&gt;</code> section,
-  subsequently encountered CSS elements will not be moved into the
-  <code>&lt;head&gt;</code> section.
-</p>
-
-<h2>Risks</h2>
-<p>
-  This filter is considered low risk. However, JavaScript that is
-  executed before a CSS element will see a different view of the DOM in
-  the presence of this rewriter:  the CSS element will now be in the head.
-  If there is such JavaScript embedded in the middle of a page then this
-  rewriter may change its behavior.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-dedup-inlined-images.html b/doc/filter-dedup-inlined-images.html
deleted file mode 100644
index f86e240..0000000
--- a/doc/filter-dedup-inlined-images.html
+++ /dev/null
@@ -1,110 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Deduplicate Inlined Images</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Deduplicate Inlined Images</h1>
-<h2>Configuration</h2>
-<p>
-  The 'Deduplicate Inlined Images' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters dedup_inlined_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters dedup_inlined_images;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Objective</h2>
-<p>
-  Reduce the transfer size of HTML files by eliminating redundant image data
-  URLs.
-</p>
-
-<h2>PageSpeed Rule</h2>
-<p>
-  This rewriter implements the PageSpeed rule for
-  <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#CompressImages">optimizing
-  images</a>.
-</a>
-</p>
-
-<h2>Description</h2>
-<p>
-  dedup_inlined_images replaces repeated inlined images with JavaScript
-  that loads the image from the first occurence of the image. If the first
-  image doesn't have an <code>id</code>, one is generated and added to it.
-</p>
-
-<h2>Operation</h2>
-<p>
-  dedup_inlined_images rewrites inlined images:
-  <ul>
-    <li>If the image's data URL has not appeared earlier in the page then,
-      if it doesn't already have one an <code>id</code> attribute is
-      generated and added to the tag, then the existing/added <code>id</code>
-      is recorded along with the data URL for comparison with subsequent
-      inlined images.</li>
-    <li>Otherwise, the <code>&lt;img&gt;</code> tag is replaced with an
-      inline <code>&lt;script&gt;</code> tag that replaces itself with an
-      <code>&lt;img&gt;</code> tag, loading the data URL from the preceding
-      <code>&lt;img&gt;</code> tag with the <code>id</code> matching this
-      tag's data URL.</li>
-  </ul>
-</p>
-
-<h3>Example</h3>
-<p>
-  The effect of this filter can be observed on modpagespeed.com
-  <a href="https://www.modpagespeed.com/examples/dedup_inlined_images.html?ModPagespeed=off">before</a>
-  and
-  <a href="https://www.modpagespeed.com/examples/dedup_inlined_images.html?ModPagespeed=on&ModPagespeedFilters=inline_images,dedup_inlined_images">after</a>
-  rewriting.
-</p>
-
-<h2>Requirements</h2>
-<p>
-  The <a href="filter-image-optimize#inline_images">inline_images</a>
-  filter should be enabled for this filter to have any effect although it
-  will apply to inlined images in the original HTML.
-</p>
-
-<h2>Risks</h2>
-<p>
-  dedup_inlined_images is considered low risk. It is possible for the
-  resulting HTML to be larger than the original due to the size of the injected
-  JavaScript but this is expected to be rare and not a large increase.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
-
diff --git a/doc/filter-domain-rewrite.html b/doc/filter-domain-rewrite.html
deleted file mode 100644
index 5473872..0000000
--- a/doc/filter-domain-rewrite.html
+++ /dev/null
@@ -1,95 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Rewrite Domains</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Rewrite Domains</h1>
-
-
-
-<h2>Configuration</h2>
-<p>
-The 'Rewrite Domains' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters rewrite_domains</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters rewrite_domains;</pre>
-</dl>
-<p>
-in the configuration file.  The filter is not enabled by default and
-should be added manually to the configuration file.
-</p>
-<p>
-<a name="DomainRewriteHyperlinks"></a>
-By default <code>rewrite_domains</code> only applies to resources, but it can
-optionally rewrite domains in hyperlinks as well:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDomainRewriteHyperlinks on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DomainRewriteHyperlinks on;</pre>
-</dl>
-
-<h2>Description</h2>
-<p>
-This filter applies all <a href="domains">domain mapping
-directives</a> specified in pagespeed.conf to web resources that
-are <strong>not</strong> otherwise rewritten by PageSpeed.  For
-example, if a resource is not cacheable, or filters which affect the
-resource are turned off, then it still may be desirable to apply
-domain sharding.  (Domain sharding is not applied to hyperlinks even if <code><a
-href="#DomainRewriteHyperlinks">DomainRewriteHyperlinks</a></code> is enabled.)
-
-</p>
-
-<h2>Requirements</h2>
-<p>It is the responsibility of the site administrator to set up the
-shard entries in their DNS or CNAME configuration.  Also, please see
-the <a href="domains#equiv_servers">note</a> about the servers
-for rewrite domains &mdash; this applies to sharded domains as well.  The
-sharded domains must have access to the same content as the original
-domain.
-</p>
-
-<h2>Risks</h2>
-<p>
-It is the responsbility of the site administrator to ensure that moving
-resources onto domains does not create a security vulnerability.  In particular,
-if the target domain has cookies, then any JavaScript loaded from a resource
-moved to a domain with cookies will gain access to those cookies.  In general,
-moving resources to a cookieless domain is a great way to improve security.  Be
-aware that CSS can load JavaScript in certain environments.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-flatten-css-imports.html b/doc/filter-flatten-css-imports.html
deleted file mode 100644
index c878d97..0000000
--- a/doc/filter-flatten-css-imports.html
+++ /dev/null
@@ -1,165 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Flatten CSS Imports</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Flatten CSS Imports</h1>
-<h2>Configuration</h2>
-<p>
-  The 'Flatten CSS Imports' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters flatten_css_imports</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters flatten_css_imports;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-<p>
-  When this filter is enabled, you may also enable the following setting:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCssFlattenMaxBytes bytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CssFlattenMaxBytes bytes;</pre>
-</dl>
-<p>
-  This is the maximum size in bytes of the flattened CSS; if flattening would
-  result in CSS larger than this then flattening will be aborted and the CSS
-  will be left unchanged.
-</p>
-
-<h2>Objective</h2>
-<p>
-  Reduce the number of HTTP round-trips by combining multiple CSS resources
-  into one.
-</p>
-
-<h2>PageSpeed Rule</h2>
-<p>
-  This filter implements the PageSpeed rule for
-  <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt#AvoidCssImport">avoiding CSS
-    imports</a>.
-</a>
-</p>
-
-<h2>Description</h2>
-<p>
-  flatten_css_imports parses linked and inlined CSS and flattens it by
-  replacing all <code>@import</code> rules with the contents of the imported
-  file, repeating the process recursively for each imported file.
-  It works on CSS found in <code>&lt;style&gt;</code> blocks and
-  <code>&lt;link&gt;</code> references.
-</p>
-
-<h2>Operation</h2>
-<p>
-  flatten_css_imports recursively processes imported CSS files; if a
-  file cannot be processed then the entire process is aborted and the initial
-  CSS is left unflattened.
-</p>
-<p>
-  The CSS is processed as follows; if any step fails the entire process is
-  aborted and the CSS is left unflattened:
-</p>
-<ol>
-  <li>The CSS is parsed; if there are any errors while parsing
-    <code>@import</code> rules, this step fails.</li>
-  <li>The CSS is checked for any leading <code>@charset</code> rule; if there
-    is one and the specified character set is not the same as the current one
-    then this step fails.</li>
-  <li>All <code>@import</code> rules are removed and the specified files are
-    fetched and processed recursively and each removed <code>@import</code>
-    rule is replaced with its file's flattened contents; if a file cannot be
-    fetched for any reason this step fails.</li>
-  <li>Any rulesets following the <code>@import</code> rules are appended.</li>
-  <li>The resulting CSS is minified; if it can't be minified this step
-    fails.</li>
-  <li>The size of the resulting CSS is checked against the configured maximum
-    for flattened CSS; if it is too big this step fails.</li>
-  <li>Finally, the original <code>&lt;style&gt;</code> or
-    <code>&lt;link&gt;</code> is replaced with the minified CSS.</li>
-</ol>
-<p>
-  The initial charset is determined according to
-  <a href="http://www.w3.org/International/O-HTTP-charset.en.php">the rules for
-    HTTP</a>: from the HTML's response headers if any, otherwise from the
-  <code>charset</code> attribute of the <code>&lt;link&gt;</code> element if
-  any, otherwise it defaults to <code>ISO-8859-1</code>.
-</p>
-<p>
-  <code>@import</code> rules can specify the media type(s) that apply to the
-  imported file, and the initial <code>&lt;style&gt;</code> or
-  <code>&lt;link&gt;</code> element can also specify the applicable media types.
-  flatten_css_imports remembers the &quot;containing&quot; media types
-  and if an <code>@import</code> specifies media types it applies the
-  intersection of the containing and specified media types to the imported
-  file; if this is empty then the file is ignored because it cannot apply.
-  This is only done for simple media types, not media expressions. If a
-  flattened file has any media types other than <code>all</code> then its
-  rulesets are wrapped in an appropriate <code>@media</code> rule.
-</p>
-
-<h3>Example</h3>
-<p>
-  The effect of this filter can be observed on modpagespeed.com
-  <a href="https://www.modpagespeed.com/examples/flatten_css_imports.html?ModPagespeed=off">before</a>
-  and
-  <a href="https://www.modpagespeed.com/examples/flatten_css_imports.html?ModPagespeed=on&ModPagespeedFilters=rewrite_css,flatten_css_imports">after</a>
-  rewriting.
-</p>
-
-<h2>Requirements</h2>
-<p>
-  The <a href="filter-css-rewrite">rewrite_css</a>
-  filter must be enabled for this filter to be applied.
-</p>
-
-<h2>Limitations</h2>
-<p>
-  Only CSS referenced by <code>&lt;style&gt;</code> and <code>&lt;link&gt;
-  </code> tags is rewritten. <code>style</code> attributes of HTML elements
-  are not rewritten.
-</p>
-<p>
-  Not all CSS3 or proprietary constructs are parsed.  When unhandled syntax
-  is present and the file cannot be parsed completely, the CSS file is left
-  unflattened.
-</p>
-
-<h2>Risks</h2>
-<p>
-  flatten_css_imports is considered moderate risk because it makes the
-  fairly complex media optimization described above.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-head-add.html b/doc/filter-head-add.html
deleted file mode 100644
index 32a0df5..0000000
--- a/doc/filter-head-add.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Add Head</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Add Head</h1>
-
-
-
-<h2>Configuration</h2>
-<p>
-The 'Add Head' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters add_head</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters add_head;</pre>
-</dl>
-<p>
-in the configuration file, but it is also enabled automatically by several
-other filters, including combine_heads, move_css_to_head, and
-add_instrumentation.
-</p>
-
-<h2>Description</h2>
-<p>
-The 'Add Head' filter is very simple: it adds a head to the document if it
-encounters a &lt;body&gt; tag before finding a &lt;head&gt; tag.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<h2>Note</h2>
-<p>
-This filter exists primarily to ensure that other filters have a place
-to insert new tags that needs to be in the head, or that trigger on
-the closing-tag for a head to perform some other action.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered minimal risk.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-head-combine.html b/doc/filter-head-combine.html
deleted file mode 100644
index 4dff62b..0000000
--- a/doc/filter-head-combine.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Combine Heads</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Combine Heads</h1>
-
-
-<h2>Configuration</h2>
-<p>
-The 'Combine Heads' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters combine_heads</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters combine_heads;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-'Combine Heads' combines multiple heads into one.  Technically HTML documents
-are not allowed to have multiple <code>&lt;head&gt;</code> sections, but sites
-which aggregate content from multiple sources sometimes have them.  This filter
-moves the content from later <code>&lt;head&gt;</code> sections into the first
-head.  This filter can change the order of content (e.g. CSS and JS) in the
-later <code>&lt;head&gt;</code> sections relative to
-intervening <code>&lt;body&gt;</code> elements.
-</p>
-
-<h2>Operation</h2>
-<p>
-The 'Combine Heads' filter operates by moving the content of
-all <code>&lt;head&gt;</code> sections into the first <code>&lt;head&gt;</code>
-section.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/yellow.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/blue.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/big.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/bold.css"&gt;
-  &lt;/head&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/yellow.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/blue.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/big.css"&gt;
-    &lt;link rel="stylesheet" type="text/css" href="styles/bold.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/combine_heads.html?ModPagespeed=on&amp;ModPagespeedFilters=combine_heads">example</a>.
-</p>
-
-<h2>Limitations</h2>
-The 'Combine Heads' filter operates within the scope of a "flush window".
-Specifically, large or dynamically generated HTML files my be "flushed"
-by the resource generator before they are complete. If the CSS combiner
-encounters a Flush prior to the end of the first <code>&lt;head&gt;</code>,
-then subsequent <code>&lt;head&gt;</code>s will not be merged in.
-
-<h2>Note</h2>
-<p>
-In some browsers, the original version will flash quickly as the browser
-will render the "Hello, world!" text before it sees second set of
-style tags providing definitions for "big and bold".  This
-transformation will eliminate that flashing, but the end result will
-be the same.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered medium-risk.  If there are style or script tags in the
-body, between two heads, then this rewrite pass can change their order.  The
-risk is reduced if the <a href="filter-css-to-head">move_css_to_head</a> filter
-is also enabled.  Additionally, JavaScript that is executed before a
-later <code>&lt;head&gt;</code> will see a different view of the DOM in the
-presence of this rewriter.  If there is such JavaScript embedded in the middle
-of a page then this rewriter may change its behavior.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-hint-preload-subresources.html b/doc/filter-hint-preload-subresources.html
deleted file mode 100644
index 362fc2a..0000000
--- a/doc/filter-hint-preload-subresources.html
+++ /dev/null
@@ -1,123 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Hint Resource Preloading</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Hint Resource Preloading</h1>
-
-<p class="note"><strong>Note: New feature as of 1.12.34.1.</strong></p>
-<h2>Configuration</h2>
-<p>
-  The 'Hint Resource Preloading' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters hint_preload_subresources</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters hint_preload_subresources;</pre>
-</dl>
-<p>
-  in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-  'Hint Resource Preloading' uses <a href="http://w3c.github.io/preload">
-  resource preloading</a> HTTP headers to inform browsers of CSS and JavaScript
-  resources early in page processing, to permit them to fetch them earlier
-  than would otherwise be possible.
-</p>
-
-<h2>Operation</h2>
-<p>
-  The 'Hint Resource Preloading' filter operates by inserting HTTP headers based
-  on content observed in the HTML page (and CSS loaded from it) on earlier
-  visits; it does not alter the HTML.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint lang-html">
-&lt;link rel="stylesheet" type="text/css" href="styles/all_styles.css"&gt;
-&lt;img src="bigimage.jpeg"&gt;
-&lt;script src="script.js" type="text/javascript"&gt;&lt;/script&gt;
-</pre>
-Where <code>all_styles.css</code> contains:
-<pre class="prettyprint lang-html">
-@import url("basic.css");
-@import url("fancy.css");
-@import url("print.css") print;
-</pre>
-
-<p>
-  Then PageSpeed will add the following HTTP headers to the page:
-</p>
-<pre class="prettyprint">
-link: &lt;/styles_all_styles.css&gt;; rel=preload; as=style; nopush
-link: &lt;/basic.css&gt;; rel=preload; as=style; nopush
-link: &lt;/fancy.css&gt;; rel=preload; as=style; nopush
-link: &lt;/script.js&gt;; rel=preload; as=script; nopush
-</pre>
-
-<h3>Example</h3>
-<p>
-  You can see the filter in action at <code>www.modpagespeed.com</code> on this
-  <a href="https://www.modpagespeed.com/examples/hint_preload_subresources.html?PageSpeed=on&amp;PageSpeedFilters=hint_preload_subresources">example</a>.
-</p>
-
-<h2>Limitations</h2>
-<p>This filter only discovers resources specified in the HTML.
-Additionally it can follow one level of <code>@import</code> inclusion from
-<code>&lt;link&gt;</code>ed stylesheets to find additional stylesheets to hint.
-Resources loaded by scripts and further inside CSS will not be hinted for
-preloading. The filter itself does not look inside <code>&lt;style&gt;</code>
-blocks, but the default-enabled <a href="filter-css-inline-import">
-inline_import_to_link</a> filter can make some of their contents accessible.</p>
-
-<p>The filter cannot understand complex media queries, so it will handle them
-conservatively, assuming the resource isn't needed. </p>
-
-<p>When optimizations done by other filters expire, hints for optimizing those
-resources will not be generated (as it is unknown whether they'll get
-re-optimized at the point the HTTP headers are generated). </p>
-
-<h2>Risks</h2>
-<p> This filter is considered low risk. Since it only adds HTTP headers it is
-extremely unlikely to affect page correctness, as HTTP headers are generally
-invisible to web page operation, though a script using
-<code>XMLHttpRequest</code> to request a rewritten page would be able to
-observe them. </p>
-
-<p> However, the addition of extra headers can be counterproductive if the
-resources they hint are already easy to discover from the browser's parser,
-especially in HTTP/1, which lacks header compression. </p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-image-optimize.html b/doc/filter-image-optimize.html
deleted file mode 100644
index e161f45..0000000
--- a/doc/filter-image-optimize.html
+++ /dev/null
@@ -1,603 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-<head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-  <title>Optimize Images</title>
-  <link rel="stylesheet" href="doc.css">
-</head>
-<body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Optimize Images</h1>
-<h2>Introduction</h2>
-<p>
-The PageSpeed Modules optimize your images to minimize their size and thus
-reduce their load time. They remove non-visible image information and apply
-high-efficiency compression techniques. This can result in a data saving of
-50% or more.
-</p>
-<p>
-Using PageSpeed Modules, you can focus on the content of your site, knowing
-your visitors will receive images in the best format and dimensions for their
-device and browser while using minimum bandwidth.
-</p>
-
-<h2>Optimization methods</h2>
-<p>
-PageSpeed Modules can optimize most common image formats, including GIF, PNG,
-and JPEG, and convert them to PNG, JPEG, or WebP. GIF, PNG, and JPEG are
-supported by all browsers. WebP is a modern image format that can compress
-images <a href="https://developers.google.com/speed/webp/">over 25%</a>
-more than older formats, and is currently supported by many browsers,
-including Google Chrome, Android 4.0+, and Opera. PageSpeed-optimized images
-are converted to the best format supported by the target browser, i.e.,
-to WebP if it is supported, or PNG or JPEG if not.
-</p>
-<p>
-PageSpeed can also maximize compression based on image content. Lossy formats
-compress images far better than lossless formats, but sometimes introduce
-visible and undesirable "compression noise". PageSpeed examines the content
-of images to see whether they are sensitive to compression noise and, if so,
-converts to PNG or the lossless mode of WebP; if not, it converts to JPEG or
-the lossy mode of WebP.
-</p>
-
-<h2>In-place optimization vs. tag rewriting</h2>
-<p>
-PageSpeed is capable of doing all this without changing your HTML or CSS, known
-as In-Place Resource Optimization (IPRO). However, if you allow PageSpeed to
-modify your HTML and CSS, it can do even more. For example, PageSpeed can
-shrink images to their actual rendered dimensions, thereby using fewer pixels
-and offering additional byte savings. It can also inline small images into HTML
-or CSS to avoid additional round trips to your server for fetching the images.
-</p>
-<p>
-This table shows some examples of how PageSpeed can modify your HTML.
-</p>
-<table>
-  <tr>
-    <th colspan="2">Example 1</th>
-  </tr>
-  <tr>
-    <td>Before optimization</td>
-    <td><code>
-      &lt;img src="images/Image1.gif"/&gt
-    </code></td>
-  </tr>
-  <tr>
-    <td>After optimization</td>
-    <td><code>
-      &lt;img src="images/xImage1.gif.pagespeed.ic.GSLMcHP-fl.png"/&gt
-    </code></td>
-  </tr>
-  <tr>
-    <td>Explanation</td>
-    <td>Image converted from GIF to PNG format and
-       <a href="filter-cache-extend">cache-extended</a>.
-    </td>
-  </tr>
-  <tr>
-    <th colspan="2">Example 2</th>
-  </tr>
-  <tr>
-    <td>Before optimization</td>
-    <td><code>
-      &lt;img src="images/Image2.png" width="256" height="192"/&gt
-    </code></td>
-  </tr>
-  <tr>
-    <td>After optimization</td>
-    <td><code>
-      &lt;img src= "images/256x192xImage2.png.pagespeed.ic.ryODdDEGKc.png"
-      width="256" height="192"/&gt
-    </code></td>
-  </tr>
-  <tr>
-    <td>Explanation</td>
-    <td>Image resized to 256 x 192 pixels, recompressed to PNG, and
-      cache-extended.
-    </td>
-  </tr>
-  <tr>
-    <th colspan="2">Example 3</th>
-  </tr>
-  <tr>
-    <td>Before optimization</td>
-    <td><code>
-      &lt;img src="images/Image3.jpg" width="65" height="70"/&gt
-    </code></td>
-  </tr>
-  <tr>
-    <td>After optimization</td>
-    <td><code>
-      &lt;img src="data:image/jpeg;base64,...Base64 data"/&gt
-    </code></td>
-  </tr>
-  <tr>
-    <td>Explanation</td>
-    <td>Image resized and then inlined into HTML as Base64 data. Because the
-      inlined data has the desired dimensions, width and height are no longer
-      needed.
-    </td>
-  </tr>
-</table>
-
-<p>
-<b>Tip</b>: There are multiple ways to tell PageSpeed Modules not to modify
-certain images.
-<ul>
-  <li>
-    To avoid modifying a group of images, e.g., images under
-    a certain folder or images named after a pattern, you can use the
-    <a href="restricting_urls">Disallow</a> option.
-  </li>
-  <li>
-    To avoid modifying the contents of an image, you can add a
-    <code>Cache-Control: no-transform</code> response header to the image.
-    This header can be overridden by the
-    <a href="configuration#notransform">DisableRewriteOnNoTransform</a>
-    option.
-  </li>
-  <li>
-    To avoid modifying an <code>img</code> tag, you can use the
-    <code>data-pagespeed-no-transform</code> attribute, i.e.,<br>
-    <code>&lt;img src="do-not-modify.png" data-pagespeed-no-transform/&gt
-    </code>.
-  </li>
-</ul>
-</p>
-
-<h2>Image formats</h2>
-<p>
-PageSpeed Modules support the most common image formats used on the web.
-</p>
-<table>
-  <tr>
-    <td>
-      <a href="https://en.wikipedia.org/wiki/GIF">GIF</a>
-    </td>
-    <td>
-      A legacy but still popular image format. GIF is a lossless format,
-      so the compressed image is visually identical to the original. It
-      supports both single frame (still image) and multiple frames (animation).
-      Despite its popularity, GIF often has poor compression performance,
-      so PageSpeed converts GIF images to other (better) formats, unless the
-      images are tiny.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <a href="https://en.wikipedia.org/wiki/Portable_Network_Graphics">PNG</a>
-    </td>
-    <td>
-      A more recent lossless format designed as a successor to GIF for
-      single-frame images.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <a href="https://en.wikipedia.org/wiki/JPEG">JPEG</a>
-    </td>
-    <td>
-      A lossy format where the compression process removes image detail
-      that is difficult for the human eye to see. How much data to remove
-      depends on the quality level. JPEG has two modes, baseline and
-      progressive. Progressive mode can be used to render the image
-      incrementally and has a higher compression ratio for large images.
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <a href="https://en.wikipedia.org/wiki/WebP">WebP</a>
-    </td>
-    <td>
-      A cutting-edge image format. While it is not yet supported in all
-      browsers, it is becoming
-      <a href="https://developers.google.com/speed/webp/faq">increasingly
-      available</a>.
-      In addition to superior compression performance, it includes features
-      of all other formats: lossy mode, lossless mode, transparency,
-      and animation. WebP has added support for these features over time,
-      so your visitor's browser may support all, a subset, or none of these
-      features. PageSpeed automatically detects the features which your
-      visitor's browser supports and only uses the supported features in
-      optimization.
-    </td>
-  </tr>
-</table>
-
-<h2 id="filters">Filters</h2>
-<p>
-PageSpeed Modules provide specific filters so you can control exactly how
-your images are optimized. For each visitor, PageSpeed Modules choose the best
-format and mode from the ones you allowed and the ones supported by the
-visitor's browser.
-<p>
-</p>
-To simplify configuration, PageSpeed Modules provide
-<a href="reference-image-optimize#rewrite_images">rewrite_images</a>,
-a filter group that consists of the most common image optimizations.
-It allows recompression, transcoding to optimal formats, reduction of image
-dimensions, and inlining of small images into HTML or CSS. If you want to make
-more detailed adjustments, you can also enable or disable the individual
-filters:
-</p>
-
-<ul>
-  <li>To PNG format:
-    <a href="reference-image-optimize#convert_gif_to_png">convert_gif_to_png</a>,
-    <a href="reference-image-optimize#recompress_png">recompress_png</a>.
-  </li>
-  <li>To JPEG format:
-    <a href="reference-image-optimize#convert_png_to_jpeg">convert_png_to_jpeg</a>,
-    <a href="reference-image-optimize#convert_jpeg_to_progressive">
-convert_jpeg_to_progressive</a>,
-    <a href="reference-image-optimize#recompress_jpeg">recompress_jpeg</a>.
-  </li>
-  <li>To WebP format:
-    <a href="reference-image-optimize#convert_jpeg_to_webp">convert_jpeg_to_webp</a>,
-    <a href="reference-image-optimize#convert_to_webp_lossless">
-    convert_to_webp_lossless</a>,
-    <a href="reference-image-optimize#convert_to_webp_animated">
-    convert_to_webp_animated</a>,
-    <a href="reference-image-optimize#recompress_webp">recompress_webp</a>.
-  </li>
-  <li>General:
-    <a href="reference-image-optimize#inline_images">inline_images</a>,
-    <a href="reference-image-optimize#resize_images">resize_images</a>.
-  </li>
-</ul>
-
-<p>
-You can use any combination of the filter group and individual filters for
-your site. In each case, images are optimized only to the formats that are
-supported by your visitor's browser, and images are replaced only when the
-optimized one is smaller than the original.
-</p>
-
-<h2 id="image-quality">Image quality</h2>
-<p>
-For images that are sensitive to compression noise, PageSpeed Modules always
-use lossless compression; for other images, PageSpeed Modules use the more
-aggressive lossy methods. For the lossy formats you can specify up to three
-quality levels, indicated by specific situations:
-</p>
-<ul>
-<li>
-When the user indicates a
-<a href="https://support.google.com/chrome/answer/2392284">
-preference for reduced data usage</a>.
-</li>
-<li>
-When the user visits your site from a mobile device. Mobile devices usually
-have a high device pixel ratio, so compression noise is less visible.
-In addition, mobile devices are more likely to use an expensive data channel.
-</li>
-<li>
-For all other cases, e.g., when the user visits your site from a desktop or
-tablet.
-</li>
-</ul>
-
-<p>
-If your visitors have high transfer costs, slow connection speeds, or for
-other reasons, they may prefer reduced data usage. Some browsers, including
-<a href="https://developer.chrome.com/multidevice/data-compression">Chrome</a>,
-<a href="https://developers.google.com/web/updates/2016/02/save-data">Opera</a>,
-and <a href="https://developers.google.com/web/updates/2016/02/save-data">
-Yandex</a>, let visitors choose to send a
-<a href="http://httpwg.org/http-extensions/client-hints.html#the-save-data-hint">
-Save-Data</a> header when they request pages. You can honor their preference by
-allowing lower image quality for such requests.
-</p>
-<p>
-The image quality levels can be specified using various parameters, listed here
-in order of precedence.
-</p>
-
-<ol>
-<li>
-Format-specific qualities for save-data:
-<a href="reference-image-optimize#JpegQualityForSaveData">
-JpegQualityForSaveData</a> and
-<a href="reference-image-optimize#WebpQualityForSaveData">
-WebpQualityForSaveData</a>.
-</li>
-<li>
-Format-specific qualities for mobile:
-<a href="reference-image-optimize#JpegRecompressionQualityForSmallScreens">
-JpegRecompressionQualityForSmallScreens</a>,
-<a href="reference-image-optimize#WebpRecompressionQualityForSmallScreens">
-WebpRecompressionQualityForSmallScreens</a>, and
-<a href="reference-image-optimize#WebpAnimatedRecompressionQuality">
-WebpAnimatedRecompressionQuality</a>.
-</li>
-<li>
-Format-specific qualities for all other cases:
-<a href="reference-image-optimize#JpegRecompressionQuality">
-JpegRecompressionQuality</a>,
-<a href="reference-image-optimize#WebpRecompressionQuality">
-WebpRecompressionQuality</a>, and
-<a href="reference-image-optimize#WebpAnimatedRecompressionQuality">
-WebpAnimatedRecompressionQuality</a>.
-</li>
-<li>
-Format-generic quality for all other cases:
-<a href="reference-image-optimize#ImageRecompressionQuality">
-ImageRecompressionQuality</a>.
-</li>
-</ol>
-
-<p>
-Each parameter has a range of 0 - 100, representing lowest to
-highest quality. They can also be set to -1, indicating that the
-parameter should be ignored and the parameters of the lower precedences should
-be used. If all of the quality parameters are set to -1, images will
-not be optimized to any lossy format.
-</p>
-<p>
-<b>Tip</b>: If you do not want to recompress lossy-format images or convert
-images to lossy formats, it is best to disable any filter that would
-<a href="#filters">optimize to JPEG or WebP</a>. Setting all
-of the qualities to -1 wastes CPU to achieve the same result.
-</p>
-
-<h2>Image dimensions</h2>
-<p>
-PageSpeed Modules can shrink an image to its actual display dimensions based
-on the design of the page, the visitor's device, and the visitor's actions,
-to ensure the best user experience without wasting pixels.
-<p>
-You can use the
-<a href="reference-image-optimize#resize_images">resize_images</a> filter to
-shrink the image to the dimensions specified by the <code>width=</code> and
-<code>height=</code> attributes in the <code>&lt;img&gt;</code> tag or by the
-inline <code>style=</code> attribute.
-</p>
-<p>
-If you cannot use the
-<a href="reference-image-optimize#resize_images">resize_images</a> filter,
-you can use the
-<a href="reference-image-optimize#resize_rendered_image_dimensions">
-resize_rendered_image_dimensions</a>
-filter to shrink the images to their rendered dimensions. In this case,
-PageSpeed injects JavaScript into your HTML that will report the rendered
-dimensions to the server, known as "beaconing". After receiving a few beacons,
-PageSpeed identifies the dimensions, and shrinks the images.
-</p>
-<p>
-You can use the
-<a href="filter-image-responsive#configuration">responsive_images</a>
-filter to ensure your visitor sees full-resolution images, whether they are
-using a retina-based or regular device. Sending full resolution images to all
-devices is challenging because different devices may use a different number of
-pixels (known as device pixels) for displaying a region of the page
-(measured by CSS pixels). For example, a region of 100x100 CSS pixels in a
-page is displayed using 100x100 device pixels on an iPhone 3, 200x200 device
-pixels on an iPhone 6, and 300x300 device pixels on an iPhone 6+. For the best
-visual effect using the least bandwidth, you can resize your image to 100x100
-for iPhone 3, to 200x200 for iPhone 6, and to 300x300 for iPhone 6+. Using this
-filter, PageSpeed generates images at all of these dimensions, and then
-modifies the <code>&lt;img&gt;</code> tags so your visitor's browser uses the
-best size.
-</p>
-<p>
-Taking the <a href="filter-image-responsive#configuration">responsive_images</a>
-filter one step further, you can use the
-<a href="filter-image-responsive#configuration">responsive_images_zoom</a>
-filter to send images of higher resolutions when your visitor zooms in. Using
-this filter, PageSpeed injects JavaScript into your HTML that checks the zoom
-level of the page and fetches a higher-resolution image if necessary. On the
-back end, PageSpeed resizes the image to the proper resolutions.
-</p>
-
-<h2>Inline images</h2>
-<p>
-In addition to making the images smaller, PageSpeed Modules can help your page
-load faster by inlining images or previews into your HTML or CSS.
-</p>
-<p>
-PageSpeed can inline small images directly into the HTML or CSS, reducing
-server requests. This is enabled by the
-<a href="reference-image-optimize#inline_images">inline_images</a> filter,
-and is controlled by the
-<a href="reference-image-optimize#ImageInlineMaxBytes">ImageInlineMaxBytes</a>
-and <a href="reference-image-optimize#CssImageInlineMaxBytes">
-CssImageInlineMaxBytes</a> options.
-</p>
-<p>
-As well as inlining small images, PageSpeed can inline a reduced-quality
-version of large images into the HTML or CSS and, after the page is loaded,
-replace the low-quality image with the original. See
-<a href="reference-image-optimize#inline_preview">Inline Preview Images</a>
-for details.
-</p>
-
-<h2 id="srcsets">Srcsets</h2>
-<p class="note"><strong>Note: New feature as of 1.12.34.1.</strong></p>
-
-<p>
-In addition to optimizing image <code>src</code> attributes, as of 1.12.34.1
-PageSpeed will now also optimize images referenced in <code>srcset</code>s.
-This includes all PageSpeed image optimizations except resizing.
-</p>
-
-<p>
-PageSpeed can also automatically insert <code>srcset</code> attributes.  See the
-the <a href="filter-image-responsive#configuration">responsive_images</a>
-filter for configuration instructions.
-</p>
-
-<h2>Other controls</h2>
-<p>
-PageSpeed Modules provide controls to make sure that your server is stable,
-your proxy/CDN (if any) is fully utilized, and your images are delivered to
-the user in the format you want.
-</p>
-<p>
-Image optimization is an expensive process. To ensure the stability of your
-server, you can use
-<a href="reference-image-optimize#ImageResolutionLimitBytes">
-ImageResolutionLimitBytes</a>
-to limit the maximum dimensions of images to optimize, and
-<a href="reference-image-optimize#ImageMaxRewritesAtOnce">
-ImageMaxRewritesAtOnce</a>
-to limit the maximum number of images that are concurrently optimized.
-</p>
-<p>
-To ensure that your proxy/CDN can handle the optimized images correctly,
-you can use <a href="reference-image-optimize#AllowVaryOn">AllowVaryOn</a>
-to tell PageSpeed which request headers can be used to control image
-optimization. You can also use
-<a href="reference-image-optimize#NoTransformOptimizedImages">NoTransformOptimizedImages</a>
-to instruct proxies not to further compress the images.
-</p>
-<p>
-The
-<a href="reference-image-optimize#serve_webp_urls">
-ServeRewrittenWebpUrlsToAnyAgent</a>
-option can be used to tell PageSpeed how to respond to a request asking for a
-WebP image when the browser does not appear to support WebP. In this case,
-PageSpeed will normally return the image as a PNG or JPEG (whichever is most
-appropriate). If <code>ServeRewrittenWebpUrlsToAnyAgent</code> is enabled,
-PageSpeed will instead return the WebP unconditionally. Returning the image
-depending on the headers ensures that your visitor sees the image correctly.
-Returning the image unconditionally in WebP format is useful if you want to
-serve WebP but your CDN or proxy removes headers from the request.
-</p>
-<p>
-You can also ask PageSpeed to insert the image dimensions into
-<code>&lt;img&gt;</code> tags so the browser can compute the layout of the
-page before downloading the images. See
-<a href="reference-image-optimize#insert_image_dimensions">
-insert_image_dimensions</a>
-filter for more information.
-</p>
-
-<h2 id="Risks">Risks</h2>
-<p>
-Image optimization is not perfect, and its use can have some downsides. Here
-are some potential issues and suggested solutions.
-</p>
-
-<table>
-  <tr>
-    <td>
-      <p><em>
-        Image optimization is both CPU- and memory-intensive.
-      </em></p>
-      <p>
-        You will probably see your server load increase while images are being
-        rewritten, particularly immediately after server start. If the load
-        increases too much, you can alleviate it by setting
-        <a href="reference-image-optimize#ImageMaxRewritesAtOnce">
-        ImageMaxRewritesAtOnce</a> and
-        <a href="reference-image-optimize#ImageResolutionLimitBytes">
-        ImageResolutionLimitBytes</a>.
-        After the images have been optimized once, they will be cached for
-        future use.
-      </p>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <p><em>
-        Reducing the dimension of an image or compressing it to a lossy format
-        causes some image details to be lost.
-      </em></p>
-      <p>
-        This is sometimes noticeable, though usually not; you should inspect
-        the optimized images to ensure their quality is acceptable.
-      </p>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <p><em>
-        PageSpeed removes metadata, such as copyright information.
-      </em></p>
-      <p>
-        If you want keep a specific image's metadata, add
-        <code>data-pagespeed-no-transform</code> attribute. PageSpeed does not
-        remove watermarks.
-      </p>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <p><em>
-        It is possible to craft an image that, after re-compression, looks
-        like HTML to certain browsers.
-      </em></p>
-      <p>
-        While PageSpeed adds proper content-type headers and headers that
-        forbid content-type sniffing, some ancient browsers can still be
-        tricked into rendering them as HTML. If you have user-submitted images,
-        you should filter them before using them in your site.
-      </p>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <p><em>
-        Your beacons may need a new attribute.
-      </em></p>
-      <p>
-        If you use images as beacons to monitor page activity, you should add
-        <code>data-pagespeed-no-transform</code> attribute to them. Otherwise,
-        PageSpeed may optimize the images and the activity will not be reported
-        to you.
-      </p>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <p><em>
-        Images may incur stretching distortion if you ask PageSpeed Modules to
-        insert image dimensions.
-      </em></p>
-      <p>
-        If you use <code>insert_image_dimensions</code> on pages where your
-        CSS modifies image sizes, the images may appear distorted. Again,
-        inspect compressed images for render dimensions.
-      </p>
-    </td>
-  </tr>
-  <tr>
-    <td>
-      <p><em>
-        Color profiles are removed by PageSpeed.
-      </em></p>
-      <p>
-        If your images contain color profiles, they are removed to save data.
-        This is usually not a problem since most images with a color profile
-        render indistinguishably when the color profile is removed.
-      </p>
-    </td>
-  </tr>
-</table>
-
-</div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-image-responsive.html b/doc/filter-image-responsive.html
deleted file mode 100644
index 22e0fd9..0000000
--- a/doc/filter-image-responsive.html
+++ /dev/null
@@ -1,162 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Responsive Images</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Responsive Images</h1>
-<p class="note"><strong>Note: New filter as of 1.10.33.0</strong></p>
-
-<h2>Configuration</h2>
-<p>
-  The 'Responsive Images' filter requires the 'Resize Images' filter;
-  these filters are enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters responsive_images,resize_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters responsive_images,resize_images;</pre>
-</dl>
-<p>
-  in the configuration file. An additional zoom feature can be enabled by
-  specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters responsive_images_zoom</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters responsive_images_zoom;</pre>
-</dl>
-<p id="pagespeed_no_transform">
-  The 'Responsive Images' filter won't optimize an image if it has
-  the <code>data-pagespeed-no-transform</code>
-  or <code>pagespeed_no_transform</code> attribute. Usage:
-</p>
-<pre class="prettyprint">
-  &lt;img src="example.png" data-pagespeed-no-transform&gt;
-</pre>
-
-<h2>Description</h2>
-<p>
-  This filter makes images responsive by adding <code>srcset</code> attributes
-  which provide multiple versions for different pixel density screens.
-</p>
-<p>
-  If <code>responsive_images_zoom</code> is enabled, it also extends the
-  default srcset functionality by loading higher resolution images when the
-  user zooms in.
-</p>
-<p>
-  In order to take advantage of this filter, the original image must
-  explicitly specify <code>height</code> and <code>width</code> attributes
-  and src must be a high enough resolution image (at least 2x larger than
-  these height and width values).
-</p>
-
-<h2>Example</h2>
-<p>
-  For example, if the original HTML looks like this:
-</p>
-<pre class="prettyprint">
-&lt;img src="foo.png" width="100" height="100"&gt;
-</pre>
-<p>
-  and <code>foo.png</code> is 1000x1000, then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;img src="100x100xfoo.png.pagespeed.ic.HASH1.png" width="100" height="100"
-     srcset="150x150xfoo.png.pagespeed.ic.HASH2.png 1.5x,200x200xfoo.png.pagespeed.ic.HASH3.png 2x,300x300xfoo.png.pagespeed.ic.HASH4.png 3x, foo.png 10x"&gt;
-</pre>
-<p>
-  Which will load the normal 100x100 image on standard displays,
-  higher-resolution 150x150, 200x200 or 300x300 image on 1.5x, 2x, or 3x
-  displays, or the full original 1000x1000 image when users zoom in enough.
-</p>
-<p>
-  If <code>foo.png</code> is 200x200, no 3x or higher version will be added to
-  srcset.
-  If <code>foo.png</code> is only 100x100, no srcset will be added at all.
-</p>
-
-<h3>Online Example</h3>
-<p>
-  You can see the filter in action at <a href="https://www.modpagespeed.com/examples/responsive_images.html?PageSpeed=on&amp;PageSpeedFilters=responsive_images,responsive_images_zoom,rewrite_images,inline_images,resize_images,insert_image_dimensions"><code>www.modpagespeed.com</code></a>.
-</p>
-
-<h2>Limitations</h2>
-<ul>
-  <li>Before 1.12.34.1, PageSpeed would not optimize images referenced in
-    existing <code>srcset</code> attributes.</li>
-  <li>Images must have explicit <code>height</code> and <code>width</code>
-    attributes and src must refer to a higher resolution image.</li>
-  <li>PageSpeed does not mix inline images with <code>srcset</code>s. If the
-    largest size image is inlinable, we just inline that. Otherwise we do not
-    inline any of the images and use a <code>srcset</code> instead.</li>
-  <li>The Responsive Images filter is not compatible with the
-    <a href="filter-local-storage-cache">Local Storage Cache filter</a>.
-    Images modified by the Responsive Images filter will not be stored in
-    Local Storage.</li>
-  <li>PageSpeed's default memory limits keep it from processing images larger
-    than 8 million pixels (8MP).  If you have images larger than this, it won't
-    be able to resize them to generate the lower resolution versions.  See
-    <a href="reference-image-optimize#ImageResolutionLimitBytes"
-    >ImageResolutionLimitBytes</a> for more details on increasing this limit or
-    resizing source images to be under the limit.</li>
-</ul>
-
-<h2>Risks</h2>
-<p>
-  This filter will increase cache usage by 4x for all images which have
-  explicit <code>width</code> and <code>height</code> attributes.
-  (This is true even if the original image is only 1x.) If this pushes
-  your cache over the <a href=system#file_cache><code>FileCacheSize</code></a>,
-  then you may experience cache churn which makes PageSpeed much less effective.
-</p>
-<p>
-  This filter has the same risks inherent in the 'Resize Images' filter.
-  See <a href="filter-image-optimize#Risks">Optimize Images - Risks</a>
-  for more information.
-</p>
-<p>
-  This filter adds a <code>srcset</code> attribute to images. This will break
-  any JavaScript which changes images by modifying their <code>src</code>
-  attribute. On high-density displays, modifying the <code>src</code> attribute
-  will not actually change the image. As a work-around, you can add a
-  <a href="#pagespeed_no_transform"><code>data-pagespeed-no-transform</code></a>
-  attribute to any <code>&lt;img&gt;</code> tag to prevent PageSpeed from adding
-  a <code>srcset</code>.
-</p>
-<p>
-  If using <code>responsive_images_zoom</code>, the JavaScript used to
-  implement that feature may conflict with other JS on the page.
-</p>
-
-</div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-image-sprite.html b/doc/filter-image-sprite.html
deleted file mode 100644
index 66e1621..0000000
--- a/doc/filter-image-sprite.html
+++ /dev/null
@@ -1,187 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Sprite Images</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Sprite Images</h1>
-
-
-<h2>Configuration</h2>
-<p>
-The 'Sprite Images' filter requires the 'Rewrite CSS' filter;
-these filters are enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters rewrite_css,sprite_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters rewrite_css,sprite_images;</pre>
-</dl>
-<p>
-in the configuration file.
-<h2>Description</h2>
-<p>
-The 'Sprite Images' filter detects GIF and PNG images used as backgrounds in
-CSS.  It attempts to combine all such images referenced from a CSS file
-into a single large image.  The individual CSS backgrounds are then rewritten to
-point to the single large image, with background positioning declarations so
-that the page appears as it was before.  This process is
-called <a href="http://www.alistapart.com/articles/sprites">CSS Spriting</a>.
-This filter is intended to avoid the cumbersome process of managing the sprited
-image and corresponding declarations rather than as a general-purpose optimizer.
-</p>
-<h2>Benefits</h2>
-<p>
-CSS Spriting can benefit page speed in several ways.  First, if many small
-images are combined into one large image, the browser will require fewer server
-connections, which can increase parallelism.  Second, bytes are saved from the
-overhead of each individual request (both the HTTP headers and the image
-headers); depending on how well the large PNG compresses, this can end up saving
-a substantial amount of bandwidth.  Finally, in some browsers it is faster to
-decode one large image than several small ones.
-</p>
-<h2>Example</h2>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;title&gt;Sprite Images&lt;/title&gt;
-      &lt;style type="text/css"&gt;
-        #bg_Cuppa {
-            background-image:url('images/Cuppa.png');
-            background-repeat:no-repeat;
-            width:65px;
-            height:70px;
-        }
-        #bg_BikeCrashIcn {
-            width:100px;
-            height:100px;
-            background:transparent url('images/BikeCrashIcn.png') 0 0 no-repeat
-        }
-      &lt;style type="text/css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div id="bg_Cuppa"&gt;&lt;/div&gt;
-    &lt;div id="bg_BikeCrashIcn"&gt;&lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then <code>sprite_images</code> will rewrite the css into something like this:
-</p>
-<pre class="prettyprint">
-        #bg_Cuppa{
-            background-image:url(<b>images/Cuppa.png+BikeCrashIcn.png.pagespeed.is.Y-XqNDe-in.png</b>);
-            background-repeat:no-repeat;
-            width:65px;
-            height:70px;
-            <b>background-position:0px 0px</b>
-        }
-        #bg_BikeCrashIcn{
-            width:100px;
-            height:100px;
-            background:transparent url(<b>images/Cuppa.png+BikeCrashIcn.png.pagespeed.is.Y-XqNDe-in.png</b>) <b>0px -70px</b> no-repeat;
-        }
-</pre>
-<p>
-You can see the filter in action at <a href="https://www.modpagespeed.com/examples/sprite_images.html?ModPagespeed=on&ModPagespeedFilters=rewrite_css,sprite_images"><code>www.modpagespeed.com</code></a>.
-</p>
-
-<h2>Limitations</h2>
-<p>
-The Sprite Images filter is still experimental, and currently has a number of
-limitations:
-<ul>
-<li><strong>Only PNG and GIF images</strong> are supported; JPG will come in a
-future release.</li>
-<li><strong>Only CSS backgrounds</strong> are supported; <code>&lt;img&gt;</code> tags will come in a future release.</li>
-<li>A background image can't be safely sprited if the HTML element is larger
-than the background image (since this would allow the combined image's extra
-pixels to show around the edges).  Accordingly, the CSS must have
-<strong>explicit width and height</strong> in the same declaration as the
-background URL, and the width and height must be smaller than or equal to those
-of the image.</li>
-<li>The CSS must <strong>not include any background-position declarations
-without background-url declarations</strong>.  Such a naked background-position
-declaration could apply to any background-image, and since we don't know which
-one, it isn't safe to do any spriting.</li>
-<li>The Sprite Images filter currently arranges images in a vertical strip,
-which might not be the most efficient arrangement.  More advanced layouts
-will come in a future release.</li>
-</ul>
-</p>
-
-<h2>Risks</h2>
-<p>
-Automatically spriting images is low risk.  However, there are some potential
-problems to be aware of:
-</p>
-<p>
-<em>Browser caching effectiveness could be degraded.</em>  If the pages on your
-site have a high (but not complete) overlap of background images, a visitor
-browsing your site will normally have many of these images cached much of the
-time.  After turning on the Sprite Images filter, the user may have to download
-a new (slightly different) sprite for each different page.  Expect improvement
-on this front in a future release.
-</p>
-
-<p>
-<em>Your server load could increase.</em>  The image processing required to
-combine many small images into one large one could have a memory or CPU impact
-on your server.  PageSpeed is designed to minimize this impact,
-but you should keep an eye on it after turning on any image processing filter.
-</p>
-
-<p>
-<em>Your server could be exposed to a new attack vector</em> if you host
-user-submitted images.  Processing hostile images on the server could be
-insecure.  We recommend that user-submitted images be filtered before
-spriting.
-</p>
-
-<p>
-<em>Your CSS file could get bigger</em> since the URL of the combined image is
-longer than the URL of each individual image.  However, if your CSS is served
-compressed (and it definitely ought to be!), this should not make much
-difference, since the extra bytes will be highly compressible.
-</p>
-
-<p>
-<em>Your pages could take more memory</em> to display on the client, since the
-decompressed bitmap of the large image will have more pixels than the sum of the
-small images.  This could negatively impact the experience on memory-constrained
-mobile devices.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-inline-preview-images.html b/doc/filter-inline-preview-images.html
deleted file mode 100644
index fbf3b4f..0000000
--- a/doc/filter-inline-preview-images.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Inline Preview Images</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Inline Preview Images</h1>
-
-
-<h2>Configuration</h2>
-<p>
-The 'Inline Preview Images' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters inline_preview_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters inline_preview_images;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-The 'Resize Mobile Images' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters resize_mobile_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters resize_mobile_images;</pre>
-</dl>
-in the configuration file.
-
-<h2>Description</h2>
-<p>
-The 'Inline Preview Images' filter generates low quality versions of the
-images that are inlined in the HTML page. Users experience faster rendering of
-the page and the low quality images are replaced by high quality versions after
-an onload event is triggered. The filter works on images found in
-<code>&lt;img&gt;</code> tags.
-</p>
-<p>
-The 'Resize Mobile Images' filter works like Inline Preview Images, but is
-applied only for mobile browsers, and shrinks the size in pixels of the
-placeholder images on mobile devices to better fit the device screen size.  If
-Inline Preview Images is activated and Resize Mobile Images is not,
-full-resolution preview images will be served to both desktop and mobile
-browsers.
-</p>
-<p class="note"><strong>Note:</strong> <code>inline_preview_images</code>
- and <code>resize_mobile_images</code> should be used together
- with <code>insert_image_dimensions</code> to avoid reflow as the images load.
-</p>
-
-<h2>Operation</h2>
-The 'Inline Preview Images' filter changes the <code>src</code> attribute of
-<code>&lt;img&gt;</code> elements to <code>data-pagespeed-high-res-src</code>
-based on a few parameters which are described in next section. It generates low
-quality versions of the images and replaces the <code>src</code> attribute with
-these. The low quality images are replaced by high quality versions after an
-onload event is triggered.
-
-<h2 id="params">Parameters that affect optimization</h2>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMaxInlinedPreviewImagesIndex IndexNumber</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MaxInlinedPreviewImagesIndex IndexNumber;</pre>
-</dl>
-<p>
-The first <code>IndexNumber</code> images on the page are replaced by low
-quality images. Negative numbers will result in
-<strong>all</strong> images being rewritten. Zero means no image will be
-rewritten. The default value of this parameter is -1. Refer to the Risks section
-for trade offs on setting this value.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMinImageSizeLowResolutionBytes MinBytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MinImageSizeLowResolutionBytes MinBytes;</pre>
-</dl>
-<p>
-<code>MinBytes</code>, a positive integer, is the minimum size in bytes of
-any image for which a low quality image is generated. No images will be
-rewritten for zero and negative values.
-</p>
-<p id="beacons">
-'Inline Preview Images' injects JavaScript that uses a
-<a href="faq#beacons">beacon</a> to report back to the server the images that
-are visible in the client's initial viewport (<em>above the fold</em>).
-It takes a few accesses of a page for the data to be reported back and
-processed but eventually the above-the-fold images will be known and will be
-replaced with low quality versions while all others will be handled normally;
-until then images are replaced as described above.
-</p>
-<p>
-The use of beacons can be disabled using the
-<a href="config_filters#beacons">ModPagespeedCriticalImagesBeaconEnabled</a>
-directive. If they are disabled, 'Inline Preview Images' will not inject the
-JavaScript and images will be replaced with low quality versions as described
-above.
-</p>
-
-<h3>Example</h3>
-<p>
-You can see the Inline Preview Images filter in action
-at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/inline_preview_images.html?ModPagespeed=on&amp;ModPagespeedFilters=inline_preview_images">example</a>.
-You can also see this
-<a href="https://www.modpagespeed.com/examples/resize_mobile_images.html?ModPagespeed=on&ModPagespeedFilters=resize_mobile_images,insert_image_dimensions">example</a>
-of the Resize Mobile Images filter.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered moderately risky. The main risk is that the HTML
-becomes bloated due to the embedded low quality image data.
-<code>MaxInlinedPreviewImagesIndex</code> should be chosen appropriately;
-otherwise, if images below the fold are inlined, there is no user perceivable
-gain, but the page takes longer to load due to the extra bytes in the HTML.
-</p>
-<p>
-Note that <code>MaxInlinedPreviewImagesIndex</code>
-and <code>MinImageSizeLowResolutionBytes</code> should not be used to disable
-inlining of preview images (for example by setting either parameter to
-0). Instead, the <code>inline_preview_images</code>
-and <code>resize_mobile_images</code> filters themselves should be disabled.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-insert-dns-prefetch.html b/doc/filter-insert-dns-prefetch.html
deleted file mode 100644
index 29f73bb..0000000
--- a/doc/filter-insert-dns-prefetch.html
+++ /dev/null
@@ -1,114 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Pre-Resolve DNS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Pre-Resolve DNS</h1>
-<h2>Objective</h2>
-<p>
-Reduce DNS lookup time by pre-resolving at the browser.
-</p>
-
-  <h2>Configuration</h2>
-  <p>
-  The 'Pre-Resolve DNS' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters insert_dns_prefetch</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters insert_dns_prefetch;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-DNS resolution time varies from &lt;1ms for locally cached results, to hundreds
-of milliseconds due to the cascading nature of DNS. This can contribute
-significantly towards total page load time. This filter reduces DNS lookup time
-by providing hints to the browser at the beginning of the HTML, which allows the
-browser to pre-resolve DNS for resources on the page.
-</p>
-
-<h2>Operation</h2>
-<p>
-This filter inserts the tag <code>&lt;link rel="dns-prefetch"&gt;</code> (or
-<code>&lt;link rel="prefetch"&gt;</code> for IE9) in the HEAD section, for all
-domains present in the HTML document.
-</p>
-
-<h2>Example</h2>
-<p>
-The example below shows the HTML before rewriting:
-</p>
-
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;img src="www.domain1.com/image1.jpeg"&gt;
-    &lt;script src="www.domain2.com/script1.js"&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<p>
-and after rewriting:
-</p>
-
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="dns-prefetch" href="//www.domain1.com"&gt;
-    &lt;link rel="dns-prefetch" href="//www.domain2.com"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;img src="www.domain1.com/image1.jpeg"&gt;
-    &lt;script src="www.domain2.com/script1.js"&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<h2>Limitations</h2>
-<p>
-This filter will be applied only on Firefox 3.5+, Chrome, Safari 5+ and IE
-9+.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered minimal risk.
-</p>
-</div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
-
diff --git a/doc/filter-insert-ga.html b/doc/filter-insert-ga.html
deleted file mode 100644
index 000dace..0000000
--- a/doc/filter-insert-ga.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Insert Google Analytics</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Insert Google Analytics</h1>
-
-
-
-<h2>Configuration</h2>
-<p>
-The 'Insert Google Analytics' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedEnableFilters insert_ga
-ModPagespeedAnalyticsID &lt;Analytics ID&gt;</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed EnableFilters insert_ga;
-pagespeed AnalyticsID &lt;Analytics ID&gt;;</pre>
-</dl>
-<p>
-in the configuration file.  As of 1.10.33.0 the default snippet is
-now <code>analytics.js</code>.  To insert <code>ga.js</code> instead, set:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedUseAnalyticsJs false</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed UseAnalyticsJs false;</pre>
-</dl>
-</p>
-
-<h2>Description</h2>
-<p>
-The 'Insert Google Analytics' filter adds the basic Google Analytics javascript
-snippet to each HTML page.  If the page already has a Google Analytics snippet
-inside <code>&lt;head&gt;</code> with the specified ID, then no additional
-snippet will be added.  If another Google Analytics snippet is on the page with
-a <em>different</em> ID, then an additional snippet will be added with the ID
-specified in with <code>AnalyticsID</code>.  In order to avoid any
-strange Google Analytics reporting, make sure that the ID specified in the
-configuration file matches the one used on your site.
-</p>
-<p>
-This filter does <em>not</em> require
-the <code>make_google_analytics_async</code> filter.  The Google Analytics
-snippets inserted by <code>insert_ga</code> are already asynchronous.
-</p>
-<p>
-See <a href="http://modpagespeed.com/insert_ga.html">this example</a> of this
-filter in action.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-instrumentation-add.html b/doc/filter-instrumentation-add.html
deleted file mode 100644
index e114bd5..0000000
--- a/doc/filter-instrumentation-add.html
+++ /dev/null
@@ -1,215 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Add Instrumentation</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Add Instrumentation</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Add Instrumentation' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters add_instrumentation</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters add_instrumentation;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-The 'Add Instrumentation' filter injects two small blocks of JavaScript
-into every HTML page.  These blocks measure the time the client spends
-loading and rendering the page, and report that measurement back to the
-server.
-</p>
-
-<h2>Operation</h2>
-<p>An empty HTML file passed through the add_instrumentation filter will
-come out like this (the inserted whitespace is for documentation
-readability):
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script type='text/javascript'&gt;
-      window.mod_pagespeed_start = Number(new Date());
-  &lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;script type='text/javascript'&gt;
-      function g(){
-        new Image().src = '/mod_pagespeed_beacon?ets=load:'
-          + (Number(new Date())-window.mod_pagespeed_start);
-      };
-      var f = window.addEventListener;
-      if (f) {
-        f('load',g,false);
-      } else {
-        f=window.attachEvent;
-        if (f) {
-          f('onload',g);
-        }
-      }
-    &lt;/script&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/add_instrumentation.html?ModPagespeed=on&amp;ModPagespeedFilters=add_instrumentation">example</a>.
-</p>
-
-<h2>Methodology</h2>
-<p>
-The first script tag is inserted at the beginning of the document's
-<code>&lt;head&gt;</code>.  It simply records the current time in a global
-variable.  This is placed as early in the document as possible in order to
-best approximate the beginning of the page load.
-</p>
-<p>
-The second script tag is inserted at the end of the document's
-<code>&lt;body&gt;</code>, so as to minimally interfere with page rendering.
-It registers a listener for the page's onLoad event; this listener computes
-the total time since the first script tag ran,  and sends the result back
-to the server asynchronously by using a fake Image object.  This technique
-should work on most modern browsers.
-[1].
-</p>
-<p>
-The add_instrumentation filter sends a beacon after the page <code>onload</code>
-handler is called. The user might navigate to a new URL before this. If you
-enable the following directive, the beacon is sent as part of an
-<code>onbeforeunload</code> handler, for pages where navigation happens before
-the <code>onload</code> event.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedReportUnloadTime on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ReportUnloadTime on;</pre>
-</dl>
-By default, the target of the asynchronous callback is the relative URL
-<code>"/mod_pagespeed_beacon"</code> (Apache)
-or <code>"/ngx_pagespeed_beacon"</code> (Nginx).  PageSpeed handles these
-results itself and simply returns <code>"204 No Content"</code> which should
-cause minimal disruption for the client.  It also records the number of
-callbacks, and the total of their onLoad times, in the statistics <code>
-"page_load_count"</code> and <code>"total_page_load_ms"</code>.  These are
-visible on the PageSpeed statistics page (which, by default, is only viewable
-from the server's localhost).  You can divide
-<code>total_page_load_ms</code> by <code>page_load_count</code> to get the
-average onLoad time for your site.
-</p>
-<p id="beacon_url">
-You can change the location of the beacon to a different path (or even a
-different server) using the <code>BeaconUrl</code> directive.  For example:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedBeaconUrl "/my/path/to/beacon"
-</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed BeaconUrl "/my/path/to/beacon";</pre>
-</dl>
-<p>
-Or, if you want to set up your own beacon server somewhere else, you can use:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedBeaconUrl "http://my.other.server/my_beacon"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed BeaconUrl "http://my.other.server/my_beacon";</pre>
-</dl>
-<p>
-If you want to set an https beacon URL that is different from the http beacon
-URL (for example a different machine as shown below, or a non-default port), you
-can do so by separating the http and https URLs with a space.  You don't need to
-do this if the beacon URLs only differ in protocol (http versus https):
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedBeaconUrl "http://insecure.server/my_beacon https://secure.server/my_beacon"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed BeaconUrl "http://insecure.server/my_beacon https://secure.server/my_beacon";</pre>
-</dl>
-<p>
-Note that the BeaconUrl used to require that custom beacon URLs end
-with <code>"?ets="</code>. Appending the query param to the custom URL is no
-longer required and should be removed if present.
-</p>
-<p>
-If you want more detailed information about client load time (e.g. averages for
-different pages and different browsers, median times, historical behavior, etc.)
-you can get this information from your webserver logs.  Every beacon load will
-be in your access.log along with the timestamp, referer, IP address, and
-user-agent&mdash;which tell you when, where, and by whom the onLoad measurement
-was taken.  There are some existing tools to collect and analyze these data; one
-such example is
-<a href="http://code.google.com/p/jiffy-web">Jiffy</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-The "Add Instrumentation" filter requires the "Add Head" filter, and will
-enable it automatically.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter could break pages if they include JavaScript which depends on
-knowing the first child of the <code>&lt;head&gt;</code> or the last child
-of the <code>&lt;body&gt;</code>.
-</p>
-<p>
-The injected JavaScript is very lightweight, and should cause only a very tiny
-(though nonzero) amount of extra load on the client.
-</p>
-<p>
-If you already have a client-side latency measurement system in place (such as
-Jiffy, Episodes, or Boomerang), you probably don't need this filter.
-</p>
-<p>
-Note that the data reported by this filter is only approximate and does not
-include time the client spends resolving your domain, opening a connection, and
-waiting for the first few bytes of HTML.
-</p>
-
-<h2>References</h2>
-<ol>
-  <li>Zakas, Nicholas C., <u>High Performance JavaScript</u>. O'Reilly, 2010, p133.
-</ol>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-js-combine.html b/doc/filter-js-combine.html
deleted file mode 100644
index 36d2550..0000000
--- a/doc/filter-js-combine.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Combine JavaScript</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Combine JavaScript</h1>
-
-
-
-
-<h2>Configuration</h2>
-<p>
-The 'Combine JavaScript' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters combine_javascript</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters combine_javascript;</pre>
-</dl>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-'Combine JavaScript' seeks to reduce the number of HTTP requests made by a
-browser during page refresh by replacing multiple distinct JavaScript files with
-a single one.
-</p>
-<p>
-This <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt#CombineExternalJS">practice</a>
-reduces the number of round-trip times.
-</p>
-
-<h2>Example</h2>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/combine_javascript.html?ModPagespeed=on&ModPagespeedFilters=combine_javascript">example</a>.
-</p>
-
-<h2>Parameters that affect JS combining</h2>
-
-<h3 id="MaxCombinedJsBytes">MaxCombinedJsBytes</h3>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMaxCombinedJsBytes MaxBytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MaxCombinedJsBytes MaxBytes;</pre>
-</dl>
-<p>
-<code>MaxBytes</code> is the maximum uncompressed size in bytes of the combined
-JavaScript files.  JavaScript files larger than <code>MaxBytes</code> will be
-kept intact; other JavaScript files will be combined into one or more files,
-each being no more than <code>MaxBytes</code> in size. The current default value
-for <code>MaxBytes</code> is 92160 (90K).
-</p>
-
-<h2>Limitations</h2>
-<p>The JavaScript Combine filter operates within the scope of a "flush window".
-Specifically, large, or dynamically generated HTML files may be
-"flushed" by the resource generator before they are complete.  When the
-filter encounters a flush, it will emit all script combinations seen
-up to the point of the flush.  After the flush, it will begin collecting
-a new script combination.
-</p>
-<p>This filter currently cannot combine across inline scripts, and
-IE conditional comments.
-</p>
-<p>This filter generates URLs that are essentially the concatenation
-of the URLs of all the Javascript files being combined.  The maximum URL size
-is generally limited to about 2k characters due to IE:
-See <a href="http://support.microsoft.com/kb/208427/EN-US"
->http://support.microsoft.com/kb/208427/EN-US</a>.  Apache servers by
-default impose a further limitation of about 250 characters per URL segment
-(text between slashes).  PageSpeed circumvents this limitation when it runs
-under Apache, but if you employ proxy servers in your path you may need to
-re-impose it by overriding the setting here.  The default setting is 1024.</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMaxSegmentLength 250</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MaxSegmentLength 250;</pre>
-</dl>
-<h2>Requirements</h2>
-<p>
-By default, the filter will combine together script files from different
-paths, placing the combined element at the lowest level common to both
-origins.  In some cases, this may be undesirable.  You can turn off the
-behavior with:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCombineAcrossPaths off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CombineAcrossPaths off;</pre>
-</dl>
-<h2>Risks</h2>
-<p>
-This filter is considered moderate risk. However, JavaScript can be written that
-walks the DOM looking for <code>&lt;script&gt;</code> entries with certain
-syntax.  Such JavaScript may behave differently on a page which has modified
-script locations and structure.
-</p>
-
-<p>
-  This filter is sensitive to <a href="restricting_urls#aris"><code
-  >AvoidRenamingIntrospectiveJavascript</code></a>. For example,
-  a JavaScript file that
-  calls <code>document.getElementsByTagName('script')</code> will not be
-  combined with other JavaScript files.
-</p>
-
-<p>
-This filter employs the Javascript 'eval' expression to evaluate each
-&lt;script&gt; tag at its proper location in the DOM, but getting the aggregated
-script content in one HTTP fetch.  The effects of this are likely to differ
-between browsers, and haven't yet been thoroughly measured.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-js-defer.html b/doc/filter-js-defer.html
deleted file mode 100644
index f70f13e..0000000
--- a/doc/filter-js-defer.html
+++ /dev/null
@@ -1,154 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Defer JavaScript</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Defer JavaScript</h1>
-  <h2>Configuration</h2>
-  <p>
-  The 'Defer JavaScript' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters defer_javascript</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters defer_javascript;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p class="warning">
-<strong>Warning:</strong> Defering JavaScript can often dramatically improve the
-rendering speed of a site, but careful evaluation is required to ensure the
-site continues to operate properly.  The limitations are described below.
-</p>
-
-</p>
-<p>
-defer_javascript tries to defer JavaScript execution until page load.
-It defers this by changing the <code>type</code> and <code>src</code>
-attributes of <code>&lt;script&gt;</code> elements on the HTML page to
-<code>data-pagespeed-orig-type</code> and <code>data-pagespeed-orig-src</code>
-respectively.  It also adds a new <code>type</code> attribute whose value is set
-to <code>text/psajs</code>.  A <code>window.onload</code> handler is added to
-the HTML, which executes all the deferred scripts.
-</p>
-<p>
-defer_javascript doesn't defer a <code>script</code> tag if it has
-the <code>data-pagespeed-no-defer</code> attribute (preferred)
-or <code>pagespeed_no_defer</code> attribute (deprecated). This is useful when
-a <code>script</code> tag needs to be executed while loading the page.  For
-example, a <code>script</code> tag may be updating the main content dynamically
-as a slideshow of images in the visible content of the page.  Usage:
-<pre class="prettyprint">
-&lt;script data-pagespeed-no-defer&gt;...&lt;/script&gt;
-</pre>
-</p>
-
-<h3>Example</h3>
-<p>
-The effect of this filter can be observed on modpagespeed.com
-<a href="https://www.modpagespeed.com/examples/defer_javascript.html?ModPagespeed=off"
->before</a>
-and
-<a href="https://www.modpagespeed.com/examples/defer_javascript.html?ModPagespeed=on&ModPagespeedFilters=defer_javascript">after</a>
-rewriting.
-</p>
-
-<h2>Limitations</h2>
-<p>
-Parent variables accessed from an <code>iframe</code> may be
-<code>undefined</code> when defer_javascript is used.
-</p>
-
-<p>
-All JavaScript code is downloaded and executed serially, whereas without
-defer_javascript the browser tries to download JavaScripts in
-parallel as much as possible.
-</p>
-
-<p>
-Calls to <code>document.write</code> fail in cases where they span multiple
-<code>script</code> tags.
-An example is:
-<pre class="prettyprint">
-&lt;script&gt;document.write('&lt;div&gt;')&lt;/script&gt;
-&lt;span&gt;&lt;/span&gt;
-&lt;script&gt;document.write('&lt;/div&gt;')&lt;/script&gt;
-</pre>
-Without defer_javascript the <code>span</code> would have been
-created inside the <code>div</code>.  With defer_javascript
-the <code>span</code> would have been created outside and after the
-<code>div</code>.
-</p>
-<p>
-Any <code>document.body.appendChild</code> calls will always get appended to
-the bottom of the page.
-</p>
-<h2>Requirements</h2>
-<p>
-defer_javascript is supported for browser versions of chrome 15+,
-safari5+, Firefox3.6+ and IE9+.  For other user agents the filter is turned
-off automatically.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered high risk. JavaScript whose logic depends on the state
-of the DOM may behave differently when defer_javascript is turned
-on.
-</p>
-<p>
-If JavaScript is written to expect user actions before the page is loaded
-completely, such scripts will behave differently with
-defer_javascript. For example, if an <code>alert</code> is placed
-at the start of the page, then with defer_javascript the
-<code>alert</code> would appear only after the page is loaded completely.
-</p>
-<p>
-User actions that trigger events such as <code>onclick</code>
-<code>onkeypress</code> will not be handled until the page is rendered
-completely.
-</p>
-<p>
-Content in the page will reflow if visible elements are inserted in the page by
-JavaScript.
-</p>
-<p>
-The <code>data-pagespeed-no-defer</code> attribute can change the order of script
-execution because those scripts using it are executed inline while those not
-using it are deferred.  This can cause errors if these scripts depend on each other
-in any way.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
-
diff --git a/doc/filter-js-inline.html b/doc/filter-js-inline.html
deleted file mode 100644
index 81caa2b..0000000
--- a/doc/filter-js-inline.html
+++ /dev/null
@@ -1,168 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Inline JavaScript</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Inline JavaScript</h1>
-
-
-<h2>Configuration</h2>
-<p>
-The 'Inline JavaScript' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters inline_javascript</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters inline_javascript;</pre>
-</dl>
-<p>
-in the configuration file.
-<p>When this filter is enabled, you may also enable the following setting:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedJsInlineMaxBytes bytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed JsInlineMaxBytes bytes;</pre>
-</dl>
-<p>
-This is the maximum size in bytes of any JavaScript file that will be inlined.
-</p>
-
-<h2>Description</h2>
-<p>
-The "Inline JavaScript" filter reduces the number of requests made by a web
-page by inserting the contents of small external JavaScript resources directly
-into the HTML document.  This can reduce the time it takes to display
-content to the user, especially in older browsers.
-</p>
-
-<h2>Operation</h2>
-<p>
-When the 'Inline JavaScript' filter is enabled, The contents of small
-external JavaScript resources are written directly into the HTML document;
-therefore, the browser does not request those JavaScript resources.
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script type="text/javascript" src="small.js"&gt;&lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-And the resource <code>small.js</code> is like this:
-<pre class="prettyprint">
-  /* contents of a small JavaScript file */
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script type="text/javascript"&gt;
-      /* contents of a small JavaScript file */
-    &lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-This eliminates the external request for <code>small.js</code> by placing
-it inline in the HTML document.
-</p>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/inline_javascript.html?ModPagespeed=on&amp;ModPagespeedFilters=inline_javascript">example</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-There is a tradeoff here between requests and cacheability: including the
-JavaScript directly in the HTML avoids making an additional request to the
-external JavaScript resource, but if the JavaScript file is large (and doesn't
-change often), it may be better to keep it separate from the HTML so that it
-can be cached by the browser.  Thus, the Inline JavaScript filter will only
-inline JavaScript files below a certain size threshold, which can be adjusted
-using the <code>JsInlineMaxBytes</code> directive.
-</p>
-<p>
-If a <code>&lt;script&gt;</code> tag contains both a
-<code>src attribute </code><strong>AND</strong> <code>inline contents</code>,
-the browser will load the external script at the src URL and will not execute
-the inline contents; however, the inline contents will still remain invisibly
-in the DOM.  Some pages take advantage of this and place arbitrary data inline
-within the <code>&lt;script&gt;</code> tag to be picked up by the external
-script referenced by the <code>src</code> attribute.  To avoid breaking
-such pages, the Inline JavaScript filter
-will not inline any script for which there are any non-whitespace characters
-between the <code>&lt;script&gt;</code> and <code>&lt;script&gt;</code> tags.
-</p>
-<p>
-To avoid opening up cross-domain scripting vulnerabilities, the Inline
-Javscript filter will only inline an external JavaScript file if it is being
-served from the same domain as the HTML file into which it is to be inlined.
-</p>
-
-<h2>Risks</h2>
-<p>
-JavaScript inlining is low to moderate risk.  It should be safe for most pages,
-but it may break scripts that walk the DOM looking for and examining their own
-<code>&lt;script&gt;</code> tag (or other <code>&lt;script&gt;</code> tags).
-As described above, the filter will refuse to inline
-<code>&lt;script&gt;</code> tags that contain both <code>src</code>
-attributes and inline data; this is a trade-off that should avoid the most
-common cases of this, but one should be
-be aware that there may be other cases that will be broken by this filter.
-</p>
-
-<p>
-  This filter is sensitive to <a href="restricting_urls#aris"><code
-  >AvoidRenamingIntrospectiveJavascript</code></a>. For example,
-  a JavaScript file that
-  calls <code>document.getElementsByTagName('script')</code> will not be
-  inlined.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-js-minify.html b/doc/filter-js-minify.html
deleted file mode 100644
index 1f07248..0000000
--- a/doc/filter-js-minify.html
+++ /dev/null
@@ -1,206 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Minify JavaScript</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Minify JavaScript</h1>
-<h2>Configuration</h2>
-<p>
-The 'Minify JavaScript' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters rewrite_javascript</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters rewrite_javascript;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-<p class="note"><strong>Note: New feature as of 1.9.32.1</strong></p>
-<p>
-  <code>rewrite_javascript</code> is equivalent to enabling both
-  <code>rewrite_javascript_inline</code> and
-  <code>rewrite_javascript_external</code>.  The former rewrites only
-  inline scripts, and the latter rewrites only external ones.
-</p>
-
-<h3 id="new-minifier">New Minification Parser</h3>
-<p>
-  We introduced a new minification parser in version 1.8.31.2 that
-  improves on some of the shortcomings of the previous parser
-  (for example, correct tokenizing of regular expressions). As of 1.10.33.0,
-  the new parser is used by default, but you can revert back to the old
-  parser with this configuration flag:
-</p>
-<dl>
-  <dt>Apache<dd><pre class="prettyprint"
-     >ModPagespeedUseExperimentalJsMinifier off</pre>
-  <dt>Nginx<dd><pre class="prettyprint"
-     >pagespeed UseExperimentalJsMinifier off;</pre>
-</dl>
-<p>
-  Before 1.10.33.0, the old minification parser was
-  used by default. You can enable the new minification parser with:
-</p>
-<dl>
-  <dt>Apache<dd><pre class="prettyprint"
-     >ModPagespeedUseExperimentalJsMinifier on</pre>
-  <dt>Nginx<dd><pre class="prettyprint"
-     >pagespeed UseExperimentalJsMinifier on;</pre>
-</dl>
-<p>
-  If you have configured any custom javascript libraries
-  for <a href="filter-canonicalize-js">canonicalization</a> you'll have to
-  regenerate your signatures with both <code>--use_experimental_minifier</code>
-  (for the new minifier) and <code>--nouse_experimental_minifier</code>
-  (for the old minifier) flags.
-</p>
-<h2>Description</h2>
-<p>
-This filter minifies JavaScript code, using an algorithm similar to that in
-Douglas Crockford's popular
-<a href="http://www.crockford.com/javascript/jsmin.html">JSMin</a> program.
-At present, the filter strips all
-comments and most whitespace.  The filter works only on JavaScript found in
-<code>&lt;script&gt;</code> blocks (either as the target of the
-<code>src</code> attribute, or within the body of the block).
-</p>
-<p>
-Minification can drastically reduce the byte count in common JavaScript code.
-This filter can be used to avoid the extra step of minifying Java code by hand
-when constructing and maintaining a site.
-</p>
-<p>
-This <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#MinifyJS">practice</a>
-reduces the payload size.
-</p>
-
-<h2>Operation</h2>
-<p>
-The 'Minify JavaScript' filter removes unnecessary bytes on the wire. While it's
-great to put comments, tabs and whitespace in code to improve readability and
-maintenance, these are bytes that take up space on the wire and that a browser's
-JavaScript parser has to parse unnecessarily.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;script&gt;
-      // This comment will be removed
-      document.write("Howdy");
-      state = 1
-    &lt;/script&gt;
-    &lt;script src="extScript.js" type="text/javascript"&gt;
-    &lt;/script&gt;
-    &lt;script src="extScript1.js"&gt;
-    /* Note that the contents of a script block aren't altered
-       if a src is specified.  It is assumed the code will be
-       using the script block contents as data. */
-    document.write("Internal script; state = " + state);
-    state = 42
-  &lt;/script&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-With the following in <code>extScript.js</code>:
-<pre class="prettyprint">
-  /* Inject state into document */
-  document.write("External " + state);
-  state += 1;  // Then update it.
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;script&gt;document.write("Howdy");state=1&lt;/script&gt;
-    &lt;script src=".../extScript.js.pagespeed.jm.HASH.js"&gt;&lt;/script&gt;
-    &lt;script src=".../extScript1.js.pagespeed.jm.HASH.js" type="text/javascript"&gt;
-    /* Note that the contents of a script block aren't altered
-       if a src is specified.  It is assumed the code will be
-       using the script block contents as data. */
-    document.write("Internal script; state = " + state);
-    state = 42
-  &lt;/script&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-And the rewritten file <code>extScript.js.pagespeed.jm.HASH.js</code> will
-contain:
-<pre class="prettyprint">
-document.write("External "+state);state+=1;
-</pre>
-</p>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/rewrite_javascript.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_javascript">example</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-Only JavaScript code referenced by <code>&lt;script&gt;</code> tags is
-rewritten. Code fragments that occur elsewhere (for example event handler
-declarations in CSS) are not altered.
-</p>
-
-<h2>Risks</h2>
-<p>
-Some JavaScript code depends upon the formatting of scripts in the page.  For
-example, scripts exist that store data in JavaScript comments, then walk the
-DOM, retrieve the source code for the script, and read the data from the
-comments.  This will not work in conjunction with any minification tool.
-Authors are encouraged instead to store data either in the body of a
-script with a <code>src</code> (as shown in the example above), in hidden
-<code>&lt;div&gt;</code> or <code>&lt;span&gt;</code> elements in the
-page itself, or best of all in JavaScript string constants.
-</p>
-
-<p>
-  This filter is sensitive to <a href="restricting_urls#aris"><code
-  >AvoidRenamingIntrospectiveJavascript</code></a>. For example, a
-  JavaScript file that calls
-  <code>document.getElementsByTagName('script')</code> will not be rewritten.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-js-outline.html b/doc/filter-js-outline.html
deleted file mode 100644
index 6116f5e..0000000
--- a/doc/filter-js-outline.html
+++ /dev/null
@@ -1,167 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Outline JavaScript</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Outline JavaScript</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Outline JavaScript' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters outline_javascript</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters outline_javascript;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-This filter is an <strong>experimental</strong> filter which takes inline
-JavaScript and puts it in an external resource.
-</p>
-
-<h2>Operation</h2>
-<p>
-The 'Outline JavaScript' filter outlines all JavaScript that is larger
-than a minimum threshold in bytes.
-The threshold can be set by adding/changing the line:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedJsOutlineMinBytes 3000</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed JsOutlineMinBytes 3000;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script type="text/javascript"&gt;
-      ...
-    &lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;script type="text/javascript" src="_.pagespeed.jo.tXBSxcB8mn.js"&gt;&lt;/script&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue yellow big bold"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-And the new JavaScript file (<code>_.pagespeed.jo.tXBSxcB8mn.js</code>) will be:
-<pre class="prettyprint">
-   ...
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/outline_javascript.html?ModPagespeed=on&amp;ModPagespeedFilters=outline_javascript">example</a>.
-</p>
-
-<h2>Pros and Cons</h2>
-<p>
-This could be advantageous if:
-</p>
-<ol>
-  <li>The JavaScript does not change much but the HTML does,
-      then we can cache the JavaScript.</li>
-  <li>when many web pages share the same inlined JavaScript, it will
-      be outlined to a consistent name and thus will be cached more.</li>
-  <li>The inline JavaScript is very long, in which case, outlining it
-      will cause it to be loaded in parallel with the HTML doc.</li>
-</ol>
-<p>
-However, for some websites it will be dis-advantageous because it will:
-</p>
-<ol>
-  <li>create an extra HTTP request and</li>
-  <li>tie up one of the connections to this domain, which could have been
-      used to fetch the actually cacheable external resources.</li>
-</ol>
-
-<h2>Requirements</h2>
-<p>
-Outline filters can currently only run on single-server environments
-because the resource can only be fetched from a server after that server
-has rewritten the HTML page. If a different server rewrote the HTML page,
-then this sever will not have the information needed to create the resource.
-This could be by a network database shared between servers.
-</p>
-<p>
-The 'Outline JavaScript' filter may need to <em>"absolutify"</em> relative
-URLs, if it is outlined to a different directory than the original HTML.
-</p>
-<p>
-The 'Outline JavaScript' filter will maintain the order of the script
-blocks, as script order can be significant.
-</p>
-
-<h2>Risks</h2>
-<p>
-The 'Outline JavaScript' filter is considered low risk.  However, JavaScript
-can be written that walks the DOM looking for <code>&lt;script&gt;</code> tags
-with certain syntax. Such JavaScript may behave differently on a page
-which has changed <code>&lt;script&gt;</code> tags in this way.
-</p>
-<p>
-Additionally, JavaScript can construct requests in arbitrarily complex
-ways, so the filter may not be able to <em>absolutify</em> all relative URL
-references, which could cause incorrect sub-resource requests.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-lazyload-images.html b/doc/filter-lazyload-images.html
deleted file mode 100644
index 596c152..0000000
--- a/doc/filter-lazyload-images.html
+++ /dev/null
@@ -1,180 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Lazyload Images</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Lazyload Images</h1>
-<h2>Configuration</h2>
-<p>
-The 'Lazyload Images' filter is enabled by specifying
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters lazyload_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters lazyload_images;</pre>
-</dl>
-in the configuration file.
-
-<h2>Objective</h2>
-<p>
-Optimize browser rendering and reduce number of HTTP round-trips by deferring
-the loading of images which are not in the client's viewport.  This filter
-implements the PageSpeed rules for <a
-  target="_blank" href="https://developers.google.com/speed/docs/best-practices/rendering" target="_blank">optimizing browser
-  rendering</a> and <a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt" target="_blank">minimizing round
-  trip times</a>.
-</a>
-</p>
-
-<h2>Description</h2>
-<p>
-The lazyload_images filter defers loading of images until they
-become visible in the client's viewport or the page's <code>onload</code>
-event fires. This avoids blocking the download of other critical resources
-necessary for rendering the above the fold section of the page.
-</p>
-<p>
-The filter changes the <code>src</code> attributes of <code>&lt;img&gt;</code>
-elements on each HTML page to <code>data-pagespeed-lazy-src</code>. It attaches
-an <code>onload</code> handler to these elements to determine whether the
-element is in the client's viewport, and if so, loads it. It also attaches an
-<code>onscroll</code> handler to the page, so that elements below the fold
-are loaded when they become visible in the client's viewport as the user
-scrolls down the page.
-</p>
-
-
-<h2 id="lazyload-after-onload">Lazyload After Onload</h2>
-<p>
-Additionally, in 1.8.31.2 and later, all images on the page that haven't yet
-been loaded will be forcefully loaded after the page's <code>onload</code> event
-is fired. This reduces jank when scrolling the page, especially on mobile
-devices, at the cost of downloading bytes for images that may never be displayed
-to the user.
-</p>
-<p>
-To disable loading of images on page <code>onload</code>, set:</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedLazyloadImagesAfterOnload off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed LazyloadImagesAfterOnload off;</pre>
-</dl>
-
-<h2 id="lazyload-blank-url">Blank Url</h2>
-<p>
-By default, when the page is initially viewed, a 1x1 blank image is served from
-<a href="configuration#pagespeed_static">pagespeed_static</a>.  It is also
-possible to use the same image served by Google's network, or any image that you
-choose, by specifying:</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedLazyloadImagesBlankUrl "https://www.gstatic.com/psa/static/1.gif"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed LazyloadImagesBlankUrl "https://www.gstatic.com/psa/static/1.gif";</pre>
-</dl>
-<p>An advantage of this approach is that this gif may already be in
-the browser cache since any PageSpeed-enabled site can share it.
-However, this would send traffic to Google with your page as the
-Referer.
-</p>
-
-<p>
-  These directives can be used in
-  <a href="configuration#htaccess">location-specific configuration
-  sections</a>.
-</p>
-
-<h2 id="pagespeed_no_defer">Disabling Lazyloading Per-image</h2>
-<p>
-lazyload_images doesn't defer an <code>img</code> tag if it has
-the <code>data-pagespeed-no-defer</code> attribute (preferred) or <code>pagespeed_no_defer</code>
-attribute (deprecated).  Usage:
-<pre class="prettyprint">
-&lt;img data-pagespeed-no-defer src=.../&gt;
-</pre>
-</p>
-
-<h2 id="ua-blacklist">User-Agent Blacklist</h2>
-<p>
-To ensure images are only lazyloaded in supported browsers, lazyload_images
-uses a User Agent blacklist.  Browsers that will not see images loaded lazily
-are:
-<ul>
-  <li>BlackBerry 5.0 and older</li>
-  <li>The Google
-    Plus <a href="https://developers.google.com/+/web/snippet/">thumbnail
-    fetcher</a></li>
-  <li>Web Spiders
-    (<a href="https://github.com/apache/incubator-pagespeed-mod/blob/master/pagespeed/kernel/http/bot_checker.gperf">full
-    list</a>)</li>
-</ul>
-</p>
-
-<h2 id="beacons">Lazily loading only images below the fold</h2>
-<p>
-By default lazyload_images injects JavaScript that uses
-a <a href="faq#beacons">beacon</a> to report back to the server the images that
-are visible in the client's initial viewport (<em>above the fold</em>).
-It takes a few accesses of a page for the data to be reported back and
-processed but eventually the above-the-fold images will be known and will be
-loaded immediately while all the other below-the-fold images will be lazily
-loaded; until then all images are lazily loaded.
-</p>
-<p>
-The use of beacons can be disabled using the
-<a href="config_filters#beacons">ModPagespeedCriticalImagesBeaconEnabled</a>
-directive. If they are disabled, lazyload_images will not inject the
-JavaScript and will revert to lazily loading all images.
-</p>
-
-<h2>Example</h2>
-<p>
-The effect of this filter can be observed by comparing the
-number of requests <a
-  href="https://www.modpagespeed.com/examples/lazyload_images.html?ModPagespeed=off">
-  before</a>
-and <a
-  href="https://www.modpagespeed.com/examples/lazyload_images.html?ModPagespeed=on&ModPagespeedFilters=lazyload_images">
-  after</a> rewriting.
-As you scroll down, you will notice that images below the fold are only
-requested after they become visible in the viewport.
-</p>
-
-<h2>Risks</h2>
-<p>
-The computation of each image's position in the viewport may consume
-additional CPU cycles on the client side.  Sites that employ
-JavaScript libraries to implement lazy-loading may not work properly
-with this mechanism.</p>
-
-</div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
-
diff --git a/doc/filter-local-storage-cache.html b/doc/filter-local-storage-cache.html
deleted file mode 100644
index 5dc0fcf..0000000
--- a/doc/filter-local-storage-cache.html
+++ /dev/null
@@ -1,149 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Local Storage Cache</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Local Storage Cache</h1>
-
-<h2>Configuration</h2>
-
-<p>
-The 'Local Storage Cache' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters local_storage_cache</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters local_storage_cache;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-
-<p>
-This filter saves inlined resources to the browser's local storage (an HTML5
-feature) on the first view of a page, and loads them from local storage on
-subsequent views rather than sending them (inline) again.
-</p>
-
-<p>
-This benefits first views by inlining resources <em>and</em> benefits repeat
-views by caching these resources - normally inlining would hurt repeat views
-because inlined resources need to be sent every time since they're not in the
-browser's cache.
-</p>
-
-<h2>Operation</h2>
-
-<p>
-This filter does the following:
-<ul>
-<li>It adds JavaScript utility functions to the rewritten HTML's
-  <code>head</code> section.</li>
-<li>For each inlined CSS or image resource that the browser doesn't yet have
-  in local storage, it inlines the resource and tags it with new special
-  attributes.</li>
-<li>For each inlined CSS or image resource that the browser does have in local
-  storage, it replaces the resource with a JavaScript snippet that loads the
-  resource from local storage.</li>
-<li>Finally, it adds an <code>onload</code> handler that processes each
-  tagged inlined resource.
-</ul>
-</p>
-
-<p>
-The filter determines which resources are in local storage by inspecting a
-browser cookie set by the last step's <code>onload</code> handler. The cookie's
-name is <code>_GPSLSC</code> and its value is a list of hashes of the URLs of
-resources stored in local storage.
-</p>
-
-<p>
-Inlined JavaScript is not saved in local storage because it's not possible to
-reliably load it from local storage and execute it such that the behavior is
-the same as when it is inlined.
-</p>
-
-<p>
-The attributes added to inlined resources are:
-</p>
-<ul>
-<li><code>data-pagespeed-lsc-expiry</code>: when the resource expires. If the
-  resource is accessed after its expiry it won't be used and will be removed
-  from the cookie.</li>
-<li><code>data-pagespeed-lsc-hash</code>: a hash of the resource's URL (before
-  inlining). This is used to represent the resource in a short form and is saved
-  in the cookie.</li>
-<li><code>data-pagespeed-lsc-url</code>: the resource's URL. This is used by the
-  JavaScript snippet to request the resource directly if the resource's hash is
-  in the cookie but the resource isn't found in local storage.</li>
-</ul>
-
-<h3>Online Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/local_storage_cache.html?ModPagespeed=on&amp;ModPagespeedFilters=local_storage_cache,inline_css,inline_images">example</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-The <a href="filter-css-inline">Inline CSS</a> and/or <a
-href="filter-js-inline">Inline JavaScript</a> filters must be enabled for this
-filter to have any effect.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered moderate-to-high risk: it adds a payload overhead
-of extra JavaScript, it adds a payload overhead of extra attributes on each
-inlined resource, and it adds the execution overhead of its <code>onload</code>
-handler.
-</p>
-<p>
-This filter is experimental. Its performance benefit has not been extensively
-tested and we are seeking feedback on its usefulness and benefits. It can
-only speed up repeat views of a page or uses of saved resources by other pages,
-it cannot speed up first views.
-</p>
-<p>
-This filter sets a cookie for the domain of the page being rewritten.
-</p>
-
-<p class="note"><strong>Note:</strong>
-This filter requires the browser to support local storage, an HTML5 feature not
-implemented by all browsers, in particular older browsers. Browsers that don't
-support local storage will work as if this filter wasn't enabled: although the
-payload and <code>onload</code> overheads will be incurred, the cookie will
-never be set so no benefits will be obtained.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-make-google-analytics-async.html b/doc/filter-make-google-analytics-async.html
deleted file mode 100644
index 0a6aba8..0000000
--- a/doc/filter-make-google-analytics-async.html
+++ /dev/null
@@ -1,171 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Make Google Analytics Asynchronous</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Make Google Analytics Asynchronous</h1>
-
-
-<h2>Configuration</h2>
-<p>
-  The 'Make Google Analytics Asynchronous' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters make_google_analytics_async</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters make_google_analytics_async;</pre>
-</dl>
-  in the configuration file.
-</p>
-
-
-<h2>Description</h2>
-<p>
-  The filter rewrites pages that load the
-  <a href="http://www.google.com/analytics/">Google Analytics</a>
-  tracking code synchronously to load it asynchronously instead.
-  Loading Google Analytics asynchronously has the advantage that it
-  will not block resources that load later in the page.
-</p>
-<p>
-  Currently, the filter only changes the loading mechanism. To get the
-  full benefit of the asynchronous load, you should move the loading of
-  the tracking code to the bottom of the <code>&lt;head&gt;</code> of
-  the page. That allows beacons to be sent earlier during the page load --
-  and avoids missing them if a user navigates away from a page quickly.
-  For more information on how to manually upgrade, see
-  <a href="/analytics/devguides/collection/gajs/asyncMigrationExamples#migrationInstructions">Migrating to Async Tracking</a>
-</p>
-
-
-<h2>Operation</h2>
-<p>
-  The filter looks for a Google Analytics snippet such as the following:
-</p>
-<pre class="prettyprint">
-&lt;script type="text/javascript"&gt;
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  document.write(unescape("%3Cscript src=" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
-&lt;/script&gt;
-&lt;script type="text/javascript"&gt;
-  try {
-    var pageTracker = _gat._getTracker("UA-XXXXX-X");
-    pageTracker._trackPageview();
-  } catch(err) {}
-&lt;/script&gt;
-</pre>
-<p>
-  and rewrites such snippets in-place to:
-</p>
-<pre class="prettyprint">
-&lt;script type='text/javascript'&gt;
-  var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
-  <strong>GLUE_SCRIPT</strong>
-  var ga = document.createElement('script');
-  ga.type = 'text/javascript'; ga.async = true;
-  ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
-            'http://www') + '.google-analytics.com/ga.js';
-  var s = document.getElementsByTagName('script')[0];
-  s.parentNode.insertBefore(ga, s);
-&lt;/script&gt;
-&lt;script type="text/javascript"&gt;
-  try {
-    var pageTracker = _modpagespeed_getRewriteTracker("UA-XXXXX-X");
-    pageTracker._trackPageview();
-  } catch(err) {}
-&lt;/script&gt;
-</pre>
-<p>
-  where <strong><code>GLUE_SCRIPT</code></strong> is JavaScript that
-  defines the <code>_modpagespeed_getRewriteTracker</code> function to
-  return an object that maps all the methods of the synchronous API to
-  the asynchronous API.
-</p>
-
-<p>
-  Additionally, the filter will replace loads in the following format:
-</p>
-<pre class="prettyprint">
-&lt;script src="http://www.google-analytics.com/ga.js" type="text/javascript"&gt;&lt;/script&gt;
-</pre>
-<p>
-  The rewrite is known to not work when calls are made to Google
-  Analytics methods that return values. To avoid this issue, the
-  filter searches for these methods and abandons the rewrite if
-  they are found.
-</p>
-
-
-<h3>Example</h3>
-<p>
-  You can see the filter in action at <code>www.modpagespeed.com</code> on this
-  <a href="https://www.modpagespeed.com/examples/make_google_analytics_async.html?ModPagespeed=on&amp;ModPagespeedFilters=make_google_analytics_async">example</a>.
-</p>
-
-
-<h2>Requirements</h2>
-<p>
-  In order for the filter to trigger, the Google Analytics snippets
-  must be in the same format as shown above. The filter only performs
-  simple string matches to find the Google Analytics snippets.
-</p>
-
-<p>
-  Also, once a synchronous load is matched, the rest of the page is scanned for
-  any Google Analytics calls that return values. It only performs the rewrite
-  once it has reached the end of the page. That means the filter depends on how
-  the web page is buffered by the server.  Specifically, if the snippet is not
-  in the last flush window, it will not be rewritten.
-</p>
-
-
-<h2>Risks</h2>
-<p>
-  This filter is considered high risk.
-</p>
-<p>
-  The <code>make_google_analytics_async</code> filter is experimental
-  and has not had extensive real-world testing. One case where a rewrite
-  would cause errors is if the filter misses calls to Google Analytics
-  methods that return values. If such methods are found, the rewrite is
-  skipped. However, the disqualifying methods will be missed if they
-  <ul style="margin-bottom: .5em">
-    <li>come before the load,</li>
-    <li>are in attributes such as "onclick",</li>
-    <li>or if they are in external resources.</li>
-  </ul>
-  Those cases are expected to be rare.
-</p>
-
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-make-show-ads-async.html b/doc/filter-make-show-ads-async.html
deleted file mode 100644
index 06e3d75..0000000
--- a/doc/filter-make-show-ads-async.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Make Show Ads Asynchronous</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Make Show Ads Asynchronous</h1>
-
-<p class="note"><strong>Note: New feature as of 1.10.33.0.</strong></p>
-<h2>Configuration</h2>
-<p>
-  The 'Make Show Ads Asynchronous' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters make_show_ads_async</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters make_show_ads_async;</pre>
-</dl>
-  in the configuration file.
-</p>
-
-
-<h2>Description</h2>
-<p>
-  The filter rewrites pages that load
-  <a href="https://www.google.com/adsense">Google AdSense</a> ads with the
-  synchronous <code>show_ads.js</code> snippet to load them with the
-  asynchronous <code>adsbygoogle.js</code> instead.
-  Loading AdSense asynchronously
-  helps keep ads
-  from <a href="http://googledevelopers.blogspot.com/2013/07/an-async-script-for-adsense-tagging.html">delaying
-  the rest of the page content</a>.
-</p>
-
-<h2>Operation</h2>
-<p>
-  The filter looks for a Google AdSense snippet such as the following:
-</p>
-<pre class="prettyprint">
-&lt;div style="border: 2px solid blue;"&gt;
-  &lt;script&gt;
-    google_ad_client = "ca-google";
-    google_ad_width = 728;
-    google_ad_height = 90;
-    google_ad_format = "728x90";
-    google_adtest = "on";
-    google_ad_type = "text";
-  &lt;/script&gt;
-  &lt;script type="text/javascript"
-    src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
-  &lt;/script&gt;
-&lt;/div&gt;
-&lt;div style="border: 2px solid blue;"&gt;
-  &lt;script&gt;
-    google_ad_client = "ca-google";
-    google_ad_width = 728;
-    google_ad_height = 90;
-    google_ad_format = "728x90";
-    google_adtest = "on";
-    google_ad_type = "text";
-  &lt;/script&gt;
-  &lt;script type="text/javascript"
-    src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
-  &lt;/script&gt;
-&lt;/div&gt;
-</pre>
-<p>
-  and rewrites such snippets in-place to:
-</p>
-<pre class="prettyprint">
-&lt;div style="border: 2px solid blue;"&gt;
-  &lt;script async
-    src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"&gt;
-  &lt;/script&gt;
-  &lt;ins
-    class="adsbygoogle"
-    style="display:inline-block;width:728px;height:90px"
-    data-ad-client="ca-google"
-    data-ad-format="728x90"
-    data-ad-type="text"
-    data-adtest="on"&gt;
-  &lt;/ins&gt;
-  &lt;script&gt;(adsbygoogle = window.adsbygoogle ||  []).push({})
-  &lt;/script&gt;
-&lt;/div&gt;
-&lt;div style="border: 2px solid blue;"&gt;
-  &lt;ins
-    class="adsbygoogle"
-    style="display:inline-block;width:728px;height:90px"
-    data-ad-client="ca-google"
-    data-ad-format="728x90"
-    data-ad-type="text"
-    data-adtest="on"&gt;
-  &lt;/ins&gt;
-  &lt;script&gt;(adsbygoogle = window.adsbygoogle || []).push({})
-  &lt;/script&gt;
-&lt;/div&gt;
-</pre>
-
-<h3>Example</h3>
-<p>
-  You can see the filter in action at <code>www.modpagespeed.com</code> on this
-  <a href="https://www.modpagespeed.com/examples/make_show_ads_async.html?ModPagespeed=on&amp;ModPagespeedFilters=make_show_ads_async">example</a>.
-</p>
-
-
-<h2>Requirements</h2>
-<p>
-  This filter requires that ads specify a specific width and height
-  with <code>google_ad_width</code> and <code>google_ad_height</code>.
-</p>
-<p>
-  If <code>google_ad_output</code> is specified it must be set
-  to <code>html</code>.  Alternate outputs like <code>js</code>
-  or <code>json_html</code> are not supported by <code>adsbygoogle.js</code>.
-</p>
-<p>
-  Ad snippets that don't meet these requirements won't be rewritten.  Other ad
-  blocks on the same page will still be rewritten, loading
-  both <code>show_ads.js</code> and <code>adsbygoogle.js</code>.  To avoid this,
-  we recommend not enabling this filter for pages that have a mixture of
-  eligible and ineligible ad blocks.
-</p>
-
-<h2>Risks</h2>
-<p>
-  This filter is considered high risk.
-</p>
-<p>
-  The <code>make_show_ads_async</code> filter is experimental and has not had
-  extensive real-world testing.  It manipulates JavaScript, which is always
-  risky, and if errors keep ads from displaying that could mean lost revenue for
-  your site.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-pedantic.html b/doc/filter-pedantic.html
deleted file mode 100644
index d9495cb..0000000
--- a/doc/filter-pedantic.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Pedantic</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Pedantic</h1>
-<h2>Configuration</h2>
-<p>
-The 'Pedantic' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters pedantic</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters pedantic;</pre>
-</dl>
-<p>
-in the configuration file.
-
-<h2>Description</h2>
-<p>
-The 'Pedantic' filter is used to make PageSpeed more HTML4 compliant.  Some
-filters remove type attributes in style and script tags, which are
-required for HTML4 validation checks but not HTML5.  This filter adds default
-types to script and style tags. Note that it will increase HTML size and thus
-possibly increase latency so use it only if you require HTML4 validation.
-</p>
-
-<h2>Operation</h2>
-<p>
-There are two cases where a <code>type</code> attribute can be added.  First, if
-a <code>&lt;style&gt;</code> tag does not have a <code>type</code> attribute
-then a <code>type="text/css"</code> attribute will be added to
-the <code>style</code> tag. Second, if a <code>&lt;script&gt;</code> tag does
-not have a <code>type</code> attribute then
-a <code>type="text/javascript"</code> attribute will be added to
-the <code>script</code> tag.
-</p>
-<p>
-The expected method of using the pedantic filter is via a query parameter
-such as: '<code>?ModPagespeedFilters=+pedantic</code>'.
-</p>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on
-this <a
-href="https://www.modpagespeed.com/examples/pedantic.html?ModPagespeed=on&amp;ModPagespeedFilters=pedantic"
->example</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-The 'Pedantic' filter will not alter a page with an HTML5 DOCTYPE.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered medium risk.  It is safe for most pages, but could
-possibly break scripts by adding <code>text/javascript</code> to a tag if the
-default mime type is something other than <code>text/javascript</code>.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
-
-
diff --git a/doc/filter-prioritize-critical-css.html b/doc/filter-prioritize-critical-css.html
deleted file mode 100644
index ce064bd..0000000
--- a/doc/filter-prioritize-critical-css.html
+++ /dev/null
@@ -1,178 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Prioritize Critical CSS</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Prioritize Critical CSS</h1>
-  <h2>Configuration</h2>
-  <p>
-  The 'Prioritize Critical CSS' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters prioritize_critical_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters prioritize_critical_css;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Objective</h2>
-<p>
-This rewriter improves page render times by identifying CSS rules needed to
-render the page, inlining those critical rules and deferring the load of the
-full CSS resources.
-</p>
-
-<h2>Description</h2>
-<p>
-prioritize_critical_css parses the CSS and replaces it with inlined CSS
-that contains only the rules used on the page. This avoids any blocking CSS
-requests needed for the initial render. It also collects all CSS tags and
-appends them to the HTML in the same order they were found. This will make
-all style rules available after page load.
-</p>
-<p>
-Deferring style rules that are not used by the document delays downloading
-unnecessary bytes and allows the browser to start rendering sooner per
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload#RemoveUnusedCSS">this best
-practice</a>.
-</p>
-
-<h2>Example</h2>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;link rel="stylesheet" href="small.css"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-And the resource <code>small.css</code> is like this:
-<pre class="prettyprint">
-  .yellow {background-color: yellow;}
-  .blue {color: blue;}
-  .big { font-size: 8em; }
-  .bold { font-weight: bold; }
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-    &lt;style&gt;
-      .blue{color:blue;}
-    &lt;/style&gt;
-    &lt;/head&gt;
-  &lt;body&gt;
-    &lt;div class="blue"&gt;
-      Hello, world!
-    &lt;/div&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-&lt;noscript&gt;&lt;link rel="stylesheet" href="small.css"&gt;&lt;/noscript&gt;
-</pre>
-<p>
-The original small.css is loaded after onload of the page. The application
-order of CSS rules is maintained by injecting all the <code>&lt;style&gt;</code>
-and <code>&lt;link&gt;</code> elements into the document through JavaScript.
-</p>
-
-<p>
-The effect of this rewriter can be observed on modpagespeed.com <a
-  href="https://www.modpagespeed.com/examples/prioritize_critical_css.html?ModPagespeed=off">
-  before</a> and <a
-  href="http://modpagespeed.com/prioritize_critical_css.html?ModPagespeedFilters=+prioritize_critical_css">
-  after</a> rewriting. You will need to reload the page a few times to see the
-effect, since this rewriter computes the critical rules for the page based on
-previous page renders.
-</p>
-
-<p>
-prioritize_critical_css injects JavaScript that uses a
-<a href="faq#beacons">beacon</a> to report back to the server the CSS that is
-used by the page. It takes at least two visits to instrument the page, collect
-the appropriate beacon data, and extract the required CSS before a fully
-optimized page is presented; until then all CSS is optimized as normal:
-minified, combined, etc.
-</p>
-<p>
-prioritize_critical_css automatically enables the
-<a href="filter-css-rewrite"><code>rewrite_css</code></a>,
-<a href="filter-css-inline-import"><code>inline_import_to_link</code></a>, and
-<a href="filter-flatten-css-imports"><code>flatten_css_imports</code></a>
-filters since it needs these to be applied to
-determine the critical CSS, and it automatically disables the
-<code>inline_css</code> filter as it does this itself. It does this even if
-these other filters are expressly disabled (or enabled in the case of
-<code>inline_css</code>) but <em>not</em> if they are expressly forbidden (in
-which case this filter will do the instrumentation work but ultimately fail to
-completely optimize the page, wasting processing time).
-</p>
-
-<h2>Requirements</h2>
-<p>
-prioritize_critical_css computes critical CSS only if the corresponding
-CSS file is "public" cacheable.
-</p>
-
-<h2>Risks</h2>
-<p>
-prioritize_critical_css filter is moderate risk. It should be safe for
-most pages, but it could potentially cause reflow of the page. If different
-content (with substantially different styles) is served for the same URL based
-on cookies, IP, user agent, etc., then this filter could potentially show
-unstyled content before it loads the page completely, or in certain cases it
-could break rendering completely.
-</p>
-<p>
-prioritize_critical_css filter adds inlined CSS to the HTML, increasing
-its size. The overhead of the extra inlined CSS can outweigh the benefit if
-the CSS resources are already in the browser's cache. However it will still
-benefit from faster processing of the CSS in the browser.
-</p>
-
-<h2>Limitations</h2>
-<p>
-This rewriter cannot compute critical CSS for CSS files under IE conditional
-comments and is disabled if it detects an IE user agent.
-</p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-quote-remove.html b/doc/filter-quote-remove.html
deleted file mode 100644
index 7846670..0000000
--- a/doc/filter-quote-remove.html
+++ /dev/null
@@ -1,109 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Remove Quotes</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Remove Quotes</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Remove Quotes' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters remove_quotes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters remove_quotes;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-The quote removal filter eliminates unnecessary quotation marks
-(either <code>""</code> or <code>''</code>) from HTML attributes.  While
-required by the various HTML specifications, browsers permit their omission when
-the value of an attribute is composed of a certain subset of characters
-(alphanumerics and some punctuation characters).
-</p>
-<p>
-Quote removal produces a modest savings in byte count on most pages.  It may
-also benefit gzip compression by canonicalizing the textual representation of
-name=value pairs.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;img src="BikeCrashIcn.png" align='left' alt="" border="0" width='70' height='30' &gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;img src=BikeCrashIcn.png align=left alt="" border=0 width=70 height=30 &gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/remove_quotes.html?ModPagespeed=on&amp;ModPagespeedFilters=remove_quotes">example</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-Only previously-quoted attributes are subject to quote removal.  Quote
-removal occurs after most rewriting passes, so that any alterations to
-attribute values (such as rewritten URLs) will be correctly accounted
-for.  This filter will act as a pass-through when XHTML is detected
-via <code>doctype</code> or <code>content-type</code>.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is low risk.  Space savings from the filter may be small (so the
-cost of running the filter may outweigh its benefits in certain settings).
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-rewrite-style-attributes.html b/doc/filter-rewrite-style-attributes.html
deleted file mode 100644
index 8b9e6a3..0000000
--- a/doc/filter-rewrite-style-attributes.html
+++ /dev/null
@@ -1,118 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Rewrite Style Attributes</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Rewrite Style Attributes</h1>
-
-
-
-<h2>Configuration</h2>
-<p>
-The 'Rewrite Style Attributes' filter is enabled by specifying <em>either</em>:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters rewrite_style_attributes,rewrite_css</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters rewrite_style_attributes,rewrite_css;</pre>
-</dl>
-or
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters rewrite_style_attributes_with_url,rewrite_css,rewrite_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters rewrite_style_attributes_with_url,rewrite_css,rewrite_images;</pre>
-</dl>
-<p>
-in the configuration file. If both are enabled,
-<code>rewrite_style_sttributes</code> takes precedence.
-</p>
-<h2>Description</h2>
-<p>
-The "Rewrite Style Attributes" filter rewrites CSS inside elements' style
-attribute.  It requires <code>rewrite_css</code> to also be enabled.  See the settings for
-<a href="filter-css-rewrite.html">rewrite_css</a> to control CSS minification, image rewriting,
-image recompression, and cache extension.</p>
-<p>
-<code>rewrite_style_attributes</code> enables the filter for all style
-attributes.  <code>rewrite_style_attributes_with_url</code> enables it only
-for style attributes that contain the text '<code>url(</code>', for which you will generally
-want to enable one or more image optimization filters.</p>
-<p>
-<code>rewrite_style_attributes_with_url</code> is more efficient because it
-does not always parse the CSS, but it will not optimize CSS that doesn't
-reference any URLs. <code>rewrite_style_attributes</code> will always parse
-the CSS and optimize everything possible. Because images are generally the
-source for greatest improvement and are enclosed in <code>url()</code>,
-<code>rewrite_style_attributes_with_url</code> is a good balance for most uses,
-while <code>rewrite_style_attributes</code> is available for more aggressive
-optimization.
-</p>
-<h2>Operation</h2>
-<p>
-This filter inspects the style attributes of all tags other than
-<code>&lt;style&gt;</code> (since they cannot have a style attribute) and
-rewrites them according to the configured <a href="filter-css-rewrite.html"
->rewrite_css</a> filter, which can include CSS minification, image rewriting,
-image recompression, and cache extension.
-</p>
-<p>
-As explained above, if <code>rewrite_style_attributes_with_url</code> is
-enabled the style attribute's contents are first scanned to ensure that they
-contain the text <code>url(</code> and are processed only if so.
-</p>
-<p>
-For example, if a <code>&lt;div&gt;</code> tag looks like this:
-</p>
-<pre class="prettyprint">
-&lt;div style=&quot;background-image: url('images/Puzzle.jpg');&quot;/&gt;
-</pre>
-<p>
-Then, if the image is optimizable, PageSpeed will convert it to something
-like:
-<pre class="prettyprint">
-&lt;div style=&quot;background-image:url('images/Puzzle.jpg.pagespeed.ic.7X5cYtoCx-.jpg');&quot;/&gt;
-</pre>
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/rewrite_style_attributes.html?ModPagespeed=on&amp;ModPagespeedFilters=rewrite_style_attributes_with_url,rewrite_css,rewrite_images">example</a>.
-</p>
-
-<h2>Risks</h2>
-<p>
-This filter is considered minimal risk.
-<code>rewrite_style_attributes_with_url</code> is a core filter but
-<code>rewrite_style_attributes</code> is not.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-source-maps-include.html b/doc/filter-source-maps-include.html
deleted file mode 100644
index 4c6e344..0000000
--- a/doc/filter-source-maps-include.html
+++ /dev/null
@@ -1,141 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Include JavaScript Source Maps</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Include JavaScript Source Maps</h1>
-<h2>Configuration</h2>
-<p>
-  The 'Include JavaScript Source Maps' filter is enabled by specifying:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters include_js_source_maps</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters include_js_source_maps;</pre>
-</dl>
-<p>
-  in the configuration file. If you are using a version before 1.10.33.0,
-  you must also enable the
-  <a href="filter-js-minify">new JavaScript minifier</a>:
-</p>
-<dl>
-  <dt>Apache<dd><pre class="prettyprint"
-     >ModPagespeedUseExperimentalJsMinifier on</pre>
-  <dt>Nginx<dd><pre class="prettyprint"
-     >pagespeed UseExperimentalJsMinifier on;</pre>
-</dl>
-
-<h2>Description</h2>
-<p>
-  Source maps are files that tell browsers how to map between a minified
-  JavaScript file and the original, readable version so that you can see the
-  readable version while debugging minified production code. For more
-  information on source maps in general, see Ryan Seddon's
-  <a href="http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/">
-  Introduction to JavaScript Source Maps</a> or the
-  <a href="https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/edit">
-  specification proposal</a>.
-</p>
-<p>
-  This filter constructs a source map from the minified JavaScript to your
-  original JavaScript files and adds a comment specifying the URL for this
-  source map.
-</p>
-
-<h2>Example</h2>
-<p>
-  For example, if the original JavaScript file looks like this:
-</p>
-<pre class="prettyprint">
-console.log('External script start');
-
-// Browser/window data to report
-var data = { 'User-Agent': navigator.userAgent,
-             'Platform': navigator.platform,
-             'Date': window.Date,
-             'Dimensions': window.outerHeight + 'x' + window.outerWidth
-           };
-
-// Construct HTML list for data.
-var dl = document.createElement('dl');
-for (key in data) {
-  var dt = document.createElement('dt');
-  dt.innerText = key;
-
-  var dd = document.createElement('dd');
-  dd.innerText = data[key];
-
-  dl.appendChild(dt);
-  dl.appendChild(dd);
-}
-
-// Add list to page.
-var content = document.getElementById('content');
-content.appendChild(dl);
-
-console.log('External script finish');
-</pre>
-<p>
-  then the rewritten JavaScript would look like this:
-</p>
-<pre class="prettyprint">
-console.log('External script start');var data={'User-Agent':navigator.userAgent,'Platform':navigator.platform,'Date':window.Date,'Dimensions':window.outerHeight+'x'+window.outerWidth};var dl=document.createElement('dl');for(key in data){var dt=document.createElement('dt');dt.innerText=key;var dd=document.createElement('dd');dd.innerText=data[key];dl.appendChild(dt);dl.appendChild(dd);}var content=document.getElementById('content');content.appendChild(dl);console.log('External script finish');
-//# sourceMappingURL=http://example.com/script.js.pagespeed.sm.0JT2VEfKJs.map
-</pre>
-<p>
-  and the source map would look like this:
-</p>
-<pre class="prettyprint">
-)]}'
-{"mappings":"AAAA,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAGpC,GAAG,CAAC,IAAK,CAAE,CAAE,YAAY,CAAE,SAAS,CAAC,SAAS,CACjC,UAAU,CAAE,SAAS,CAAC,QAAQ,CAC9B,MAAM,CAAE,MAAM,CAAC,IAAI,CACnB,YAAY,CAAE,MAAM,CAAC,WAAY,CAAE,GAAI,CAAE,MAAM,CAAC,UAClD,CAAC,CAGZ,GAAG,CAAC,EAAG,CAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CACrC,GAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAE,CAChB,GAAG,CAAC,EAAG,CAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CACrC,EAAE,CAAC,SAAU,CAAE,GAAG,CAElB,GAAG,CAAC,EAAG,CAAE,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CACrC,EAAE,CAAC,SAAU,CAAE,IAAI,CAAC,GAAG,CAAC,CAExB,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAClB,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CACpB,CAGA,GAAG,CAAC,OAAQ,CAAE,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAChD,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAEvB,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC","names":[],"sources":["http://example.com/script.js?PageSpeed=off"],"version":3}
-</pre>
-
-<h2>Limitations</h2>
-<ul>
-  <li>Source maps cannot be developed for inline JavaScript (because there
-    is no URL for the original JavaScript).</li>
-  <li>If your resources already have source maps, we ignore them and the
-    source map we add goes back to the URL you specify in HTML.
-    (<a href="https://github.com/apache/incubator-pagespeed-mod/issues/930"
-        >Issue 930</a>)</li>
-</ul>
-
-<h2>Risks</h2>
-<p>
-  This filter should not have any effect for visitors to your site.
-  For developers, the biggest risk is that source maps are incorrect or out
-  of date, in which case the browser will show you a completely incorrect
-  location when debugging JavaScript. Clearing the cache or turning off
-  source maps should fix this problem.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-strip-scripts.html b/doc/filter-strip-scripts.html
deleted file mode 100644
index 891ba4d..0000000
--- a/doc/filter-strip-scripts.html
+++ /dev/null
@@ -1,58 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Strip Scripts</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Strip Scripts</h1>    <h2>Configuration</h2>
-    <p>
-      The 'Strip Scripts' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters strip_scripts</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters strip_scripts;</pre>
-</dl>
-    <p>
-      in the configuration file.
-    </p>
-    <h2>Description</h2>
-    <p>
-      The <code>strip_scripts</code> filter completely removes scripts from a
-      page.  Obviously this will break functionality, and is disabled by
-      default.  This can be used to facilitate timing tests showing the
-      maximum possible benefit of improving a site's JavaScript performance.
-    </p>
-    <h2>Risks</h2>
-    <p>
-      All functionality and visual effects that are dependent on JavaScript
-      will not work.
-    </p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-trim-urls.html b/doc/filter-trim-urls.html
deleted file mode 100644
index 572909b..0000000
--- a/doc/filter-trim-urls.html
+++ /dev/null
@@ -1,122 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Trim URLs</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Trim URLs</h1>
-<h2>Configuration</h2>
-<p>
-The 'Trim URLs' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters trim_urls</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters trim_urls;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-This filter trims URLs by resolving them by making them relative to the base
-URL for the page.  E.g. on <code>http://www.example.com/</code>,
-<code>"http://www.example.com/foo"</code> would be shortened to
-<code>"foo"</code>.  The filter works only on URLs that are the values
-specified by <code>src</code> or <code>href</code> attributes.
-It also trims image URLs in CSS if
-<a href="filter-css-rewrite"><code>rewrite_css</code></a> is enabled.
-</p>
-<p>
-The filter reduces the transfer size of HTML files by shortening most of the
-URLs. Depending on the HTML file, this filter can significantly reduce the
-number of bytes transmitted on the network.
-</p>
-
-<h2>Operation</h2>
-<p>
-The 'Trim URLs' filter removes unnecessary bytes on the wire. While it's
-useful for development to fully specify your URLs so that links don't break when
-things move around, these are bytes that are sent unnecessarily on the wire.
-</p>
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;base href="http://www.example.com/"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;a href="http://www.example.com/bar"&gt;Link with long URL&lt;/a&gt;
-    &lt;img src="http://www.othersite.example.org/image.jpg"&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it to:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-  &lt;head&gt;
-  &lt;base href="http://www.example.com/"&gt;
-  &lt;/head&gt;
-  &lt;body&gt;
-    &lt;a href="bar"&gt;Link with long URL&lt;/a&gt;
-    &lt;img src="//www.othersite.example.org/image.jpg"&gt;
-  &lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/trim_urls.html?ModPagespeed=on&amp;ModPagespeedFilters=trim_urls">example</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-Only URLs referenced by <code>href</code> and <code>src</code> attributes and,
-if <a href="filter-css-rewrite"><code>rewrite_css</code></a> is enabled,
-URLs in CSS files are rewritten. URLs that occur elsewhere are not altered.
-</p>
-
-<h2>Risks</h2>
-<p>
-  Trimming URLs is considered medium risk. It can cause problems if it uses
-  the wrong base URL. This can happen, for example, if you serve HTML that
-  will be pasted verbatim into other HTML pages. If URLs are trimmed on the
-  first page, they will be incorrect for the page they are inserted into.
-  For this reason, it is off by default.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filter-whitespace-collapse.html b/doc/filter-whitespace-collapse.html
deleted file mode 100644
index 8d2ff02..0000000
--- a/doc/filter-whitespace-collapse.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Collapse Whitespace</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Collapse Whitespace</h1>
-
-<h2>Configuration</h2>
-<p>
-The 'Collapse Whitespace' filter is enabled by specifying:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters collapse_whitespace</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters collapse_whitespace;</pre>
-</dl>
-<p>
-in the configuration file.
-</p>
-
-<h2>Description</h2>
-<p>
-The 'Collapse Whitespace' filter reduces bytes transmitted in an HTML file
-by removing unnecessary whitespace.
-</p>
-
-<h2>Operation</h2>
-The filter reduces the transfer size of HTML files by replacing contiguous
-whitespace with a single whitespace character. Because HTML is often
-formatted with extra whitespace for human readability or as an incidental
-effect of the templates used to generate it, this technique can reduce
-the number of bytes needed to transmit HTML resources.
-<p>
-For example, if the HTML document looks like this:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-
-  &lt;head&gt;
-    &lt;title&gt;Hello,   world!   &lt;/title&gt;
-    &lt;script&gt; var x = 'Hello,   world!';&lt;/script&gt;
-  &lt;/head&gt;
-
-  &lt;body&gt;
-    Hello, World!
-    &lt;pre&gt;
-      Hello,
-        World!
-    &lt;/pre&gt;
-  &lt;/body&gt;
-
-&lt;/html&gt;
-</pre>
-<p>
-Then PageSpeed will rewrite it into:
-</p>
-<pre class="prettyprint">
-&lt;html&gt;
-&lt;head&gt;
-&lt;title&gt;Hello, world!&lt;/title&gt;
-&lt;script&gt; var x = 'Hello,   world!';&lt;/script&gt;
-&lt;/head&gt;
-&lt;body&gt;
-Hello, World!
-&lt;pre&gt;
-      Hello,
-        World!
-&lt;/pre&gt;
-&lt;/body&gt;
-&lt;/html&gt;
-</pre>
-
-<h3>Example</h3>
-<p>
-You can see the filter in action at <code>www.modpagespeed.com</code> on this
-<a href="https://www.modpagespeed.com/examples/collapse_whitespace.html?ModPagespeed=on&amp;ModPagespeedFilters=collapse_whitespace">example</a>.
-</p>
-
-<h2>Requirements</h2>
-<p>
-The 'Collapse Whitespace' filter will not modify whitespace appearing
-within <code>&lt;pre&gt;</code>, <code>&lt;textarea&gt;</code>, <code>&lt;script&gt;</code> and <code>&lt;style&gt;</code>. Extraneous whitespace
-within inline scripts and styles can be removed using the
-<a href="filter-js-minify">JS Minify</a> and <a href="filter-css-rewrite"
->CSS Minify</a> filters.
-</p>
-<p>
-The 'Collapse Whitespace' filter will attempt to preserve newline
-characters to an extent -- a contiguous sequence of whitespace with at
-least one newline anywhere in it will always collapse to a single new line.
-Why?  See the <a href="faq#collapse-newlines">collapse newlines entry in the
-FAQ</a>.
-</p>
-
-<h2>Risks</h2>
-<p>
-Although contiguous whitespace in HTML (beyond the first space) is
-normally ignored by the browser outside of tags like <code>&lt;pre&gt;
-</code> and <code>&lt;textarea&gt;</code>, one can use CSS properties
-such as <code>"white-space: pre"</code> to make the browser preserve
-whitespace within a portion of the document: compare this example
-<a href="https://www.modpagespeed.com/examples/mod_pagespeed_example/css_whitespace.html?ModPagespeed=on&amp;ModPagespeedFilters=collapse_whitespace">with</a>
-and
-<a href="https://www.modpagespeed.com/examples/mod_pagespeed_example/css_whitespace.html?ModPagespeed=off">without</a>
-the filter enabled.
-</p>
-<p>
-Use of such properties is relatively rare, however, the 'Collapse
-Whitespace' filter is not yet CSS-aware, so any pages that might use
-such CSS properties (either statically or dynamically) should  not use
-this filter at this time.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/filters.html b/doc/filters.html
deleted file mode 100644
index 94ff4b6..0000000
--- a/doc/filters.html
+++ /dev/null
@@ -1,158 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Filters</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Filters</h1>
-
-<p>
-PageSpeed improves web page latency by changing the resources on that
-web page to implement web performance
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rules_intro">best practices</a>.  Each sort
-of change that PageSpeed makes is embodied in a <em>filter</em>.  The filters
-are run in a pre-defined order, but can be enabled and disabled in the server
-<a href="configuration">configuration file</a>.
-</p>
-<p>
-Some filters simply alter HTML content, such as removing excess
-whitespace, attributes, or attribute values that will be ignored.
-</p>
-<p>
-Other filters change references to CSS, JavaScript, or images to point
-to more optimized versions, because they:
-</p>
-<ul>
-  <li>are smaller,</li>
-  <li>combine multiple files into one, and</li>
-  <li>extend the cache lifetime</li>
-</ul>
-
-<h2>Categories of filters</h2>
-<p>
-Filters are of many categories that fit under performance best practices.
-The current set of filters fits in these categories as follows:
-</p>
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/caching">
-  <h3>Optimize Caching</h3>
-</a>
-<ul>
-  <li><a href="filter-canonicalize-js">Canonicalize JavaScript Libraries</a>
-  <li><a href="filter-cache-extend">Extend Cache</a></li>
-  <li><a href="filter-cache-extend-pdfs">Extend Cache PDFs</a></li>
-  <li><a href="filter-local-storage-cache">Local Storage Cache</a></li>
-  <li><a href="filter-css-outline">Outline CSS</a></li>
-  <li><a href="filter-js-outline">Outline JavaScript</a></li>
-</ul>
-
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rtt">
-  <h3>Minimize Round Trip Times</h3>
-</a>
-<ul>
-  <li><a href="filter-css-combine">Combine CSS</a></li>
-  <li><a href="filter-flatten-css-imports">Flatten CSS @imports</a></li>
-  <li><a href="filter-css-inline">Inline CSS</a></li>
-  <li><a href="filter-css-inline-google-fonts">Inline Google Fonts API CSS</a></li>
-  <li><a href="filter-js-combine">Combine JavaScript</a></li>
-  <li><a href="filter-js-inline">Inline JavaScript</a></li>
-  <li><a href="filter-css-above-scripts">Move CSS Above Scripts</a></li>
-  <li><a href="domains#shard">Configuration file directive to
-      shard domains</a></li>
-  <li><a href="filter-image-sprite">Sprite Images</a></li>
-  <li><a href="filter-insert-dns-prefetch">Pre-Resolve DNS</a></li>
-</ul>
-
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/request">
-  <h3>Minimize Request Overhead</h3>
-</a>
-<ul>
-  <li><a href="filter-domain-rewrite">Rewrite Domains</a></li>
-  <li><a href="domains#mapping_rewrite">Configuration
-      file directive to map domains</a></li>
-</ul>
-
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/payload">
-  <h3>Minimize Payload Size</h3>
-</a>
-<ul>
-  <li><a href="filter-whitespace-collapse">Collapse Whitespace</a></li>
-  <li><a href="filter-head-combine">Combine Heads</a></li>
-  <li><a href="filter-attribute-elide">Elide Attributes</a></li>
-  <li><a href="filter-js-minify">Minify JavaScript</a></li>
-  <li><a href="filter-image-optimize">Optimize Images</a></li>
-  <li><a href="filter-prioritize-critical-css">Prioritize Critical CSS</a></li>
-  <li><a href="filter-dedup-inlined-images">Deduplicate Inlined Images</a></li>
-  <li><a href="filter-comment-remove">Remove Comments</a></li>
-  <li><a href="filter-quote-remove">Remove Quotes</a></li>
-  <li><a href="filter-css-rewrite">Rewrite CSS</a></li>
-  <li><a href="filter-rewrite-style-attributes"
-      >Rewrite Style Attributes</a></li>
-  <li><a href="filter-trim-urls">Trim URLs</a></li>
-</ul>
-
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rendering">
-  <h3>Optimize Browser Rendering</h3></a>
-<ul>
-  <li><a href="filter-convert-meta-tags">Convert Meta Tags</a></li>
-  <li><a href="filter-js-defer">Defer Javascript</a></li>
-  <li><a href="filter-hint-preload-subresources"
-      >Hint Resource Preloading</a></li>
-  <li><a href="filter-inline-preview-images">Inline Preview Images</a></li>
-  <li><a href="filter-lazyload-images">Lazily Load Images</a></li>
-  <li><a href="filter-image-responsive">Make Images Responsive</a></li>
-  <li><a href="filter-css-to-head">Move CSS to Head</a></li>
-  <li><a href="filter-image-optimize">Optimize Images</a></li>
-  <li><a href="reference-image-optimize#progressive"
-      >Convert JPEG to Progressive</a></li>
-  <li><a href="filter-rewrite-style-attributes"
-      >Rewrite Style Attributes</a></li>
-</ul>
-
-<h3>Other</h3>
-<ul>
-  <li><a href="filter-head-add">Add Head</a></li>
-  <li><a href="filter-instrumentation-add">Add Instrumentation</a></li>
-  <li><a href="filter-source-maps-include"
-      >Include JavaScript Source Maps</a></li>
-  <li><a href="filter-css-inline-import">Inline @import to Link</a></li>
-  <li><a href="filter-insert-ga">Insert Google Analytics Snippet</a></li>
-  <li><a href="filter-make-show-ads-async"
-      >Make Google AdSense Async</a></li>
-  <li><a href="filter-make-google-analytics-async"
-      >Make Google Analytics Async</a></li>
-  <li><a href="filter-pedantic">Pedantic</a></li>
-  <li><a href="module-run-experiment">Run Experiment</a></li>
-</ul>
-
-<p>
-In some cases, a filter such as 'Optimize Images' helps both minimize request overhead and optimize browser rendering.
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/https_support.html b/doc/https_support.html
deleted file mode 100644
index 7d77c4b..0000000
--- a/doc/https_support.html
+++ /dev/null
@@ -1,392 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed HTTPS Support</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed HTTPS Support</h1>
-    <p class="note">
-      As of version 1.10 HTTPS fetching (<code>FetchHttps</code>) is enabled by
-      default, and PageSpeed no longer requires additional configuration to
-      fetch and optimize resources over https.  The alternatives described
-      below, however, are more efficient in situations where they apply.
-    </p>
-
-    <p>
-      PageSpeed supports sites that serve content through https. There are
-      several mechanisms through which PageSpeed can be configured to fully
-      optimize sites served under https:
-    </p>
-    <ul>
-      <li>Use <code>MapOriginDomain</code> to
-          <a href="https_support#map_the_origin">map the https domain to an http
-          domain</a>.</li>
-      <li>Use <code>LoadFromFile</code> to
-          <a href="https_support#load_from_file">map a
-          locally available directory to the https domain</a>.</li>
-      <li>Use <code>FetchHttps</code> to <a href="https_support#https_fetch"
-          >directly fetch HTTPS resources</a> (On by default since 1.10).</li>
-    </ul>
-
-    <p>
-      The first two mechanisms can both be used on the same server, but they
-      must be used for different domains, for example:
-    </p>
-
-    <dl>
-      <dt>Apache:<dd><pre class="prettyprint"
-         >  ModPagespeedMapOriginDomain "http://localhost" "https://www.example.com"
-  ModPagespeedLoadFromFile "https://static.example.com" "/var/www/example/static/"</pre>
-      </dd></dt>
-      <dt>Nginx:<dd><pre class="prettyprint"
-         >  pagespeed MapOriginDomain "http://localhost" "https://www.example.com";
-  pagespeed LoadFromFile "https://static.example.com" "/var/www/example/static/";</pre>
-    </dl>
-
-    <p>
-      Even without configuring any of these options, PageSpeed
-      rewrites HTML documents requested via https. PageSpeed is able to
-      serve these documents because the server passes the HTML document through
-      all its output filters, including *_pagespeed. But by default,
-      PageSpeed will only rewrite non-HTML resources which are served
-      via http. Due to the complexity and security required to manage client
-      SSL certificates, PageSpeed requires the server administrator to
-      explicitly enable https fetching.
-    </p>
-
-    <p>
-      The configuration options mentioned above are intended to help
-      optimize sites with HTTPS resources. Fetching https resource URLs
-      using http should be used only in installations where using http is
-      safe, such as where the server running PageSpeed is a
-      front-end to other back-end systems with private communications and
-      mutual trust between them.
-    </p>
-
-    <h2 id="map_the_origin">Map the origin domain</h2>
-
-    <p>
-      Https resource URLs can be fetched by mapping them to a non-https origin
-      domain as described in
-      <a href="domains#mapping_origin">Mapping Origin Domains</a>:
-    </p>
-    <dl>
-      <dt>Apache:<dd>
-<pre class="prettyprint">
-  ModPagespeedMapOriginDomain "http://localhost" "https://www.example.com"
-</pre>
-      </dd></dt>
-      <dt>Nginx:<dd>
-<pre class="prettyprint">
-  pagespeed MapOriginDomain "http://localhost" "https://www.example.com";
-</pre>
-      </dd></dt>
-    </dl>
-
-    <p>
-      This allows the server to accept https requests for
-      <code>www.example.com</code> while fetching resources for it from the
-      <code>localhost</code> http server, which could be the same Apache process or a
-      different server process. All fetched resources will be optimized as usual.  As
-      many <code>MapOriginDomain</code> directives can be used as is required as long
-      as https is only used on the second domain.
-    </p>
-
-    <h2 id="load_from_file">Load static files from disk</h2>
-
-    <p>
-      Https resource URLs can be served from static files using the
-      <a href="domains#ModPagespeedLoadFromFile">LoadFromFile</a> directive:
-    </p>
-
-    <dl>
-      <dt>Apache:<dd><pre class="prettyprint"
-                          >ModPagespeedLoadFromFile "https://www.example.com" "/var/www/example/static/";</pre>
-          <dt>Nginx:<dd><pre class="prettyprint"
-                             >pagespeed LoadFromFile "https://www.example.com" "/var/www/example/static/";</pre>
-    </dl>
-
-    <h2 id="https_fetch">Fetch HTTPS resources directly</h2>
-    <p>
-      HTTPS fetching is built in and is enabled by default as of 1.10.33.0.
-      To turn the feature off, set <code>FetchHttps</code> to
-      <code>disable</code>:
-    </p>
-
-      <dl>
-        <dt>Apache:<dd>
-<pre class="prettyprint">
-  ModPagespeedFetchHttps enable
-</pre>
-      </dd></dt>
-      <dt>Nginx:<dd>
-<pre class="prettyprint">
-  pagespeed FetchHttps enable;
-</pre>
-      </dd></dt>
-    </dl>
-    <p>
-      You may set multiple options, separated with a comma.  For example, to
-      test a configuration with a self-signed certificate you could do:
-    </p>
-
-      <dl>
-        <dt>Apache:<dd>
-<pre class="prettyprint">
-  ModPagespeedFetchHttps enable,allow_self_signed
-</pre>
-      </dd></dt>
-      <dt>Nginx:<dd>
-<pre class="prettyprint">
-  pagespeed FetchHttps enable,allow_self_signed;
-</pre>
-      </dd></dt>
-    </dl>
-
-    <p>
-      The available options are
-      <ul>
-        <li><code>enable</code></li>
-        <li><code>disable</code></li>
-        <li><code>allow_self_signed</code></li>
-        <li><code>allow_unknown_certificate_authority</code></li>
-        <li><code>allow_certificate_not_yet_valid</code></li>
-      </ul>
-    </p>
-
-
-    <h3 id="configuring_ssl_certificates">Configuring SSL Certificates</h3>
-
-    <p>
-      Acting as an HTTPS client, PageSpeed must be configured to point to a
-      directory identifying trusted
-      <a href="http://en.wikipedia.org/wiki/Certificate_authority"
-         >Certificate Authorities</a> (not SSL keys for your domain).  These settings will be automatically
-      applied to configuration files for new binary installations on Debian,
-      Ubuntu, and CentOS systems.  Upgrades, source-installs, and other
-      distributions may require manual configuration updates to identify the
-      proper location.</p>
-
-      <dl>
-        <dt>Apache:<dd>
-<pre class="prettyprint">
-  # Certificate Authorities directory, not your domain SSL keys
-  ModPagespeedSslCertDirectory directory
-  # Web Server's HTTPS client SSL key, not your domain SSL keys
-  ModPagespeedSslCertFile file
-</pre>
-      </dd></dt>
-      <dt>Nginx:<dd>
-<pre class="prettyprint">
-  pagespeed SslCertDirectory directory;
-  pagespeed SslCertFile file;
-</pre>
-      </dd></dt>
-    </dl>
-
-    <p>
-      The default directory for Debian-based systems
-      is <code>/etc/ssl/certs</code>, and there is no certificate file
-      setting.  On CentOS-based systems, the default directory
-      is <code>/etc/pki/tls/certs</code> and default file
-      is <code>/etc/pki/tls/cert.pem</code>.</p>
-
-    <p>
-      These directive cannot be used
-      in <a href="configuration#htaccess"><code>.htaccess</code> files
-        or <code>&lt;Directory&gt;</code></a> scopes.
-    </p>
-
-    <h2 id="rewrite_domains">Rewrite domains</h2>
-
-    <p>
-      Rewritten resources can have their https domain rewritten if required
-      for the reasons described in <a href="domains#mapping_rewrite">Mapping Rewrite
-        Domains</a>:
-    </p>
-
-    <dl>
-      <dt>Apache:<dd><pre class="prettyprint"
-         >  ModPagespeedMapOriginDomain "http://localhost" "https://www.example.com"
-  ModPagespeedMapRewriteDomain "https://example.cdn.com" "https://www.example.com"</pre>
-      </dd></dt>
-      <dt>Nginx:<dd><pre class="prettyprint"
-         >  pagespeed MapOriginDomain "http://localhost" "https://www.example.com";
-  pagespeed MapRewriteDomain "https://example.cdn.com" "https://www.example.com";</pre>
-      </dd></dt>
-    </dl>
-
-    <h2 id="shard_domains">Shard domains</h2>
-
-    <p>
-      Rewritten resources can have their https domain sharded if required
-      for the reasons described in <a href="domains#shard">Sharding Domains</a>:
-    </p>
-
-    <dl>
-      <dt>Apache:<dd><pre class="prettyprint"
-         >  ModPagespeedMapOriginDomain "http://localhost" "https://www.example.com"
-  ModPagespeedShardDomain "https://www.example.com" \
-                          "https://example1.cdn.com,https://example2.cdn.com"</pre>
-      </dd></dt>
-      <dt>Nginx:<dd><pre class="prettyprint"
-         >  pagespeed MapOriginDomain "http://localhost" "https://www.example.com";
-  pagespeed ShardDomain "https://www.example.com"
-                        "https://example1.cdn.com,https://example2.cdn.com";</pre>
-      </dd></dt>
-    </dl>
-
-    <h2 id="RespectXForwardedProto">Respecting X-Forwarded-Proto</h2>
-    <p>
-      If you are running behind a load-balancer or other front-end that
-      terminates the HTTPS connection and makes an HTTP subrequest to your
-      server running PageSpeed, it will not know that the original URL was
-      HTTPS and so it will rewrite subresources with <code>http://</code> URLs.
-      For PageSpeed to operate correctly, it needs to know what
-      the originally requested URL was. If your front-end sends
-      <code>X-Forwarded-Proto</code> headers (as, for example,
-      <a href="https://forums.aws.amazon.com/ann.jspa?annID=805">AWS Elastic
-        Load Balancer does</a>) then you can tell PageSpeed to
-      respect that header with:
-    </p>
-    <dl>
-      <dt>Apache:<dd><pre class="prettyprint"
-                          >  ModPagespeedRespectXForwardedProto on</pre>
-      <dt>Nginx:<dd><pre class="prettyprint"
-                          >  pagespeed RespectXForwardedProto on;</pre>
-    </dl>
-    <p>
-      This will correctly rewrite your subresources with <code>https://</code>
-      URLs and thus avoid mixed content warnings. Note, that you should only
-      enable this option if you are behind a load-balancer that will set this
-      header, otherwise your users will be able to set the protocol
-      PageSpeed uses to interpret the request. Also, note that by default 
-      PageSpeed will loop back to the inbound ip/port for fetching resources
-      on behalf of a html response using http(s). When X-Forwarded-Proto is in
-      effect and the protocol is changed in front of the PageSpeed-enabled server,
-      a mismatch may arise when performing loopback fetches, leading up to fetching
-      failures. Explicitly authorizing the domain used to fetch resources will
-      resolve this problem, because doing so allows the loopback fetching mechanism
-      to be bypassed.
-    </p>
-
-    <p>
-      This directive cannot be used
-      in <a href="configuration#htaccess"><code>.htaccess</code> files
-        or <code>&lt;Directory&gt;</code></a> scopes.
-    </p>
-
-    <h2 id="risks">Risks</h2>
-    <p>
-      As discussed above, using http to fetch https resources URLs should only be
-      used when communication between the front-end and back-end servers is secure
-      as otherwise the benefits of using https in the first place are lost.  When
-      fetching by HTTPS, <a
-      href="https://boringssl.googlesource.com/boringssl/">BoringSSL</a>
-      is used to authenticate the fetches.  We bundle a copy of BoringSSL, which
-      means that when security vulnerabilities are discovered that affect our usage
-      we need to release updated versions of PageSpeed with the fixed BoringSSL
-      library.
-    </p>
-
-    <h2 id="h2_configuration">HTTP/2-specific configuration</h2>
-    <p>
-      It's possible to tell PageSpeed to use a different configuration for
-      clients using the HTTP/2 protocol than for clients using HTTP/1.  You can
-      configure this with the <code>&lt;If&gt;</code> construct in Apache and
-      with script variables in Nginx.
-    </p>
-    <h3 id="h2_configuration_apache">Apache Version</h3>
-    <p class="note">Note: Versions older than 1.12.34.1 provided
-      a <code>&lt;ModPagespeedIf&gt;</code> construct.  This is no longer supported, but
-      configuration inside <code>&lt;ModPagespeedIf !spdy&gt;</code> blocks will be applied
-      unconditionally for backwards compatibility.</p>
-
-    <p>mod_http2 in Apache &ge; 2.4.19 provides an HTTP2 variable that can be used with the
-      server's <code>&lt;If&gt;</code> construct to provide a different configuration for
-      HTTP2 sessions. For example, one may want to disable some filters in such sessions, and only
-      enable sharding in HTTP/1:
-<pre class="prettyprint">
-&lt;If "%{HTTP2} == 'on'"&gt;
-  ModPagespeedDisableFilters filter1,filter2
-&lt;/If&gt;
-&lt;Else&gt;
-  ModPagespeedShardDomain https://www.example.com https://example1.cdn.com,https://example2.cdn.com
-&lt;/Else&gt;</pre>
-
-    <p>
-      Note that this only covers requests terminated by mod_http2 on the Apache server itself.
-      If an earlier proxy terminates HTTP/2, you may need to have it set a custom header,
-      and test it using the <code>req</code> function.
-    </p>
-
-    <h3 id="h2_configuration_nginx">Nginx Version</h3>
-    <p class="note"><strong>Note: New feature as of 1.10.33.0</strong></p>
-<pre class="prettyprint">
-http {
-  pagespeed ProcessScriptVariables on;
-  server {
-    set $disable_filters "";
-    set $domain_shards "shard1,shard2,shard3..."
-
-    if ($http2) {
-      set $disable_filters "filter1,filter2";
-      set $domain_shards "";
-    }
-    pagespeed DisableFilters "$disable_filters";
-    pagespeed ShardDomain domain_to_shard "$domain_shards";
-  }
-}</pre>
-     <p>
-      The <code>$http2</code> variable is defined by
-      the <a href="http://nginx.org/en/docs/http/ngx_http_v2_module.html"
-      ><code>ngx_http_v2_module</a></code>, and will be non-empty on any
-      connection over HTTP/2.
-    </p>
-    <p>
-      If the connection is terminated on another server
-      the <code>$http2</code> variable won't be available.  In that case, you
-      can have the other server add a header for HTTP/2 connections
-      like <code>X-ConnectionIsHTTP2</code> and then use
-      the <code>http_X_ConnectionIsHTTP2</code> variable in
-      the <code>if</code>-block above.
-    </p>
-    <p>
-      Note that this configuration depends on the <code>if</code> construct,
-      which <a href="https://www.nginx.com/resources/wiki/start/topics/depth/ifisevil/">is
-      generally discouraged</a>.  Using <code>if</code> only to set variables in
-      server blocks, however, is completely safe.
-    </p>
-   <p>
-      For more details on script variables, including how to handle dollar
-      signs, see <a href="system#nginx_script_variables">Script Variable
-      Support</a>.
-    </p>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/images/admin_config.png b/doc/images/admin_config.png
deleted file mode 100755
index 0864b5d..0000000
--- a/doc/images/admin_config.png
+++ /dev/null
Binary files differ
diff --git a/doc/images/downstream_caching.png b/doc/images/downstream_caching.png
deleted file mode 100644
index cce3779..0000000
--- a/doc/images/downstream_caching.png
+++ /dev/null
Binary files differ
diff --git a/doc/images/purge_entire_cache.png b/doc/images/purge_entire_cache.png
deleted file mode 100644
index 7c1d566..0000000
--- a/doc/images/purge_entire_cache.png
+++ /dev/null
Binary files differ
diff --git a/doc/images/purge_one_url.png b/doc/images/purge_one_url.png
deleted file mode 100644
index 7ce6de9..0000000
--- a/doc/images/purge_one_url.png
+++ /dev/null
Binary files differ
diff --git a/doc/images/puzzle_optimized_to_low_quality_webp.webp b/doc/images/puzzle_optimized_to_low_quality_webp.webp
deleted file mode 100644
index c11bda6..0000000
--- a/doc/images/puzzle_optimized_to_low_quality_webp.webp
+++ /dev/null
Binary files differ
diff --git a/doc/images/puzzle_optimized_to_low_quality_webp_and_saved_as_png.png b/doc/images/puzzle_optimized_to_low_quality_webp_and_saved_as_png.png
deleted file mode 100644
index b11690d..0000000
--- a/doc/images/puzzle_optimized_to_low_quality_webp_and_saved_as_png.png
+++ /dev/null
Binary files differ
diff --git a/doc/images/puzzle_original.jpg b/doc/images/puzzle_original.jpg
deleted file mode 100644
index a119109..0000000
--- a/doc/images/puzzle_original.jpg
+++ /dev/null
Binary files differ
diff --git a/doc/index.html b/doc/index.html
deleted file mode 100644
index e756522..0000000
--- a/doc/index.html
+++ /dev/null
@@ -1,131 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Installing From Packages</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-
-<div id=header>
-  <div id=logoline>
-    <div id=logo>
-      <img src="https://www.gstatic.com/images/branding/product/1x/pagespeed_32dp.png"
-           srcset="https://www.gstatic.com/images/branding/product/2x/pagespeed_32dp.png"
-           width=32 height=32 alt="pagespeed logo">
-    </div>
-    <div id=logotext>Apache PageSpeed (Incubating)</div>
-  </div>
-  <div id=navline>
-    <a href="..">&larr; Overview</a>
-  </div>
-</div>
-
-<img src="/incubator.png" height="80" align="right">
-
-<h1>PageSpeed Documentation</h1>
-<p>
-PageSpeed improves web page latency by <a href="/doc/filters">changing the resources</a>
-on that web page to implement
-<a target="_blank" href="https://developers.google.com/speed/docs/best-practices/rules_intro">
-web performance best practices</a>
-</p>
-<div class=columns>
-<div id=guides class=column>
-<h2>Guides</h2>
-<p><a href="download">Installing From Packages</a>
-<p><a href="build_mod_pagespeed_from_source">Installing From Source: Apache</a>
-<p><a href="build_ngx_pagespeed_from_source">Installing From Source: Nginx</a>
-<p><a href="configuration">Module Configuration</a>
-<p><a href="admin">Admin Pages</a>
-<p><a href="config_filters">Configuring Filters</a>
-<p><a href="optimize-for-bandwidth">Optimizing for Bandwidth</a>
-<p><a href="domains">Mapping Domains</a>
-<p><a href="restricting_urls">URL Control</a>
-<p><a href="https_support">HTTPS Support</a>
-<p><a href="system">System Integration</a>
-<p><a href="downstream-caching">Configuring Downstream Caches</a>
-<p><a href="experiment">Manual Experiments</a>
-<p><a href="module-run-experiment">Automated Experiments</a>
-<p><a href="console">Console</a>
-<p><a href="mod_security">Security Considerations</a>
-</div>
-
-<div id=reference class=column>
-<h2>Reference</h2>
-<p><a href="filter-head-add">Add Head</a>
-<p><a href="filter-instrumentation-add">Add Instrumentation</a>
-<p><a href="filter-make-show-ads-async">Async Google AdSense</a>
-<p><a href="filter-make-google-analytics-async">Async Google Analytics</a>
-<p><a href="filter-canonicalize-js">Canonicalize JavaScript Libraries</a>
-<p><a href="filter-whitespace-collapse">Collapse Whitespace</a>
-<p><a href="filter-css-combine">Combine CSS</a>
-<p><a href="filter-js-combine">Combine JavaScript</a>
-<p><a href="filter-head-combine">Combine Heads</a>
-<p><a href="filter-convert-meta-tags">Convert Meta Tags</a>
-<p><a href="filter-dedup-inlined-images">Deduplicate Inlined Images</a>
-<p><a href="filter-js-defer">Defer JavaScript</a>
-<p><a href="filter-attribute-elide">Elide Attributes</a>
-<p><a href="filter-cache-extend">Extend Cache</a>
-<p><a href="filter-cache-extend-pdfs">Extend Cache PDFs</a>
-<p><a href="reference-image-optimize"
-      >Filters and Options for Optimizing Images</a>
-<p><a href="filter-flatten-css-imports">Flatten CSS @imports</a>
-<p><a href="filter-hint-preload-subresources">Hint Resource Preloading</a>
-<p><a href="filter-source-maps-include">Include JavaScript Source Maps</a>
-<p><a href="filter-css-inline-import">Inline @import to Link</a>
-<p><a href="filter-css-inline">Inline CSS</a>
-<p><a href="filter-css-inline-google-fonts">Inline Google Fonts API CSS</a>
-<p><a href="filter-js-inline">Inline JavaScript</a>
-<p><a href="filter-inline-preview-images">Inline Preview Images</a>
-<p><a href="filter-insert-ga">Insert Google Analytics</a>
-<p><a href="filter-lazyload-images">Lazily Load Images</a>
-<p><a href="filter-local-storage-cache">Local Storage Cache</a>
-<p><a href="filter-image-responsive">Make Images Responsive</a>
-<p><a href="filter-js-minify">Minify JavaScript</a>
-<p><a href="filter-css-above-scripts">Move CSS Above Scripts</a>
-<p><a href="filter-css-to-head">Move CSS to Head</a>
-<p><a href="filter-image-optimize">Optimize Images</a>
-<p><a href="filter-css-outline">Outline CSS</a>
-<p><a href="filter-js-outline">Outline JavaScript</a>
-<p><a href="filter-pedantic">Pedantic</a>
-<p><a href="filter-insert-dns-prefetch">Pre-Resolve DNS</a>
-<p><a href="filter-prioritize-critical-css">Prioritize Critical CSS</a>
-<p><a href="filter-comment-remove">Remove Comments</a>
-<p><a href="filter-quote-remove">Remove Quotes</a>
-<p><a href="filter-css-rewrite">Rewrite CSS</a>
-<p><a href="filter-domain-rewrite">Rewrite Domain</a>
-<p><a href="filter-rewrite-style-attributes">Rewrite Style Attributes</a>
-<p><a href="module-run-experiment">Run Experiments</a>
-<p><a href="filter-image-sprite">Sprite Images</a>
-<p><a href="filter-trim-urls">Trim URLs</a>
-</div>
-
-<div id=support class=column>
-<h2>Support</h2>
-<p><a href="faq">FAQ</a>
-<p><a href="release_notes">Release Notes</a>
-<p><a href="mailing-lists">Mailing Lists</a>
-</div>
-</div>
-
-  </body>
-</html>
diff --git a/doc/mailing-lists.html b/doc/mailing-lists.html
deleted file mode 100644
index b4622d5..0000000
--- a/doc/mailing-lists.html
+++ /dev/null
@@ -1,74 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Mailing Lists</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed Mailing Lists</h1>
-    <h2 id="announcements">Announcements</h2>
-    <p>
-      Announcements of things we think everyone running PageSpeed would want to
-      know: security vulnerabilities, bug workarounds, and new releases.  This
-      is very low traffic, with a post every few months.
-    </p>
-    <ul>
-      <li><a
-        href="https://groups.google.com/forum/#!forum/mod-pagespeed-announce"
-             >mod-pagespeed-announce</a></li>
-      <li><a
-        href="https://groups.google.com/forum/#!forum/ngx-pagespeed-announce"
-             >ngx-pagespeed-announce</a></li>
-    </ul>
-
-    <h2 id="discussion">Discussion</h2>
-    <p>
-      General discussion about using PageSpeed.  Post here to ask a question or
-      help answer someone else's.
-    </p>
-    <ul>
-      <li><a
-        href="https://groups.google.com/forum/#!forum/mod-pagespeed-discuss"
-             >mod-pagespeed-discuss</a></li>
-      <li><a
-        href="https://groups.google.com/forum/#!forum/ngx-pagespeed-discuss"
-             >ngx-pagespeed-discuss</a></li>
-    </ul>
-
-    <h2 id="development">Development</h2>
-    <p>
-      Detailed technical discussion about the implementation of PageSpeed.
-      Intended for people working on PageSpeed and ports to other web servers.
-    </p>
-    <ul>
-      <li><a
-        href="http://mail-archives.apache.org/mod_mbox/incubator-pagespeed-dev/"
-             >pagespeed-dev</a></li>
-    </ul>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/mod_security.html b/doc/mod_security.html
deleted file mode 100644
index e14edc3..0000000
--- a/doc/mod_security.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Security Considerations for PageSpeed</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Security Considerations for PageSpeed</h1>
-
-
-<p>
-Any change to a website has the possibility of introducing new security holes.
-Pagespeed is not an exception to this rule.  This document covers specific
-security concerns to keep in mind when using PageSpeed.
-</p>
-
-<h2 id="untrusted_content">Untrusted Content</h2>
-<p>
-Any time you reference untrusted content on your website, you are at risk of
-security attack.  This is most clear for JavaScript which will have access to
-your domain's cookies because of the Same Origin Policy. It can also be true
-for CSS, which can contain JavaScript references (ex. the IE behavior
-property described in this
-<a href="http://www.w3.org/TR/1999/WD-becss-19990804#behavior">W3C reference</a>
-and at this <a href="http://reference.sitepoint.com/css/behavior">reference</a>
-by SitePoint&reg;. Even images in certain situations can be used in attacks
-(ex: <a href="http://hackaday.com/2008/08/04/the-gifar-image-vulnerability/">
-GIFAR attack</a>).
-</p>
-<p class="caution">
-<strong>Caution:</strong>
-Do not reference untrusted content on your website. If you do store
-user content or other untrusted content, keep it on a separate cookie-less
-domain and do <strong>NOT</strong> tell PageSpeed to rewrite from that
-domain to your main cookied domain.
-</p>
-
-<h2 id="private_content">Private Content</h2>
-<p>
-PageSpeed rewrites and, effectively, proxies resources referenced in
-the main HTML document. It respects public caching headers, so if a resource
-is not explicitly marked public cacheable, PageSpeed will not rewrite
-nor re-serve it. However, PageSpeed will re-serve resources which
-<strong>ARE</strong> publicly cacheable.
-If you serve private content as publicly cacheable,
-PageSpeed will proxy it to any who requests a specific URL. Note that any
-public proxy in the Internet can do the same thing.
-</p>
-<p class="caution">
-<strong>Caution:</strong>
-Explicitly mark private content as not publicly cacheable.
-</p>
-
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/module-run-experiment.html b/doc/module-run-experiment.html
deleted file mode 100644
index c21be13..0000000
--- a/doc/module-run-experiment.html
+++ /dev/null
@@ -1,458 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Run Experiment</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Run Experiment</h1>
-<h2>Overview</h2>
-
-This feature allows you to run experiments where segments of your traffic get
-the page rewritten with different settings in order to figure out which filters
-work best for your site.  It reports to your
-<a href="http://www.google.com/analytics/">Google Analytics</a> account, storing
-data in a
-<a href="/analytics/devguides/collection/gajs/gaTrackingCustomVariables">custom
-variable</a>
-or <a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/experiments">content
-experiment</a>.
-
-<h2>Configuration</h2>
-<p>
-To run an experiment you must set several options in the configuration file.
-First, you turn on this feature and tell it
-your <a href="http://support.google.com/analytics/bin/answer.py?hl=en&answer=1032385">Web
-Property ID</a>:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedRunExperiment on
-ModPagespeedUseAnalyticsJs off  // use ga.js
-ModPagespeedAnalyticsID UA-XXXXXXX-Y</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed RunExperiment on;
-pagespeed UseAnalyticsJs off;
-pagespeed AnalyticsID UA-XXXXXXX-Y;</pre>
-</dl>
-<p>
-This will enable several filters needed for experiments including
-the <a href="filter-insert-ga">Insert Google Analytics</a> filter to insert
-the <code>ga.js</code> tracking snippet into each page.  If you already have a
-tracking snippet on your pages, the lowest risk option is to remove it so that
-the one PageSpeed inserts is the only one.  If you do choose to leave your
-existing snippet, PageSpeed will attempt to modify it to add experiment
-tracking.  If you've customized your snippets you should manually verify that
-the modified snippet is still correct.
-</p>
-<p>
-To disable experiments and experiment tracking you can set RunExperiment to
-'off':
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRunExperiment off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RunExperiment off;</pre>
-</dl>
-If you still want PageSpeed to automatically insert the Google Analytics
-tracking snippet, you need to enable the insert_ga filter:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters insert_ga</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters insert_ga;</pre>
-</dl>
-</p>
-<p>
-Once you have turned on RunExperiment and set your Google Analytics id you can
-set up an experiment.  For example, to test how much PageSpeed is speeding
-up your site you can apply optimizations for only half your visitors:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedExperimentSpec id=1;percent=50;default
-ModPagespeedExperimentSpec id=2;percent=50</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed ExperimentSpec "id=1;percent=50;default";
-pagespeed ExperimentSpec "id=2;percent=50";</pre>
-</dl>
-<p>
-Each <code>ExperimentSpec</code> defines an experimental treatment or
-specification.  We only insert experiment tracking for users that fall into a
-defined group, so you should define both an experiment group and a control
-group.  The specification is a semicolon-separated list of settings.  Some
-settings are required:
-<dl>
-  <dt><code>id</code><dd>A positive integer, unique across all experiments.  You
-      can't reuse ids from one experiment to the next; every id must be unique.
-      If you stop running an experiment that had three experiment specs 1, 2,
-      and 3, then your next experiment should start with id 4 or higher.
-  <dt><code>percent</code><dd>An integer between 0 and 100 indicating what
-      fraction of users should receive this treatment.  If the sum
-      of <code>percent</code> over all treatments is less than 100 then the
-      remaining users will be assigned to 'no experiment' and continue seeing
-      what they usually would.  If the sum exceeds 100 it will report an error
-      when parsing the config file.
-</dl>
-</p>
-<p>
-ExperimentSpec 1 above adds the optional setting <code>default</code>, described
-below, which tells PageSpeed to apply just the filters and settings
-it would normally apply.  ExperimentSpec 2 specifies nothing and so turns off
-all filters.
-</p>
-<p>
-To report on these settings, PageSpeed will inject JavaScript into the page
-to send data to your Analytics account.  It will set one of the following for
-each visitor:
-<pre class="prettyprint">
-_gaq.push(['_setCustomVar', 1, 'ExperimentState', 'Experiment: 1']);
-_gaq.push(['_setCustomVar', 1, 'ExperimentState', 'Experiment: 2']);
-</pre>
-</p>
-<p>
-In addition to <code>id</code> and <code>percent</code> described above, there
-are additional optional settings intended to give you a way to test many
-settings you could set in the configuration file:
-</p>
-<dl>
-  <dt><code>default</code><dd>Apply the filters and settings that would
-      normally apply.  Warning: prior to 1.9.32.1 this setting could not be
-      used in combination with any others.  It would override any other
-      configuration specified in the experiment spec, and the other settings
-      would be silently ignored. This meant that
-      in <code>default,enabled=remove_comments</code>
-      the <code>enabled=remove_comments</code> would have no effect.  As of
-      1.9.32.1, however, it is now safe to combine <code>default</code>
-      with <code>enabled=</code>, <code>disabled=</code>,
-      or <code>options=</code>, and it indicates that the current non-experiment
-      options should be used as a starting point.  For example,
-      in <code>default,enabled=remove_comments</code>, you would now get the
-      expected result of server default filters and options,
-      plus <code>remove_comments</code>.  Note that <code>level=</code> may
-      still not be used with <code>default</code>.
-      <p><br>
-      While all the other settings are in the form <code>key=value</code>, as
-      in <code>percent=42</code>, this setting has no 'value' and is
-      just <code>default</code>.
-  <dt><code>level</code><dd>Set
-      the <code><a href="config_filters#level">RewriteLevel</a></code>.
-  <dt><code>enabled</code><dd>A comma-separated list of filters explicitly
-      enabled.  For example, <code>enabled=rewrite_images,inline_js</code>.
-      Equivalent
-      to <code><a href="config_filters#enabling">EnableFilters</a></code>.
-  <dt><code>disabled</code><dd>A comma-separated list of filters explicitly
-      disabled.  Equivalent
-      to <code><a href="config_filters#enabling">DisableFilters</a></code>.
-  <dt><code>options</code><dd>
-      A comma-separated list of options to set.  For example,
-      <tt>options=JpegNumProgressiveScans=5,WebpRecompressionQuality=72</tt>.
-  <dt><code>ga_id</code><dd>The Google Analytics ID you would like the data of
-      this experiment reported to.  If not specified, this experiment will use
-      the Analytics ID specified with
-      <code><a href="filter-insert-ga">AnalyticsID</a></code>.
-  <dt><code>slot</code><dd>Google Analytics provides five slots for custom
-      variables.  Here you specify which custom variable slot you would
-      like to use.  The default is slot 1, but you can change this setting
-      globally with:
-      <pre class="prettyprint">ExperimentVariable 2</pre>
-</dl>
-<p>
-Visitors are assigned to ExperimentSpecs on a week-to-week basis.  This
-means that when you finish one experiment and start another, it will take up to
-a week for repeat visitors to be assigned to the new experiment.
-</p>
-<p>
-Starting in 1.8.31.2 you can test experiment configurations on a live site
-before assigning anyone to them by creating them initially with a percentage of
-'0%' and then visiting the page
-with <code>?PageSpeedEnrollExperiment=&lt;experiment_id&gt;</code>.  This will
-set a cookie that assigns you to the group you're trying to test.  You can stop
-running this test by deleting the <code>PageSpeedExperiment</code> cookie or
-loading the page with <code>?PageSpeedEnrollExperiment=-1</code>.
-</p>
-<h2>Examples</h2>
-<p>
-Run an experiment on 30% of visitors where half get the default configuration
-and half get no filters.  Use Google Analytics ID UA-XXXXXXX-Y to run the
-experiment, and default to logging the experiment information into custom
-variable slot 1:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedRunExperiment on
-ModPagespeedAnalyticsID UA-XXXXXXX-Y
-ModPagespeedExperimentSpec id=1;percent=15;default
-ModPagespeedExperimentSpec id=2;percent=15</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed RunExperiment on;
-pagespeed AnalyticsID UA-XXXXXXX-Y;
-pagespeed ExperimentSpec "id=1;percent=15;default";
-pagespeed ExperimentSpec "id=2;percent=15";</pre>
-</dl>
-<p>
-Run an experiment on 30% of visitors where:
-<ul>
-<li>One tenth of visitors get the default configuration.
-<li>One tenth get a new configuration which has the core filters
-plus <code><a href="reference-image-optimize#inline_preview_images"
->inline_preview_images</a></code> and <code><a href="filter-comment-remove"
->remove_comments</a></code> without <code><a href="filter-js-minify"
->rewrite_javascript</a></code>, with <a href="restricting_urls#aris"
->AvoidRenamingIntrospectiveJavascript</a> disabled, and a CSS inlining limit of
-4kB.
-<li>One tenth get no filters.
-<li>The remaining 70% aren't included in the experiment.
-</ul>
-All the other visitors will be unaffected.  For measurement it logs to custom
-variable slot 3 of Google Analytics account UA-XXXXXXX-Y.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedRunExperiment on
-ModPagespeedAnalyticsID UA-XXXXXXX-Y
-ModPagespeedExperimentVariable 3
-ModPagespeedExperimentSpec id=3;percent=10;default
-ModPagespeedExperimentSpec id=4;percent=10;level=CoreFilters;enabled=inline_preview_images,remove_comments;disabled=rewrite_javascript;options=AvoidRenamingIntrospectiveJavascript=off,CssInlineMaxBytes=4096
-ModPagespeedExperimentSpec id=5;percent=10</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed RunExperiment on;
-pagespeed AnalyticsID UA-XXXXXXX-Y;
-pagespeed ExperimentVariable 3;
-pagespeed ExperimentSpec "id=3;percent=10;default";
-pagespeed ExperimentSpec "id=4;percent=10;level=CoreFilters;enabled=inline_preview_images,remove_comments;disabled=rewrite_javascript;options=AvoidRenamingIntrospectiveJavascript=off,CssInlineMaxBytes=4096";
-pagespeed ExperimentSpec "id=5;percent=10";</pre>
-</dl>
-<p>
-While the RunExperiment feature supports testing many changes, as shown above,
-the discipline of changing only one variable at a time helps you see the effect
-and know where it's coming from.  The only drawback is that sometimes two
-filters are more useful in combination, such as minification and inlining, where
-minifying brings resources down to the inlining threshold.
-</p>
-<p>
-There is also a tradeoff with the experiment percentages: a larger percentage
-means you will collect sufficient data for meaningful results more quickly but
-it also affects more of your users.  If you're
-<a href="experiment.html">testing manually</a> with query parameters to be sure
-your settings aren't making things worse for you, the downside of running with
-large experiment percentages is low.  While you may not have determined the
-ideal settings right away, you're unlikely to have made things much worse.
-</p>
-
-<h2>Reporting</h2>
-<p>
-After you have been running an experiment for 24 hours Analytics will have
-results for you.  The screenshots below walk through the process of creating a
-custom report to view them.
-<p>
-<ol>
-<li><h3>Set up advanced segments</h3>
-  <ol type="a">
-  <li>Advanced segments let you label fractions of your traffic.  To view speed
-      results broken down by experiments you need to add segments for
-      each experimental group.  Click <a target="_blank"
-      href="https://www.google.com/analytics/web/permalink?type=advanced_segment&amp;uid=16TeL7ueRGuGttAzoYeV3A">here</a>
-      to import a segment for a sample experimental group.
-  <li>If prompted, log into Google Analytics:
-    <div><img class="experiment-screenshot"
-              alt="Google Analytics login screen."
-              src="analytics_screenshots/1_login.png"></div>
-  <li>Select the profile that your experiment data was collected under, enter
-      a name for the segment, and click <strong>Create Advanced
-      Segment</strong>:
-    <div><img class="experiment-screenshot"
-              alt="Import advanced segment screen."
-              src="analytics_screenshots/2_import_advanced_segment.png">
-    </div>
-  <li>On the next screen you can adjust this custom segment to fit your
-      situation.  If you used a custom variable slot other than the default,
-      which is 1, change <strong>Custom Variable (Key 1)</strong>
-      and <strong>Custom Variable (Value 01)</strong> to the appropriate values.
-      Where it says <strong>Experiment: 1</strong> replace 1 with the experiment
-      id you used. You also need to change <strong>FuriousState</strong> (our
-      initial code name) to <strong>ExperimentState</strong>.
-
-    <div><img class="experiment-screenshot"
-              alt="Advanced segment settings."
-              src="analytics_screenshots/3_segment_settings.png">
-    </div>
-  <li>Click <strong>Save Segment</strong>.
-  <li>Repeat these steps for the rest of your experiment ids.
-  </ol>
-<li><h3>Add advanced segments to the speed report</h3>
-  <ol type="a">
-  <li>Click <strong>All Accounts</strong>.
-  <li>On the dropdown menu click the name for your profile.  In the screenshot
-      below this is labeled <strong>your profile name [DEFAULT]</strong>.
-    <div><img class="experiment-screenshot"
-              alt="Profile switching dropdown."
-              src="analytics_screenshots/4_profile_switch.png">
-    </div>
-  <li>Click <strong>Standard Reporting</strong>:
-    <div><img class="experiment-screenshot"
-              alt="After profile switching."
-              src="analytics_screenshots/5_profile_switched.png">
-    </div>
-  <li>Click <strong>Content</strong>
-    <div><img class="experiment-screenshot"
-              alt="Standard reporting screen."
-              src="analytics_screenshots/6_standard_reporting.png">
-    </div>
-  <li>Under <strong>Content</strong> click <strong>Site
-      Speed</strong> and then <strong>Page Timings</strong> to bring up
-      the <strong>Site Speed Page Timings</strong> page:
-    <div><img class="experiment-screenshot"
-              alt="Page timings screen."
-              src="analytics_screenshots/7_page_timings.png">
-    </div>
-  <li>Click <strong>Advanced Segments</strong>.
-  <li>Under <strong>Custom Segments</strong> you will see the segments you added
-      above.  Check the boxes next to them and click <strong>Apply</strong>:
-    <div><img class="experiment-screenshot"
-              alt="Advanced segment selection screen."
-              src="analytics_screenshots/8_advanced_segments.png">
-    </div>
-  <li>This takes you to back to the <strong>Site Speed Page Timings</strong>
-      page.
-  </ol>
-<li><h3>Examine experimental results</h3>
-  <ol type="a">
-  <li>The <strong>Explorer</strong> tab shows average timing
-      information both overall and, below, per-url:
-    <div><img class="experiment-screenshot"
-              alt="Explorer tab."
-              src="analytics_screenshots/9_page_level_timings.png">
-    </div>
-  <li>Averages can be misleading, however, because one user who suffers
-      abnormally high latency before the onload event will have an outsize
-      effect on the average.  Unless your sample is very large, such users can
-      make an experiment falsely appear to be a success or failure.  To overcome
-      this problem a histogram is helpful.  Click
-      the <strong>Performance</strong> tab to see page load times grouped into
-      intervals.
-    <div><img class="experiment-screenshot"
-              alt="Performance tab."
-              src="analytics_screenshots/10_histogram.png">
-    </div>
-  <li>To see more fine grained timing detail, click the <strong>+</strong> icon
-      next to any histogram interval to expand it.
-  <li>In this experiment PageSpeed appears to have moved about 8% of visits
-      from the 1-3 second category to the 0-1 second one.  For a simple
-      mostly-text site running only the core set of filters, this is a
-      reasonable result.  As a next step the webmaster of this site might
-      examine the <a href="config_filters">filter list</a> to determine if there
-      are filters that are not in the core set which might be good targets for
-      future experimentation.
-  </ol>
-</ol>
-
-<h2 id="content-experiments"
-  >Integration with Google Analytics Content Experiments</h2>
-<p class="note"><strong>Note: New feature as of 1.10.33.0</strong></p>
-
-<p>
-The usage described above reports experiment results to a custom variable in
-Google Analytics.  As of 1.10.33.0 PageSpeed supports reporting experiment
-results to a GA Content Experiment.  To do this, set up a
-<a href="https://developers.google.com/analytics/devguides/collection/analyticsjs/experiments#pro-server">server-side
-content experiment</a>.  When setting this up GA will tell you an "Experiment
-ID" (which PageSpeed calls <code>ContentExperimentID</code>) and, for each
-variation, a "Chosen Variation Index" (which PageSpeed
-calls <code>ContentExperimentVariantID</code>).  Tell PageSpeed about these via
-the <code>options=</code> parameter in the <code>ExperimentSpec</code>:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedExperimentSpec id=1;percent=15;options=ContentExperimentID=ID:ABC123,ContentExperimentVariantID=1;default
-ModPagespeedExperimentSpec id=2;percent=15;options=ContentExperimentID=ID:ABC123,ContentExperimentVariantID=2</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed ExperimentSpec "id=1;percent=15;options=ContentExperimentID=ID:ABC123,ContentExperimentVariantID=1;default";
-pagespeed ExperimentSpec "id=2;percent=15;options=ContentExperimentID=ID:ABC123,ContentExperimentVariantID=2";</pre>
-</dl>
-
-<p>
-While you can use the Content Experiment integration with
-either <code>ga.js</code> or <code>analytics.js</code> we recommend
-using <code>analytics.js</code> if possible.  Not only is <code>ga.js</code>
-obselete, with Content Experiments it requires PageSpeed to insert a blocking
-script, which slows down your page.
-</p>
-
-<h2>Technical Implementation</h2>
-<p>
-When a visitor first arrives on a site with this feature enabled PageSpeed
-chooses an experiment from among the ExperimentSpecs.  If you are running your
-experiments on less than 100% of your visitors, some will be assigned to "no
-experiment", which PageSpeed represents as <code>id=0</code>.  It generates the
-page in accordance with the ExperimentSpec and then sets a cookie valid for one
-week, so that on future page loads it knows which ExperimentSpec to apply to
-this visitor:
-</p>
-<pre>
-   Date: Thu, 10 May 2012 14:19:43 GMT
-   Server: Apache/2.2.14 (Ubuntu)
-   Accept-Ranges: bytes
-   Set-Cookie: PageSpeedExperiment=3; Expires=Thu, 17 May 2013 14:19:43 GMT; Domain=.www.example.com; Path=/
-</pre>
-You can test this on your site with the <code>curl</code> program:
-<pre>
-   $ curl -D- -o /dev/null http://yoursite
-   ...
-   Set-Cookie: PageSpeedExperiment=1; ...
-   ...
-   X-Mod-Pagespeed: ...
-   ...
-</pre>
-<p>
-If you don't see a <code>Set-Cookie</code> header in the output, this feature
-isn't set up properly.  If you don't see an <code>X-Mod-Pagespeed</code> header
-(Apache) or an <code>X-Page-Speed</code> header (Nginx), PageSpeed isn't running
-at all.  On each page PageSpeed adds some JavaScript to set a Google Analytics
-custom variable:
-</p>
-<pre class="prettyprint">
-   _gaq.push(['_setCustomVar', 1, 'ExperimentState', 'Experiment: 4']);
-</pre>
-<p>
-While it does try to detect when a page already is using Google Analytics and
-add to it only what it needs, this is imprecise and can get it wrong.  We
-recommend that you let PageSpeed insert the only snippet.  If you need to
-call <a href="https://developers.google.com/analytics/devguides/collection/gajs/methods/">other
-tracking methods</a>, for example to set
-the <a href="https://developers.google.com/analytics/devguides/collection/gajs/methods/gaJSApiBasicConfiguration#_gat.GA_Tracker_._setSampleRate">sample
-rate</a> for your site, you can do this by adding to the <code>_gaq</code> array
-within <code>&lt;head&gt;</code>.  The code to do this for setting the site
-sampleRate to 80% would be:
-<pre class="prettyprint">
-   _gaq = _gaq || [];
-   _gaq.push(['_setSampleRate', '80']);
-</pre>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/openssl-1.0.1h-fixes.html b/doc/openssl-1.0.1h-fixes.html
deleted file mode 100644
index 3291bb3..0000000
--- a/doc/openssl-1.0.1h-fixes.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>mod_pagespeed and ngx_pagespeed Security Advisory: SSL fetching man-in-the-middle attack.</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>mod_pagespeed and ngx_pagespeed Security Advisory: SSL fetching man-in-the-middle attack.</h1>
-<dl>
-  <dt>Disclosed:</dt>
-    <dd><p>June 17th, 2014</p></dd>
-  <dt>Versions Affected:</dt>
-    <dd>
-      <ul>
-        <li>mod_pagespeed 1.7.30.1 through 1.7.30.4 (fixed in 1.7.30.5)</li>
-        <li>mod_pagespeed and ngx_pagespeed 1.8.31.1 through 1.8.31.3 (fixed in 1.8.31.4)</li>
-      </ul>
-    </dd>
-  <dt>Summary:</dt>
-    <dd><p>Some versions of mod_pagespeed and ngx_pagespeed, in order to
-        support fetching of HTTPS content, link in versions of OpenSSL
-        that are vulnerable to a man-in-the-middle attack. This attack permits
-        an adversary that can monitor and alter traffic between a client
-        (mod_pagespeed or ngx_pagespeed in this case) and a server to decrypt
-        and modify encrypted transfers, as long as both are running vulnerable
-        versions (see <a href="http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-0224">
-        CVE-2014-0224</a> for more detail).
-        </p>
-        <p>
-        mod_pagespeed and ngx_pagespeed users are only vulnerable if they turn
-        on the optional <code>FetchHttps</code> feature.
-        </p></dd>
-  <dt>Solution:</dt>
-    <dd><p>For mod_pagespeed, update to one of versions 1.7.30.5-stable,
-    1.8.31.4-beta or newer.</p>
-
-    <p>For ngx_pagespeed, update to 1.8.31.4-beta or newer.</p>
-    </dd>
-  <dt>Workaround:</dt>
-    <dd>
-    <p>Use a method other than <code>FetchHttps</code> to fetch https content,
-       as described in <a href="https_support">HTTP Support</a> documentation.
-    </p>
-    </dd>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/optimize-for-bandwidth.html b/doc/optimize-for-bandwidth.html
deleted file mode 100644
index 0a5acba..0000000
--- a/doc/optimize-for-bandwidth.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>Optimizing For Bandwidth</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Optimizing For Bandwidth</h1>    <p>
-      PageSpeed's default <code>RewriteLevel</code> of
-      <a href="config_filters#level">CoreFilters</a>
-      is designed to reduce latency, incurring a small risk of page breakage.
-      A related goal, bandwidth reduction, can be achieved with close to zero
-      risk of web-site breakage:</p>
-    <dl>
-      <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedRewriteLevel OptimizeForBandwidth</pre>
-      <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed RewriteLevel OptimizeForBandwidth;</pre>
-    </dl>
-    <p>
-      This option is suitable for use in a root configuration at a
-      hosting service, CDN, or multi-site setup, in conjunction with
-      <a href="configuration#virtual-hosts">InheritVhostConfig</a>.
-      In this mode, PageSpeed does not alter HTML at all.  It compresses
-      and transcodes images <a href="system#ipro">in place</a>, and minifies
-      JavaScript and CSS. By avoiding changes to URL syntax and to HTML, the
-      potential problem of user-written JavaScript encountering unexpected
-      DOM elements is elimimated.  There is still latency benefit due to the
-      reduced size of resources, as well as substantial bandwidth reduction.
-    </p>
-    <h2 id="savings">Bandwidth Savings</h2>
-    <p>
-      The bandwidth savings resulting from this option are, of course,
-      dependent on the source site.  Our tests with the default
-      settings for OptimizeForBandwidth indicate an average bandwidth
-      reduction of roughly 37% over the content of 1000 large web sites with
-      a client that is capable of displaying webp images, and 25% improvement
-      with older clients.
-    </p>
-    <h2 id="adding_options">Adding Additional Options</h2>
-    <p>
-      Additional latency optimizations that modify HTML can be layered on
-      top of <code>OptimizeForBandwidth</code> by enabling additional
-      filters, and altering the <a href="config_filters#preserveurls">Preserve
-        URL settings</a> for CSS, images, or JavaScript.  For example, to set
-      up a shared hosting server with OptimizeForBandwidth in the root, but
-      where individual sites have added
-      <a href="filter-js-inline">inline_javascript</a>,
-      <a href="filter-lazyload-images">lazyload_images</a> and
-      <a href="filter-prioritize-critical-css">prioritize_critical_css</a>,
-      or simply turned on <a href="config_filters#level">CoreFilters</a>,
-      the following pagespeed.conf fragment may be used:
-    </p>
-    <dl>
-      <dt>Apache:</dt>
-      <dd>
-        <pre>
-ModPagespeedInheritVHostConfig on
-ModPagespeedRewriteLevel OptimizeForBandwidth
-&lt;VirtualHost *:80&gt;
-  ServerName prioritize_above_the_fold.example.com
-  ModPagespeedEnableFilters inline_javascript,prioritize_critical_css,inline_preview_images
-&lt;/VirtualHost&gt;
-&lt;VirtualHost *:80&gt;
-  ServerName preserve_css_urls_off.example.com
-  ModPagespeedCssPreserveURLs off
-&lt;/Directory&gt;
-&lt;VirtualHost *:80&gt;
-  ServerName core.example.com
-  ModPagespeedRewriteLevel CoreFilters
-&lt;/Directory&gt;</pre>
-      </dd>
-      <dt>Nginx:</dt>
-      <dd>
-        <pre>
-pagespeed RewriteLevel OptimizeForBandwidth;
-server {
-  server_name prioritize_above_the_fold.example.com
-  pagespeed EnableFilters inline_javascript,prioritize_critical_css,inline_preview_images
-}
-server {
-  server_name preserve_css_urls_off.example.com
-  pagespeed CssPreserveURLs off
-}
-server {
-  server_name core.example.com
-  pagespeed RewriteLevel CoreFilters
-}</pre>
-      </dd>
-    </dl>
-    <p>
-      In version 1.9.32.1 and later, <a href="system#ipro">In Place
-      Resource Optimization</a> is enabled by default.  In earlier versions,
-      turning on OptimizeForBandwidth automatically enables In Place
-      Resource Optimization to optimize the resources without needing
-      to change their URLs.  In these earlier versions, when a VirtualHost
-      overrides the <code>RewriteLevel</code> to <code>CoreFilers</code>, that
-      turns off In Place Resource Optimization, but it can be re-enabled
-      explicitly:</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedInPlaceResourceOptimization on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed InPlaceResourceOptimization on;</pre>
-</dl>
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/reference-image-optimize.html b/doc/reference-image-optimize.html
deleted file mode 100644
index 7e9872f..0000000
--- a/doc/reference-image-optimize.html
+++ /dev/null
@@ -1,799 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-<head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-  <title>Image Filter and Option Reference</title>
-  <link rel="stylesheet" href="doc.css">
-</head>
-<body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>Image Filter and Option Reference</h1>
-<h2>Filter Reference</h2>
-
-<h3 id="convert_gif_to_png">Convert GIF to PNG</h3>
-<p>
-This filter losslessly converts GIF images to PNG, a more recent image format
-that can generally achieve higher compression than GIF. This filter only
-converts single-frame GIFs, as PNG only supports single-frame images.
-Animated GIFs can be converted to the WebP format using the
-<code>convert_to_webp_animated</code> filter.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters convert_gif_to_png</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters convert_gif_to_png;</pre>
-</dl>
-
-<h3 id="convert_jpeg_to_progressive">Convert JPEG to progressive</h3>
-<p>
-This filter uses progressive format to encode large (more than 10KB) JPEG
-images. Progressive format generally yields better compression for large
-images, and permits incremental display by the browser.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters convert_jpeg_to_progressive</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters convert_jpeg_to_progressive;</pre>
-</dl>
-
-<h3 id="convert_jpeg_to_webp">Convert JPEG to WebP</h3>
-<p>
-This filter converts JPEG to lossily-encoded WebP format if the latter is
-supported by the browser
-(see <a href="https://developers.google.com/speed/webp/faq">
-list of browsers supporting WebP</a>);
-otherwise, this filter is ignored.
-</p>
-<p>
-With this filter enabled, GIF and PNG images can also be converted to
-lossily-encoded WebP if the configuration allows them to be converted to JPEG
-(i.e., if <code>convert_gif_to_png</code> and <code>convert_png_to_jpeg</code>
-are also enabled), and if PageSpeed determines that the images are not
-sensitive to compression noise.
-</p>
-<p class="note"><strong>
-Note: Before 1.8.31.2, if <code>convert_to_webp_lossless</code> was enabled,
-GIF and PNG images were converted to losslessly-encoded WebP even if they
-could be converted to JPEG or lossily-encoded WebP.
-</strong></p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters convert_jpeg_to_webp</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters convert_jpeg_to_webp;</pre>
-</dl>
-
-<h3 id="convert_png_to_jpeg">Convert PNG to JPEG</h3>
-<p>
-This filter converts GIF and PNG images to JPEG if they have no transparent
-pixels and if PageSpeed determines that they are not sensitive to compression
-noise. The conversion is lossy but the optimized JPEG images are usually
-substantially smaller than the original.
-</p>
-<p class="note"><strong>
-Note: before 1.8.31.2 mod_pagespeed did not check whether the image was
-sensitive to compression noise and converted the image to JPEG as long as it
-did not have transparent pixels.
-</strong></p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters convert_png_to_jpeg</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters convert_png_to_jpeg;</pre>
-</dl>
-<p>
-
-<h3 id="convert_to_webp_animated">Convert to WebP animated</h3>
-<p>
-This filter converts animated GIF to animated WebP if the latter format is
-supported by the browser; otherwise, this filter is ignored. Check
-<a href=
-"https://developers.google.com/speed/webp/faq#why_should_i_use_animated_webp">
-here</a>
-for the advantages of animated WebP and a list of supporting browsers.
-</p>
-<p class="note"><strong>Note: New feature as of 1.10.33.0</strong></p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters convert_to_webp_animated</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters convert_to_webp_animated;</pre>
-</dl>
-
-<h3 id="convert_to_webp_lossless">Convert to WebP lossless</h3>
-<p>
-This filter converts PNG and non-animated GIF images to losslessly-encoded
-WebP if PageSpeed determines that the images are sensitive to compression
-noise and if the latter format is supported by the browser
-(see <a href="https://developers.google.com/speed/webp/faq">
-list of browsers supporting WebP</a>);
-otherwise, this filter is ignored.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters convert_to_webp_lossless</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters convert_to_webp_lossless;</pre>
-</dl>
-
-<h3 id="inline_images">Inline images</h3>
-<p>
-This filter replaces references to small images by converting them to inline
-<code>data:</code> URLs, eliminating the need to initiate new connections for
-fetching the image data.
-</p>
-<p id="inline_beacons">
-By default <code>inline_images</code> injects JavaScript that
-uses a <a href="faq#beacons">beacon</a> to report back to the server the
-images that are visible in the client's initial viewport (above-the-fold).
-It takes a few accesses of a page for the data to be reported back and
-processed but eventually the above-the-fold images will be identified and
-inlined, while below-the-fold images will not be inlined; until then all
-small images will be inlined.
-</p>
-<p>
-The use of beacons can be disabled using the
-<a href="config_filters#beacons">CriticalImagesBeaconEnabled</a> option.
-If they are disabled, <code>inline_images</code> will not inject the
-JavaScript and will revert to inlining small images.
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters inline_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters inline_images;</pre>
-</dl>
-
-<h3 id="inline_preview">Inline preview images</h3>
-<p>
-This filter replaces each image URL with an inline <code>data:</code> URL of
-reduced quality; then, after the page's onload event, loads the full-size
-images. Inlining reduced-quality images makes the page render much faster.
-As the full-size images load in later, the final experience is a fast page
-load without loss of detail.
-See <a href="filter-inline-preview-images">Inline Preview Images</a>
-for more details.
-</p>
-
-<h3 id="insert_image_dimensions">Insert image dimensions</h3>
-<p>
-This filter adds <code>width=</code> and <code>height=</code> attributes to the
-<code>&lt;img&gt;</code> tags if they are missing. Values for the
-<code>width=</code> and <code>height=</code> attributes are computed from the
-image.
-</p>
-<p>
-Note: This filter may cause stretching or shrinking distortion if you have CSS
-rules that modify an image's dimensions.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters insert_image_dimensions</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters insert_image_dimensions;</pre>
-</dl>
-
-<h3 id="recompress_images">Recompress images</h3>
-<p>
-This is a filter group consisting of
-<code>convert_gif_to_png</code>, <code>convert_jpeg_to_progressive</code>,
-<code>convert_jpeg_to_webp</code>, <code>convert_png_to_jpeg</code>,
-<code>jpeg_subsampling</code>, <code>recompress_jpeg</code>,
-<code>recompress_png</code>, <code>recompress_webp</code>,
-<code>strip_image_color_profile</code>,
-and <code>strip_image_meta_data</code>.
-</p>
-<p class="note"><strong>
-Note: before 1.11.33.0 <code>convert_png_to_jpeg</code> was not part of
-<code>recompress_images</code> and needed to be enabled separately.
-</strong></p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters recompress_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters recompress_images;</pre>
-</dl>
-
-<h3 id="recompress_jpeg">Recompress JPEG</h3>
-<p>
-This filter recompresses JPEG images. Quality for the output image is the
-minimum of the original image and that specified in the configuration.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters recompress_jpeg</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters recompress_jpeg;</pre>
-</dl>
-
-<h3 id="recompress_png">Recompress PNG</h3>
-<p>
-This filter recompresses PNG images.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters recompress_png</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters recompress_png;</pre>
-</dl>
-
-<h3 id="recompress_webp">Recompress WebP</h3>
-<p>
-This filter recompresses single-frame (non-animated) WebP images to the quality
-specified in the configuration.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters recompress_webp</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters recompress_webp;</pre>
-</dl>
-
-<h3 id="jpeg_subsampling">Reduce JPEG subsampling</h3>
-<p>
-This filter uses 4:2:0 chroma subsampling for JPEG images, wherein hue and
-saturation have only 25% as many samples as brightness. Because human vision
-is less sensitive to hue and saturation than to brightness, this subsampling
-can significantly reduce image size with little effect on perception.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters jpeg_subsampling</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters jpeg_subsampling;</pre>
-</dl>
-
-<h3 id="resize_images">Resize images</h3>
-<p>
-This filter shrinks the dimensions of an image to the <code>width=</code> or
-<code>height=</code> attribute specified in the <code>&lt;img&gt;</code> tag
-or in the inline <code>style=</code> attribute.
-</p>
-<p>
-Note: This filter always strips color profiles and metadata. The resized image
-may also be recompressed or converted to a new format and quality based on
-your configuration.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters resize_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters resize_images;</pre>
-</dl>
-
-<h3 id="resize_rendered_image_dimensions">
-Resize images to rendered dimensions
-</h3>
-<p>
-This filter shrinks images to their rendered dimensions on the web page.
-Unlike <code>resize_images</code>, it ignores any <code>width</code> and
-<code>height</code> attributes specified for the images. If the same image
-appears more than once on a page it is resized to the largest rendered
-dimensions.
-</p>
-<p>
-To report the rendered dimensions back to the server, this filter
-injects JavaScript code to your pages which <a href="faq#beacons">beacon</a>
-the sizes back. Your page needs to be visited several times before the server
-figures out the rendered dimensions. To use this filter, the
-<a href="config_filters#beacons">CriticalImagesBeaconEnabled</a> filter must
-be enabled (this is the default).
-</p>
-<p>
-Note: If both <code>resize_rendered_image_dimensions</code> and
-<code>resize_images</code> are enabled,
-<code>resize_rendered_image_dimensions</code> takes precedence.
-</p>
-<p>
-Note: This filter always strips color profiles and metadata. The resized image
-may be recompressed or converted to a new format and quality based on your
-configuration.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters resize_rendered_image_dimensions</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters resize_rendered_image_dimensions;</pre>
-</dl>
-
-<h3 id="rewrite_images">Rewrite images</h3>
-<p>
-This is a filter group that includes <code>inline_images</code>,
-<code>recompress_images</code>, <code>convert_to_webp_lossless</code>,
-and <code>resize_images</code>.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters rewrite_images</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters rewrite_images;</pre>
-</dl>
-
-<h3 id="strip_image_color_profile">Strip image color profile</h3>
-<p>
-This filter strips color profiles from images. The stripped images
-may also be recompressed or converted to a new format and quality based on
-your configuration.
-</p>
-<p>
-Note: Image resizing or format conversion always removes color profiles.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters strip_image_color_profile</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters strip_image_color_profile;</pre>
-</dl>
-
-<h3 id="strip_image_meta_data">Strip image metadata</h3>
-<p>
-This filter strips metadata, i.e., data which is not displayed, from images.
-The stripped images may also be recompressed or converted to a new format and
-quality based on your configuration.
-</p>
-<p>
-Note: Image resizing or format conversion always removes metadata.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters strip_image_meta_data</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters strip_image_meta_data;</pre>
-</dl>
-
-<h2>Option Reference</h2>
-
-<h3 id="AllowVaryOn">AllowVaryOn</h3>
-<p>
-This option controls the response headers PageSpeed may use when deciding
-how to recompress images in
-<a href="system#ipro">In-Place Resource Optimization</a> mode.
-PageSpeed uses only the specified headers to tailor the format and quality
-to the client device and then emits a <code>Vary</code> response header which
-lists the headers it actually used. If you are using a CDN or caching proxy
-in front of PageSpeed, it must support the specified headers so the optimized
-images will be cached correctly in IPRO mode.
-</p>
-<p>
-Valid values for this option are:
-</p>
-
-<ul>
-  <li>
-    <code>None</code>: This option offers the best caching but disables some
-    of PageSpeed's image optimization features, including WebP transcoding.
-  </li>
-    <li><code>Auto</code>: This is equivalent to
-    "<code>Accept</code>, <code>Save-Data</code>" when the request from your
-    user has the <code>Via</code> header (i.e., the request came through
-    a proxy), or "<code>User-Agent</code>, <code>Save-Data</code>" otherwise.
-  </li>
-  <li>
-    One or more headers from the following, separated by comma:
-    <code>Accept</code>, <code>Save-Data</code>, <code>User-Agent</code>.
-  </li>
-</ul>
-
-<p>
-The default is <code>Auto</code>.
-</p>
-<p>
-When you allow PageSpeed to vary on <code>User-Agent</code>, either directly
-or via <code>Auto</code>, PageSpeed tries all image formats and all image
-qualities that you have enabled. For example, PageSpeed uses all modes of WebP
-and qualities for small screens if they apply. However, because of the huge
-number of user-agents, allowing vary on <code>User-Agent</code> can take up
-a huge amount of disk space in a cache. Therefore, PageSpeed does not
-recommend using vary on <code>User-Agent</code> if you use a caching proxy
-or CDN.
-</p>
-<p>
-On the other hand, when you allow PageSpeed to vary on <code>Accept</code>,
-either directly or via <code>Auto</code>, PageSpeed will consider all image
-formats supported by the <code>Accept</code> header, e.g., the lossy mode of
-WebP. The <code>Accept</code> header does not indicate whether the device is a
-small screen, so the qualities for small screens will not be used.
-The <code>Accept</code> header is not enough to conclude that browser supports
-the lossless or animated mode of WebP, so they are not used.
-</p>
-<p>
-When you allow PageSpeed to vary on <code>Save-Data</code>, PageSpeed uses the
-image qualities that you set for the <code>Save-Data</code> mode if the
-request has the <code>Save-Data</code> header.
-</p>
-<p class="note"><strong>Note: new feature as of 1.11.33.0</strong></p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedAllowVaryOn headers</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed AllowVaryOn headers;</pre>
-</dl>
-
-<h3 id="CssImageInlineMaxBytes">CssImageInlineMaxBytes</h3>
-<p>
-This option sets the maximum size in bytes of any image that will be inlined
-into CSS. For inline CSS in HTML files, the value used is the smaller of
-<code>MaxBytes</code> or <code>ImageInlineMaxBytes</code>. The default value
-is 0.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCssImageInlineMaxBytes MaxBytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CssImageInlineMaxBytes MaxBytes;</pre>
-</dl>
-
-<h3 id="ImageInlineMaxBytes">ImageInlineMaxBytes</h3>
-<p>
-This option sets the maximum size in bytes of any image that will be inlined
-into an HTML file. The default value is 2048.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedImageInlineMaxBytes MaxBytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ImageInlineMaxBytes MaxBytes;</pre>
-</dl>
-
-<h3 id="JpegNumProgressiveScans">ImageJpegNumProgressiveScans</h3>
-<p>
-This option sets how many scans (how many groups to divide image data into)
-are used for progressive JPEGs. More scans allows finer granular increase of
-display quality, but at the cost of more computation. The range is 1 to 10
-and the default is 10.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedImageJpegNumProgressiveScans Scans</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ImageJpegNumProgressiveScans Scans;</pre>
-</dl>
-
-<h3 id="JpegNumProgressiveScansForSmallScreens"
-   >ImageJpegNumProgressiveScansForSmallScreens</h3>
-<p>
-This option overrides <code>ImageJpegNumProgressiveScans</code> specifically
-for mobile visitors.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedImageJpegNumProgressiveScansForSmallScreens Scans</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ImageJpegNumProgressiveScansForSmallScreens Scans;</pre>
-</dl>
-
-<h3 id="ImageLimitOptimizedPercent">ImageLimitOptimizedPercent</h3>
-<p>PageSpeed only keeps optimized images whose size after recompression is
-less than the given percent of the original image size. For example, setting
-this to 95 will retain an optimized image only if it is at least 5% smaller
-than the original image it would replace. The default value is 100, meaning
-any savings at all will cause the optimized image to be used.
-</p>
-<p>
-Note: Do not set this option to 0 to disable image optimization; disable
-<code>rewrite_images</code> or the related filters instead. If you set this
-to 0 PageSpeed will still try to compress all your images, but will throw the
-output away for showing insufficient compression gains.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedImageLimitOptimizedPercent Percent</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ImageLimitOptimizedPercent Percent;</pre>
-</dl>
-
-<h3 id="ImageLimitResizeAreaPercent">ImageLimitResizeAreaPercent</h3>
-<p>
-PageSpeed only attempts to resize images whose area in pixels after
-optimization is less than the given percent of the original image area.
-For example, setting this to 90 will only resize images if the image area
-shrinks by at least 10%. The default value is 100, meaning any shrinkage
-at all will cause an image to be resized.
-</p>
-<p>
-Note: Do not set this option to 0 to disable image resizing, as that just adds
-computational overhead during page load; disable the
-<code>resize_images</code> and
-<code>resize_rendered_image_dimensions</code> filters instead.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedImageLimitResizeAreaPercent Percent</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ImageLimitResizeAreaPercent Percent;</pre>
-</dl>
-
-<h3 id="ImageMaxRewritesAtOnce">ImageMaxRewritesAtOnce</h3>
-<p>
-This option sets the maximum number of images to optimize concurrently.
-The default value is 8.
-</p>
-<p>
-To allow optimizing an unlimited number of images concurrently, set this
-option to "-1". To stop optimizing images, instead disable
-<code>recompress_images</code> or the related filters.
-</p>
-<p>
-Note: For backward compatibility, a value of "0" is treated equivalently
-to "-1", removing the restriction on the number of concurrent image
-optimizations PageSpeed will attempt.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedImageMaxRewritesAtOnce NumImages</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ImageMaxRewritesAtOnce NumImages;</pre>
-</dl>
-
-<h3 id="ImageResolutionLimitBytes">ImageResolutionLimitBytes</h3>
-<p>
-To avoid using too much memory, PageSpeed has a limit on the size of images it
-will optimize. The limit is expressed in bytes of <em>uncompressed</em> image,
-with a default of 32 MB. PageSpeed may need four bytes to represent each pixel,
-so divide by four to compute how many pixels that is. This means with the
-default settings the largest images PageSpeed will try to optimize are ones
-with 8 million pixels (8MP). You can calculate the total number of pixels in
-an image by multiplying its width and height. For example, a 2000x4000 image
-is 8MP. If you have images that are larger than this limit, and you're
-comfortable allowing PageSpeed to use the memory it needs to process them,
-increase <code>ImageResolutionLimitBytes</code>. For example, to allow
-PageSpeed to process images up to 32 MP (4000x8000) you can set:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedImageResolutionLimitBytes 128000000</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ImageResolutionLimitBytes 128000000;</pre>
-</dl>
-If you are not comfortable giving more memory to PageSpeed, or you only have
-a few images that are over 8MP, you might want to consider manually resizing
-the images instead. The ImageMagick
-<a href="http://www.imagemagick.org/script/convert.php">convert</a>
-command is a convenient way to do this:
-  <pre>convert -resize 8000000@\&gt; input.jpg output.jpg</pre>
-If <code>input.jpg</code> is larger than 8MP then this command will resize it
-to just below 8MP while maintaining the aspect ratio. If the image is already
-smaller than 8MP, <code>convert</code> will leave it alone.
-</p>
-<p>
-PageSpeed also has a <a href="restricting_urls#content_length">limit on the
-maximum on-disk size of resources it is willing to optimize</a>, which as of
-1.12.34.1 defaults to 16MB.  While <code>ImageResolutionLimitBytes</code> is a
-limit on the uncompressed size of images, PageSpeed will be completely bypassed
-for any object, not just images, whose on-disk size is larger than
-<code>MaxCacheableContentLength</code>.  You may need to raise that limit
-as well if you want PageSpeed to optimize larger images.
-</p>
-
-<h3 id="JpegQualityForSaveData">JpegQualityForSaveData</h3>
-<p>
-This option sets the quality for JPEG images if the visitor requests to save
-data and you decide to honor it. By default, PageSpeed supports
-<code>Save-Data</code> requests. See <a href="#AllowVaryOn">AllowVaryOn</a>
-for information about how to change it. This option overrides
-<code>JpegRecompressionQuality</code>, unless it is set to -1. The default
-value is 50.
-</p>
-<p class="note"><strong>Note: new feature as of 1.11.33.0</strong></p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedJpegQualityForSaveData Quality</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed JpegQualityForSaveData Quality;</pre>
-</dl>
-
-<h3 id="JpegRecompressionQuality">JpegRecompressionQuality</h3>
-<p>
-This option sets the quality for JPEG images. It overrides
-<code>ImageRecompressionQuality</code>, unless it is set to -1. The default
-value is 85.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedJpegRecompressionQuality Quality</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed JpegRecompressionQuality Quality;</pre>
-</dl>
-
-<h3 id="JpegRecompressionQualityForSmallScreens"
-   >JpegRecompressionQualityForSmallScreens</h3>
-<p>
-This option sets the quality for JPEG images for users visiting your site from
-a mobile device. It overrides <code>JpegRecompressionQuality</code>, unless it
-is set to -1.  The default is 70.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedJpegRecompressionQualityForSmallScreens Quality</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed JpegRecompressionQualityForSmallScreens Quality;</pre>
-</dl>
-
-<h3 id="NoTransformOptimizedImages">NoTransformOptimizedImages</h3>
-<p>
-By default, PageSpeed-optimized resources are served with response headers
-that allow proxies and browsers to cache them for a long time, e.g.:
-</p>
-<pre>Cache-Control: max-age=31536000</pre>
-<p>
-With these headers, proxies are free to
-<a href="http://calendar.perfplanet.com/2013/mobile-isp-image-recompression/">
-recompress images further</a>.
-This may be beneficial to the overall user experience because it can reduce
-bandwidth. However, if you already use PageSpeed to compress images as much
-as you're comfortable with, then you can prevent compliant proxies from
-further recompressing them by turning on this feature, resulting in responses
-with header:
-<pre>Cache-Control: max-age=31536000,no-transform</pre>
-</p>
-<p class="note"><strong>Note: new feature as of 1.9.32.1</strong></p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedNoTransformOptimizedImages on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed NoTransformOptimizedImages on;</pre>
-</dl>
-
-<h3 id="ProgressiveJpegMinBytes">ProgressiveJpegMinBytes</h3>
-<p>
-Progressive JPEG offers better compression for large images, while
-non-progressive JPEG does better for small images. This option sets the
-cut-off position for the use of these two formats.
-</p>
-<p>
-Note: PageSpeed predicts the size of the final compressed JPEG image and then
-compares the predicted size with this option to determine whether to use
-progressive format. Due to the accuracy of prediction, some optimized images
-that are encoded in non-progressive format might be larger than this option,
-or vice versa.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedProgressiveJpegMinBytes min_bytes</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ProgressiveJpegMinBytes min_bytes;</pre>
-</dl>
-
-<h3 id="ImageRecompressionQuality">ImageRecompressionQuality</h3>
-<p>
-This option sets the quality for JPEG and WebP formats. It can be overridden
-by any format-specific or application-specific quality.  The default is 85.
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedImageRecompressionQuality Quality</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ImageRecompressionQuality Quality;</pre>
-</dl>
-
-<h3 id="serve_webp_urls">ServeRewrittenWebpUrlsToAnyAgent</h3>
-<p>
-When PageSpeed rewrites an <code>&lt;img&gt;</code> tag in HTML or a
-<code>background-url</code> in CSS in response to a request from a
-WebP-capable browser, it may transcode the image to WebP format and
-rewrites the URL using a <code>.webp</code> extension. If a site visitor
-copies the <code>.webp</code> image URL and shares it, only WebP-capable
-browsers will be able to display the image. Sites that place a high value
-on such URL sharing can make PageSpeed serve PNG/JPEG on <code>.webp</code>
-URLs by disabling the option
-<code>ServeRewrittenWebpUrlsToAnyAgent</code>:
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedServeRewrittenWebpUrlsToAnyAgent off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ServeRewrittenWebpUrlsToAnyAgent off;</pre>
-</dl>
-<p>
-The default value of <code>ServeRewrittenWebpUrlsToAnyAgent</code>
-is <code>on</code> because some proxy caches strip the
-<code>User-Agent</code> and <code>Accept</code> headers when transmitting
-requests for resources to origin. In that scenario, PageSpeed cannot determine
-whether the browser requesting the image can display WebP images. Thus it is
-not possible to have all three of these features at the same time:
-</p>
-<ul>
-  <li>
-    Provide the best possible bandwidth and latency experience for visitors
-    using modern browsers
-  </li>
-  <li>
-    Enable the sharing of URLs between visitors and their friends using older
-    browsers
-  </li>
-  <li>
-    Use a proxy cache that strips <code>User-Agent</code> and
-    <code>Accept</code> headers
-  </li>
-</ul>
-<p>
-If the first two features are important, the site should use proxy cache
-technology or CDNs that do not strip <code>User-Agent</code> and
-<code>Accept</code>. Be sure to check with your proxy cache or CDN vendor to
-understand their policy on transmitting these headers.
-</p>
-
-<h3 id="WebpAnimatedRecompressionQuality">WebpAnimatedRecompressionQuality</h3>
-<p>
-This option sets the quality for animated WebP images. It overrides
-<code>WebpRecompressionQuality</code> and applies to users from both mobile
-and non-mobile devices, unless it is set to -1. The default is 70.
-</p>
-<p class="note"><strong>Note: new feature as of 1.10.33.0</strong></p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedWebpAnimatedRecompressionQuality Quality</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed WebpAnimatedRecompressionQuality Quality;</pre>
-</dl>
-
-<h3 id="WebpQualityForSaveData">WebpQualityForSaveData</h3>
-<p>
-This option sets the quality for WebP images if both your site and your
-user have agreed to use save-data. See <a href="#AllowVaryOn">AllowVaryOn</a>
-to learn how to enable save-data. This option overrides
-<code>WebpRecompressionQuality</code>
-and <code>ModPagespeedWebpAnimatedRecompressionQuality</code>, unless it is set
-to -1. The default value is 50.
-</p>
-<p class="note"><strong>Note: new feature as of 1.11.33.0</strong></p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedWebpQualityForSaveData Quality</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed WebpQualityForSaveData Quality;</pre>
-</dl>
-
-<h3 id="WebpRecompressionQuality">WebpRecompressionQuality</h3>
-<p>
-This option sets the quality for WebP images. It overrides
-<code>ImageRecompressionQuality</code>, unless it is set to -1. The default
-value is 80.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedWebpRecompressionQuality Quality</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed WebpRecompressionQuality Quality;</pre>
-</dl>
-
-<h3 id="WebpRecompressionQualityForSmallScreens"
-   >WebpRecompressionQualityForSmallScreens</h3>
-<p>
-This option sets the quality for WebP images for users visiting your site from
-a mobile device. It overrides <code>WebpRecompressionQuality</code>,
-unless it is set to -1.  The default is 70.
-</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedWebpRecompressionQualityForSmallScreens Quality</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed WebpRecompressionQualityForSmallScreens Quality;</pre>
-</dl>
-
-</div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/release_notes.html b/doc/release_notes.html
deleted file mode 100644
index c1f544e..0000000
--- a/doc/release_notes.html
+++ /dev/null
@@ -1,4709 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed Release Notes</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-  <h1>PageSpeed Release Notes</h1>
-
-  <h2 id="release_1.13.35.2-stable">Release 1.13.35.2-stable</h2>
-  <p>
-    This release made February 5, 2018. It is a clone of
-    the <a href="#release_1.13.35.2-beta">1.13.35.2-beta</a> release.
-  </p>
-    
-  <h2 id="release_1.13.35.2-beta">Release 1.13.35.2-beta</h2>
-  <p>This release was made January 10, 2018.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1514">
-         #1514</a></strong>
-      Reliability fix for handling srcset attributes.</li>
-  </ul>
-  <h4 class="hide-from-toc">Issues Affecting only Nginx</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1503">
-         #1503</a></strong>
-         CentOS 6: error: 'F_SETPIPE_SZ' was not declared in this scope .</li>
-  </ul>    
-  <h2 id="release_1.13.35.1-beta">Release 1.13.35.1-beta</h2>
-  <p>This release was made November 8, 2017.</p>
-
-  <h3 class="hide-from-toc">New Features</h3>
-  <dl>
-    <dt><a href="configuration#honor-csp">Content Security Policy Support</a></dt>
-    <dd>
-      Opt-in feature enabling optimizations to adapt to Content Security Policies.
-    </dd>
-    <dt><a href="system#redis">Support specifying a Redis Database</a></dt>
-    <dd>
-      It is now possible to specify which database will be used when configuring Redis as a
-      cache.
-    </dd>
-    <dt><a href="https://bugs.chromium.org/p/chromium/issues/detail?id=649264">Sync with WebP change in Chromium</a></dt>
-    <dd>
-      <p>
-      The webp decoder is being updated to correct an issue where it can't play an animation exactly once,
-      and requires an encoder update.
-      </p>
-      Background:
-      <ul>
-        <li><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1294490">Mozilla WebP Bug</a></li>
-        <li><a href="https://bugs.chromium.org/p/chromium/issues/detail?id=649264">Chrome WebP Bug</a></li>
-        <li><a href="https://groups.google.com/a/webmproject.org/forum/#!msg/webp-discuss/rJ2a0j1BNQI/XXqK918ZEQAJ">WebM discussion</a></li>
-      </ul>
-    </dd>
-    <dt><a href="faq#warning-fetch-rate">Log errors if serf error rate seems too high.</a></dt>
-    <dd>
-      When over 50% of http fetch attempts inside a 30-minute period fail, pagespeed will now emit
-      an error entry to the logs.
-    </dd>
-    <dt><a href="configuration#on_off">Off</a> has been replaced by <a href="configuration#standby">Standby</a></dt>
-    <dd>
-        In standby mode PageSpeed is off, except it serves .pagespeed. resources and
-        PageSpeed query parameters are interpreted. This is equivalent to "off" in
-        mod_pagespeed. Previously, ngx_pagespeed had no equivalent.
-
-        With this change, "off" in mod_pagespeed is deprecated, and "standby" should be used instead.
-    </dd>
-    <dt><a href="https://github.com/apache/incubator-pagespeed-mod/issues/1308"
-           >Allow UrlValuedAttribute:image on elements with children</a></dt>
-    <dd>
-       Tags that have children are now considered acceptable targets for image optimization.
-    </dd>
-  </dl>
-
-  <h3 class="hide-from-toc">Deprecations</h3>
-  <dl>
-    <dt><a href="configuration#standby">Standby</a> has replaced <a href="configuration#on_off">Off</a></dt>
-    <dd>Pagespeed off has been deprecated and replaced with pagespeed standby.</dd>
-    <dt>Ubuntu 12.04 end of life</dt>
-    <dd>The platform used to build .deb files has moved to Ubuntu 14.04. This introduced a dependency
-    on a glibc version which is not compatible with Ubuntu 12.04. Building from source is still possible.
-    </dd>
-  </dl>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1207">
-         #1207</a></strong>
-          Don't emit type=text/javascript on script tags.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1609">
-         #1609</a></strong>
-         Specify which Redis DB to use when confiuring Redis as a caching backend.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1153">
-         #1153</a></strong>
-         Pedantic filter should prevent inlining CSS into the body.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1538">
-         #1538</a></strong>
-         CSS Minification - 0 followed by a unit is rewritten to 0 without a unit .</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1572">
-         #1572</a></strong>
-         CSS minifier breaks unicode-range values.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1585">
-         #1585</a></strong>
-         Don't special-case sending webp to PSI.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1553">
-         #1553</a></strong>
-         Debug builds may abort() when revalidating expired output resources.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1418">
-         #1418</a></strong>
-         LoadFromFileCacheTtlMs is not honored after first request.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1382">
-         #1382</a></strong>
-         In amp pages inline_google_font_css must be disabled.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1496">
-         #1496</a></strong>
-         Attempting to extend cache for SVGs returns bad headers/content.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1405">
-         #1405</a></strong>
-         ERROR: Invalid inlined_image_type in cached_result.</li>
-  </ul>
-  <h4 class="hide-from-toc">Issues Affecting only Nginx</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1380">
-         #1380</a></strong>
-         Nginx worker 100% cpu usage (spinning on write returning EAGAIN).</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1375">
-         #1375</a></strong>
-         Don't respond with an entity body to HEAD requests for html.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1465">
-         #1465</a></strong>
-         Fix ignored return code in ps_simple_handler().</li>
-  </ul>
-
-  <h2 id="release_1.12.34.3-stable">Release 1.12.34.3-stable</h2>
-  <p>
-    This nginx-only release made September 28, 2017. As of nginx 1.13.4
-    building the module would fail. This release resolves the problem.    
-  </p>
-  <h4 class="hide-from-toc">Issues Affecting Nginx</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1451">
-          Issue 1451</a></strong>
-      nginx 1.13.4 "ngx_http_core_try_files_phase" was not declared in this scope
-    </li>
-  </ul>
-    
-  <h2 id="release_1.12.34.2-stable">Release 1.12.34.2-stable</h2>
-  <p>
-    This release was made June 19, 2017. It is a clone of
-    the <a href="#release_1.12.34.2-beta">1.12.34.2-beta</a> release.
-  </p>
-
-  <h2 id="release_1.12.34.2-beta">Release 1.12.34.2-beta</h2>
-  <p>
-    This nginx-only bug-fix release was made December 15, 2016.  It allows the
-    precompiled PSOL library to be used with nginx's <code>--with-debug</code>.
-  </p>
-  <p>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting Nginx</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1333">
-          Issue 1333</a></strong>
-      Release 1.12.34.1 not compatible with <code>--with-debug</code>
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/80c4b7e97ba90b0280255fc3967f02e02239653c"
-          ><code><small>80c4b7e9</small></code></a>)
-    </li>
-  </ul>
-
-  <h2 id="release_1.12.34.1-beta">Release 1.12.34.1-beta</h2>
-  <p>This release was made December 7, 2016.</p>
-
-  <h3 class="hide-from-toc">New Features</h3>
-  <dl>
-    <dt><a href="system#redis">Redis Support</a></dt>
-    <dd>
-      Support for Redis Cache and Redis Cluster as external caches.
-    </dd>
-    <dt><a href="filter-hint-preload-subresources"
-           >Add preload hints</a></dt>
-    <dd>
-      This is a new filter, off by default, that looks for declaratively
-      included stylesheets and javascript to figure out the page's dependencies,
-      and inserts <a href="http://w3c.github.io/preload">preload headers</a> so
-      the browser can start loading them immediately.
-    </dd>
-    <dt><a href="filter-image-optimize#srcsets">Optimize Srcsets</a></dt>
-    <dd>
-      PageSpeed now optimizes images referenced in <code>srcset</code>
-      attributes.
-    </dd>
-    <dt><a href="system#s-maxage">Set <code>s-maxage</code></a></dt>
-    <dd>
-      To prevent CDNs and other shared caches from caching the unoptimized
-      version of resources for a long time, PageSpeed now
-      adds <code>s-maxage=10</code> to the cache-control headers for unoptimized
-      resources that we intend to optimize <a href="system#ipro">in-place</a>.
-    </dd>
-    <dt><a href="filter-css-combine#permit-ids-for-css-combining">Allow
-        combining stylesheets with IDs</a></dt>
-    <dd>
-      PageSpeed would previously refuse to combine stylesheets with IDs, which
-      interacted poorly with WordPress and other content management systems
-      putting IDs on all their CSS files.  Setting
-      <code>PermitIdsForCssCombining</code> wildcards allows you to indicate to
-      PageSpeed which IDs on CSS files are ok to ignore.
-    </dd>
-    <dt><a href="config_filters#FinderPropertiesCacheExpirationTimeMs">
-        <code>FinderPropertiesCacheExpirationTimeMs</code></a></dt>
-    <dd>
-      Configures the length of time the <a
-      href="filter-prioritize-critical-css">prioritize_critical_css</a> beacons
-      are valid.
-    </dd>
-    <dt><a href="configuration#add-resource-header">
-        <code>AddResourceHeader</code></a></dt>
-    <dd>
-      Allows setting headers on optimized resources for <a
-      href="https://en.wikipedia.org/wiki/Cross-origin_resource_sharing"
-      >CORS</a> support.
-    </dd>
-    <dt><a href="system#shm_checkpointing"
-        >Shared Memory Cache Checkpointing</a></dt>
-    <dd>
-      The shared memory metadata cache now checkpoints to disk every few minutes
-      instead of writing all changes through as they happen.  In our testing
-      this improved performance on workloads that require many metadata writes
-      by 21%.
-    </dd>
-
-  </dl>
-
-  <h3 class="hide-from-toc">Deprecations</h3>
-  <dl>
-    <dt><a href="configuration#virtual-hosts"
-           >Support for disabling <code>InheritVHostConfig</code></a></dt>
-    <dd>
-      For historical reasons, mod_pagespeed on Apache doesn't respect the global
-      PageSpeed configuration when interpreting VHost configuration.  Since
-      1.1 in 2012, however, it has shipped with a default configuration file
-      that fixed this by setting <code>InheritVHostConfig</code> to "on".  For
-      the minority of installations that don't use the default configuration
-      file, or explicitly set <code>InheritVHostConfig</code> to "off",
-      PageSpeed will now log an error on startup warning that the setting will
-      soon change.  With the next major version
-      release <code>InheritVHostConfig</code> will be forced to "on".
-    </dd>
-    <dt>Centos 5 Support</dt>
-    <dd>
-      CentOS 5, released in 2007, goes end-of-life at the end
-      of <a
-      href="https://wiki.centos.org/FAQ/General#head-fe8a0be91ee3e7dea812e8694491e1dde5b75e6d"
-      >March 2017</a>.  The 1.12 rpm packages are for CentOS 6 and later, and
-      will fail to install on CentOS 5.  The stable release track, 1.11,
-      continues to support CentOS 5.
-    </dd>
-  </dl>
-
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1127">
-          Issue 1127</a></strong>
-      Don't accumulate waveforms that won't be displayed</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1263">
-          Issue 1263</a></strong>
-      Minimal <a href="https://www.ampproject.org/">AMP</a> support: don't
-      invalidate AMP</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1321">
-          Issue 1321</a></strong>
-      <a href="system#ipro">IPRO</a> can change the content types of JavaScript
-      resources</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1337">
-          Issue 1337</a></strong>
-      Multiple instances of the <a href="system#file_cache">cache cleaner</a>
-      can run simultaneously on large caches</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1350">
-          Issue 1350</a></strong>
-      <a href="filter-domain-rewrite">rewrite_domains</a> doesn't apply to
-      <a href="configuration#pagespeed_static">static assets</a></li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1373">
-          Issue 1373</a></strong>
-      <a href="configuration#respectvary">RespectVary</a> ignored when
-      cache-extending</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1386">
-          Issue 1386</a></strong>
-      <a href="domains#ModPagespeedLoadFromFile">LoadFromFile</a> crashes on
-      resources too big for memory</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1405">
-          Issue 1405</a></strong>
-      Unexpected tag &lt;head/&gt; inside pages</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1409">
-          Issue 1409</a></strong>
-      <a href="system#ipro">IPRO</a> Records Resources of Unoptimizable Content
-      Types</li>
-  </ul>
-
-  <h2 id="release_1.11.33.5-stable">Release 1.11.33.5-stable</h2>
-  <p>
-    This bug-fix release was made November 14, 2016. It is a clone
-    of the <a href="#release_1.11.33.5-beta">1.11.33.5-beta</a> release and
-    rebuilds the <code>.deb</code> packages to fix auto-updating for Ubuntu
-    16.10.
-  </p>
-  <p>
-    This release is only applicable to Debian and Ubuntu;
-    release <a href="release_1.11.33.4-stable">1.11.33.4</a> is
-    still the most up-to-date stable release for RedHat, CentOS, PSOL, and
-    ngx_pagespeed.
-  </p>
-
-  <h2 id="release_1.11.33.5-beta">Release 1.11.33.5-beta</h2>
-  <p>
-    This bug-fix release was made November 14, 2016.  It rebuilds
-    the <code>.deb</code> packages to fix auto-updating for Ubuntu 16.10.
-  </p>
-  <p>
-    This release is only applicable to Debian and Ubuntu;
-    release <a href="release_1.11.33.4-beta">1.11.33.4</a> is
-    still the most up-to-date beta release for RedHat, CentOS, PSOL, and
-    ngx_pagespeed.
-  </p>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1428">
-          Issue 1428</a></strong>
-      Auto-updating broken with new <code>.deb</code> systems
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/36d4a38005b9c355d376b9866b71ede0a96be744"
-          ><code><small>36d4a38</small></code></a>)
-    </li>
-  </ul>
-
-  <h2 id="release_1.11.33.4-stable">Release 1.11.33.4-stable</h2>
-  <p>
-    This release was made October 3, 2016. It is a clone of
-    the <a href="#release_1.11.33.4-beta">1.11.33.4-beta</a> release.
-  </p>
-  <p>
-    In addition to being the latest stable release for Apache, this is the first
-    stable release for Nginx.
-  </p>
-
-  <h2 id="release_1.11.33.4-beta">Release 1.11.33.4-beta</h2>
-  <p>This bug-fix release was made September 15, 2016.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1392">
-          Issue 1392</a></strong>
-          and <strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1393">
-          Issue 1393</a></strong>
-      All existing preload hints are stripped
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/95ef580465d9ac9dbbe95d0e3c8ae4fd1292aac6"
-          ><code><small>95ef580</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1396">
-          Issue 1396</a></strong>
-      Can't build from source because Chromium svn is gone
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/3f47828ca7eeb0611b5f2226016631edc42d1e90"
-          ><code><small>3f47828</small></code></a>,
-      <a href="https://github.com/apache/incubator-pagespeed-ngx/commit/269ed10ed56230d7b83bdb81e6b7cc1deaf3227f"
-          ><code><small>269ed10</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1397">
-          Issue 1397</a></strong>
-      ImageMaxRewritesAtOnce of -1 should allow unlimited image rewrites
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/18d5549d7be6f857e2deb3285a67f6f3cd3f40ef"
-          ><code><small>18d5549</small></code></a>)
-    </li>
-  </ul>
-
-  <h2 id="release_1.11.33.3-beta">Release 1.11.33.3-beta</h2>
-  <p>This bug-fix release was made August 16, 2016.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1149">
-          Issue 1149</a></strong>
-      PageSpeed output resources cannot be cached in Google Cloud
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/f56391f87eea004ed8f7a8f8288162d8d7f26e8c"
-          ><code><small>f56391</small></code></a>)
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/9711b52270ff23293180820b2e4f4fb3befc3c01"
-          ><code><small>9711b5</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1192">
-          Issue 1192</a></strong>
-      Cache-purging does not work for in-place resource optimization
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/d1972f66f65a20624826362d7e2838dc91f59c95"
-          ><code><small>d1972f</small></code></a>)
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/07a6647b6544d91da93630484f2cbff196bc0f70"
-          ><code><small>07a664</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/674">
-          Issue 674</a></strong>
-      Serf spin causes 100% CPU usage
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/921fd719a1c762daae9aaa28d8b87e6c27497731"
-          ><code><small>921fd7</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1022">
-          Issue 1022</a></strong>
-      image-inline: don't inline shortcut images
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/203865af81afe5ee6c18f555a4d4ebfb2f0da607"
-          ><code><small>203865</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1324">
-          Issue 1324</a></strong>
-      Support UrlValuedAttribute with CSS
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/59a198284e82bccb303d7e27705bcd3dbd22eda3"
-          ><code><small>59a1982</small></code></a>)
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/787239d42940c53a78bc3646c689c8e399eebc2e"
-          ><code><small>787239</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1054">
-          Issue 1054</a></strong>
-      defer_js loads javascript twice
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/e2aa6f4f75442770c373e6ce3694dbbb5a9313c3"
-          ><code><small>e2aa6f</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1327">
-          Issue 1327</a></strong>
-      Remove rel=preload hints which wastefully download unused resources when using PageSpeed
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/dbde98953a796e16fee3fa9afe8c3af444d9e242"
-          ><code><small>dbde98</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1305">
-          Issue 1305</a></strong>
-      ImageMaxRewritesAtOnce ignored (but displays correct configured value in admin interface)
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/19cf3bb60b2aadff90ec588aab780e72daf0b581"
-          ><code><small>19cf3b</small></code></a>)
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/e0a3bf223a6ea4914c1d34944f94c8aef8ef0db7"
-          ><code><small>e0a3bf</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1220">
-          Issue 1311</a></strong>
-      ngx_pagespeed crashes on start if there is no http block in config
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/ff8969770d2914a4ffa8473b019ad743e1a84652"
-          ><code><small>ff8969</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1338">
-          Issue 1338</a></strong>
-      Recognize dc.js as a synonym for ga.js
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/1ff43e196a7d0b1c9b27387ae0beef6e374cea51"
-          ><code><small>1ff43e</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1307">
-          Issue 1307</a></strong>
-      Don't mangle files that start with the gzip magic bytes
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/6dfe527c0f6f30bdf438de61e2cff1eb33817b0b"
-          ><code><small>6dfe52</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1294">
-          Issue 1294</a></strong>
-      PageSpeed URL control wildcards don't work properly
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/0654743c1fdbf5b85a62a4dc1d19a1c06a20afd8"
-          ><code><small>065474</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1348">
-          Issue 1348</a></strong>
-      Insert dns-prefetch for safari
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/d05a8b6e75eb5fc7ee7105abedf6189af7308896"
-          ><code><small>d05a8b</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1222">
-          Issue 1222</a></strong>
-      Pagespeed eats CSS font-face declarations when defined in imported files
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/8fca3b9d3b606cbd83ae34f09c9564be16831862"
-          ><code><small>8fca3b</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1343">
-          Issue 1343</a></strong>
-      allow people to turn off cache cleaning
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/ccea83faf5be53690e3865d06d2cbbb97bf0c05d"
-          ><code><small>ccea83</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1371">
-          Issue 1371</a></strong>
-      PageSpeed can serve gzipped content without Content-Encoding header via IPRO
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/0bd84a160119f6e2dc04ec22e6b09907e875cdb9"
-          ><code><small>0bd84a</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1190">
-          Issue 1190</a></strong>
-      Adding ?PageSpeedFilters=+debug to URL enables other filters
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/2a3b1278dfe0482ab59df663f40e65c3f5432441"
-          ><code><small>2a3b12</small></code></a>)
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/2af2035bbd8979744aaf5a7fbd24c3192933f186"
-          ><code><small>2af203</small></code></a>)
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1369">
-          Issue 1369</a></strong>
-      dedup_inline_images filter is broken for images that don't already have an id
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/c1827bb0be7fb9b4696baa97c978012b8e869dc9"
-          ><code><small>c1827b</small></code></a>)
-    </li>
-  </ul>
-
-  <h2 id="release_1.11.33.2-stable">Release 1.11.33.2-stable</h2>
-  <p>
-    This release was made May 12, 2016. It is a clone of the
-    1.11.33.2-beta release.
-  </p>
-
-  <h2 id="release_1.11.33.2-beta">Release 1.11.33.2-beta</h2>
-  <p>This security update release was made May 12, 2016.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://www.openssl.org/news/secadv/20160503.txt">
-          https://www.openssl.org/news/secadv/20160503.txt</a></strong>
-    </li>
-  </ul>
-
-  <h2 id="release_1.11.33.1-stable">Release 1.11.33.1-stable</h2>
-  <p>This bug-fix release was made May 2nd, 2016. It is a clone of the
-      1.11.33.1-beta release.
-  </p>
-  <p>This release depends on glibc &gt;= 2.14 and will no longer run on Debian
-      Wheezy, (7.0) which is also no longer officially supported by the Debian
-      security team.
-  </p>
-
-  <h2 id="release_1.11.33.1-beta">Release 1.11.33.1-beta</h2>
-  <p>This bug-fix release was made May 2nd, 2016.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1288">
-          Issue 1288</a></strong>
-      Experiment reporting broken with ga.js
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/65067523faf34833cfda8ae5c5e10b5f7ba5497f"
-          ><code><small>650675</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1219">
-          Issue 1298</a></strong>
-      Experiment injection for GA tracker always sets variation 1
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/a2b10e49318ea9d8e2ecf26e2c562bc427a06e99"
-          ><code><small>a2b10e4</small></code></a>)</li>
-  </ul>
-
-  <h2 id="release_1.11.33.0-beta">Release 1.11.33.0-beta</h2>
-  <p>This release was made March 30, 2016.</p>
-
-  <p>
-    This release targets users on mobile devices and low-bandwidth networks by
-    adding Save-Data support.  Save-Data is a new Client Hint that allows site
-    visitors to indicate that they
-    would <a href="https://developers.google.com/web/updates/2016/02/save-data"
-    >prefer lower-quality resources in order to save data</a>. Sites are most
-    likely to see requests to save data today from visitors who have turned
-    on <a href="https://developer.chrome.com/multidevice/data-compression">Data
-    Saver mode</a> in Chrome or the equivalents in Opera and Yandex Browser,
-    often because they're on slow or expensive connections.  Now, with 1.11,
-    when such a user comes to your site asking it to save data, mod_pagespeed
-    will <a
-    href="filter-image-optimize#image-quality"
-    >compress images to a lower quality level</a> than it would typically,
-    decreasing their size further at the cost of slightly more image distortion.
-  </p>
-
-  <h3 class="hide-from-toc">New Features</h3>
-  <dl>
-    <dt><a href="filter-image-optimize#image-quality">Save-Data Support</a></dt>
-    <dd>Serve more thoroughly compressed images to browsers that request lowered
-        data usage via client hints.</dd>
-  </dl>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/973">
-          Issue 973</a></strong>
-      Strip subresource hints
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/d0bae68"
-          ><code><small>d0bae68</small></code></a>,
-       <a href="https://github.com/apache/incubator-pagespeed-ngx/commit/08e284f"
-          ><code><small>08e284f</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1214">
-          Issue 1214</a></strong>
-      PageSpeed console blank
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/2bd239d"
-          ><code><small>2bd239d</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1276">
-          Issue 1276</a></strong>
-      CSS Parser has off-by-one heap read
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/0bc4ce7"
-          ><code><small>0bc4ce7</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1277">
-          Issue 1277</a></strong>
-      Google Fonts CSS inlining broken
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/e3aa7b7"
-          ><code><small>e3aa7b7</small></code></a>)</li>
-  </ul>
-
-  <h4 class="hide-from-toc">Issues Affecting Nginx</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1064">
-          Issue 1064</a></strong>
-      Multiple Vary headers emitted (partial fix,
-      <a href="https://github.com/apache/incubator-pagespeed-ngx/commit/b081bb7"
-          ><code><small>b081bb7</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1151">
-          Issue 1151</a></strong>
-      Unclear message on ParseUrl failure
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/6634754"
-          ><code><small>6634754</small></code></a>)</li>
-  </ul>
-
-  <h2 id="release_1.10.33.7-beta">Release 1.10.33.7-beta</h2>
-  <p>This security update release was made March 28, 2016.  It resolves the
-    same issues as the <a href="#release_1.9.32.14-stable">1.9.32.14</a> stable
-    release, and has the same patch.
-  </p>
-
-  <h2 id="release_1.9.32.14-stable">Release 1.9.32.14-stable</h2>
-  <p>This security update release was made March 28, 2016.</p>
-
-  <p>
-    All previously released versions of PageSpeed are vulnerable
-    to <a href="announce-sec-update-201603">CVE-2016-3626</a>.  This permits a
-    hostile third party to trick PageSpeed into making arbitrary HTTP requests
-    on arbitrary ports and re-hosting the response, allowing cross site
-    scripting.  If the machine running PageSpeed has access to services that are
-    not otherwise available, this can reveal those resources.
-  </p>
-  <p>
-    Users are <b>strongly</b> encouraged to update immediately.  If this isn't
-    possible, a <a href="announce-sec-update-201603#workaround">workaround</a>
-    is available.
-  </p>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="announce-sec-update-201603"
-          >announce-sec-update-201603</a></strong>
-        Fetching and XSS vulnerability. (
-        <a href="https://github.com/apache/incubator-pagespeed-mod/commit/52e184b"
-          ><code><small>52e184b</small></code></a>)</li>
-  </ul>
-
-  <h2 id="release_1.10.33.6-beta">Release 1.10.33.6-beta</h2>
-  <p>This bug-fix release was made March 3, 2016, and is Nginx-only</p>
-  <p>
-    Several nginx-specific bug-fixes were accidentally ommitted from
-    the <a href="#release_1.10.33.5-beta">1.10.33.5</a> ngx_pagespeed release.
-    This release contains those fixes, plus an additional nginx-specific memory
-    safety fix.
-  </p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting Nginx</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1081">
-          Issue 1081</a></strong>
-      Crashes on custom 404s for .pagespeed. resources
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/1964ef"
-          ><code><small>1964ef</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1096">
-          Issue 1096</a></strong>
-      IPRO check-fails on some connection errors
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/b88e06"
-          ><code><small>b88e06</small></code></a>,
-      <a href="https://github.com/apache/incubator-pagespeed-ngx/commit/60c1f4"
-          ><code><small>60c1f4</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1138">
-          Issue 1120</a></strong>
-      Fix shutdown when ngx_pagespeed is completely disabled.
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/f60c754"
-          ><code><small>f60c754</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1138">
-          Issue 1138</a></strong>
-      IPRO responses sometimes forward a bad cache control value
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/85d0db2"
-          ><code><small>85d0db2</small></code></a>)</li>
-  </ul>
-
-  <h2 id="release_1.10.33.5-beta">Release 1.10.33.5-beta</h2>
-  <p>This bug-fix release was made February 16, 2016</p>
-  <p>
-    This bug-fix release fixes several bugs in both ngx_pagespeed and
-    mod_pagespeed. The release allows ngx_pagespeed to be built as a dynamic
-    module, for compatibility with nginx version 1.9.11.
-  </p>
-  <p>
-    <b>Update 2016-03-02</b>: This release accidentally ommited fixes
-    for ngx_pagespeed issues
-    <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1081">1081</a>,
-    <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1096">1096</a>,
-    and
-    <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1099">1099</a>.
-    Release <a href="#release_1.10.33.6-beta">1.10.33.6</a> includes these
-    fixes.
-  </p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1080">
-          Issue 1080</a></strong>
-      inline_google_font_css uses .ttf instead of .woff for IE11
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/f3639e"
-          ><code><small>f3639e</small></code></a>,
-      <a href="https://github.com/apache/incubator-pagespeed-ngx/commit/0a60e0"
-          ><code><small>1964ef</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1252">
-          Issue 1252</a></strong>
-      Images may be rewritten multiple times when requested simultaneously via
-      IPRO
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/62d24f"
-          ><code><small>62d24f</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1253">
-          Issue 1253</a></strong>
-      Tests can flake because of best effort locking
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/c368ef"
-          ><code><small>c368ef</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1254">
-          Issue 1254</a></strong>
-      Fallback value not decompressed when necessary
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/bcf63ac"
-          ><code><small>bcf63ac</small></code></a>,
-      <a href="https://github.com/apache/incubator-pagespeed-mod/commit/d3851dd"
-          ><code><small>d3851dd</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1261">
-          Issue 1261</a></strong>
-      CSS minification incorrectly transforms 0% to 0
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/7c30b7"
-          ><code><small>7c30b7</small></code></a>)</li>
-  </ul>
-  <h4 class="hide-from-toc">Issues Affecting Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1229">
-          Issue 1229</a></strong>
-      pagespeed default config fails to load on 2.4 unless mod_access_compat
-      is loaded
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/02e8f7"
-          ><code><small>02e8f7</small></code></a>)</li>
-  </ul>
-  <h4 class="hide-from-toc">Issues Affecting Nginx</h4>
-  <ul>
-    <li><strike><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1081">
-          Issue 1081</a></strong>
-      Crashes on custom 404s for .pagespeed. resources</strike>
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/1964ef"
-          ><code><small>1964ef</small></code></a>)</li>
-    <li><strike><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1096">
-          Issue 1096</a></strong>
-      IPRO check-fails on some connection errors</strike>
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/b88e06"
-          ><code><small>b88e06</small></code></a>,
-      <a href="https://github.com/apache/incubator-pagespeed-ngx/commit/60c1f4"
-          ><code><small>60c1f4</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1099">
-          Issue 1099</a></strong>
-      Duplicate Location headers after 302 redirects
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/059dd2"
-          ><code><small>059dd2</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1110">
-          Issue 1110</a></strong>
-      Can't build with nginx 1.9.11+
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/daa603"
-          ><code><small>daa603</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1115">
-          Issue 1115</a></strong>
-      Can't build as a dynamic module.
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/fbde0a"
-          ><code><small>fbde0a</small></code></a>)</li>
-  </ul>
-
-  <h2 id="release_1.10.33.4-beta">Release 1.10.33.4-beta</h2>
-  <p>This security update release was made February 3rd, 2016.  It resolves the
-    same issues as the <a href="#release_1.9.32.13-stable">1.9.32.13</a> stable
-    release, and has the same patches.
-  </p>
-
-  <h2 id="release_1.9.32.13-stable">Release 1.9.32.13-stable</h2>
-  <p>This security update release was made February 3rd, 2016.</p>
-
-  <p>
-    All previously released versions of PageSpeed are vulnerable to
-    HTTPS-fetching vulnerability CVE-2016-2092.  This permits a hostile third
-    party who can man-in-the-middle the connection between PageSpeed and an
-    HTTPS server to substitute arbitrary content in responses.  PageSpeed is not
-    vulnerable in its default configuration, but several filters and options
-    can enable this vulnerability.  See <a href="announce-sec-update-201601">our
-    CVE-2016-2092 announcement</a> for more details and workarounds.
-  </p>
-  <p>
-    LibPNG has been updated to 1.2.56.  Previous versions had an out-of-bounds
-    read (<a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8540"
-    >CVE-2015-8540</a>) which a hostile third party could trigger if they were
-    in a position to supply images for PageSpeed to optimize.
-  </p>
-  <p>
-    The latest version of Chrome for iOS (M48) switched to
-    the <a href="http://blog.chromium.org/2016/01/a-faster-more-stable-chrome-on-ios.html"
-    >WKWebView</a> for rendering, dropping support for WebP images.  Prior
-    versions of PageSpeed will send WebP to Chrome on iOS, giving broken images
-    to these users.  While this isn't a security vulnerability, this is a
-    serious enough breakage that we're including it in this security release.
-  </p>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="announce-sec-update-201601"
-          >announce-sec-update-201601</a></strong>
-        HTTPS fetching vulnerability. (
-        <a href="https://github.com/apache/incubator-pagespeed-mod/commit/4af5e65"
-          ><code><small>4af5e65</small></code></a>)</li>
-    <li><strong>
-        <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-8540">
-          CVE-2015-8540</a></strong>
-      LibPNG out-of-bounds read in <code>png_check_keyword()</code>.
-       (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/79aaa94"
-           ><code><small>79aaa94</small></code></a>)</li>
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1139">
-          Issue 1139</a></strong>
-      Link SSL library correctly.
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/5b8253"
-          ><code><small>5b8253</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1256">
-          Issue 1256</a></strong>
-      Don't send WebP to Chrome on iOS
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/23947d"
-          ><code><small>23947d</small></code></a>)</li>
-  </ul>
-
-  <h4 class="hide-from-toc">Issues Affecting Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1248">
-          Issue 1248</a></strong>
-      Crash on very long urls
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/befa494"
-          ><code><small>befa494</small></code></a>)</li>
-  </ul>
-
-  <h2 id="release_1.10.33.2-beta">Release 1.10.33.2-beta</h2>
-  <p>This bug-fix release was made December 21st, 2015.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1083">
-          Issue 1083</a></strong>
-      Newline in Content-Type meta tag breaks the page
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/08cbf9"
-          ><code><small>08cbf9</small></code></a>)</li>
-   <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1215">
-          Issue 1215</a></strong>
-      Missing CSS files with OptimizeForBandwith + combine_css
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/55e0962"
-          ><code><small>55e0962</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1222">
-          Issue 1222</a></strong>
-      rel=canonical links added for resources optimized with
-      InPlaceResourceOptimization
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/61f4e96"
-          ><code><small>61f4e96</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1226">
-          Issue 1226</a></strong>
-      Nested rewrites get inconsistent request properties
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/024eb91"
-          ><code><small>024eb91</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1227">
-          Issue 1227</a></strong>
-      Can't build PSOL
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/4b6a08"
-          ><code><small>4b6a08</small></code></a>)</li>
-  </ul>
-  <h4 class="hide-from-toc">Issues Affecting Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1224">
-          Issue 1224</a></strong>
-      Serf depends on APR 1.3
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/f3edc3b"
-          ><code><small>f3edc3b</small></code></a>)</li>
-  </ul>
-  <h4 class="hide-from-toc">Issues Affecting Nginx</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/808">
-          Issue 808</a></strong>
-      Noisy thread info printed on startup.
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/37e1c3"
-          ><code><small>37e1c3</small></code></a>,
-       <a href="https://github.com/apache/incubator-pagespeed-mod/commit/b6a955"
-          ><code><small>b6a955</small></code></a>)
-    </li>
-  </ul>
-
-  <h2 id="release_1.10.33.1-beta">Release 1.10.33.1-beta</h2>
-  <p>This bug-fix release was made December 16th, 2015.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1218">
-          Issue 1218</a></strong>
-      WebP served to UAs that don't support it
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/e398794668f487f55db5c74baba286c708f7e0ee"
-          ><code><small>e39879</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1219">
-          Issue 1219</a></strong>
-      Crash in gzip header handling
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/0f772622b8f315884f5f9dc79b3e0b58d8ee31cf"
-          ><code><small>0f7726</small></code></a>)</li>
-  </ul>
-
-  <h2 id="release_1.10.33.0-beta">Release 1.10.33.0-beta</h2>
-  <p>This release was made December 14th, 2015.</p>
-
-  <p>
-    With the 1.10 release we have several high-impact features to share.  We're
-    most excited about <a href="filter-image-responsive/">Responsive Image
-    Support</a>, which delivers high resolution images to high pixel-density
-    screens by automatically generating html5 <code>srcset</code>
-    attributes for images.  Other big changes
-    include <a href="system#gzip_cache">Caching Gzip Output</a>, which lets us
-    run gzip at the most aggressive encoding
-    level, <a href="config_filters#remote-configuration">Remote Config</a>,
-    which lets you load additional configuration over the network, and
-    converting <a href="reference-image-optimize#convert_to_webp_animated/"
-    >Animated GIF to WebP</a>, which reduces the size of animated GIFs by 65%.
-  </p>
-
-  <h3 class="hide-from-toc">New Automatically Enabled Features</h3>
-  <dl>
-    <dt><a href="system#gzip_cache">Cache Gzip Output</a></dt>
-    <dd>Compress rewritten resources at the highest compression setting and
-        store them compressed in cache.</dd>
-
-    <dt><a href="filter-insert-ga">Insert Universal Analytics</code></a></dt>
-    <dd>If enabled, the Insert Google Analytics filter will now insert Universal
-        Analytics (<code>analytics.js</code>) instead of the legacy
-        <code>ga.js</code>.  This should have no impact on reporting, and gives
-        you access to the
-        <a href="https://support.google.com/analytics/answer/2790010?hl=en"
-        >benefits of Universal Analytics</a>.</dd>
-
-    <dt><a href="https_support#https_fetch">
-        Fetch resources over HTTPS</a></dt>
-    <dd>HTTPS fetching is now enabled in the default configuration.</dd>
-
-    <dt><a href="filter-js-minify#new-minifier">
-        Switch to new JS Minifier</a></dt>
-    <dd>The JavaScript minifier introduced in 1.8 is now the default.</dd>
-
-    <dt><a href="experiment#noop">
-        Add PageSpeedNoop Query Parameter</a></dt>
-    <dd>Add query parameter for cache busting.</dd>
-
-    <dt>HTML5-compliant attribute names</dt>
-    <dd>HTML5 requires all custom attributes to be prefixed
-        with <code>data-</code>, and with this release PageSpeed
-        generates <code>data-pagespeed-foo</code>
-        attributes.  Old-style <code>pagespeed_foo</code> attributes are still
-        accepted.</dd>
-  </dl>
-
-  <h3 class="hide-from-toc">New Opt-In Features</h3>
-  <dl>
-    <dt><a href="config_filters#remote-configuration">
-        Remote Configuration</a></dt>
-    <dd>Fetch additional configuration directives over HTTPS.</dd>
-
-    <dt><a href="filter-image-responsive">
-        Responsive Image Support</a></dt>
-    <dd>Make images responsive by adding <code>srcset</code> attributes for
-        different pixel densities.</dd>
-
-    <dt><a href="reference-image-optimize#convert_to_webp_animated">
-        Animated WebP</a></dt>
-    <dd>Convert animated GIF to animated WebP for browsers that can
-        render it.</dd>
-
-    <dt><a href="filter-make-show-ads-async">
-        Make <code>showads.js</code> Asynchronous</a></dt>
-    <dd>Convert the blocking <code>showads.js</code> snippet into the
-        asynchronous <code>adsbygoogle.js</code> snippet.</dd>
-
-    <dt><a href="https_support#h2_configuration_nginx">
-        HTTP/2-specific configuration in ngx_pagespeed</a></dt>
-    <dd>Allow configuring filters and sharding differently depending on whether
-        the browser connection is HTTP/2.</dd>
-
-    <dt><a href="downstream-caching#script-variables">
-        Request-specific downstream caching configuration</a></dt>
-    <dd>Allow script variables in the downstream caching configuration. (Nginx
-        only)</dd>
-
-    <dt><a href="module-run-experiment#content-experiments">Content
-        Experiments</a></dt>
-    <dd>Allow PageSpeed experiments to log data to a Google Analytics Content
-        Experiment.</a></dt>
-    <dd></dd>
-  </dl>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/931">
-          Issue 931</a></strong>
-      Do not serve source map on hash mismatch.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/979">
-          Issue 979</a></strong>
-      Allow spaces between filter names in <code>PageSpeedFilters</code>
-      header.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1085">
-          Issue 1085</a></strong>
-      Don't update <code>Last-Modified</code> when cache-extending.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1092">
-          Issue 1092</a></strong>
-      Parsing complex CSS can fail, leaving cache in an inconsistent state.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1109">
-          Issue 1109</a></strong>
-      Can't set <code>MessageBufferSize</code> to 0.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1116">
-          Issue 1116</a></strong>
-      Support gcc 4.6.3 when building from source.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1131">
-          Issue 1131</a></strong>
-      When building from source, respect the CXX variable.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1149">
-          Issue 1149</a></strong>
-      WebP transcoding doesn't work with MapProxyDomain+IPRO.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/pull/1150">
-          Issue 1150</a></strong>
-      BoringSSL won't compile under gcc5.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1154">
-          Issue 1154</a></strong>
-      Spin in serf.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1160">
-          Issue 1160</a></strong>
-      Don't serve WebP to Firefox on Android
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1164">
-          Issue 1164</a></strong>
-      Do not abbreviate 0s in CSS files as 0.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1173">
-          Issue 1173</a></strong>
-      <code>Disallow</code> should apply to defer_javascript.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1182">
-          Issue 1182</a></strong>
-      Don't try to resize images with invalid desired dimensions.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1183">
-          Issue 1183</a></strong>
-      Race condition in the shared memory cache between delete and write.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1184">
-          Issue 1184</a></strong>
-      Include canonical links for images and pdfs we rewrite.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1185">
-          Issue 1185</a></strong>
-      Improve CSS parser's handling of new constructs.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1186">
-          Issue 1186</a></strong>
-      Remove <code>/wp-admin</code> from our url blacklist.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1187">
-          Issue 1187</a></strong>
-      Prioritize Critical CSS writes a mixture of optimized and unoptimized
-      content.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1188">
-          Issue 1188</a></strong>
-      Location headers not rewritten when proxying redirects.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1189">
-          Issue 1189</a></strong>
-      Race in FileCache.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1193">
-          Issue 1193</a></strong>
-      File reading tracks line numbers.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1202">
-          Issue 1202</a></strong>
-      Improve resource usage for on-the-fly optimizations.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1203">
-          Issue 1203</a></strong>
-      File cache entries are read in 10k chunks.
-    </li>
-  </ul>
-
-  <h4 class="hide-from-toc">Apache-specific Issues</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1077">
-          Issue 1077</a></strong>
-      Purging fails if the top-level configuration has PageSpeed as off.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1088">
-          Issue 1088</a></strong>
-        Allow server owners to <a href="admin#limiting-handlers">block access to
-        handlers</a> such that they can't be re-enabled
-        in <code>.htaccess</code>.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1179">
-          Issue 1179</a></strong>
-      Compilation issue in ApacheFetch under 32-bit.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1191">
-          Issue 1191</a></strong>
-      IPRO recorder crashes on corrupt brigades with multiple EOS buckets.
-    </li>
-  </ul>
-
-  <h4 class="hide-from-toc">Nginx-specific Issues</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/957">
-          Issue 957</a></strong>
-      Fix handling of header-only requests.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1015">
-          Issue 1015</a></strong>
-      <code>MapProxyDomain</code> does not work with
-      <code>InPlaceResourceOptimization</code>.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/1021">
-          Issue 1021</a></strong>
-      Fix interaction with ngx_brotli.
-    </li>
-  </ul>
-
-  <h2 id="release_1.9.32.11-stable">Release 1.9.32.11-stable</h2>
-  <p>
-    This release was made December 9, 2015. It is a clone of the
-    1.9.32.11-beta release.
-  </p>
-
-  <h2 id="release_1.9.32.11-beta">Release 1.9.32.11-beta</h2>
-  <p>This security update release was made December 9, 2015.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://www.openssl.org/news/secadv/20151203.txt">
-          https://www.openssl.org/news/secadv/20151203.txt</a></strong>
-      Update BoringSSL to pull in OpenSSL changes.
-    </li>
-  </ul>
-
-  <h2 id="release_1.9.32.10-stable">Release 1.9.32.10-stable</h2>
-  <p>This bug-fix release was made October 27th, 2015. It is a clone of the
-  1.9.32.10-beta release.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/972">
-          Issue 972</a></strong>
-      <code>LoadFromFile</code> logs errors on 404s
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/3d44cc7bdaf3e4250a9d0c1f201d76c4de1de857"
-          ><code><small>3d44cc</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/992">
-          Issue 992</a></strong>
-      Segfault in https fetching
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/b4f4ae9b264c6973ff2835920ab32ade1981dd42"
-          ><code><small>b4f4ae9</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1039">
-          Issue 1039</a></strong>
-      Noisy <code>leaked_rewrite_drivers</code> on destruction message
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/58aaa4235de5829232f327436a706fdeb494e5dd"
-          ><code><small>58aaa4</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1040">
-          Issue 1040</a></strong>
-      <code>inline_google_font_css</code> no longer works in Chrome
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/01045a9d333e4b6e0ef2c3a04826a3d15f9c277b"
-          ><code><small>01045a</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1043">
-          Issue 1043</a></strong>
-      Source maps set <code>?PageSpeed=off</code> for <code>.pagespeed.</code>
-      sources
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/9d6d08782d4289b6d71fee3bf5406cf65e3e0c0b"
-          ><code><small>9d6d08</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1050">
-          Issue 1050</a></strong>
-      <code>X-Sendfile</code> messages should not be cached
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/a49af6bdabe5bfea5e6bc496102590b8c7728ed4"
-          ><code><small>a49af6</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1060">
-          Issue 1060</a></strong>
-      Spurious <code>DownstreamCacheRebeaconingKey</code> Warning
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/0f2a6fccb8f1a6cc32086df7cfd348d0ef69a9d9"
-          ><code><small>0f2a6f</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1068">
-          Issue 1068</a></strong>
-      Empty resources should not be cached.
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/741a86580dd6bf5b2a2f4bb24fca6d3bae919152"
-          ><code><small>741a86</small></code></a>,
-       <a href="https://github.com/apache/incubator-pagespeed-mod/commit/3ac0192ab8e383ddcd8f77ead391482a75accb48"
-          ><code><small>3ac019</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1070">
-          Issue 1070</a></strong>
-      Opera Mini should not be sent <code>lazyload_images</code> JS
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/0a90bb158d7e93e4076b93e12e973393c1930fdc"
-          ><code><small>0a90bb</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1078">
-          Issue 1078</a></strong>
-      Image rewriting dcheck-fails on images with invalid dimensions
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/166151ff0ab4bddd42c9a6ce4211c1c5832e780f"
-          ><code><small>166151</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1087">
-          Issue 1087</a></strong>
-      Critical images js doesn't play well with <code>display</code>
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/f01252e8ebea981610f3bbe969eec2b9a11235ed"
-          ><code><small>f01252</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1106">
-          Issue 1106</a></strong>
-      <code>If-Modified-Since</code> not working with IPRO
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/9ba2502d1750005b4d7dc4bb13379b6e4aa87edc"
-          ><code><small>9ba250</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1109">
-          Issue 1109</a></strong>
-      Can't set <code>MessageBufferSize</code> to 0
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/16e9f43edf38c74057b3cd45ed96c4040c59d688"
-          ><code><small>16e9f4</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1116">
-          Issue 1116</a></strong>
-      Won't compile with <code>gcc</code> 4.6.3
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/3f917696279fe103d313b3afc1bfe13543c5510f"
-          ><code><small>3f9176</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1152">
-          Issue 1152</a></strong>
-      boringssl build fails on suse tumbleweed/archlinux
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/4cbc9320342dc1314db31eb9514da39058c6c6c7"
-          ><code><small>4cbc93</small></code></a>)</li>
-  </ul>
-
-  <h4 class="hide-from-toc">Apache-specific Issues</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1048">
-          Issue 1048</a></strong>
-      Apache stuck indefinitely waiting for PSOL
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/84a9deaf9c4df13ae707f44d06f577321de46e8c"
-          ><code><small>84a9de</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1081">
-          Issue 1081</a></strong>
-      Invalid cache entries on aborted requests
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/7a3fab0d5d517f2dd8808f906f75c50ec2c58f87"
-          ><code><small>7a3fab</small></code></a>)</li>
-  </ul>
-
-  <h4 class="hide-from-toc">Nginx-specific Issues</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/864">
-          Issue 864</a></strong>
-      <code>Server</code> header dropped
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/a9c292d8dc056aad8cf4c9fd57cf2dd8277ac627"
-          ><code><small>a9c292</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/888">
-          Issue 888</a></strong>
-      Check-fails on invalid urls instead of declining them.
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/9da85bb9d5a4a11ca082628edb4f0c6635497364"
-          ><code><small>9da85b</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/913">
-          Issue 913</a></strong>
-      Incorrect <code>Date</code> header on 32-bit
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/7355f2e2079aa04546e74aa78c9c6faa20c72c92"
-          ><code><small>7355f2</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/948">
-          Issue 948</a></strong>
-      Fails to build with nginx 1.7.11 and <code>--with-threads</code>
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/a81cc997a96844c9ab77c4c2bb805df455033e28"
-          ><code><small>a81cc9</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/956">
-          Issue 956</a></strong>
-      DCheck failure if pagespeed is off and no file cache path is
-      configured
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/c925b48400af18abaf73fb86dd723642efb29112"
-          ><code><small>c925b4</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/965">
-          Issue 965</a></strong>
-      PageSpeed returning partial web pages
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/b9ca5d865d02ff8e889d1cf710006a23081d3705"
-          ><code><small>b9ca5d</small></code></a>)</li>
-  </ul>
-
-  <h2 id="release_1.9.32.10-beta">Release 1.9.32.10-beta</h2>
-  <p>This bug-fix release was made October 8th, 2015.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1048">
-          Issue 1048</a></strong>
-      Apache stuck indefinitely waiting for PSOL
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/84a9deaf9c4df13ae707f44d06f577321de46e8c"
-          ><code><small>84a9de</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1152">
-          Issue 1152</a></strong>
-      boringssl build fails on suse tumbleweed/archlinux
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/4cbc9320342dc1314db31eb9514da39058c6c6c7"
-          ><code><small>4cbc93</small></code></a>)</li>
-  </ul>
-
-  <h2 id="release_1.9.32.6-beta">Release 1.9.32.6-beta</h2>
-  <p>This bug-fix release was made July 29, 2015.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <h4 class="hide-from-toc">Issues Affecting both Nginx and Apache</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/972">
-          Issue 972</a></strong>
-      <code>LoadFromFile</code> logs errors on 404s
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/3d44cc7bdaf3e4250a9d0c1f201d76c4de1de857"
-          ><code><small>3d44cc</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/992">
-          Issue 992</a></strong>
-      Segfault in https fetching
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/b4f4ae9b264c6973ff2835920ab32ade1981dd42"
-          ><code><small>b4f4ae9</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1039">
-          Issue 1039</a></strong>
-      Noisy <code>leaked_rewrite_drivers</code> on destruction message
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/58aaa4235de5829232f327436a706fdeb494e5dd"
-          ><code><small>58aaa4</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1040">
-          Issue 1040</a></strong>
-      <code>inline_google_font_css</code> no longer works in Chrome
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/01045a9d333e4b6e0ef2c3a04826a3d15f9c277b"
-          ><code><small>01045a</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1043">
-          Issue 1043</a></strong>
-      Source maps set <code>?PageSpeed=off</code> for <code>.pagespeed.</code>
-      sources
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/9d6d08782d4289b6d71fee3bf5406cf65e3e0c0b"
-          ><code><small>9d6d08</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1050">
-          Issue 1050</a></strong>
-      <code>X-Sendfile</code> messages should not be cached
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/a49af6bdabe5bfea5e6bc496102590b8c7728ed4"
-          ><code><small>a49af6</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1060">
-          Issue 1060</a></strong>
-      Spurious <code>DownstreamCacheRebeaconingKey</code> Warning
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/0f2a6fccb8f1a6cc32086df7cfd348d0ef69a9d9"
-          ><code><small>0f2a6f</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1068">
-          Issue 1068</a></strong>
-      Empty resources should not be cached.
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/741a86580dd6bf5b2a2f4bb24fca6d3bae919152"
-          ><code><small>741a86</small></code></a>,
-       <a href="https://github.com/apache/incubator-pagespeed-mod/commit/3ac0192ab8e383ddcd8f77ead391482a75accb48"
-          ><code><small>3ac019</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1070">
-          Issue 1070</a></strong>
-      Opera Mini should not be sent <code>lazyload_images</code> JS
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/0a90bb158d7e93e4076b93e12e973393c1930fdc"
-          ><code><small>0a90bb</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1078">
-          Issue 1078</a></strong>
-      Image rewriting dcheck-fails on images with invalid dimensions
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/166151ff0ab4bddd42c9a6ce4211c1c5832e780f"
-          ><code><small>166151</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1087">
-          Issue 1087</a></strong>
-      Critical images js doesn't play well with <code>display</code>
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/f01252e8ebea981610f3bbe969eec2b9a11235ed"
-          ><code><small>f01252</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1106">
-          Issue 1106</a></strong>
-      <code>If-Modified-Since</code> not working with IPRO
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/9ba2502d1750005b4d7dc4bb13379b6e4aa87edc"
-          ><code><small>9ba250</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1109">
-          Issue 1109</a></strong>
-      Can't set <code>MessageBufferSize</code> to 0
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/16e9f43edf38c74057b3cd45ed96c4040c59d688"
-          ><code><small>16e9f4</small></code></a>)</li>
-     <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1116">
-          Issue 1116</a></strong>
-      Won't compile with <code>gcc</code> 4.6.3
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/3f917696279fe103d313b3afc1bfe13543c5510f"
-          ><code><small>3f9176</small></code></a>)</li>
-  </ul>
-
-  <h4 class="hide-from-toc">Apache-specific Issues</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1048">
-          Issue 1048</a></strong>
-      Apache stuck indefinitely waiting for PSOL
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/e59644fc50c257f1360194a895286886c87481b8"
-          ><code><small>e59644</small></code></a>,
-       <a href="https://github.com/apache/incubator-pagespeed-mod/commit/c001a83e015bec5a5a1316e4399349abd02ea7e6"
-          ><code><small>c001a8</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1081">
-          Issue 1081</a></strong>
-      Invalid cache entries on aborted requests
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/7a3fab0d5d517f2dd8808f906f75c50ec2c58f87"
-          ><code><small>7a3fab</small></code></a>)</li>
-  </ul>
-
-  <h4 class="hide-from-toc">Nginx-specific Issues</h4>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/864">
-          Issue 864</a></strong>
-      <code>Server</code> header dropped
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/a9c292d8dc056aad8cf4c9fd57cf2dd8277ac627"
-          ><code><small>a9c292</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/888">
-          Issue 888</a></strong>
-      Check-fails on invalid urls instead of declining them.
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/9da85bb9d5a4a11ca082628edb4f0c6635497364"
-          ><code><small>9da85b</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/913">
-          Issue 913</a></strong>
-      Incorrect <code>Date</code> header on 32-bit
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/7355f2e2079aa04546e74aa78c9c6faa20c72c92"
-          ><code><small>7355f2</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/948">
-          Issue 948</a></strong>
-      Fails to build with nginx 1.7.11 and <code>--with-threads</code>
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/a81cc997a96844c9ab77c4c2bb805df455033e28"
-          ><code><small>a81cc9</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/956">
-          Issue 956</a></strong>
-      DCheck failure if pagespeed is off and no file cache path is
-      configured
-      (<a href="https://github.com/apache/incubator-pagespeed-mod/commit/c925b48400af18abaf73fb86dd723642efb29112"
-          ><code><small>c925b4</small></code></a>)</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/965">
-          Issue 965</a></strong>
-      PageSpeed returning partial web pages
-      (<a href="https://github.com/apache/incubator-pagespeed-ngx/commit/b9ca5d865d02ff8e889d1cf710006a23081d3705"
-          ><code><small>b9ca5d</small></code></a>)</li>
-  </ul>
-
-
-  <h2 id="release_1.9.32.4-stable">Release 1.9.32.4-stable</h2>
-  <p>
-    This release was made Jun 17, 2015. It is a clone of the
-    1.9.32.4-beta release.
-  </p>
-
-  <h2 id="release_1.9.32.4-beta">Release 1.9.32.4-beta</h2>
-  <p>This security update release was made June 17, 2015.</p>
-
-  <p>
-    In versions between 1.7 and 1.9.32.3, PageSpeed was built with a version of
-    OpenSSL that was vulnerable to the issues detailed in
-    the <a href="http://openssl.org/news/secadv_20150611.txt">June 11, 2015
-    security advisory</a>.  We have updated our crypto library to fix these
-    issues. PageSpeed now builds with Google's BoringSSL, an OpenSSL fork which
-    includes this fix, and is expected to be more stable in future.
-  </p>
-  <p>
-    In versions between 1.8.31.2 and 1.9.32.3 it was possible to cause a crash
-    by requesting JavaScript source maps when source mapping had been turned
-    off.
-  </p>
-  <p>
-    We recommend that all users upgrade. If this is not possible, however, the
-    following workarounds are available:
-    <ul>
-      <li>The OpenSSL vulnerability only applies if you have
-          <a href="https_support"><code>FetchHttps</code></a> enabled and have
-          configured PageSpeed to fetch HTTPS content over the open internet.
-          Disabling <code>FetchHttps</code> will prevent these crashes, but will
-          also disable PageSpeed's optimizations for any content that must be
-          fetched over HTTPS.</li>
-      <li>Set a <code>Request Option Override</code> token, and explicitly
-          enable <a href="/filter-source-maps-include"
-          ><code>include_js_source_maps</code></a>. This
-          makes it impossible for attackers to disable source maps and cause
-          these crashes.</li>
-      </ul>
-  </p>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1094">
-          Issue 1094</a></strong>
-      Source map can be requested with option disabled.
-    </li>
-    <li><strong>
-        <a href="http://openssl.org/news/secadv_20150611.txt">
-          OpenSSL Security Advisory [11 Jun 2015]</a></strong>
-      Replace OpenSSL with BoringSSL.
-    </li>
-  </ul>
-
-  <h2 id="release_1.9.32.3-stable">Release 1.9.32.3-stable</h2>
-  <p>
-    This release was made January 14, 2015. It is a clone of the
-    1.9.32.3-beta release.
-  </p>
-
-  <h2 id="release_1.9.32.3-beta">Release 1.9.32.3-beta</h2>
-  <p>This bug-fix release was made January 5th, 2015.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/1025">
-          Issue 1025</a></strong>
-      Purge cache UI has problems in admin console.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/1028">
-          Issue 1028</a></strong>
-      Malformed CSS file can cause a hang in CSS parser.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/832">
-          ngx_pagespeed Issue 832</a></strong>
-      Don't log to stderr/stdout: gzip enabling code.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/839">
-          ngx_pagespeed Issue 839</a></strong>
-      ngx_pagespeed 1.9.32.2 doesn't compile with Tengine.</li>
-  </ul>
-
-  <h2 id="release_1.8.31.6-stable">Release 1.8.31.6-stable</h2>
-  <p>This bug-fix release was made January 5th, 2015.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/1028">
-          Issue 1028</a></strong>
-      Malformed CSS file can cause a hang in CSS parser.</li>
-  </ul>
-
-  <h2 id="release_1.9.32.2-beta">Release 1.9.32.2-beta</h2>
-  <p>This security update release was made October 27, 2014.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/978">
-          Issue 978</a></strong>
-      Blacklist Windows Browser for transcoding to webp.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/982">
-          Issue 982</a></strong>
-      Defer javascript not working in IE9 or IE11.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/989">
-          Issue 989</a></strong>
-      IPRO with LoadFromFile on a resource that is already fully optimized
-      serves <code>cc:max-age=300</code>.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/992">
-          Issue 992</a></strong>
-      Malformed CSS can lead to unbounded stack depth.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1004">
-          Issue 1004</a></strong>
-      Disable SSLv3 and SSLv2 support in serf fetcher.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1012">
-          Issue 1012</a></strong>
-      JS error in rendered_image_dimensions filter when the same image appears
-      multiple times on a page.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/808">
-          ngx_pagespeed Issue 808</a></strong>
-      ngx_pagespeed prints <code>Log: [info] No threading detected. Own threads:
-      1 Rewrite, 1 Expensive Rewrite.</code> on startup.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/813">
-          ngx_pagespeed Issue 813</a></strong>
-      Segmentation fault when ngx_pagespeed is built with gcc 4.1.2
-    </li>
-  </ul>
-
-  <h2 id="release_1.8.31.5-stable">Release 1.8.31.5-stable</h2>
-  <p>This security update release was made October 20, 2014.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/992">
-          Issue 992</a></strong>
-      Malformed CSS can lead to unbounded stack depth.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/1004">
-          Issue 1004</a></strong>
-      Disable SSLv3 and SSLv2 support in serf fetcher.
-    </li>
-  </ul>
-
-  <h2 id="release_1.9.32.1-beta">Release 1.9.32.1-beta</h2>
-  <p>This release was made September 16, 2014.</p>
-  <h3 class="hide-from-toc">New Features</h3>
-  <dl>
-    <dt><a href="domains#LoadFromFileScriptVariables">
-        Support nginx script variables in <code>LoadFromFile</code></a></dt>
-    <dd>Allows configuration like <code>LoadFromFile "http://$host/"
-       "$document_root"</code></dd>
-
-    <dt><a href="system#native-fetcher-keep-alive">
-        Support HTTP Persistent Connections</a></dt>
-    <dd>When using the native fetcher for Nginx, advertise <code>Connection:
-        Keep-Alive</code> and keep active connections around for reuse.</a></dt>
-
-    <dt><a href="config_filters#debug">
-        Improved <code>debug</code> filter support</a></dt>
-
-    <dd>Many more filters now support debug logging, emitting explanatory
-        comments inline when the <code>debug</code> filter is enabled.</dd>
-
-    <dt><a href="system#ipro">
-        Enabled <code>InPlaceResourceOptimization</code> by default</a></dt>
-    <dd>In Place Resource Optimization is now enabled by default.</dd>
-
-    <dt><a href="system#purge_cache">
-        Purge individual URLs from cache</a></dt>
-    <dd>Allows cache entries to be purged by PageSpeed administrators.</dd>
-
-    <dt><a href="admin#config">
-        Improved PageSpeed admin site</a></dt>
-    <dd>Admin page improved to show more information, provide graphs, and
-        perform cache-purging operations.</dd>
-    <dt><a href="experiment#StickyQueryParams">&quot;Sticky&quot; Query
-        Parameters</a></dt>
-    <dd>Set query parameters in cookies for persisting options across queries.
-    </dd>
-
-    <dt><a href="restricting_urls#url_signatures">
-        Signing resource URLs</a></dt>
-    <dd>Optionally cryptographically sign and verify resource URLs.</dd>
-
-    <dt><a href="experiment#restrict-request-options">Restrict query
-        params</a></dt>
-    <dd>Optionally restrict interpretation of query parameters.</dd>
-  </dl>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/786">
-          Issue 786</a></strong>
-      serf_url_async_fetcher.cc error messages using IP instead of domain name.
-    </li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/794">
-          Issue 794</a></strong>
-      Colorize warnings and errors in message_history page.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/813">
-          Issue 813</a></strong>
-      Disable beaconing for bots.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/850">
-          Issue 850</a></strong>
-      dedup_inlined_images breaks site combined with lazyload_images and
-      defer_javascript.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/853">
-          Issue 853</a></strong>
-      Provide separate filters rewrite_javascript_external and
-      rewrite_javascript_inline.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/909">
-          Issue 909</a></strong>
-      Strict mode detection is too conservative.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/965">
-          Issue 965</a></strong>
-      Don't relocate scoped style tags.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/967">
-          Issue 967</a></strong>
-      Don't relocate scoped style tags in prioritize_critical_css.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/969">
-          Issue 969</a></strong>
-      Don't send inline WebP to Chrome/36 on iOS. See issue for workaround fix
-      for both nginx and Apache.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/984">
-          Issue 984</a></strong>
-      Fix handling of experiment spec, so that options are applied when using
-      the default filters.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/984">
-          Issue 985</a></strong>
-      Re-add query params when we get a redirection response.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-mod/issues/985">
-          Issue 986</a></strong>
-      Default flattening limit is too low.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/238">
-          ngx_pagespeed Issue 238</a></strong>
-      Automatically enable gzip compression in Nginx.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/712">
-          ngx_pagespeed Issue 712</a></strong>
-      <code>.pagespeed</code> resources served with chunked encoding on
-      Nginx.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/719">
-          ngx_pagespeed Issue 719</a></strong>
-      IPRO with LoadFromFile gives null responses for unknown file
-      extensions.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/725">
-          ngx_pagespeed Issue 725</a></strong>
-      Duplicate <code>Location</code> headers when proxying with Nginx.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/pull/731">
-          ngx_pagespeed Issue 731</a></strong>
-      Support setting <tt>NumRewriteThreads</tt>
-      and <tt>NumExpensiveRewriteThreads</tt> in Nginx.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/739">
-          ngx_pagespeed Issue 739</a></strong>
-      Nginx compilation error with GCC 4.9.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/757">
-          ngx_pagespeed Issue 757</a></strong>
-      Support POST responses for HTML.</li>
-  </ul>
-
-  <h2 id="release_1.8.31.4-stable">Release 1.8.31.4-stable</h2>
-  <p>
-    This release was made August 5, 2014. It is a clone of the
-    1.8.31.4-beta release.
-  </p>
-
-  <h2 id="release_1.8.31.4-beta">Release 1.8.31.4-beta</h2>
-  <p>This security update release was made June 17th, 2014.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li>Update OpenSSL version to include fixes for a
-        <a href="openssl-1.0.1h-fixes.html">man-in-the-middle attack</a>.</li>
-  </ul>
-
-  <h2 id="release_1.7.30.5-stable">Release 1.7.30.5-stable</h2>
-  <p>This security update release was made June 17th, 2014.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li>Update OpenSSL version to include fixes for a
-        <a href="openssl-1.0.1h-fixes.html">man-in-the-middle attack</a>.</li>
-  </ul>
-
-  <h2 id="release_1.8.31.3-beta">Release 1.8.31.3-beta</h2>
-  <p>This bug-fix release was made May 30th, 2014.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/941">
-          Issue 941</a></strong>
-      Pagespeed optimized resource sending incorrect Content-Length header.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/945">
-          Issue 945</a></strong>
-      mod_pagespeed cache directory is unwritable by default.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/947">
-          Issue 947</a></strong>
-      Do not serve source JavaScript when a rewritten source map is requested.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/pull/701">
-          ngx_pagespeed Pull 701</a></strong>
-      Allow admin paths to be set at server scope.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/705">
-          ngx_pagespeed Issue 705</a></strong>
-      StaticAssetPrefix not working.</li>
-  </ul>
-
-  <h2 id="release_1.8.31.2-beta">Release 1.8.31.2-beta</h2>
-  <p>This release was made on May 6th, 2014.</p>
-  <h3 class="hide-from-toc">New Features</h3>
-  <dl>
-    <dt><a href="optimize-for-bandwidth">
-        New rewrite level <code>OptimizeForBandwidth</code></a></dt>
-    <dd>Safe rewrite level in which HTML is not altered, but CSS, JS, and
-    images are rewritten in place to conserve bandwidth.</dd>
-
-    <dt><a href="admin">
-        New admin pages</a></dt>
-    <dd>Admin consoles at <code>pagespeed_admin</code>
-    and <code>pagespeed_global_admin</code> simplify system configuration.</dd>
-
-    <dt><a href="filter-source-maps-include">
-        JavaScript source map support</a></dt>
-    <dd>New filter <code>include_js_source_maps</code> allows debugging of
-    PageSpeed-minified code.</dd>
-
-    <dt><a href="reference-image-optimize#convert_png_to_jpeg">
-        Image classification</a></dt>
-    <dd>PageSpeed now uses a classification algorithm to decide when to convert
-    a lossless image (png or gif) to a lossy format (jpeg or lossy WebP).</dd>
-
-    <dt><a href="reference-image-optimize#convert_jpeg_to_webp">
-        WebP conversion on by default</a></dt>
-    <dd>The <code>convert_jpeg_to_webp</code> filter is now on by default as a
-    core rewriter and as part of <code>rewrite_images</code>.</dd>
-
-    <dt><a href="reference-image-optimize#serve_webp_urls">
-        Serve WebP URLs to any browser</a></dt>
-    <dd>Enable users with older browsers to view <code>.webp</code> URLs, making
-    it easier for visitors to share image links.</dd>
-
-    <dt><a href="domains#inline_without_auth">
-        Inline resources without explicit authorization</a></dt>
-    <dd>Permits inlining of CSS and JavaScript from domains that are not
-    directly authorized for rewriting (for example because they belong to a
-    third party).</dd>
-
-    <dt><a href="downstream-caching#beaconing">
-        Downstream cache rebeaconing support</a></dt>
-    <dd>Allows filters that depend on beaconing (such as lazy loading and
-        inlining of images) to interact correctly with downstream caches such as
-        Varnish.</dd>
-
-    <dt><a href="system#in_place_optimize_for_browser">
-        Browser-dependent in-place optimization</a></dt>
-    <dd>Enabling <code>in_place_optimize_for_browser</code> permits
-    browser-dependent CSS and image optimizations such as WebP conversion.</dd>
-
-    <dt><a href="configuration#pagespeed_static">
-        Configurable location for static assets</a></dt>
-    <dd>New option <code>StaticAssetPrefix</code> specifies the path to
-    PageSpeed-specific static assets.</dd>
-
-    <dt><a href="system#cache-fragment">
-        Cache sharing among domains</a></dt>
-    <dd>New option <code>CacheFragment</code> allows multiple domains to share a
-    portion of the cache, enabling them to share common resources.</dd>
-
-    <dt><a href="module-run-experiment">
-        Ability to set options in experiment specs</a></dt>
-    <dd>Experiment specifications can now include a comma-separated list of
-    option settings similar to those in query parameters.</dd>
-
-    <dt><a href="domains#mapping_origin">
-        Optional <code>Host:</code> header in <code>MapOriginDomain</code></a></dt>
-    <dd>The <code>MapOriginDomain</code> directive can now include
-    a <code>Host:</code> header to be used by PageSpeed when fetching
-    resources.</dd>
-
-    <dt><a href="https_support#https_fetch">
-        Fetch HTTPS resources in ngx_pagespeed</a></dt>
-    <dd>Support secure resource fetching using HTTPS in the nginx web server
-    (supported in mod_pagespeed since version 1.7).</dd>
-
-    <dt><a href="filter-lazyload-images#lazyload-after-onload">
-        <code>LazyloadImagesAfterOnload</code> on by default</a></dt>
-    <dd>After onload, load all images even if some are not yet visible.</dd>
-  </dl>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/106">
-          Issue 106</a></strong>
-          Inline js files even if they contain <code>&lt;/script&gt;</code>.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/452">
-          Issue 452</a></strong>
-          Can't run experiments except on filters and some thresholds.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/570">
-          Issue 570</a></strong>
-          Document <code>RewriteDeadlineMs</code>.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/586">
-          Issue 586</a></strong>
-          Track image rewriting time
-          in <code>mod_pagespeed_variables</code>.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/692">
-          Issue 692</a></strong>
-          Fixed-case paths broken in domain-mapping directives.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/752">
-          Issue 752</a></strong>
-          Issue downstream cache purges only for GET requests.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/812">
-          Issue 812</a></strong>
-          SerfThreadFn might compile with the wrong calling convention and crash
-          on shutdown.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/813">
-          Issue 813</a></strong>
-          Disable beaconing for bots.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/817">
-          Issue 817</a></strong>
-          WebP transcoding should trigger off <code>Accept:</code> headers and
-          issue <code>Vary: Accept.</code></li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/831">
-          Issue 831</a></strong>
-          Spriting replaces transparent color with arbitrary color.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/832">
-          Issue 832</a></strong>
-          DCHECK failure on <code>static_rewriter</code> test.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/840">
-          Issue 840</a></strong>
-          Deadlock when rewriting resources.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/845">
-          Issue 845</a></strong>
-          etag should not be issued for mismatching content.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/846">
-          Issue 846</a></strong>
-          PageSpeed's cache lookup needs to become <code>Vary: Accept</code>
-          aware, at least for WebP.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/855">
-          Issue 855</a></strong>
-          Deadlock when using apache threads with in-place rewriting, a threaded
-          mpm, and memcached.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/856">
-          Issue 856</a></strong>
-          Improve error message reporting when shared memory segment creation
-          fails.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/858">
-          Issue 858</a></strong>
-          Remove insignificant message: &ldquo;Default shared memory cache:
-          Cache named pagespeed_default_shm already exists&rdquo;.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/863">
-          Issue 863</a></strong>
-          Cache-Control: no-transform has no effect if combined with other
-          values.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/865">
-          Issue 865</a></strong>
-          ImplicitCacheTtlMs directive doesn't work in IPRO mode.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/871">
-          Issue 871</a></strong>
-          Apply in-place optimization on first request
-          if <code>InPlaceRewriteDeadlineMs</code> is -1
-          and <code>LoadFromFile</code> is enabled.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/881">
-          Issue 881</a></strong>
-          Changing JS files can make combining/minification produce reference
-          errors.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/882">
-          Issue 882</a></strong>
-          Run <code>combine_javascript</code>
-          before <code>rewrite_javascript</code>, and have it do the
-          minification inline.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/883">
-          Issue 883</a></strong>
-          Employ image classification to make better decisions about lossy
-          conversion.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/885">
-          Issue 885</a></strong>
-          Enabling memcached causes &ldquo;Waiting for property cache&rdquo;
-          messages and server spinning.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/907">
-          Issue 907</a></strong>
-          Sharedmem &ldquo;Unable to insert object of size&rdquo; message needs to be
-          demoted and indicate the cache key.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/915">
-          Issue 915</a></strong>
-          Link error on &ldquo;html_minifier_main&rdquo; using GCC 4.9.0 + [Gold]
-          Linker.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/918">
-          Issue 918</a></strong>
-          &lt;style scoped&gt; is translated to &lt;link rel=&quot;stylesheet&quot;
-          scoped&gt; however there is no browser support for the latter.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/921">
-          Issue 921</a></strong>
-          Downstream Caches - PURGE request has a double slash.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/927">
-          Issue 927</a></strong>
-          defer_javascript errors in Safari 4.x and 5.0, user scripts fail.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/928">
-          Issue 928</a></strong>
-          Allow user defined attributes to override spec-defined ones.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/937">
-          Issue 937</a></strong>
-          Increase beacon frequency until there's enough data, then decrease it.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/938">
-          Issue 938</a></strong>
-          Check for image criticality at image onload to fix carousel display.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/537">
-          ngx_pagespeed Issue 537</a></strong>
-          Client times out on 304 requests.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/pull/560">
-          ngx_pagespeed Pull 560</a></strong>
-          Unbreak /ngx_pagespeed_messages.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/577">
-          ngx_pagespeed Issue 577</a></strong>
-          Wrong date HTTP header after HTML rewrite.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/pull/590">
-          ngx_pagespeed Pull 590</a></strong>
-          Add proxy support to native fetcher.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/pull/621">
-          ngx_pagespeed Pull 621</a></strong>
-          Don't call chown() unless necessary.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/625">
-          ngx_pagespeed Issue 625</a></strong>
-          CHECK failure on DNS timeout.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/652">
-          ngx_pagespeed Issue 652</a></strong>
-          DownstreamCachePurgeLocationPrefix removes cache headers for
-          <code>.pagespeed.</code> resources.</li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/686">
-          ngx_pagespeed Issue 686</a></strong>
-          DCHECK failed: !src.IsKeySaved().</li>
-  </ul>
-
-  <h2 id="release_1.7.30.4-stable">Release 1.7.30.4-stable</h2>
-  <p>
-    This release was made March 24, 2014. It is a clone of the
-    1.7.30.4-beta release.
-  </p>
-
-  <h2 id="release_1.7.30.4-beta">Release 1.7.30.4-beta</h2>
-  <p>This bug-fix release was made March 13, 2014.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/441">
-          Issue 441</a></strong>
-      Filter "make_google_analytics_async" turns benign call to deprecated
-      method into a functional error.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/781">
-          Issue 781</a></strong>
-      Images are inlined into CSS styles in IE7 if Firefox renders them
-      first.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/874">
-          Issue 874</a></strong>
-      Warning messages in log for "ModPagespeed:noscript?".</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/880">
-          Issue 880</a></strong>
-      Combining minified JS files can produce invalid results when deadline
-      exceeded.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/885">
-          Issue 885</a></strong>
-      Enabling memcached causes "Waiting for property cache" messages and
-      server spinning.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/896">
-          Issue 896</a></strong>
-      IPRO on reverse proxy can capture gzipped content and serve it to users
-      without content-encoding:gzip.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/898">
-          Issue 898</a></strong>
-      IPRO does not correctly handle resources which failed to fetch.</li>
-  </ul>
-
-  <h2 id="release_1.7.30.3-beta">Release 1.7.30.3-beta</h2>
-  <p>This bug-fix release was made January 16, 2014.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/867">
-          Issue 867</a></strong>
-      Data URLs in CSS become blank after rewriting.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/596">
-          ngx_pagespeed Issue 596</a></strong>
-      Data URLs in CSS and JavaScript are broken after upgrading ngx_pagespeed
-      from 1.6 to 1.7.30.2.</li>
-  </ul>
-
-  <h2 id="release_1.7.30.2-beta">Release 1.7.30.2-beta</h2>
-  <p>This bug-fix release was made January 7, 2014.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/627">
-          Issue 627</a></strong>
-      Quoting of ModPagespeed:noscript insertion broken in some browsers.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/831">
-          Issue 831</a></strong>
-      Spriting replaces transparent color with arbitrary color.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/840">
-          Issue 840</a></strong>
-      Deadlock when rewriting resources.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/856">
-          Issue 856</a></strong>
-      Improve error message reporting when shared memory segment creation
-      fails.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/857">
-          Issue 857</a></strong>
-      Avoid insertions (e.g., beacon) at midpoint of the document which ought
-      to be at the end of it.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/858">
-          Issue 858</a></strong>
-      Remove insignificant message: Default shared memory cache: Cache named
-      pagespeed_default_shm already exists.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/860">
-          Issue 860</a></strong>
-      GoogleFontCssInlineFilter doesn't handle protocol-relative URLs
-      correctly.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/861">
-          Issue 861</a></strong>
-      PSOL sample application has dcheck-failure in the demo program.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/862">
-          Issue 862</a></strong>
-      mod_pagespeed may have deadlock in property cache fetch in IPRO non-proxy
-      mode if memcached is used.</li>
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/578">
-          ngx_pagespeed Issue 578</a></strong>
-      Nginx Resolver API changes break the ngx_pagespeed build.</li>
-  </ul>
-
-  <h2 id="release_1.6.29.7-stable">Release 1.6.29.7-stable</h2>
-  <p>
-    This release was made November 13th, 2013. It is a clone of the
-    1.6.29.7-beta release.
-  </p>
-
-  <h2 id="release_1.7.30.1-beta">Release 1.7.30.1-beta</h2>
-  <p>This release was made on November 7th, 2013.</p>
-  <h3 class="hide-from-toc">New Features</h3>
-  <dl>
-    <dt><a href="system#default_shm_cache">
-        Default shared memory metadata cache</a></dt>
-    <dd>Create an on-by-default memory cache shared by all server processes.
-    </dd>
-
-    <dt><a href="https_support#https_fetch">
-        Fetch HTTPS resources for Apache server</a></dt>
-    <dd>Support secure resource fetching using HTTPS for Apache server.</dd>
-
-    <dt><a href="https_support#fetch_from_mod_spdy">
-        Fetch HTTPS resources using mod_spdy for Apache server</a></dt>
-    <dd>Support faster HTTPS resource fetching, if you also use mod_spdy version
-        0.9.4.1 or higher.</dd>
-
-    <dt><a href="filter-css-inline-google-fonts">
-        Inline Google Fonts API CSS</a></dt>
-    <dd>Reduce the number of blocking round trips required to start rendering
-        a web page using the Google Fonts API.</dd>
-
-    <dt><a href="configuration#preserve-url-relativity">
-        Preserve URL relativity</a></dt>
-    <dd>Specify whether to preserve the relative URLs or convert them to
-        absolute URLs.</dd>
-
-    <dt><a href="domains#url-valued-attributes">
-        Optimize multiple URL-valued attributes</a></dt>
-    <dd>Support optimizing more than one URL-valued attribute per element.</dd>
-
-    <dt><a href="system#implicit_cache_ttl">
-        Implicit cache-lifetime for resources</a></dt>
-    <dd>Specify the cache lifetime for resources that do not have "Expires"
-        or "Cache-Control" headers.</dd>
-
-    <dt><a href="system#ipro_deadline">
-        Maximum time for inplace resource rewriting</a></dt>
-    <dd>Specify the maximum time to wait for a resource to be rewritten.
-        If the rewriting completes within this time, the rewritten resource
-        will be served, otherwise the original resource will be served and
-        rewriting will continue in the background.</dd>
-
-    <dt><a href="filter-css-combine#MaxCombinedCssBytes">
-        Maximum size of the combined CSS</a></dt>
-    <dd>Specify the maximum size that CSS files may be combined to.</dd>
-
-    <dt><a href="reference-image-optimize#ImageResolutionLimitBytes">
-        Maximum size of images that will be optimized</a></dt>
-    <dd>Specify the maximum size of decompressed images that PageSpeed will
-        try to optimize.</dd>
-
-    <dt><a href="reference-image-optimize#ProgressiveJpegMinBytes">
-        Minimum size of JPEG images that will be compressed in progressive
-        format</a></dt>
-    <dd>Specify the size threshold that determines when to use progressive
-        format for compressing images to JPEG. Progressive JPEG is more
-        effective for compressing large images, while non-progressive JPEG
-        works better for smaller ones.</dd>
-
-    <dt><a href="reference-image-optimize#resize_rendered_image_dimensions">
-        Resize images to rendered dimensions</a></dt>
-    <dd>Resize images to, or close to, the actual dimensions that they will
-        be displayed. The rendered dimension may be smaller than that specified
-        by the width and height attributes.</dd>
-
-    <dt><a href="filter-image-optimize">
-        Better image compression and resizing</a></dt>
-    <dd>Use more optimized image resizing technique and remove OpenCV. Replace
-        libjpeg with the more efficient libjpeg-turbo.</dd>
-
-    <dt>Configuration defaults updated</dt>
-    <dd>Starting in this release, we combine JavaScript and convert PNG images
-        to JPEG by default.
-      <ul>
-        <li>Default <a href="filter-js-combine">
-            combine_javascript</a> to on (was off).</li>
-        <li>Default <a href="reference-image-optimize#convert_png_to_jpeg">
-            convert_png_to_jpeg</a> to on (was off).</li>
-      </ul>
-    </dd>
-
-    <dt><a href="system#ipro">In-Place Resource Optimization</a> for Nginx</dt>
-    <dd>ngx_pagespeed can now optimize resources accessed directly from
-      their original URLs, not just those rewritten with the PageSpeed URL
-      format. This can be useful for optimizing resources referenced from other
-      sites and from JavaScript.</dd>
-  </dl>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/198">
-          Issue 198</a></strong>
-          Optimize handling of multiple references to the same image on a page
-          at different sizes.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/376">
-          Issue 376</a></strong>
-          Image resizing should utilize width/height information in CSS classes.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/423">
-          Issue 423</a></strong>
-          Support fetching resources over HTTPS.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/466">
-          Issue 466</a></strong>
-          Provide a way to optimize all resource attributes in a tag.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/503">
-          Issue 503</a></strong>
-          Preserve URL relativeness.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/664">
-          Issue 664</a></strong>
-          Strip Connection and other hop-by-hop headers when saving input
-          resource.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/755">
-          Issue 755</a></strong>
-          Memory leak with 'graceful' restart relating to shared memory
-          starting in 1.4.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/756">
-          Issue 756</a></strong>
-          ModifyCachingHeaders should not touch Cache-Control headers if
-          downstream-caching is enabled.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/757">
-          Issue 757</a></strong>
-          Make maximum image size configurable.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/758">
-          Issue 758</a></strong>
-          Add configurability for DisableRewriteOnNoTransform and system test.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/759">
-          Issue 759</a></strong>
-          Cleanup race in SchedulerBlockingFunction::Block() and ::Cancel().
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/773">
-          Issue 773</a></strong>
-          Repeat image inlined at low resolution when local_storage_cache is
-          enabled.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/799">
-          Issue 799</a></strong>
-          Console slow when logfile is large.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/803">
-          Issue 803</a></strong>
-          Metadata cache will reminder not-optimizable for 5 minutes after
-          rate-limiting drops a fetch.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/809">
-          Issue 809</a></strong>
-          mod_pagespeed disables mod_headers/mod_expires when proxying content
-          with cache-control set.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/42">
-          ngx_pagespeed Issue 42</a></strong>
-          Added in-place resource optimization.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/356">
-          ngx_pagespeed Issue 356</a></strong>
-          Support setting options in response headers.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/367">
-          ngx_pagespeed Issue 367</a></strong>
-          Fix intermittent crash on reload.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/433">
-          ngx_pagespeed Issue 433</a></strong>
-          Unable to compile with gcc 4.8.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/447">
-          ngx_pagespeed Issue 447</a></strong>
-          Log message to the correct vhost-specific log file.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/463">
-          ngx_pagespeed Issue 463</a></strong>
-          Native fetcher crashes when running out of file descriptors.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/522">
-          ngx_pagespeed Issue 522</a></strong>
-          Fix use-after-free in logging.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/532">
-          ngx_pagespeed Issue 532</a></strong>
-          Added script to turn apache-format pagespeed_libraries.conf
-          into nginx-format.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/539">
-          ngx_pagespeed Issue 539</a></strong>
-          File cache and logdir are created and given appropriate permissions.
-    </li>
-  </ul>
-
-  <h2 id="release_Oct_2013_Sec">mod_pagespeed October 2013 Security Update</h2>
-  <p> mod_pagespeed releases 1.6.29.7-beta, 1.5.27.4-beta, 1.4.26.5-stable,
-  1.3.25.5-stable, 1.2.24.2-stable, 1.0.22.8-stable fix
-  <a href="announce-sec-update-201310">critical cross-site scripting (XSS)
-  vulnerability</a>.</p>
-
-  <h2 id="release_1.6.29.7-beta">ngx_pagespeed Release 1.6.29.7-beta</h2>
-  <p> ngx_pagespeed release 1.6.29.7-beta fixes
-  <a href="announce-ngx-sec-update-201310">critical cross-site scripting (XSS)
-  vulnerability</a>.</p>
-
-  <h2 id="release_1.4.26.4-stable">Release 1.4.26.4-stable</h2>
-  <p>This release was made August 7th, 2013. It contains one
-     additional bug fix compared to version
-    <a href="#release_1.4.26.3-stable">1.4.26.3-stable</a>,
-    but is otherwise identical.</p>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/683">Issue
-          683</a></strong> Pagespeed strips cache-control:no-store, etc. headers.
-    </li>
-  </ul>
-
-  <h2 id="release_1.6.29.5-beta">Release 1.6.29.5-beta</h2>
-  <p>This bug-fix release was made July 25, 2013.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/748">
-          Issue 748</a></strong>
-      RewriteRandomDropPercentage cause duplicate image srcs to be blank.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/751">
-          Issue 751</a></strong>
-      Leaked ASM symbol names cause segmentation faults on Apache.</li>
-  </ul>
-
-  <h2 id="release_1.6.29.4-beta">Release 1.6.29.4-beta</h2>
-  <p>This bug-fix release was made July 11, 2013.</p>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/742">
-          Issue 742</a></strong>
-      Broken default pagespeed.conf in 1.6.29.3.</li>
-  </ul>
-
-  <h2 id="release_1.6.29.3-beta">Release 1.6.29.3-beta</h2>
-  <p>This release was made July 10, 2013.</p>
-  <h3 class="hide-from-toc">New Features</h3>
-  <dl>
-    <dt><a href="console">PageSpeed Console</a></dt>
-    <dd>The PageSpeed Console monitors your installation's performance and
-      links to general information on how to improve the performance.</dd>
-
-    <dt><a href="downstream-caching">Supporting downstream caches</a></dt>
-    <dd>Experimental feature for supporting caching proxy servers to allow
-      HTML to be cached in these servers.</dd>
-
-    <dt><a href="filter-dedup-inlined-images">dedup_inlined_images</a></dt>
-    <dd>Filter that removes redundant inlined images and replaces them with
-      JavaScript that loads all subsequent uses from the first.</dd>
-
-    <dt><a href="config_filters#RewriteRandomDropPercentage">
-        Randomly drop expensive rewrites</a></dt>
-    <dd>To reduce processing load, PageSpeed can be configured to
-      optimize the most frequently fetched resources, leaving infrequently
-      fetched resources alone. This is accomplished by randomly dropping
-      expensive (CSS and image) rewrites. Frequently fetched resources will
-      have a higher probability of being rewritten than infrequently fetched
-      resources. Over time, frequently accessed resources will be optimized
-      and cached so a page will be fully optimized. Infrequently accessed
-      pages will be left unoptimized or partially optimized, saving CPU time
-      and cache space.</dd>
-
-    <dt><a href="configuration#notransform">DisableRewriteOnNoTransform</a></dt>
-    <dd>Default on, but may be turned off to allow PageSpeed to rewrite
-      resources even if they have a <code>Cache-Control: no-transform</code>
-      header.</dd>
-
-    <dt>Configuration defaults updated</dt>
-    <dd>Starting in this release, we enable lossy image compression by default
-      and update several other default configurations values. Updates:
-      <ul>
-        <li>Default <a href="restricting_urls#aris">
-            AvoidRenamingIntrospectiveJavascript</a> to on (was off).</li>
-        <li>Default <a href="reference-image-optimize#ImageInlineMaxBytes">
-            ImageInlineMaxBytes</a> to 3072 (was 2048).</li>
-        <li>Default <a href="reference-image-optimize#CssImageInlineMaxBytes">
-            CssImageInlineMaxBytes</a> to 0 (was 2048).</li>
-        <li>Default <a href="filter-inline-preview-images#params">
-            MaxInlinedPreviewImagesIndex</a> to -1 = unlimited (was 5).</li>
-        <li>Default <a href="filter-inline-preview-images#params">
-            MinImageSizeLowResolutionBytes</a> to 3072 (was 1024).</li>
-        <li>Default
-            <a href="reference-image-optimize#ImageRecompressionQuality">
-            ImageRecompressionQuality</a> to 85 (was -1 = lossless).</li>
-        <li>Default <a href=
-            "reference-image-optimize#JpegRecompressionQualityForSmallScreens">
-            JpegRecompressionQualityForSmallScreens</a> to 70
-            (was -1 = lossless).</li>
-        <li>Default <a href="reference-image-optimize#WebpRecompressionQuality">
-            WebpRecompressionQuality</a> to 80 (was -1 = lossless).</li>
-        <li>Default <a href=
-            "reference-image-optimize#WebpRecompressionQualityForSmallScreens">
-            WebpRecompressionQualityForSmallScreens</a> to 70
-            (was -1 = lossless).</li>
-      </ul>
-    </dd>
-  </dl>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/199">
-          Issue 199</a></strong>
-      Multiple references to the same small images all get inlined.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/644">
-          Issue 644</a></strong>
-      Improve lazyload behavior.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/675">
-          Issue 675</a></strong>
-      rewrite_javascript breaks Wordpress /wp-admin/ pages with certain
-      common WP plugins.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/683">
-          Issue 683</a></strong>
-      Don't strip Cache-Control:no-store, etc. headers.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/684">
-          Issue 684</a></strong>
-      elide_attributes should not remove type=text as wordpress uses it in
-      CSS.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/690">
-          Issue 690</a></strong>
-      Add originating page URL query-param to beacon URL.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/700">
-          Issue 700</a></strong>
-      Image height tag removed when image is embedded.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/707">
-          Issue 707</a></strong>
-      PageSpeed lost img tag src value when too busy.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/709">
-          Issue 709</a></strong>
-      combine_javascript will kill defer_javascript's pagespeed_no_defer
-      attribute.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/712">
-          Issue 712</a></strong>
-      JS Canonical Library Map is replicated per vhost and per
-      htaccess-subdir.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/719">
-          Issue 719</a></strong>
-      Support random dropping of expensive rewrites.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/721">
-          Issue 721</a></strong>
-      New default values for PSOL options.</li>
-    <li><strong>
-        <a href="http://github.com/apache/incubator-pagespeed-mod/issues/722">
-          Issue 722</a></strong>
-      rewrite_css should not apply to files with an @import in the middle.</li>
-
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/379">
-          ngx_pagespeed Issue 379</a></strong>
-      Less noise on ngx_pagespeed startup.</li>
-
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/421">
-          ngx_pagespeed Issue 421</a></strong>
-      Rewrite non-HEAD non-GET requests.</li>
-
-    <li><strong>
-        <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/427">
-          ngx_pagespeed Issue 427</a></strong>
-      Support <a href="system#rate_limit_background_fetches"
-          >RateLimitBackgroundFetches</a>.</li>
-  </ul>
-
-  <h2 id="release_1.4.26.3-stable">Release 1.4.26.3-stable</h2>
-  <p>This release was made June 5th, 2013. It contains one
-     additional bug fix compared to version
-    <a href="#release_1.4.26.2-beta">1.4.26.2-beta</a>,
-    but is otherwise identical.</p>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-mod/issues/710">Issue
-          710</a></strong> Error message "Index of processing disabled slot
-          out of range" in log file.
-    </li>
-  </ul>
-
-  <h2 id="release_1.5.27.3-beta">Release 1.5.27.3-beta</h2>
-  <p>This release was made May 16th, 2013, and is Nginx-only.</p>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <dl>
-    <dt>Nginx
-    <dd><ul>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/70">Issue
-          70</a></strong> The pagespeed resources were missing etags.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/284">Issue
-          284</a></strong> Default <code>FileCacheInodeLimit</code> to 500000
-          and <code>AvoidRenamingIntrospectiveJavascript</code>
-          to <code>on</code> as in mod_pagespeed.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/321">Issue
-          321</a></strong>
-          The <code>Connection</code>, <code>Vary</code>,
-          <code>Keep-Alive</code>, <code>Transfer-Encoding</code>,
-          and <code>Server</code> headers would sometimes be duplicated.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/323">Issue
-          323</a></strong> Beacons were being served without cache-control
-          headers.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/330">Issue
-          330</a></strong> Responses for html would occasionally be cut short.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/337">Issue
-          337</a></strong> Some pagespeed resources not gzipped.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/366">Issue
-          366</a></strong> Precompiled binaries incompatible with CentOS 5.
-    </li>
-    <li><strong><a
-        href="https://github.com/apache/incubator-pagespeed-ngx/issues/371">Issue
-          371</a></strong> Responses for static resources would occasionally be
-          cut short.
-    </li>
-    </ul>
-    </dd>
-  </dl>
-
-  <h2 id="release_1.5.27.2-beta">Release 1.5.27.2-beta</h2>
-  <p>This release was made May 6th, 2013 for Apache and April 29th, 2013
-    for Nginx.</p>
-  <h3 class="hide-from-toc">Highlights</h3>
-  <p>
-    We have modified or added filters to do in-browser analysis of your pages
-    and report the results back to PageSpeed, allowing it to further optimize
-    the pages for subsequent visitors.
-  </p>
-  <p>
-    The new prioritize_critical_css filter instruments your pages to determine
-    the CSS rules actually used to render them and inlines just those rules;
-    this permits the browser to style the page without fetching external
-    resources, which is especially important for mobile browsing where it can
-    take hundreds of milliseconds to establish a fresh connection.
-  </p>
-  <p>
-    The inline_images, inline_preview_images, and lazyload_images filters now
-    instrument the page to determine the images that are above the fold so as
-    to optimize just them, thereby displaying what the user sees faster.
-  </p>
-  <p>
-    Support for
-    <a href="https://developers.google.com/speed/pagespeed/ngx">Nginx</a>.
-  </p>
-  <h3 class="hide-from-toc">New Features</h3>
-  <ul>
-    <li>The
-      <a href="filter-lazyload-images">lazyload_images</a>
-      filter now uses
-      <a href="filter-lazyload-images#beacons">beacons</a>
-      to determine the above-the-fold images.
-    </li>
-    <li>The
-      <a href="filter-inline-preview-images">inline_preview_images</a>
-      filter now uses
-      <a href="filter-inline-preview-images#beacons">beacons</a>
-      to determine the above-the-fold images.
-    </li>
-    <li>
-      The
-      <a href="reference-image-optimize#inline_images">inline_images</a>
-      filter now uses
-      <a href="filter-image-optimize#inline_beacons">beacons</a>
-      to determine the above-the-fold images; as this is a core filter, beacons
-      will now be used if your RewriteLevel is CoreFilters and you have not
-      <a href="faq#control_beacons">explicitly disabled this filter and/or
-        beacons</a>.
-    </li>
-    <li>
-      <a href="config_filters#beacons">Beacon handling</a>
-      has changed so that by default they are now handled automatically -
-      Apache no longer requires a Location directive although one can be used
-      to <a href="faq#disable_handler">disable beaconing</a>.
-    </li>
-  </ul>
-  <h3 class="hide-from-toc">New Filters</h3>
-  <dl>
-    <dt>
-      <a href="filter-prioritize-critical-css">prioritize_critical_css</a>
-    </dt>
-    <dd>
-      Inline only the CSS used by the page.
-    </dd>
-  </dl>
-  <h3 class="hide-from-toc">New Configuration Options</h3>
-  <ul>
-    <li>
-      <a href="config_filters#beacons">CriticalImagesBeaconEnabled</a>
-    </li>
-    <li>
-      <a href="reference-image-optimize#JpegNumProgressiveScans"
-         >ImageJpegNumProgressiveScans</a>
-    </li>
-    <li>
-      <a href="reference-image-optimize#JpegNumProgressiveScansForSmallScreens"
-         >ImageJpegNumProgressiveScansForSmallScreens</a>
-    </li>
-    <li>
-      <a href="reference-image-optimize#WebpRecompressionQuality"
-         >WebpRecompressionQuality</a>
-    </li>
-    <li>
-      <a href="reference-image-optimize#WebpRecompressionQualityForSmallScreens"
-         >WebpRecompressionQualityForSmallScreens</a>
-    </li>
-  </ul>
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/109">Issue
-          109</a></strong> Make it easy to install on cPanel EasyInstall.
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/508">Issue
-          508</a></strong> Large numbers get rewritten to scientific notation.
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/672">Issue
-          672</a></strong> Disable setting more than one thread for memcached.
-    </li>
-  </ul>
-
-  <h2 id="release_1.3.25.4-stable">Release 1.3.25.4-stable</h2>
-  <p>
-    This release was made May 3rd, 2013. It is a clone of the
-    <a href="#release_1.3.25.4-beta">1.3.25.4-beta release.</a>
-  </p>
-
-  <h2 id="release_1.4.26.2-beta">Release 1.4.26.2-beta</h2>
-  <p>This release was made April 4th, 2013. It fixes a bug that caused
-  the <code>convert_meta_tags</code> filter to incorrectly propagate
-  XHTML mimetypes from some <code>&lt;meta http-equiv&gt;</code> elements
-  to HTTP headers.
-  </p>
-
-  <h2 id="release_1.4.26.1-beta">Release 1.4.26.1-beta</h2>
-  <p>This release was made April 3rd, 2013.</p>
-
-  <h3 class="hide-from-toc">New Features</h3>
-  <dl>
-    <dt>
-      <a href="system#ipro">In-Place Resource Optimization</a>
-    </dt>
-    <dd>PageSpeed can now optimize resources accessed directly from
-      their original URLs, not just those rewritten with the PageSpeed URL
-      format. This can be useful for optimizing resources referenced from other
-      sites and from JavaScript.</dd>
-
-    <dt>
-      <a href="config_filters#preserveurls">Preserve URLs</a>
-    </dt>
-    <dd>
-      Prevents PageSpeed from rewriting URLs in HTML files and instead
-      relies on <a href="system#ipro">In-Place Resource Optimization</a> for
-      resource optimization. This can be useful when it is necessary to be
-      conservative about altering the pages that PageSpeed serves, such as
-      in a forward proxy.
-    </dd>
-
-    <dt>
-      <a href="system#shm_cache">Shared Memory Metadata Cache</a>
-    </dt>
-    <dd>An in-memory cache that shares metadata entries between Apache
-      processes on the same server. This can provide significant performance
-      benefits.</dd>
-
-    <dt>
-      <a href="experiment#Client-Options">Client Options Header</a>
-    </dt>
-    <dd>Support for a new request header that can be used to configure
-      image optimizations.</dd>
-
-  <h3 class="hide-from-toc">Issues Resolved</h3>
-  <ul>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/213">Issue
-          213</a></strong> Fetches for same-domain resources failing with
-          reference to 224.0.0.0 or 127.0.0.1
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/572">Issue
-          572</a></strong> Optimize images referenced from JS
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/609">Issue
-          609</a></strong> ModPagespeedMapProxyDomain does not proxy
-          non-optimized resources
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/615">Issue
-          615</a></strong> Rewriting domains does not work with
-          ModPagespeedMapProxyDomain
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/629">Issue
-          629</a></strong> insert_image_dimensions on <link>-elements causing
-          invalid document
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/630">Issue
-          630</a></strong> CSS parser incorrectly parses "1.em" as "1em"
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/649">Issue
-          649</a></strong> defer_javascript and defer_iframes not turned on for
-          Mobile
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/650">Issue
-          650</a></strong> Images inlined for CSS inlines in HTML even when
-          CssImageInlineMaxBytes is zero
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/652">Issue
-          652</a></strong> Last-Modified header should not be stripped with ...
-    </li>
-    <li><strong><a
-        href="http://github.com/apache/incubator-pagespeed-mod/issues/656">Issue
-          656</a></strong> Compile with GCC 4.7
-    </li>
-  </ul>
-
-<h2 id="release_1.3.25.4-beta">Release 1.3.25.4-beta</h2>
-<p>
-This release was made March 20, 2013. It is a bug fix release.
-</p>
-<h3 class="hide-from-toc">Issues Resolved</h3>
-<ul>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/648">Issue
-    648</a></strong>
-    Combine_css and combine_javascript loses subdirectories occasionally
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/641">Issue
-    641</a></strong>
-    Lazyload Images Defect on Blackberry Browser w/ OS <= 5
-  </li>
-</ul>
-
-<h2 id="release_1.2.24.1-stable">Release 1.2.24.1-stable</h2>
-<p>
-This release was made March 14, 2013.
-It is a clone of the <a href="#release_1.2.24.1-beta">1.2.24.1-beta release.</a>
-</p>
-
-<h2 id="release_1.3.25.3-beta">Release 1.3.25.3-beta</h2>
-<p>
-This release was made February 26, 2013. It fixes a bug in
-1.3.25.2 and 1.3.25.1 that caused excessive log messages to
-be generated on SSL connections.
-</p>
-
-<h2 id="release_1.3.25.2-beta">Release 1.3.25.2-beta</h2>
-<p>
-This release was made February 19, 2013. It fixes a bug in
-1.3.25.1 that caused disk caches to not get cleaned.
-</p>
-
-<h2 id="release_1.3.25.1-beta">Release 1.3.25.1-beta</h2>
-<p>
-This release was made February 15, 2013.
-</p>
-
-<h3 class="hide-from-toc">New Features</h3>
-<dl>
-  <dt><a href="reference-image-optimize#convert_to_webp_lossless">
-      Lossless &amp; transparent WebP support.</a></dt>
-  <dd>PageSpeed can now take advantage of support for lossless &amp;
-      transparent WebP images in some newer browsers,
-      <a href="/speed/webp/docs/webp_lossless_alpha_study#results">which can
-      provide smaller file sizes than PNG.</a></dd>
-
-  <dt><a href="config_filters#add_options_to_urls">Embedding configuration into
-      resource URLs.</a></dt>
-  <dd>You can now configure PageSpeed to embed image &amp; CSS optimization
-      settings in resource URLs. This is useful in multi-server setups where
-      perfectly replicating configuration information may be infeasible.</dd>
-
-  <dt><a href="domains#MapProxyDomain">Better CDN support in MapProxyDomain.
-      </a></dt>
-  <dd>You can now optionally provide a third argument to
-      <a href="domains#MapProxyDomain">ModPagespeedMapProxyDomain</a> in order
-      to use a domains of a separate hosting site for optimized resources
-      being proxied.</dd>
-
-  <dt><a href="filter-lazyload-images">IE6/IE7 support in lazy load images</a>
-  </dt>
-  <dd>The lazy load images filter now also applies for visitors using
-      Internet Explorer versions 6 and 7.</dd>
-
-  <dt><a href="system#shm_lock_manager">Shared memory named locks are now on by
-      default.</a></dt>
-  <dd>This reduces file system load when resources are being optimized.</dd>
-</dl>
-
-<h3 class="hide-from-toc">New Filters</h3>
-<dl>
-  <dt><a href="reference-image-optimize#convert_to_webp_lossless">
-    convert_to_webp_lossless</a>
-  </dt>
-  <dd>Re-compresses GIF and PNG images to lossless WebP.</dd>
-</dl>
-
-<h3 class="hide-from-toc">Changes to Configuration Options</h3>
-<ul>
-<li>
-  <a href="config_filters#add_options_to_urls">ModPagespeedAddOptionsToUrls</a>
-  added
-</li>
-<li>
-  3-argument version of
-  <a href="domains#MapProxyDomain">ModPagespeedMapProxyDomain</a> added
-</li>
-<li>
-  <a href="filter-instrumentation-add#beacon_url">ModPagespeedBeaconUrl</a>
-  arguments no longer required to end in <code>?ets=</code>
-</li>
-</ul>
-
-<h3 class="hide-from-toc">Issues Resolved</h3>
-<ul>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/322">Issue
-    322</a></strong>
-    We should not rewrite &lt;img src=... width=1 height=1&gt; to 1x1
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/563">Issue
-    563</a></strong>
-    Use shared-memory locks by default
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/581">Issue
-    581</a></strong>
-    lazyload_images should be enabled for IE6/IE7
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/582">Issue
-    582</a></strong>
-    CSS returns 403 Forbidden with some proxy configurations
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/587">Issue
-    587</a></strong>
-    Pagespeed should respect Cache-Control: no-transform
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/591">Issue
-    591</a></strong>
-    File cache cleaner improperly removing lock files
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/599">Issue
-    599</a></strong>
-    Support ModPagespeedMapProxyDomain to CDN
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/600">Issue
-    600</a></strong>
-    Proxied resources aren't combined with local resources
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/601">Issue
-    601</a></strong>
-    InitializeNested in CssHierarchy initializes a StringPiece with too wide
-    a scope
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/608">Issue
-    608</a></strong>
-    ModPagespeed=off with no filecachepath causes problems with .pagespeed.
-    resources
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/610">Issue
-    610</a></strong>
-    Crash with some proxy configurations
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/614">Issue
-    614</a></strong>
-    CSS: minify 0.25 -> .25
-  </li>
-
-</ul>
-
-<h2 id="release_1.2.24.1-beta">Release 1.2.24.1-beta</h2>
-<p>
-This release was made December 14, 2012.
-</p>
-
-<h3 class="hide-from-toc">New Features</h3>
-<dl>
-  <dt><a href="domains#MapProxyDomain">Proxying and optimizing resources from
-      trusted domains</a></dt>
-  <dd>It is now possible to proxy and optimize resources whose origin is a
-    trusted domain but isn&rsquo;t itself running PageSpeed.</dd>
-  <dt><a href="reference-image-optimize#pagespeed_no_transform">pagespeed_no_transform
-      attribute for images</a></dt>
-  <dd>The 'Optimize Images' filter won't optimize an image (though it might
-    still cache extend it) if it has the pagespeed_no_transform attribute.</dd>
-  <dt><a href="reference-image-optimize#progressive">convert_jpeg_to_progressive</a>
-    is now a core filter</dt>
-  <dd>The convert_jpeg_to_progressive filter is now enabled by default when
-    ModPagespeedRewriteLevel is CoreFilters.</dd>
-  <dt><a href="build_from_source#js-minify">Standalone JS Minification</a></dt>
-  <dd>A command-line JavaScript minifier is now installed when you install
-    PageSpeed. This generates the same minified code as PageSpeed
-    itself.</dd>
-  <dt><a href="config_filters#checking-filter-config">Show configuration from
-      /mod_pagespeed_statistics</a></dt>
-  <dd>The /mod_pagespeed_statistics page (if enabled) now has a Configuration
-    link that shows the filters enabled on the virtual host.</dd>
-  <dt>Better handling of CSS</dt>
-  <dd>The CSS parser now treats sections it doesn't understand as unparseable
-    sections, which are left unoptimized but no longer completely stop the
-    parser. Among other things this allows files containing such sections to
-    be combined per
-    <a href="http://github.com/apache/incubator-pagespeed-mod/issues/565">issue
-      565</a> as described below.</dd>
-</dl>
-
-<h3 class="hide-from-toc">New Filters</h3>
-<dl>
-  <dt><a href="filter-insert-dns-prefetch">insert_dns_prefetch</a></dt>
-  <dd>Reduce DNS lookup time by pre-resolving at the browser.</dd>
-  <dt><a href="filter-canonicalize-js">canonicalize_javascript_libraries</a></dt>
-  <dd>Identifies popular JavaScript libraries that can be replaced with ones
-    hosted by a JavaScript library hosting service.</dd>
-</dl>
-
-<h3 class="hide-from-toc">New Configuration Options</h3>
-<pre class="prettyprint">
-  <a href="experiment#ModPagespeedFilters">ModPagespeedCssFlattenMaxBytes</a>
-  <a href="config_filters#enabling">ModPagespeedForbidFilters</a>
-  <a href="config_filters#forbidding">ModPagespeedForbidAllDisabledFilters</a>
-  <a href="system#memcached">ModPagespeedMemcachedTimeoutUs</a>
-  <a href="system#rewrite_deadline">ModPagespeedRewriteDeadlinePerFlushMs</a>
-  <a href="restricting_urls#content_length">ModPagespeedMaxCacheableContentLength</a>
-</pre>
-
-<h3 class="hide-from-toc">Issues Resolved</h3>
-<ul>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/199">Issue
-    199</a></strong>
-    multiple references to the same small images all get inlined
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/259">Issue
-    259</a></strong>
-    Provide a way to turn off query-params
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/349">Issue
-    349</a></strong>
-    Serf internal error 20014 in sporadic bursts
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/367">Issue
-    367</a></strong>
-    PageSpeed strips custom HTML headers
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/501">Issue
-    501</a></strong>
-    Add ability to set maximum size of a resource for PageSpeed to optimize
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/516">Issue
-    516</a></strong>
-    add attribute-based mechanism to disable rewriting a resource
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/533">Issue
-    533</a></strong>
-    Look at response-headers in addition to request-headers/query-params for
-    ModPagespeed=* options
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/557">Issue
-    557</a></strong>
-    Add feature to proxy resources whose origin servers don't run PageSpeed
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/565">Issue
-    565</a></strong>
-    css_combine overly pessimistic (should combine even if CSS cannot be fully
-    parsed)
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/571">Issue
-    571</a></strong>
-    Add option to set rewrite deadline from config
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/573">Issue
-    573</a></strong>
-    local storage cache doesn't work
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/574">Issue
-    574</a></strong>
-    CSS compress removes quotes and backslashes
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/575">Issue
-    575</a></strong>
-    CSS selector broken by removing quote
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/585">Issue
-    585</a></strong>
-    convert_jpeg_to_progressive should be added to core-filter-set
-  </li>
-</ul>
-
-<h2 id="release_1.1.23.2-stable">Release 1.1.23.2-stable</h2>
-<p>
-This release was made December 5, 2012.
-It is a clone of the 1.1.23.2-beta release.
-</p>
-
-<h2 id="release_1.1.23.2-beta">Release 1.1.23.2-beta</h2>
-<p>
-This release was made November 15, 2012.
-</p>
-<h3 class="hide-from-toc">Issues Resolved</h3>
-<ul>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/567">Issue
-    567</a></strong>
-    [error] "Shutting down PageSpeed child" after binary upgrade
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/568">Issue
-    568</a></strong>
-    Cache Flush reported excessively
-  </li>
-  <li>
-    Excessive logging when image type is not detected
-  </li>
-  <li>
-  Fix Lintian warning when installing deb package
-  </li>
-</ul>
-
-<h2 id="release_1.1.23.1-beta">Release 1.1.23.1-beta</h2>
-<p>
-This release was made November 12, 2012.
-</p>
-<h3 class="hide-from-toc">New Features</h3>
-<dl>
-  <dt><a href="system#memcached">memcached support</a>
-    <dd>PageSpeed now includes support for using <a
-    href="http://memcached.org/">memcached</a> as an alternative to the
-    file-based cache. Using memcached allows multiple servers to share optimized
-    resources, reducing server load and improving resource utilization.
-  <dt><a href="https_support#spdy_configuration">SPDY configuration support</a>
-    <dd>PageSpeed can now be conditionally configured to behave differently
-    when accessed through SPDY.
-  <dt>CSS3 support
-    <dd>Parsing of @media tags is now supported, and handling of unsupported @
-    tags no longer causes parsing to fail.
-  <dt><a href="configuration#virtual-hosts-and-stats">Per-Vhost statistics</a>
-    <dd>PageSpeed_statistics can now provide statistics on a per-vhost
-    basis, through the ModPagespeedUsePerVHostStatistics option.
-  <dt>Expanded default filter set
-    <dd><a href="filter-flatten-css-imports">flatten_css_imports</a> and <a
-    href="filter-css-rewrite">fallback_rewrite_css_urls</a> are now enabled in
-    <a href="config_filters">CoreFilters</a>.
-  <dt><a href="build_from_source#debug-css">Standalone CSS parser</a>
-    <dd>In situations where PageSpeed is unable to minify a CSS resource,
-    the new standalone CSS parser can be used to debug why the CSS file could
-    not parsed.
-</dl>
-
-<h3 class="hide-from-toc">New Filters</h3>
-<dl>
-  <dt><a href="filter-cache-extend-pdfs">extend_cache_pdfs</a>
-    <dd>Extends the cache lifetime of PDFs. This is beneficial when using a CDN,
-    as the CDN can now serve PDFs without having to check the freshness of the
-    content with the origin, while still remaining responsive to PDF updates.
-  <dt><a href="filter-css-rewrite">fallback_rewrite_css_urls</a>
-    <dd>Enables rewriting of URLs in CSS files if the CSS cannot successfully be
-    parsed. This filter is in the CoreFilters set.
-  <dt><a href="filter-pedantic">pedantic</a>
-    <dd>This filter makes PageSpeed more HTML4 compliant by adding type
-    attributes to style and script tags. This filter is not needed in most
-    cases, as adding those attributes has no effect, but it can be enabled to
-    fix errors reported by HTML validators.
-  <dt>Enhanced image rewrite filter control
-    <dd>Finer-grained control for <a href="filter-image-optimize">image rewrite
-    optimizations</a> is now provided. Individual filters are now exposed for
-    metadata removal and image conversion.
-</dl>
-
-<h3 class="hide-from-toc">New Configuration Options</h3>
-<pre class="prettyprint">
-  <a href="experiment#ModPagespeedFilters">ModPagespeedCssFlattenMaxBytes</a>
-  <a href="config_filters#custom-fetch-headers">ModPagespeedCustomFetchHeader</a>
-  <a href="https_support#spdy_configuration">&lt;ModPagespeedIf&gt;</a>
-  <a href="reference-image-optimize#ImageRecompressionQuality">
-    ModPagespeedImageRecompressionQuality</a>
-  <a href="reference-image-optimize#ImageRecompressionQuality">
-    ModPagespeedWebpRecompressionQuality</a>
-  <a href="domains#ModPagespeedLoadFromFile">ModPagespeedLoadFromFileMatch</a>
-  <a href="system#memcached">ModPagespeedMemcachedServers</a>
-  <a href="system#memcached">ModPagespeedMemcachedThreads</a>
-  <a href="system#file_cache">ModPagespeedFileCacheInodeLimit</a>
-  <a href="configuration#virtual-hosts">ModPagespeedInhertVHostConfig</a>
-  <a href="configuration#virtual-hosts-and-stats">ModPagespeedUsePerVHostStatistics</a>
-  <a href="https_support#RespectXForwardedProto">ModPagespeedRespectXForwardedProto</a>
-</pre>
-
-<h3 class="hide-from-toc">Issues Resolved</h3>
-<ul>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/177">Issue
-    177</a></strong>
-    mod_pagespeed_beacon returns 404 with VirtualHost
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/335">Issue
-    335</a></strong>
-    Fetching sharded resource from original domain
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/373">Issue
-    373</a></strong>
-    Default locations for cache/generated files should respect the FHS
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/377">Issue
-    377</a></strong>
-    Add wildcard support to ModPagespeedLoadFromFile
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/392">Issue
-    392</a></strong>
-    Lazyily Load Images on Webkit Browsers and the Image Input Element
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/411">Issue
-    411</a></strong>
-    first 3 histograms under /mod_pagespeed_statistics are empty
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/416">Issue
-    416</a></strong>
-    outline_css does not inherit CDN rewrite rules from
-    ModPagespeedMapRewriteDomain
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/426">Issue
-    426</a></strong>
-    Unicode value 0x0 is not valid for interchange
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/430">Issue
-    430</a></strong>
-    Per VHOST mod_pagespeed_statistics
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/434">Issue
-    434</a></strong>
-    Provide a pagespeed.conf option to append a custom Header (key-&gt;value)
-    to the Serf fetcher
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/439">Issue
-    439</a></strong>
-    Use mimetype rather than doctype for HTML decisions
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/448">Issue
-    448</a></strong>
-    mod_pagespeed_message uses wrong timezone
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/449">Issue
-    449</a></strong>
-    Do not strip image dimensions when an inlined image is enlarged
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/450">Issue
-    450</a></strong>
-    disable sharding when running under SPDY in general, mod_spdy in
-    particular
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/454">Issue
-    454</a></strong>
-    mod_pagespeed_ap24.so: cannot open shared object file: No such file or
-    directory
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/457">Issue
-    457</a></strong>
-    Resource regeneration doesn't respect custom options
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/461">Issue
-    461</a></strong>
-    LoadFromFile blacklist support
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/462">Issue
-    462</a></strong>
-    file cache should enforce a maximum inode count.
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/463">Issue
-    463</a></strong>
-    collapse_whitespace missing whitespace removal in one location
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/475">Issue
-    475</a></strong>
-    Add memcached support as an alternative to the file-based cache.
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/477">Issue
-    477</a></strong>
-    Blacklist Android Chrome for webp conversion
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/480">Issue
-    480</a></strong>
-    defer_javascript should turn off for requests with header XMLHttpRequest
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/488">Issue
-    488</a></strong>
-    LoadFromFile + memcached -&gt; meta-data cache timestamp problems
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/490">Issue
-    490</a></strong>
-    Make css_flatten_imports a core filter
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/491">Issue
-    491</a></strong>
-    inline_import_to_link should handle multiple @import statements
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/493">Issue
-    493</a></strong>
-      Is trim_urls in core filter set?
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/494">Issue
-    494</a></strong>
-    pagespeed css fetched by CDN result in cache-control:private,max-age=300
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/495">Issue
-    495</a></strong>
-    VirtualHosts should inherit configuration from root
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/499">Issue
-    499</a></strong>
-    Page load count based on actual HTML rewrites (not beacon count)
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/517">Issue
-    517</a></strong>
-    lazyload_images should respect ModPagespeedDisallow directive
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/523">Issue
-    523</a></strong>
-    Rewrite &lt;link rel="alternative stylesheet"&gt;
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/529">Issue
-    529</a></strong>
-    convert_gif_to_png doc is missing
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/532">Issue
-    532</a></strong>
-    webmin through an apache proxy fails
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/535">Issue
-    535</a></strong>
-    cache size explosion issue due to css in style tags
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/536">Issue
-    536</a></strong>
-    file-cache should count disk usage, not byte-count, when doing garbage
-    collection
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/542">Issue
-    542</a></strong>
-    Site with html in CDATA tag in script tag gets broken by rewrite_javascript
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/546">Issue
-    546</a></strong>
-    Respect X-Forwarded-Proto
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/549">Issue
-    549</a></strong>
-    Make unit tests &amp; system tests work in open-source flow without
-    memcached running.
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/555">Issue
-    555</a></strong>
-    5 configuration settings documented as being settable in .htaccess don't
-    work there.
-</ul>
-
-<h2 id="release_1.0.22.7-stable">Release 1.0.22.7</h2>
-<p>
-This release was made October 11, 2012. It is functionally identical to release
-0.10.22.7.
-</p>
-
-<h2 id="release_0.10.22.7">Release 0.10.22.7</h2>
-<p>
-This release was made September 28, 2012.  It adds
-the <code>pagespeed.conf</code> configuration option <a
-href="domains#fetch_servers"><code
->ModPagespeedDangerPermitFetchFromUnknownHosts</code></a>.
-</p>
-
-<h2 id="release_0.10.22.6">Release 0.10.22.6</h2>
-<p>
-This release was made September 12, 2012. It is a security update addressing
-two high-priority issues, as further described in
-<a href="announce-0.10.22.6.html">this article</a>.
-</p>
-
-<h2 id="release_0.10.22.4">Release 0.10.22.4</h2>
-<p>
-This release was made Jun 1, 2012. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/133">Issue
-    133</a></strong>
-    Provide easier mechanism to flush server cache
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/152">Issue
-    152</a></strong>
-    Add support and testing for Worker MPM
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/253">Issue
-    253</a></strong>
-    combine_css should scan for syntax errors to avoid combining broken
-        files
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/289">Issue
-    289</a></strong>
-    Problem Compiling ModPagespeed on Arch Linux
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/321">Issue
-    321</a></strong>
-    Hide or obfuscate X-Mod-Pagespeed header
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/334">Issue
-    334</a></strong>
-    PageSpeed uses too many threads -- in proportion to the number
-        of vhosts
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/349">Issue
-    349</a></strong>
-     Serf internal error 20014 in sporadic bursts
-   </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/375">Issue
-    375</a></strong>
-    fails to compile on linux kernel 3.0+
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/380">Issue
-    380</a></strong>
-    Mod PageSpeed 0.10.21.2-1381 fails to retrieve combined objects with error,
-    "Invalid escaped URL segment"
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/386">Issue
-    386</a></strong>
-    Deadline exceeded for rewrite
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/393">Issue
-    393</a></strong>
-    Mod Pagespeed breaks JqueryMobile ajax request
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/405">Issue
-    405</a></strong>
-    ModPagespeedLoadFromFile doesn't set the Content-Type correctly when query
-    params exist
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/409">Issue
-    409</a></strong>
-    add_instrumentation filter breaks JS execution
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/417">Issue
-    417</a></strong>
-    Javascript injected into page by PageSpeed is not minified
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/425">Issue
-    425</a></strong>
-    HTML URL attributes with multi-byte characters may be misinterpreted
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/427">Issue
-    427</a></strong>
-    compress stylesheet url fails to decode when optimized by pagespeed
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/428">Issue
-    428</a></strong>
-    <a href="filter-domain-rewrite#DomainRewriteHyperlinks"
-       >DomainRewriteHyperlinks</a> should not work with Domain Sharding
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/442">Issue
-    442</a></strong>
-    lazyload_images triggers a JavaScript error on Internet Explorer 8
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/444">Issue
-    444</a></strong>
-    Relative URLs are not absolutified in unparseable CSS
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/445">Issue
-    445</a></strong>
-    CSS rewriters don't handle a CSS file having a BOM
-  </li>
-  <li><strong><a
-    href="http://github.com/apache/incubator-pagespeed-mod/issues/446">Issue
-    446</a></strong>
-    Handle BOMs in JS better when combining
-  </li>
-</ul>
-<p>
-This release adds some new <code>pagespeed.conf</code> options:
-</p>
-<pre class="prettyprint">
-  <a href="restricting_urls#aris">AvoidRenamingIntrospectiveJavascript</a>
-  <a href="filter-domain-rewrite#DomainRewriteHyperlinks"
-     >DomainRewriteHyperlinks</a>
-  <a href="configuration#XHeaderValue">XHeaderValue</a>
-  <a href="system#purge_options">CacheFlushPollIntervalSec</a>
-  <a href="system#purge_options">CacheFlushFilename</a>
-  <a href="filter-instrumentation-add#methodology">ReportUnloadTime</a>
-  <a href="configuration#ListOutstandingUrlsOnError"
-     >ListOutstandingUrlsOnError</a>
-  <a href="system#tune_thread">NumExpensiveRewriteThreads</a>
-  <a href="system#tune_thread">NumRewriteThreads</a>
-  <a href="filter-insert-ga">AnalyticsID</a>
-</pre>
-<p>
-This release includes the following miscellanea:
-</p>
-<ul>
-  <li>The handling of HTML escapes in element attributes has been made more
-      robust.</li>
-  <li>We are removing "trim_urls" from the Core set to better support Ajax
-      loading of HTML from a different path
-      (<a href="http://github.com/apache/incubator-pagespeed-mod/issues/393">Issue
-      393</a>).</li>
-  <li>Improved memory efficiency during HTML parsing and rewriting of large
-      documents. Many improvements to quality and performance of the rewriting
-      engine.</li>
-</ul>
-<h2 id="release_0.10.21.2">Release 0.10.21.2</h2>
-<p>
-This release was made Feb 8, 2012. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/48">Issue
-      48</a></strong>
-    Support for CSS @import
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/108">Issue
-      108</a></strong>
-    Parse CSS3 and common proprietary syntaxes
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/186">Issue
-      186</a></strong>
-    Wysiwyg 2.2 and CKEditor 3.5 on Drupal + PageSpeed breaks
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/196">Issue
-      196</a></strong>
-    InlineCss not parsing @import "url" statements
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/214">Issue
-      214</a></strong>
-    insert_image_dimensions can break an image's aspect ratio
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/332">Issue
-      332</a></strong>
-    LoadFromFile should convert %20 to space in URLs
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/338">Issue
-      338</a></strong>
-    combine_css needs to strip BOM markers before combining
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/340">Issue
-      340</a></strong>
-    terminate called after throwing an instance of 'std::length_error'
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/352">Issue
-      352</a></strong>
-    Lightbox2 + PageSpeed not working
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/354">Issue
-      354</a></strong>
-    CSS filter ignores external CSS links with <code>rel='Stylesheet'</code>
-    instead of <code>rel='stylesheet'</code>
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/355">Issue
-      355</a></strong>
-    DoS under Debian/apache2-mpm-itk
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/356">Issue
-      356</a></strong>
-    Sites with HTTPS users and no HTTPS PageSpeed configuration get log spew
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/367">Issue
-      367</a></strong>
-    PageSpeed strips custom HTML headers
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/368">Issue
-      368</a></strong>
-    Relative URL not handled properly in inlined css
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/372">Issue
-      372</a></strong>
-    meta refresh tags within NOSCRIPT tags get converted to HTTP headers even
-    when javascript is enabled
-  </li>
-</ul>
-
-<h2 id="release_0.10.19.5">Release 0.10.19.5</h2>
-<p>
-This release was made Dec 12, 2011. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/355">Issue
-      355</a></strong>
-    DoS under Debian/apache2-mpm-itk
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/357">Issue
-      357</a></strong>
-    ModPagespeedLoadFromFile should strip query params.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/360">Issue
-      360</a></strong>
-    meta-tag charset breaks opera.
-  </li>
-</ul>
-
-<h2 id="release_0.10.19.3">Release 0.10.19.3</h2>
-<p>
-This release was Nov 29, 2011. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/249">Issue
-      249</a></strong>
-    Rewrite CSS in style tags
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/295">Issue
-      295</a></strong>
-    Incorrectly resolved relative urls in rewritten CSS
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/303">Issue
-      303</a></strong>
-    Trim URLs in CSS that were absolutified
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/324">Issue
-      324</a></strong>
-    Non-caching-related headers are stripped from resources
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/338">Issue
-      338</a></strong>
-    combine_css needs to strip BOM markers before combining
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/344">Issue
-      344</a></strong>
-    combine_javascript not combining javascript when names became too long
-  </li>
-</ul>
-
-<h2 id="release_0.9.18.6">Release 0.9.18.6</h2>
-<p>
-This release was made Aug 4, 2011. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/103">Issue
-      103</a></strong>
-    Pay attention to Vary headers for caching of sub-responses
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/143">Issue
-      143</a></strong>
-    Switch resizing algorithm to CV_INTER_AREA
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/215">Issue
-      215</a></strong>
-    Statistics failing with "cannot lock mutex: Invalid argument"
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/229">Issue
-      229</a></strong>
-    Inline images sent to browsers that don't support inline images
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/241">Issue
-      241</a></strong>
-    Respect Vary headers for resources
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/247">Issue
-      247</a></strong>
-    HtmlElement::AttributeValue returns NULL ambiguity
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/265">Issue
-      265</a></strong>
-    Serf unittest failure outside USA because of redirect
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/300">
-      Issue 300</a></strong>
-    Recurrence of <a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/285">Issue
-      285</a> under X-Mod-Pagespeed:0.9.17.7-716
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/301">Issue
-      301</a></strong>
-    Add WebP support for image compression
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/306">Issue
-      306</a></strong>
-    combine_css emits "&lt;link ...&gt;" without the proper "/" before the
-    "&gt;" with doctype XHTML
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/309">Issue
-      309</a></strong>
-    Preserve CDATA tags on scripts in XHTML
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/311">Issue
-      311</a></strong>
-    rewrite_domains cuts off dynamic parts of image URLs
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/314">Issue
-      314</a></strong>
-    Some user agents don't understand protocol-relative urls in some
-    circumstances
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/316">Issue
-      316</a></strong>
-    Don't include image-in-page dimensions when resizing is off
-  </li>
-</ul>
-
-<h2 id="release_0.9.17.6">Release 0.9.17.6</h2>
-<p>
-This release was made May 16, 2011. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/285">Issue
-      285</a></strong>
-    Removing cache per FAQ causes PageSpeed to re-create "cache" location
-    with root permissions
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/287">Issue
-      287</a></strong>
-    combine_javascript conflict with rewrite_domains
-  </li>
-</ul>
-
-<h2 id="release_0.9.17.3">Release 0.9.17.3</h2>
-<p>
-This release was made May 6, 2011. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/71">Issue
-      71</a></strong>
-    Apache cannot restart if too many mutices from stats remain from unclean
-        exits
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/97">Issue
-      97</a></strong>
-    Keep relative URLs relative after rewrite.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/104">Issue
-      104</a></strong>
-    CSS optimizations are conservative in the presence of extra attributes
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/116">Issue
-      116</a></strong>
-    Need documentation describing how to configure VirtualHost with
-    PageSpeed
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/173">Issue
-      173</a></strong>
-    Rewrite resources when that moves them to a new domain
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/181">Issue
-      181</a></strong>
-    Filters need to check that they do not make URLs that are too long
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/182">Issue
-      182</a></strong>
-    Server-side includes are stripped by remove_comments and rewrite_css
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/194">Issue
-      194</a></strong>
-    conflict with mod_speling
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/237">Issue
-      237</a></strong>
-    need a way to selectively keep some comments
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/238">Issue
-      238</a></strong>
-    outline_javascript generating broken links
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/239">Issue
-      239</a></strong>
-    Add support of GIF files in rewrite_images filter, both from HTML and CSS
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/248">Issue
-      248</a></strong>
-    Inappropriately converting / -&gt; /index.html while mirroring sites with
-    Slurping
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/252">Issue
-      252</a></strong>
-    combine_css on XHTML file with unbalanced tags can strip elements
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/255">Issue
-      255</a></strong>
-    script tags missing from rewritten HTML output after inlined css
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/264">Issue
-      264</a></strong>
-    domain sharding &amp; rewriting should apply to resources that are not
-    cacheable
-  </li>
-</ul>
-
-<h2 id="release_0.9.16.9">Release 0.9.16.9</h2>
-<p>
-This release was made March 16, 2011. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/182">Issue
-      182</a></strong>
-    Server-side includes are stripped by remove_comments and rewrite_css
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/194">Issue
-      194</a></strong>
-    conflict with mod_speling
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/234">Issue
-      234</a></strong>
-    Wrong document URL when mod_rewrite used
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/235">Issue
-      235</a></strong>
-    Invalid command 'ModPagespeedLowercaseHtmlNames'
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/238">Issue
-      238</a></strong>
-    outline_javascript generating broken links
-  </li>
-</ul>
-
-<h2 id="release_0.9.16.3">Release 0.9.16.3</h2>
-<p>
-This release was made March 9, 2011. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/74">Issue
-      74</a></strong>
-    Wrong Hostname in relative path with mod_proxy
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/83">Issue
-      83</a></strong>
-    Add domain sharding
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/87">Issue
-      87</a></strong>
-    Optimize images in css files
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/153">Issue
-      153</a></strong>
-    Treat the entire input file, including tags and attribute names, as case
-    sensitive
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/173">Issue
-      173</a></strong>
-    Rewrite resources when that moves them to a new domain
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/183">Issue
-      183</a></strong>
-    Make !clean!time! Errors into warnings (or infos) and make them more
-    descriptive
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/197">Issue
-      197</a></strong>
-    CSS parser breaks counter()
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/202">Issue
-      202</a></strong>
-    CSS resource fetch failed followed by another error
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/203">Issue
-      203</a></strong>
-    Chunked encoding + Content-Length = broken
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/206">Issue
-      206</a></strong>
-    Retain case of all tag and attribute names by default.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/219">Issue
-      219</a></strong>
-    HandleResponse called on URL which is already erased
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/221">Issue
-      221</a></strong>
-    Bad hostname when mod_proxy is used to make Apache a reverse proxy
-  </li>
-</ul>
-
-<h2 id="release_0.9.15.3">Release 0.9.15.3</h2>
-<p>
-This release was made Jan 28, 2011. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/124">Issue
-      124</a></strong>
-    Error log noise with relative img links.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/161">Issue
-      161</a></strong>
-    Add directive to disable combining CSS files across paths.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/170">Issue
-      170</a></strong>
-    Should not rewrite 404 error pages.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/176">Issue
-      176</a></strong>
-    Increase the URL segment limitation to 1k characters, but allow a user-level
-    override to tighten it.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/179">Issue
-      179</a></strong>
-    Caching headers are not set correctly on some sites.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/192">Issue
-      192</a></strong>
-    Fix problems with trailing junk &amp; queries after resource URLs.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/193">Issue
-      193</a></strong>
-    /mod_pagespeed_beacon returning a 404.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/196">Issue
-      196</a></strong>
-    Don't inline css with <code>@import</code> statements, until we add code to
-    absolutify them.
-  </li>
-</ul>
-
-<h2 id="release_0.9.14.6">Release 0.9.14.6</h2>
-<p>
-This release was made Jan 7, 2011. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/53">Issue
-      53</a></strong>
-    Firebug errors (404s) when mousing over images rewritten with PageSpeed
-    enabled.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/63">Issue
-      63</a></strong>
-    Breaks Gallery2 installation (issues with mod_rewrite)
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/125">Issue
-      125</a></strong>
-    Inline JavaScript breaks XHTML strict validation
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/126">Issue
-      126</a></strong>
-    font: menu not rewritten correctly
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/134">Issue
-      134</a></strong>
-    Reached end of document without finding body is an error, should be a
-    warning or less
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/144">Issue
-      144</a></strong>
-    Have HTML rewriting respect ModPagespeedDisallow
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/145">Issue
-      145</a></strong>
-    Allow ModPagespeed=on when "ModPagespeed off"
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/146">Issue
-      146</a></strong>
-    Add New Directive "ModPagespeedStatistics off"
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/149">Issue
-      149</a></strong>
-    Filters need to check that they do not make URLs that are too long
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/154">Issue
-      154</a></strong>
-    PageSpeed breaks forms in IE 8 with compatibility mode
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/157">Issue
-      157</a></strong>
-    PageSpeed's caching headers break image caching on IE8
-  </li>
-</ul>
-
-<h2 id="release_0.9.11.5">Release 0.9.11.5</h2>
-<p>
-This release was made Dec 7, 2010. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/131">Issue
-      131</a></strong>
-    Invalid command 'ModPagespeedImgMaxRewritesAtOnce'
-  </li>
-</ul>
-
-<h2 id="release_0.9.11.3">Release 0.9.11.3</h2>
-<p>
-This release was made Dec 3, 2010. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/4">Issue
-      4</a></strong>
-    PageSpeed does not handle application/xhtml+xml
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/34">Issue
-      34</a></strong>
-    when the server provides an Expires header, our cache extension may not work
-    everywhere
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/38">Issue
-      38</a></strong>
-    js_tinyMCE breaks when it's name is changed
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/56">Issue
-      56</a></strong>
-    Feature: Moving images to another host name
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/61">Issue
-      61</a></strong>
-    Shorten hash
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/76">Issue
-      76</a></strong>
-    Allow explicit control over CSS concat etc
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/81">Issue
-      81</a></strong>
-    URLs with UTF-8 characters in them cannot be rewritten.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/90">Issue
-      90</a></strong>
-    Support origin mapping
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/99">Issue
-      99</a></strong>
-    Strange Last-Modified Header Response
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/107">Issue
-      107</a></strong>
-    Rewriting images fails to load original image from alternative port
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/112">Issue
-      112</a></strong>
-    Support if-modified-since
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/113">Issue
-      113</a></strong>
-    Logfile error for CSS files
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/114">Issue
-      114</a></strong>
-    query-params in origin URL should have  escaped in rewritten URL
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/115">Issue
-      115</a></strong>
-    Modpagespeed error when access wikimedia
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/117">Issue
-      117</a></strong>
-    Apache servers behind a load balancer on virtual IP cannot find input
-    resources
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/118">Issue
-      118</a></strong>
-    PageSpeed doesn't support Application/ce-html+xml MIME type
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/121">Issue
-      121</a></strong>
-    CSS minification failes when font: shorthand
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/128">Issue
-      128</a></strong>
-    list-style-type: none rejected by CSS parser.
-  </li>
-</ul>
-
-<h2 id="release_0.9.8.1-250">Release 0.9.8.1-250</h2>
-<p>
-This release was made Nov 23, 2010. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/6">Issue
-      6</a></strong>
-    Page speed running on debian with mpm-worker + fcgi causes lots of errors
-    written to apache log
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/24">Issue
-      24</a></strong>
-    Compile failure under g++ 4.5 on opensuse 11.3
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/34">Issue
-      34</a></strong>
-    when the server provides an Expires header, our cache extension may not work
-    everywhere
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/35">Issue
-      35</a></strong>
-    should not add 'public' to Cache-Control
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/43">Issue
-      43</a></strong>
-    Some png images not loading
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/46">Issue
-      46</a></strong>
-    url causes Apache to become unresponsive due to high load.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/52">Issue
-      52</a></strong>
-    Docs incorrectly state that PageSpeed generates uncompressed HTML
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/60">Issue
-      60</a></strong>
-    combine_css breaks background image url due to mis-handling of quotes.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/62">Issue
-      62</a></strong>
-    Apache children segfaulting using Event MPM
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/69">Issue
-      69</a></strong>
-    Compile error Debian Etch / gcc-42
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/79">Issue
-      79</a></strong>
-    Memory corruption
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/82">Issue
-      82</a></strong>
-    Poll success status 0 (111) in image-rich site
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/84">Issue
-      84</a></strong>
-    mod-pagespeed-beta-0.9.0.0-128 incompatible with Trac 0.12
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/85">Issue
-      85</a></strong>
-    Infinite recursion of PageSpeed requesting its own pages
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/89">Issue
-      89</a></strong>
-    source does not exist in sh
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/91">Issue
-      91</a></strong>
-    Broken link on overview.html
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/94">Issue
-      94</a></strong>
-    base URL not respected for image rewriting
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/95">Issue
-      95</a></strong>
-    Mysterious 404s reported in access.log from Serf of the right file at the
-    wrong path.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/98">Issue
-      98</a></strong>
-    CHECK failure on malformed html comment syntax
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/99">Issue
-      99</a></strong>
-    Strange Last-Modified Header Response
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/100">Issue
-      100</a></strong>
-    extend_cache breaks WHMCS site..
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/102">Issue
-      102</a></strong>
-    doc that elide_attributes_filter has specific risks
-  </li>
-</ul>
-
-<h2 id="release_0.9.8.1-215">Release 0.9.8.1-215</h2>
-<p>
-This release was made Nov 16, 2010. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/3">Issue
-      3</a></strong>
-    CSS Not Loading
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/7">Issue
-      7</a></strong>
-    insert_img_dimensions not detecting existing dimensions
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/9">Issue
-      9</a></strong>
-    rfc - generated cache names are too long
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/14">Issue
-      14</a></strong>
-    Invalid url relative to '...'
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/21">Issue
-      21</a></strong>
-    transparency of inlined PNG image
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/25">Issue
-      25</a></strong>
-    Internal Server Error - Not actually an error
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/26">Issue
-      26</a></strong>
-    PNG being scanned as HTML
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/27">Issue
-      27</a></strong>
-    Internal Server Error for 304 - not actually an error
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/33">Issue
-      33</a></strong>
-    Do not warn on "Invalid url relative to..."
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/36">Issue
-      36</a></strong>
-    Data URLs, such as those created by image inlining, clutter the log
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/37">Issue
-      37</a></strong>
-    javascript with name rewriten not found
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/38">Issue
-      38</a></strong>
-    javascripts doesn't work with rewrite_javascript enabled
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/44">Issue
-      44</a></strong>
-    Do not warn on 'Failed to create or read input resource'
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/50">Issue
-      50</a></strong>
-    rewrite_css filter incompatible with CSS3 media queries
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/51">Issue
-      51</a></strong>
-    rewrite_css removes rgba color values
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/64">Issue
-      64</a></strong>
-    Remove 'Failed to load resource' message from rewrite_css filter.
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/66">Issue
-      66</a></strong>
-    rewrite_css removes transform values
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/73">Issue
-      73</a></strong>
-    false warning: end of document without finding body
-  </li>
-</ul>
-
-<h2 id="release_0.9.1.1-171">Release 0.9.1.1-171</h2>
-<p>
-This release was made Nov 8, 2010. It fixes the following issues:
-</p>
-<ul>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/5">Issue
-      5</a></strong>
-    Incorrectly handling not-quoted font-family names with spaces
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/7">Issue
-      7</a></strong>
-    insert_img_dimensions not detecting existing dimensions
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/10">Issue
-      10</a></strong>
-    A whole lot of HTTPD processes
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/11">Issue
-      11</a></strong>
-    After installing module server becomes unusable
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/18">Issue
-      18</a></strong>
-    LogLevel seems to be ignored
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/25">Issue
-      25</a></strong>
-    Misleading server error message
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/30">Issue
-      30</a></strong>
-    Very slow memory leak
-  </li>
-  <li><strong><a
-      href="http://github.com/apache/incubator-pagespeed-mod/issues/33">Issue
-      33</a></strong>
-    Do not warn on "Invalid url relative to..."
-  </li>
-</ul>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/restricting_urls.html b/doc/restricting_urls.html
deleted file mode 100644
index 1df0117..0000000
--- a/doc/restricting_urls.html
+++ /dev/null
@@ -1,300 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed URL Control</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed URL Control</h1>
-<h2 id="disallow">Restricting Rewriting Via Wildcards:  Allow and Disallow</h2>
-
-<p>By default, all HTML files served by your server and all resources (CSS,
-images, JavaScript) found in HTML files whose origin matches the HTML file, or
-whose origin is authorized via <a href="domains#auth_domains">Domain</a>, will
-be rewritten.  However, this can be restricted by using wildcards, using the
-directives:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedAllow wildcard_spec
-ModPagespeedDisallow wildcard_spec</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed Allow wildcard_spec;
-pagespeed Disallow wildcard_spec;</pre>
-</dl>
-
-<p>These directives are evaluated in sequence for each resource, to determine
-whether the resource should be consider for rewriting.  This is best
-considered with an example.</p>
-
-<h3>Example 1: Excluding JavaScript files that cannot be rewritten</h3>
-
-<p>Some JavaScript files are sensitive to their own names as they
-traverse the DOM.  Therefore any rewriting on these files is invalid.
-We cannot cache-extend them or minifiy them.  When such files are
-identified, we can exclude from the rewriting process via:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDisallow "*/jquery-ui-1.8.2.custom.min.js"
-ModPagespeedDisallow "*/js_tinyMCE.js"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed Disallow "*/jquery-ui-1.8.2.custom.min.js";
-pagespeed Disallow "*/js_tinyMCE.js";</pre>
-</dl>
-
-<h3>Example2: Specifying explicitly which types of files can be rewritten</h3>
-
-<p>By default, every resource referenced by HTML from authorized domains is
-rewritten, as if there was an implicit</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedAllow "*"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed Allow "*";</pre>
-</dl>
-
-<p>at the beginning of every configuration.  To change the default to
-be exclusive, issue</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDisallow "*"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed Disallow "*";</pre>
-</dl>
-
-<p>and then follow it with which files you want to include.  For example:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedDisallow "*"
-ModPagespeedAllow "http://*example.com/*.html"
-ModPagespeedAllow "http://*example.com/*/images/*.png"
-ModPagespeedAllow "http://*example.com/*/styles/*.css"
-ModPagespeedDisallow "*/images/captcha/*"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed Disallow "*";
-pagespeed Allow "http://*example.com/*.html";
-pagespeed Allow "http://*example.com/*/images/*.png";
-pagespeed Allow "http://*example.com/*/styles/*.css";
-pagespeed Disallow "*/images/captcha/*";</pre>
-</dl>
-
-<p>The <em>later</em> directives take priority over the earlier ones, so
-the Captcha images will not be rewritten.</p>
-
-<p class="note">
-<strong>Note:</strong> Wildcards include <code>*</code> which matches
-any 0 or more characters, and <code>?</code>, which matches exactly
-one character.  Unlike Unix shells, the <code>/</code> directory
-separator is not special, and can be matched by either <code>*</code>
-or <code>?</code>.  The resources are always expanded into their absolute
-form before expanding.
-</p>
-
-<p class="note">
-<strong>Note:</strong> The wildcard will be matched against the full URL
-including any query parameters.  For example, if you want to match URL
-<code>http://example.com/index.jsp?test=xyz</code> you could use</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedAllow "*.jsp*"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed Allow "*.jsp*";</pre>
-</dl>
-
-<p>If you were to omit the trailing <code>*</code>, then URLs with query-params
-would not match.</p>
-
-<p>
-These directives can be used
-in <a href="configuration#htaccess">location-specific configuration
-sections</a>.
-</p>
-
-<p class="note">
-<strong>Note:</strong> The names in wildcards are <strong>not</strong> evaluated
-with respect to the <a href="configuration#htaccess">location specific
-configuration</a>; the wildcards are evaluated against the fully expanded URL.
-So if you want to match <code>js_tinyMCE.js</code> you must prefix it with its
-full path, including <code>http://</code> and domain, or use a wildcard, as
-shown above.
-</p>
-
-<h2 id="cross_paths">Restricting PageSpeed from combining resources across
-paths</h2>
-<p>By default, filters that combine multiple resources together are allowed to
-combine multiple resources across paths.  This works well much of the time, but
-if there are <a href="configuration#htaccess">location-specific access
-controls</a> or path-specific cookies associated with JavaScript files, then you
-may need to turn off this feature.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedCombineAcrossPaths off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed CombineAcrossPaths off;</pre>
-</dl>
-
-<p>
-This directive can be used in
-<a href="configuration#htaccess">location-specific configuration sections</a>.
-</p>
-
-<h2 id="aris">Restricting PageSpeed from rewriting URLs of introspective
-JavaScript</h2>
-
-<p>
-Filters that change URLs of JavaScript files are at times incompatible with
-JavaScript code that does string-manipulation on its own URL.  To avoid problems
-with introspective JavaScript files, PageSpeed can be configured to skip
-URL-rewriting for such files.  PageSpeed uses simple heuristics to determine
-whether a JavaScript file is introspective.
-</p>
-
-<p>
-This affects filters
-<a href="filter-js-minify"
-   ><code>rewrite_javascript</code></a>,
-<a href="filter-js-combine"
-   ><code>combine_javascript</code></a>,
-<a href="filter-js-inline"
-   ><code>inline_javascript</code></a>,
-<a href="filter-cache-extend"
-   ><code>extend_cache</code></a>, and
-<a href="filter-cache-extend"
-   ><code>extend_cache_scripts</code></a>.
-</p>
-
-<p>
-This feature is on by default, but for many sites these heuristics are too
-conservative and prevent optimizations that would actually be safe.  To turn
-it off:
-</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedAvoidRenamingIntrospectiveJavascript off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed AvoidRenamingIntrospectiveJavascript off;</pre>
-</dl>
-
-<p>
-This directive can be used in
-<a href="configuration#htaccess">location-specific configuration sections</a>.
-</p>
-
-<h2 id="segment_length"
-    >Limiting the maximum generated URL segment length</h2>
-
-<p>The maximum URL size is generally limited to about 2k characters
-due to Internet Explorer: See
-<a href="http://support.microsoft.com/kb/208427/EN-US">
-  http://support.microsoft.com/kb/208427/EN-US</a>.
-Nginx doesn't apepar to have a limit here but Apache servers by default impose a
-further limitation of about 250 characters per URL segment (text between
-slashes).  When running under Apache PageSpeed circumvents this limitation, but
-if you employ proxy servers in your path you may need to re-impose it by
-overriding the setting here.  The default setting is 1024.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMaxSegmentLength 250</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MaxSegmentLength 250;</pre>
-</dl>
-
-<p>
-This directive can be used in
-<a href="configuration#htaccess">location-specific configuration sections</a>.
-</p>
-
-<h2 id="content_length"
-    >Limiting the maximum size of a resource to optimize</h2>
-
-<p>A resource with large content takes a long time and a large amount of memory
-to process.  You can specify the maximum length (in bytes) of the content for
-PageSpeed to optimize.  A setting of -1 means content of all lengths will be
-optimized, but risks server out-of-memory crashes.</p>
-
-<p>Prior to 1.12.34.1 the default was -1 (unlimited), but in versions
-1.12.34.1 and later the default is 16MB.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMaxCacheableContentLength 16777216</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MaxCacheableContentLength 16777216;</pre>
-</dl>
-
-<p>
-This directive can be used in
-<code>&lt;VirtualHost&gt;</code> scope (Apache) or <code>server</code> blocks
-(Nginx).
-</p>
-
-<h2 id="url_signatures">Signing pagespeed resource URLs</h2>
-
-<p class="note"><strong>Note: New feature as of 1.9.32.1</strong></p>
-
-<p>PageSpeed can be set to automatically cryptographically sign and verify
-resource URLs.  Turning on resource signing will cause any resource requested
-without the proper signature to return <code>404 Not Found</code>
-or <code>403 Forbidden</code> depending upon the <code>InPlaceResourceOptimization</code> setting.
-This option can be used to reduce the attack surface for denial of service attacks.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedUrlSigningKey signature_key_string</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed UrlSigningKey signature_key_string;</pre>
-</dl>
-
-<p>Resource signing can also be turned on, but not enforced, which may be
-used for the transition period of moving a site from unsigned resourced to
-signed resources. In this mode, signed URLs are generated and accepted, as
-well as URLs with no signature and URLs with invalid signatures.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedAcceptInvalidSignatures true</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed AcceptInvalidSignatures true;</pre>
-</dl>
-
-<p>
-This directive can be used in
-<code>&lt;VirtualHost&gt;</code> scope (Apache) or <code>server</code> blocks
-(Nginx).
-</p>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/doc/system.html b/doc/system.html
deleted file mode 100644
index 7838215..0000000
--- a/doc/system.html
+++ /dev/null
@@ -1,1343 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <title>PageSpeed System Integration</title>
-    <link rel="stylesheet" href="doc.css">
-  </head>
-  <body>
-<!--#include virtual="_header.html" -->
-
-
-  <div id=content>
-<h1>PageSpeed System Integration</h1>
-    <h2 id="caching">Configuring Caching</h2>
-    <p>
-      PageSpeed requires publicly cacheable resources to provide
-      maximum benefit.  As discussed in the "Cache Extender" filter, the
-      origin TTL specified in the server configuration file dictates how
-      quickly changes made to the source can propagate to users' browser
-      caches.  However, using PageSpeed, resources referenced statically
-      from HTML files will be served with a one-year cache lifetime, but
-      with a URL that is versioned using a content hash.
-    </p>
-
-    <h2 id="server_cache">Configuring Server-Side Cache for PageSpeed</h2>
-    <p>
-      In order to rewrite resources, PageSpeed must cache them server-side.  A
-      file-system based cache is always employed on each
-      server.  <a href="#memcached">memcached</a> or <a href="#redis">redis</a>
-      may be used as a scalable network-accessible cache in addition to the file
-      cache.  The file cache is always required, since PageSpeed has a few
-      things it needs to store locally.  Finally, a per-process in-memory LRU
-      cache and/or an interprocess shared-memory cache can be configured for
-      rapid access to small objects.
-    </p>
-
-    <h3 id="file_cache">Configuring the File Cache</h3>
-    <p>
-      PageSpeed must be configured with a path where it can write
-      cache files, tuned to limit the amount of disk space consumed.
-      The file cache can be placed on
-      a <a href="http://en.wikipedia.org/wiki/Tmpfs">tmpfs</a>
-      partition or on a physical disk.  The file cache has a built-in
-      LRU mechanism to remove old files, targeting a certain total
-      disk space usage, and a certain interval for the cleanup
-      process.  An example configuration is:
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedFileCachePath            "/var/cache/pagespeed/"
-ModPagespeedFileCacheSizeKb          102400
-ModPagespeedFileCacheCleanIntervalMs 3600000
-ModPagespeedFileCacheInodeLimit      500000</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed FileCachePath              "/var/cache/pagespeed/";
-pagespeed FileCacheSizeKb            102400;
-pagespeed FileCacheCleanIntervalMs   3600000;
-pagespeed FileCacheInodeLimit        500000;</pre>
-</dl>
-    <p>
-      It is important to note that <code>FileCacheSizeKb</code> and
-      <code>FileCacheInodeLimit</code> do not define absolute limits
-      on the cache size and inode count. The cache cleaning process will run at
-      the time interval defined by
-      <code>FileCacheCleanIntervalMs</code>, and will only initiate
-      cleaning if the cache size exceeds
-      <code>FileCacheSizeKb</code> or the cache inode count exceeds
-      <code>FileCacheInodeLimit</code>. When cache cleaning is
-      initiated, the oldest files in the cache will be removed until the cache
-      size is under <code>0.75 * FileCacheSizeKb</code> and the
-      inode count is under <code>0.75 * FileCacheInodeLimit</code>.
-    </p>
-    <p class="warning">
-      <b>Warning:</b> Because the file cache cleaner does not impose a tight
-      bound on disk usage, if your site is large and receives heavy traffic
-      PageSpeed's cache can expand to fill your entire disk.  If this becomes a
-      problem you must either use a sufficiently large disk that this can't
-      happen, or a cache whose size is guaranteed to be bounded.  Bounded caches
-      include keeping your file cache on a PageSpeed-specific
-      partition, <a href="#memcached">memcached</a>,
-      and <a href="#redis">redis</a>.
-    </p>
-    <p>
-      PageSpeed previously reserved another file-path for future use as a shared
-      database in a multi-server environment.  This is no longer in the plan,
-      and <code>GeneratedFilePrefix</code> now generates a deprecation warning.
-    </p>
-    <p>
-      Starting in version 1.12.34.1, it is possible to disable cache cleaning
-      entirely, making PageSpeed ignore the limits set
-      by <code>FileCacheSizeKb</code> and <code>FileCacheInodeLimit</code>.  To
-      do this, set <code>FileCacheCleanIntervalMs</code> to -1:
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedFileCacheCleanIntervalMs -1</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed FileCacheCleanIntervalMs -1;</pre>
-</dl>
-    <p>
-      In versions before 1.12.34.1, using a large number for the interval, like
-      <code>1576800000000</code> (fifty years), has the same effect.
-    </p>
-    <p class="warning">
-      <b>Warning:</b> Without cleaning the cache will grow without bound as
-      PageSpeed continues to store additional resources.  If you disable the
-      built-in cache cleaner you must implement something yourself to ensure
-      that PageSpeed does not consume all available disk space for its cache.
-    </p>
-
-    <h3 id="lru_cache">Configuring the in-memory LRU Cache</h3>
-    <p>
-      To optimize performance, a small in-memory write-through LRU cache can be
-      instantiated in each server process.  Note that in Apache's pre-fork mode
-      this means dozens of processes, so the total memory consumed
-      (<code>LRUCacheKbPerProcess * num_processes</code>) must fit into the
-      capabilities of the host machine.  Nginx typically runs with many fewer
-      processes, so a larger <code>LRUCacheKbPerProcess</code> is appropriate
-      there. The <code>LRUCacheByteLimit</code> is the limit on how large a
-      cache entry the LRU cache will accept.  A sample configuration is:
-    </p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedLRUCacheKbPerProcess   1024
-ModPagespeedLRUCacheByteLimit      16384</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed LRUCacheKbPerProcess     8192;
-pagespeed LRUCacheByteLimit        16384;</pre>
-</dl>
-
-    <h3 id="shm_cache">Configuring the Shared Memory Metadata Cache</h3>
-
-    <p>As part of its operation, PageSpeed stores summaries of how to apply
-    optimizations to web pages as part of a <em>metadata cache</em>.  Metadata
-    entries are small and frequently accessed. They should ideally be stored in
-    local memory and shared across server processes, as opposed to on disk or
-    an <a href="#external_cache">external cache</a>.  That is exactly what the
-    shared memory metadata cache does, and it is the best place to cache your
-    metadata entries.</p>
-
-    <p>Prior to 1.12.34.1, writes to an explicitly configured shared memory
-    metadata cache were in-memory only, and not written to disk. This provided a
-    large performance boost but the contents of the cache were lost upon server
-    restart.</p>
-
-    <p>As of 1.12.34.1, PageSpeed checkpoints the shared memory metadata cache
-    to disk, providing almost all the performance but without the cache being
-    wiped on restart. By default the metadata cache is checkpointed every 5
-    minutes, see <a href="#shm_checkpointing">shared memory checkpointing</a>
-    for more details.</p>
-
-    <p>In all versions, if you enable an <a href="#external_cache">external
-    cache</a>, cache entries are written through to it.</p>
-
-    <p>The shared memory metadata cache is enabled using
-    the <code>CreateSharedMemoryMetadataCache</code> directive.  This directive
-    takes two arguments. The first is the exact string given as the argument
-    to <code>FileCachePath</code> in any virtual host where you want this cache
-    active. The second is the size of the cache in kilobytes. Unlike the LRU
-    cache, this cache is shared among all server processes, so far larger values
-    are possible. For example:
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedCreateSharedMemoryMetadataCache "/var/cache/pagespeed/" 51200
-&lt;VirtualHost www.example.com:80&gt;
-  ModPagespeedFileCachePath "/var/cache/pagespeed/"
-&lt;/VirtualHost&gt;
-&lt;VirtualHost alt.example.com:80&gt;
-  ModPagespeedFileCachePath "/var/cache/pagespeed/"
-&lt;/VirtualHost&gt;</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed CreateSharedMemoryMetadataCache "/var/cache/pagespeed/" 51200;
-server {
-  listen 80;
-  server_name www.example.com;
-  pagespeed FileCachePath "/var/cache/pagespeed/";
-}
-server {
-  listen 80;
-  server_name alt.example.com;
-  pagespeed FileCachePath "/var/cache/pagespeed/";
-}</pre>
-</dl>
-
-    will create a 50-megabyte metadata cache used for both www.example.com and
-    alt.example.com, and shared among all server processes.
-
-    <p>If you are currently using a file cache, you can estimate a good size for
-    this cache by measuring the size of the <code>rname/</code> directory of
-    the on-disk cache, using the <code>du -s -h --apparent-size</code> command,
-    for example:
-<pre class="prettyprint-sh">
-du -s -h --apparent-size /path/to/pagespeed_cache/rname
-</pre>
-
-  then, multiplying the result by 1.75 and converting it to kilobytes.</p>
-
-  <p> You can see how effective this layer of cache is at the
-  <a href="configuration#virtual-hosts-and-stats">global PageSpeed
-  statistics</a> page, where at the bottom of the page every shared
-  memory cache will be listed, including in particular information on its hit
-  rate and how full it is (blocks used). </p>
-
-    <h3 id="default_shm_cache">Default Shared Memory Metadata Cache</h3>
-    <p>
-      Any virtual host that does not have a <a href="#shm_cache">shared memory
-      metadata cache</a> configured
-      with <code>CreateSharedMemoryMetadataCache</code> will share a default
-      one.  In versions 1.12.34.1 and later, snapshots of the shared memory
-      cache are periodically saved to disk via <a href="#shm_checkpointing"
-      >shared memory checkpointing</a>.  Versions prior to 1.12.34.1 did not
-      support snapshotting, and instead wrote all changes through to disk,
-      significantly degrading the write performance of the shared memory cache.
-    </p>
-    <p>
-      You can configure the size of this cache
-      with <code>DefaultSharedMemoryCacheKB</code>, or disable it entirely by
-      setting the size to 0.  The default size is 50MB, and is shared across all
-      server processes.
-    </p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedDefaultSharedMemoryCacheKB 50000</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed DefaultSharedMemoryCacheKB 50000;</pre>
-</dl>
-
-    <p>
-      This directive can only be used at the top level of your configuration.
-    </p>
-
-    <h3 id="shm_checkpointing">Shared Memory Metadata Cache Checkpointing</h3>
-    <p class="note"><strong>Note: New feature as of 1.12.34.1</strong></p>
-    <p>
-      Shared memory caches are fast but have the significant disadvantage that
-      they do not survive a server restart.  The file cache does persist across
-      restarts but performs significantly worse than an in-memory cache.
-      Checkpointing attempts to provide a balance by using the same fast
-      in-memory cache and periodically writing its contents to disk. In practice
-      this can perform almost as well as a straight memory cache, with the
-      significant advantage that it also survives a server restart, as the
-      checkpoint is read into memory at startup.
-    </p>
-    <p>
-      If you're using an <a href="#external_cache">external cache</a>, all
-      writes to the shared memory metadata cache are written out to the external
-      cache so that other servers using the same external cache can avoid
-      redundant optimization.  In this configuration, the checkpoint is not
-      written through to the external cache when it is restored, because this
-      could overwrite the work of other servers.
-    </p>
-    <p>
-      Checkpointing is enabled by default, running every five minutes.  You can
-      adjust this interval by
-      setting <code>ShmMetadataCacheCheckpointIntervalSec</code>, and you can
-      disable checkpointing entirely by setting it to -1.
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedShmMetadataCacheCheckpointIntervalSec 300</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ShmMetadataCacheCheckpointIntervalSec 300;</pre>
-</dl>
-     <p>
-       This directive can only be used at the top level of your configuration.
-     </p>
-     <p>
-       Note that if you disable checkpointing, the shared memory cache will not
-       be written to disk, and all optimizations will be lost on server restart.
-     </p>
-     <p>
-       If you have multiple file caches enabled, PageSpeed has to pick one to
-       use for snapshots for the default shared memory cache.  It resolves this
-       by taking the file cache path that comes first alphabetically and putting
-       all snapshots there.
-     </p>
-
-    <h3 id="external_cache">External Caches</h3>
-
-    <p>
-      PageSpeed supports two different external
-      caches, <a href="#memcached">memcached</a> and <a href="#redis">redis</a>.
-      The main reasons to use an external cache are:
-    </p>
-    <ul>
-      <li>You want to run multiple PageSpeed servers without
-          duplicating optimizations.
-      <li>You want to allocate more memory to PageSpeed's cache than a single
-          machine an provide.
-    </ul>
-    <p>
-      You can configure different external caches for different virtual hosts,
-      but you can't use both memcached and redis for the same virtual host.
-    </p>
-
-
-    <h4 id="memcached">Configuring memcached</h3>
-    <p>
-      To enable <a href="http://memcached.org/">memcached</a>, specify the list
-      of memcached servers with a comma-separated list of hosts and ports.  If
-      the port is omitted, the default memcached port of 11211 is assumed.
-      PageSpeed's memcached integration by uses a background thread for
-      communicating with the memcached servers.  This allows PageSpeed to batch
-      multiple Get requests into a single MultiGet request to memcached, which
-      improves performance and reduces network round trips.
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMemcachedServers "host1:port1,host2:port2,host3:port3"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MemcachedServers "host1:port1,host2:port2,host3:port3";</pre>
-</dl>
-    <p class="note">
-      To start memcached with 1Gb of memory, use <code>memcached -p PORT -m 1024
-      -u WEBSERVER_USERNAME</code>.  The default size of 64Mb might be too low
-      for large sites.  See <a
-        href="https://github.com/memcached/memcached/wiki/ConfiguringServer">the
-      wiki</a> for detailed memcached configuration help.  Be aware that
-      configuring scalable caching requires tuning and iteration.  You must be
-      sure that the user-id running the server has permission to access
-      memcached.  For example, on CentOS, you may need to run memcached
-      with:
-      <dl>
-        <dt>Apache:<dd><pre class="prettyprint"
-           >memcached -p PORT -m MEMORY_IN_MEGABYTES -u apache</pre>
-        <dt>Nginx:<dd><pre class="prettyprint"
-           >memcached -p PORT -m MEMORY_IN_MEGABYTES -u nginx</pre>
-      </dl>
-      If SELinux is enabled, then you must also grant permission for the
-      server to access the memcached port.  Failure to do this results in
-      'permission denied' warnings in the error logs and will prevent
-      PageSpeed from optimizing resources.
-    </p>
-
-    <p>
-      When you use memcached with PageSpeed, many vital memcached statistics can
-      be found
-      at
-      <dl>
-        <dt>Apache:<dd><pre
-           >http://localhost/mod_pagespeed_statistics?memcached</pre>
-        <dt>Nginx:<dd><pre
-           >http://localhost/ngx_pagespeed_statistics?memcached</pre>
-      </dl>
-      These statistics are taken both from the PageSpeed perspective,
-      aggregating all memcacheds as viewed from a single server...
-    </p>
-<pre class="prettyprint">
-memcached_deletes:                            0
-memcached_hits:                           81651
-memcached_inserts:                       161605
-memcached_misses:                        118782
-</pre>
-    <p>
-      ...and also from the perspective of each memcached server, aggregating
-      activity from each memcached client including all PageSpeed instances.
-    </p>
-    <pre class="prettyprint">
-memcached server host1:6765 version 1.4.2 pid 1132 up 343306 seconds
-bytes:                 923977753
-bytes_read:            37710601552
-bytes_written:         141519206300
-cmd_get:               50273185
-cmd_set:               11471631
-connection_structures: 233
-curr_connections:      16
-curr_items:            255329
-evictions:             5258751
-get_hits:              50273185
-get_misses:            14556369
-limit_maxbytes:        1048576000
-pointer_size:          64
-rusage_system:         1065290000
-rusage_user:           64
-threads:               4
-total_connections:     12235148
-total_items:           11471631
-
-memcached server host2:6765 version 1.4.2 pid 6568 up 343278 seconds
-bytes:                 921246303
-bytes_read:            12962377990
-bytes_written:         57778312362
-cmd_get:               21702123
-cmd_set:               4166384
-connection_structures: 49
-curr_connections:      15
-curr_items:            254144
-evictions:             1329595
-get_hits:              21702123
-get_misses:            4923668
-limit_maxbytes:        1048576000
-pointer_size:          64
-rusage_system:         594360000
-rusage_user:           64
-threads:               4
-total_connections:     4840010
-total_items:           4166384
-</pre>
-
-    <p>
-      By default, PageSpeed uses a half-second (500,000 microsecond) timeout for
-      cache operations.  If the timeout is exceeded more than 4 times in a 30
-      second span, PageSpeed assumes that memcached is not healthy and will stop
-      optimizing resources for 30 seconds before trying again.
-    </p>
-
-    <p>
-      For wide area networks or for alternative implementations and proxies of
-      the memcache protocol such as couchbase or moxi-server it may be necessary
-      to increase the I/O timeout.  Please monitor the statistic
-      'memcache_timeouts' to help tune the timeouts.  Select a new timeout with
-      the <code>MemcachedTimeoutUs</code> directive:
-    </p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMemcachedTimeoutUs timeout_in_microseconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MemcachedTimeoutUs timeout_in_microseconds;</pre>
-</dl>
-
-    <p>
-      For example, to increase the timeout to from half a second to a second,
-      use:
-    </p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMemcachedTimeoutUs 1000000</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MemcachedTimeoutUs 1000000;</pre>
-</dl>
-
-    <h4 id="redis">Configuring Redis</h4>
-    <p class="note"><strong>Note: New feature as of 1.12.34.1</strong></p>
-    <p class="warning"><strong>Warning:</strong> Redis support is experimental
-       and has not yet had substantial real world use.  Before rolling this out
-       in production, be sure to test it well.  If you run into problems, please
-      <a href="https://github.com/apache/incubator-pagespeed-mod/issues/new"
-         >let us know</a>.
-    </p>
-    <p>
-      To enable <a href="http://redis.io/">redis</a>, specify a single redis
-      server as <code>host:port</code>.  The port is optional, and defaults to
-      6379.  This host can either be a stand-alone redis server, or a master
-      node from a redis cluster.  If the host is a cluster node, PageSpeed will
-      ask it for the cluster configuration and distribute its reads and writes
-      among the cluster nodes.
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRedisServer "host:port"</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RedisServer "host:port";</pre>
-</dl>
-    <p>
-      You can configure how long PageSpeed is willing to wait for a response
-      from Redis before timing out a request, which defaults to 50ms:
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRedisTimeoutUs timeout_in_microseconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RedisTimeoutUs timeout_in_microseconds;</pre>
-</dl>
-    <p>
-      You can also configure how long PageSpeed will wait after an error from
-      Redis before it tries connecting again, which defaults to 1s:
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRedisReconnectionDelayMs timeout_in_milliseconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RedisReconnectionDelayMs timeout_in_milliseconds;</pre>
-</dl>
-    <p>
-      As of 1.13.35.1 you can also select the Redis logical database having the specified
-      numeric index. This setting defaults to database index 0.
-      Note that the Redis clustering feature does not allow specifying a database index,
-      and therefore is incompatible with this setting:
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRedisDatabaseIndex index</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RedisDatabaseIndex index;</pre>
-</dl>
-    <p>
-      You can set an expiration time (or TTL) in seconds for the Redis keys.
-      The setting defaults to -1 meaning that the keys will never expire and can be specified like this:
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-    >ModPagespeedRedisTTLSec ttl_in_seconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-    >pagespeed RedisTTLSec ttl_in_seconds;</pre>
-</dl>
-
-    <h2 id="flush_cache">Flushing PageSpeed Server-Side Cache</h2>
-    <p>
-      When developing web pages with PageSpeed enabled, it is
-      sometimes convenient to flush the cache of a running server, in
-      order to get the system to reload CSS or JavaScript files that
-      have been updated before the origin cache lifetime expires.
-    </p>
-    <h3 id="flush_cache_legacy">Legacy Flushing Of Entire Cache</h3>
-    <p>
-      By default, the system is configured to support only whole-cache
-      flushes &mdash; we'll call this <em>legacy mode</em>.  As
-      of <strong>version 1.9.32.1</strong>, it can be configured to
-      also allow purging of individual URLs.  The two modes operate
-      differently and you may choose between them for each virtual
-      host.  Legacy mode is on by default, to provide compatibility
-      with existing scripts and other infrastructure that might have
-      been built around it.  In a future release, individual URL
-      purging will become the default.  Subsequent to that, the legacy
-      whole-cache flushing mode will be eliminated.
-
-      You can choose between the two modes with
-      the <code>EnableCachePurge</code> argument.  If set to "on" you
-      will get the new behavior, with individual URL purging, while
-      "off" will give you the legacy behavior.  The default is "off",
-      as if your configuration read:
-    </p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableCachePurge off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableCachePurge off;</pre>
-</dl>
-    <p>
-      In this mode, simply touch the file "cache.flush" in the directory
-      specified as <code>FileCachePath</code> above.  For example:
-    </p>
-<pre class="prettyprint lang-sh">
-  sudo touch /var/cache/pagespeed/cache.flush
-</pre>
-    <p>
-      The system may take up to 5 seconds to take effect (changeable via option
-      <code>CacheFlushPollIntervalSec</code> described
-      <a href="#purge_options">below</a>).
-    </p>
-    <h3 id="purge_cache">Purging individual cache entries or entire cache</h3>
-    <p class="note"><strong>Note: New feature as of 1.9.32.1</strong></p>
-    <p>
-      In this mode, the cache may be purged by sending HTTP requests
-      to the server, using a configurable
-      path. The cache can be purged via
-      an HTTP GET, PURGE, or DELETE, once a handler has been
-      <a href="admin#config">configured</a>. The <a href="admin">admin
-        site</a> makes this easier by providing a graphical interface to
-      initiate purge requests and see what entries have been purged.
-    </p>
-    <p>To enable individual URL cache purging, you must
-      <a href="admin#config">configure the admin site</a>,
-      specify a PurgeMethod, or both.  Plus you must turn on
-      EnableCachePurge:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-                      >ModPagespeedEnableCachePurge on
-ModPagespeedPurgeMethod PURGE &nbsp; &nbsp; <em>(optional)</em></dd></pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableCachePurge on;
-pagespeed PurgeMethod PURGE; &nbsp; &nbsp; <em>(optional)</em></dd></pre>
-</dl>
-    <p>
-      This establishes three methods to purge the cache of a URL, or to
-      purge the entire cache, assuming PageSpeed is running on example.com:
-      <table>
-        <thead>
-          <tr>
-            <th>Method</th>
-            <th>Purge single URL</th>
-            <th>Purge entire cache</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <td>HTTP GET</td>
-            <td><code>curl 'http://example.com/pagespeed_admin/cache?purge=path/file.ext'</code></td>
-            <td><code>curl 'http://example.com/pagespeed_admin/cache?purge=*'</code></td>
-          </tr>
-          <tr>
-            <td>HTTP PURGE</td>
-            <td><code>curl --request PURGE 'http://www.example.com/path/file.ext'</code></td>
-            <td><code>curl --request PURGE 'http://www.example.com/*'</code></td>
-          </tr>
-          <tr>
-            <td>Admin GUI</td>
-            <td><img src="images/purge_one_url.png"></td>
-            <td><img src="images/purge_entire_cache.png"></td>
-          </tr>
-        </tbody>
-      </table>
-    </p>
-    <p>
-      The Purge requests for individual URLs made via the GUI are
-      executed via an HTTP GET.  In either case, the URL being purged
-      is specified relative to the ORIGIN of the admin site.  In these
-      examples, <code>path/file.ext</code> is combined
-      with <code>example.com</code> to purge the path
-      <code>http://example.com/path/file.ext</code> from the cache.
-    </p>
-    <p>
-      When the new mode of cache purging is enabled, the purges take
-      place immediately, there is no five second delay.  Note that it
-      is possible to purge the entire cache, or to purge one URL at a
-      time.  It is not possible to purge by regular expression or
-      wildcard.  The URL purging system works by remembering which
-      URLs are purged and validating each URL coming out of cache
-      against them.  There is a limitation to the number of distinct
-      URLs that can be purged.  When that limit is exceeded,
-      everything in the cache older than the oldest remaining purge
-      request will be dropped.  The limitation is high enough that
-      it's not expected to be exceeded often, but is not currently
-      changeable.
-    </p>
-    <h3 id="flush_cache_limitations">Limitations</h3>
-    <p>
-      The following limitations apply to both method the legacy and new methods
-      of cache purging.
-    </p>
-    <p class="caution">
-      <strong>Caution:</strong> In a multi-server system, you must run
-      these commands on every server.  All the cache data from
-      VirtualHosts using that cache directory will be flushed.  This
-      is true even when using memcached: the cache flush information
-      is kept locally on each machine running PageSpeed, not in the
-      cache itself.  This is because of the L1 caches that run locally
-      on each machine, and because memcached does not guarantee
-      persistance.
-    </p>
-    <p class="caution">
-      <strong>Caution:</strong> Flushing or purging the cache does not
-      delete the old files from the directory, the memcached server,
-      or PageSpeed's in-memory cache, but it tells PageSpeed to
-      ignore those files.
-    </p>
-
-    <p class="note">Note: After flushing or purging the cache, the
-      stale files will eventually be replaced with fresh copies or
-      removed by the normal file cache cleaning process
-      (see <code>FileCacheCleanIntervalMs</code> above).
-    </p>
-
-    <p>You can change the polling interval and name of the cache-flush
-      file in the configuration file.  If you set the polling interval to 0, the
-      cache flushing feature will be disabled.  If you specify the cache flush
-      filename as a relative path, PageSpeed will look for that file in
-      the <code>FileCachePath</code> directory.  If you use an absolute path,
-      then the caches associated with multiple virtual hosts can be flushed all
-      at once.
-    </p>
-    <h3 id="purge_options">Cache Flushing and Purging Options</h3>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedCacheFlushFilename alternate_filename
-ModPagespeedCacheFlushPollIntervalSec number_of_seconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed CacheFlushFilename alternate_filename
-pagespeed CacheFlushPollIntervalSec number_of_seconds;</pre>
-</dl>
-
-    <h2 id="downstream_caching">Downstream Caches</h2>
-
-    PageSpeed is designed to work without any caches between it and the user,
-    but it has experimental support for caching proxies.  It works with Varnish,
-    Nginx's proxy_cache with the ngx_cache_purge module, and any other server
-    that accepts purge requests over HTTP, allows fragmenting the cache based on
-    UA regexps, and supports modifying caching headers based on the response's
-    content type.  For details and sample configurations, please see the
-    documentation on <a href="downstream-caching.html">configuring downstream
-    caches</a>.
-
-
-    <h2 id="shm_lock_manager">Configuring Use of Shared Memory for Locks</h2>
-
-    <p>
-      When fetching or rewriting resources PageSpeed uses locks to ensure that
-      no redundant computation or fetching is done. This can use the file-system
-      or shared memory. The system defaults to shared memory locks, but you can
-      control which implementation is used with
-      the <code>SharedMemoryLocks</code> option, passing it <code>on</code>
-      or <code>off</code>.
-    </p>
-
-    <p>
-      Note that if you turn on shared memory locks when shared memory is not
-      available, the system will fall back to file-system locks automatically.
-    </p>
-
-    <p>
-      On multi-server setups, locking being per-host will not adversely affect
-      correctness but might result in multiple servers performing the
-      same computation simultaneously.
-    </p>
-
-    <p>
-      Virtual hosts that specify <code>SharedMemoryLocks on</code> with
-      identical values of <code>FileCachePath</code> will share the same locking
-      domain. Note that these must be identical strings, not just two strings
-      representing the same directory. For example <code>/var/foo</code>
-      and <code>/var/foo/</code> are different instances from a locking point of
-      view.
-    </p>
-
-    <p>
-      This setting's resource consumption is modest (300 kilobytes per instance
-      on 64-bit systems) and it reduces file-system load.
-    </p>
-
-    <h2 id="cache-fragment">Configuring a Cache Fragment</h2>
-
-    <p>
-      By default every site has its own cache.  If you have multiple sites
-      served from the same machine that reference common resources you can
-      improve your cache performance and reduce CPU consumption by setting a
-      shared cache fragment:
-    </p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedCacheFragment some_token</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed CacheFragment some_token;</pre>
-</dl>
-
-    <p>
-      You must set this to the same value on every site that
-      shares a cache.  The fragment may consist of letters, numbers, underscores,
-      and hyphens only.  The physical caching layer also has to be the same for
-      the two sites: either you need a shared <code>FileCachePath</code> or you
-      need to be using the same <code>memcached</code> server.
-    </p>
-
-    <p>
-      Note: you don't have to do this for simple cases
-      like <code>www.example.com</code> and <code>images.example.com</code>.
-      The default cache fragment is the minimal private suffix, in this
-      case <code>example.com</code>, and is determined from
-      the <a href="http://publicsuffix.org/">public suffix list</a>.  If you
-      have <code>www.example.com</code> and <code>images.example.org</code>,
-      however, then they will not share a common minimal private suffix and you
-      should set the <code>CacheFragment</code> for better performance.
-    </p>
-
-    <h2 id="native-fetcher">Native URL fetcher</h2>
-    <p class="note"><strong>Note: Nginx-only</strong></p>
-
-    <p>
-    Often PageSpeed needs to request URLs referenced from other files in order
-    to optimize them. To do this it uses a fetcher. By default ngx_pagespeed
-    uses the same fetcher mod_pagespeed does,
-    <a href="http://serf.apache.org/">serf</a>, but it also has an
-    experimental fetcher that avoids the need for a separate thread by using
-    native Nginx events. In initial testing this fetcher is about 10% faster. To
-    use it, put in your <code>http</code> block:
-    </p>
-
-    <pre>
-pagespeed UseNativeFetcher on;
-resolver 8.8.8.8;</pre>
-
-    <p>
-    Your DNS resolver doesn't have to
-    be <a href="https://developers.google.com/speed/public-dns/">8.8.8.8</a>;
-    any domain name service your server has access to will work. If you don't
-    specify a DNS resolver, PageSpeed will still work but will be limited to
-    fetching only from IP addresses.
-    </p>
-
-    <h2 id="native-fetcher-keep-alive">Persistent Connections with the Native
-        URL Fetcher</h2>
-    <p class="note"><strong>Note: Nginx-only</strong></p>
-    <p class="note"><strong>Note: New feature as of 1.9.32.1</strong></p>
-
-    <p>
-      As of 1.9.32.1 the Native URL Fetcher
-      supports <a
-      href="http://en.wikipedia.org/wiki/HTTP_persistent_connection">persistent
-      HTTP connections</a>.  The fetcher will send the <code>Connection:
-      Keep-Alive</code> header and if the server also sets that header on its
-      response then the connection will be kept open for 60 seconds in case
-      another fetch from the same server is needed. By default a connection will
-      be reused no more than 100 times, but you can use
-      <code>NativeFetcherMaxKeepaliveRequests</code> to change this limit.
-      Keep-Alive support is on by default, and you can disable it by setting the
-      limit to 0:
-    </p>
-    <pre>pagespeed NativeFetcherMaxKeepaliveRequests 0;</pre>
-
-    <h2 id="url_fetcher_timeout">Setting the URL fetcher timeout</h2>
-
-    <p>When PageSpeed attempts to rewrite a resource for the first
-      time, it must fetch it via HTTP.  The default timeout for fetches is 5
-      seconds.  A directive can be applied to change the timeout</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedFetcherTimeoutMs timeout_value_in_milliseconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed FetcherTimeoutMs timeout_value_in_milliseconds;</pre>
-</dl>
-
-    <h2 id="rewrite_deadline">Setting the rewrite deadline per flush window</h2>
-    <p>When PageSpeed attempts to rewrite an uncached (or expired) resource
-    it will wait for up to 10ms per flush window (by default) for it to finish
-    and return the optimized resource if it's available.  If it has not
-    completed within that time the original (unoptimized) resource is returned
-    and the optimizer is moved to the background for future requests. The
-    following directive can be applied to change the deadline. Increasing this
-    value will increase page latency, but might reduce load time (for instance
-    on a bandwidth-constrained link where it's worth waiting for image
-    compression to complete). Note that a value less than zero will
-    cause PageSpeed to wait indefinitely.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRewriteDeadlinePerFlushMs deadline_value_in_milliseconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RewriteDeadlinePerFlushMs deadline_value_in_milliseconds;</pre>
-</dl>
-
-<!--
-    <h2 id="rewrite_cache_min_ttl"
-        >Setting the minimum cache-lifetime for optimizing resources</h2>
-    <p>When PageSpeed fetches a resource via HTTP or HTTPS, it uses
-    the origin cache lifetime, based on the Expires or Cache-Control
-    header, to determine how frequently it should check with the
-    origin for updates.  If the time-to-live is very quick, then
-    optimization might be pointless and PageSpeed will skip it.  The
-    threshold is zero by default, meaning even 1-second resources will
-    be optimized.  To set the threshold, use the configuration file
-    setting:</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedMinResourceCacheTimeToRewriteMs minimum_cache_ttl_in_milliseconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed MinResourceCacheTimeToRewriteMs minimum_cache_ttl_in_in_milliseconds;</pre>
-</dl>
--->
-
-    <h2 id="implicit_cache_ttl"
-        >Setting the implicit cache-lifetime for resources</h2>
-    <p>When PageSpeed fetches a resource via HTTP or HTTPS, it
-    examines the Expires and Cache-Control headers to determine how
-    frequently it should update its cache.  When these headers don't
-    specify a timeout, a default timeout of 5 minutes is used.  To
-    override this, specify:</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedImplicitCacheTtlMs implicit_cache_ttl_in_milliseconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed ImplicitCacheTtlMs implicit_cache_ttl_in_milliseconds;</pre>
-</dl>
-
-    <h2 id="load_from_file_cache_ttl"
-        >Setting the cache-lifetime for resources loaded from file</h2>
-    <p class="note"><strong>Note: New feature as of 1.9.32.2</strong></p>
-    <p>When PageSpeed <a href="domains#ModPagespeedLoadFromFile">loads a
-    resource from file</a>, the default cache lifetime
-    is set by <code>ImplicitCacheTtlMs</code>, to override this, and set a
-    different cache lifetime for resources loaded from file, specify:</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedLoadFromFileCacheTtlMs implicit_cache_ttl_in_milliseconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed LoadFromFileCacheTtlMs implicit_cache_ttl_in_milliseconds;</pre>
-</dl>
-
-    <h2 id="fetch_with_gzip">Fetching Resources using Gzip</h2>
-
-    <p>This option causes PageSpeed to add <code>Accept-Encoding:gzip</code> to
-      requests for resources.  If the server responding to the request
-      handles this option (e.g. via mod_deflate), this results in reduced
-      bytes transferred over the network.</p>
-
-    <p>By default, PageSpeed attempts to fetch resources without specifying
-      an<code>Accept-Encoding</code> header.  This means the resources will be
-      sent uncompressed.  These requests are often within the LAN, so network
-      bandwidth to transfer the resources may not be a consideration.</p>
-
-    <p>If network bandwidth is a consideration, then PageSpeed can be
-     configured to fetch resources using gzip.  This will lower the network
-     transfer bandwidth considerably, but may increase the CPU usage depending
-     on server configuration.  The primary concern is the time spent by the
-     origin server compressing the resource, rather than the time spent by
-     PageSpeed inflating it.</p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedFetchWithGzip on
-SetOutputFilter DEFLATE</pre>
-  <dt>Nginx:<dd><pre class="prettyprint">
-pagespeed FetchWithGzip on;
-gzip  on;
-gzip_vary on;
-# Turn on gzip for all content types that should benefit from it.
-gzip_types application/ecmascript;
-gzip_types application/javascript;
-gzip_types application/json;
-gzip_types application/pdf;
-gzip_types application/postscript;
-gzip_types application/x-javascript;
-gzip_types image/svg+xml;
-gzip_types text/css;
-gzip_types text/csv;
-# "gzip_types text/html" is assumed.
-gzip_types text/javascript;
-gzip_types text/plain;
-gzip_types text/xml;
-
-gzip_http_version 1.0;
-</pre>
-</dl>
-
-    <p>Another option to minimize network bandwidth is to use
-      <a href="domains#ModPagespeedLoadFromFile">LoadFromFile</a>.
-    </p>
-
-    <p>
-      These directives can <strong>not</strong> be used
-      in <a href="configuration#htaccess">location-specific configuration
-      sections</a>.
-    </p>
-
-    <h2 id="tune_thread">Tuning Threading</h2>
-    <p>
-      PageSpeed uses threads so that resource optimization work does not delay
-      request serving. There are two kinds of threads in use: <em>rewrite</em>
-      threads deal with very short-lived bookkeeping tasks that are generally
-      latency-sensitive, while <em>expensive rewrite</em> threads deal with more
-      computationally expensive tasks that are not in latency-sensitive
-      paths. By default, if you use a single-threaded MPM (such
-      as <code>prefork</code>) one thread of each kind will be used per an
-      Apache process. With a threaded MPM (such as <code>worker</code>,
-      and <code>event</code>) up to 4 threads of each kind will be used.  You
-      can, however, tune the thread count per process if necessary via
-      the <code>NumRewriteThreads</code>
-      and <code>NumExpensiveRewriteThreads</code> options.
-    </p>
-    <p>
-      Note that this is a global setting, and cannot be done in a per virtual
-      host manner.
-    </p>
-
-    <h2 id="image_rewrite_max">Limiting the number of concurrent image
-    optimizations</h2>
-    <p>
-      When optimizing images, PageSpeed can use significant CPU resources.  As
-      the results of the image optimization are cached, this is not ordinarily a
-      concern once the cache is warm.  But when PageSpeed is first installed, or
-      when a corpus of new images is added to the server, PageSpeed needs to
-      avoid having each process consume maximum CPU.  To accomplish this,
-      PageSpeed keeps a server-wide counter of active image optimizations.  It
-      avoids running more than <code>ImageMaxRewritesAtOnce</code> image
-      optimizations in parallel across all processes.  The default value is 8.
-      Override this in the configuration file to change this maximum.
-    </p>
-    <p>
-      This directive can <strong>not</strong> be used
-      in <a href="configuration#htaccess">location-specific configuration
-      sections</a>.
-    </p>
-
-    <h2 id="max_parse_bytes">Limiting the size of HTML parsed</h2>
-    <p>
-      When parsing and rewriting large HTML pages, PageSpeed can use
-      significant memory. This option limits the size of an HTML page that is
-      parsed. Once the size of the HTML exceeds <code>MaxHtmlParseBytes</code>,
-      further parsing is disabled, and a script is inserted that redirects the
-      user to the <code>?ModPagespeed=off</code> version of the page.  The
-      default value is 0, indicating that there is no limit. Override this in
-      the configuration file to change this maximum.
-    </p>
-
-  <h2 id="ipro">In-Place Resource Optimization</h2>
-  <p class="note"><strong>Note: Enabled by default as of 1.9.32.1</strong>
-  </p>
-  <p>Normally PageSpeed rewrites a resource such as an image by finding
-    its URL on your page, fetching and optimizing the data in the background,
-    and then replacing that URL by an optimized pagespeed URL. But what about
-    resources that are loaded by JavaScript code? And what about links to your
-    images from pages outside your domain? In-Place Resource Optimization (IPRO)
-    will optimize the content of a resource that's requested using the original
-    (non-pagespeed) URL, ensuring you are serving optimized content even when
-    that content isn't explicitly linked in your html. This should be especially
-    helpful for sites with slide shows that use JavaScript to load images in the
-    background; those images can now be optimized by PageSpeed by adding
-    this command to your configuration file:</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedInPlaceResourceOptimization on</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed InPlaceResourceOptimization on;</pre>
-</dl>
-  <p>
-    Some sites employ JavaScript that is sensitive to the original resource URL
-    syntax and won't work with PageSpeed's altered resource URLs. You can
-    choose to
-    <a href="config_filters#preserveurls">preserve the URLs</a> of your
-    resources; these will still be rewritten by IPRO, but they won't be replaced
-    by a pagespeed URL. This is especially useful as an &quot;optimization is on
-    by default&quot; setting for hosting providers and optimizing forward
-    proxies &mdash; cases where site-specific settings to blacklist URLs are
-    impractical.
-  </p>
-    <h3 id="s-maxage">Setting s-maxage on unoptimized resources</h3>
-    <p class="note"><strong>Note: New feature as of 1.12.34.1</strong>
-    </p>
-    <p>
-      When there is a caching proxy between PageSpeed and the user, resources
-      that haven't been optimized yet shouldn't be stored in the proxy cache for
-      the full cache lifetime because this will prevent PageSpeed from
-      optimizing them.  As of 1.12.34.1, PageSpeed marks unoptimized resources
-      with <span style="white-space:nowrap"><code>Cache-Control:
-      s-maxage=10</code></span>, telling shared caches that they should only
-      hold the unoptimized resource for ten seconds.  Browsers will ignore
-      the <code>s-maxage</code> and will hold the resource for whatever cache
-      lifetime you had originally set.
-    </p>
-    <p>
-      The <code>s-maxage</code> value is configurable:
-      <dl>
-        <dt>Apache:<dd><pre class="prettyprint"
-           >ModPagespeedInPlaceSMaxAgeSec 10</pre>
-        <dt>Nginx:<dd><pre class="prettyprint"
-           >pagespeed InPlaceSMaxAgeSec 10;</pre>
-      </dl>
-      To restore the earlier behavior and not insert <code>s-maxage</code>, set
-      <code>InPlaceSMaxAgeSec</code> to -1.
-    </p>
-    <h3 id="in_place_optimize_for_browser">Doing browser-specific in-place optimization</h3>
-    <p>PageSpeed has a number of optimizations that are browser-specific.  For
-    example, <a href="reference-image-optimize#convert_jpeg_to_webp">WebP
-    conversion</a> is performed only for browsers that can display WebP images.
-    Ordinarily PageSpeed accomplishes this by serving different rewritten URLs
-    to different browsers depending upon their capabilities.  For resources that
-    are rewritten in place, this isn't possible; instead, appropriate headers
-    (such as Vary: Accept and Vary: User-Agent) are added to rewritten resources
-    as necessary.  Enable these browser-specific optimizations as follows:</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedEnableFilters in_place_optimize_for_browser</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed EnableFilters in_place_optimize_for_browser;</pre>
-</dl>
-    <p>By default, when <code>in_place_optimize_for_browser</code> is enabled,
-    appropriate <code>Vary:</code> headers are added to resources that are
-    subject to browser-specific optimization.  CSS files are served with
-    a <code>Vary: User-Agent</code> header.  Photographic images that are
-    candidates for WebP conversion are served with <code>Vary: Accept</code> to
-    browsers that include <code>Accept: image/webp</code> in their headers.
-    Note that while the most recent versions of browsers that display WebP
-    images include this header in image requests, older WebP-capable browsers do
-    not &mdash; as a result, a slightly smaller subset of browsers will receive
-    WebP images than would be the case if the URLs were rewritten.</p>
-
-    <p>Internet Explorer has difficulty caching resources
-    with <code>Vary:</code> headers (they are either not cached or require
-    revalidation on every resource access).  As a result, browser-specific
-    in-place resources are instead marked <code>Cache-Control: private</code>
-    when served to all versions of Internet Explorer.</p>
-
-    <p class="caution">
-      <strong>Caution for users of downstream caches such as
-    Varnish:</strong>  Consult the <a href="downstream-caching">documentation on
-    configuring downstream caches</a> to correctly fragment cache keys based on
-    user agent characteristics; this fragmentation should work equally well
-    for <code>in_place_optimize_for_browser</code>.  The <code>Cache-Control:
-    private</code> header sent to Internet Explorer will cause cache entries to
-    be flushed unconditionally.  This behavior should be disabled as
-    follows:</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedPrivateNotVaryForIE off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed PrivateNotVaryForIE off;</pre>
-</dl>
-
-    <h3 id="ipro_deadline">Setting the inplace resource rewrite deadline</h2>
-    <p>When InPlaceResourceOptimization is enabled, PageSpeed uses a
-    default deadline of 10ms the when optimizing the resource.  If the
-    optimization cannot be completed in 10ms, then the original
-    resource is served to the client, while the optimization continues
-    in the background.  Once cached, the optimized resource will be
-    served for further requests.  Note that a value less than
-    zero will cause PageSpeed to wait indefinitely.</p>
-    <p>Also note that in-place-optimized resources generally take at
-    least two refreshes to optimize regardless of the deadline, due to
-    the current architecture of the server modules.</p>
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedInPlaceRewriteDeadlineMs deadline_value_in_milliseconds</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed InPlaceRewriteDeadlineMs deadline_value_in_milliseconds;</pre>
-</dl>
-
-  <p>
-      This directive can be used
-      in <a href="configuration#htaccess">location-specific configuration
-      sections</a>.
-  </p>
-<!--
-  <p>
-    Furthermore, in-place resource optimization allows more expansive rewriting
-    with <a href="#uncacheable_optimization">optimize uncacheable resources</a>.
-  </p>
--->
-  <h3>Considerations</h3>
-  <p>Resources optimized by in-place resource optimization are optimized
-    differently from resources found in HTML, JS, and CSS. First, rewritten
-    pagespeed URLs contain a content hash that enables the optimized data to be
-    cached for a year by browser and proxy caches; in-place resources are not
-    cache extended. Second, in-place resources can't be optimized specially for
-    the context in which they occur on the page: images can't be resized to the
-    size they appear on the page, and multiple resources on a page can't be
-    combined together. Finally, in-place resources that are eligible for
-    browser-specific optimizations (such as conversion to the WebP image format)
-    will be served with the <code>Vary: User-Agent</code> caching header,
-    reducing caching at intermediate proxies.</p>
-  <h3>Risks</h3>
-  <p>In-place resource optimization will add a new cache entry for every
-    unique URL requested. It will also copy each request into memory once. If
-    you have a large site with many uncacheable resources, this could quickly
-    fill up your cache or cause a lot of expensive string copies.</p>
-  <p>In-place optimization will also add a small delay to every server
-    response, this should not be large and we have not been able to measure any
-    noticeable slow-down, but if most of your resources are uncacheable, you may
-    wish to avoid this cost.</p>
-
-    <!--
-    <h2 id="uncacheable_optimization">Optimizing Uncacheable Resources</h2>
-    <p>
-      By default PageSpeed does not optimize resources that are uncacheable
-      or if Cache-Control header is set to private or no-store.
-      For sites where it's more important to optimize for bandwidth than
-      latency, it is desirable to optimize uncacheable resources.
-      By using the combination of flags shown below it is possible to optimize
-      uncacheable resources without storing them in the cache. This works only
-      when <a href="#ipro">in-place resource optimization</a> is enabled.
-    </p>
-    <p class="warning">
-      Note, that this setting can be very CPU intensive for the sites that have
-      a lot of private/uncacheable resources.
-    </p>
-    <p>
-      The flags which are required to be set are:
-    </p>
-
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint">
-ModPagespeedRewriteUncacheableResources on
-ModPagespeedInPlaceWaitForOptimized on
-ModPagespeedInPlaceResourceOptimization on</pre>
-</dl>
-    <p>
-      The <code>RewriteUncacheableResources</code> directive
-      can <strong>not</strong> be used
-      in <a href="configuration#htaccess">location-specific configuration
-      sections</a>.
-    </p>
-    -->
-
-    <h2 id="rate_limit_background_fetches">Rate Limit Background Fetches</h2>
-    <p>
-       To avoid overloading the origin server, PageSpeed will limit the number
-       of background fetches it makes on a per-domain basis.  As PageSpeed makes
-       fetches it keeps a count of how many ongoing fetches there are for each
-       domain, and if there are too many then additional fetches will only be
-       allowed through if they're for user-facing requests.  Other fetches
-       (background fetches) will be queued up for completion later.  If the
-       queue gets too large, PageSpeed will give up on those background
-       optimizations, leaving them to be reinitiated in response to a later
-       request.  This feature can be disabled by
-       setting <code>RateLimitBackgroundFetches</code> to <code>off</code>:
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedRateLimitBackgroundFetches off</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed RateLimitBackgroundFetches off;</pre>
-</dl>
-    </p>
-    <p>
-       This feature depends on <a href="admin#statistics">shared memory
-       statistics</a>, which are also enabled by default.
-    </p>
-
-    <h2 id="gzip_cache">Configuring HTTPCache Compression for PageSpeed</h2>
-    <p>
-    <p class="note"><strong>Note: HTTPCache Compression is a new feature as of
-      1.10.33.0</strong></p>
-      In order to rewrite resources, PageSpeed must cache them server-side.
-      Until 1.10.33.0, these resources had been stored uncompressed.
-      To reduce disk usage, decrease server latency, support higher compression
-      levels, and increase server throughput, the HTTPCache can automatically
-      <a href="https://developers.google.com/web/fundamentals/performance/optimizing-content-efficiency/optimize-encoding-and-transfer">gzip</a>
-      compressable resources as they are stored in the cache.
-      To configure cache compression, set <code>HttpCacheCompressionLevel</code>
-      to values between <code>-1</code> and <code>9</code>, with <code>0</code>
-      being off, <code>-1</code> being gzip's default compression, and
-      <code>9</code> being maximum compression. The default value is 9, maximum
-      compression.
-<dl>
-  <dt>Apache:<dd><pre class="prettyprint"
-     >ModPagespeedHttpCacheCompressionLevel 9</pre>
-  <dt>Nginx:<dd><pre class="prettyprint"
-     >pagespeed HttpCacheCompressionLevel 9;</pre>
-</dl>
-    </p>
-
-    <h2 id="nginx_script_variables">Scripting ngx_pagespeed</h2>
-    <p class="note"><strong>Note: New feature as of 1.9.32.1</strong></p>
-    <p class="note"><strong>Note: Extended in 1.12.34.1</strong></p>
-    <p class="note"><strong>Note: Nginx-only</strong></p>
-
-    <p>
-      PageSpeed supports
-      Nginx's <a href="http://nginx.org/en/docs/varindex.html">script
-      variables</a> in some directives.  You can use this to
-      adjust these settings on a per-request basis.
-    </p>
-
-    <p>
-      Script support must be enabled at the top level.  To turn it on for a
-      subset of directives, which is the only method supported in 1.11 and
-      earlier, set:
-<pre class="prettyprint">
-http {
-  pagespeed ProcessScriptVariables on;
-  ...
-}</pre>
-    </p>
-
-    <p>
-      This allows scripts in the following directives:
-    </p>
-
-      <table>
-        <tr><th>Setting<th>Script Support Added
-        <tr><td><a href="domains#LoadFromFileScriptVariables"
-                   >LoadFromFile*</a>
-            <td>1.9.32.1</td>
-        <tr><td><a href="downstream-caching#script-variables"
-                   >DownstreamCachePurgeLocationPrefix</a>
-            <td>1.10.33.0
-        <tr><td><a href="downstream-caching#script-variables"
-                   >DownstreamCachePurgeMethod</a>
-            <td>1.10.33.0
-        <tr><td><a href="downstream-caching#script-variables"
-                   >DownstreamCacheRewrittenPercentageThreshold</a>
-            <td>1.10.33.0
-        <tr><td><a href="https_support#h2_configuration_nginx"
-                   >EnableFilters</a>
-            <td>1.10.33.0
-        <tr><td><a href="https_support#h2_configuration_nginx"
-                   >DisableFilters</a>
-            <td>1.10.33.0
-        <tr><td><a href="https_support#h2_configuration_nginx"
-                   >ShardDomain</a>
-            <td>1.10.33.0
-      </table>
-
-    <p>
-      In version 1.12.34.1 and later, you may instead set:
-      <pre class="prettyprint">
-http {
-  pagespeed ProcessScriptVariables all;
-  ...
-}</pre>
-    </p>
-
-    <p>
-      This will allow scripts in all directives, not just the seven specified
-      above.
-    </p>
-
-    <p>
-      Because Nginx uses the <code>$</code>-sign to indicate script variables,
-      when you turn on <code>ProcessScriptVariables</code> you need to make a
-      small change to any script-supporting commands that are
-      using <code>$</code>.  For example, if you had:
-<pre class="prettyprint">
-pagespeed LoadFromFileRuleMatch Disallow \.ssp.css$;</pre>
-      Then you would need to replace <code>$</code>
-      with <code>$ps_dollar</code>:
-<pre class="prettyprint">
-pagespeed LoadFromFileRuleMatch Disallow \.ssp.css$ps_dollar;</pre>
-    </p>
-    <p>
-      If you have a server that you don't want the scripted configuration to
-      apply, specify <code>ClearInheritedScripts</code>.  For example:
-    </p>
-<pre class="prettyprint">
-http {
-  pagespeed ProcessScriptVariables on;
-  pagespeed LoadFromFile "http://$host/static" "$document_root/static";
-  ...
-  server {
-    server_name example.com;
-    root /var/www/ec;
-
-    # PageSpeed will load example.com/static/foo from /var/www/ec/static/foo
-    # directly, without going through the rest of nginx.
-  }
-  server {
-    server_name example.org;
-    root /var/www/eo;
-
-    pagespeed ClearInheritedScripts;
-
-    # This server block won't see that LoadFromFile config at all, so PageSpeed
-    # will load example.org/static/foo by asking nginx for /static/foo over
-    # http.
-  }
-}</pre>
-
-  </div>
-  <!--#include virtual="_footer.html" -->
-  </body>
-</html>
diff --git a/incubator.png b/incubator.png
deleted file mode 100644
index 338169e..0000000
--- a/incubator.png
+++ /dev/null
Binary files differ
diff --git a/index.html b/index.html
deleted file mode 100644
index cf182db..0000000
--- a/index.html
+++ /dev/null
@@ -1,291 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<html><head><meta name="viewport" content="width=device-width, initial-scale=1">
-<title>PageSpeed Modules</title></head>
-<link rel="stylesheet" type="text/css" href="doc/doc.css"/>
-<style>
-body {
-  font-family: sans-serif;
-  margin: 0;
-  padding: 0;
-  line-height: 1.5;
-  word-wrap: break-word;
-}
-
-#content p {
-  max-width: 40em;
-}
-
-a {
-  color: #0288d1;
-  text-decoration: none;
-}
-
-a:hover {
-  text-decoration: underline;
-}
-
-#header, #navline {
-  color: white;
-}
-
-#logoline {
-  background-color: #0061ff;
-  padding: 1em;
-}
-
-#logo {
-  display: inline-block;
-  position: relative;
-  top: 4px;
-}
-
-#logotext {
-  font-size: 32px;
-  display: inline-block;
-}
-
-#content {
-  margin: 1em;
-  margin-top: 2em;
-}
-
-#banner {
-  height: 9em;
-  position: relative;
-  text-align: justify;
-  margin-left: auto;
-  margin-right: auto;
-  border-top: 1px solid silver;
-}
-
-#banner::before {
-  position: absolute;
-  top: 0;
-  left: 0;
-  bottom: 0;
-  right: 0;
-  opacity: .3;
-  content: "";
-  z-index: -1;
-  background-image: url(network-loading.png);
-  background-repeat: no-repeat;
-  background-size: cover;
-}
-
-
-
-#banner-logo-container {
-  height: 8em;
-
-  margin-top: 0.5em;
-  margin-left: auto;
-  margin-right: auto;
-  display: block;
-  position:relative;
-  width: 150px;
-
-  background-image: url(pagespeed+nginx+apache.svg);
-  background-size: contain;
-  background-position: center center;
-}
-
-
-#grey-stripe {
-  height: 0.5em;
-  background-color: #888;
-}
-
-#resources p {
-  max-width: 33em;
-}
-
-#resources h2, #resources h3 {
-  color: #757575;
-  font-weight: normal;
-}
-
-#resources a {
-  margin-right: 2em;
-  white-space: nowrap;
-}
-
-@media (min-width: 37em) {
-  .resource {
-    width: 35em;
-    display: inline-block;
-    vertical-align: top;
-  }
-}
-
-h2 {
-  border-bottom: 1px dashed silver;
-}
-
-</style>
-
-<body>
-
-<div id=header>
-  <div id=logoline>
-    <div id=logo>
-      <img src="https://www.gstatic.com/images/branding/product/1x/pagespeed_32dp.png"
-           srcset="https://www.gstatic.com/images/branding/product/2x/pagespeed_32dp.png"
-           width=32 height=32 alt="pagespeed logo">
-    </div>
-    <div id=logotext>Apache PageSpeed (Incubating)</div>
-  </div>
-</div>
-
-<div id=banner>
-  <div id="banner-logo-container"></div>
-</div>
-
-<div id=grey-stripe></div>
-  <img src="/incubator.png" height="80" align="right">
-
-<div id=content-wrapper>
-<div id=content>
-
-  <p>
-    The PageSpeed Modules, <a href="https://github.com/apache/incubator-pagespeed-mod" target="_blank">mod_pagespeed</a> and
-    <a href="https://github.com/apache/incubator-pagespeed-ngx" target="_blank">ngx_pagespeed</a>, are open-source
-    webserver modules that <a href="/doc/filters">optimize your site automatically</a>.
-  </p>
-
-  <p class="note">
-    <strong>Disclaimer</strong>:
-    Apache PageSpeed is an effort undergoing incubation at The
-    Apache Software Foundation (ASF), sponsored by the Apache Incubator.
-    Incubation is required of all newly accepted projects until a further
-    review indicates that the infrastructure, communications, and
-    decision making process have stabilized in a manner consistent with
-    other successful ASF projects. While incubation status is not
-    necessarily a reflection of the completeness or stability of
-    the code, it does indicate that the project has yet to be fully
-    endorsed by the ASF.</p>
-</div>
-
-  <div id=resources>
-    <h2>Install on your webserver</h2>
-
-    <div class=resource-group>
-    <div class=resource>
-      <h3>Packages for Apache</h3>
-      <p>Pre-built binary packages for Apache</p>
-      <a href="doc/download">Download Packages</a>
-    </div>
-
-    <div class=resource>
-      <h3>Source for Nginx</h3>
-      <p>Build from source on Nginx</p>
-      <a href="doc/build_ngx_pagespeed_from_source">Download Source</a>
-    </div>
-    <div>
-
-    <h2>Read Documentation</h2>
-
-    <div class=resource-group>
-    <div class=resource>
-      <h3>Configuring PageSpeed for your site</h3>
-      <p>Read how to enable the module and adjust it for your system</p>
-      <a href="doc/">Documentation</a>
-      <a href="doc/release_notes">Release Notes</a>
-    </div>
-    <div class=resource>
-      <h3>Examples</h3>
-      <p>Examples of PageSpeed optimization filters in action.</p>
-      <a target="_blank" href="examples/">Examples</a>
-    </div>
-    </div>
-
-    <h2>Get Support</h2>
-
-    <div class=resource-group>
-    <div class=resource>
-      <h3>Ask a question on the mailing list</h3>
-      <p>On our discussion mailing lists you can ask questions and get help from
-         the developers and other users.</p>
-      <a href="https://groups.google.com/group/mod-pagespeed-discuss">Apache</a>
-      <a href="https://groups.google.com/group/ngx-pagespeed-discuss">Nginx</a>
-      <h3>IRC</h3>
-      <p>Join our <strong>#pagespeed</strong> channel on irc.freenode.net</p>
-    </div>
-
-    <div class=resource>
-      <h3>File a bug</h3>
-      <p>If PageSpeed isn't working correctly on your site, file a bug and we'll
-         look into it.</p>
-      <a href="https://github.com/apache/incubator-pagespeed-mod/issues/new">Apache</a>
-      <a href="https://github.com/apache/incubator-pagespeed-ngx/issues/new">Nginx</a>
-    </div>
-    </div>
-
-    <h2>Make Changes</h2>
-    <div class=resource-group>
-    <div class=resource>
-      <h3>Get the source</h3>
-      <p>Download the source code, to build on your machine.</p>
-      <a href="https://github.com/apache/incubator-pagespeed-mod">Apache</a>
-      <a href="https://github.com/apache/incubator-pagespeed-ngx">Nginx</a>
-    </div>
-
-    <div class=resource>
-      <h3>Join the project mailing list</h3>
-      <p>Talk about code changes, designs, refactoring, and new features.  If
-         you're interested in getting started with PageSpeed development,
-         introduce yourself here!</p>
-      <a href="https://lists.apache.org/list.html?dev@pagespeed.apache.org">pagespeed-dev@</a>
-    </div>
-
-    <div class=resource>
-      <h3>Read the wiki</h3>
-      <p>All our developer-focused documentation, from how to get started with
-         a development environment, to running tests, to our list of
-         priorities.</p>
-      <a href="https://github.com/apache/incubator-pagespeed-mod/wiki">Wiki</a>
-    </div>
-
-    <div class=resource>
-      <h3>API Documentation</h3>
-      <p>Documentation for the PageSpeed optimization libraries.</p>
-      <a target="_blank" href="/psol/annotated.html">API Documentation</a>
-    </div>
-    </div>
-
-    <h2>Related Projects</h2>
-
-    <div class=resource-group>
-    <div class=resource>
-      <h3>Other PageSpeed integrations</h3>
-      <p>While mod_pagespeed (Apache) and ngx_pagesped (Nginx) are the only two
-         server integrations developed by the core PageSpeed team, people have
-         ported PageSpeed to other servers as well.</p>
-      <a href="https://www.iiswebspeed.com/">IIS</a>
-      <a href="https://github.com/apache/trafficserver/tree/master/plugins/experimental/ats_pagespeed">Traffic Server</a>
-      <a href="http://open.litespeedtech.com/mediawiki/index.php/Help:Modules:PageSpeed">OpenLiteSpeed</a>
-    </div>
-    </div>
-  </div>
-
-</div>
-</div>
-
-</body></html>
diff --git a/network-loading.png b/network-loading.png
deleted file mode 100644
index 87c4583..0000000
--- a/network-loading.png
+++ /dev/null
Binary files differ
diff --git a/pagespeed+nginx+apache.svg b/pagespeed+nginx+apache.svg
deleted file mode 100644
index bb22d52..0000000
--- a/pagespeed+nginx+apache.svg
+++ /dev/null
@@ -1,658 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-  http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Created with Inkscape (http://www.inkscape.org/) -->
-
-<svg
-   xmlns:dc="http://purl.org/dc/elements/1.1/"
-   xmlns:cc="http://creativecommons.org/ns#"
-   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
-   xmlns:svg="http://www.w3.org/2000/svg"
-   xmlns="http://www.w3.org/2000/svg"
-   xmlns:xlink="http://www.w3.org/1999/xlink"
-   version="1.1"
-   width="756.38092"
-   height="653.2381"
-   id="svg2">
-  <defs
-     id="defs4">
-    <linearGradient
-       x1="-6953.3999"
-       y1="1134.7"
-       x2="-6012"
-       y2="1134.7"
-       id="j"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3529"
-         style="stop-color:#9e2064;stop-opacity:1"
-         offset="0.3233" />
-      <stop
-         id="stop3531"
-         style="stop-color:#c92037;stop-opacity:1"
-         offset="0.63020003" />
-      <stop
-         id="stop3533"
-         style="stop-color:#cd2335;stop-opacity:1"
-         offset="0.75139999" />
-      <stop
-         id="stop3535"
-         style="stop-color:#e97826;stop-opacity:1"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       x1="-9346.0996"
-       y1="1137.7"
-       x2="-5087"
-       y2="1137.7"
-       id="a"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3520"
-         style="stop-color:#9e2064;stop-opacity:1"
-         offset="0.3233" />
-      <stop
-         id="stop3522"
-         style="stop-color:#c92037;stop-opacity:1"
-         offset="0.63020003" />
-      <stop
-         id="stop3524"
-         style="stop-color:#cd2335;stop-opacity:1"
-         offset="0.75139999" />
-      <stop
-         id="stop3526"
-         style="stop-color:#e97826;stop-opacity:1"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       x1="-9346.0996"
-       y1="1152.7"
-       x2="-5087"
-       y2="1152.7"
-       id="b"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3511"
-         style="stop-color:#9e2064;stop-opacity:1"
-         offset="0.3233" />
-      <stop
-         id="stop3513"
-         style="stop-color:#c92037;stop-opacity:1"
-         offset="0.63020003" />
-      <stop
-         id="stop3515"
-         style="stop-color:#cd2335;stop-opacity:1"
-         offset="0.75139999" />
-      <stop
-         id="stop3517"
-         style="stop-color:#e97826;stop-opacity:1"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       x1="-9610.2998"
-       y1="999.72998"
-       x2="-5351.2002"
-       y2="999.72998"
-       id="c"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3502"
-         style="stop-color:#9e2064;stop-opacity:1"
-         offset="0.3233" />
-      <stop
-         id="stop3504"
-         style="stop-color:#c92037;stop-opacity:1"
-         offset="0.63020003" />
-      <stop
-         id="stop3506"
-         style="stop-color:#cd2335;stop-opacity:1"
-         offset="0.75139999" />
-      <stop
-         id="stop3508"
-         style="stop-color:#e97826;stop-opacity:1"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       x1="-9346.0996"
-       y1="1021.6"
-       x2="-5087"
-       y2="1021.6"
-       id="d"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3493"
-         style="stop-color:#9e2064;stop-opacity:1"
-         offset="0.3233" />
-      <stop
-         id="stop3495"
-         style="stop-color:#c92037;stop-opacity:1"
-         offset="0.63020003" />
-      <stop
-         id="stop3497"
-         style="stop-color:#cd2335;stop-opacity:1"
-         offset="0.75139999" />
-      <stop
-         id="stop3499"
-         style="stop-color:#e97826;stop-opacity:1"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       x1="-9035.5"
-       y1="638.44"
-       x2="-6797.2002"
-       y2="638.44"
-       id="e"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3484"
-         style="stop-color:#282662;stop-opacity:1"
-         offset="0" />
-      <stop
-         id="stop3486"
-         style="stop-color:#662e8d;stop-opacity:1"
-         offset="0.095484" />
-      <stop
-         id="stop3488"
-         style="stop-color:#9f2064;stop-opacity:1"
-         offset="0.78820002" />
-      <stop
-         id="stop3490"
-         style="stop-color:#cd2032;stop-opacity:1"
-         offset="0.94870001" />
-    </linearGradient>
-    <linearGradient
-       x1="-9346.0996"
-       y1="580.82001"
-       x2="-5087"
-       y2="580.82001"
-       id="f"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3475"
-         style="stop-color:#9e2064;stop-opacity:1"
-         offset="0.3233" />
-      <stop
-         id="stop3477"
-         style="stop-color:#c92037;stop-opacity:1"
-         offset="0.63020003" />
-      <stop
-         id="stop3479"
-         style="stop-color:#cd2335;stop-opacity:1"
-         offset="0.75139999" />
-      <stop
-         id="stop3481"
-         style="stop-color:#e97826;stop-opacity:1"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       x1="-9071.2002"
-       y1="1047.7"
-       x2="-6533.2002"
-       y2="1047.7"
-       id="g"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3466"
-         style="stop-color:#282662;stop-opacity:1"
-         offset="0" />
-      <stop
-         id="stop3468"
-         style="stop-color:#662e8d;stop-opacity:1"
-         offset="0.095484" />
-      <stop
-         id="stop3470"
-         style="stop-color:#9f2064;stop-opacity:1"
-         offset="0.78820002" />
-      <stop
-         id="stop3472"
-         style="stop-color:#cd2032;stop-opacity:1"
-         offset="0.94870001" />
-    </linearGradient>
-    <linearGradient
-       x1="-9585.2998"
-       y1="620.5"
-       x2="-5326.2002"
-       y2="620.5"
-       id="h"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3457"
-         style="stop-color:#9e2064;stop-opacity:1"
-         offset="0.3233" />
-      <stop
-         id="stop3459"
-         style="stop-color:#c92037;stop-opacity:1"
-         offset="0.63020003" />
-      <stop
-         id="stop3461"
-         style="stop-color:#cd2335;stop-opacity:1"
-         offset="0.75139999" />
-      <stop
-         id="stop3463"
-         style="stop-color:#e97826;stop-opacity:1"
-         offset="1" />
-    </linearGradient>
-    <linearGradient
-       x1="-5167.1001"
-       y1="697.54999"
-       x2="-4570.1001"
-       y2="1395.6"
-       id="i"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)">
-      <stop
-         id="stop3450"
-         style="stop-color:#f69923;stop-opacity:1"
-         offset="0" />
-      <stop
-         id="stop3452"
-         style="stop-color:#f79a23;stop-opacity:1"
-         offset="0.3123" />
-      <stop
-         id="stop3454"
-         style="stop-color:#e97826;stop-opacity:1"
-         offset="0.83829999" />
-    </linearGradient>
-    <linearGradient
-       x1="-9035.5"
-       y1="638.44"
-       x2="-6797.2002"
-       y2="638.44"
-       id="linearGradient3869"
-       xlink:href="#e"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <linearGradient
-       x1="-5167.1001"
-       y1="697.54999"
-       x2="-4570.1001"
-       y2="1395.6"
-       id="linearGradient3871"
-       xlink:href="#i"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <linearGradient
-       x1="-9585.2998"
-       y1="620.5"
-       x2="-5326.2002"
-       y2="620.5"
-       id="linearGradient3873"
-       xlink:href="#h"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <linearGradient
-       x1="-9346.0996"
-       y1="580.82001"
-       x2="-5087"
-       y2="580.82001"
-       id="linearGradient3875"
-       xlink:href="#f"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <linearGradient
-       x1="-9346.0996"
-       y1="1021.6"
-       x2="-5087"
-       y2="1021.6"
-       id="linearGradient3877"
-       xlink:href="#d"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <linearGradient
-       x1="-9610.2998"
-       y1="999.72998"
-       x2="-5351.2002"
-       y2="999.72998"
-       id="linearGradient3879"
-       xlink:href="#c"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <linearGradient
-       x1="-9346.0996"
-       y1="1152.7"
-       x2="-5087"
-       y2="1152.7"
-       id="linearGradient3881"
-       xlink:href="#b"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <linearGradient
-       x1="-9346.0996"
-       y1="1137.7"
-       x2="-5087"
-       y2="1137.7"
-       id="linearGradient3883"
-       xlink:href="#a"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <linearGradient
-       x1="-6953.3999"
-       y1="1134.7"
-       x2="-6012"
-       y2="1134.7"
-       id="linearGradient3885"
-       xlink:href="#j"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <linearGradient
-       x1="-9071.2002"
-       y1="1047.7"
-       x2="-6533.2002"
-       y2="1047.7"
-       id="linearGradient3887"
-       xlink:href="#g"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(-0.21591,0.044142,-0.044142,-0.21591,-974.83,437.49)" />
-    <radialGradient
-       cx="12.333"
-       cy="171.33299"
-       r="219.577"
-       id="radialGradient3889"
-       xlink:href="#SVGID_2_"
-       gradientUnits="userSpaceOnUse"
-       gradientTransform="matrix(1,0,0,-1,0,194)" />
-  </defs>
-  <metadata
-     id="metadata7">
-    <rdf:RDF>
-      <cc:Work
-         rdf:about="">
-        <dc:format>image/svg+xml</dc:format>
-        <dc:type
-           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
-        <dc:title></dc:title>
-      </cc:Work>
-    </rdf:RDF>
-  </metadata>
-  <g
-     transform="translate(-38.952392,799.97114)"
-     id="layer1">
-    <g
-       transform="matrix(4.297619,0,0,4.297619,4.57144,-885.92352)"
-       id="g3807">
-      <path
-         d="M 0,0 H 192 V 192 H 0 V 0 z"
-         id="path3757"
-         style="fill:none" />
-      <g
-         id="g3759">
-        <g
-           id="g3761">
-          <path
-             d="m 184,44 v 116 c 0,6.63 -5.37,12 -12,12 H 20 C 13.37,172 8,166.63 8,160 V 44 h 176 z"
-             id="path3763"
-             style="fill:#e1e1e1" />
-          <path
-             d="m 20,20 h 152 c 6.63,0 12,5.37 12,12 V 44 H 8 V 32 C 8,25.37 13.37,20 20,20 z"
-             id="path3765"
-             style="fill:#c2c2c2" />
-          <path
-             d="M 172,20 H 20 C 13.4,20 8,25.4 8,32 v 1 C 8,26.4 13.4,21 20,21 h 152 c 6.6,0 12,5.4 12,12 v -1 c 0,-6.6 -5.4,-12 -12,-12 z"
-             id="path3767"
-             style="fill:#ffffff;fill-opacity:0.2" />
-          <path
-             d="m 8,44 h 176 v 1 H 8 v -1 z"
-             id="path3769"
-             style="fill:#212121;fill-opacity:0.1" />
-          <path
-             d="m 95.93,80 c -35.36,0 -63.9,28.65 -63.9,64 0,1.34 -0.08,3 0,4 h 27.88 c -0.15,-1 0,-2.65 0,-4 0,-19.88 16.13,-36 36.02,-36 6.92,0 13.39,1.96 18.88,5.34 l 20.1,-20.1 C 124.11,84.94 110.6,80 95.93,80 z"
-             id="path3771"
-             style="fill:#4285f4" />
-          <path
-             d="m 134.91,93.24 -20.1,20.1 c 10.28,6.34 17.14,17.7 17.14,30.66 0,1.35 0.15,3 0,4 h 28.01 c 0.08,-1 0,-2.66 0,-4 0,-20.68 -9.82,-39.06 -25.05,-50.76 z"
-             id="path3773"
-             style="fill:#f44336" />
-          <circle
-             cx="24"
-             cy="32"
-             r="4"
-             id="circle3775"
-             style="fill:#eeeeee" />
-          <circle
-             cx="40"
-             cy="32"
-             r="4"
-             id="circle3777"
-             style="fill:#eeeeee" />
-          <path
-             d="M 172.02,171 H 19.96 c -6.6,0 -12,-5.4 -12,-12 v 1 c 0,6.6 5.4,12 12,12 h 152.06 c 6.6,0 12,-5.4 12,-12 v -1 c 0,6.6 -5.4,12 -12,12 l 0,0 z"
-             id="path3779"
-             style="fill:#212121;fill-opacity:0.1" />
-          <path
-             d="m 135.12,95.67 c 0.24,-0.33 0.38,-0.73 0.38,-1.17 0,-1.1 -0.9,-2 -2,-2 -0.47,0 -0.89,0.17 -1.23,0.44 l -43.61,33.57 c -2.84,2.19 -4.67,5.62 -4.67,9.49 0,6.63 5.37,12 12,12 4.35,0 8.14,-2.32 10.25,-5.78 l 0.01,0.01 28.87,-46.56 0,0 z"
-             id="path3781"
-             style="fill:#9e9e9e" />
-          <path
-             d="m 88.66,127.51 43.61,-33.58 c 0.34,-0.27 0.77,-0.44 1.23,-0.44 0.92,0 1.69,0.63 1.92,1.48 0.04,-0.15 0.08,-0.31 0.08,-0.48 0,-1.1 -0.9,-2 -2,-2 -0.47,0 -0.89,0.17 -1.23,0.44 L 88.66,126.5 c -2.84,2.19 -4.67,5.62 -4.67,9.49 0,0.18 0.02,0.36 0.03,0.54 0.14,-3.66 1.92,-6.91 4.64,-9.02 z"
-             id="path3783"
-             style="opacity:0.2;fill:#ffffff" />
-          <path
-             d="m 135.12,95.67 -28.87,46.56 -0.01,-0.01 c -2.11,3.46 -5.9,5.78 -10.25,5.78 -6.45,0 -11.69,-5.09 -11.97,-11.46 -0.01,0.15 -0.03,0.3 -0.03,0.46 0,6.63 5.37,12 12,12 4.35,0 8.14,-2.32 10.25,-5.78 l 0.01,0.01 28.87,-46.56 c 0.24,-0.33 0.38,-0.73 0.38,-1.17 0,-0.18 -0.03,-0.36 -0.08,-0.52 -0.06,0.25 -0.16,0.48 -0.3,0.69 z"
-             id="path3785"
-             style="opacity:0.2;fill:#212121" />
-          <linearGradient
-             x1="113.7175"
-             y1="72.717499"
-             x2="170.8495"
-             y2="15.5855"
-             id="SVGID_1_"
-             gradientUnits="userSpaceOnUse"
-             gradientTransform="matrix(1,0,0,-1,0,194)">
-            <stop
-               id="stop3788"
-               style="stop-color:#212121;stop-opacity:0.2"
-               offset="0" />
-            <stop
-               id="stop3790"
-               style="stop-color:#212121;stop-opacity:0"
-               offset="1" />
-          </linearGradient>
-          <path
-             d="m 135.09,93.3 c 0.26,0.34 0.41,0.75 0.41,1.2 0,0.44 -0.14,0.84 -0.38,1.17 l -28.87,46.56 -0.01,-0.01 c -2.11,3.46 -5.9,5.78 -10.25,5.78 -2.97,0 -5.68,-1.08 -7.78,-2.87 L 115.08,172 H 172 c 6.63,0 12,-5.37 12,-12 V 142.21 L 135.09,93.3 z"
-             id="path3792"
-             style="fill:url(#SVGID_1_)" />
-        </g>
-        <radialGradient
-           cx="12.333"
-           cy="171.33299"
-           r="219.577"
-           id="SVGID_2_"
-           gradientUnits="userSpaceOnUse"
-           gradientTransform="matrix(1,0,0,-1,0,194)">
-          <stop
-             id="stop3795"
-             style="stop-color:#ffffff;stop-opacity:0.1"
-             offset="0" />
-          <stop
-             id="stop3797"
-             style="stop-color:#ffffff;stop-opacity:0"
-             offset="1" />
-        </radialGradient>
-        <path
-           d="m 184,32 c 0,-6.63 -5.37,-12 -12,-12 L 20,20 C 13.37,20 8,25.37 8,32 L 8,97.662048 8,160 c 0,6.63 5.37,12 12,12 l 152,0 c 6.63,0 12,-5.37 12,-12 z"
-           id="path3799"
-           style="fill:url(#radialGradient3889)" />
-      </g>
-    </g>
-    <g
-       transform="matrix(0.60728573,0,0,0.60728573,243.80108,-700.71388)"
-       id="g3832">
-      <g
-         transform="matrix(3.1322027,0,0,3.1322027,448.21255,-141.96415)"
-         id="layer1-6">
-        <path
-           d="m 14.047838,32.727592 0,-19.064695 19.062499,19.064695 0,-19.064695"
-           id="path2996"
-           style="fill:none;stroke:#009900;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
-        <path
-           d="M 44.6875,11.1875 44,12.46875 38.6875,22.125 38,23.34375 38.6875,24.5625 44,33.90625 l 0.71875,1.28125 1.46875,0 10.875,0 1.5625,0 0.6875,-1.40625 3.96875,-8 1.78125,-3.625 -4.03125,0 L 50.875,22.1875 c -1.320782,-0.01868 -2.535605,1.179086 -2.535605,2.5 0,1.320914 1.214823,2.518679 2.535605,2.5 L 57,27.15625 l -1.5,3.03125 -7.875,0 -3.90625,-6.875 3.9375,-7.125 8.377221,0 1.953125,4.007812 5.03125,0 -3.171875,-7.601562 -0.6875,-1.40625 -1.5625,0 -11.408471,0 z"
-           id="path2996-0"
-           style="fill:#009900" />
-        <path
-           d="m 70.013782,11.15625 c -1.308989,0.01639 -2.485084,1.222261 -2.46875,2.53125 l 0,6.514509 5,0 0,-6.514509 c 0.01659,-1.329821 -1.201429,-2.547843 -2.53125,-2.53125 z"
-           id="path2996-0-5"
-           style="fill:#009900" />
-        <use
-           transform="matrix(-1,0,0,1,111.13905,0.04841623)"
-           id="use3820"
-           x="0"
-           y="0"
-           width="744.09448"
-           height="1052.3622"
-           xlink:href="#path2996" />
-        <g
-           transform="translate(0.10586251,0.33010228)"
-           id="g3920">
-          <path
-             d="m 104.90935,13.374209 19.08481,19.017856"
-             id="path2996-1"
-             style="fill:none;stroke:#009900;stroke-width:5;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
-          <use
-             transform="matrix(-1,0,0,1,228.92583,0)"
-             id="use3851"
-             x="0"
-             y="0"
-             width="744.09448"
-             height="1052.3622"
-             xlink:href="#path2996-1" />
-        </g>
-        <path
-           d="m 70.013782,35.204069 c -1.308989,-0.01639 -2.485084,-1.222261 -2.46875,-2.53125 l 0,-10.464363 5,0 0,10.464363 c 0.01659,1.329821 -1.201429,2.547843 -2.53125,2.53125 z"
-           id="path2996-0-5-1"
-           style="fill:#009900" />
-      </g>
-      <g
-         transform="matrix(0.43303041,0,0,0.43303041,68.42211,-134.9456)"
-         id="g3640"
-         style="enable-background:new">
-        <g
-           transform="translate(-3.9433,180.23)"
-           id="g3537">
-          <path
-             d="m 656.71,-7.0909 c 20.267,-9.5939 39.714,-20.144 58.137,-31.855 0.64586,-0.42398 1.3003,-0.79943 1.9461,-1.2234 -7.5146,19.097 -3.8382,52.585 -3.7537,52.44 11.85,-34.711 26.515,-65.255 48.744,-84.672 8.4826,7.5928 14.923,21.83 20.214,39.882 2.6186,-24.849 -1.858,-38.732 -4.0514,-43.799 10.917,12.948 30.734,20.176 52.045,26.46 -23.946,-14.536 -39.792,-28.878 -46.004,-42.955 68.312,-21.018 142.29,-46.157 219.96,-74.026 -6.0925,-4.5911 -12.639,-5.1694 -19.442,-3.1706 -14.023,5.1017 -106.22,38.312 -231.64,76.244 -3.5629,1.0778 -7.1567,2.1511 -10.768,3.2375 -1.0067,0.30738 -2.0264,0.59708 -3.0153,0.89135 -13.174,3.9515 -26.666,7.9189 -40.462,11.92 -3.1433,0.90384 -6.2865,1.8077 -9.4475,2.7247 -0.0663,0.02188 -0.13246,0.04334 -0.18106,0.052 l -34.514,68.935 c 0.7115,-0.33546 1.4939,-0.72358 2.2408,-1.0853 z"
-             id="path3539"
-             style="fill:url(#linearGradient3869)" />
-          <path
-             d="m 23.148,66.817 c 19.071,7.1961 39.608,9.0845 59.733,11.274 11.854,1.1234 23.738,1.9142 35.63,2.4926 8.1692,-17.104 16.338,-34.207 24.508,-51.311 -31.491,0.85648 -63.087,0.17618 -94.393,-3.5401 30.943,3.103 62.137,1.8494 93.129,0.17007 -22.37,-26.669 -46.909,-51.428 -71.93,-75.588 -23.519,11.839 -46.291,28.35 -58.634,52.244 -6.3001,14.546 -9.9508,31.534 -4.821,46.981 2.7562,7.894 9.065,14.16 16.773,17.277 z"
-             id="path3541"
-             style="fill:url(#linearGradient3871)" />
-          <path
-             d="m 280.24,-67.689 c -0.15352,-0.13308 -0.28936,-0.27929 -0.4429,-0.41235 l 2.6202,2.831 c 0.23288,0.12909 0.43954,0.22281 0.65472,0.36504 -0.94684,-0.94406 -1.8983,-1.8573 -2.832,-2.7836 z"
-             id="path3543"
-             style="fill:none" />
-          <path
-             d="m 368.72,-99.465 c 1.6889,1.4638 3.3155,3.0287 4.9198,4.6376 -1.6043,-1.6088 -3.2487,-3.1606 -4.9198,-4.6376 z"
-             id="path3545"
-             style="fill:none" />
-          <path
-             d="m 640.89,-71.354 c -0.77256,0.21613 -1.5451,0.43223 -2.3045,0.66606 -15.919,4.505 -31.444,8.8006 -46.643,12.908 -17.052,4.6045 -33.627,8.9648 -49.773,13.089 -17.016,4.3579 -33.536,8.4584 -49.579,12.315 -16.829,4.0548 -33.127,7.826 -48.887,11.362 -12.825,2.8692 -25.296,5.586 -37.426,8.1328 -4.0333,0.85047 -8.0489,1.6878 -12.029,2.4989 -7.881,1.6182 -15.643,3.1754 -23.223,4.6806 -7.0114,1.385 -13.886,2.6958 -20.659,3.9587 -2.2547,0.43715 -4.4872,0.83034 -6.7242,1.2544 -0.3574,0.072954 -0.72796,0.12822 -1.0854,0.20118 l 2.2258,2.4101 -2.5583,5.1341 c 0.55154,-0.10716 1.0985,-0.18347 1.6632,-0.27291 10.236,-1.7727 20.516,-3.6333 30.84,-5.5819 5.9654,-1.1307 11.949,-2.2746 17.936,-3.4492 16.6,-3.2538 33.24,-6.675 49.89,-10.268 16.826,-3.614 33.632,-7.4045 50.376,-11.314 16.449,-3.8277 32.823,-7.7924 49.096,-11.819 16.242,-4.0316 32.358,-8.1608 48.306,-12.331 16.654,-4.3643 33.08,-8.7783 49.245,-13.247 3.6463,-1.0025 7.2925,-2.0049 10.926,-3.0251 13.032,-3.6261 25.843,-7.2535 38.464,-10.878 l 4.0558,-8.1098 -2.4975,-2.7025 c -0.37966,0.11693 -0.7594,0.23382 -1.1214,0.3376 -16.542,4.885 -32.709,9.5737 -48.514,14.048 z"
-             id="path3547"
-             style="fill:none" />
-          <path
-             d="m 374.86,-93.622 c -0.012,-0.01769 -0.0309,-0.0044 -0.0441,-0.02219 0,0 0.012,0.01769 0.0441,0.02219 z"
-             id="path3549"
-             style="fill:none" />
-          <path
-             d="m 415.36,-112.67 c 2.517,2.3588 5.0819,4.8192 7.717,7.3373 0.012,0.0177 0.0441,0.0222 0.057,0.04 -1.2887,-1.2942 -2.5643,-2.5706 -3.8622,-3.8031 -1.2979,-1.2325 -2.5872,-2.4165 -3.9119,-3.5742 z"
-             id="path3551"
-             style="fill:#be202e" />
-          <path
-             d="m 415.36,-112.67 c 2.517,2.3588 5.0819,4.8192 7.717,7.3373 0.012,0.0177 0.0441,0.0222 0.057,0.04 -1.2887,-1.2942 -2.5643,-2.5706 -3.8622,-3.8031 -1.2979,-1.2325 -2.5872,-2.4165 -3.9119,-3.5742 z"
-             id="path3553"
-             style="opacity:0.35;fill:#be202e" />
-          <path
-             d="m 374.77,-93.666 c 0,0 0.012,0.01768 0.0309,0.0046 0.012,0.01769 0.0309,0.0044 0.0441,0.02219 -0.39436,-0.42092 -0.81102,-0.79786 -1.1923,-1.2011 -1.6175,-1.6266 -3.2618,-3.1783 -4.9198,-4.6376 1.9685,1.915 3.9986,3.8391 6.0373,5.8118 z"
-             id="path3555"
-             style="fill:#be202e" />
-          <path
-             d="m 374.77,-93.666 c 0,0 0.012,0.01768 0.0309,0.0046 0.012,0.01769 0.0309,0.0044 0.0441,0.02219 -0.39436,-0.42092 -0.81102,-0.79786 -1.1923,-1.2011 -1.6175,-1.6266 -3.2618,-3.1783 -4.9198,-4.6376 1.9685,1.915 3.9986,3.8391 6.0373,5.8118 z"
-             id="path3557"
-             style="opacity:0.35;fill:#be202e" />
-          <path
-             d="m 294.05,14.992 c -16.961,2.5069 -33.723,4.7285 -50.218,6.643 -17.122,1.9948 -33.955,3.6385 -50.416,4.8964 -0.9569,0.07847 -1.9446,0.15235 -2.9192,0.24395 -16.218,1.2152 -32.064,2.0446 -47.489,2.4796 l -24.508,51.311 c 3.1595,0.15406 6.3543,0.2819 9.6108,0.41887 12.251,0.46429 25.27,0.74328 38.902,0.81409 15.365,0.07595 31.56,-0.1344 48.36,-0.60148 15.522,-0.45209 31.601,-1.1524 48.051,-2.1282 14.003,-0.83512 28.316,-1.8448 42.838,-3.0914 0.5424,-0.0455 1.068,-0.07818 1.6104,-0.12365 13.32,-22.17 22.89,-45.722 34.335,-68.583 -16.183,2.7801 -32.241,5.3583 -48.157,7.7211 z"
-             id="path3559"
-             style="fill:url(#linearGradient3873)" />
-          <path
-             d="m 639.56,-61.012 c -16.179,4.4506 -32.604,8.8647 -49.245,13.247 -15.935,4.1875 -32.046,8.2859 -48.306,12.331 -16.26,4.0447 -32.63,7.9786 -49.096,11.819 -16.744,3.9098 -33.563,7.6825 -50.376,11.314 -16.632,3.5798 -33.29,7.0141 -49.89,10.268 -5.9877,1.1747 -11.971,2.3185 -17.936,3.4492 -10.325,1.9485 -20.605,3.8091 -30.84,5.5819 -0.55156,0.10715 -1.0985,0.18346 -1.6632,0.2729 l -34.33,68.583 c 1.0848,-0.091 2.1565,-0.19968 3.2413,-0.29065 15.39,-1.3696 31.015,-2.9407 46.779,-4.8063 15.922,-1.8736 31.965,-4.0286 48.062,-6.4433 13.582,-2.0319 27.162,-4.2534 40.724,-6.6821 2.7532,-0.50491 5.4578,-1.0013 8.1802,-1.5108 16.983,-3.1812 33.094,-6.6493 48.365,-10.29 17.296,-4.1271 33.51,-8.4938 48.609,-12.995 9.938,-2.9512 19.414,-5.9711 28.431,-8.9803 7.6399,-2.6465 15.232,-5.3947 22.71,-8.2228 17.654,-6.6419 34.84,-13.842 51.5,-21.64 11.64,-22.613 23.669,-45.588 34.514,-68.935 -12.622,3.624 -25.468,7.2775 -38.5,10.904 -3.6155,1.007 -7.2794,2.0226 -10.926,3.0251 z"
-             id="path3561"
-             style="fill:url(#linearGradient3875)" />
-          <path
-             d="m 343.66,-0.50096 c 2.2193,-0.41089 4.4564,-0.83491 6.7242,-1.2543 6.7596,-1.2806 13.634,-2.5914 20.659,-3.9587 7.5938,-1.4876 15.325,-3.0493 23.223,-4.6806 3.9802,-0.81109 7.965,-1.653 12.029,-2.4989 12.131,-2.5468 24.602,-5.2637 37.426,-8.1328 15.759,-3.5362 32.058,-7.3074 48.887,-11.362 16.043,-3.8564 32.564,-7.9569 49.579,-12.315 16.146,-4.1247 32.739,-8.4981 49.773,-13.089 15.198,-4.1078 30.724,-8.4034 46.643,-12.908 0.77254,-0.21613 1.5451,-0.43223 2.3045,-0.66606 15.804,-4.4748 31.971,-9.1635 48.483,-14.053 0.3797,-0.1169 0.7594,-0.23382 1.1214,-0.33761 l -19.143,-20.676 c 0.2395,0.5082 0.5278,1.0079 0.7674,1.5161 -23.296,-24.428 -69.92,-45.278 -111.88,-49.997 -19.338,-2.1783 -39.994,-1.8427 -62.413,0.92504 -16.69,2.0589 -34.353,5.4699 -53.191,10.219 -16.464,4.1405 -33.814,9.2679 -52.184,15.425 7.8381,3.7633 15.478,9.0727 22.931,15.646 1.2939,1.1531 2.614,2.3417 3.9119,3.5742 1.2979,1.2325 2.5912,2.4958 3.8622,3.8031 -0.012,-0.0177 -0.0441,-0.0222 -0.0569,-0.04 -28.247,-17.932 -58.622,-19.938 -89.973,-14.526 9.3924,3.2694 23.242,9.6268 35.603,20.379 1.6889,1.4639 3.3155,3.0287 4.9198,4.6376 0.41208,0.40779 0.81102,0.79786 1.1923,1.2011 -0.012,-0.01769 -0.0309,-0.0045 -0.0441,-0.02217 0,0 -0.012,-0.01769 -0.0309,-0.0045 -10.105,-6.0061 -19.623,-10.334 -29.164,-13.137 -2.0374,-0.60186 -4.084,-1.1421 -6.1444,-1.5898 -3.1256,-0.70044 -6.2609,-1.229 -9.4323,-1.6212 -2.0262,-0.25361 -4.0614,-0.44555 -6.1236,-0.56271 -4.8248,-0.29107 -9.7616,-0.2522 -14.877,0.1383 -1.5609,0.1148 -3.1265,0.26044 -4.7274,0.43231 -2.2279,0.36236 -4.3941,0.73388 -6.5295,1.11 -9.6447,1.7187 -18.003,3.5811 -25.18,5.4456 -3.5886,0.93227 -6.8597,1.8486 -9.8489,2.7754 -1.1876,0.35928 -2.3445,0.72314 -3.4528,1.0785 -3.3117,1.0836 -6.2044,2.1035 -8.6957,3.0727 -3.7281,1.4472 -6.5694,2.7582 -8.5675,3.8006 1.3027,0.35098 2.6974,0.8259 4.1661,1.4378 10.15,4.2169 23.891,14.166 33.591,23.215 l -17.583,-18.98 17.583,18.98 c 0.15354,0.13308 0.28938,0.2793 0.44292,0.41237 0.95142,0.91323 1.8983,1.8573 2.8628,2.7882 -0.23288,-0.1291 -0.43954,-0.17283 -0.65472,-0.31504 l 60.164,64.89 c 0.33972,-0.059824 0.67944,-0.11965 1.05,-0.17492 z"
-             id="path3563"
-             style="fill:url(#linearGradient3877)" />
-          <path
-             d="m 141.76,25.871 c 14.308,-0.86871 30.359,-2.1245 48.242,-3.9432 0.92606,-0.08306 1.8876,-0.19234 2.8313,-0.2885 15.471,-1.594 32.288,-3.5552 50.488,-6.02 15.721,-2.1083 32.439,-4.5725 50.245,-7.4582 15.511,-2.5017 31.888,-5.3162 49.043,-8.4876 l -59.49,-64.569 c -24.736,-13.567 -40.821,-16.794 -59.841,-16.547 -5.1755,0.16099 -10.523,0.42238 -15.982,0.79335 -16.711,1.142 -34.469,3.2787 -51.604,6.1064 -16.54,2.7429 -32.435,6.1328 -46.23,9.9134 -8.7714,2.4155 -16.684,4.99 -23.332,7.642 -5.8619,2.3434 -11.266,4.7863 -16.287,7.3018 25.101,24.05 54.589,54.423 71.931,75.557 z"
-             id="path3565"
-             style="fill:url(#linearGradient3879)" />
-          <path
-             d="m 419.27,-109.1 c 1.2979,1.2325 2.5912,2.4958 3.8622,3.8031 -1.271,-1.3073 -2.5643,-2.5706 -3.8622,-3.8031 z"
-             id="path3567"
-             style="fill:#be202e" />
-          <path
-             d="m 419.27,-109.1 c 1.2979,1.2325 2.5912,2.4958 3.8622,3.8031 -1.271,-1.3073 -2.5643,-2.5706 -3.8622,-3.8031 z"
-             id="path3569"
-             style="opacity:0.35;fill:#be202e" />
-          <path
-             d="m 419.27,-109.1 c 1.2979,1.2325 2.5912,2.4958 3.8622,3.8031 -1.271,-1.3073 -2.5643,-2.5706 -3.8622,-3.8031 z"
-             id="path3571"
-             style="fill:url(#linearGradient3881)" />
-          <path
-             d="m 374.86,-93.622 c -0.39438,-0.42091 -0.81102,-0.79787 -1.1923,-1.2011 0.38126,0.4032 0.7802,0.79328 1.1923,1.2011 z"
-             id="path3573"
-             style="fill:#be202e" />
-          <path
-             d="m 374.86,-93.622 c -0.39438,-0.42091 -0.81102,-0.79787 -1.1923,-1.2011 0.38126,0.4032 0.7802,0.79328 1.1923,1.2011 z"
-             id="path3575"
-             style="opacity:0.35;fill:#be202e" />
-          <path
-             d="m 374.86,-93.622 c -0.39438,-0.42091 -0.81102,-0.79787 -1.1923,-1.2011 0.38126,0.4032 0.7802,0.79328 1.1923,1.2011 z"
-             id="path3577"
-             style="fill:url(#linearGradient3883)" />
-          <path
-             d="m 374.81,-93.662 c 0,0 -0.012,-0.01769 -0.0309,-0.0045 0,0 0.012,0.01769 0.0309,0.0045 z"
-             id="path3579"
-             style="fill:#be202e" />
-          <path
-             d="m 374.81,-93.662 c 0,0 -0.012,-0.01769 -0.0309,-0.0045 0,0 0.012,0.01769 0.0309,0.0045 z"
-             id="path3581"
-             style="opacity:0.35;fill:#be202e" />
-          <path
-             d="m 374.81,-93.662 c 0,0 -0.012,-0.01769 -0.0309,-0.0045 0,0 0.012,0.01769 0.0309,0.0045 z"
-             id="path3583"
-             style="fill:url(#linearGradient3885)" />
-          <path
-             d="m 697.74,-87.882 c 12.856,-3.8255 25.903,-7.7645 39.192,-11.856 0.1987,-0.06501 0.3797,-0.1169 0.5784,-0.18193 1.8809,-0.57144 3.7485,-1.1606 5.6293,-1.732 8.9497,-2.7671 16.955,-5.3279 35.178,-11.129 -2.3417,-10.966 2.6186,-24.849 9.1692,-39.363 -11.075,9.2259 -18.387,22.082 -20.063,37.399 -28.142,-41.768 -64.174,-69.017 -107.07,-65.115 -3.8322,0.34468 -7.6833,0.92288 -11.624,1.7871 16.438,0.48738 28.367,7.3631 41.449,27.265 0.0441,0.0223 0.101,0.0623 0.1451,0.0846 -0.0441,-0.0223 -0.101,-0.0623 -0.1451,-0.0846 -33.43,-18.78 -55.964,-23.938 -85.227,-21.557 -6.9364,0.56118 -14.25,1.539 -22.182,2.866 43.476,5.8729 71.791,29.037 88.586,63.086 l 0.7758,1.4939 18.367,19.182 c 2.4192,-0.69629 4.8254,-1.4103 7.2492,-2.1374 z"
-             id="path3585"
-             style="fill:url(#linearGradient3887)" />
-        </g>
-      </g>
-    </g>
-  </g>
-</svg>