Commits

Michael[tm] Smith committed 057c4f5

Marked this repo as obsolete & removed contents.

Comments (0)

Files changed (7)

CREDITS

----------------------------------------------------------------------------
-CREDITS
----------------------------------------------------------------------------
-The first-party source code provided by the accompanying jar files is
-available under the following license.
-
-Copyright (c) 2012 Mozilla Foundation
-
-Permission is hereby granted, free of charge, to any person obtaining a 
-copy of this software and associated documentation files (the "Software"), 
-to deal in the Software without restriction, including without limitation 
-the rights to use, copy, modify, merge, publish, distribute, sublicense, 
-and/or sell copies of the Software, and to permit persons to whom the 
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in 
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
-THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
-DEALINGS IN THE SOFTWARE.
----------------------------------------------------------------------------
-
-The remaining third-party code is available under one of a variety of other
-licenses, as listed below.
-
-***************************************************************************
-jing
-
-Copyright (c) 2001-2003 Thai Open Source Software Center Ltd
-Copyright (c) 2008 Mozilla Foundation
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are
-met:
-
-    Redistributions of source code must retain the above copyright
-    notice, this list of conditions and the following disclaimer.
-
-    Redistributions in binary form must reproduce the above copyright
-    notice, this list of conditions and the following disclaimer in
-    the documentation and/or other materials provided with the
-    distribution.
-
-    Neither the name of the Thai Open Source Software Center Ltd nor
-    the names of its contributors may be used to endorse or promote
-    products derived from this software without specific prior written
-    permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR
-CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
-PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
-NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-***************************************************************************
-Apache log4j
-Copyright 2007 The Apache Software Foundation
-
-This product includes software developed at
-The Apache Software Foundation (http://www.apache.org/).
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
-
-   APPENDIX: How to apply the Apache License to your work.
-
-      To apply the Apache License to your work, attach the following
-      boilerplate notice, with the fields enclosed by brackets "[]"
-      replaced with your own identifying information. (Don't include
-      the brackets!)  The text should be enclosed in the appropriate
-      comment syntax for the file format. We also recommend that a
-      file or class name and description of purpose be included on the
-      same "printed page" as the copyright notice for easier
-      identification within third-party archives.
-
-   Copyright 1999-2005 The Apache Software Foundation
-
-   Licensed 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.
-
-***************************************************************************
-Apache Commons Codec
-Copyright 2002-2009 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
---------------------------------------------------------------------------------
-src/test/org/apache/commons/codec/language/DoubleMetaphoneTest.java contains 
-test data from http://aspell.sourceforge.net/test/batch0.tab.
-
-Copyright (C) 2002 Kevin Atkinson (kevina@gnu.org). Verbatim copying
-and distribution of this entire article is permitted in any medium,
-provided this notice is preserved.
---------------------------------------------------------------------------------
-
-Distributed under the Apache License version 2.0.
-See full text above and at http://www.apache.org/licenses/LICENSE-2.0.html
-
-***************************************************************************
-Apache Commons FileUpload
-Copyright 2002-2008 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-Distributed under the Apache License version 2.0.
-See full text above and at http://www.apache.org/licenses/LICENSE-2.0.html
-
-***************************************************************************
-Apache Jakarta HttpClient
-Copyright 1999-2007 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-Distributed under the Apache License version 2.0.
-See full text above and at http://www.apache.org/licenses/LICENSE-2.0.html
-
-***************************************************************************
-Apache Commons Logging
-Copyright 2003-2007 The Apache Software Foundation
-
-This product includes software developed by
-The Apache Software Foundation (http://www.apache.org/).
-
-
-Distributed under the Apache License version 2.0.
-See full text above and at http://www.apache.org/licenses/LICENSE-2.0.html
-
-***************************************************************************
-icu4j
-
-ICU License - ICU 1.8.1 and later
-
-COPYRIGHT AND PERMISSION NOTICE
-
-Copyright (c) 1995-2010 International Business Machines Corporation and
-others
-
-All rights reserved.
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the
-"Software"), to deal in the Software without restriction, including
-without limitation the rights to use, copy, modify, merge, publish,
-distribute, and/or sell copies of the Software, and to permit persons
-to whom the Software is furnished to do so, provided that the above
-copyright notice(s) and this permission notice appear in all copies of
-the Software and that both the above copyright notice(s) and this
-permission notice appear in supporting documentation.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
-OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
-HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
-INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
-FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
-NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
-WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-
-Except as contained in this notice, the name of a copyright holder
-shall not be used in advertising or otherwise to promote the sale, use
-or other dealings in this Software without prior written authorization
-of the copyright holder.
----------------------------------------------------------------------------
-
-All trademarks and registered trademarks mentioned herein are the
-property of their respective owners.
-
-***************************************************************************
-Jena IRI Library
-
-/*
- * (c) Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007 Hewlett-Packard Development Company, LP
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- *    derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-This product includes software developed by the
-Apache Software Foundation (http://www.apache.org/).
-
-***************************************************************************
-ISO RELAX
-
-Copyright (c) 2001-2002, SourceForge ISO-RELAX Project (ASAMI Tomoharu,
-Daisuke Okajima, Kohsuke Kawaguchi, and MURATA Makoto)
-
-Permission is hereby granted, free of charge, to any person obtaining a
-copy of this software and associated documentation files (the "Software"),
-to deal in the Software without restriction, including without limitation
-the rights to use, copy, modify, merge, publish, distribute, sublicense,
-and/or sell copies of the Software, and to permit persons to whom the
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
-DEALINGS IN THE SOFTWARE.
-
-***************************************************************************
-==============================================================
- Jetty Web Container 
- Copyright 1995-2009 Mort Bay Consulting Pty Ltd
-==============================================================
-
-The Jetty Web Container is Copyright Mort Bay Consulting Pty Ltd
-unless otherwise noted. It is licensed under the apache 2.0
-license.
-
-The javax.servlet package used by Jetty is copyright 
-Sun Microsystems, Inc and Apache Software Foundation. It is 
-distributed under the Common Development and Distribution License.
-You can obtain a copy of the license at 
-https://glassfish.dev.java.net/public/CDDLv1.0.html.
-
-The UnixCrypt.java code ~Implements the one way cryptography used by
-Unix systems for simple password protection.  Copyright 1996 Aki Yoshida,
-modified April 2001  by Iris Van den Broeke, Daniel Deville.
-Permission to use, copy, modify and distribute UnixCrypt 
-for non-commercial or commercial purposes and without fee is
-granted provided that the copyright notice appears in all copies.
-
-The default JSP implementation is provided by the Glassfish JSP engine
-from project Glassfish http://glassfish.dev.java.net.  Copyright 2005
-Sun Microsystems, Inc. and portions Copyright Apache Software Foundation.
-
-Some portions of the code are Copyright:
-  2006 Tim Vernum 
-  1999 Jason Gilbert.
-
-The jboss integration module contains some LGPL code.
-
-The win32 Java Service Wrapper (v3.2.3) is Copyright (c) 1999, 2006 
-Tanuki Software, Inc.  and 2001 Silver Egg Technology.  It is 
-covered by an open license which is viewable at
-http://svn.codehaus.org/jetty/jetty/branches/jetty-6.1/extras/win32service/LICENSE.txt
-
-***************************************************************************
-jchardet (java port of mozilla's automatic charset detection algorithm)
-
-The Original Code is mozilla.org code.
- 
-The Initial Developer of the Original Code is Netscape Communications
-Corporation. Portions created by the Initial Developer are
-Copyright (C) 1998 the Initial Developer. All Rights Reserved.
-
-                          MOZILLA PUBLIC LICENSE
-                                Version 1.1
-
-                              ---------------
-
-1. Definitions.
-
-     1.0.1. "Commercial Use" means distribution or otherwise making the
-     Covered Code available to a third party.
-
-     1.1. "Contributor" means each entity that creates or contributes to
-     the creation of Modifications.
-
-     1.2. "Contributor Version" means the combination of the Original
-     Code, prior Modifications used by a Contributor, and the Modifications
-     made by that particular Contributor.
-
-     1.3. "Covered Code" means the Original Code or Modifications or the
-     combination of the Original Code and Modifications, in each case
-     including portions thereof.
-
-     1.4. "Electronic Distribution Mechanism" means a mechanism generally
-     accepted in the software development community for the electronic
-     transfer of data.
-
-     1.5. "Executable" means Covered Code in any form other than Source
-     Code.
-
-     1.6. "Initial Developer" means the individual or entity identified
-     as the Initial Developer in the Source Code notice required by Exhibit
-     A.
-
-     1.7. "Larger Work" means a work which combines Covered Code or
-     portions thereof with code not governed by the terms of this License.
-
-     1.8. "License" means this document.
-
-     1.8.1. "Licensable" means having the right to grant, to the maximum
-     extent possible, whether at the time of the initial grant or
-     subsequently acquired, any and all of the rights conveyed herein.
-
-     1.9. "Modifications" means any addition to or deletion from the
-     substance or structure of either the Original Code or any previous
-     Modifications. When Covered Code is released as a series of files, a
-     Modification is:
-          A. Any addition to or deletion from the contents of a file
-          containing Original Code or previous Modifications.
-
-          B. Any new file that contains any part of the Original Code or
-          previous Modifications.
-
-     1.10. "Original Code" means Source Code of computer software code
-     which is described in the Source Code notice required by Exhibit A as
-     Original Code, and which, at the time of its release under this
-     License is not already Covered Code governed by this License.
-
-     1.10.1. "Patent Claims" means any patent claim(s), now owned or
-     hereafter acquired, including without limitation,  method, process,
-     and apparatus claims, in any patent Licensable by grantor.
-
-     1.11. "Source Code" means the preferred form of the Covered Code for
-     making modifications to it, including all modules it contains, plus
-     any associated interface definition files, scripts used to control
-     compilation and installation of an Executable, or source code
-     differential comparisons against either the Original Code or another
-     well known, available Covered Code of the Contributor's choice. The
-     Source Code can be in a compressed or archival form, provided the
-     appropriate decompression or de-archiving software is widely available
-     for no charge.
-
-     1.12. "You" (or "Your")  means an individual or a legal entity
-     exercising rights under, and complying with all of the terms of, this
-     License or a future version of this License issued under Section 6.1.
-     For legal entities, "You" includes any entity which controls, is
-     controlled by, or is under common control with You. For purposes of
-     this definition, "control" means (a) the power, direct or indirect,
-     to cause the direction or management of such entity, whether by
-     contract or otherwise, or (b) ownership of more than fifty percent
-     (50%) of the outstanding shares or beneficial ownership of such
-     entity.
-
-2. Source Code License.
-
-     2.1. The Initial Developer Grant.
-     The Initial Developer hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Initial Developer to use, reproduce,
-          modify, display, perform, sublicense and distribute the Original
-          Code (or portions thereof) with or without Modifications, and/or
-          as part of a Larger Work; and
-
-          (b) under Patents Claims infringed by the making, using or
-          selling of Original Code, to make, have made, use, practice,
-          sell, and offer for sale, and/or otherwise dispose of the
-          Original Code (or portions thereof).
-
-          (c) the licenses granted in this Section 2.1(a) and (b) are
-          effective on the date Initial Developer first distributes
-          Original Code under the terms of this License.
-
-          (d) Notwithstanding Section 2.1(b) above, no patent license is
-          granted: 1) for code that You delete from the Original Code; 2)
-          separate from the Original Code;  or 3) for infringements caused
-          by: i) the modification of the Original Code or ii) the
-          combination of the Original Code with other software or devices.
-
-     2.2. Contributor Grant.
-     Subject to third party intellectual property claims, each Contributor
-     hereby grants You a world-wide, royalty-free, non-exclusive license
-
-          (a)  under intellectual property rights (other than patent or
-          trademark) Licensable by Contributor, to use, reproduce, modify,
-          display, perform, sublicense and distribute the Modifications
-          created by such Contributor (or portions thereof) either on an
-          unmodified basis, with other Modifications, as Covered Code
-          and/or as part of a Larger Work; and
-
-          (b) under Patent Claims infringed by the making, using, or
-          selling of  Modifications made by that Contributor either alone
-          and/or in combination with its Contributor Version (or portions
-          of such combination), to make, use, sell, offer for sale, have
-          made, and/or otherwise dispose of: 1) Modifications made by that
-          Contributor (or portions thereof); and 2) the combination of
-          Modifications made by that Contributor with its Contributor
-          Version (or portions of such combination).
-
-          (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
-          effective on the date Contributor first makes Commercial Use of
-          the Covered Code.
-
-          (d)    Notwithstanding Section 2.2(b) above, no patent license is
-          granted: 1) for any code that Contributor has deleted from the
-          Contributor Version; 2)  separate from the Contributor Version;
-          3)  for infringements caused by: i) third party modifications of
-          Contributor Version or ii)  the combination of Modifications made
-          by that Contributor with other software  (except as part of the
-          Contributor Version) or other devices; or 4) under Patent Claims
-          infringed by Covered Code in the absence of Modifications made by
-          that Contributor.
-
-3. Distribution Obligations.
-
-     3.1. Application of License.
-     The Modifications which You create or to which You contribute are
-     governed by the terms of this License, including without limitation
-     Section 2.2. The Source Code version of Covered Code may be
-     distributed only under the terms of this License or a future version
-     of this License released under Section 6.1, and You must include a
-     copy of this License with every copy of the Source Code You
-     distribute. You may not offer or impose any terms on any Source Code
-     version that alters or restricts the applicable version of this
-     License or the recipients' rights hereunder. However, You may include
-     an additional document offering the additional rights described in
-     Section 3.5.
-
-     3.2. Availability of Source Code.
-     Any Modification which You create or to which You contribute must be
-     made available in Source Code form under the terms of this License
-     either on the same media as an Executable version or via an accepted
-     Electronic Distribution Mechanism to anyone to whom you made an
-     Executable version available; and if made available via Electronic
-     Distribution Mechanism, must remain available for at least twelve (12)
-     months after the date it initially became available, or at least six
-     (6) months after a subsequent version of that particular Modification
-     has been made available to such recipients. You are responsible for
-     ensuring that the Source Code version remains available even if the
-     Electronic Distribution Mechanism is maintained by a third party.
-
-     3.3. Description of Modifications.
-     You must cause all Covered Code to which You contribute to contain a
-     file documenting the changes You made to create that Covered Code and
-     the date of any change. You must include a prominent statement that
-     the Modification is derived, directly or indirectly, from Original
-     Code provided by the Initial Developer and including the name of the
-     Initial Developer in (a) the Source Code, and (b) in any notice in an
-     Executable version or related documentation in which You describe the
-     origin or ownership of the Covered Code.
-
-     3.4. Intellectual Property Matters
-          (a) Third Party Claims.
-          If Contributor has knowledge that a license under a third party's
-          intellectual property rights is required to exercise the rights
-          granted by such Contributor under Sections 2.1 or 2.2,
-          Contributor must include a text file with the Source Code
-          distribution titled "LEGAL" which describes the claim and the
-          party making the claim in sufficient detail that a recipient will
-          know whom to contact. If Contributor obtains such knowledge after
-          the Modification is made available as described in Section 3.2,
-          Contributor shall promptly modify the LEGAL file in all copies
-          Contributor makes available thereafter and shall take other steps
-          (such as notifying appropriate mailing lists or newsgroups)
-          reasonably calculated to inform those who received the Covered
-          Code that new knowledge has been obtained.
-
-          (b) Contributor APIs.
-          If Contributor's Modifications include an application programming
-          interface and Contributor has knowledge of patent licenses which
-          are reasonably necessary to implement that API, Contributor must
-          also include this information in the LEGAL file.
-
-               (c)    Representations.
-          Contributor represents that, except as disclosed pursuant to
-          Section 3.4(a) above, Contributor believes that Contributor's
-          Modifications are Contributor's original creation(s) and/or
-          Contributor has sufficient rights to grant the rights conveyed by
-          this License.
-
-     3.5. Required Notices.
-     You must duplicate the notice in Exhibit A in each file of the Source
-     Code.  If it is not possible to put such notice in a particular Source
-     Code file due to its structure, then You must include such notice in a
-     location (such as a relevant directory) where a user would be likely
-     to look for such a notice.  If You created one or more Modification(s)
-     You may add your name as a Contributor to the notice described in
-     Exhibit A.  You must also duplicate this License in any documentation
-     for the Source Code where You describe recipients' rights or ownership
-     rights relating to Covered Code.  You may choose to offer, and to
-     charge a fee for, warranty, support, indemnity or liability
-     obligations to one or more recipients of Covered Code. However, You
-     may do so only on Your own behalf, and not on behalf of the Initial
-     Developer or any Contributor. You must make it absolutely clear than
-     any such warranty, support, indemnity or liability obligation is
-     offered by You alone, and You hereby agree to indemnify the Initial
-     Developer and every Contributor for any liability incurred by the
-     Initial Developer or such Contributor as a result of warranty,
-     support, indemnity or liability terms You offer.
-
-     3.6. Distribution of Executable Versions.
-     You may distribute Covered Code in Executable form only if the
-     requirements of Section 3.1-3.5 have been met for that Covered Code,
-     and if You include a notice stating that the Source Code version of
-     the Covered Code is available under the terms of this License,
-     including a description of how and where You have fulfilled the
-     obligations of Section 3.2. The notice must be conspicuously included
-     in any notice in an Executable version, related documentation or
-     collateral in which You describe recipients' rights relating to the
-     Covered Code. You may distribute the Executable version of Covered
-     Code or ownership rights under a license of Your choice, which may
-     contain terms different from this License, provided that You are in
-     compliance with the terms of this License and that the license for the
-     Executable version does not attempt to limit or alter the recipient's
-     rights in the Source Code version from the rights set forth in this
-     License. If You distribute the Executable version under a different
-     license You must make it absolutely clear that any terms which differ
-     from this License are offered by You alone, not by the Initial
-     Developer or any Contributor. You hereby agree to indemnify the
-     Initial Developer and every Contributor for any liability incurred by
-     the Initial Developer or such Contributor as a result of any such
-     terms You offer.
-
-     3.7. Larger Works.
-     You may create a Larger Work by combining Covered Code with other code
-     not governed by the terms of this License and distribute the Larger
-     Work as a single product. In such a case, You must make sure the
-     requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-     If it is impossible for You to comply with any of the terms of this
-     License with respect to some or all of the Covered Code due to
-     statute, judicial order, or regulation then You must: (a) comply with
-     the terms of this License to the maximum extent possible; and (b)
-     describe the limitations and the code they affect. Such description
-     must be included in the LEGAL file described in Section 3.4 and must
-     be included with all distributions of the Source Code. Except to the
-     extent prohibited by statute or regulation, such description must be
-     sufficiently detailed for a recipient of ordinary skill to be able to
-     understand it.
-
-5. Application of this License.
-
-     This License applies to code to which the Initial Developer has
-     attached the notice in Exhibit A and to related Covered Code.
-
-6. Versions of the License.
-
-     6.1. New Versions.
-     Netscape Communications Corporation ("Netscape") may publish revised
-     and/or new versions of the License from time to time. Each version
-     will be given a distinguishing version number.
-
-     6.2. Effect of New Versions.
-     Once Covered Code has been published under a particular version of the
-     License, You may always continue to use it under the terms of that
-     version. You may also choose to use such Covered Code under the terms
-     of any subsequent version of the License published by Netscape. No one
-     other than Netscape has the right to modify the terms applicable to
-     Covered Code created under this License.
-
-     6.3. Derivative Works.
-     If You create or use a modified version of this License (which you may
-     only do in order to apply it to code which is not already Covered Code
-     governed by this License), You must (a) rename Your license so that
-     the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
-     "MPL", "NPL" or any confusingly similar phrase do not appear in your
-     license (except to note that your license differs from this License)
-     and (b) otherwise make it clear that Your version of the license
-     contains terms which differ from the Mozilla Public License and
-     Netscape Public License. (Filling in the name of the Initial
-     Developer, Original Code or Contributor in the notice described in
-     Exhibit A shall not of themselves be deemed to be modifications of
-     this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
-     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
-     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
-     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
-     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
-     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-     8.1.  This License and the rights granted hereunder will terminate
-     automatically if You fail to comply with terms herein and fail to cure
-     such breach within 30 days of becoming aware of the breach. All
-     sublicenses to the Covered Code which are properly granted shall
-     survive any termination of this License. Provisions which, by their
-     nature, must remain in effect beyond the termination of this License
-     shall survive.
-
-     8.2.  If You initiate litigation by asserting a patent infringement
-     claim (excluding declatory judgment actions) against Initial Developer
-     or a Contributor (the Initial Developer or Contributor against whom
-     You file such action is referred to as "Participant")  alleging that:
-
-     (a)  such Participant's Contributor Version directly or indirectly
-     infringes any patent, then any and all rights granted by such
-     Participant to You under Sections 2.1 and/or 2.2 of this License
-     shall, upon 60 days notice from Participant terminate prospectively,
-     unless if within 60 days after receipt of notice You either: (i)
-     agree in writing to pay Participant a mutually agreeable reasonable
-     royalty for Your past and future use of Modifications made by such
-     Participant, or (ii) withdraw Your litigation claim with respect to
-     the Contributor Version against such Participant.  If within 60 days
-     of notice, a reasonable royalty and payment arrangement are not
-     mutually agreed upon in writing by the parties or the litigation claim
-     is not withdrawn, the rights granted by Participant to You under
-     Sections 2.1 and/or 2.2 automatically terminate at the expiration of
-     the 60 day notice period specified above.
-
-     (b)  any software, hardware, or device, other than such Participant's
-     Contributor Version, directly or indirectly infringes any patent, then
-     any rights granted to You by such Participant under Sections 2.1(b)
-     and 2.2(b) are revoked effective as of the date You first made, used,
-     sold, distributed, or had made, Modifications made by that
-     Participant.
-
-     8.3.  If You assert a patent infringement claim against Participant
-     alleging that such Participant's Contributor Version directly or
-     indirectly infringes any patent where such claim is resolved (such as
-     by license or settlement) prior to the initiation of patent
-     infringement litigation, then the reasonable value of the licenses
-     granted by such Participant under Sections 2.1 or 2.2 shall be taken
-     into account in determining the amount or value of any payment or
-     license.
-
-     8.4.  In the event of termination under Sections 8.1 or 8.2 above,
-     all end user license agreements (excluding distributors and resellers)
-     which have been validly granted by You or any distributor hereunder
-     prior to termination shall survive termination.
-
-9. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
-     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
-     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
-     ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
-     CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
-     WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
-     COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
-     INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
-     THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-     The Covered Code is a "commercial item," as that term is defined in
-     48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
-     software" and "commercial computer software documentation," as such
-     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-     all U.S. Government End Users acquire Covered Code with only those
-     rights set forth herein.
-
-11. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject
-     matter hereof. If any provision of this License is held to be
-     unenforceable, such provision shall be reformed only to the extent
-     necessary to make it enforceable. This License shall be governed by
-     California law provisions (except to the extent applicable law, if
-     any, provides otherwise), excluding its conflict-of-law provisions.
-     With respect to disputes in which at least one party is a citizen of,
-     or an entity chartered or registered to do business in the United
-     States of America, any litigation relating to this License shall be
-     subject to the jurisdiction of the Federal Courts of the Northern
-     District of California, with venue lying in Santa Clara County,
-     California, with the losing party responsible for costs, including
-     without limitation, court costs and reasonable attorneys' fees and
-     expenses. The application of the United Nations Convention on
-     Contracts for the International Sale of Goods is expressly excluded.
-     Any law or regulation which provides that the language of a contract
-     shall be construed against the drafter shall not apply to this
-     License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-     As between Initial Developer and the Contributors, each party is
-     responsible for claims and damages arising, directly or indirectly,
-     out of its utilization of rights under this License and You agree to
-     work with Initial Developer and Contributors to distribute such
-     responsibility on an equitable basis. Nothing herein is intended or
-     shall be deemed to constitute any admission of liability.
-
-13. MULTIPLE-LICENSED CODE.
-
-     Initial Developer may designate portions of the Covered Code as
-     "Multiple-Licensed".  "Multiple-Licensed" means that the Initial
-     Developer permits you to utilize portions of the Covered Code under
-     Your choice of the NPL or the alternative licenses, if any, specified
-     by the Initial Developer in the file described in Exhibit A.
-
-EXHIBIT A -Mozilla Public License.
-
-     ``The contents of this file are subject to the Mozilla Public License
-     Version 1.1 (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.mozilla.org/MPL/
-
-     Software distributed under the License is distributed on an "AS IS"
-     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-     License for the specific language governing rights and limitations
-     under the License.
-
-     The Original Code is ______________________________________.
-
-     The Initial Developer of the Original Code is ________________________.
-     Portions created by ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-     Contributor(s): ______________________________________.
-
-     Alternatively, the contents of this file may be used under the terms
-     of the _____ license (the  "[___] License"), in which case the
-     provisions of [______] License are applicable instead of those
-     above.  If you wish to allow use of your version of this file only
-     under the terms of the [____] License and not to allow others to use
-     your version of this file under the MPL, indicate your decision by
-     deleting  the provisions above and replace  them with the notice and
-     other provisions required by the [___] License.  If you do not delete
-     the provisions above, a recipient may use your version of this file
-     under either the MPL or the [___] License."
-
-     [NOTE: The text of this Exhibit A may differ slightly from the text of
-     the notices in the Source Code files of the Original Code. You should
-     use the text of this Exhibit A rather than the text found in the
-     Original Code Source Code for Your Modifications.]
-
-***************************************************************************
-Rhino: JavaScript for Java
-
-Distributed under the MPL 1.1 license.
-See full text above or at http://www.mozilla.org/MPL/
-
-Software distributed under the License is distributed on an "AS IS" basis,
-WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-for the specific language governing rights and limitations under the
-License.
-
-The Original Code is Rhino code, released May 6, 1999.
-
-The Initial Developer of the Original Code is Netscape Communications
-Corporation. Portions created by the Initial Developer are
-Copyright (C) 1997-1999 the Initial Developer. All Rights Reserved.
-
-Contributor(s):
-  Igor Bukanov
-  Bob Jervis
-  Norris Boyd
-
-***************************************************************************
-The Saxon XSLT Processor
-
-The Original Code is all Saxon modules labelled with a notice referring to
-this license.
-
-The Initial Developer of the Original Code is Michael Kay, except where
-otherwise specified in an individual module.
-
-Portions created by other named contributors are copyright as identified in
-the relevant module. All Rights Reserved.
-
-Contributor(s) are listed in the documentation: see notices/contributors. 
-
-Distributed under the Mozilla Public License Version 1.0 (the "License")
-
-                           MOZILLA PUBLIC LICENSE
-                                Version 1.0
-
-                              ----------------
-
-1. Definitions.
-
-     1.1. ``Contributor'' means each entity that creates or contributes to
-     the creation of Modifications.
-
-     1.2. ``Contributor Version'' means the combination of the Original
-     Code, prior Modifications used by a Contributor, and the Modifications
-     made by that particular Contributor.
-
-     1.3. ``Covered Code'' means the Original Code or Modifications or the
-     combination of the Original Code and Modifications, in each case
-     including portions thereof.
-
-     1.4. ``Electronic Distribution Mechanism'' means a mechanism generally
-     accepted in the software development community for the electronic
-     transfer of data.
-
-     1.5. ``Executable'' means Covered Code in any form other than Source
-     Code.
-
-     1.6. ``Initial Developer'' means the individual or entity identified as
-     the Initial Developer in the Source Code notice required by Exhibit A.
-
-     1.7. ``Larger Work'' means a work which combines Covered Code or
-     portions thereof with code not governed by the terms of this License.
-
-     1.8. ``License'' means this document.
-
-     1.9. ``Modifications'' means any addition to or deletion from the
-     substance or structure of either the Original Code or any previous
-     Modifications. When Covered Code is released as a series of files, a
-     Modification is:
-
-          A. Any addition to or deletion from the contents of a file
-          containing Original Code or previous Modifications.
-
-          B. Any new file that contains any part of the Original Code or
-          previous Modifications.
-
-     1.10. ``Original Code'' means Source Code of computer software code
-     which is described in the Source Code notice required by Exhibit A as
-     Original Code, and which, at the time of its release under this License
-     is not already Covered Code governed by this License.
-
-     1.11. ``Source Code'' means the preferred form of the Covered Code for
-     making modifications to it, including all modules it contains, plus any
-     associated interface definition files, scripts used to control
-     compilation and installation of an Executable, or a list of source code
-     differential comparisons against either the Original Code or another
-     well known, available Covered Code of the Contributor's choice. The
-     Source Code can be in a compressed or archival form, provided the
-     appropriate decompression or de-archiving software is widely available
-     for no charge.
-
-     1.12. ``You'' means an individual or a legal entity exercising rights
-     under, and complying with all of the terms of, this License or a future
-     version of this License issued under Section 6.1. For legal entities,
-     ``You'' includes any entity which controls, is controlled by, or is
-     under common control with You. For purposes of this definition,
-     ``control'' means (a) the power, direct or indirect, to cause the
-     direction or management of such entity, whether by contract or
-     otherwise, or (b) ownership of fifty percent (50%) or more of the
-     outstanding shares or beneficial ownership of such entity.
-
-2. Source Code License.
-
-     2.1. The Initial Developer Grant.
-     The Initial Developer hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-
-          (a) to use, reproduce, modify, display, perform, sublicense and
-          distribute the Original Code (or portions thereof) with or without
-          Modifications, or as part of a Larger Work; and
-
-          (b) under patents now or hereafter owned or controlled by Initial
-          Developer, to make, have made, use and sell (``Utilize'') the
-          Original Code (or portions thereof), but solely to the extent that
-          any such patent is reasonably necessary to enable You to Utilize
-          the Original Code (or portions thereof) and not to any greater
-          extent that may be necessary to Utilize further Modifications or
-          combinations.
-
-     2.2. Contributor Grant.
-     Each Contributor hereby grants You a world-wide, royalty-free,
-     non-exclusive license, subject to third party intellectual property
-     claims:
-
-          (a) to use, reproduce, modify, display, perform, sublicense and
-          distribute the Modifications created by such Contributor (or
-          portions thereof) either on an unmodified basis, with other
-          Modifications, as Covered Code or as part of a Larger Work; and
-
-          (b) under patents now or hereafter owned or controlled by
-          Contributor, to Utilize the Contributor Version (or portions
-          thereof), but solely to the extent that any such patent is
-          reasonably necessary to enable You to Utilize the Contributor
-          Version (or portions thereof), and not to any greater extent that
-          may be necessary to Utilize further Modifications or combinations.
-
-3. Distribution Obligations.
-
-     3.1. Application of License.
-     The Modifications which You create or to which You contribute are
-     governed by the terms of this License, including without limitation
-     Section 2.2. The Source Code version of Covered Code may be distributed
-     only under the terms of this License or a future version of this
-     License released under Section 6.1, and You must include a copy of this
-     License with every copy of the Source Code You distribute. You may not
-     offer or impose any terms on any Source Code version that alters or
-     restricts the applicable version of this License or the recipients'
-     rights hereunder. However, You may include an additional document
-     offering the additional rights described in Section 3.5.
-
-     3.2. Availability of Source Code.
-     Any Modification which You create or to which You contribute must be
-     made available in Source Code form under the terms of this License
-     either on the same media as an Executable version or via an accepted
-     Electronic Distribution Mechanism to anyone to whom you made an
-     Executable version available; and if made available via Electronic
-     Distribution Mechanism, must remain available for at least twelve (12)
-     months after the date it initially became available, or at least six
-     (6) months after a subsequent version of that particular Modification
-     has been made available to such recipients. You are responsible for
-     ensuring that the Source Code version remains available even if the
-     Electronic Distribution Mechanism is maintained by a third party.
-
-     3.3. Description of Modifications.
-     You must cause all Covered Code to which you contribute to contain a
-     file documenting the changes You made to create that Covered Code and
-     the date of any change. You must include a prominent statement that the
-     Modification is derived, directly or indirectly, from Original Code
-     provided by the Initial Developer and including the name of the Initial
-     Developer in (a) the Source Code, and (b) in any notice in an
-     Executable version or related documentation in which You describe the
-     origin or ownership of the Covered Code.
-
-     3.4. Intellectual Property Matters
-
-          (a) Third Party Claims.
-          If You have knowledge that a party claims an intellectual property
-          right in particular functionality or code (or its utilization
-          under this License), you must include a text file with the source
-          code distribution titled ``LEGAL'' which describes the claim and
-          the party making the claim in sufficient detail that a recipient
-          will know whom to contact. If you obtain such knowledge after You
-          make Your Modification available as described in Section 3.2, You
-          shall promptly modify the LEGAL file in all copies You make
-          available thereafter and shall take other steps (such as notifying
-          appropriate mailing lists or newsgroups) reasonably calculated to
-          inform those who received the Covered Code that new knowledge has
-          been obtained.
-
-          (b) Contributor APIs.
-          If Your Modification is an application programming interface and
-          You own or control patents which are reasonably necessary to
-          implement that API, you must also include this information in the
-          LEGAL file.
-
-     3.5. Required Notices.
-     You must duplicate the notice in Exhibit A in each file of the Source
-     Code, and this License in any documentation for the Source Code, where
-     You describe recipients' rights relating to Covered Code. If You
-     created one or more Modification(s), You may add your name as a
-     Contributor to the notice described in Exhibit A. If it is not possible
-     to put such notice in a particular Source Code file due to its
-     structure, then you must include such notice in a location (such as a
-     relevant directory file) where a user would be likely to look for such
-     a notice. You may choose to offer, and to charge a fee for, warranty,
-     support, indemnity or liability obligations to one or more recipients
-     of Covered Code. However, You may do so only on Your own behalf, and
-     not on behalf of the Initial Developer or any Contributor. You must
-     make it absolutely clear than any such warranty, support, indemnity or
-     liability obligation is offered by You alone, and You hereby agree to
-     indemnify the Initial Developer and every Contributor for any liability
-     incurred by the Initial Developer or such Contributor as a result of
-     warranty, support, indemnity or liability terms You offer.
-
-     3.6. Distribution of Executable Versions.
-     You may distribute Covered Code in Executable form only if the
-     requirements of Section 3.1-3.5 have been met for that Covered Code,
-     and if You include a notice stating that the Source Code version of the
-     Covered Code is available under the terms of this License, including a
-     description of how and where You have fulfilled the obligations of
-     Section 3.2. The notice must be conspicuously included in any notice in
-     an Executable version, related documentation or collateral in which You
-     describe recipients' rights relating to the Covered Code. You may
-     distribute the Executable version of Covered Code under a license of
-     Your choice, which may contain terms different from this License,
-     provided that You are in compliance with the terms of this License and
-     that the license for the Executable version does not attempt to limit
-     or alter the recipient's rights in the Source Code version from the
-     rights set forth in this License. If You distribute the Executable
-     version under a different license You must make it absolutely clear
-     that any terms which differ from this License are offered by You alone,
-     not by the Initial Developer or any Contributor. You hereby agree to
-     indemnify the Initial Developer and every Contributor for any liability
-     incurred by the Initial Developer or such Contributor as a result of
-     any such terms You offer.
-
-     3.7. Larger Works.
-     You may create a Larger Work by combining Covered Code with other code
-     not governed by the terms of this License and distribute the Larger
-     Work as a single product. In such a case, You must make sure the
-     requirements of this License are fulfilled for the Covered Code.
-
-4. Inability to Comply Due to Statute or Regulation.
-
-     If it is impossible for You to comply with any of the terms of this
-     License with respect to some or all of the Covered Code due to statute
-     or regulation then You must: (a) comply with the terms of this License
-     to the maximum extent possible; and (b) describe the limitations and
-     the code they affect. Such description must be included in the LEGAL
-     file described in Section 3.4 and must be included with all
-     distributions of the Source Code. Except to the extent prohibited by
-     statute or regulation, such description must be sufficiently detailed
-     for a recipient of ordinary skill to be able to understand it.
-
-5. Application of this License.
-
-     This License applies to code to which the Initial Developer has
-     attached the notice in Exhibit A, and to related Covered Code.
-
-6. Versions of the License.
-
-     6.1. New Versions.
-     Netscape Communications Corporation (``Netscape'') may publish revised
-     and/or new versions of the License from time to time. Each version will
-     be given a distinguishing version number.
-
-     6.2. Effect of New Versions.
-     Once Covered Code has been published under a particular version of the
-     License, You may always continue to use it under the terms of that
-     version. You may also choose to use such Covered Code under the terms
-     of any subsequent version of the License published by Netscape. No one
-     other than Netscape has the right to modify the terms applicable to
-     Covered Code created under this License.
-
-     6.3. Derivative Works.
-     If you create or use a modified version of this License (which you may
-     only do in order to apply it to code which is not already Covered Code
-     governed by this License), you must (a) rename Your license so that the
-     phrases ``Mozilla'', ``MOZILLAPL'', ``MOZPL'', ``Netscape'', ``NPL'' or
-     any confusingly similar phrase do not appear anywhere in your license
-     and (b) otherwise make it clear that your version of the license
-     contains terms which differ from the Mozilla Public License and
-     Netscape Public License. (Filling in the name of the Initial Developer,
-     Original Code or Contributor in the notice described in Exhibit A shall
-     not of themselves be deemed to be modifications of this License.)
-
-7. DISCLAIMER OF WARRANTY.
-
-     COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN ``AS IS'' BASIS,
-     WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
-     WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
-     DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
-     THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
-     IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
-     YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
-     COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
-     OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
-     ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
-
-8. TERMINATION.
-
-     This License and the rights granted hereunder will terminate
-     automatically if You fail to comply with terms herein and fail to cure
-     such breach within 30 days of becoming aware of the breach. All
-     sublicenses to the Covered Code which are properly granted shall
-     survive any termination of this License. Provisions which, by their
-     nature, must remain in effect beyond the termination of this License
-     shall survive.
-
-9. LIMITATION OF LIABILITY.
-
-     UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
-     (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE INITIAL
-     DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
-     OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO YOU OR ANY OTHER
-     PERSON FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
-     OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF
-     GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND
-     ALL OTHER COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE
-     BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
-     LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
-     RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
-     PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
-     EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO THAT
-     EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
-
-10. U.S. GOVERNMENT END USERS.
-
-     The Covered Code is a ``commercial item,'' as that term is defined in
-     48 C.F.R. 2.101 (Oct. 1995), consisting of ``commercial computer
-     software'' and ``commercial computer software documentation,'' as such
-     terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
-     C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
-     all U.S. Government End Users acquire Covered Code with only those
-     rights set forth herein.
-
-11. MISCELLANEOUS.
-
-     This License represents the complete agreement concerning subject
-     matter hereof. If any provision of this License is held to be
-     unenforceable, such provision shall be reformed only to the extent
-     necessary to make it enforceable. This License shall be governed by
-     California law provisions (except to the extent applicable law, if any,
-     provides otherwise), excluding its conflict-of-law provisions. With
-     respect to disputes in which at least one party is a citizen of, or an
-     entity chartered or registered to do business in, the United States of
-     America: (a) unless otherwise agreed in writing, all disputes relating
-     to this License (excepting any dispute relating to intellectual
-     property rights) shall be subject to final and binding arbitration,
-     with the losing party paying all costs of arbitration; (b) any
-     arbitration relating to this Agreement shall be held in Santa Clara
-     County, California, under the auspices of JAMS/EndDispute; and (c) any
-     litigation relating to this Agreement shall be subject to the
-     jurisdiction of the Federal Courts of the Northern District of
-     California, with venue lying in Santa Clara County, California, with
-     the losing party responsible for costs, including without limitation,
-     court costs and reasonable attorneys fees and expenses. The application
-     of the United Nations Convention on Contracts for the International
-     Sale of Goods is expressly excluded. Any law or regulation which
-     provides that the language of a contract shall be construed against the
-     drafter shall not apply to this License.
-
-12. RESPONSIBILITY FOR CLAIMS.
-
-     Except in cases where another Contributor has failed to comply with
-     Section 3.4, You are responsible for damages arising, directly or
-     indirectly, out of Your utilization of rights under this License, based
-     on the number of copies of Covered Code you made available, the
-     revenues you received from utilizing such rights, and other relevant
-     factors. You agree to work with affected parties to distribute
-     responsibility on an equitable basis.
-
-EXHIBIT A.
-
-     ``The contents of this file are subject to the Mozilla Public License
-     Version 1.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.mozilla.org/MPL/
-
-     Software distributed under the License is distributed on an "AS IS"
-     basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
-     License for the specific language governing rights and limitations
-     under the License.
-
-     The Original Code is ______________________________________.
-
-     The Initial Developer of the Original Code is ________________________.
-     Portions created by ______________________ are Copyright (C) ______
-     _______________________. All Rights Reserved.
-
-     Contributor(s): ______________________________________.''
-
-Software distributed under the License is distributed on an "AS IS" basis, 
-WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the 
-specific language governing rights and limitations under the License.
-
-***************************************************************************
-Simple Logging Facade for Java (SLF4J)
-
-Copyright (c) 2004-2008 QOS.ch
-All rights reserved.
-
-Permission is hereby granted, free  of charge, to any person obtaining
-a  copy  of this  software  and  associated  documentation files  (the
-"Software"), to  deal in  the Software without  restriction, including
-without limitation  the rights to  use, copy, modify,  merge, publish,
-distribute,  sublicense, and/or sell  copies of  the Software,  and to
-permit persons to whom the Software  is furnished to do so, subject to
-the following conditions:
-
-The  above  copyright  notice  and  this permission  notice  shall  be
-included in all copies or substantial portions of the Software.
-
-THE  SOFTWARE IS  PROVIDED  "AS  IS", WITHOUT  WARRANTY  OF ANY  KIND,
-EXPRESS OR  IMPLIED, INCLUDING  BUT NOT LIMITED  TO THE  WARRANTIES OF
-MERCHANTABILITY,    FITNESS    FOR    A   PARTICULAR    PURPOSE    AND
-NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-OF CONTRACT, TORT OR OTHERWISE,  ARISING FROM, OUT OF OR IN CONNECTION
-WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-
-
-
-
-***************************************************************************
-   =========================================================================
-   ==  NOTICE file corresponding to section 4(d) of the Apache License,   ==
-   ==  Version 2.0, in this case for the Apache Xerces Java distribution. ==
-   =========================================================================
-
-   Apache Xerces Java
-   Copyright 1999-2007 The Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-
-   Portions of this software were originally based on the following:
-     - software copyright (c) 1999, IBM Corporation., http://www.ibm.com.
-     - software copyright (c) 1999, Sun Microsystems., http://www.sun.com.
-     - voluntary contributions made by Paul Eng on behalf of the 
-       Apache Software Foundation that were originally developed at iClick, Inc.,
-       software copyright (c) 1999.
-
-Distributed under the Apache License version 2.0.
-See full text above and at http://www.apache.org/licenses/LICENSE-2.0.html
-
-***************************************************************************

LICENSE

----------------------------------------------------------------------------
-LICENSE
----------------------------------------------------------------------------
-The accompanying jar files are made available under the following license.
-
-Copyright (c) 2012 Mozilla Foundation
-
-Permission is hereby granted, free of charge, to any person obtaining a 
-copy of this software and associated documentation files (the "Software"), 
-to deal in the Software without restriction, including without limitation 
-the rights to use, copy, modify, merge, publish, distribute, sublicense, 
-and/or sell copies of the Software, and to permit persons to whom the 
-Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in 
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
-THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
-FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
-DEALINGS IN THE SOFTWARE.
-
-There are two ways you can use the code here to validate documents:
+## OBSOLETE
 
-* Download, build, and run the validator from the sources; or
-* Use the pre-built `vnu.jar` and `vnu-fast-client.jar` files
-  
-For information on using the `vnu.jar` and `vnu-fast-client.jar` files, see
-the **How to use the pre-built jars** section below.
-
-## How to download, build, and run the validator from the sources
-
-First, set the JAVA_HOME environment variable properly.
-
-On Ubuntu:
-
-    export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
-
-On Mac OS X:
-
-    export JAVA_HTML=/Library/Java/Home
-
-Next, create a validator workspace.
-
-    mkdir checker
-    cd checker
-    hg clone https://bitbucket.org/validator/build build
-
-The above steps create a `checker` directory in which the build script will
-create other subdirectories, and downloads the `build.py` script itself
-into a `build` subdirectory in your `checker` directory.
-
-Finally, run the build script.
-
-    python build/build.py all
-    python build/build.py all
-
-Yes, the last line is there twice intentionally. Running the script twice tends
-to fix a `ClassCastException` on the first run.
-
-The above steps will download, build and run the system at `http://localhost:8888/`.
-For other options, please run `python build/build.py --help` instead.
-
-Please note that the dependencies are big. The script will spend time
-downloading stuff. The script requires Python, Mercurial, Subversion and JDK 5
-or later (JDK 6 and Hardy’s OpenJDK work). (Tested on Mac OS X and Ubuntu with
-the openjdk-6-jdk package.)
-
-Note: The script wants to see a Sun-compatible jar executable. Debian fastjar
-will not work.
-
-### Deployment
-
-The above example starts a standalone HTTP server with debug messages printed to
-the console. To use AJP13 instead, use `--ajp=on`. A log4j configuration for
-deployment can be given using the `--log4j=` option. There is a sample file in
-`validator/log4j-deployment-sample.properties`. The directory `extras/` is
-searched for additional jars for the classpath. For example, if you configure
-log4j to send email, you should put the Java Mail API and JavaBeans Activation
-Framework jars in extras/.
-
-## How to use the pre-built jars
-
-Two pre-built jar files are provided here: `vnu.jar` and `vnu-fast-client.jar`.
-
-You can use `vnu.jar` to validate a single document by doing this:
-
-    java -jar vnu.jar FILE.html
-
-You can batch-validate multiple files at once by doing this:
-
-    java -jar vnu.jar FILE.html FILE2.html FILE3.HTML FILE4.html...
-
-Or by doing something like this:
-
-    java -jar vnu.jar $(find . -name "*.html")
-
-### Faster validation
-
-For faster validation -- especially for single files -- you should run the
-validator as a service and use `vnu-fast-client.jar`.
-
-To do that, you first need to start the validator by doing this:
-
-    java -cp vnu.jar nu.validator.servlet.Main 8888
-
-(To have the validator listen on a different port, replace `8888` with the
-port number.)
-
-The validator will run in the console window in which you start it, writing
-any service messages to that window.
-
-In a separate console window, you can validate a single document by doing
-this:
-
-    java -jar vnu-fast-client.jar FILE.html
-
-You can batch-validate multiple files at once by doing this:
-
-    java -jar vnu-fast-client.jar FILE.html FILE2.html FILE3.HTML...
-
-Or by doing something like this:
-
-    java -jar vnu-fast-client.jar $(find . -name "*.html")
-
-### Configuration options
-
-When using the `vnu.jar` and `vnu-fast-client.jar` files, you can set Java
-system properties to control configuration options for validation behavior.
-
-For example, you can suppress warning-level validation messages and only
-show error-level ones by setting the value of the
-`nu.validator.client.level` system property to `error`, like this:
-
-    java -Dnu.validator.client.level=error -jar vnu.jar FILE.html
-
-Most of the properties listed below map to the Validator.nu common input
-parameters documented at
-[http://wiki.whatwg.org/wiki/Validator.nu_Common_Input_Parameters][1].
-
-   [1]: [http://wiki.whatwg.org/wiki/Validator.nu_Common_Input_Parameters]
-
-#### nu.validator.client.host
-
-    Specifies the hostname of the validator for the client to connect to.
-
-    default: "127.0.0.1"
-
-#### nu.validator.client.port
-
-    Specifies the hostname of the validator for the client to connect to.
-
-    default: "8888"
-
-    example: java -Dnu.validator.client.port=8080 -jar vnu.jar FILE.html
-
-#### nu.validator.client.level
-
-    Specifies the severity level of validation messages to report; to
-    suppress warning-level messages, and only show error-level ones, set
-    this property to "error".
-
-    default: [unset]
-
-    possible values: "error"
-
-    example: java -Dnu.validator.client.level=error -jar vnu.jar FILE.html
-
-#### nu.validator.client.parser
-
-    Specifies which parser to use.
-
-    default: "html"; or, for *.xhtml input files, "xml"
-
-    possible values: see http://wiki.whatwg.org/wiki/Validator.nu_Common_Input_Parameters#parser
-
-#### nu.validator.client.charset
-
-    Specifies the encoding of the input document.
-
-    default: [unset]
-
-#### nu.validator.client.content-type
-
-    Specifies the content-type of the input document.
-
-    default: "text/html"; or, for *.xhtml files, "application/xhtml+xml"
-
-#### nu.validator.client.out
-
-    Specifies the output format for validation messages.
-
-    default: "gnu"
-
-    possible values: see http://wiki.whatwg.org/wiki/Validator.nu_Common_Input_Parameters#out]
-
-#### nu.validator.client.asciiquotes
-
-    Specifies whether ASCII quotation marks are substituted for Unicode
-    smart quoation marks in validation messages.
-
-    default: "yes"
-
-    possible values: "yes" or "no"
+This repo is obsolete. Please instead use the latest jar from
+https://github.com/validator/validator.github.io/releases and the
+instructions from http://validator.github.io/

build.py

-#!/usr/bin/python
-
-# Copyright (c) 2007 Henri Sivonen
-# Copyright (c) 2008-2012 Mozilla Foundation
-#
-# Permission is hereby granted, free of charge, to any person obtaining a 
-# copy of this software and associated documentation files (the "Software"), 
-# to deal in the Software without restriction, including without limitation 
-# the rights to use, copy, modify, merge, publish, distribute, sublicense, 
-# and/or sell copies of the Software, and to permit persons to whom the 
-# Software is furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in 
-# all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 
-# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 
-# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 
-# DEALINGS IN THE SOFTWARE.
-
-import os
-import shutil
-import httplib
-import urllib2
-import socket
-import re
-try:
-  from hashlib import md5
-except ImportError:
-  from md5 import new as md5
-import zipfile
-import sys
-from sgmllib import SGMLParser
-import subprocess
-
-javacCmd = 'javac'
-jarCmd = 'jar'
-javaCmd = 'java'
-javadocCmd = 'javadoc'
-svnCmd = 'svn'
-tarCmd = 'tar'
-scpCmd = 'scp'
-hgCmd = 'hg'
-
-buildRoot = '.'
-hgRoot = 'https://bitbucket.org/validator/'
-parserHgRoot = 'http://hg.mozilla.org/projects/'
-portNumber = '8888'
-controlPort = None
-useAjp = 0
-log4jProps = 'validator/log4j.properties'
-heapSize = '128'
-html5specLink = 'http://www.whatwg.org/specs/web-apps/current-work/'
-html5specLoad = 'http://www.whatwg.org/specs/web-apps/current-work/'
-aboutPage = 'http://about.validator.nu/'
-aboutPath = 'validator/site/'
-icon = None
-stylesheet = None
-script = None
-serviceName = 'Validator.nu'
-maxFileSize = 7168
-usePromiscuousSsl = 0
-genericHost = ''
-html5Host = ''
-parsetreeHost = ''
-genericPath = '/'
-html5Path = '/html5/'
-parsetreePath = '/parsetree/'
-deploymentTarget = None
-noSelfUpdate = 0
-pageTemplate = os.path.join("validator", "xml-src", "PageEmitter.xml")
-formTemplate = os.path.join("validator", "xml-src", "FormEmitter.xml")
-w3cPageTemplate = os.path.join("nu-validator-site", "w3cPageEmitter.xml")
-w3cFormTemplate = os.path.join("nu-validator-site", "w3cFormEmitter.xml")
-httpTimeoutSeconds = 120
-connectionTimeoutSeconds = 5
-socketTimeoutSeconds = 5
-w3cBranding = 0
-
-dependencyPackages = [
-  ("http://archive.apache.org/dist/commons/codec/binaries/commons-codec-1.4-bin.zip", "749bcf44779f95eb02d6cd7b9234bdaf"),
-  ("http://archive.apache.org/dist/httpcomponents/commons-httpclient/binary/commons-httpclient-3.1.zip", "1752a2dc65e2fb03d4e762a8e7a1db49"),
-  ("http://archive.apache.org/dist/commons/logging/binaries/commons-logging-1.1.1-bin.zip", "f88520ed791673aed6cc4591bc058b55"),
-  ("http://download.icu-project.org/files/icu4j/4.4.2/icu4j-4_4_2.jar", "04b27abd15a6357bdfb64ff830752b0b"),
-  ("http://download.icu-project.org/files/icu4j/4.4.2/icu4j-charsets-4_4_2.jar", "2359d6a97730d0ed23f3e17cd2a2f6d6"),
-  ("http://switch.dl.sourceforge.net/sourceforge/jena/iri-0.5.zip", "87b0069e689c22ba2a2b50f4d200caca"),
-  ("http://dist.codehaus.org/jetty/jetty-6.1.26/jetty-6.1.26.zip", "0d9b2ae3feb2b207057358142658a11f"),
-  ("http://archive.apache.org/dist/logging/log4j/1.2.15/apache-log4j-1.2.15.zip", "5b0d27be24d6ac384215b6e269d3e352"),
-  ("http://archive.apache.org/dist/xerces/j/Xerces-J-bin.2.9.1.zip", "a0e07ede1c3bd5231fe15eae24032b2e"),
-  ("http://ftp.mozilla.org/pub/mozilla.org/js/rhino1_7R1.zip", "613eed8201d37be201805e5048ebb0c3"),
-  ("http://download.berlios.de/jsontools/jsontools-core-1.5.jar", "1f242910350f28d1ac4014928075becd"),
-  ("http://hsivonen.iki.fi/code/antlr.jar", "9d2e9848c52204275c72d9d6e79f307c"),
-  ("http://www.cafeconleche.org/XOM/xom-1.1.jar", "6b5e76db86d7ae32a451ffdb6fce0764"),
-  ("http://www.slf4j.org/dist/slf4j-1.5.2.zip", "00ff08232a9959af3c7101b88ec456a7"),
-  ("http://archive.apache.org/dist/commons/fileupload/binaries/commons-fileupload-1.2.1-bin.zip", "975100c3f74604c0c22f68629874f868"),
-  ("http://archive.apache.org/dist/ant/binaries/apache-ant-1.7.0-bin.zip" , "ac30ce5b07b0018d65203fbc680968f5"),
-  ("http://surfnet.dl.sourceforge.net/sourceforge/iso-relax/isorelax.20041111.zip" , "10381903828d30e36252910679fcbab6"),
-  ("http://ovh.dl.sourceforge.net/sourceforge/junit/junit-4.4.jar", "f852bbb2bbe0471cef8e5b833cb36078"),
-  ("http://kent.dl.sourceforge.net/sourceforge/jchardet/chardet.zip", "4091d24451ee9a840933bce34b9e3a55"),
-  ("http://kent.dl.sourceforge.net/sourceforge/saxon/saxonb9-1-0-2j.zip", "9e649eec59103593fb75befaa28e1f3d"),
-]
-
-# Unfortunately, the packages contain old versions of certain libs, so 
-# can't just autodiscover all jars. Hence, an explicit list.
-
-runDependencyJars = [
-  "commons-codec-1.4/commons-codec-1.4.jar",
-  "commons-httpclient-3.1/commons-httpclient-3.1.jar",
-  "commons-logging-1.1.1/commons-logging-1.1.1.jar",
-  "commons-logging-1.1.1/commons-logging-adapters-1.1.1.jar",
-  "commons-logging-1.1.1/commons-logging-api-1.1.1.jar",
-  "icu4j-charsets-4_4_2.jar",
-  "icu4j-4_4_2.jar",
-  "iri-0.5/lib/iri.jar",
-  "jetty-6.1.26/lib/servlet-api-2.5-20081211.jar",
-  "jetty-6.1.26/lib/jetty-6.1.26.jar",
-  "jetty-6.1.26/lib/jetty-util-6.1.26.jar",
-  "jetty-6.1.26/lib/ext/jetty-ajp-6.1.26.jar",
-  "apache-log4j-1.2.15/log4j-1.2.15.jar",
-  "rhino1_7R1/js.jar",
-  "xerces-2_9_1/xercesImpl.jar",
-  "xerces-2_9_1/xml-apis.jar",
-  "slf4j-1.5.2/slf4j-log4j12-1.5.2.jar",
-  "commons-fileupload-1.2.1/lib/commons-fileupload-1.2.1.jar",
-  "isorelax.jar",
-  "mozilla/intl/chardet/java/dist/lib/chardet.jar",
-  "saxon9.jar",
-]
-
-buildOnlyDependencyJars = [
-  "jsontools-core-1.5.jar",
-  "antlr.jar",
-  "xom-1.1.jar",
-  "junit-4.4.jar",
-  "apache-ant-1.7.0/lib/ant.jar",
-  "apache-ant-1.7.0/lib/ant-launcher.jar",
-]
-
-dependencyJars = runDependencyJars + buildOnlyDependencyJars
-
-moduleNames = [
-  "syntax",
-  "util",
-  "xmlparser",
-  "validator",
-]
-
-javaSafeNamePat = re.compile(r'[^a-zA-Z0-9]')
-directoryPat = re.compile(r'^[a-zA-Z0-9_-]+/$')
-leafPat = re.compile(r'^[a-zA-Z0-9_-]+\.[a-z]+$')
-
-class UrlExtractor(SGMLParser):
-  def __init__(self, baseUrl):
-    SGMLParser.__init__(self)
-    self.baseUrl = baseUrl
-    self.leaves = []
-    self.directories = []
-    
-  def start_a(self, attrs):
-    for name, value in attrs:
-      if name == "href":
-        if directoryPat.match(value):
-          self.directories.append(self.baseUrl + value)
-        if leafPat.match(value):
-          self.leaves.append(self.baseUrl + value)    
-    
-def runCmd(cmd):
-  print cmd
-  if os.name == 'nt' and cmd[:1] == '"':
-    subprocess.call(cmd)
-  else:
-    os.system(cmd)
-
-def execCmd(cmd, args):
-  print "%s %s" % (cmd, " ".join(args))
-  if os.name == 'nt':
-    if subprocess.call([cmd,] + args):
-      print "Command failed."
-      sys.exit(2)
-  else:
-    if os.execvp(cmd, [cmd,] + args):
-      print "Command failed."
-      sys.exit(2)
-
-def removeIfExists(filePath):
-  if os.path.exists(filePath):
-    os.unlink(filePath)
-
-def removeIfDirExists(dirPath):
-  if os.path.exists(dirPath):
-    shutil.rmtree(dirPath)
-
-def ensureDirExists(dirPath):
-  if not os.path.exists(dirPath):
-    os.makedirs(dirPath)
-
-def findFilesWithExtension(directory, extension):
-  rv = []
-  ext = '.' + extension 
-  for root, dirs, files in os.walk(directory):
-    for file in files:
-      if file.endswith(ext):
-        rv.append(os.path.join(root, file))
-  return rv
-
-def findFiles(directory):
-  rv = []
-  for root, dirs, files in os.walk(directory):
-    for file in files:
-      candidate = os.path.join(root, file)
-      if candidate.find("/.svn") == -1:
-        rv.append(candidate)
-  return rv
-
-def jarNamesToPaths(names):
-  return map(lambda x: os.path.join(buildRoot, "jars", x + ".jar"), names)
-
-def jingJarPath():
-  return [os.path.join("jing-trang", "build", "jing.jar"),]
-
-def runJavac(sourceDir, classDir, classPath):
-  ensureDirExists(classDir)
-  sourceFiles = findFilesWithExtension(sourceDir, "java")
-  f = open("temp-javac-list", "w")
-  if os.name == 'nt':
-    f.write("\r\n".join(sourceFiles))
-  else:
-    f.write("\n".join(sourceFiles))
-  f.close()
-  runCmd('"%s" -g -nowarn -classpath "%s" -sourcepath "%s" -d "%s" %s'\
-		% (javacCmd, classPath, sourceDir, classDir, "@temp-javac-list"))
-  removeIfExists("temp-javac-list")
-
-def copyFiles(sourceDir, classDir):
-  files = findFiles(sourceDir)
-  for f in files:
-    destFile = os.path.join(classDir, f[len(sourceDir)+1:])
-    head, tail = os.path.split(destFile)
-    if not os.path.exists(head):
-      os.makedirs(head)
-    shutil.copyfile(f, destFile)
-
-def runJar(classDir, jarFile, sourceDir):
-  classFiles = findFiles(classDir)
-  classList = map(lambda x: 
-                    "-C " + classDir + " " + x[len(classDir)+1:] + "", 
-                  classFiles)
-  f = open("temp-jar-list", "w")
-  if os.name == 'nt':
-    f.write("\r\n".join(classList))
-  else:
-    f.write("\n".join(classList))
-  f.close()
-  runCmd('"%s" cf "%s" %s' 
-    % (jarCmd, jarFile, "@temp-jar-list"))
-  removeIfExists("temp-jar-list")
-
-def buildModule(rootDir, jarName, classPath):
-  sourceDir = os.path.join(rootDir, "src")
-  classDir = os.path.join(rootDir, "classes")
-  distDir = os.path.join(rootDir, "dist")
-  jarFile = os.path.join(distDir, jarName + ".jar")
-  removeIfExists(jarFile)
-  removeIfDirExists(classDir)
-  ensureDirExists(classDir)
-  ensureDirExists(distDir)
-  runJavac(sourceDir, classDir, classPath)
-  copyFiles(sourceDir, classDir)
-  runJar(classDir, jarFile, sourceDir)
-  ensureDirExists(os.path.join(buildRoot, "jars"))
-  shutil.copyfile(jarFile, os.path.join(buildRoot, "jars", jarName + ".jar"))
-
-def dependencyJarPaths(depList=dependencyJars):
-  dependencyDir = os.path.join(buildRoot, "dependencies")
-  extrasDir = os.path.join(buildRoot, "extras")
-  # XXX may need work for Windows portability
-  pathList = map(lambda x: os.path.join(dependencyDir, x), depList)
-  ensureDirExists(extrasDir)
-  pathList += findFilesWithExtension(extrasDir, "jar")
-  return pathList
-
-def buildUtil():
-  classPath = os.pathsep.join(dependencyJarPaths()
-                              + jarNamesToPaths(["html5-datatypes", "htmlparser"])
-                              + jingJarPath())
-  buildModule(
-    os.path.join(buildRoot, "util"), 
-    "io-xml-util", 
-    classPath)
-
-def buildDatatypeLibrary():
-  classPath = os.pathsep.join(dependencyJarPaths() 
-                              + jingJarPath())
-  buildModule(
-    os.path.join(buildRoot, "syntax", "relaxng", "datatype", "java"), 
-    "html5-datatypes", 
-    classPath)
-
-def buildNonSchema():
-  classPath = os.pathsep.join(dependencyJarPaths() 
-                              + jarNamesToPaths(["html5-datatypes",])
-                              + jingJarPath())
-  buildModule(
-    os.path.join(buildRoot, "syntax", "non-schema", "java"), 
-    "non-schema", 
-    classPath)
-
-def buildSchemaDrivers():
-  schemaDir = os.path.join(buildRoot, "syntax", "relaxng")
-  legacyRnc = os.path.join(os.path.join(buildRoot, "validator", "schema", "legacy", "legacy.rnc"))
-  buildSchemaDriverHtmlCore(schemaDir)
-  buildSchemaDriverHtml5NoMicrodata(schemaDir)
-  buildSchemaDriverHtml5(schemaDir)
-  buildSchemaDriverHtml5RDFa(schemaDir)
-  buildSchemaDriverXhtmlCore(schemaDir)
-  buildSchemaDriverXhtmlCorePlusWf2(schemaDir)
-  buildSchemaDriverXhtml5xhtmlNoMicrodata(schemaDir)
-  buildSchemaDriverXhtml5htmlNoMicrodata(schemaDir)
-  buildSchemaDriverXhtml5html(schemaDir)
-  buildSchemaDriverXhtml5xhtml(schemaDir)
-  buildSchemaDriverXhtml5xhtmlRDFa(schemaDir)
-  buildSchemaDriverXhtml5htmlRDFa(schemaDir)
-  removeIfExists(os.path.join(schemaDir, "legacy.rnc"))
-  shutil.copy(legacyRnc, schemaDir)
-
-#################################################################
-# data and functions for building schema drivers
-#################################################################
-
-schemaDriverBase = '''\
-start = html.elem
-include "phrase.rnc"
-include "block.rnc"
-include "sectional.rnc"
-include "revision.rnc"
-include "embed.rnc"
-include "core-scripting.rnc"
-'''
-schemaDriverHtml5NoMicrodata = '''\
-include "structural.rnc"
-include "ruby.rnc"
-include "media.rnc"
-include "tables.rnc"
-include "form-datatypes.rnc"
-include "web-forms.rnc"
-include "web-forms2.rnc"
-include "applications.rnc"
-include "data.rnc"
-include "legacy.rnc"
-include "aria.rnc"
-include "meta.rnc" {
-		html.inner =
-			(	head.elem
-			,	(	body.elem
-				|	frameset.elem
-				)
-			)
-}
-'''
-schemaDriverPlusWebForms2 = '''\
-include "tables.rnc"
-include "form-datatypes.rnc"
-include "web-forms.rnc"
-include "web-forms2.rnc"
-'''
-schemaDriverNamespace = '''\
-default namespace = "http://www.w3.org/1999/xhtml"
-'''
-schemaDriverMeta = '''\
-include "meta.rnc"
-'''
-schemaDriverToggle_HtmlCore = '''\
-include "common.rnc" {
-		XMLonly = notAllowed
-		HTMLonly = empty
-		v5only = notAllowed
-}
-'''
-schemaDriverToggle_XhtmlCore = '''\
-include "common.rnc" {
-		XMLonly = empty
-		HTMLonly = notAllowed
-		v5only = notAllowed
-}
-'''
-schemaDriverToggle_Html5 = '''\
-include "common.rnc" {
-		XMLonly = notAllowed
-		HTMLonly = empty
-		v5only = empty
-		nonHTMLizable = notAllowed
-		nonRoundtrippable = notAllowed
-'''
-schemaDriverToggle_Xhtml5xhtml = '''\
-include "common.rnc" {
-		XMLonly = empty
-		HTMLonly = notAllowed
-		v5only = empty
-'''
-schemaDriverToggle_Xhtml5html = '''\
-include "common.rnc" {
-		XMLonly = empty
-		HTMLonly = notAllowed
-		v5only = empty
-		nonHTMLizable = notAllowed
-		nonRoundtrippable = notAllowed
-'''
-schemaDriverHtml5Microdata = '''\
-include "microdata.rnc"
-'''
-schemaDriverHtml5RDFa = '''\
-include "rdfa.rnc"
-'''
-
-def openDriver(schemaDir, driverName, sourceName=""):
-  removeIfExists(os.path.join(schemaDir, driverName))
-  if sourceName != "":
-    # if we have a file sourceName, copy it so that we can later
-    # just append additions to the copy
-    shutil.copyfile(os.path.join(schemaDir, sourceName), os.path.join(schemaDir, driverName))
-  f = open(os.path.join(schemaDir, driverName),"a")
-  return f
-
-def writeW3CToggle(f):
-  if w3cBranding:
-    f.write("\t\tnonW3C = notAllowed\n")
-  f.write("}\n")
-
-################################
-# HTML schema drivers
-################################
-def buildSchemaDriverHtmlCore(schemaDir):
-  f = openDriver(schemaDir, "html5core.rnc")
-  f.write(schemaDriverToggle_HtmlCore)
-  f.write(schemaDriverBase)
-  f.write(schemaDriverMeta)
-  f.close()
-
-def buildSchemaDriverHtml5NoMicrodata(schemaDir):
-  f = openDriver(schemaDir, "html5full-no-microdata.rnc")
-  f.write(schemaDriverNamespace)
-  f.write(schemaDriverToggle_Html5)
-  writeW3CToggle(f)
-  f.write(schemaDriverBase)
-  f.write(schemaDriverHtml5NoMicrodata)
-  f.close()
-
-def buildSchemaDriverHtml5(schemaDir):
-  f = openDriver(schemaDir, "html5full.rnc", "html5full-no-microdata.rnc")
-  f.write(schemaDriverHtml5Microdata)
-  f.close()
-
-def buildSchemaDriverHtml5RDFa(schemaDir):
-  f = openDriver(schemaDir, "html5full-rdfa.rnc", "html5full.rnc")
-  f.write(schemaDriverHtml5RDFa)
-  f.close()
-
-################################
-# XHTML schema drivers
-################################
-def buildSchemaDriverXhtmlCore(schemaDir):
-  f = openDriver(schemaDir, "xhtml5core.rnc")
-  f.write(schemaDriverNamespace)
-  f.write(schemaDriverToggle_XhtmlCore)
-  f.write(schemaDriverBase)
-  f.write(schemaDriverMeta)
-  f.close()
-
-def buildSchemaDriverXhtmlCorePlusWf2(schemaDir):
-  f = openDriver(schemaDir, "xhtml5core-plus-web-forms2.rnc", "xhtml5core.rnc")
-  f.write(schemaDriverPlusWebForms2)
-  f.close()
-
-def buildSchemaDriverXhtml5htmlNoMicrodata(schemaDir):
-  f = openDriver(schemaDir, "xhtml5full-html-no-microdata.rnc")
-  f.write(schemaDriverNamespace)
-  f.write(schemaDriverToggle_Xhtml5html)
-  writeW3CToggle(f)
-  f.write(schemaDriverBase)
-  f.write(schemaDriverHtml5NoMicrodata)
-  f.close()
-
-def buildSchemaDriverXhtml5xhtmlNoMicrodata(schemaDir):
-  f = openDriver(schemaDir, "xhtml5full-xhtml-no-microdata.rnc")
-  f.write(schemaDriverNamespace)
-  f.write(schemaDriverToggle_Xhtml5xhtml)
-  writeW3CToggle(f)
-  f.write(schemaDriverBase)
-  f.write(schemaDriverHtml5NoMicrodata)
-  f.close()
-
-def buildSchemaDriverXhtml5xhtml(schemaDir):
-  f = openDriver(schemaDir, "xhtml5full-xhtml.rnc", "xhtml5full-xhtml-no-microdata.rnc")
-  f.write(schemaDriverHtml5Microdata)
-  f.close()
-
-def buildSchemaDriverXhtml5xhtmlRDFa(schemaDir):
-  f = openDriver(schemaDir, "xhtml5full-xhtml-rdfa.rnc", "xhtml5full-xhtml.rnc")
-  f.write(schemaDriverHtml5RDFa)
-  f.close()
-
-def buildSchemaDriverXhtml5html(schemaDir):
-  f = openDriver(schemaDir, "xhtml5full-html.rnc", "xhtml5full-html-no-microdata.rnc")
-  f.write(schemaDriverHtml5Microdata)
-  f.close()
-
-def buildSchemaDriverXhtml5htmlRDFa(schemaDir):
-  f = openDriver(schemaDir, "xhtml5full-html-rdfa.rnc", "xhtml5full-html.rnc")
-  f.write(schemaDriverHtml5RDFa)
-  f.close()
-
-#################################################################
-# end of data and functions for building schema drivers
-#################################################################
-
-def buildXmlParser():
-  classPath = os.pathsep.join(dependencyJarPaths() 
-                              + jarNamesToPaths(["htmlparser", "io-xml-util"]))
-  buildModule(
-    os.path.join(buildRoot, "xmlparser"), 
-    "hs-aelfred2", 
-    classPath)
-
-def buildHtmlParser():
-  classPath = os.pathsep.join(dependencyJarPaths())
-  buildModule(
-    os.path.join(buildRoot, "htmlparser"), 
-    "htmlparser", 
-    classPath)
-
-def buildJing():
-  os.chdir("jing-trang")
-  runCmd(os.path.join(".", "ant"))
-  os.chdir("..")
-
-def buildValidator():
-  ioJar  = os.path.join("util", "dist", "io-xml-util.jar")
-  pageEmitter = os.path.join("validator", "src", "nu", "validator", "servlet", "PageEmitter.java")
-  formEmitter = os.path.join("validator", "src", "nu", "validator", "servlet", "FormEmitter.java")
-  w3cPageEmitter = os.path.join("validator", "src", "nu", "validator", "servlet", "W3CPageEmitter.java")
-  w3cFormEmitter = os.path.join("validator", "src", "nu", "validator", "servlet", "W3CFormEmitter.java")
-  runCmd('"%s" -classpath %s nu.validator.tools.SaxCompiler %s %s' % (javaCmd, ioJar, pageTemplate, pageEmitter))
-  runCmd('"%s" -classpath %s nu.validator.tools.SaxCompiler %s %s' % (javaCmd, ioJar, formTemplate, formEmitter))
-  runCmd('"%s" -classpath %s nu.validator.tools.SaxCompiler %s %s' % (javaCmd, ioJar, w3cPageTemplate, w3cPageEmitter))
-  runCmd('"%s" -classpath %s nu.validator.tools.SaxCompiler %s %s' % (javaCmd, ioJar, w3cFormTemplate, w3cFormEmitter))
-  classPath = os.pathsep.join(dependencyJarPaths() 
-                              + jarNamesToPaths(["non-schema", 
-                                                "io-xml-util",
-                                                "htmlparser",
-                                                "hs-aelfred2",
-                                                "html5-datatypes"])
-                              + jingJarPath())
-  buildModule(
-    os.path.join(buildRoot, "validator"), 
-    "validator", 
-    classPath)
-
-def buildTestHarness():
-  classPath = os.pathsep.join(dependencyJarPaths() 
-                              + jarNamesToPaths(["non-schema", 
-                                                "io-xml-util",
-                                                "htmlparser",
-                                                "hs-aelfred2"])
-                              + jingJarPath())
-  buildModule(
-    os.path.join(buildRoot, "syntax", "relaxng", "tests", "jdriver"), 
-    "test-harness", 
-    classPath)
-
-def ownJarList():
-  return jarNamesToPaths(["non-schema", 
-                          "io-xml-util",
-                          "htmlparser",
-                          "hs-aelfred2",
-                          "html5-datatypes",
-                          "validator"]) + jingJarPath()
-
-def buildRunJarPathList():
-  return dependencyJarPaths(runDependencyJars)  + ownJarList()
-
-def getRunArgs(heap="$((HEAP))"):
-  classPath = os.pathsep.join(buildRunJarPathList())
-  args = [
-    '-XX:-DontCompileHugeMethods',
-    '-Xms%sk' % heap,
-    '-Xmx%sk' % heap,
-    '-XX:ThreadStackSize=2048',
-    '-classpath',
-    classPath,
-    '-Dnu.validator.servlet.read-local-log4j-properties=1',
-    '-Dnu.validator.servlet.log4j-properties=' + log4jProps,
-    '-Dnu.validator.servlet.version=3',
-    '-Dnu.validator.servlet.service-name=' + serviceName,
-    '-Dorg.whattf.datatype.warn=true',
-    '-Dnu.validator.servlet.about-page=' + aboutPage,
-    '-Dnu.validator.servlet.style-sheet=' + stylesheet,
-    '-Dnu.validator.servlet.icon=' + icon,
-    '-Dnu.validator.servlet.script=' + script,
-    '-Dnu.validator.spec.html5-load=' + html5specLoad,
-    '-Dnu.validator.spec.html5-link=' + html5specLink,
-    '-Dnu.validator.servlet.max-file-size=%d' % (maxFileSize * 1024),
-    '-Dnu.validator.servlet.connection-timeout=%d' % (connectionTimeoutSeconds * 1000),
-    '-Dnu.validator.servlet.socket-timeout=%d' % (socketTimeoutSeconds * 1000),
-    '-Dnu.validator.servlet.w3cbranding=%d' % w3cBranding,
-    '-Dorg.mortbay.http.HttpRequest.maxFormContentSize=%d' % (maxFileSize * 1024),
-    '-Dnu.validator.servlet.host.generic=' + genericHost,
-    '-Dnu.validator.servlet.host.html5=' + html5Host,
-    '-Dnu.validator.servlet.host.parsetree=' + parsetreeHost,
-    '-Dnu.validator.servlet.path.generic=' + genericPath,
-    '-Dnu.validator.servlet.path.html5=' + html5Path,
-    '-Dnu.validator.servlet.path.parsetree=' + parsetreePath,
-    '-Dnu.validator.servlet.path.about=' + os.path.join(buildRoot, aboutPath),
-  ]
-
-  if usePromiscuousSsl:
-    args.append('-Dnu.validator.xml.promiscuous-ssl=true')  
-
-  args.append('nu.validator.servlet.Main')
-  
-  if useAjp:
-    args.append('ajp')
-  args.append(portNumber)
-  if controlPort:
-    args.append(controlPort)
-  return args
-  
-def generateRunScript():
-  args = getRunArgs()
-  f = open(os.path.join(buildRoot, "run-validator.sh"), 'wb')
-  f.write("#!/bin/sh\n")
-  if heapSize.startswith('-'):
-    f.write("HEAP=`grep MemTotal /proc/meminfo | awk '{print $2}'`\n")
-    f.write("HEAP=$((HEAP-%d))\n" % (int(heapSize[1:]) * 1024))
-  else:
-    f.write("HEAP=%d\n" % (int(heapSize) * 1024))
-  f.write(" ".join([javaCmd,] + args))
-  if controlPort:
-    f.write(" <&- 1>/dev/null 2>&1 &")
-  f.write("\n")
-  f.close()  
-
-def runValidator():
-  ensureDirExists(os.path.join(buildRoot, "logs"))
-  args = getRunArgs(str(int(heapSize) * 1024))
-  execCmd(javaCmd, args)
-
-def createTarball():
-  args = [
-    "zcf",
-    os.path.join(buildRoot, "jars.tar.gz"),
-    os.path.join(buildRoot, "run-validator.sh"),
-    os.path.join(buildRoot, "validator", "site", "style.css"),
-    os.path.join(buildRoot, "validator", "site", "script.js"),
-    os.path.join(buildRoot, "validator", "site", "icon.png"),
-  ] + ownJarList()
-  runCmd('"%s" %s' %(tarCmd, " ".join(args)))
-
-def createDepTarball():
-  args = [
-    "zcf",
-    os.path.join(buildRoot, "deps.tar.gz"),
-  ] + dependencyJarPaths(runDependencyJars)
-  runCmd('"%s" %s' %(tarCmd, " ".join(args)))
-
-def deployOverScp():
-  if not deploymentTarget:
-    print "No target"
-    return
-  runCmd('"%s" "%s" %s/deps.tar.gz' % (scpCmd, os.path.join(buildRoot, "deps.tar.gz"), deploymentTarget))  
-  runCmd('"%s" "%s" %s/jars.tar.gz' % (scpCmd, os.path.join(buildRoot, "jars.tar.gz"), deploymentTarget))
-  emptyPath = os.path.join(buildRoot, "EMPTY")
-  f = open(emptyPath, 'wb')
-  f.close()
-  runCmd('"%s" "%s" %s/DEPLOY' % (scpCmd, emptyPath, deploymentTarget))  
-  os.remove(emptyPath)
-
-def fetchUrlTo(url, path, md5sum=None):
-  # I bet there's a way to do this with more efficient IO and less memory
-  print url