<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta http-equiv="content-script-type" content="text/javascript">
<meta http-equiv="content-style-type" content="text/css">
<meta name="author" content="Eric Lafortune">
<meta name="description" content="ProGuard: java shrinker, optimizer, obfuscator, and preverifier">
<meta name="keywords" content="java obfuscator, optimizer, shrinker, preverfier">
<link rel="stylesheet" type="text/css" href="style.css">
<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
<title>ProGuard</title>
</head>

<script type="text/javascript" language="JavaScript">
<!--
var main="main.html";
if (window.location.hash.length > 1)
  main=window.location.hash.substr(1);
var sections="sections.html";
if (main.search(/manual\//) >= 0)
  sections="manual/sections.html";

document.write("<frameset rows=\"50,*\" framespacing=\"0\" frameborder=\"no\"><frame id=\"title\" name=\"title\" src=\"title.html\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" noresize /><frameset cols=\"120,*\" framespacing=\"0\" frameborder=\"no\"><frame id=\"sections\" name=\"sections\" src=\""+sections+"\" scrolling=\"no\" marginwidth=\"0\" marginheight=\"0\" noresize /><frame id=\"main\" name=\"main\" src=\""+main+"\" scrolling=\"auto\" marginwidth=\"10\" marginheight=\"10\" noresize /></frameset></frameset>");
//-->
</script>

<noscript>
<frameset
 rows="50,*"
 framespacing="0"
 frameborder="no">

<frame
 id="title"
 name="title"
 src="title.html"
 scrolling="no"
 marginwidth="0"
 marginheight="0"
 noresize />

<frameset
 cols="120,*"
 framespacing="0"
 frameborder="no">

<frame
 id="sections"
 name="sections"
 src="sections.html"
 scrolling="no"
 marginwidth="0"
 marginheight="0"
 noresize />

<frame
 id="main"
 name="main"
 src="main.html"
 scrolling="auto"
 marginwidth="10"
 marginheight="10"
 noresize />

</frameset>
</frameset>
</noscript>

<noframes>
<body>
<p class="intro">
<b>ProGuard</b> is a free Java class file shrinker, optimizer, obfuscator, and
preverifier. It detects and removes unused classes, fields, methods, and
attributes. It optimizes bytecode and removes unused instructions. It renames
the remaining classes, fields, and methods using short meaningless names.
Finally, it preverifies the processed code for Java 6 or for Java Micro
Edition.
</p>
<p>
Your browser doesn't support frames, but that's cool.
<p>
You can go straight to the <a href="main.html">main page</a>.

<hr />
<address>
Copyright &copy; 2002-2011
<a target="other" href="http://www.lafortune.eu/">Eric Lafortune</a>.
</address>
</body>
</noframes>
</html>
