1b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang<!doctype html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<html>
3b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<head>
4b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
5b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<meta http-equiv="content-script-type" content="text/javascript">
6b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<meta http-equiv="content-style-type" content="text/css">
7b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<meta name="author" content="Eric Lafortune">
8b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<meta name="description" content="ProGuard: java shrinker, optimizer, obfuscator, and preverifier">
9b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<meta name="keywords" content="java obfuscator, optimizer, shrinker, preverfier">
10b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<link rel="stylesheet" type="text/css" href="style.css">
11b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<link rel="shortcut icon" type="image/x-icon" href="favicon.ico">
12b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<title>ProGuard</title>
13b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato</head>
14b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang
15b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang<script type="text/javascript" language="JavaScript">
16b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang//<!--
17b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang  var destWindowHash = window.location.hash;
18b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang  function mainFrameLoaded() {
19b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang    if (destWindowHash.length > 1) {
20b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang      var destFrameFile = destWindowHash.substring(1);
21b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang      var currFrameFile = frames["main"].location.href.replace(window.location.href.replace(/index.html.*/, ""), "");
22b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang      if (currFrameFile != destFrameFile) {
23b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang        frames["main"].location.replace(destFrameFile);
24b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang        if (destFrameFile.search("manual/") >= 0)
25b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang          frames["sections"].location.replace("manual/sections.html");
26b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang      }
27b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang      destWindowHash = "";
28b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang    }
29b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang  }
30b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang//-->
31b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang</script>
32b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang
33b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<frameset
34b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato rows="50,*"
35b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato framespacing="0"
36b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato frameborder="no">
37b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
38b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<frame
39b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang id="title"
40b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato name="title"
41b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato src="title.html"
42b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato scrolling="no"
43b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato marginwidth="0"
44b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato marginheight="0"
45b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang noresize="noresize" />
46b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
47b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<frameset
48b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato cols="120,*"
49b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato framespacing="0"
50b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato frameborder="no">
51b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
52b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<frame
53b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang id="sections"
54b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato name="sections"
55b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato src="sections.html"
56b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato scrolling="no"
57b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato marginwidth="0"
58b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato marginheight="0"
59b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang noresize="noresize" />
60b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
61b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<frame
62b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang id="main"
63b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato name="main"
64b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato src="main.html"
65b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato scrolling="auto"
66b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato marginwidth="10"
67b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato marginheight="10"
68b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang noresize="noresize"
69b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang onload="mainFrameLoaded()" />
70b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
71b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato</frameset>
72b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato</frameset>
73b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
74b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<noframes>
75b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<body>
76b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<p class="intro">
77b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang<b>ProGuard</b> is a free Java class file shrinker, optimizer, obfuscator, and
78b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wangpreverifier. It detects and removes unused classes, fields, methods, and
79b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wangattributes. It optimizes bytecode and removes unused instructions. It renames
80b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wangthe remaining classes, fields, and methods using short meaningless names.
81b9cc48a43ed984587c939d02fba5316bf5c0df6eYing WangFinally, it preverifies the processed code for Java 6 or for Java Micro
82b9cc48a43ed984587c939d02fba5316bf5c0df6eYing WangEdition.
83b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato</p>
84b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<p>
85b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoYour browser doesn't support frames, but that's cool.
86b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<p>
87b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe OnoratoYou can go straight to the <a href="main.html">main page</a>.
88b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato
89b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang<hr />
90b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato<address>
91b9cc48a43ed984587c939d02fba5316bf5c0df6eYing WangCopyright &copy; 2002-2013
92b9cc48a43ed984587c939d02fba5316bf5c0df6eYing Wang<a target="other" href="http://www.lafortune.eu/">Eric Lafortune</a>.
93b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato</address>
94b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato</body>
95b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato</noframes>
96b72c5c2e5482cf10117b2b25f642f7616b2326c3Joe Onorato</html>
97