From 66b415a2066cac9f36ed58070777de388f63a3a4 Mon Sep 17 00:00:00 2001 From: crazyboblee Date: Fri, 25 Aug 2006 02:01:19 +0000 Subject: [PATCH] Initial checkin. git-svn-id: https://google-guice.googlecode.com/svn/trunk@2 d779f126-a31b-0410-b53b-1d3aecad763e --- COPYING | 202 +++ build.properties | 6 + build.xml | 104 ++ doc/balls.gif | Bin 0 -> 2991 bytes doc/index.html | 51 + doc/logo.gif | Bin 0 -> 4204 bytes doc/prettify.css | 26 + doc/prettify.js | 1314 +++++++++++++++++ doc/style.css | 258 ++++ guice.iml | 52 + guice.ipr | 222 +++ guice.iws | 796 ++++++++++ javadoc/allclasses-frame.html | 48 + javadoc/allclasses-noframe.html | 48 + javadoc/com/google/inject/Container.html | 419 ++++++ .../inject/ContainerBuilder.Command.html | 208 +++ .../com/google/inject/ContainerBuilder.html | 1000 +++++++++++++ javadoc/com/google/inject/Context.html | 297 ++++ .../google/inject/DependencyException.html | 270 ++++ javadoc/com/google/inject/Factory.html | 213 +++ javadoc/com/google/inject/Inject.html | 232 +++ javadoc/com/google/inject/Scope.Strategy.html | 297 ++++ javadoc/com/google/inject/Scope.html | 418 ++++++ javadoc/com/google/inject/Scoped.html | 212 +++ javadoc/com/google/inject/package-frame.html | 86 ++ .../com/google/inject/package-summary.html | 253 ++++ javadoc/com/google/inject/package-tree.html | 171 +++ javadoc/constant-values.html | 166 +++ javadoc/deprecated-list.html | 138 ++ javadoc/help-doc.html | 205 +++ javadoc/index-all.html | 337 +++++ javadoc/index.html | 34 + javadoc/overview-tree.html | 173 +++ javadoc/package-list | 1 + javadoc/resources/inherit.gif | Bin 0 -> 57 bytes javadoc/serialized-form.html | 155 ++ javadoc/stylesheet.css | 29 + lib/build/commons-logging-1.0.4.jar | Bin 0 -> 38015 bytes lib/build/junit.jar | Bin 0 -> 121070 bytes lib/build/spring-beans.jar | Bin 0 -> 228334 bytes lib/build/spring-core.jar | Bin 0 -> 118658 bytes .../google/inject/ConstructionContext.java | 124 ++ src/com/google/inject/Container.java | 103 ++ src/com/google/inject/ContainerBuilder.java | 483 ++++++ src/com/google/inject/ContainerImpl.java | 556 +++++++ src/com/google/inject/Context.java | 57 + .../google/inject/DependencyException.java | 37 + src/com/google/inject/ExternalContext.java | 73 + src/com/google/inject/Factory.java | 34 + src/com/google/inject/Inject.java | 46 + src/com/google/inject/InternalContext.java | 80 + src/com/google/inject/InternalFactory.java | 33 + src/com/google/inject/Key.java | 74 + src/com/google/inject/Scope.java | 206 +++ src/com/google/inject/Scoped.java | 37 + src/com/google/inject/package-info.java | 30 + .../util/FinalizablePhantomReference.java | 35 + .../inject/util/FinalizableReference.java | 32 + .../util/FinalizableReferenceQueue.java | 78 + .../inject/util/FinalizableSoftReference.java | 34 + .../inject/util/FinalizableWeakReference.java | 34 + src/com/google/inject/util/Function.java | 44 + .../google/inject/util/ReferenceCache.java | 188 +++ src/com/google/inject/util/ReferenceMap.java | 615 ++++++++ src/com/google/inject/util/ReferenceType.java | 55 + src/com/google/inject/util/Strings.java | 55 + test/com/google/inject/AllTests.java | 51 + .../google/inject/CircularDependencyTest.java | 68 + test/com/google/inject/ContainerTest.java | 189 +++ test/com/google/inject/FactoryTest.java | 105 ++ test/com/google/inject/NotRequiredTest.java | 54 + test/com/google/inject/SpringTest.java | 194 +++ .../google/inject/StaticInjectionTest.java | 47 + test/com/google/inject/SuperclassTest.java | 52 + .../util/FinalizableReferenceQueueTest.java | 53 + .../inject/util/ReferenceCacheTest.java | 176 +++ .../google/inject/util/ReferenceMapTest.java | 131 ++ .../inject/util/ReferenceMapTestSuite.java | 261 ++++ 78 files changed, 12965 insertions(+) create mode 100644 COPYING create mode 100644 build.properties create mode 100644 build.xml create mode 100644 doc/balls.gif create mode 100644 doc/index.html create mode 100644 doc/logo.gif create mode 100644 doc/prettify.css create mode 100644 doc/prettify.js create mode 100644 doc/style.css create mode 100644 guice.iml create mode 100644 guice.ipr create mode 100644 guice.iws create mode 100644 javadoc/allclasses-frame.html create mode 100644 javadoc/allclasses-noframe.html create mode 100644 javadoc/com/google/inject/Container.html create mode 100644 javadoc/com/google/inject/ContainerBuilder.Command.html create mode 100644 javadoc/com/google/inject/ContainerBuilder.html create mode 100644 javadoc/com/google/inject/Context.html create mode 100644 javadoc/com/google/inject/DependencyException.html create mode 100644 javadoc/com/google/inject/Factory.html create mode 100644 javadoc/com/google/inject/Inject.html create mode 100644 javadoc/com/google/inject/Scope.Strategy.html create mode 100644 javadoc/com/google/inject/Scope.html create mode 100644 javadoc/com/google/inject/Scoped.html create mode 100644 javadoc/com/google/inject/package-frame.html create mode 100644 javadoc/com/google/inject/package-summary.html create mode 100644 javadoc/com/google/inject/package-tree.html create mode 100644 javadoc/constant-values.html create mode 100644 javadoc/deprecated-list.html create mode 100644 javadoc/help-doc.html create mode 100644 javadoc/index-all.html create mode 100644 javadoc/index.html create mode 100644 javadoc/overview-tree.html create mode 100644 javadoc/package-list create mode 100644 javadoc/resources/inherit.gif create mode 100644 javadoc/serialized-form.html create mode 100644 javadoc/stylesheet.css create mode 100644 lib/build/commons-logging-1.0.4.jar create mode 100644 lib/build/junit.jar create mode 100644 lib/build/spring-beans.jar create mode 100644 lib/build/spring-core.jar create mode 100644 src/com/google/inject/ConstructionContext.java create mode 100644 src/com/google/inject/Container.java create mode 100644 src/com/google/inject/ContainerBuilder.java create mode 100644 src/com/google/inject/ContainerImpl.java create mode 100644 src/com/google/inject/Context.java create mode 100644 src/com/google/inject/DependencyException.java create mode 100644 src/com/google/inject/ExternalContext.java create mode 100644 src/com/google/inject/Factory.java create mode 100644 src/com/google/inject/Inject.java create mode 100644 src/com/google/inject/InternalContext.java create mode 100644 src/com/google/inject/InternalFactory.java create mode 100644 src/com/google/inject/Key.java create mode 100644 src/com/google/inject/Scope.java create mode 100644 src/com/google/inject/Scoped.java create mode 100644 src/com/google/inject/package-info.java create mode 100644 src/com/google/inject/util/FinalizablePhantomReference.java create mode 100644 src/com/google/inject/util/FinalizableReference.java create mode 100644 src/com/google/inject/util/FinalizableReferenceQueue.java create mode 100644 src/com/google/inject/util/FinalizableSoftReference.java create mode 100644 src/com/google/inject/util/FinalizableWeakReference.java create mode 100644 src/com/google/inject/util/Function.java create mode 100644 src/com/google/inject/util/ReferenceCache.java create mode 100644 src/com/google/inject/util/ReferenceMap.java create mode 100644 src/com/google/inject/util/ReferenceType.java create mode 100644 src/com/google/inject/util/Strings.java create mode 100644 test/com/google/inject/AllTests.java create mode 100644 test/com/google/inject/CircularDependencyTest.java create mode 100644 test/com/google/inject/ContainerTest.java create mode 100644 test/com/google/inject/FactoryTest.java create mode 100644 test/com/google/inject/NotRequiredTest.java create mode 100644 test/com/google/inject/SpringTest.java create mode 100644 test/com/google/inject/StaticInjectionTest.java create mode 100644 test/com/google/inject/SuperclassTest.java create mode 100644 test/com/google/inject/util/FinalizableReferenceQueueTest.java create mode 100644 test/com/google/inject/util/ReferenceCacheTest.java create mode 100644 test/com/google/inject/util/ReferenceMapTest.java create mode 100644 test/com/google/inject/util/ReferenceMapTestSuite.java diff --git a/COPYING b/COPYING new file mode 100644 index 0000000000..d645695673 --- /dev/null +++ b/COPYING @@ -0,0 +1,202 @@ + + 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 [yyyy] [name of copyright owner] + + 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. diff --git a/build.properties b/build.properties new file mode 100644 index 0000000000..fa2568592b --- /dev/null +++ b/build.properties @@ -0,0 +1,6 @@ +version=1.0-alpha +lib.dir=lib +src.dir=src +test.dir=test +build.dir=build +javadoc.packagenames=com.google.inject diff --git a/build.xml b/build.xml new file mode 100644 index 0000000000..10b725a4d5 --- /dev/null +++ b/build.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/balls.gif b/doc/balls.gif new file mode 100644 index 0000000000000000000000000000000000000000..cef101e894d061bfece6f5e7d09db6629893e5d8 GIT binary patch literal 2991 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 literal 0 HcmV?d00001 diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000000..e98101dc2a --- /dev/null +++ b/doc/index.html @@ -0,0 +1,51 @@ + + + + + + + +Guice + + + + + + + + diff --git a/doc/logo.gif b/doc/logo.gif new file mode 100644 index 0000000000000000000000000000000000000000..2c2de91de6f7eb1b0660947e92158531ebf4019e GIT binary patch literal 4204 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 literal 0 HcmV?d00001 diff --git a/doc/prettify.css b/doc/prettify.css new file mode 100644 index 0000000000..3fa11c7b77 --- /dev/null +++ b/doc/prettify.css @@ -0,0 +1,26 @@ +/* Pretty printing styles. Used with prettify.js. */ + +.str { color: #080; } +.kwd { color: #008; } +.com { color: #800; } +.typ { color: #606; } +.lit { color: #066; } +.pun { color: #660; } +.pln { color: #000; } +.tag { color: #008; } +.atn { color: #606; } +.atv { color: #080; } +pre.prettyprint { padding: 10px; padding-left: 15px; border: 1px solid #888; } + +@media print { + .str { color: #060; } + .kwd { color: #006; font-weight: bold; } + .com { color: #600; font-style: italic; } + .typ { color: #404; font-weight: bold; } + .lit { color: #044; } + .pun { color: #440; } + .pln { color: #000; } + .tag { color: #006; font-weight: bold; } + .atn { color: #404; } + .atv { color: #060; } +} diff --git a/doc/prettify.js b/doc/prettify.js new file mode 100644 index 0000000000..6341d836f0 --- /dev/null +++ b/doc/prettify.js @@ -0,0 +1,1314 @@ +// Copyright 2005 Google Inc. +// All Rights Reserved. +// +// msamuel@google.com + +// Usage: +// 1) include this source file in an html page via +// +// 2) define style rules. See the example page for examples. +// 3) mark the
 and  tags in your source with class=prettyprint.
+//    You can also use the (html deprecated)  tag, but the pretty printer
+//    needs to do more substantial DOM manipulations to support that, so some
+//    css styles may not be preserved.
+
+// Change log:
+// cbeust, 2006/08/22
+//   Java annotations (start with "@") are now captured as literals ("lit")
+//
+
+var PR_keywords = new Object();
+/** initialize the keyword list for our target languages. */
+(function () {
+  var CPP_KEYWORDS = (
+    "bool break case catch char class const const_cast continue default " +
+    "delete deprecated dllexport dllimport do double dynamic_cast else enum " +
+    "explicit extern false float for friend goto if inline int long mutable " +
+    "naked namespace new noinline noreturn nothrow novtable operator private " +
+    "property protected public register reinterpret_cast return selectany " +
+    "short signed sizeof static static_cast struct switch template this " +
+    "thread throw true try typedef typeid typename union unsigned using " +
+    "declaration, using directive uuid virtual void volatile while typeof");
+  var JAVA_KEYWORDS = (
+    "abstract default goto package synchronized boolean do if private this " +
+    "break double implements protected throw byte else import public throws " +
+    "case enum instanceof return transient catch extends int short try char " +
+    "final interface static void class finally long strictfp volatile const " +
+    "float native super while continue for new switch");
+  var PYTHON_KEYWORDS = (
+    "and assert break class continue def del elif else except exec finally " +
+    "for from global if import in is lambda not or pass print raise return " +
+    "try while yield");
+  var JSCRIPT_KEYWORDS = (
+    "abstract boolean break byte case catch char class const continue " +
+    "debugger default delete do double else enum export extends false final " +
+    "finally float for function goto if implements import in instanceof int " +
+    "interface long native new null package private protected public return " +
+    "short static super switch synchronized this throw throws transient " +
+    "true try typeof var void volatile while with NaN Infinity");
+  var PERL_KEYWORDS = (
+    "foreach require sub unless until use elsif BEGIN END");
+  var SH_KEYWORDS = (
+    "if then do else fi end");
+  var KEYWORDS = [CPP_KEYWORDS, JAVA_KEYWORDS, PYTHON_KEYWORDS,
+                  JSCRIPT_KEYWORDS, PERL_KEYWORDS, SH_KEYWORDS];
+  for (var k = 0; k < KEYWORDS.length; k++) {
+    var kw = KEYWORDS[k].split(' ');
+    for (var i = 0; i < kw.length; i++) {
+      if (kw[i]) { PR_keywords[kw[i]] = true; }
+    }
+  }
+}).call(this);
+
+// token style names.  correspond to css classes
+/** token style for a string literal */
+var PR_STRING = 'str';
+/** token style for a keyword */
+var PR_KEYWORD = 'kwd';
+/** token style for a comment */
+var PR_COMMENT = 'com';
+/** token style for a type */
+var PR_TYPE = 'typ';
+/** token style for a literal value.  e.g. 1, null, true. */
+var PR_LITERAL = 'lit';
+/** token style for a punctuation string. */
+var PR_PUNCTUATION = 'pun';
+/** token style for a punctuation string. */
+var PR_PLAIN = 'pln';
+
+/** token style for an sgml tag. */
+var PR_TAG = 'tag';
+/** token style for a markup declaration such as a DOCTYPE. */
+var PR_DECLARATION = 'dec';
+/** token style for embedded source. */
+var PR_SOURCE = 'src';
+/** token style for an sgml attribute name. */
+var PR_ATTRIB_NAME = 'atn';
+/** token style for an sgml attribute value. */
+var PR_ATTRIB_VALUE = 'atv';
+
+/** the position of the end of a token during.  A division of a string into
+  * n tokens can be represented as a series n - 1 token ends, as long as
+  * runs of whitespace warrant their own token.
+  * @private
+  */
+function PR_TokenEnd(end, style) {
+  if (undefined === style) { throw new Error('BAD'); }
+  if ('number' != typeof(end)) { throw new Error('BAD'); }
+  this.end = end;
+  this.style = style;
+}
+PR_TokenEnd.prototype.toString = function () {
+  return '[PR_TokenEnd ' + this.end +
+    (this.style ? ':' + this.style : '') + ']';
+};
+
+
+/** a chunk of text with a style.  These are used to represent both the output
+  * from the lexing functions as well as intermediate results.
+  * @constructor
+  * @param token the token text
+  * @param style one of the token styles defined in designdoc-template, or null
+  *   for a styleless token, such as an embedded html tag.
+  * @private
+  */
+function PR_Token(token, style) {
+  if (undefined === style) { throw new Error('BAD'); }
+  this.token = token;
+  this.style = style;
+}
+
+PR_Token.prototype.toString = function () {
+  return '[PR_Token ' + this.token + (this.style ? ':' + this.style : '') + ']';
+};
+
+
+/** a helper class that decodes common html entities used to escape source and
+  * markup punctuation characters in html.
+  * @constructor
+  * @private
+  */
+function PR_DecodeHelper() {
+  this.next = 0;
+  this.ch = '\0';
+}
+
+PR_DecodeHelper.prototype.decode = function (s, i) {
+  var next = i + 1;
+  var ch = s.charAt (i);
+  if ('&' == ch) {
+    var semi = s.indexOf(';', next);
+    if (semi >= 0 && semi < next + 4) {
+      var entityName = s.substring(next, semi).toLowerCase();
+      next = semi + 1;
+      if ('lt' == entityName) {
+        ch = '<';
+      } else if ('gt' == entityName) {
+        ch = '>';
+      } else if ('quot' == entityName) {
+        ch = '"';
+      } else if ('apos' == entityName) {
+        ch = '\'';
+      } else if ('amp' == entityName) {
+        ch = '&';
+      } else {
+        next = i + 1;
+      }
+    }
+  }
+  this.next = next;
+  this.ch = ch;
+  return this.ch ;
+}
+
+
+// some string utilities
+function PR_isWordChar(ch) {
+  return (ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z');
+}
+
+function PR_isIdentifierStart(ch) {
+  return PR_isWordChar(ch) || ch == '_' || ch == '$' || ch == '@';
+}
+
+function PR_isIdentifierPart(ch) {
+  return PR_isIdentifierStart(ch) || PR_isDigitChar(ch);
+}
+
+function PR_isSpaceChar(ch) {
+  return "\t \r\n".indexOf(ch) >= 0;
+}
+
+function PR_isDigitChar(ch) {
+  return ch >= '0' && ch <= '9';
+}
+
+function PR_trim(s) {
+  var i = 0, j = s.length - 1;
+  while (i <= j && PR_isSpaceChar(s.charAt(i))) { ++i; }
+  while (j > i && PR_isSpaceChar( s.charAt(j))) { --j; }
+  return s.substring(i, j + 1);
+}
+
+function PR_startsWith(s, prefix) {
+  return s.length >= prefix.length && prefix == s.substring(0, prefix.length);
+}
+
+function PR_endsWith(s, suffix) {
+  return s.length >= suffix.length &&
+         suffix == s.substring(s.length - suffix.length, s.length);
+}
+
+/** true iff prefix matches the first prefix characters in chars[0:len].
+  * @private
+  */
+function PR_prefixMatch(chars, len, prefix) {
+  if (len < prefix.length) { return false; }
+  for (var i = 0, n = prefix.length; i < n; ++i) {
+    if (prefix.charAt(i) != chars[i]) { return false; }
+  }
+  return true;
+}
+
+/** used to convert html special characters embedded in XMP tags into html. */
+function PR_textToHtml(str) {
+  return str.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;');
+}
+
+
+/** split markup into chunks of html tags (style null) and
+  * plain text (style {@link #PR_PLAIN}).
+  *
+  * @param s a String of html.
+  * @return an Array of PR_Tokens of style PR_PLAIN and null.
+  * @private
+  */
+function PR_chunkify(s) {
+  var chunks = new Array();
+  var state = 0;
+  var start = 0;
+  var pos = -1;
+  for (var i = 0, n = s.length; i < n; ++i) {
+    var ch = s.charAt(i);
+    switch (state) {
+      case 0:
+        if ('<' == ch) { state = 1; }
+        break;
+      case 1:
+        pos = i - 1;
+        if ('/' == ch) { state = 2; }
+        else if (PR_isWordChar(ch)) { state = 3; }
+        else if ('<' == ch) { state = 1; }
+        else { state = 0; }
+        break;
+      case 2:
+        if (PR_isWordChar(ch)) { state = 3; }
+        else if ('<' == ch) { state = 1; }
+        else { state = 0; }
+        break;
+      case 3:
+        if ('>' == ch) {
+          if (pos > start) {
+            chunks.push(new PR_Token(s.substring(start, pos), PR_PLAIN));
+          }
+          chunks.push(new PR_Token( s.substring(pos, i + 1), null));
+          start = i + 1;
+          pos = -1;
+          state = 0;
+        }
+        break;
+    }
+  }
+  if (s.length > start) {
+    chunks.push(new PR_Token(s.substring (start, s.length), PR_PLAIN));
+  }
+  return chunks;
+}
+
+/** splits chunks around entities.
+  * @private
+  */
+function PR_splitEntities(chunks) {
+  var chunksOut = new Array();
+  var state = 0;
+  for (var ci = 0, nc = chunks.length; ci < nc; ++ci) {
+    var chunk = chunks[ci];
+    if (PR_PLAIN != chunk.style) {
+      chunksOut.push(chunk);
+      continue;
+    }
+    var s = chunk.token;
+    var pos = 0;
+    var start;
+    for (var i = 0; i < s.length; ++i) {
+      var ch = s.charAt(i);
+      switch (state) {
+        case 0:
+          if ('&' == ch) { state = 1; }
+          break;
+        case 1:
+          if ('#' == ch || PR_isWordChar(ch)) {
+            start = i - 1;
+            state = 2;
+          } else {
+            state = 0;
+          }
+          break;
+        case 2:
+          if (';' == ch) {
+            if (start > pos) {
+              chunksOut.push(
+                  new PR_Token(s.substring(pos, start), chunk.style));
+            }
+            chunksOut.push (new PR_Token(s.substring(start, i + 1), null));
+            pos = i + 1;
+            state = 0;
+          }
+          break;
+      }
+    }
+    if (s.length > pos) {
+      chunksOut.push(pos ?
+                     new PR_Token(s.substring(pos, s.length), chunk.style) :
+                     chunk);
+    }
+  }
+  return chunksOut;
+}
+
+/** walk the tokenEnds list and the chunk list in parallel to generate a list
+  * of split tokens.
+  * @private
+  */
+function PR_splitChunks(chunks, tokenEnds) {
+  var tokens = new Array();  // the output
+
+  var ci = 0;  // index into chunks
+  // position of beginning of amount written so far in absolute space.
+  var posAbs = 0;
+  // position of amount written so far in chunk space
+  var posChunk = 0;
+
+  // current chunk
+  var chunk = new PR_Token('', null);
+
+  for (var ei = 0, ne = tokenEnds.length; ei < ne; ++ei) {
+    var tokenEnd = tokenEnds[ei];
+    var end = tokenEnd.end;
+
+    var tokLen = end - posAbs;
+    var remainingInChunk = chunk.token.length - posChunk;
+    while (remainingInChunk <= tokLen) {
+      if (remainingInChunk > 0) {
+        tokens.push(
+            new PR_Token(chunk.token.substring(posChunk, chunk.token.length),
+                         null == chunk.style ? null : tokenEnd.style));
+      }
+      posAbs += remainingInChunk;
+      posChunk = 0;
+      if (ci < chunks.length) { chunk = chunks[ci++]; }
+
+      tokLen = end - posAbs;
+      remainingInChunk = chunk.token.length - posChunk;
+    }
+
+    if (tokLen) {
+      tokens.push(
+          new PR_Token(chunk.token.substring(posChunk, posChunk + tokLen),
+                       tokenEnd.style));
+      posAbs += tokLen;
+      posChunk += tokLen;
+    }
+  }
+
+  return tokens;
+}
+
+/** splits markup tokens into declarations, tags, and source chunks.
+  * @private
+  */
+function PR_splitMarkup(chunks) {
+  // A state machine to split out declarations, tags, etc.
+  // This state machine deals with absolute space in the text, indexed by k,
+  // and position in the current chunk, indexed by pos and tokenStart to
+  // generate a list of the ends of tokens.
+  // Absolute space is calculated by considering the chunks as appended into
+  // one big string, as they were before being split.
+
+  // Known failure cases
+  // Server side scripting sections such as <?...?> in attributes.
+  // i.e. <span class="<? foo ?>">
+  // Handling this would require a stack, and we don't use PHP.
+
+  // The output: a list of pairs of PR_TokenEnd instances
+  var tokenEnds = new Array();
+
+  var state = 0;  // FSM state variable
+  var k = 0;  // position in absolute space of the start of the current chunk
+  var tokenStart = -1;  // the start of the current token
+
+  // Try to find a closing tag for any open <style> or <script> tags
+  // We can't do this at a later stage because then the following case
+  // would fail:
+  // <script>document.writeln('<!--');</script>
+
+  // We use tokenChars[:tokenCharsI] to accumulate the tag name so that we
+  // can check whether to enter into a no scripting section when the tag ends.
+  var tokenChars = new Array(12);
+  var tokenCharsI = 0;
+  // if non null, the tag prefix that we need to see to break out.
+  var endScriptTag = null;
+  var decodeHelper = new PR_DecodeHelper();
+
+  for (var ci = 0, nc = chunks.length; ci < nc; ++ci) {
+    var chunk = chunks[ci];
+    if (PR_PLAIN != chunk.style) {
+      k += chunk.token.length;
+      continue;
+    }
+
+    var s = chunk.token;
+    var pos = 0;  // the position past the last character processed so far in s
+
+    for (var i = 0, n = s.length; i < n; /* i = next at bottom */) {
+      decodeHelper.decode(s, i);
+      var ch = decodeHelper.ch;
+      var next = decodeHelper.next;
+
+      var tokenStyle = null;
+      switch (state) {
+        case 0:
+          if ('<' == ch) { state = 1; }
+          break;
+        case 1:
+          tokenCharsI = 0;
+          if ('/' == ch) {  // only consider close tags if we're in script/style
+            state = 7;
+          } else if (null == endScriptTag) {
+            if ('!' == ch) {
+              state = 2;
+            } else if (PR_isWordChar(ch)) {
+              state = 8;
+            } else if ('?' == ch) {
+              state = 9;
+            } else if ('%' == ch) {
+              state = 11;
+            } else if ('<' != ch) {
+              state = 0;
+            }
+          } else if ('<' != ch) {
+            state = 0;
+          }
+          break;
+        case 2:
+          if ('-' == ch) {
+            state = 4;
+          } else if (PR_isWordChar(ch)) {
+            state = 3;
+          } else if ('<' == ch) {
+            state = 1;
+          } else {
+            state = 0;
+          }
+          break;
+        case 3:
+          if ('>' == ch) {
+            state = 0;
+            tokenStyle = PR_DECLARATION;
+          }
+          break;
+        case 4:
+          if ('-' == ch) { state = 5; }
+          break;
+        case 5:
+          if ('-' == ch) { state = 6; }
+          break;
+        case 6:
+          if ('>' == ch) {
+            state = 0;
+            tokenStyle = PR_COMMENT;
+          } else if ('-' == ch) {
+            state = 6;
+          } else {
+            state = 4;
+          }
+          break;
+        case 7:
+          if (PR_isWordChar(ch)) {
+            state = 8;
+          } else if ('<' == ch) {
+            state = 1;
+          } else {
+            state = 0;
+          }
+          break;
+        case 8:
+          if ('>' == ch) {
+            state = 0;
+            tokenStyle = PR_TAG;
+          }
+          break;
+        case 9:
+          if ('?' == ch) { state = 10; }
+          break;
+        case 10:
+          if ('>' == ch) {
+            state = 0;
+            tokenStyle = PR_SOURCE;
+          } else if ('?' != ch) {
+            state = 9;
+          }
+          break;
+        case 11:
+          if ('%' == ch) { state = 12; }
+          break;
+        case 12:
+          if ('>' == ch) {
+            state = 0;
+            tokenStyle = PR_SOURCE;
+          } else if ('%' != ch) {
+            state = 11;
+          }
+          break;
+      }
+
+      if (tokenCharsI < tokenChars.length) {
+        tokenChars[tokenCharsI++] = ch.toLowerCase();
+      }
+      if (1 == state) { tokenStart = k + i; }
+      i = next;
+      if (tokenStyle != null) {
+        if (null != tokenStyle) {
+          if (endScriptTag) {
+            if (PR_prefixMatch(tokenChars, tokenCharsI, endScriptTag)) {
+              endScriptTag = null;
+            }
+          } else {
+            if (PR_prefixMatch(tokenChars, tokenCharsI, 'script')) {
+              endScriptTag = '/script';
+            } else if (PR_prefixMatch(tokenChars, tokenCharsI, 'style')) {
+              endScriptTag = '/style';
+            } else if (PR_prefixMatch(tokenChars, tokenCharsI, 'xmp')) {
+              endScriptTag = '/xmp';
+            }
+          }
+          // disallow the tag if endScriptTag is set and this was not an open
+          // tag.
+          if (endScriptTag && tokenCharsI && '/' == tokenChars[0]) {
+            tokenStyle = null;
+          }
+        }
+        if (null != tokenStyle) {
+          tokenEnds.push(new PR_TokenEnd(tokenStart, PR_PLAIN));
+          tokenEnds.push(new PR_TokenEnd(k + next, tokenStyle));
+        }
+      }
+    }
+    k += chunk.token.length;
+  }
+  tokenEnds.push(new PR_TokenEnd(k, PR_PLAIN));
+
+  return tokenEnds;
+}
+
+/** splits the given string into comment, string, and "other" tokens.
+  * @return an array of PR_Tokens with style in
+  *   (PR_STRING, PR_COMMENT, PR_PLAIN, null)
+  *   The result array may contain spurious zero length tokens.  Ignore them.
+  *
+  * @private
+  */
+function PR_splitStringAndCommentTokens(chunks) {
+  // a state machine to split out comments, strings, and other stuff
+  var tokenEnds = new Array();  // positions of ends of tokens in absolute space
+  var state = 0;  // FSM state variable
+  var delim = -1;  // string delimiter
+  var k = 0;  // absolute position of beginning of current chunk
+  for (var ci = 0, nc = chunks.length; ci < nc; ++ci) {
+    var chunk = chunks[ci];
+    var s = chunk.token;
+    if (PR_PLAIN == chunk.style) {
+      for (var i = 0, n = s.length; i < n; ++i) {
+        var ch = s.charAt(i);
+        if (0 == state) {
+          if (ch == '"' || ch == '\'' || ch == '`') {
+            tokenEnds.push(new PR_TokenEnd(k + i, PR_PLAIN));
+            state = 1;
+            delim = ch;
+          } else if (ch == '/') {
+            state = 3;
+          } else if (ch == '#') {
+            tokenEnds.push(new PR_TokenEnd(k + i, PR_PLAIN));
+            state = 4;
+          }
+        } else if (1 == state) {
+          if (ch == delim) {
+            state = 0;
+            tokenEnds.push(new PR_TokenEnd(k + i + 1, PR_STRING));
+          } else if (ch == '\\') {
+            state = 2;
+          }
+        } else if (2 == state) {
+          state = 1;
+        } else if (3 == state) {
+          if (ch == '/') {
+            state = 4;
+            tokenEnds.push(new PR_TokenEnd(k + i - 1, PR_PLAIN));
+          } else if (ch == '*') {
+            state = 5;
+            tokenEnds.push(new PR_TokenEnd(k + i - 1, PR_PLAIN));
+          } else {
+            state = 0;
+            // next loop will reenter state 0 without same value of i, so
+            // ch will be reconsidered as start of new token.
+            --i;
+          }
+        } else if (4 == state) {
+          if (ch == '\r' || ch == '\n') {
+            state = 0;
+            tokenEnds.push (new PR_TokenEnd(k + i, PR_COMMENT));
+          }
+        } else if (5 == state) {
+          if (ch == '*') {
+            state = 6;
+          }
+        } else if (6 == state) {
+          if (ch == '/') {
+            state = 0;
+            tokenEnds.push(new PR_TokenEnd(k + i + 1, PR_COMMENT));
+          } else if (ch != '*') {
+            state = 5;
+          }
+        }
+      }
+    }
+    k += s.length;
+  }
+  tokenEnds.push(new PR_TokenEnd(k, PR_PLAIN));  // a token ends at the end
+
+  return PR_splitChunks(chunks, tokenEnds);
+}
+
+/** used by lexSource to split a non string, non comment token.
+  * @private
+  */
+function PR_splitNonStringNonCommentToken(s, outlist) {
+  var pos = 0;
+  var state = 0;
+  for (var i = 0; i <= s.length; i++) {
+    var ch = s.charAt(i);
+    // the next state.
+    // if set to -1 then it will cause a reentry to state 0 without consuming
+    // another character.
+    var nstate = state;
+
+    if (i == s.length) {
+      // nstate will not be equal to state, so it will append the token
+      nstate = -2;
+    } else {
+      switch (state) {
+      case 0:  // whitespace state
+        if (PR_isIdentifierStart(ch)) {
+          nstate = 1;
+        } else if (PR_isDigitChar(ch)) {
+          nstate = 2;
+        } else if (!PR_isSpaceChar(ch)) {
+          nstate = 3;
+        }
+        if (nstate && pos < i) {
+          var t = s.substring(pos, i);
+          outlist.push(new PR_Token(t, PR_PLAIN));
+          pos = i;
+        }
+        break;
+      case 1:  // identifier state
+        if (!PR_isIdentifierPart(ch)) {
+          nstate = -1;
+        }
+        break;
+      case 2:  // number literal state
+        // handle numeric literals like
+        // 0x7f 300UL 100_000
+
+        // this does not treat floating point values as a single literal
+        //   0.1 and 3e-6
+        // are each split into multiple tokens
+        if (!(PR_isDigitChar(ch) || PR_isWordChar(ch) || ch == '_')) {
+          nstate = -1;
+        }
+        break;
+      case 3:  // punctuation state
+        if (PR_isIdentifierStart(ch) || PR_isDigitChar(ch) ||
+            PR_isSpaceChar(ch)) {
+          nstate = -1;
+        }
+        break;
+      }
+    }
+
+    if (nstate != state) {
+      if (nstate < 0) {
+        if (i > pos) {
+          var t = s.substring(pos, i);
+          var ch0 = t.charAt(0);
+          var style;
+          if (PR_isIdentifierStart(ch0)) {
+            if (PR_keywords[t]) {
+              style = PR_KEYWORD;
+            }
+            else if (ch0 == '@') {
+              style = PR_LITERAL;
+            } else {
+              // Treat any word that starts with an uppercase character and
+              // contains at least one lowercase character as a type, or
+              // ends with _t.
+              // This works perfectly for Java, pretty well for C++, and
+              // passably for Python.  The _t catches C structs.
+              var isType = false;
+              if (ch0 >= 'A' && ch0 <= 'Z') {
+                for (var j = 1; j < t.length; j++) {
+                  var ch1 = t.charAt(j);
+                  if (ch1 >= 'a' && ch1 <= 'z') {
+                    isType = true;
+                    break;
+                  }
+                }
+                if (!isType && t.length >= 2 &&
+                    t.substring(t.length - 2) == '_t') {
+                  isType = true;
+                }
+              }
+              style = isType ? PR_TYPE : PR_PLAIN;
+            }
+          } else if (PR_isDigitChar(ch0)) {
+            style = PR_LITERAL;
+          } else if (!PR_isSpaceChar(ch0)) {
+            style = PR_PUNCTUATION;
+          } else {
+            style = PR_PLAIN;
+          }
+          pos = i;
+          outlist.push(new PR_Token(t, style));
+        }
+
+        state = 0;
+        if (nstate == -1) {
+          // don't increment.  This allows us to use state 0 to redispatch based
+          // on the current character.
+          i--;
+          continue;
+        }
+      }
+      state = nstate;
+    }
+  }
+}
+
+/** split a group of chunks of markup.
+  * @private
+  */
+function PR_tokenizeMarkup(chunks) {
+  if (!(chunks && chunks.length)) { return chunks; }
+
+  var tokenEnds = PR_splitMarkup(chunks);
+  return PR_splitChunks(chunks, tokenEnds);
+}
+
+/** split tags attributes and their values out from the tag name, and
+  * recursively lex source chunks.
+  * @private
+  */
+function PR_splitTagAttributes(tokens) {
+  var tokensOut = new Array();
+  var state = 0;
+  var stateStyle = PR_TAG;
+  var delim = null;  // attribute delimiter for quoted value state.
+  var decodeHelper = new PR_DecodeHelper();
+  for (var ci = 0; ci < tokens.length; ++ci) {
+    var tok = tokens[ci];
+    if (PR_TAG == tok.style) {
+      var s = tok.token;
+      var start = 0;
+      for (var i = 0; i < s.length; /* i = next at bottom */) {
+        decodeHelper.decode(s, i);
+        var ch = decodeHelper.ch;
+        var next = decodeHelper.next;
+
+        var emitEnd = null;  // null or position of end of chunk to emit.
+        var nextStyle = null;  // null or next value of stateStyle
+        if (ch == '>') {
+          if (PR_TAG != stateStyle) {
+            emitEnd = i;
+            nextStyle = PR_TAG;
+          }
+        } else {
+          switch (state) {
+            case 0:
+              if ('<' == ch) { state = 1; }
+              break;
+            case 1:
+              if (PR_isSpaceChar(ch)) { state = 2; }
+              break;
+            case 2:
+              if (!PR_isSpaceChar(ch)) {
+                nextStyle = PR_ATTRIB_NAME;
+                emitEnd = i;
+                state = 3;
+              }
+              break;
+            case 3:
+              if ('=' == ch) {
+                emitEnd = i;
+                nextStyle = PR_TAG;
+                state = 5;
+              } else if (PR_isSpaceChar(ch)) {
+                emitEnd = i;
+                nextStyle = PR_TAG;
+                state = 4;
+              }
+              break;
+            case 4:
+              if ('=' == ch) {
+                state = 5;
+              } else if (!PR_isSpaceChar(ch)) {
+                emitEnd = i;
+                nextStyle = PR_ATTRIB_NAME;
+                state = 3;
+              }
+              break;
+            case 5:
+              if ('"' == ch || '\'' == ch) {
+                emitEnd = i;
+                nextStyle = PR_ATTRIB_VALUE;
+                state = 6;
+                delim = ch;
+              } else if (!PR_isSpaceChar(ch)) {
+                emitEnd = i;
+                nextStyle = PR_ATTRIB_VALUE;
+                state = 7;
+              }
+              break;
+            case 6:
+              if (ch == delim) {
+                emitEnd = next;
+                nextStyle = PR_TAG;
+                state = 2;
+              }
+              break;
+            case 7:
+              if (PR_isSpaceChar(ch)) {
+                emitEnd = i;
+                nextStyle = PR_TAG;
+                state = 2;
+              }
+              break;
+          }
+        }
+        if (emitEnd) {
+          if (emitEnd > start) {
+            tokensOut.push(
+                new PR_Token(s.substring(start, emitEnd), stateStyle));
+            start = emitEnd;
+          }
+          stateStyle = nextStyle;
+        }
+        i = next;
+      }
+      if (s.length > start) {
+        tokensOut.push(new PR_Token(s.substring(start, s.length), stateStyle));
+      }
+    } else {
+      if (tok.style) {
+        state = 0;
+        stateStyle = PR_TAG;
+      }
+      tokensOut.push(tok);
+    }
+  }
+  return tokensOut;
+}
+
+/** identify regions of markup that are really source code, and recursivley
+  * lex them.
+  * @private
+  */
+function PR_splitSourceNodes(tokens) {
+  var tokensOut = new Array();
+  // when we see a <script> tag, store '/' here so that we know to end the
+  // source processing
+  var endScriptTag = null;
+  var decodeHelper = new PR_DecodeHelper();
+
+  var sourceChunks = null;
+
+  for (var ci = 0, nc = tokens.length; ci < nc; ++ci) {
+    var tok = tokens[ci];
+    if (null == tok.style) {
+      tokens.push(tok);
+      continue;
+    }
+
+    var s = tok.token;
+
+    if (null == endScriptTag) {
+      if (PR_SOURCE == tok.style) {
+        // split off any starting and trailing <?, <%
+        if ('<' == decodeHelper.decode(s, 0)) {
+          decodeHelper.decode(s, decodeHelper.next);
+          if ('%' == decodeHelper.ch || '?' == decodeHelper.ch) {
+            endScriptTag = decodeHelper.ch ;
+            tokensOut.push(new PR_Token(s.substring(0, decodeHelper.next),
+                                        PR_TAG));
+            s = s.substring(decodeHelper.next, s.length);
+          }
+        }
+      } else if (PR_TAG == tok.style) {
+        if ('<' == decodeHelper.decode(s, 0) &&
+            '/' != s.charAt(decodeHelper.next)) {
+          var tagContent = s.substring(decodeHelper.next).toLowerCase();
+          // FIXME(msamuel): this does not mirror exactly the code in
+          // in PR_splitMarkup that defers splitting tags inside script and
+          // style blocks.
+          if (PR_startsWith(tagContent, 'script') ||
+              PR_startsWith(tagContent, 'style') ||
+              PR_startsWith(tagContent, 'xmp')) {
+            endScriptTag = '/';
+          }
+        }
+      }
+    }
+
+    if (null != endScriptTag) {
+      var endTok = null;
+      if (PR_SOURCE == tok.style) {
+        if (endScriptTag == '%' || endScriptTag == '?') {
+          var pos = s.lastIndexOf(endScriptTag);
+          if (pos >= 0 && '>' == decodeHelper.decode(s, pos + 1) &&
+              s.length == decodeHelper.next) {
+            endTok = new PR_Token(s.substring(pos, s.length), PR_TAG);
+            s = s.substring(0, pos);
+          }
+        }
+        if (null == sourceChunks) { sourceChunks = new Array(); }
+        sourceChunks.push(new PR_Token(s, PR_PLAIN));
+      } else if (PR_PLAIN == tok.style) {
+        if (null == sourceChunks) { sourceChunks = new Array(); }
+        sourceChunks.push(tok);
+      } else if (PR_TAG == tok.style) {
+        // if it starts with </ then it must be the end tag.
+        if ('<' == decodeHelper.decode(tok.token, 0) &&
+            tok.token.length > decodeHelper.next &&
+            '/' == decodeHelper.decode(tok.token, decodeHelper.next)) {
+          endTok = tok;
+        } else {
+          tokensOut.push(tok);
+        }
+      } else {
+        if (sourceChunks) {
+          sourceChunks.push(tok);
+        } else {
+          // push remaining tag and attribute tokens from the opening tag
+          tokensOut.push(tok);
+        }
+      }
+      if (endTok) {
+        if (sourceChunks) {
+          var sourceTokens = PR_lexSource(sourceChunks);
+          tokensOut.push(new PR_Token('<span class=embsrc>', null));
+          for (var si = 0, ns = sourceTokens.length; si < ns; ++si) {
+            tokensOut.push(sourceTokens[si]);
+          }
+          tokensOut.push(new PR_Token('</span>', null));
+          sourceChunks = null;
+        }
+        tokensOut.push(endTok);
+        endScriptTag = null;
+      }
+    } else {
+      tokensOut.push(tok);
+    }
+  }
+  return tokensOut;
+}
+
+/** splits the quotes from an attribute value.
+  * ['"foo"'] -> ['"', 'foo', '"']
+  * @private
+  */
+function PR_splitAttributeQuotes(tokens) {
+  var firstPlain = null, lastPlain = null;
+  for (var i = 0; i < tokens.length; ++i) {
+    if (PR_PLAIN = tokens[i].style) {
+      firstPlain = i;
+      break;
+    }
+  }
+  for (var i = tokens.length; --i >= 0;) {
+    if (PR_PLAIN = tokens[i].style) {
+      lastPlain = i;
+      break;
+    }
+  }
+  if (null == firstPlain) { return tokens; }
+
+  var decodeHelper = new PR_DecodeHelper();
+  var fs = tokens[firstPlain].token;
+  var fc = decodeHelper.decode(fs, 0);
+  if ('"' != fc && '\'' != fc) {
+    return tokens;
+  }
+  var fpos = decodeHelper.next;
+
+  var ls = tokens[lastPlain].token;
+  var lpos = ls.lastIndexOf('&');
+  if (lpos < 0) { lpos = ls.length - 1; }
+  var lc = decodeHelper.decode (ls, lpos);
+  if (lc != fc || decodeHelper.next != ls.length) {
+    lc = null;
+    lpos = ls.length;
+  }
+
+  var tokensOut = new Array();
+  for (var i = 0; i < firstPlain; ++i) {
+    tokensOut.push (tokens[i]);
+  }
+  tokensOut.push(new PR_Token(fs.substring(0, fpos), PR_ATTRIB_VALUE));
+  if (lastPlain == firstPlain) {
+    tokensOut.push(new PR_Token(fs.substring(fpos, lpos), PR_PLAIN));
+  } else {
+    tokensOut.push(new PR_Token(fs.substring(fpos, fs.length), PR_PLAIN));
+    for (var i = firstPlain + 1; i < lastPlain; ++i) {
+      tokensOut.push(tokens[i]);
+    }
+    if (lc) {
+      tokens.push(new PR_Token( ls.substring(0, lpos), PR_PLAIN));
+    } else {
+      tokens.push(tokens[lastPlain]);
+    }
+  }
+  if (lc) {
+    tokensOut.push(new PR_Token(ls.substring(lpos, ls.length), PR_PLAIN));
+  }
+  for (var i = lastPlain + 1; i < tokens.length; ++i) {
+    tokensOut.push(tokens[i]);
+  }
+  return tokensOut;
+}
+
+/** identify attribute values that really contain source code and recursively
+  * lex them.
+  * @private
+  */
+function PR_splitSourceAttributes(tokens) {
+  var tokensOut = new Array();
+
+  var sourceChunks = null;
+  var inSource = false;
+  var name = '';
+
+  for (var ci = 0, nc = tokens.length; ci < nc; ++ci) {
+    var tok = tokens[ci];
+    var outList = tokensOut;
+    if (PR_TAG == tok.style) {
+      if (inSource) {
+        inSource = false;
+        name = '';
+        if (sourceChunks) {
+          tokensOut.push(new PR_Token('<span class=embsrc>', null));
+          var sourceTokens =
+            PR_lexSource(PR_splitAttributeQuotes(sourceChunks));
+          for (var si = 0, ns = sourceTokens.length; si < ns; ++si) {
+            tokensOut.push(sourceTokens[si]);
+          }
+          tokensOut.push(new PR_Token('</span>', null));
+          sourceChunks = null;
+        }
+      } else if (name && tok.token.indexOf('=') >= 0) {
+        var nameLower = name.toLowerCase();
+        if (PR_startsWith(nameLower, 'on') || 'style' == nameLower) {
+          inSource = true;
+        }
+      } else {
+        name = '';
+      }
+    } else if (PR_ATTRIB_NAME == tok.style) {
+      name += tok.token;
+    } else if (PR_ATTRIB_VALUE == tok.style) {
+      if (inSource) {
+        if (null == sourceChunks) { sourceChunks = new Array(); }
+        outList = sourceChunks;
+        tok = new PR_Token(tok.token, PR_PLAIN);
+      }
+    } else {
+      if (sourceChunks) {
+        outList = sourceChunks;
+      }
+    }
+    outList.push(tok);
+  }
+  return tokensOut;
+}
+
+/** returns a list of PR_Token objects given chunks of source code.
+  *
+  * This code assumes that < tokens are html escaped, but " are not.
+  * It will do a resonable job with <, but will not recognize an &quot;
+  * as starting a string.
+  *
+  * This code treats ", ', and ` as string delimiters, and \ as a string escape.
+  * It does not recognize double delimiter escapes, or perl's qq() style
+  * strings.
+  *
+  * It recognizes C, C++, and shell style comments.
+  *
+  * @param chunks PR_Tokens with style in (null, PR_PLAIN)
+  */
+function PR_lexSource(chunks) {
+  // positions of ends of tokens in order
+  var tokensIn = PR_splitStringAndCommentTokens(chunks);
+
+  // split entities out of so that we know to treat them as single units.
+  tokensIn = PR_splitEntities(tokensIn);
+
+  // split non comment|string tokens on whitespace and word boundaries
+  var tokensOut = new Array();
+  for (var i = 0; i < tokensIn.length; ++i) {
+    var tok = tokensIn[i];
+    var t = tok.token;
+    var s = tok.style;
+
+    if (PR_PLAIN == s) {
+      PR_splitNonStringNonCommentToken(t, tokensOut);
+      continue;
+    }
+    tokensOut.push(tok);
+  }
+
+  return tokensOut;
+}
+
+/** returns a list of PR_Token objects given a string of markup.
+  *
+  * This code assumes that < tokens are html escaped, but " are not.
+  * It will do a resonable job with <, but will not recognize an &quot;
+  * as starting a string.
+  *
+  * This code recognizes a number of constructs.
+  * <!-- ... --> comment
+  * <!\w ... >   declaration
+  * <\w ... >    tag
+  * </\w ... >   tag
+  * <?...?>      embedded source
+  * &[#\w]...;   entity
+  *
+  * It does not recognizes %foo; entities.
+  *
+  * It will recurse into any <style>, <script>, and on* attributes using
+  * PR_lexSource.
+  */
+function PR_lexMarkup(chunks) {
+  // This function works as follows:
+  // 1) Start by splitting the markup into text and tag chunks
+  //    Input:  String s
+  //    Output: List<PR_Token> where style in (PR_PLAIN, null)
+  // 2) Then split the text chunks further into comments, declarations,
+  //    tags, etc.
+  //    After each split, consider whether the token is the start of an
+  //    embedded source section, i.e. is an open <script> tag.  If it is,
+  //    find the corresponding close token, and don't bother to lex in between.
+  //    Input:  List<String>
+  //    Output: List<PR_Token> with style in (PR_TAG, PR_PLAIN, PR_SOURCE, null)
+  // 3) Finally go over each tag token and split out attribute names and values.
+  //    Input:  List<PR_Token>
+  //    Output: List<PR_Token> where style in
+  //            (PR_TAG, PR_PLAIN, PR_SOURCE, NAME, VALUE, null)
+  var tokensOut = PR_tokenizeMarkup(chunks);
+  tokensOut = PR_splitTagAttributes(tokensOut);
+  tokensOut = PR_splitSourceNodes(tokensOut);
+  tokensOut = PR_splitSourceAttributes(tokensOut);
+  return tokensOut;
+}
+
+/** classify the string as either source or markup and lex appropriately. */
+function PR_lexOne(s) {
+  var chunks = PR_chunkify(s);
+  // treat it as markup if the first non whitespace character is a < and the
+  // last non-whitespace character is a >
+  var isMarkup = false;
+  for (var i = 0; i < chunks.length; ++i) {
+    if (PR_PLAIN == chunks[i].style) {
+      if (PR_startsWith(PR_trim(chunks[i].token), '&lt;')) {
+        for (var j = chunks.length; --j >= 0;) {
+          if (PR_PLAIN == chunks[j].style) {
+            isMarkup = PR_endsWith(PR_trim(chunks[j].token), '&gt;');
+            break;
+          }
+        }
+      }
+      break;
+    }
+  }
+  return isMarkup ? PR_lexMarkup(chunks) : PR_lexSource(chunks);
+}
+
+/** pretty print a chunk of code.
+  *
+  * @param s code as html
+  * @return code as html, but prettier
+  */
+function prettyPrintOne(s) {
+  try {
+    var tokens = PR_lexOne(s);
+    var out = '';
+    var lastStyle = null;
+    for (var i = 0; i < tokens.length; i++) {
+      var t = tokens[i];
+      if (t.style != lastStyle) {
+        if (lastStyle != null) {
+          out += '</span>';
+        }
+        if (t.style != null) {
+          out += '<span class=' + t.style + '>';
+        }
+        lastStyle = t.style;
+      }
+      var html = t.token;
+      if (null != t.style) {
+        // This interacts badly with the wiki which introduces paragraph tags
+        // int pre blocks for some strange reason.
+        // It's necessary for IE though which seems to lose the preformattedness
+        // of <pre> tags when their innerHTML is assigned.
+        html = html.replace(/(?:\r\n?)|\n/g, '<br>').replace(/  /g, '&nbsp; ');
+      }
+      out += html;
+    }
+    if (lastStyle != null) {
+      out += '</span>';
+    }
+    return out;
+  } catch (e) {
+    //alert(e.stack);  // DISABLE in production
+    return s;
+  }
+}
+
+/** find all the < pre > and < code > tags in the DOM with class=prettyprint and
+  * prettify them.
+  */
+function prettyPrint() {
+  // fetch a list of nodes to rewrite
+  var codeSegments = [
+      document.getElementsByTagName('pre'),
+      document.getElementsByTagName('code'),
+      document.getElementsByTagName ('xmp') ];
+  var elements = [];
+  for (var i = 0; i < codeSegments.length; ++i) {
+    for (var j = 0; j < codeSegments[i].length; ++j) {
+      elements.push(codeSegments[i][j]);
+    }
+  }
+  codeSegments = null;
+
+  // the loop is broken into a series of continuations to make sure that we
+  // don't make the browser unresponsive when rewriting a large page.
+  var k = 0;
+
+  function doWork() {
+    var endTime = new Date().getTime() + 250;
+    for (; k < elements.length && new Date().getTime() < endTime; k++) {
+      var cs = elements[k];
+      if (cs.className && cs.className.indexOf('prettyprint') >= 0) {
+
+        // make sure this is not nested in an already prettified element
+        var nested = false;
+        for (var p = cs.parentNode; p != null; p = p.parentNode) {
+          if ((p.tagName == 'pre' || p.tagName == 'code' ||
+               p.tagName == 'xmp') &&
+              p.className && p.className.indexOf('prettyprint') >= 0) {
+            nested = true;
+            break;
+          }
+        }
+        if (!nested) {
+          // XMP tags contain unescaped entities so require special handling.
+          var isRawContent = 'XMP' == cs.tagName;
+
+          // fetch the content as a snippet of properly escaped HTML
+          var content = cs.innerHTML;
+          if (isRawContent) {
+            content = PR_textToHtml(content);
+          }
+
+          // do the pretty printing
+          var newContent = prettyPrintOne(content);
+
+          // push the prettified html back into the tag.
+          if (!isRawContent) {
+            // just replace the old html with the new
+            cs.innerHTML = newContent;
+          } else {
+            // we need to change the tag to a <pre> since <xmp>s do not allow
+            // embedded tags such as the span tags used to attach styles to
+            // sections of source code.
+            var pre = document.createElement('PRE');
+            for (var i = 0; i < cs.attributes.length; ++i) {
+              var a = cs.attributes[i];
+              if ( a.specified) {
+                pre.setAttribute(a.name, a.value);
+              }
+            }
+            pre.innerHTML = newContent;
+            // remove the old
+            cs.parentNode.replaceChild(pre, cs);
+          }
+        }
+      }
+    }
+    if (k < elements.length) {
+      // finish up in a continuation
+      setTimeout(doWork, 250);
+    }
+  }
+
+  doWork();
+}
diff --git a/doc/style.css b/doc/style.css
new file mode 100644
index 0000000000..52a5938029
--- /dev/null
+++ b/doc/style.css
@@ -0,0 +1,258 @@
+body, td { background-color: white; }
+
+h1 td, h1, h2, h3, h4, h5, h6, div.topnav, 
+div.sidenav, div.sidesearch, div.sidequote, div.bottomnav, div.footer, small, 
+td#sidebartitle { font-family: arial,sans-serif; }
+
+/* rules for the bottom navigation on the results page */ 
+div.bottomnav { margin-top: 1ex; }
+
+div.bottomnav a, span.bottomnav { font-size: 10pt; }
+
+div.bottomnav a, span.big { font-size: 12pt; color: #0000cc; }
+
+/* standard link colors */ 
+a:link { color: #0000cc; }
+a:visited { color: #551a8b; }
+a:active { color: #ff0000; }
+
+
+/* top part of the page */ 
+div.topnav { margin-bottom: 0.1ex; }
+h1 td { font-size: .95em; font-weight: bolder; }
+h1 td { background-color: #669900; color: white; border: none; padding: 2pt; }
+div.side { margin-right: 3ex; padding: 2pt; }
+div.sidenav { }
+div.sidesearch { margin-top: 1em; font-size: 0.75em; }
+div.sidequote { text-align: center; margin-top: 1.5in; border-color: red; border-style: solid; border-top-width: 1px; border-bottom-width: 1px; border-left-width: 0px; border-right-width: 0px; }
+div.footer { text-align: center; color: #6f6f6f; padding: 3pt; }
+/* sidebar on the right */ 
+table.sidebarborder { margin: 3pt; margin-top: 1pt; }
+td#sidebarcontent { background-color: #ffffff; }
+/* color schemes for different sections of the site */ 
+body.corporate h1 td, body.corporate table.sidebarborder td { background-color: #339966; }
+body.corporate td#sidebartitle { background-color: #d8f1e4; }
+body.siteowners h1 td, body.siteowners table.sidebarborder td { background-color: #ddad08; }
+body.siteowners td#sidebartitle { background-color: #f1e4d8; }
+body.search h1 td, body.search table.sidebarborder td { background-color: #336699; }
+body.search td#sidebartitle { background-color: #d8e4f1; }
+body.zealots h1 td, body.zealots table.sidebarborder td { background-color: #aa1002; }
+body.zealots td#sidebartitle { background-color: #f1e4d8; }
+body.gsa h1 td, body.gsa table.sidebarborder td { background-color: #F0C000; }
+body.gsa td#sidebartitle { background-color: #fbeab5; }
+
+
+body {
+	font-family: arial, sans-serif;
+	font-size: 83%;
+	}
+
+.leftcontent {
+	float:left;
+	width:175px;
+	background:#fff;
+	}
+
+.topimage {
+	margin-left:13px;
+	margin-top:0px;
+	padding:0px;
+	}
+
+.footerimage {
+	margin-left:15px;
+	margin-top:20px;
+	padding:0px;
+	}
+
+.toc { 
+	color: #ddad08; 
+	font-weight:bold;
+	}
+
+.rightcontent {
+	background:#fff;
+	margin-left: 199px;
+	}
+
+p {
+	margin-right: 5%;
+	margin-left:3%;
+	}
+
+ol, ul {
+	margin-right: 5%;
+	margin-left:3%;
+	}
+
+h1 {
+	font-size:130%;
+	font-weight:bold; 
+	margin-left:3%;
+	margin-top:2em;
+	}
+
+h2 {
+	font-size:120%;
+	font-weight:bold;
+	margin-left:3%;
+	margin-top:2em;
+	}
+
+h3 {
+	font-size:100%;
+	font-weight:bold;
+	margin-left:3%;
+	margin-top:2em;
+	}
+
+h4 {
+	font-size:90%;
+	font-weight:bold;
+	margin-left:3%;
+	margin-top:1.5em;
+	}
+
+.title {
+	background-color: #FEFADE; 
+	border-top:1px solid #ddad08;
+	font-weight:bold; 
+	font-size:120%;
+	text-align:left;
+	margin-left:0;
+	}
+
+.subtitle {
+	background-color: #FEFADE; 
+	border-top:1px solid #ddad08;
+	font-weight:bold; 
+	font-size:120%;
+	text-align:left;
+	}
+
+.toclinks, ul {
+	margin-bottom:0px;
+	margin-top:0px;
+	}
+
+
+.footer {
+	text-align: center;
+	}
+
+code {
+	font-family: "Courier New", Courier, monospace;
+	font-size: 100%;
+	}
+
+pre {
+	background-color: #EEEEEE;
+	border: 1px solid silver;
+	color: #000000;
+	font-family: "Courier New", Courier, monospace;
+	font-size: 100%;
+	margin-left:3%;
+	padding: 3px;
+	text-align:left;
+	overflow: auto;
+	}
+
+.content {
+	border-left:thin dotted #000;
+	}
+
+table {
+	margin-left:3%;
+	border: 1px solid #c3d9ff;
+	border-spacing:0;
+	}
+
+th {
+	font-weight:bold;
+	text-align:left;
+	margin-left:3%;	
+	border-right: 1px solid #C3d9ff;
+	border-bottom: 1px solid #C3d9ff;
+	border-top: 1px solid #C3d9ff;
+	text-align: left;
+	padding: 6px 6px 6px 12px;
+	background: #aac8f6;
+	}
+
+td {
+	border-right: 1px solid #C3d9ff;
+	border-bottom: 1px solid #C3d9ff;
+	background: #fff;
+	text-align:left;
+	margin-left:3%;	
+	padding: 6px 6px 6px 12px;
+	vertical-align:top;
+	}
+
+td.alt {
+	background: #e8eefa;
+	vertical-align:top;
+	}
+
+font  {
+	margin-right: 5%;
+	vertical-align:bottom;
+	margin-left:3%;
+	}
+
+.tdfooter {
+	margin-right: 5%;
+	text-align:right;
+	}
+
+.i { 
+	margin-left: 1em; 
+	margin-right: 2em;
+	}
+
+.q { 
+	margin: 0 10px 0 5px; 
+	padding: 10px 0 0 10px; 
+	color: #000; 
+	background: url("../../images/quote.gif") no-repeat top left;
+	}
+
+.d {
+	color:#999999;
+	font-style:italic;
+	font-size:83%;
+	}
+
+.tdheading {
+	font-weight:bold; 
+	font-size:120%;
+	margin-left:3%;
+	}
+
+/* Pretty printing styles. Used with prettify.js. */
+
+.str { color: #080; }
+.kwd { color: #008; }
+.com { color: #800; }
+.typ { color: #606; }
+.lit { color: #066; }
+.pun { color: #660; }
+.pln { color: #000; }
+.tag { color: #008; }
+.atn { color: #606; }
+.atv { color: #080; }
+pre.prettyprint { padding: 10px; padding-left: 15px; border: 1px solid #888; }
+
+@media print {
+  .str { color: #060; }
+  .kwd { color: #006; font-weight: bold; }
+  .com { color: #600; font-style: italic; }
+  .typ { color: #404; font-weight: bold; }
+  .lit { color: #044; }
+  .pun { color: #440; }
+  .pln { color: #000; }
+  .tag { color: #006; font-weight: bold; }
+  .atn { color: #404; }
+  .atv { color: #060; }
+  pre {overflow: visible}
+}
diff --git a/guice.iml b/guice.iml
new file mode 100644
index 0000000000..d91de550ad
--- /dev/null
+++ b/guice.iml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module version="4" relativePaths="true" type="JAVA_MODULE">
+  <component name="ModuleRootManager" />
+  <component name="NewModuleRootManager">
+    <output url="file://$MODULE_DIR$/classes" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/lib/build/junit.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/lib/build/spring-beans.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/lib/build/spring-core.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntry type="module-library">
+      <library>
+        <CLASSES>
+          <root url="jar://$MODULE_DIR$/lib/build/commons-logging-1.0.4.jar!/" />
+        </CLASSES>
+        <JAVADOC />
+        <SOURCES />
+      </library>
+    </orderEntry>
+    <orderEntryProperties />
+  </component>
+</module>
+
diff --git a/guice.ipr b/guice.ipr
new file mode 100644
index 0000000000..53a57b133f
--- /dev/null
+++ b/guice.ipr
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4" relativePaths="false">
+  <component name="AntConfiguration">
+    <defaultAnt bundledAnt="true" />
+  </component>
+  <component name="Build editor project-level loader">
+    <settings>
+      <class-settings class="com.google.devtools.intellig.configcheck.ProjectPathChecker" />
+      <class-settings class="com.google.devtools.intellig.configcheck.ProjectJdkChecker">
+        <setting name="getProjectJdk" value="/usr/java/jdk1.5.0_05" />
+        <setting name="getModuleJdks" value="rO0ABXNyABFqYXZhLnV0aWwuSGFzaFNldLpEhZWWuLc0AwAAeHB3DAAAABA/QAAAAAAAAHg=" />
+      </class-settings>
+      <class-settings class="com.google.devtools.intellig.configcheck.PythonSdkChecker" />
+      <class-settings class="com.google.devtools.intellig.configcheck.ClearOutputChecker" />
+    </settings>
+  </component>
+  <component name="CodeStyleSettingsManager">
+    <option name="PER_PROJECT_SETTINGS" />
+    <option name="USE_PER_PROJECT_SETTINGS" value="false" />
+  </component>
+  <component name="CompilerConfiguration">
+    <option name="DEFAULT_COMPILER" value="Javac" />
+    <option name="CLEAR_OUTPUT_DIRECTORY" value="true" />
+    <option name="DEPLOY_AFTER_MAKE" value="0" />
+    <resourceExtensions>
+      <entry name=".+\.(properties|xml|html|dtd|tld)" />
+      <entry name=".+\.(gif|png|jpeg|jpg)" />
+    </resourceExtensions>
+    <wildcardResourcePatterns>
+      <entry name="?*.properties" />
+      <entry name="?*.xml" />
+      <entry name="?*.gif" />
+      <entry name="?*.png" />
+      <entry name="?*.jpeg" />
+      <entry name="?*.jpg" />
+      <entry name="?*.html" />
+      <entry name="?*.dtd" />
+      <entry name="?*.tld" />
+      <entry name="?*.properties" />
+      <entry name="?*.xml" />
+      <entry name="?*.html" />
+      <entry name="?*.dtd" />
+      <entry name="?*.tld" />
+      <entry name="?*.gif" />
+      <entry name="?*.png" />
+      <entry name="?*.jpeg" />
+      <entry name="?*.jpg" />
+    </wildcardResourcePatterns>
+  </component>
+  <component name="DataSourceManagerImpl" />
+  <component name="DependenciesAnalyzeManager">
+    <option name="myForwardDirection" value="false" />
+  </component>
+  <component name="DependencyValidationManager" />
+  <component name="EntryPointsManager">
+    <entry_points />
+  </component>
+  <component name="ExportToHTMLSettings">
+    <option name="PRINT_LINE_NUMBERS" value="false" />
+    <option name="OPEN_IN_BROWSER" value="false" />
+    <option name="OUTPUT_DIRECTORY" />
+  </component>
+  <component name="GUI Designer component loader factory" />
+  <component name="JavacSettings">
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="DEPRECATION" value="true" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+    <option name="MAXIMUM_HEAP_SIZE" value="512" />
+  </component>
+  <component name="JavadocGenerationManager">
+    <option name="OUTPUT_DIRECTORY" />
+    <option name="OPTION_SCOPE" value="protected" />
+    <option name="OPTION_HIERARCHY" value="true" />
+    <option name="OPTION_NAVIGATOR" value="true" />
+    <option name="OPTION_INDEX" value="true" />
+    <option name="OPTION_SEPARATE_INDEX" value="true" />
+    <option name="OPTION_DOCUMENT_TAG_USE" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_AUTHOR" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_VERSION" value="false" />
+    <option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
+    <option name="OPTION_DEPRECATED_LIST" value="true" />
+    <option name="OTHER_OPTIONS" value="" />
+    <option name="HEAP_SIZE" />
+    <option name="OPEN_IN_BROWSER" value="true" />
+  </component>
+  <component name="JikesSettings">
+    <option name="JIKES_PATH" value="" />
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="DEPRECATION" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="IS_EMACS_ERRORS_MODE" value="true" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+  </component>
+  <component name="Mach integration configuration">
+    <pre-compile enabled="false" />
+  </component>
+  <component name="Palette2">
+    <group name="Swing">
+      <item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false">
+        <default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
+      </item>
+      <item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false">
+        <default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
+      </item>
+      <item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false">
+        <default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
+      </item>
+      <item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
+        <initial-values>
+          <property name="text" value="Button" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="RadioButton" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="CheckBox" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
+        <initial-values>
+          <property name="text" value="Label" />
+        </initial-values>
+      </item>
+      <item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
+          <preferred-size width="150" height="-1" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false">
+        <default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false">
+        <default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
+          <preferred-size width="150" height="50" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false">
+        <default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
+          <preferred-size width="200" height="200" />
+        </default-constraints>
+      </item>
+      <item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+      <item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false">
+        <default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
+      </item>
+    </group>
+  </component>
+  <component name="ProjectModuleManager">
+    <modules>
+      <module fileurl="file://$PROJECT_DIR$/guice.iml" filepath="$PROJECT_DIR$/guice.iml" />
+    </modules>
+  </component>
+  <component name="ProjectRootManager" version="2" assert-keyword="true" jdk-15="true" project-jdk-name="1.5" />
+  <component name="RmicSettings">
+    <option name="IS_EANABLED" value="false" />
+    <option name="DEBUGGING_INFO" value="true" />
+    <option name="GENERATE_NO_WARNINGS" value="false" />
+    <option name="GENERATE_IIOP_STUBS" value="false" />
+    <option name="ADDITIONAL_OPTIONS_STRING" value="" />
+  </component>
+  <component name="libraryTable" />
+  <component name="uidesigner-configuration">
+    <option name="INSTRUMENT_CLASSES" value="true" />
+    <option name="COPY_FORMS_RUNTIME_TO_OUTPUT" value="true" />
+  </component>
+  <UsedPathMacros />
+</project>
+
diff --git a/guice.iws b/guice.iws
new file mode 100644
index 0000000000..8af62075a9
--- /dev/null
+++ b/guice.iws
@@ -0,0 +1,796 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4" relativePaths="false">
+  <component name="AspectsView" />
+  <component name="BookmarkManager" />
+  <component name="ChangeBrowserSettings">
+    <option name="MAIN_SPLITTER_PROPORTION" value="0.3" />
+    <option name="MESSAGES_SPLITTER_PROPORTION" value="0.8" />
+    <option name="USE_DATE_BEFORE_FILTER" value="false" />
+    <option name="USE_DATE_AFTER_FILTER" value="false" />
+    <option name="USE_CHANGE_BEFORE_FILTER" value="false" />
+    <option name="USE_CHANGE_AFTER_FILTER" value="false" />
+    <option name="DATE_BEFORE" value="" />
+    <option name="DATE_AFTER" value="" />
+    <option name="CHANGE_BEFORE" value="" />
+    <option name="CHANGE_AFTER" value="" />
+    <option name="USE_USER_FILTER" value="false" />
+    <option name="USER" value="" />
+  </component>
+  <component name="CheckinPanelState" />
+  <component name="Commander">
+    <leftPanel />
+    <rightPanel />
+    <splitter proportion="0.5" />
+  </component>
+  <component name="CompilerWorkspaceConfiguration">
+    <option name="COMPILE_IN_BACKGROUND" value="true" />
+    <option name="AUTO_SHOW_ERRORS_IN_EDITOR" value="true" />
+    <option name="CLOSE_MESSAGE_VIEW_IF_SUCCESS" value="false" />
+    <option name="COMPILE_DEPENDENT_FILES" value="false" />
+  </component>
+  <component name="Cvs2Configuration">
+    <option name="PRUNE_EMPTY_DIRECTORIES" value="true" />
+    <option name="MERGING_MODE" value="0" />
+    <option name="MERGE_WITH_BRANCH1_NAME" value="HEAD" />
+    <option name="MERGE_WITH_BRANCH2_NAME" value="HEAD" />
+    <option name="RESET_STICKY" value="false" />
+    <option name="CREATE_NEW_DIRECTORIES" value="true" />
+    <option name="DEFAULT_TEXT_FILE_SUBSTITUTION" value="kv" />
+    <option name="PROCESS_UNKNOWN_FILES" value="false" />
+    <option name="PROCESS_DELETED_FILES" value="false" />
+    <option name="PROCESS_IGNORED_FILES" value="false" />
+    <option name="RESERVED_EDIT" value="false" />
+    <option name="CHECKOUT_DATE_OR_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="UPDATE_DATE_OR_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="SHOW_CHANGES_REVISION_SETTINGS">
+      <value>
+        <option name="BRANCH" value="" />
+        <option name="DATE" value="" />
+        <option name="USE_BRANCH" value="false" />
+        <option name="USE_DATE" value="false" />
+      </value>
+    </option>
+    <option name="SHOW_OUTPUT" value="false" />
+    <option name="ADD_WATCH_INDEX" value="0" />
+    <option name="REMOVE_WATCH_INDEX" value="0" />
+    <option name="UPDATE_KEYWORD_SUBSTITUTION" />
+    <option name="MAKE_NEW_FILES_READONLY" value="false" />
+    <option name="SHOW_CORRUPTED_PROJECT_FILES" value="0" />
+    <option name="TAG_AFTER_PROJECT_COMMIT" value="false" />
+    <option name="OVERRIDE_EXISTING_TAG_FOR_PROJECT" value="true" />
+    <option name="TAG_AFTER_PROJECT_COMMIT_NAME" value="" />
+    <option name="CLEAN_COPY" value="false" />
+  </component>
+  <component name="DaemonCodeAnalyzer">
+    <disable_hints />
+  </component>
+  <component name="DebuggerManager">
+    <breakpoint_any>
+      <breakpoint>
+        <option name="NOTIFY_CAUGHT" value="true" />
+        <option name="NOTIFY_UNCAUGHT" value="true" />
+        <option name="ENABLED" value="false" />
+        <option name="SUSPEND_POLICY" value="SuspendAll" />
+        <option name="LOG_ENABLED" value="false" />
+        <option name="LOG_EXPRESSION_ENABLED" value="false" />
+        <option name="COUNT_FILTER_ENABLED" value="false" />
+        <option name="COUNT_FILTER" value="0" />
+        <option name="CONDITION_ENABLED" value="false" />
+        <option name="CLASS_FILTERS_ENABLED" value="false" />
+        <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+        <option name="CONDITION" value="" />
+        <option name="LOG_MESSAGE" value="" />
+      </breakpoint>
+      <breakpoint>
+        <option name="NOTIFY_CAUGHT" value="true" />
+        <option name="NOTIFY_UNCAUGHT" value="true" />
+        <option name="ENABLED" value="false" />
+        <option name="SUSPEND_POLICY" value="SuspendAll" />
+        <option name="LOG_ENABLED" value="false" />
+        <option name="LOG_EXPRESSION_ENABLED" value="false" />
+        <option name="COUNT_FILTER_ENABLED" value="false" />
+        <option name="COUNT_FILTER" value="0" />
+        <option name="CONDITION_ENABLED" value="false" />
+        <option name="CLASS_FILTERS_ENABLED" value="false" />
+        <option name="INSTANCE_FILTERS_ENABLED" value="false" />
+        <option name="CONDITION" value="" />
+        <option name="LOG_MESSAGE" value="" />
+      </breakpoint>
+    </breakpoint_any>
+    <breakpoint_rules />
+    <ui_properties />
+  </component>
+  <component name="ErrorTreeViewConfiguration">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="HIDE_WARNINGS" value="false" />
+  </component>
+  <component name="FavoritesViewImpl">
+    <favorites_list name="guice">
+      <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+      <option name="IS_SHOW_MEMBERS" value="false" />
+      <option name="IS_STRUCTURE_VIEW" value="false" />
+      <option name="IS_SHOW_MODULES" value="true" />
+      <option name="IS_FLATTEN_PACKAGES" value="false" />
+      <option name="IS_ABBREVIATION_PACKAGE_NAMES" value="false" />
+      <option name="IS_HIDE_EMPTY_MIDDLE_PACKAGES" value="false" />
+      <option name="IS_SHOW_LIBRARY_CONTENTS" value="true" />
+    </favorites_list>
+    <option name="myCurrentFavoritesList" value="guice" />
+  </component>
+  <component name="FileEditorManager">
+    <leaf>
+      <file leaf-file-name="StaticInjectionTest.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/test/com/google/inject/StaticInjectionTest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="18" column="0" selection-start="625" selection-end="625" vertical-scroll-proportion="0.09550562">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="AllTests.java" pinned="false" current="true" current-in-tab="true">
+        <entry file="file://$PROJECT_DIR$/test/com/google/inject/AllTests.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="29" column="13" selection-start="964" selection-end="964" vertical-scroll-proportion="0.21488763">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="Context.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/Context.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="25" column="17" selection-start="765" selection-end="765" vertical-scroll-proportion="0.26264045">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="InternalContext.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/InternalContext.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="80" column="0" selection-start="2270" selection-end="2270" vertical-scroll-proportion="1.5519663">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="ContainerImpl.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/ContainerImpl.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="57" column="21" selection-start="1679" selection-end="1679" vertical-scroll-proportion="0.66853935">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="ReferenceMapTestSuite.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/test/com/google/inject/util/ReferenceMapTestSuite.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="37" column="13" selection-start="1120" selection-end="1120" vertical-scroll-proportion="-3.414326">
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="Strings.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/Strings.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="23" column="13" selection-start="717" selection-end="717" vertical-scroll-proportion="0.21488763">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="FinalizableReferenceQueueTest.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/test/com/google/inject/util/FinalizableReferenceQueueTest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="23" column="13" selection-start="726" selection-end="726" vertical-scroll-proportion="0.21488763">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="FinalizableSoftReference.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/FinalizableSoftReference.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="27" column="22" selection-start="971" selection-end="971" vertical-scroll-proportion="0.31039324">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="FinalizableWeakReference.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/FinalizableWeakReference.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="0" column="0" selection-start="0" selection-end="596" vertical-scroll-proportion="0.0">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="ReferenceCacheTest.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/test/com/google/inject/util/ReferenceCacheTest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="31" column="13" selection-start="1046" selection-end="1046" vertical-scroll-proportion="-2.1741574">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="ReferenceCache.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/ReferenceCache.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="35" column="22" selection-start="1184" selection-end="1184" vertical-scroll-proportion="0.28651685">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="Function.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/Function.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="37" column="17" selection-start="1505" selection-end="1505" vertical-scroll-proportion="0.5491573">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="Function.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file:///usr/local/client/2/google3/java/com/google/common/base/Function.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="32" column="0" selection-start="86" selection-end="1109" vertical-scroll-proportion="0.76404494">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="FinalizablePhantomReference.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/FinalizablePhantomReference.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="28" column="22" selection-start="980" selection-end="980" vertical-scroll-proportion="0.33426967">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="FinalizableReference.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/FinalizableReference.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="24" column="10" selection-start="817" selection-end="817" vertical-scroll-proportion="0.23876405">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="ReferenceMapTest.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/test/com/google/inject/util/ReferenceMapTest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="33" column="13" selection-start="1012" selection-end="1012" vertical-scroll-proportion="0.28651685">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="ReferenceMap.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/ReferenceMap.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="59" column="13" selection-start="2382" selection-end="2382" vertical-scroll-proportion="-11.98736">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="ReferenceType.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/ReferenceType.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="25" column="12" selection-start="810" selection-end="810" vertical-scroll-proportion="0.26264045">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="SpringTest.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/test/com/google/inject/SpringTest.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="98" column="23" selection-start="3419" selection-end="3419" vertical-scroll-proportion="0.42696628">
+              <folding>
+                <element signature="imports" expanded="true" />
+              </folding>
+            </state>
+          </provider>
+        </entry>
+      </file>
+      <file leaf-file-name="Key.java" pinned="false" current="false" current-in-tab="false">
+        <entry file="file://$PROJECT_DIR$/src/com/google/inject/Key.java">
+          <provider selected="true" editor-type-id="text-editor">
+            <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+              <folding />
+            </state>
+          </provider>
+        </entry>
+      </file>
+    </leaf>
+  </component>
+  <component name="FindManager">
+    <FindUsagesManager>
+      <setting name="OPEN_NEW_TAB" value="false" />
+    </FindUsagesManager>
+  </component>
+  <component name="HierarchyBrowserManager">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="SORT_ALPHABETICALLY" value="false" />
+    <option name="HIDE_CLASSES_WHERE_METHOD_NOT_IMPLEMENTED" value="false" />
+  </component>
+  <component name="InspectionManager">
+    <option name="AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="SPLITTER_PROPORTION" value="0.5" />
+    <option name="GROUP_BY_SEVERITY" value="false" />
+    <option name="ANALYZE_TEST_SOURCES" value="true" />
+    <option name="SCOPE_TYPE" value="1" />
+    <option name="CUSTOM_SCOPE_NAME" value="" />
+    <profile name="Default" />
+  </component>
+  <component name="J2EEProjectPane">
+    <PATH>
+      <PATH_ELEMENT>
+        <option name="myItemId" value="guice.ipr" />
+        <option name="myItemType" value="com.intellij.j2ee.module.view.nodes.J2EEProjectNodeDescriptor" />
+      </PATH_ELEMENT>
+    </PATH>
+    <setting name="SHOW_AS_DEPLOYMENT_VIEW" value="false" />
+  </component>
+  <component name="ModuleEditorState">
+    <option name="LAST_EDITED_MODULE_NAME" value="guice" />
+    <option name="LAST_EDITED_TAB_NAME" value="Paths" />
+  </component>
+  <component name="NamedScopeManager" />
+  <component name="PackagesPane">
+    <PATH>
+      <PATH_ELEMENT>
+        <option name="myItemId" value="guice.ipr" />
+        <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
+      </PATH_ELEMENT>
+      <PATH_ELEMENT>
+        <option name="myItemId" value="guice" />
+        <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
+      </PATH_ELEMENT>
+      <PATH_ELEMENT>
+        <option name="myItemId" value="com.google.inject.util" />
+        <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
+      </PATH_ELEMENT>
+    </PATH>
+    <PATH>
+      <PATH_ELEMENT>
+        <option name="myItemId" value="guice.ipr" />
+        <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewProjectNode" />
+      </PATH_ELEMENT>
+      <PATH_ELEMENT>
+        <option name="myItemId" value="guice" />
+        <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageViewModuleNode" />
+      </PATH_ELEMENT>
+      <PATH_ELEMENT>
+        <option name="myItemId" value="com.google.inject" />
+        <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.PackageElementNode" />
+      </PATH_ELEMENT>
+    </PATH>
+  </component>
+  <component name="PerforceChangeBrowserSettings">
+    <option name="USE_CLIENT_FILTER" value="true" />
+    <option name="CLIENT" value="" />
+  </component>
+  <component name="PerforceDirect.Settings">
+    <option name="useP4CONFIG" value="true" />
+    <option name="port" value="&lt;perforce_server&gt;:1666" />
+    <option name="client" value="" />
+    <option name="user" value="" />
+    <option name="passwd" value="" />
+    <option name="showCmds" value="false" />
+    <option name="useNativeApi" value="false" />
+    <option name="pathToExec" value="p4" />
+    <option name="useCustomPathToExec" value="false" />
+    <option name="SYNC_FORCE" value="false" />
+    <option name="SYNC_RUN_RESOLVE" value="true" />
+    <option name="REVERT_UNCHANGED_FILES" value="true" />
+    <option name="CHARSET" value="none" />
+    <option name="SHOW_BRANCHES_HISTORY" value="true" />
+    <option name="ENABLED" value="true" />
+    <option name="USE_LOGIN" value="false" />
+    <option name="LOGIN_SILENTLY" value="false" />
+    <option name="INTEGRATE_BRANCH_NAME" />
+    <option name="INTEGRATE_CHANGELIST_NUM" value="-1" />
+    <option name="INTEGRATE_RUN_RESOLVE" value="true" />
+    <option name="INTEGRATE_REVERT_UNCHANGED" value="true" />
+    <option name="INTEGRATE_CHANGE_LIST_NUMBER" value="" />
+    <option name="INTEGRATE_CHANGE_LIST" value="false" />
+    <option name="INTEGRATE_REVERSE" value="false" />
+  </component>
+  <component name="ProjectLevelVcsManager">
+    <OptionsSetting value="true" id="Add" />
+    <OptionsSetting value="true" id="Remove" />
+    <OptionsSetting value="true" id="Checkin" />
+    <OptionsSetting value="true" id="Checkout" />
+    <OptionsSetting value="true" id="Update" />
+    <OptionsSetting value="true" id="Status" />
+    <OptionsSetting value="true" id="Edit" />
+    <ConfirmationsSetting value="0" id="Add" />
+    <ConfirmationsSetting value="0" id="Remove" />
+  </component>
+  <component name="ProjectPane">
+    <PATH>
+      <PATH_ELEMENT>
+        <option name="myItemId" value="guice.ipr" />
+        <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewProjectNode" />
+      </PATH_ELEMENT>
+      <PATH_ELEMENT>
+        <option name="myItemId" value="guice" />
+        <option name="myItemType" value="com.intellij.ide.projectView.impl.nodes.ProjectViewModuleNode" />
+      </PATH_ELEMENT>
+    </PATH>
+  </component>
+  <component name="ProjectReloadState">
+    <option name="STATE" value="0" />
+  </component>
+  <component name="ProjectView">
+    <navigator currentView="PackagesPane" splitterProportion="0.5">
+      <flattenPackages PackagesPane="true" />
+      <showMembers />
+      <showModules PackagesPane="true" />
+      <showLibraryContents PackagesPane="false" />
+      <hideEmptyPackages />
+      <abbreviatePackageNames />
+      <showStructure PackagesPane="false" ProjectPane="false" />
+      <autoscrollToSource />
+      <autoscrollFromSource />
+      <sortByType />
+    </navigator>
+  </component>
+  <component name="PropertiesComponent">
+    <property name="MemberChooser.copyJavadoc" value="false" />
+    <property name="GoToClass.includeLibraries" value="false" />
+    <property name="MemberChooser.showClasses" value="true" />
+    <property name="MemberChooser.sorted" value="false" />
+    <property name="RunManagerConfig.compileBeforeRunning" value="true" />
+    <property name="GoToFile.includeJavaFiles" value="false" />
+    <property name="last_opened_file_path" value="/usr/local/client/2/google3/java/com/google/common/base" />
+    <property name="GoToClass.toSaveIncludeLibraries" value="false" />
+    <property name="RunManagerConfig.showSettingsBeforeRunnig" value="false" />
+  </component>
+  <component name="ReadonlyStatusHandler">
+    <option name="SHOW_DIALOG" value="true" />
+  </component>
+  <component name="RecentsManager">
+    <key name="MoveClassesOrPackagesDialog.RECENTS_KEY">
+      <recent name="com.google.inject.util" />
+    </key>
+  </component>
+  <component name="RestoreUpdateTree" />
+  <component name="RunManager">
+    <activeType name="JUnit" />
+    <tempConfiguration selected="true" default="false" name="AllTests" type="JUnit" factoryName="JUnit">
+      <module name="guice" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" value="com.google.inject" />
+      <option name="MAIN_CLASS_NAME" value="com.google.inject.AllTests" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ADDITIONAL_CLASS_PATH" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="wholeProject" />
+      </option>
+      <RunnerSettings RunnerId="Run" />
+      <ConfigurationWrapper RunnerId="Run" />
+    </tempConfiguration>
+    <configuration selected="false" default="true" type="Remote" factoryName="Remote">
+      <option name="USE_SOCKET_TRANSPORT" value="true" />
+      <option name="SERVER_MODE" value="false" />
+      <option name="SHMEM_ADDRESS" value="javadebug" />
+      <option name="HOST" value="localhost" />
+      <option name="PORT" value="5005" />
+    </configuration>
+    <configuration selected="false" default="true" type="JUnit" factoryName="JUnit">
+      <module name="" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <option name="PACKAGE_NAME" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="METHOD_NAME" />
+      <option name="TEST_OBJECT" value="class" />
+      <option name="VM_PARAMETERS" />
+      <option name="PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ADDITIONAL_CLASS_PATH" />
+      <option name="TEST_SEARCH_SCOPE">
+        <value defaultName="wholeProject" />
+      </option>
+    </configuration>
+    <configuration selected="false" default="true" type="Application" factoryName="Application">
+      <option name="MAIN_CLASS_NAME" />
+      <option name="VM_PARAMETERS" />
+      <option name="PROGRAM_PARAMETERS" />
+      <option name="WORKING_DIRECTORY" value="$PROJECT_DIR$" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+      <module name="" />
+    </configuration>
+    <configuration selected="false" default="true" type="Applet" factoryName="Applet">
+      <module name="" />
+      <option name="MAIN_CLASS_NAME" />
+      <option name="HTML_FILE_NAME" />
+      <option name="HTML_USED" value="false" />
+      <option name="WIDTH" value="400" />
+      <option name="HEIGHT" value="300" />
+      <option name="POLICY_FILE" value="$APPLICATION_HOME_DIR$/bin/appletviewer.policy" />
+      <option name="VM_PARAMETERS" />
+      <option name="ALTERNATIVE_JRE_PATH_ENABLED" value="false" />
+      <option name="ALTERNATIVE_JRE_PATH" />
+    </configuration>
+  </component>
+  <component name="SelectInManager" />
+  <component name="StructuralSearchPlugin" />
+  <component name="StructureViewFactory">
+    <option name="AUTOSCROLL_MODE" value="true" />
+    <option name="AUTOSCROLL_FROM_SOURCE" value="false" />
+    <option name="ACTIVE_ACTIONS" value="" />
+  </component>
+  <component name="SvnChangesBrowserSettings">
+    <option name="USE_AUTHOR_FIELD" value="true" />
+    <option name="AUTHOR" value="" />
+    <option name="LOCATION" value="" />
+    <option name="USE_PROJECT_SETTINGS" value="true" />
+    <option name="USE_ALTERNATE_LOCATION" value="false" />
+  </component>
+  <component name="SvnConfiguration">
+    <option name="USER" value="" />
+    <option name="PASSWORD" value="" />
+    <option name="PROCESS_UNRESOLVED" value="false" />
+  </component>
+  <component name="TodoView" selected-index="0">
+    <todo-panel id="selected-file">
+      <are-packages-shown value="false" />
+      <are-modules-shown value="false" />
+      <flatten-packages value="false" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+    <todo-panel id="all">
+      <are-packages-shown value="true" />
+      <are-modules-shown value="false" />
+      <flatten-packages value="false" />
+      <is-autoscroll-to-source value="true" />
+    </todo-panel>
+  </component>
+  <component name="ToolWindowManager">
+    <frame x="0" y="0" width="1920" height="1154" extended-state="6" />
+    <editor active="false" />
+    <layout>
+      <window_info id="CVS" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="8" />
+      <window_info id="Mach" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="9" />
+      <window_info id="TODO" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="7" />
+      <window_info id="Project" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.13763441" order="0" />
+      <window_info id="Find" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.29640427" order="1" />
+      <window_info id="Structure" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.16236559" order="1" />
+      <window_info id="Messages" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.35568514" order="10" />
+      <window_info id="Inspection" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.4" order="6" />
+      <window_info id="Profile" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.32911393" order="13" />
+      <window_info id="Module Dependencies" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="3" />
+      <window_info id="Dependency Viewer" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="11" />
+      <window_info id="Favorites" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="4" />
+      <window_info id="Ant Build" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.14623655" order="1" />
+      <window_info id="Run" active="true" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="true" weight="0.29154518" order="2" />
+      <window_info id="Hierarchy" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
+      <window_info id="File View" active="false" anchor="right" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="6" />
+      <window_info id="Debug" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.3265306" order="4" />
+      <window_info id="Commander" active="false" anchor="right" auto_hide="false" internal_type="sliding" type="sliding" visible="false" weight="0.39978448" order="0" />
+      <window_info id="Version Control" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.3291262" order="12" />
+      <window_info id="Web" active="false" anchor="left" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="2" />
+      <window_info id="Message" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.33" order="0" />
+      <window_info id="EJB" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="3" />
+      <window_info id="Dependencies" active="false" anchor="right" auto_hide="false" internal_type="docked" type="floating" visible="false" weight="0.33" order="5" />
+      <window_info id="Cvs" active="false" anchor="bottom" auto_hide="false" internal_type="docked" type="docked" visible="false" weight="0.25" order="5" />
+    </layout>
+  </component>
+  <component name="VCS.FileViewConfiguration">
+    <option name="SELECTED_STATUSES" value="DEFAULT" />
+    <option name="SELECTED_COLUMNS" value="DEFAULT" />
+    <option name="SHOW_FILTERS" value="true" />
+    <option name="CUSTOMIZE_VIEW" value="true" />
+    <option name="SHOW_FILE_HISTORY_AS_TREE" value="true" />
+  </component>
+  <component name="VcsManagerConfiguration">
+    <option name="CHECK_CODE_SMELLS_BEFORE_PROJECT_COMMIT" value="true" />
+    <option name="PUT_FOCUS_INTO_COMMENT" value="false" />
+    <option name="FORCE_NON_EMPTY_COMMENT" value="false" />
+    <option name="LAST_COMMIT_MESSAGE" />
+    <option name="SAVE_LAST_COMMIT_MESSAGE" value="true" />
+    <option name="CHECKIN_DIALOG_SPLITTER_PROPORTION" value="0.8" />
+    <option name="OPTIMIZE_IMPORTS_BEFORE_PROJECT_COMMIT" value="false" />
+    <option name="OPTIMIZE_IMPORTS_BEFORE_FILE_COMMIT" value="false" />
+    <option name="REFORMAT_BEFORE_PROJECT_COMMIT" value="false" />
+    <option name="REFORMAT_BEFORE_FILE_COMMIT" value="false" />
+    <option name="FILE_HISTORY_DIALOG_COMMENTS_SPLITTER_PROPORTION" value="0.8" />
+    <option name="FILE_HISTORY_DIALOG_SPLITTER_PROPORTION" value="0.5" />
+    <option name="ERROR_OCCURED" value="false" />
+    <option name="ACTIVE_VCS_NAME" />
+    <option name="UPDATE_GROUP_BY_PACKAGES" value="false" />
+    <option name="SHOW_FILE_HISTORY_AS_TREE" value="false" />
+    <option name="FILE_HISTORY_SPLITTER_PROPORTION" value="0.6" />
+  </component>
+  <component name="antWorkspaceConfiguration">
+    <option name="IS_AUTOSCROLL_TO_SOURCE" value="false" />
+    <option name="FILTER_TARGETS" value="false" />
+  </component>
+  <component name="editorHistoryManager">
+    <entry file="file://$PROJECT_DIR$/test/com/google/inject/StaticInjectionTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="18" column="0" selection-start="625" selection-end="625" vertical-scroll-proportion="0.09550562">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/Key.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="0" column="0" selection-start="0" selection-end="0" vertical-scroll-proportion="0.0">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/Strings.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="23" column="13" selection-start="717" selection-end="717" vertical-scroll-proportion="0.21488763">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/ReferenceType.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="25" column="12" selection-start="810" selection-end="810" vertical-scroll-proportion="0.26264045">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/com/google/inject/util/ReferenceMapTestSuite.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="37" column="13" selection-start="1120" selection-end="1120" vertical-scroll-proportion="-3.414326">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/com/google/inject/util/ReferenceMapTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="33" column="13" selection-start="1012" selection-end="1012" vertical-scroll-proportion="0.28651685">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/ReferenceMap.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="59" column="13" selection-start="2382" selection-end="2382" vertical-scroll-proportion="-11.98736">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/FinalizablePhantomReference.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="28" column="22" selection-start="980" selection-end="980" vertical-scroll-proportion="0.33426967">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/FinalizableReference.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="24" column="10" selection-start="817" selection-end="817" vertical-scroll-proportion="0.23876405">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/com/google/inject/util/FinalizableReferenceQueueTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="23" column="13" selection-start="726" selection-end="726" vertical-scroll-proportion="0.21488763">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/FinalizableSoftReference.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="27" column="22" selection-start="971" selection-end="971" vertical-scroll-proportion="0.31039324">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/FinalizableWeakReference.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="0" column="0" selection-start="0" selection-end="596" vertical-scroll-proportion="0.0">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file:///usr/local/client/2/google3/java/com/google/common/base/Function.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="32" column="0" selection-start="86" selection-end="1109" vertical-scroll-proportion="0.76404494">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/Function.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="37" column="17" selection-start="1505" selection-end="1505" vertical-scroll-proportion="0.5491573">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/util/ReferenceCache.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="35" column="22" selection-start="1184" selection-end="1184" vertical-scroll-proportion="0.28651685">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/com/google/inject/util/ReferenceCacheTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="31" column="13" selection-start="1046" selection-end="1046" vertical-scroll-proportion="-2.1741574">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/com/google/inject/SpringTest.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="98" column="23" selection-start="3419" selection-end="3419" vertical-scroll-proportion="0.42696628">
+          <folding>
+            <element signature="imports" expanded="true" />
+          </folding>
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/Context.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="25" column="17" selection-start="765" selection-end="765" vertical-scroll-proportion="0.26264045">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/InternalContext.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="80" column="0" selection-start="2270" selection-end="2270" vertical-scroll-proportion="1.5519663">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/src/com/google/inject/ContainerImpl.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="57" column="21" selection-start="1679" selection-end="1679" vertical-scroll-proportion="0.66853935">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+    <entry file="file://$PROJECT_DIR$/test/com/google/inject/AllTests.java">
+      <provider selected="true" editor-type-id="text-editor">
+        <state line="29" column="13" selection-start="964" selection-end="964" vertical-scroll-proportion="0.21488763">
+          <folding />
+        </state>
+      </provider>
+    </entry>
+  </component>
+</project>
+
diff --git a/javadoc/allclasses-frame.html b/javadoc/allclasses-frame.html
new file mode 100644
index 0000000000..e7e322913d
--- /dev/null
+++ b/javadoc/allclasses-frame.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+All Classes (Guice 1.0 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="com/google/inject/Container.html" title="interface in com.google.inject" target="classFrame"><I>Container</I></A>
+<BR>
+<A HREF="com/google/inject/ContainerBuilder.html" title="class in com.google.inject" target="classFrame">ContainerBuilder</A>
+<BR>
+<A HREF="com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject" target="classFrame"><I>ContainerBuilder.Command</I></A>
+<BR>
+<A HREF="com/google/inject/Context.html" title="interface in com.google.inject" target="classFrame"><I>Context</I></A>
+<BR>
+<A HREF="com/google/inject/DependencyException.html" title="class in com.google.inject" target="classFrame">DependencyException</A>
+<BR>
+<A HREF="com/google/inject/Factory.html" title="interface in com.google.inject" target="classFrame"><I>Factory</I></A>
+<BR>
+<A HREF="com/google/inject/Inject.html" title="annotation in com.google.inject" target="classFrame">Inject</A>
+<BR>
+<A HREF="com/google/inject/Scope.html" title="enum in com.google.inject" target="classFrame">Scope</A>
+<BR>
+<A HREF="com/google/inject/Scope.Strategy.html" title="interface in com.google.inject" target="classFrame"><I>Scope.Strategy</I></A>
+<BR>
+<A HREF="com/google/inject/Scoped.html" title="annotation in com.google.inject" target="classFrame">Scoped</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
diff --git a/javadoc/allclasses-noframe.html b/javadoc/allclasses-noframe.html
new file mode 100644
index 0000000000..93d155cf15
--- /dev/null
+++ b/javadoc/allclasses-noframe.html
@@ -0,0 +1,48 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+All Classes (Guice 1.0 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameHeadingFont">
+<B>All Classes</B></FONT>
+<BR>
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT CLASS="FrameItemFont"><A HREF="com/google/inject/Container.html" title="interface in com.google.inject"><I>Container</I></A>
+<BR>
+<A HREF="com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<BR>
+<A HREF="com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject"><I>ContainerBuilder.Command</I></A>
+<BR>
+<A HREF="com/google/inject/Context.html" title="interface in com.google.inject"><I>Context</I></A>
+<BR>
+<A HREF="com/google/inject/DependencyException.html" title="class in com.google.inject">DependencyException</A>
+<BR>
+<A HREF="com/google/inject/Factory.html" title="interface in com.google.inject"><I>Factory</I></A>
+<BR>
+<A HREF="com/google/inject/Inject.html" title="annotation in com.google.inject">Inject</A>
+<BR>
+<A HREF="com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>
+<BR>
+<A HREF="com/google/inject/Scope.Strategy.html" title="interface in com.google.inject"><I>Scope.Strategy</I></A>
+<BR>
+<A HREF="com/google/inject/Scoped.html" title="annotation in com.google.inject">Scoped</A>
+<BR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/Container.html b/javadoc/com/google/inject/Container.html
new file mode 100644
index 0000000000..401f5792ee
--- /dev/null
+++ b/javadoc/com/google/inject/Container.html
@@ -0,0 +1,419 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:55 PDT 2006 -->
+<TITLE>
+Container (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.Container interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Container (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Container.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Container.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Interface Container</H2>
+<HR>
+<DL>
+<DT><PRE>public interface <B>Container</B></DL>
+</PRE>
+
+<P>
+Injects dependencies into constructors, methods and fields annotated with
+ <A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><CODE>Inject</CODE></A>. Immutable.
+
+ <p>When injecting a method or constructor, you can additionally annotate
+ its parameters with <A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><CODE>Inject</CODE></A> and specify a dependency name. When a
+ parameter has no annotation, the container uses the name from the method or
+ constructor's <A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><CODE>Inject</CODE></A> annotation respectively.
+
+ <p>For example:
+
+ <pre>
+  class Foo {
+
+    // Inject the int constant named "i".
+    &#64;Inject("i") int i;
+
+    // Inject the default implementation of Bar and the String constant
+    // named "s".
+    &#64;Inject Foo(Bar bar, @Inject("s") String s) {
+      ...
+    }
+
+    // Inject the default implementation of Baz and the Bob implementation
+    // named "foo".
+    &#64;Inject void initialize(Baz baz, @Inject("foo") Bob bob) {
+      ...
+    }
+
+    // Inject the default implementation of Tee.
+    &#64;Inject void setTee(Tee tee) {
+      ...
+    }
+  }
+ </pre>
+
+ <p>To create and inject an instance of <code>Foo</code>:
+
+ <pre>
+  Container c = ...;
+  Foo foo = c.inject(Foo.class);
+ </pre>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>crazybob@google.com (Bob Lee)</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><CODE>ContainerBuilder</CODE></A></DL>
+<HR>
+
+<P>
+<!-- =========== FIELD SUMMARY =========== -->
+
+<A NAME="field_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Field Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Container.html#DEFAULT_NAME">DEFAULT_NAME</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Default dependency name.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; T</CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Container.html#getInstance(java.lang.Class)">getInstance</A></B>(java.lang.Class&lt;T&gt;&nbsp;type)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>getInstance(type,
+ DEFAULT_NAME)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; T</CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Container.html#getInstance(java.lang.Class, java.lang.String)">getInstance</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+            java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets an instance of the given dependency which was declared in
+ <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><CODE>ContainerBuilder</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; T</CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Container.html#inject(java.lang.Class)">inject</A></B>(java.lang.Class&lt;T&gt;&nbsp;implementation)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates and injects a new instance of type <code>implementation</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Container.html#inject(java.lang.Object)">inject</A></B>(java.lang.Object&nbsp;o)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Injects dependencies into the fields and methods of an existing object.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Container.html#removeScopeStrategy()">removeScopeStrategy</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Removes the scope strategy for the current thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Container.html#setScopeStrategy(com.google.inject.Scope.Strategy)">setScopeStrategy</A></B>(<A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject">Scope.Strategy</A>&nbsp;scopeStrategy)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Sets the scope strategy for the current thread.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ FIELD DETAIL =========== -->
+
+<A NAME="field_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Field Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DEFAULT_NAME"><!-- --></A><H3>
+DEFAULT_NAME</H3>
+<PRE>
+static final java.lang.String <B>DEFAULT_NAME</B></PRE>
+<DL>
+<DD>Default dependency name.
+<P>
+<DL>
+<DT><B>See Also:</B><DD><A HREF="../../../constant-values.html#com.google.inject.Container.DEFAULT_NAME">Constant Field Values</A></DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="inject(java.lang.Object)"><!-- --></A><H3>
+inject</H3>
+<PRE>
+void <B>inject</B>(java.lang.Object&nbsp;o)</PRE>
+<DL>
+<DD>Injects dependencies into the fields and methods of an existing object.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="inject(java.lang.Class)"><!-- --></A><H3>
+inject</H3>
+<PRE>
+&lt;T&gt; T <B>inject</B>(java.lang.Class&lt;T&gt;&nbsp;implementation)</PRE>
+<DL>
+<DD>Creates and injects a new instance of type <code>implementation</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInstance(java.lang.Class, java.lang.String)"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+&lt;T&gt; T <B>getInstance</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                  java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Gets an instance of the given dependency which was declared in
+ <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><CODE>ContainerBuilder</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getInstance(java.lang.Class)"><!-- --></A><H3>
+getInstance</H3>
+<PRE>
+&lt;T&gt; T <B>getInstance</B>(java.lang.Class&lt;T&gt;&nbsp;type)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>getInstance(type,
+ DEFAULT_NAME)</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="setScopeStrategy(com.google.inject.Scope.Strategy)"><!-- --></A><H3>
+setScopeStrategy</H3>
+<PRE>
+void <B>setScopeStrategy</B>(<A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject">Scope.Strategy</A>&nbsp;scopeStrategy)</PRE>
+<DL>
+<DD>Sets the scope strategy for the current thread.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="removeScopeStrategy()"><!-- --></A><H3>
+removeScopeStrategy</H3>
+<PRE>
+void <B>removeScopeStrategy</B>()</PRE>
+<DL>
+<DD>Removes the scope strategy for the current thread.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV CLASS&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Container.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Container.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;<A HREF="#field_summary">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#field_detail">FIELD</A>&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/ContainerBuilder.Command.html b/javadoc/com/google/inject/ContainerBuilder.Command.html
new file mode 100644
index 0000000000..d6e73f8bc0
--- /dev/null
+++ b/javadoc/com/google/inject/ContainerBuilder.Command.html
@@ -0,0 +1,208 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+ContainerBuilder.Command (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.ContainerBuilder.Command interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ContainerBuilder.Command (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Context.html" title="interface in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/ContainerBuilder.Command.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ContainerBuilder.Command.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Interface ContainerBuilder.Command</H2>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static interface <B>ContainerBuilder.Command</B></DL>
+</PRE>
+
+<P>
+Implemented by classes which participate in building a container.
+<P>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;void</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.Command.html#build(com.google.inject.ContainerBuilder)">build</A></B>(<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>&nbsp;builder)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contributes factories to the given builder.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="build(com.google.inject.ContainerBuilder)"><!-- --></A><H3>
+build</H3>
+<PRE>
+void <B>build</B>(<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>&nbsp;builder)</PRE>
+<DL>
+<DD>Contributes factories to the given builder.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>builder</CODE> - </DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Context.html" title="interface in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/ContainerBuilder.Command.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ContainerBuilder.Command.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/ContainerBuilder.html b/javadoc/com/google/inject/ContainerBuilder.html
new file mode 100644
index 0000000000..7b0c78ac6c
--- /dev/null
+++ b/javadoc/com/google/inject/ContainerBuilder.html
@@ -0,0 +1,1000 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:55 PDT 2006 -->
+<TITLE>
+ContainerBuilder (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.ContainerBuilder class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="ContainerBuilder (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/ContainerBuilder.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ContainerBuilder.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Class ContainerBuilder</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.google.inject.ContainerBuilder</B>
+</PRE>
+<HR>
+<DL>
+<DT><PRE>public final class <B>ContainerBuilder</B><DT>extends java.lang.Object</DL>
+</PRE>
+
+<P>
+Builds a dependency injection <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A>. The combination of
+ dependency type and name uniquely identifies a dependency mapping; you can
+ use the same name for two different types. Not safe for concurrent use.
+
+ <p>Adds the following factories by default:
+
+ <ul>
+   <li>Injects the current <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A>.
+   <li>Injects the <CODE>Logger</CODE> for the injected member's declaring class.
+ </ul>
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>crazybob@google.com (Bob Lee)</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject">ContainerBuilder.Command</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Implemented by classes which participate in building a container.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#ContainerBuilder()">ContainerBuilder</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Constructs a new builder.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, boolean)">constant</A></B>(java.lang.String&nbsp;name,
+         boolean&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a constant value to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, char)">constant</A></B>(java.lang.String&nbsp;name,
+         char&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a constant value to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, java.lang.Class)">constant</A></B>(java.lang.String&nbsp;name,
+         java.lang.Class&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a class to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, double)">constant</A></B>(java.lang.String&nbsp;name,
+         double&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a constant value to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;E extends java.lang.Enum&lt;E&gt;&gt; 
+<BR>
+<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, E)">constant</A></B>(java.lang.String&nbsp;name,
+         E&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps an enum to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, float)">constant</A></B>(java.lang.String&nbsp;name,
+         float&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a constant value to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, int)">constant</A></B>(java.lang.String&nbsp;name,
+         int&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a constant value to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, long)">constant</A></B>(java.lang.String&nbsp;name,
+         long&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a constant value to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, short)">constant</A></B>(java.lang.String&nbsp;name,
+         short&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a constant value to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#constant(java.lang.String, java.lang.String)">constant</A></B>(java.lang.String&nbsp;name,
+         java.lang.String&nbsp;value)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a constant value to the given name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#contains(java.lang.Class)">contains</A></B>(java.lang.Class&lt;?&gt;&nbsp;type)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>contains(type,
+ Container.DEFAULT_NAME)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#contains(java.lang.Class, java.lang.String)">contains</A></B>(java.lang.Class&lt;?&gt;&nbsp;type,
+         java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns true if this builder contains a mapping for the given type and
+ name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject">Container</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#create(boolean)">create</A></B>(boolean&nbsp;loadSingletons)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates a <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> instance.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, type)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.Class)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        java.lang.Class&lt;? extends T&gt;&nbsp;implementation)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, implementation)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.Class, com.google.inject.Scope)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        java.lang.Class&lt;? extends T&gt;&nbsp;implementation,
+        <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, implementation, scope)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, com.google.inject.Factory)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        <A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject">Factory</A>&lt;? extends T&gt;&nbsp;factory)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, factory, Scope.DEFAULT)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, com.google.inject.Factory, com.google.inject.Scope)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        <A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject">Factory</A>&lt;? extends T&gt;&nbsp;factory,
+        <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, factory, scope)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, com.google.inject.Scope)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, type, scope)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>factory(type, name, type)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        java.lang.String&nbsp;name,
+        java.lang.Class&lt;? extends T&gt;&nbsp;implementation)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps an implementation class to a given dependency type and name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class, com.google.inject.Scope)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        java.lang.String&nbsp;name,
+        java.lang.Class&lt;? extends T&gt;&nbsp;implementation,
+        <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps an implementation class to a given dependency type and name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, com.google.inject.Factory)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        java.lang.String&nbsp;name,
+        <A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject">Factory</A>&lt;? extends T&gt;&nbsp;factory)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>factory(type, name, factory,
+ Scope.DEFAULT)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, com.google.inject.Factory, com.google.inject.Scope)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        java.lang.String&nbsp;name,
+        <A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject">Factory</A>&lt;? extends T&gt;&nbsp;factory,
+        <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Maps a factory to a given dependency type and name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, com.google.inject.Scope)">factory</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+        java.lang.String&nbsp;name,
+        <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Convenience method.&nbsp;Equivalent to <code>factory(type, name, type,
+ scope)</code>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/ContainerBuilder.html#injectStatics(java.lang.Class...)">injectStatics</A></B>(java.lang.Class&lt;?&gt;...&nbsp;types)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Upon creation, the <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> will inject static fields and methods
+ into the given classes.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="ContainerBuilder()"><!-- --></A><H3>
+ContainerBuilder</H3>
+<PRE>
+public <B>ContainerBuilder</B>()</PRE>
+<DL>
+<DD>Constructs a new builder.
+<P>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="factory(java.lang.Class, java.lang.String, com.google.inject.Factory, com.google.inject.Scope)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    java.lang.String&nbsp;name,
+                                    <A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject">Factory</A>&lt;? extends T&gt;&nbsp;factory,
+                                    <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</PRE>
+<DL>
+<DD>Maps a factory to a given dependency type and name.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - of dependency<DD><CODE>name</CODE> - of dependency<DD><CODE>factory</CODE> - creates objects to inject<DD><CODE>scope</CODE> - scope of injected instances
+<DT><B>Returns:</B><DD>this builder</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, com.google.inject.Factory, com.google.inject.Scope)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    <A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject">Factory</A>&lt;? extends T&gt;&nbsp;factory,
+                                    <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, factory, scope)</code>.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, com.google.inject.Factory, com.google.inject.Scope)"><CODE>factory(Class, String, Factory, Scope)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, java.lang.String, com.google.inject.Factory)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    java.lang.String&nbsp;name,
+                                    <A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject">Factory</A>&lt;? extends T&gt;&nbsp;factory)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type, name, factory,
+ Scope.DEFAULT)</code>.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, com.google.inject.Factory, com.google.inject.Scope)"><CODE>factory(Class, String, Factory, Scope)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, com.google.inject.Factory)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    <A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject">Factory</A>&lt;? extends T&gt;&nbsp;factory)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, factory, Scope.DEFAULT)</code>.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, com.google.inject.Factory, com.google.inject.Scope)"><CODE>factory(Class, String, Factory, Scope)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, java.lang.String, java.lang.Class, com.google.inject.Scope)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    java.lang.String&nbsp;name,
+                                    java.lang.Class&lt;? extends T&gt;&nbsp;implementation,
+                                    <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</PRE>
+<DL>
+<DD>Maps an implementation class to a given dependency type and name. Creates
+ instances using the container, recursively injecting dependencies.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - of dependency<DD><CODE>name</CODE> - of dependency<DD><CODE>implementation</CODE> - class<DD><CODE>scope</CODE> - scope of injected instances
+<DT><B>Returns:</B><DD>this builder</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, java.lang.String, java.lang.Class)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    java.lang.String&nbsp;name,
+                                    java.lang.Class&lt;? extends T&gt;&nbsp;implementation)</PRE>
+<DL>
+<DD>Maps an implementation class to a given dependency type and name. Creates
+ instances using the container, recursively injecting dependencies.
+
+ <p>Sets scope to value from <A HREF="../../../com/google/inject/Scoped.html" title="annotation in com.google.inject"><CODE>Scoped</CODE></A> annotation on the
+ implementation class. Defaults to <A HREF="../../../com/google/inject/Scope.html#DEFAULT"><CODE>Scope.DEFAULT</CODE></A> if no annotation
+ is found.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>type</CODE> - of dependency<DD><CODE>name</CODE> - of dependency<DD><CODE>implementation</CODE> - class
+<DT><B>Returns:</B><DD>this builder</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, java.lang.Class)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    java.lang.Class&lt;? extends T&gt;&nbsp;implementation)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, implementation)</code>.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class)"><CODE>factory(Class, String, Class)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, type)</code>.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class)"><CODE>factory(Class, String, Class)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, java.lang.String)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type, name, type)</code>.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class)"><CODE>factory(Class, String, Class)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, java.lang.Class, com.google.inject.Scope)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    java.lang.Class&lt;? extends T&gt;&nbsp;implementation,
+                                    <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, implementation, scope)</code>.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class, com.google.inject.Scope)"><CODE>factory(Class, String, Class, Scope)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, com.google.inject.Scope)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, type, scope)</code>.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class, com.google.inject.Scope)"><CODE>factory(Class, String, Class, Scope)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="factory(java.lang.Class, java.lang.String, com.google.inject.Scope)"><!-- --></A><H3>
+factory</H3>
+<PRE>
+public &lt;T&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>factory</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                                    java.lang.String&nbsp;name,
+                                    <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&nbsp;scope)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type, name, type,
+ scope)</code>.
+<P>
+<DD><DL>
+<DT><B>See Also:</B><DD><A HREF="../../../com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class, com.google.inject.Scope)"><CODE>factory(Class, String, Class, Scope)</CODE></A></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String, java.lang.String)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                 java.lang.String&nbsp;value)</PRE>
+<DL>
+<DD>Maps a constant value to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String, int)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                 int&nbsp;value)</PRE>
+<DL>
+<DD>Maps a constant value to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String, long)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                 long&nbsp;value)</PRE>
+<DL>
+<DD>Maps a constant value to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String, boolean)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                 boolean&nbsp;value)</PRE>
+<DL>
+<DD>Maps a constant value to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String, double)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                 double&nbsp;value)</PRE>
+<DL>
+<DD>Maps a constant value to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String, float)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                 float&nbsp;value)</PRE>
+<DL>
+<DD>Maps a constant value to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String, short)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                 short&nbsp;value)</PRE>
+<DL>
+<DD>Maps a constant value to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String, char)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                 char&nbsp;value)</PRE>
+<DL>
+<DD>Maps a constant value to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String, java.lang.Class)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                 java.lang.Class&nbsp;value)</PRE>
+<DL>
+<DD>Maps a class to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="constant(java.lang.String,java.lang.Enum)"><!-- --></A><A NAME="constant(java.lang.String, E)"><!-- --></A><H3>
+constant</H3>
+<PRE>
+public &lt;E extends java.lang.Enum&lt;E&gt;&gt; <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>constant</B>(java.lang.String&nbsp;name,
+                                                               E&nbsp;value)</PRE>
+<DL>
+<DD>Maps an enum to the given name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="injectStatics(java.lang.Class...)"><!-- --></A><H3>
+injectStatics</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A> <B>injectStatics</B>(java.lang.Class&lt;?&gt;...&nbsp;types)</PRE>
+<DL>
+<DD>Upon creation, the <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> will inject static fields and methods
+ into the given classes.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>types</CODE> - for which static members will be injected</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contains(java.lang.Class, java.lang.String)"><!-- --></A><H3>
+contains</H3>
+<PRE>
+public boolean <B>contains</B>(java.lang.Class&lt;?&gt;&nbsp;type,
+                        java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns true if this builder contains a mapping for the given type and
+ name.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="contains(java.lang.Class)"><!-- --></A><H3>
+contains</H3>
+<PRE>
+public boolean <B>contains</B>(java.lang.Class&lt;?&gt;&nbsp;type)</PRE>
+<DL>
+<DD>Convenience method.&nbsp;Equivalent to <code>contains(type,
+ Container.DEFAULT_NAME)</code>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="create(boolean)"><!-- --></A><H3>
+create</H3>
+<PRE>
+public <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject">Container</A> <B>create</B>(boolean&nbsp;loadSingletons)</PRE>
+<DL>
+<DD>Creates a <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> instance. Injects static members for classes
+ which were registered using <A HREF="../../../com/google/inject/ContainerBuilder.html#injectStatics(java.lang.Class...)"><CODE>injectStatics(Class...)</CODE></A>.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>loadSingletons</CODE> - If true, the container will load all singletons
+  now. If false, the container will lazily load singletons. Eager loading
+  is appropriate for production use while lazy loading can speed
+  development.
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if called more than once</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/ContainerBuilder.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="ContainerBuilder.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/Context.html b/javadoc/com/google/inject/Context.html
new file mode 100644
index 0000000000..b2b0e1fb29
--- /dev/null
+++ b/javadoc/com/google/inject/Context.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Context (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.Context interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Context (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/DependencyException.html" title="class in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Context.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Context.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Interface Context</H2>
+<HR>
+<DL>
+<DT><PRE>public interface <B>Context</B></DL>
+</PRE>
+
+<P>
+Context of the current injection.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>crazybob@google.com (Bob Lee)</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject">Container</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Context.html#getContainer()">getContainer</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.reflect.Member</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Context.html#getMember()">getMember</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the field, method or constructor which is being injected.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Context.html#getName()">getName</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the name of the injection specified by <A HREF="../../../com/google/inject/Inject.html#value()"><CODE>Inject.value()</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject">Scope.Strategy</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Context.html#getScopeStrategy()">getScopeStrategy</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the current scope strategy.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.Class&lt;?&gt;</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Context.html#getType()">getType</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Gets the type of the field or parameter which is being injected.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="getContainer()"><!-- --></A><H3>
+getContainer</H3>
+<PRE>
+<A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject">Container</A> <B>getContainer</B>()</PRE>
+<DL>
+<DD>Gets the <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getScopeStrategy()"><!-- --></A><H3>
+getScopeStrategy</H3>
+<PRE>
+<A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject">Scope.Strategy</A> <B>getScopeStrategy</B>()</PRE>
+<DL>
+<DD>Gets the current scope strategy. See <A HREF="../../../com/google/inject/Container.html#setScopeStrategy(com.google.inject.Scope.Strategy)"><CODE>Container.setScopeStrategy(Scope.Strategy)</CODE></A>.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalStateException</CODE> - if no strategy has been set</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getMember()"><!-- --></A><H3>
+getMember</H3>
+<PRE>
+java.lang.reflect.Member <B>getMember</B>()</PRE>
+<DL>
+<DD>Gets the field, method or constructor which is being injected. Returns
+ <code>null</code> if the object currently being constructed is pre-loaded as
+ a singleton or requested from <A HREF="../../../com/google/inject/Container.html#getInstance(java.lang.Class)"><CODE>Container.getInstance(Class)</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getType()"><!-- --></A><H3>
+getType</H3>
+<PRE>
+java.lang.Class&lt;?&gt; <B>getType</B>()</PRE>
+<DL>
+<DD>Gets the type of the field or parameter which is being injected.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="getName()"><!-- --></A><H3>
+getName</H3>
+<PRE>
+java.lang.String <B>getName</B>()</PRE>
+<DL>
+<DD>Gets the name of the injection specified by <A HREF="../../../com/google/inject/Inject.html#value()"><CODE>Inject.value()</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/DependencyException.html" title="class in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Context.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Context.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/DependencyException.html b/javadoc/com/google/inject/DependencyException.html
new file mode 100644
index 0000000000..6479eff899
--- /dev/null
+++ b/javadoc/com/google/inject/DependencyException.html
@@ -0,0 +1,270 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+DependencyException (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.DependencyException class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="DependencyException (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Context.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/DependencyException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DependencyException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Class DependencyException</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.lang.Throwable
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.lang.Exception
+          <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.lang.RuntimeException
+              <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.google.inject.DependencyException</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public class <B>DependencyException</B><DT>extends java.lang.RuntimeException</DL>
+</PRE>
+
+<P>
+Thrown when a dependency is misconfigured.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>crazybob@google.com (Bob Lee)</DD>
+<DT><B>See Also:</B><DD><A HREF="../../../serialized-form.html#com.google.inject.DependencyException">Serialized Form</A></DL>
+<HR>
+
+<P>
+
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+
+<A NAME="constructor_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Constructor Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/DependencyException.html#DependencyException(java.lang.String)">DependencyException</A></B>(java.lang.String&nbsp;message)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/DependencyException.html#DependencyException(java.lang.String, java.lang.Throwable)">DependencyException</A></B>(java.lang.String&nbsp;message,
+                    java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/DependencyException.html#DependencyException(java.lang.Throwable)">DependencyException</A></B>(java.lang.Throwable&nbsp;cause)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Throwable"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Throwable</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+
+<A NAME="constructor_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Constructor Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DependencyException(java.lang.String)"><!-- --></A><H3>
+DependencyException</H3>
+<PRE>
+public <B>DependencyException</B>(java.lang.String&nbsp;message)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DependencyException(java.lang.String, java.lang.Throwable)"><!-- --></A><H3>
+DependencyException</H3>
+<PRE>
+public <B>DependencyException</B>(java.lang.String&nbsp;message,
+                           java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+</DL>
+<HR>
+
+<A NAME="DependencyException(java.lang.Throwable)"><!-- --></A><H3>
+DependencyException</H3>
+<PRE>
+public <B>DependencyException</B>(java.lang.Throwable&nbsp;cause)</PRE>
+<DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Context.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/DependencyException.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="DependencyException.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_summary">CONSTR</A>&nbsp;|&nbsp;<A HREF="#methods_inherited_from_class_java.lang.Throwable">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#constructor_detail">CONSTR</A>&nbsp;|&nbsp;METHOD</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/Factory.html b/javadoc/com/google/inject/Factory.html
new file mode 100644
index 0000000000..23d6bc9970
--- /dev/null
+++ b/javadoc/com/google/inject/Factory.html
@@ -0,0 +1,213 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Factory (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.Factory interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Factory (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/DependencyException.html" title="class in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Factory.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Factory.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Interface Factory&lt;T&gt;</H2>
+<HR>
+<DL>
+<DT><PRE>public interface <B>Factory&lt;T&gt;</B></DL>
+</PRE>
+
+<P>
+A custom factory. Creates objects which will be injected.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>crazybob@google.com (Bob Lee)</DD>
+</DL>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/Factory.html" title="type parameter in Factory">T</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Factory.html#create(com.google.inject.Context)">create</A></B>(<A HREF="../../../com/google/inject/Context.html" title="interface in com.google.inject">Context</A>&nbsp;context)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Creates an object to be injected.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="create(com.google.inject.Context)"><!-- --></A><H3>
+create</H3>
+<PRE>
+<A HREF="../../../com/google/inject/Factory.html" title="type parameter in Factory">T</A> <B>create</B>(<A HREF="../../../com/google/inject/Context.html" title="interface in com.google.inject">Context</A>&nbsp;context)
+         throws java.lang.Exception</PRE>
+<DL>
+<DD>Creates an object to be injected.
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>context</CODE> - of this injection
+<DT><B>Returns:</B><DD>instance to be injected
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE> - if unable to create object</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/DependencyException.html" title="class in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Factory.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Factory.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/Inject.html b/javadoc/com/google/inject/Inject.html
new file mode 100644
index 0000000000..40684e30f0
--- /dev/null
+++ b/javadoc/com/google/inject/Inject.html
@@ -0,0 +1,232 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Inject (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.Inject class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Inject (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Inject.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Inject.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;REQUIRED&nbsp;|&nbsp;<A HREF="#annotation_type_optional_element_summary">OPTIONAL</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Annotation Type Inject</H2>
+<HR>
+<DL>
+<DT><PRE><FONT SIZE="-1">@Target(value={METHOD,CONSTRUCTOR,FIELD,PARAMETER})
+@Retention(value=RUNTIME)
+</FONT>public @interface <B>Inject</B></DL>
+</PRE>
+
+<P>
+<p>Annotates members and parameters which should have their value[s]
+ injected.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>crazybob@google.com (Bob Lee)</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== ANNOTATION TYPE OPTIONAL MEMBER SUMMARY =========== -->
+
+<A NAME="annotation_type_optional_element_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Optional Element Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;boolean</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Inject.html#required()">required</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Whether or not injection is required.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;java.lang.String</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Inject.html#value()">value</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Dependency name.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+<A NAME="value()"><!-- --></A><H3>
+value</H3>
+<PRE>
+public abstract java.lang.String <B>value</B></PRE>
+<DL>
+<DD>Dependency name. Defaults to <A HREF="../../../com/google/inject/Container.html#DEFAULT_NAME"><CODE>Container.DEFAULT_NAME</CODE></A>.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+<DL>
+<DT><B>Default:</B><DD>"default"</DD>
+</DL>
+</DL>
+<HR>
+
+<A NAME="required()"><!-- --></A><H3>
+required</H3>
+<PRE>
+public abstract boolean <B>required</B></PRE>
+<DL>
+<DD>Whether or not injection is required. Applicable only to methods and
+ fields (not constructors or parameters).
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+<DL>
+<DT><B>Default:</B><DD>true</DD>
+</DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Inject.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Inject.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;REQUIRED&nbsp;|&nbsp;<A HREF="#annotation_type_optional_element_summary">OPTIONAL</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/Scope.Strategy.html b/javadoc/com/google/inject/Scope.Strategy.html
new file mode 100644
index 0000000000..dc0f6cf737
--- /dev/null
+++ b/javadoc/com/google/inject/Scope.Strategy.html
@@ -0,0 +1,297 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Scope.Strategy (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.Scope.Strategy interface">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Scope.Strategy (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Scoped.html" title="annotation in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Scope.Strategy.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Scope.Strategy.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Interface Scope.Strategy</H2>
+<DL>
+<DT><B>Enclosing class:</B><DD><A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A></DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public static interface <B>Scope.Strategy</B></DL>
+</PRE>
+
+<P>
+Pluggable scoping strategy. Enables users to provide custom
+ implementations of request, session, and wizard scopes. Implement and
+ pass to <A HREF="../../../com/google/inject/Container.html#setScopeStrategy(com.google.inject.Scope.Strategy)"><CODE>Container.setScopeStrategy(com.google.inject.Scope.Strategy)</CODE></A>.
+<P>
+
+<P>
+<HR>
+
+<P>
+
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; T</CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.Strategy.html#findInRequest(java.lang.Class, java.lang.String, java.util.concurrent.Callable)">findInRequest</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+              java.lang.String&nbsp;name,
+              java.util.concurrent.Callable&lt;? extends T&gt;&nbsp;factory)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds an object for the given type and name in the request scope.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; T</CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.Strategy.html#findInSession(java.lang.Class, java.lang.String, java.util.concurrent.Callable)">findInSession</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+              java.lang.String&nbsp;name,
+              java.util.concurrent.Callable&lt;? extends T&gt;&nbsp;factory)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds an object for the given type and name in the session scope.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="0" SUMMARY="">
+<TR ALIGN="right" VALIGN="">
+<TD NOWRAP><FONT SIZE="-1">
+<CODE>&lt;T&gt; T</CODE></FONT></TD>
+</TR>
+</TABLE>
+</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.Strategy.html#findInWizard(java.lang.Class, java.lang.String, java.util.concurrent.Callable)">findInWizard</A></B>(java.lang.Class&lt;T&gt;&nbsp;type,
+             java.lang.String&nbsp;name,
+             java.util.concurrent.Callable&lt;? extends T&gt;&nbsp;factory)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Finds an object for the given type and name in the wizard scope.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="findInRequest(java.lang.Class, java.lang.String, java.util.concurrent.Callable)"><!-- --></A><H3>
+findInRequest</H3>
+<PRE>
+&lt;T&gt; T <B>findInRequest</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                    java.lang.String&nbsp;name,
+                    java.util.concurrent.Callable&lt;? extends T&gt;&nbsp;factory)
+                throws java.lang.Exception</PRE>
+<DL>
+<DD>Finds an object for the given type and name in the request scope.
+ Creates a new object if necessary using the given factory.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findInSession(java.lang.Class, java.lang.String, java.util.concurrent.Callable)"><!-- --></A><H3>
+findInSession</H3>
+<PRE>
+&lt;T&gt; T <B>findInSession</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                    java.lang.String&nbsp;name,
+                    java.util.concurrent.Callable&lt;? extends T&gt;&nbsp;factory)
+                throws java.lang.Exception</PRE>
+<DL>
+<DD>Finds an object for the given type and name in the session scope.
+ Creates a new object if necessary using the given factory.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="findInWizard(java.lang.Class, java.lang.String, java.util.concurrent.Callable)"><!-- --></A><H3>
+findInWizard</H3>
+<PRE>
+&lt;T&gt; T <B>findInWizard</B>(java.lang.Class&lt;T&gt;&nbsp;type,
+                   java.lang.String&nbsp;name,
+                   java.util.concurrent.Callable&lt;? extends T&gt;&nbsp;factory)
+               throws java.lang.Exception</PRE>
+<DL>
+<DD>Finds an object for the given type and name in the wizard scope.
+ Creates a new object if necessary using the given factory.
+<P>
+<DD><DL>
+
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.Exception</CODE></DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Scoped.html" title="annotation in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Scope.Strategy.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Scope.Strategy.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/Scope.html b/javadoc/com/google/inject/Scope.html
new file mode 100644
index 0000000000..c0526ee7a4
--- /dev/null
+++ b/javadoc/com/google/inject/Scope.html
@@ -0,0 +1,418 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Scope (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.Scope class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Scope (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Scope.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Scope.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Enum Scope</H2>
+<PRE>
+java.lang.Object
+  <IMG SRC="../../../resources/inherit.gif" ALT="extended by ">java.lang.Enum&lt;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&gt;
+      <IMG SRC="../../../resources/inherit.gif" ALT="extended by "><B>com.google.inject.Scope</B>
+</PRE>
+<DL>
+<DT><B>All Implemented Interfaces:</B> <DD>java.io.Serializable, java.lang.Comparable&lt;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&gt;</DD>
+</DL>
+<HR>
+<DL>
+<DT><PRE>public enum <B>Scope</B><DT>extends java.lang.Enum&lt;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>&gt;</DL>
+</PRE>
+
+<P>
+Scope of an injected objects.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>crazybob</DD>
+</DL>
+<HR>
+
+<P>
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+
+<A NAME="nested_class_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Nested Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;interface</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject">Scope.Strategy</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Pluggable scoping strategy.</TD>
+</TR>
+</TABLE>
+&nbsp;<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+
+<A NAME="enum_constant_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Enum Constant Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.html#DEFAULT">DEFAULT</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;One instance per injection.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.html#REQUEST">REQUEST</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;One instance per request.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.html#SESSION">SESSION</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;One instance per session.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.html#SINGLETON">SINGLETON</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;One instance per container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.html#THREAD">THREAD</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;One instance per thread.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.html#WIZARD">WIZARD</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;One instance per wizard.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<!-- ========== METHOD SUMMARY =========== -->
+
+<A NAME="method_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Method Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.html#valueOf(java.lang.String)">valueOf</A></B>(java.lang.String&nbsp;name)</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the enum constant of this type with the specified name.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>static&nbsp;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>[]</CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Scope.html#values()">values</A></B>()</CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns an array containing the constants of this enum type, in
+the order they're declared.</TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Enum"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Enum</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>clone, compareTo, equals, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;<A NAME="methods_inherited_from_class_java.lang.Object"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left"><B>Methods inherited from class java.lang.Object</B></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD><CODE>finalize, getClass, notify, notifyAll, wait, wait, wait</CODE></TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+
+<A NAME="enum_constant_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Enum Constant Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="DEFAULT"><!-- --></A><H3>
+DEFAULT</H3>
+<PRE>
+public static final <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A> <B>DEFAULT</B></PRE>
+<DL>
+<DD>One instance per injection.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="SINGLETON"><!-- --></A><H3>
+SINGLETON</H3>
+<PRE>
+public static final <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A> <B>SINGLETON</B></PRE>
+<DL>
+<DD>One instance per container.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="THREAD"><!-- --></A><H3>
+THREAD</H3>
+<PRE>
+public static final <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A> <B>THREAD</B></PRE>
+<DL>
+<DD>One instance per thread.
+
+ <p><b>Note:</b> if a thread local object strongly references its <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A>, neither the <code>Container</code> nor the object will be
+ eligible for garbage collection, i.e. memory leak.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="REQUEST"><!-- --></A><H3>
+REQUEST</H3>
+<PRE>
+public static final <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A> <B>REQUEST</B></PRE>
+<DL>
+<DD>One instance per request.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="SESSION"><!-- --></A><H3>
+SESSION</H3>
+<PRE>
+public static final <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A> <B>SESSION</B></PRE>
+<DL>
+<DD>One instance per session.
+<P>
+<DL>
+</DL>
+</DL>
+<HR>
+
+<A NAME="WIZARD"><!-- --></A><H3>
+WIZARD</H3>
+<PRE>
+public static final <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A> <B>WIZARD</B></PRE>
+<DL>
+<DD>One instance per wizard.
+<P>
+<DL>
+</DL>
+</DL>
+
+<!-- ============ METHOD DETAIL ========== -->
+
+<A NAME="method_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Method Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="values()"><!-- --></A><H3>
+values</H3>
+<PRE>
+public static final <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>[] <B>values</B>()</PRE>
+<DL>
+<DD>Returns an array containing the constants of this enum type, in
+the order they're declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for(Scope c : Scope.values())
+        System.out.println(c);
+</pre>
+<P>
+<DD><DL>
+
+<DT><B>Returns:</B><DD>an array containing the constants of this enum type, in
+the order they're declared</DL>
+</DD>
+</DL>
+<HR>
+
+<A NAME="valueOf(java.lang.String)"><!-- --></A><H3>
+valueOf</H3>
+<PRE>
+public static <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A> <B>valueOf</B>(java.lang.String&nbsp;name)</PRE>
+<DL>
+<DD>Returns the enum constant of this type with the specified name.
+The string must match <I>exactly</I> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)
+<P>
+<DD><DL>
+<DT><B>Parameters:</B><DD><CODE>name</CODE> - the name of the enum constant to be returned.
+<DT><B>Returns:</B><DD>the enum constant with the specified name
+<DT><B>Throws:</B>
+<DD><CODE>java.lang.IllegalArgumentException</CODE> - if this enum type has no constant
+with the specified name</DL>
+</DD>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;<A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject"><B>NEXT CLASS</B></A></FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Scope.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Scope.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#nested_class_summary">NESTED</A>&nbsp;|&nbsp;<A HREF="#enum_constant_summary">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#enum_constant_detail">ENUM CONSTANTS</A>&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/Scoped.html b/javadoc/com/google/inject/Scoped.html
new file mode 100644
index 0000000000..cca83f759c
--- /dev/null
+++ b/javadoc/com/google/inject/Scoped.html
@@ -0,0 +1,212 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Scoped (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject.Scoped class">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Scoped (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Scoped.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Scoped.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#annotation_type_required_element_summary">REQUIRED</A>&nbsp;|&nbsp;OPTIONAL</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<!-- ======== START OF CLASS DATA ======== -->
+<H2>
+<FONT SIZE="-1">
+com.google.inject</FONT>
+<BR>
+Annotation Type Scoped</H2>
+<HR>
+<DL>
+<DT><PRE><FONT SIZE="-1">@Target(value=TYPE)
+@Retention(value=RUNTIME)
+</FONT>public @interface <B>Scoped</B></DL>
+</PRE>
+
+<P>
+Annotates a scoped implementation class.
+<P>
+
+<P>
+<DL>
+<DT><B>Author:</B></DT>
+  <DD>crazybob</DD>
+</DL>
+<HR>
+
+<P>
+<!-- =========== ANNOTATION TYPE REQUIRED MEMBER SUMMARY =========== -->
+
+<A NAME="annotation_type_required_element_summary"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Required Element Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
+<CODE>&nbsp;<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A></CODE></FONT></TD>
+<TD><CODE><B><A HREF="../../../com/google/inject/Scoped.html#value()">value</A></B></CODE>
+
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Scope.</TD>
+</TR>
+</TABLE>
+&nbsp;
+<P>
+
+<!-- ============ ANNOTATION TYPE MEMBER DETAIL =========== -->
+
+<A NAME="annotation_type_element_detail"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
+<B>Element Detail</B></FONT></TH>
+</TR>
+</TABLE>
+
+<A NAME="value()"><!-- --></A><H3>
+value</H3>
+<PRE>
+public abstract <A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A> <B>value</B></PRE>
+<DL>
+<DD>Scope.
+<P>
+<DD><DL>
+</DL>
+</DD>
+<DD><DL>
+</DL>
+</DL>
+<!-- ========= END OF CLASS DATA ========= -->
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;<A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject"><B>PREV CLASS</B></A>&nbsp;
+&nbsp;NEXT CLASS</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/Scoped.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="Scoped.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+<TR>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+  SUMMARY:&nbsp;<A HREF="#annotation_type_required_element_summary">REQUIRED</A>&nbsp;|&nbsp;OPTIONAL</FONT></TD>
+<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
+DETAIL:&nbsp;<A HREF="#annotation_type_element_detail">ELEMENT</A></FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/package-frame.html b/javadoc/com/google/inject/package-frame.html
new file mode 100644
index 0000000000..4d6daf244c
--- /dev/null
+++ b/javadoc/com/google/inject/package-frame.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+com.google.inject (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+
+</HEAD>
+
+<BODY BGCOLOR="white">
+<FONT size="+1" CLASS="FrameTitleFont">
+<A HREF="../../../com/google/inject/package-summary.html" target="classFrame">com.google.inject</A></FONT>
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Interfaces</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Container.html" title="interface in com.google.inject" target="classFrame"><I>Container</I></A>
+<BR>
+<A HREF="ContainerBuilder.Command.html" title="interface in com.google.inject" target="classFrame"><I>ContainerBuilder.Command</I></A>
+<BR>
+<A HREF="Context.html" title="interface in com.google.inject" target="classFrame"><I>Context</I></A>
+<BR>
+<A HREF="Factory.html" title="interface in com.google.inject" target="classFrame"><I>Factory</I></A>
+<BR>
+<A HREF="Scope.Strategy.html" title="interface in com.google.inject" target="classFrame"><I>Scope.Strategy</I></A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Classes</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="ContainerBuilder.html" title="class in com.google.inject" target="classFrame">ContainerBuilder</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Enums</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Scope.html" title="enum in com.google.inject" target="classFrame">Scope</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Exceptions</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="DependencyException.html" title="class in com.google.inject" target="classFrame">DependencyException</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+<TABLE BORDER="0" WIDTH="100%" SUMMARY="">
+<TR>
+<TD NOWRAP><FONT size="+1" CLASS="FrameHeadingFont">
+Annotation Types</FONT>&nbsp;
+<FONT CLASS="FrameItemFont">
+<BR>
+<A HREF="Inject.html" title="annotation in com.google.inject" target="classFrame">Inject</A>
+<BR>
+<A HREF="Scoped.html" title="annotation in com.google.inject" target="classFrame">Scoped</A></FONT></TD>
+</TR>
+</TABLE>
+
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/package-summary.html b/javadoc/com/google/inject/package-summary.html
new file mode 100644
index 0000000000..a8a039c396
--- /dev/null
+++ b/javadoc/com/google/inject/package-summary.html
@@ -0,0 +1,253 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+com.google.inject (Guice 1.0 API)
+</TITLE>
+
+<META NAME="keywords" CONTENT="com.google.inject package">
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="com.google.inject (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<H2>
+Package com.google.inject
+</H2>
+<i>Guice</i> (pronounced "juice").
+<P>
+<B>See:</B>
+<BR>
+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF="#package_description"><B>Description</B></A>
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Interface Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject">Container</A></B></TD>
+<TD>Injects dependencies into constructors, methods and fields annotated with
+ <A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><CODE>Inject</CODE></A>.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject">ContainerBuilder.Command</A></B></TD>
+<TD>Implemented by classes which participate in building a container.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Context.html" title="interface in com.google.inject">Context</A></B></TD>
+<TD>Context of the current injection.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject">Factory&lt;T&gt;</A></B></TD>
+<TD>A custom factory.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject">Scope.Strategy</A></B></TD>
+<TD>Pluggable scoping strategy.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A></B></TD>
+<TD>Builds a dependency injection <A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A>.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Enum Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A></B></TD>
+<TD>Scope of an injected objects.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Exception Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/DependencyException.html" title="class in com.google.inject">DependencyException</A></B></TD>
+<TD>Thrown when a dependency is misconfigured.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Annotation Types Summary</B></FONT></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject">Inject</A></B></TD>
+<TD>Annotates members and parameters which should have their value[s]
+ injected.</TD>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<TD WIDTH="15%"><B><A HREF="../../../com/google/inject/Scoped.html" title="annotation in com.google.inject">Scoped</A></B></TD>
+<TD>Annotates a scoped implementation class.</TD>
+</TR>
+</TABLE>
+&nbsp;
+
+<P>
+<A NAME="package_description"><!-- --></A><H2>
+Package com.google.inject Description
+</H2>
+
+<P>
+<i>Guice</i> (pronounced "juice"). A lightweight dependency injection
+ container. Features include:
+
+ <ul>
+   <li>constructor, method, and field injection</li>
+   <li>static method and field injection</li>
+   <li>circular reference support (including constructors if you depend upon
+    interfaces)</li>
+   <li>high performance</li>
+   <li>externalize what needs to be and no more</li>
+ </ul>
+<P>
+
+<P>
+<DL>
+</DL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV PACKAGE&nbsp;
+&nbsp;NEXT PACKAGE</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/package-summary.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-summary.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/com/google/inject/package-tree.html b/javadoc/com/google/inject/package-tree.html
new file mode 100644
index 0000000000..f7522177eb
--- /dev/null
+++ b/javadoc/com/google/inject/package-tree.html
@@ -0,0 +1,171 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+com.google.inject Class Hierarchy (Guice 1.0 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="com.google.inject Class Hierarchy (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For Package com.google.inject
+</H2>
+</CENTER>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><B>ContainerBuilder</B></A><LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">java.lang.Exception<UL>
+<LI TYPE="circle">java.lang.RuntimeException<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/DependencyException.html" title="class in com.google.inject"><B>DependencyException</B></A></UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/Container.html" title="interface in com.google.inject"><B>Container</B></A><LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject"><B>ContainerBuilder.Command</B></A><LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/Context.html" title="interface in com.google.inject"><B>Context</B></A><LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/Factory.html" title="interface in com.google.inject"><B>Factory</B></A>&lt;T&gt;<LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/Scope.Strategy.html" title="interface in com.google.inject"><B>Scope.Strategy</B></A></UL>
+<H2>
+Annotation Type Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/Scoped.html" title="annotation in com.google.inject"><B>Scoped</B></A> (implements java.lang.annotation.Annotation)
+<LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/Inject.html" title="annotation in com.google.inject"><B>Inject</B></A> (implements java.lang.annotation.Annotation)
+</UL>
+<H2>
+Enum Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
+<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="../../../com/google/inject/Scope.html" title="enum in com.google.inject"><B>Scope</B></A></UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="../../../index.html?com/google/inject/package-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="package-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="../../../allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/constant-values.html b/javadoc/constant-values.html
new file mode 100644
index 0000000000..3973d30a38
--- /dev/null
+++ b/javadoc/constant-values.html
@@ -0,0 +1,166 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Constant Field Values (Guice 1.0 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Constant Field Values (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Constant Field Values</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+<LI><A HREF="#com.google">com.google.*</A>
+</UL>
+
+<A NAME="com.google"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
+<TH ALIGN="left"><FONT SIZE="+2">
+com.google.*</FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<TABLE BORDER="1" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="3">com.google.inject.<A HREF="com/google/inject/Container.html" title="interface in com.google.inject">Container</A></TH>
+</TR>
+<TR BGCOLOR="white" CLASS="TableRowColor">
+<A NAME="com.google.inject.Container.DEFAULT_NAME"><!-- --></A><TD ALIGN="right"><FONT SIZE="-1">
+<CODE>public&nbsp;static&nbsp;final&nbsp;java.lang.String</CODE></FONT></TD>
+<TD ALIGN="left"><CODE><A HREF="com/google/inject/Container.html#DEFAULT_NAME">DEFAULT_NAME</A></CODE></TD>
+<TD ALIGN="right"><CODE>"default"</CODE></TD>
+</TR>
+</FONT></TD>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?constant-values.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="constant-values.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/deprecated-list.html b/javadoc/deprecated-list.html
new file mode 100644
index 0000000000..750d0577b7
--- /dev/null
+++ b/javadoc/deprecated-list.html
@@ -0,0 +1,138 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Deprecated List (Guice 1.0 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Deprecated List (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+<B>Deprecated API</B></H2>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+<B>Contents</B><UL>
+</UL>
+
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Deprecated</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?deprecated-list.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="deprecated-list.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/help-doc.html b/javadoc/help-doc.html
new file mode 100644
index 0000000000..ae6a859f4e
--- /dev/null
+++ b/javadoc/help-doc.html
@@ -0,0 +1,205 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+API Help (Guice 1.0 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="API Help (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+How This API Document Is Organized</H1>
+</CENTER>
+This API (Application Programming Interface) document has pages corresponding to the items in the navigation bar, described as follows.<H3>
+Package</H3>
+<BLOCKQUOTE>
+
+<P>
+Each package has a page that contains a list of its classes and interfaces, with a summary for each. This page can contain four categories:<UL>
+<LI>Interfaces (italic)<LI>Classes<LI>Enums<LI>Exceptions<LI>Errors<LI>Annotation Types</UL>
+</BLOCKQUOTE>
+<H3>
+Class/Interface</H3>
+<BLOCKQUOTE>
+
+<P>
+Each class, interface, nested class and nested interface has its own separate page. Each of these pages has three sections consisting of a class/interface description, summary tables, and detailed member descriptions:<UL>
+<LI>Class inheritance diagram<LI>Direct Subclasses<LI>All Known Subinterfaces<LI>All Known Implementing Classes<LI>Class/interface declaration<LI>Class/interface description
+<P>
+<LI>Nested Class Summary<LI>Field Summary<LI>Constructor Summary<LI>Method Summary
+<P>
+<LI>Field Detail<LI>Constructor Detail<LI>Method Detail</UL>
+Each summary entry contains the first sentence from the detailed description for that item. The summary entries are alphabetical, while the detailed descriptions are in the order they appear in the source code. This preserves the logical groupings established by the programmer.</BLOCKQUOTE>
+</BLOCKQUOTE>
+<H3>
+Annotation Type</H3>
+<BLOCKQUOTE>
+
+<P>
+Each annotation type has its own separate page with the following sections:<UL>
+<LI>Annotation Type declaration<LI>Annotation Type description<LI>Required Element Summary<LI>Optional Element Summary<LI>Element Detail</UL>
+</BLOCKQUOTE>
+</BLOCKQUOTE>
+<H3>
+Enum</H3>
+<BLOCKQUOTE>
+
+<P>
+Each enum has its own separate page with the following sections:<UL>
+<LI>Enum declaration<LI>Enum description<LI>Enum Constant Summary<LI>Enum Constant Detail</UL>
+</BLOCKQUOTE>
+<H3>
+Tree (Class Hierarchy)</H3>
+<BLOCKQUOTE>
+There is a <A HREF="overview-tree.html">Class Hierarchy</A> page for all packages, plus a hierarchy for each package. Each hierarchy page contains a list of classes and a list of interfaces. The classes are organized by inheritance structure starting with <code>java.lang.Object</code>. The interfaces do not inherit from <code>java.lang.Object</code>.<UL>
+<LI>When viewing the Overview page, clicking on "Tree" displays the hierarchy for all packages.<LI>When viewing a particular package, class or interface page, clicking "Tree" displays the hierarchy for only that package.</UL>
+</BLOCKQUOTE>
+<H3>
+Deprecated API</H3>
+<BLOCKQUOTE>
+The <A HREF="deprecated-list.html">Deprecated API</A> page lists all of the API that have been deprecated. A deprecated API is not recommended for use, generally due to improvements, and a replacement API is usually given. Deprecated APIs may be removed in future implementations.</BLOCKQUOTE>
+<H3>
+Index</H3>
+<BLOCKQUOTE>
+The <A HREF="index-all.html">Index</A> contains an alphabetic list of all classes, interfaces, constructors, methods, and fields.</BLOCKQUOTE>
+<H3>
+Prev/Next</H3>
+These links take you to the next or previous class, interface, package, or related page.<H3>
+Frames/No Frames</H3>
+These links show and hide the HTML frames.  All pages are available with or without frames.
+<P>
+<H3>
+Serialized Form</H3>
+Each serializable or externalizable class has a description of its serialization fields and methods. This information is of interest to re-implementors, not to developers using the API. While there is no link in the navigation bar, you can get to this information by going to any serialized class and clicking "Serialized Form" in the "See also" section of the class description.
+<P>
+<H3>
+Constant Field Values</H3>
+The <a href="constant-values.html">Constant Field Values</a> page lists the static final fields and their values.
+<P>
+<FONT SIZE="-1">
+<EM>
+This help file applies to API documentation generated using the standard doclet.</EM>
+</FONT>
+<BR>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Help</B></FONT>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?help-doc.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="help-doc.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/index-all.html b/javadoc/index-all.html
new file mode 100644
index 0000000000..3c205595ef
--- /dev/null
+++ b/javadoc/index-all.html
@@ -0,0 +1,337 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Index (Guice 1.0 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="./stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Index (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_V_">V</A> <HR>
+<A NAME="_B_"><!-- --></A><H2>
+<B>B</B></H2>
+<DL>
+<DT><A HREF="./com/google/inject/ContainerBuilder.Command.html#build(com.google.inject.ContainerBuilder)"><B>build(ContainerBuilder)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject">ContainerBuilder.Command</A>
+<DD>Contributes factories to the given builder.
+</DL>
+<HR>
+<A NAME="_C_"><!-- --></A><H2>
+<B>C</B></H2>
+<DL>
+<DT><A HREF="./com/google/inject/package-summary.html"><B>com.google.inject</B></A> - package com.google.inject<DD><i>Guice</i> (pronounced "juice").<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, java.lang.String)"><B>constant(String, String)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a constant value to the given name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, int)"><B>constant(String, int)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a constant value to the given name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, long)"><B>constant(String, long)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a constant value to the given name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, boolean)"><B>constant(String, boolean)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a constant value to the given name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, double)"><B>constant(String, double)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a constant value to the given name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, float)"><B>constant(String, float)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a constant value to the given name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, short)"><B>constant(String, short)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a constant value to the given name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, char)"><B>constant(String, char)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a constant value to the given name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, java.lang.Class)"><B>constant(String, Class)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a class to the given name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#constant(java.lang.String, E)"><B>constant(String, E)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps an enum to the given name.
+<DT><A HREF="./com/google/inject/Container.html" title="interface in com.google.inject"><B>Container</B></A> - Interface in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>Injects dependencies into constructors, methods and fields annotated with
+ <A HREF="./com/google/inject/Inject.html" title="annotation in com.google.inject"><CODE>Inject</CODE></A>.<DT><A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><B>ContainerBuilder</B></A> - Class in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>Builds a dependency injection <A HREF="./com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A>.<DT><A HREF="./com/google/inject/ContainerBuilder.html#ContainerBuilder()"><B>ContainerBuilder()</B></A> - 
+Constructor for class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Constructs a new builder.
+<DT><A HREF="./com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject"><B>ContainerBuilder.Command</B></A> - Interface in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>Implemented by classes which participate in building a container.<DT><A HREF="./com/google/inject/ContainerBuilder.html#contains(java.lang.Class, java.lang.String)"><B>contains(Class&lt;?&gt;, String)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Returns true if this builder contains a mapping for the given type and
+ name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#contains(java.lang.Class)"><B>contains(Class&lt;?&gt;)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>contains(type,
+ Container.DEFAULT_NAME)</code>.
+<DT><A HREF="./com/google/inject/Context.html" title="interface in com.google.inject"><B>Context</B></A> - Interface in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>Context of the current injection.<DT><A HREF="./com/google/inject/ContainerBuilder.html#create(boolean)"><B>create(boolean)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Creates a <A HREF="./com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> instance.
+<DT><A HREF="./com/google/inject/Factory.html#create(com.google.inject.Context)"><B>create(Context)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Factory.html" title="interface in com.google.inject">Factory</A>
+<DD>Creates an object to be injected.
+</DL>
+<HR>
+<A NAME="_D_"><!-- --></A><H2>
+<B>D</B></H2>
+<DL>
+<DT><A HREF="./com/google/inject/Container.html#DEFAULT_NAME"><B>DEFAULT_NAME</B></A> - 
+Static variable in interface com.google.inject.<A HREF="./com/google/inject/Container.html" title="interface in com.google.inject">Container</A>
+<DD>Default dependency name.
+<DT><A HREF="./com/google/inject/DependencyException.html" title="class in com.google.inject"><B>DependencyException</B></A> - Exception in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>Thrown when a dependency is misconfigured.<DT><A HREF="./com/google/inject/DependencyException.html#DependencyException(java.lang.String)"><B>DependencyException(String)</B></A> - 
+Constructor for exception com.google.inject.<A HREF="./com/google/inject/DependencyException.html" title="class in com.google.inject">DependencyException</A>
+<DD>&nbsp;
+<DT><A HREF="./com/google/inject/DependencyException.html#DependencyException(java.lang.String, java.lang.Throwable)"><B>DependencyException(String, Throwable)</B></A> - 
+Constructor for exception com.google.inject.<A HREF="./com/google/inject/DependencyException.html" title="class in com.google.inject">DependencyException</A>
+<DD>&nbsp;
+<DT><A HREF="./com/google/inject/DependencyException.html#DependencyException(java.lang.Throwable)"><B>DependencyException(Throwable)</B></A> - 
+Constructor for exception com.google.inject.<A HREF="./com/google/inject/DependencyException.html" title="class in com.google.inject">DependencyException</A>
+<DD>&nbsp;
+</DL>
+<HR>
+<A NAME="_F_"><!-- --></A><H2>
+<B>F</B></H2>
+<DL>
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, com.google.inject.Factory, com.google.inject.Scope)"><B>factory(Class&lt;T&gt;, String, Factory&lt;? extends T&gt;, Scope)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps a factory to a given dependency type and name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, com.google.inject.Factory, com.google.inject.Scope)"><B>factory(Class&lt;T&gt;, Factory&lt;? extends T&gt;, Scope)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, factory, scope)</code>.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, com.google.inject.Factory)"><B>factory(Class&lt;T&gt;, String, Factory&lt;? extends T&gt;)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type, name, factory,
+ Scope.DEFAULT)</code>.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, com.google.inject.Factory)"><B>factory(Class&lt;T&gt;, Factory&lt;? extends T&gt;)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, factory, Scope.DEFAULT)</code>.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class, com.google.inject.Scope)"><B>factory(Class&lt;T&gt;, String, Class&lt;? extends T&gt;, Scope)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps an implementation class to a given dependency type and name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, java.lang.Class)"><B>factory(Class&lt;T&gt;, String, Class&lt;? extends T&gt;)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Maps an implementation class to a given dependency type and name.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.Class)"><B>factory(Class&lt;T&gt;, Class&lt;? extends T&gt;)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, implementation)</code>.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class)"><B>factory(Class&lt;T&gt;)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, type)</code>.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String)"><B>factory(Class&lt;T&gt;, String)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type, name, type)</code>.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.Class, com.google.inject.Scope)"><B>factory(Class&lt;T&gt;, Class&lt;? extends T&gt;, Scope)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, implementation, scope)</code>.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, com.google.inject.Scope)"><B>factory(Class&lt;T&gt;, Scope)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type,
+ Container.DEFAULT_NAME, type, scope)</code>.
+<DT><A HREF="./com/google/inject/ContainerBuilder.html#factory(java.lang.Class, java.lang.String, com.google.inject.Scope)"><B>factory(Class&lt;T&gt;, String, Scope)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>factory(type, name, type,
+ scope)</code>.
+<DT><A HREF="./com/google/inject/Factory.html" title="interface in com.google.inject"><B>Factory</B></A>&lt;<A HREF="./com/google/inject/Factory.html" title="type parameter in Factory">T</A>&gt; - Interface in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>A custom factory.<DT><A HREF="./com/google/inject/Scope.Strategy.html#findInRequest(java.lang.Class, java.lang.String, java.util.concurrent.Callable)"><B>findInRequest(Class&lt;T&gt;, String, Callable&lt;? extends T&gt;)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Scope.Strategy.html" title="interface in com.google.inject">Scope.Strategy</A>
+<DD>Finds an object for the given type and name in the request scope.
+<DT><A HREF="./com/google/inject/Scope.Strategy.html#findInSession(java.lang.Class, java.lang.String, java.util.concurrent.Callable)"><B>findInSession(Class&lt;T&gt;, String, Callable&lt;? extends T&gt;)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Scope.Strategy.html" title="interface in com.google.inject">Scope.Strategy</A>
+<DD>Finds an object for the given type and name in the session scope.
+<DT><A HREF="./com/google/inject/Scope.Strategy.html#findInWizard(java.lang.Class, java.lang.String, java.util.concurrent.Callable)"><B>findInWizard(Class&lt;T&gt;, String, Callable&lt;? extends T&gt;)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Scope.Strategy.html" title="interface in com.google.inject">Scope.Strategy</A>
+<DD>Finds an object for the given type and name in the wizard scope.
+</DL>
+<HR>
+<A NAME="_G_"><!-- --></A><H2>
+<B>G</B></H2>
+<DL>
+<DT><A HREF="./com/google/inject/Context.html#getContainer()"><B>getContainer()</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Context.html" title="interface in com.google.inject">Context</A>
+<DD>Gets the <A HREF="./com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A>.
+<DT><A HREF="./com/google/inject/Container.html#getInstance(java.lang.Class, java.lang.String)"><B>getInstance(Class&lt;T&gt;, String)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Container.html" title="interface in com.google.inject">Container</A>
+<DD>Gets an instance of the given dependency which was declared in
+ <A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><CODE>ContainerBuilder</CODE></A>.
+<DT><A HREF="./com/google/inject/Container.html#getInstance(java.lang.Class)"><B>getInstance(Class&lt;T&gt;)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Container.html" title="interface in com.google.inject">Container</A>
+<DD>Convenience method.&nbsp;Equivalent to <code>getInstance(type,
+ DEFAULT_NAME)</code>.
+<DT><A HREF="./com/google/inject/Context.html#getMember()"><B>getMember()</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Context.html" title="interface in com.google.inject">Context</A>
+<DD>Gets the field, method or constructor which is being injected.
+<DT><A HREF="./com/google/inject/Context.html#getName()"><B>getName()</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Context.html" title="interface in com.google.inject">Context</A>
+<DD>Gets the name of the injection specified by <A HREF="./com/google/inject/Inject.html#value()"><CODE>Inject.value()</CODE></A>.
+<DT><A HREF="./com/google/inject/Context.html#getScopeStrategy()"><B>getScopeStrategy()</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Context.html" title="interface in com.google.inject">Context</A>
+<DD>Gets the current scope strategy.
+<DT><A HREF="./com/google/inject/Context.html#getType()"><B>getType()</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Context.html" title="interface in com.google.inject">Context</A>
+<DD>Gets the type of the field or parameter which is being injected.
+</DL>
+<HR>
+<A NAME="_I_"><!-- --></A><H2>
+<B>I</B></H2>
+<DL>
+<DT><A HREF="./com/google/inject/Container.html#inject(java.lang.Object)"><B>inject(Object)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Container.html" title="interface in com.google.inject">Container</A>
+<DD>Injects dependencies into the fields and methods of an existing object.
+<DT><A HREF="./com/google/inject/Container.html#inject(java.lang.Class)"><B>inject(Class&lt;T&gt;)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Container.html" title="interface in com.google.inject">Container</A>
+<DD>Creates and injects a new instance of type <code>implementation</code>.
+<DT><A HREF="./com/google/inject/Inject.html" title="annotation in com.google.inject"><B>Inject</B></A> - Annotation Type in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>Annotates members and parameters which should have their value[s]
+ injected.<DT><A HREF="./com/google/inject/ContainerBuilder.html#injectStatics(java.lang.Class...)"><B>injectStatics(Class&lt;?&gt;...)</B></A> - 
+Method in class com.google.inject.<A HREF="./com/google/inject/ContainerBuilder.html" title="class in com.google.inject">ContainerBuilder</A>
+<DD>Upon creation, the <A HREF="./com/google/inject/Container.html" title="interface in com.google.inject"><CODE>Container</CODE></A> will inject static fields and methods
+ into the given classes.
+</DL>
+<HR>
+<A NAME="_R_"><!-- --></A><H2>
+<B>R</B></H2>
+<DL>
+<DT><A HREF="./com/google/inject/Container.html#removeScopeStrategy()"><B>removeScopeStrategy()</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Container.html" title="interface in com.google.inject">Container</A>
+<DD>Removes the scope strategy for the current thread.
+</DL>
+<HR>
+<A NAME="_S_"><!-- --></A><H2>
+<B>S</B></H2>
+<DL>
+<DT><A HREF="./com/google/inject/Scope.html" title="enum in com.google.inject"><B>Scope</B></A> - Enum in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>Scope of an injected objects.<DT><A HREF="./com/google/inject/Scope.Strategy.html" title="interface in com.google.inject"><B>Scope.Strategy</B></A> - Interface in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>Pluggable scoping strategy.<DT><A HREF="./com/google/inject/Scoped.html" title="annotation in com.google.inject"><B>Scoped</B></A> - Annotation Type in <A HREF="./com/google/inject/package-summary.html">com.google.inject</A><DD>Annotates a scoped implementation class.<DT><A HREF="./com/google/inject/Container.html#setScopeStrategy(com.google.inject.Scope.Strategy)"><B>setScopeStrategy(Scope.Strategy)</B></A> - 
+Method in interface com.google.inject.<A HREF="./com/google/inject/Container.html" title="interface in com.google.inject">Container</A>
+<DD>Sets the scope strategy for the current thread.
+</DL>
+<HR>
+<A NAME="_V_"><!-- --></A><H2>
+<B>V</B></H2>
+<DL>
+<DT><A HREF="./com/google/inject/Scope.html#valueOf(java.lang.String)"><B>valueOf(String)</B></A> - 
+Static method in enum com.google.inject.<A HREF="./com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>
+<DD>Returns the enum constant of this type with the specified name.
+<DT><A HREF="./com/google/inject/Scope.html#values()"><B>values()</B></A> - 
+Static method in enum com.google.inject.<A HREF="./com/google/inject/Scope.html" title="enum in com.google.inject">Scope</A>
+<DD>Returns an array containing the constants of this enum type, in
+the order they're declared.
+</DL>
+<HR>
+<A HREF="#_B_">B</A> <A HREF="#_C_">C</A> <A HREF="#_D_">D</A> <A HREF="#_F_">F</A> <A HREF="#_G_">G</A> <A HREF="#_I_">I</A> <A HREF="#_R_">R</A> <A HREF="#_S_">S</A> <A HREF="#_V_">V</A> 
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Index</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="./help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="./index.html?index-all.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="index-all.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="./allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="./allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/index.html b/javadoc/index.html
new file mode 100644
index 0000000000..1bbffb8d9b
--- /dev/null
+++ b/javadoc/index.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc on Thu Aug 24 18:43:56 PDT 2006-->
+<TITLE>
+Guice 1.0 API
+</TITLE>
+<SCRIPT type="text/javascript">
+    targetPage = "" + window.location.search;
+    if (targetPage != "" && targetPage != "undefined")
+       targetPage = targetPage.substring(1);
+    function loadFrames() {
+        if (targetPage != "" && targetPage != "undefined")
+             top.classFrame.location = top.targetPage;
+    }
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+</HEAD>
+<FRAMESET cols="20%,80%" title="" onLoad="top.loadFrames()">
+<FRAME src="allclasses-frame.html" name="packageFrame" title="All classes and interfaces (except non-static nested types)">
+<FRAME src="com/google/inject/package-summary.html" name="classFrame" title="Package, class and interface descriptions" scrolling="yes">
+<NOFRAMES>
+<H2>
+Frame Alert</H2>
+
+<P>
+This document is designed to be viewed using the frames feature. If you see this message, you are using a non-frame-capable web client.
+<BR>
+Link to<A HREF="com/google/inject/package-summary.html">Non-frame version.</A>
+</NOFRAMES>
+</FRAMESET>
+</HTML>
diff --git a/javadoc/overview-tree.html b/javadoc/overview-tree.html
new file mode 100644
index 0000000000..4129c4e83c
--- /dev/null
+++ b/javadoc/overview-tree.html
@@ -0,0 +1,173 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Class Hierarchy (Guice 1.0 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Class Hierarchy (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H2>
+Hierarchy For All Packages</H2>
+</CENTER>
+<DL>
+<DT><B>Package Hierarchies:</B><DD><A HREF="com/google/inject/package-tree.html">com.google.inject</A></DL>
+<HR>
+<H2>
+Class Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/ContainerBuilder.html" title="class in com.google.inject"><B>ContainerBuilder</B></A><LI TYPE="circle">java.lang.Throwable (implements java.io.Serializable)
+<UL>
+<LI TYPE="circle">java.lang.Exception<UL>
+<LI TYPE="circle">java.lang.RuntimeException<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/DependencyException.html" title="class in com.google.inject"><B>DependencyException</B></A></UL>
+</UL>
+</UL>
+</UL>
+</UL>
+<H2>
+Interface Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/Container.html" title="interface in com.google.inject"><B>Container</B></A><LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/ContainerBuilder.Command.html" title="interface in com.google.inject"><B>ContainerBuilder.Command</B></A><LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/Context.html" title="interface in com.google.inject"><B>Context</B></A><LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/Factory.html" title="interface in com.google.inject"><B>Factory</B></A>&lt;T&gt;<LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/Scope.Strategy.html" title="interface in com.google.inject"><B>Scope.Strategy</B></A></UL>
+<H2>
+Annotation Type Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/Scoped.html" title="annotation in com.google.inject"><B>Scoped</B></A> (implements java.lang.annotation.Annotation)
+<LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/Inject.html" title="annotation in com.google.inject"><B>Inject</B></A> (implements java.lang.annotation.Annotation)
+</UL>
+<H2>
+Enum Hierarchy
+</H2>
+<UL>
+<LI TYPE="circle">java.lang.Object<UL>
+<LI TYPE="circle">java.lang.Enum&lt;E&gt; (implements java.lang.Comparable&lt;T&gt;, java.io.Serializable)
+<UL>
+<LI TYPE="circle">com.google.inject.<A HREF="com/google/inject/Scope.html" title="enum in com.google.inject"><B>Scope</B></A></UL>
+</UL>
+</UL>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Tree</B></FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?overview-tree.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="overview-tree.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/package-list b/javadoc/package-list
new file mode 100644
index 0000000000..00497eac58
--- /dev/null
+++ b/javadoc/package-list
@@ -0,0 +1 @@
+com.google.inject
diff --git a/javadoc/resources/inherit.gif b/javadoc/resources/inherit.gif
new file mode 100644
index 0000000000000000000000000000000000000000..c814867a13deb0ca7ea2156c6ca1d5a03372af7e
GIT binary patch
literal 57
zcmZ?wbhEHb<Y(YxXkcLY|NlP&1A`6_Gk`=Gm?T>IIT!9-C*e{wE9>Kx3D)-;0v)C;
KYxQGgum%9JOA&7X

literal 0
HcmV?d00001

diff --git a/javadoc/serialized-form.html b/javadoc/serialized-form.html
new file mode 100644
index 0000000000..3b49bb18a3
--- /dev/null
+++ b/javadoc/serialized-form.html
@@ -0,0 +1,155 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--NewPage-->
+<HTML>
+<HEAD>
+<!-- Generated by javadoc (build 1.5.0_05) on Thu Aug 24 18:43:56 PDT 2006 -->
+<TITLE>
+Serialized Form (Guice 1.0 API)
+</TITLE>
+
+
+<LINK REL ="stylesheet" TYPE="text/css" HREF="stylesheet.css" TITLE="Style">
+
+<SCRIPT type="text/javascript">
+function windowTitle()
+{
+    parent.document.title="Serialized Form (Guice 1.0 API)";
+}
+</SCRIPT>
+<NOSCRIPT>
+</NOSCRIPT>
+
+</HEAD>
+
+<BODY BGCOLOR="white" onload="windowTitle();">
+
+
+<!-- ========= START OF TOP NAVBAR ======= -->
+<A NAME="navbar_top"><!-- --></A>
+<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_top_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_top"></A>
+<!-- ========= END OF TOP NAVBAR ========= -->
+
+<HR>
+<CENTER>
+<H1>
+Serialized Form</H1>
+</CENTER>
+<HR SIZE="4" NOSHADE>
+
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="center"><FONT SIZE="+2">
+<B>Package</B> <B>com.google.inject</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+<A NAME="com.google.inject.DependencyException"><!-- --></A>
+<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
+<TR BGCOLOR="#CCCCFF" CLASS="TableSubHeadingColor">
+<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
+<B>Class <A HREF="com/google/inject/DependencyException.html" title="class in com.google.inject">com.google.inject.DependencyException</A> extends java.lang.RuntimeException implements Serializable</B></FONT></TH>
+</TR>
+</TABLE>
+
+<P>
+
+<P>
+<HR>
+
+
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<A NAME="navbar_bottom"><!-- --></A>
+<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
+<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
+<TR>
+<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
+<A NAME="navbar_bottom_firstrow"><!-- --></A>
+<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
+  <TR ALIGN="center" VALIGN="top">
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <FONT CLASS="NavBarFont1">Class</FONT>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="com/google/inject/package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="index-all.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
+  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
+  </TR>
+</TABLE>
+</TD>
+<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
+</EM>
+</TD>
+</TR>
+
+<TR>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+&nbsp;PREV&nbsp;
+&nbsp;NEXT</FONT></TD>
+<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
+  <A HREF="index.html?serialized-form.html" target="_top"><B>FRAMES</B></A>  &nbsp;
+&nbsp;<A HREF="serialized-form.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
+&nbsp;<SCRIPT type="text/javascript">
+  <!--
+  if(window==top) {
+    document.writeln('<A HREF="allclasses-noframe.html"><B>All Classes</B></A>');
+  }
+  //-->
+</SCRIPT>
+<NOSCRIPT>
+  <A HREF="allclasses-noframe.html"><B>All Classes</B></A>
+</NOSCRIPT>
+
+
+</FONT></TD>
+</TR>
+</TABLE>
+<A NAME="skip-navbar_bottom"></A>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+
+<HR>
+
+</BODY>
+</HTML>
diff --git a/javadoc/stylesheet.css b/javadoc/stylesheet.css
new file mode 100644
index 0000000000..6d31fdbc7f
--- /dev/null
+++ b/javadoc/stylesheet.css
@@ -0,0 +1,29 @@
+/* Javadoc style sheet */
+
+/* Define colors, fonts and other style attributes here to override the defaults */
+
+/* Page background color */
+body { background-color: #FFFFFF }
+
+/* Headings */
+h1 { font-size: 145% }
+
+/* Table colors */
+.TableHeadingColor     { background: #CCCCFF } /* Dark mauve */
+.TableSubHeadingColor  { background: #EEEEFF } /* Light mauve */
+.TableRowColor         { background: #FFFFFF } /* White */
+
+/* Font used in left-hand frame lists */
+.FrameTitleFont   { font-size: 100%; font-family: Helvetica, Arial, sans-serif }
+.FrameHeadingFont { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+.FrameItemFont    { font-size:  90%; font-family: Helvetica, Arial, sans-serif }
+
+/* Navigation bar fonts and colors */
+.NavBarCell1    { background-color:#EEEEFF;} /* Light mauve */
+.NavBarCell1Rev { background-color:#00008B;} /* Dark Blue */
+.NavBarFont1    { font-family: Arial, Helvetica, sans-serif; color:#000000;}
+.NavBarFont1Rev { font-family: Arial, Helvetica, sans-serif; color:#FFFFFF;}
+
+.NavBarCell2    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+.NavBarCell3    { font-family: Arial, Helvetica, sans-serif; background-color:#FFFFFF;}
+
diff --git a/lib/build/commons-logging-1.0.4.jar b/lib/build/commons-logging-1.0.4.jar
new file mode 100644
index 0000000000000000000000000000000000000000..b73a80fab641131e6fbe3ae833549efb3c540d17
GIT binary patch
literal 38015
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
C|6Hj6

literal 0
HcmV?d00001

diff --git a/lib/build/junit.jar b/lib/build/junit.jar
new file mode 100644
index 0000000000000000000000000000000000000000..674d71e89ea154dbe2e3cd032821c22b39e8fd68
GIT binary patch
literal 121070
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
F`9DH82$KK+

literal 0
HcmV?d00001

diff --git a/lib/build/spring-beans.jar b/lib/build/spring-beans.jar
new file mode 100644
index 0000000000000000000000000000000000000000..901dca322aa9bb6f392dd3d8db7082186b4e5a73
GIT binary patch
literal 228334
zcmb5UWl&{ZlO~G074Git?(T)V9o#v%ySqCS?(R;(!QEX7cZb4?g8TM#_r!EZ%y)Zs
zMDEBRnHi~juXt9fC_q9Xfc@J8)$PdfznK4c!Gl48DM@LFG07=QvwTj1fvNn5C>$8%
zKcWLERbC1Ih>rh5nE%lK7F7~cmXnrJ*I-tXwn%6~0I_09y@-D9$MaK4k`Z-lik;0@
z9niB0bG3TY$w|JyNE;v+&I!G^2uR!n)5Ri=9zm=$rpB~HV3%gc`IBL4f#hvx6TT^p
z_V7-N7%RAI>TRb*D1A|%<;9cD(3O0jPf6FG)f0(7OKzU9P|q_YZi)zqN%#Sb89k&K
z1{^aPU0aN7{A>i}`Gfzb|6pK$y8dgZQ2+Sv<YLA0f0y{T2>(sO73gB)Xl3aFaIo-n
za<ThAG(P^DP5l3hhN%U>(e+>Gk^f6QOMsc1lZ*Gi(5L$!=>yEnEL{JU8~-yiW=@Wl
zHvebd{(Bba|3}`qx&whuE^hxKD(e4{9WMv_e_`Wa`vP=v0$RAZd0Uv<{FC8-m70HD
zq5mEW9N53*geZLO6BYvujFAxx>|du={Ga~NbhEK{Wj3=1xVo0<!ux5gtccKLPy1#I
zqT?drlCqnovBJlOM8T8xz>tNAq0!b29Z}(BPY-9qQ>r)***dh{$S-$i+SWzrNF>p>
zYuT4McIww@)#<-D-M;wO{rcK|v3#I@gj=|MQMl=O*>;@^_-6oTUBCQ3<j8X-1Mk_`
z?D8s{`x7754@>-*?^NUZ`0a#OyHsF=NepMCLhQ~26;DmiGcX}|d!u9;je*h^erbj2
z@*MIx3n9SPSqpYtiqIzh#8juQ*|BlY-dS)m_gYSjux01Pn)z3+`0sbB;Zba={pk<|
zrLHP4n!@}Eh@3uJK`Y|^&7<mWKdK)&v-wp|Q~d<<tzKWvf6(=*L%BvgS<1Oqk8<&^
z*$V2P^5M^|ym7{#o(ukxdGre2W5%qGE$z_Bp<2wlIppw4Nxbwbeab+X%w}(z9-Hbi
z%4v!5f^JCL-QeeeTcrzWn;bj6v&BnD+r`hH!xBPpGh#SeJ?}N@H^$h5$^Xe5>Lly>
zW0nlu5tAN}PvFiSZk9Sb!{700&D=ZkP1tx`nf^eD5Nld1-VDT4@0>e}W1V-W8j@=I
zkT!cA-kaSK)g}P7SoOFnzB{UKey5br!gzGOx<{VR!hEDqJ6OhVtTirBJ9x|=Sd-My
z2%~-RaV_3IiSH+KdW-$A(kpdnmnGdnMP8SzVcyb3{ms^n1EYq2Yx=l|yFA6>G?F{A
zyuE^ap$cpnf`<^9DisT&J}Sa=1`F}vz7j8nExr*5&Ffx73f|LL#F1gkrk>2Yq{_!2
zpiZs6A$kYOP$9=u&W0~v40c6kx|f`kit5&xw9mleQ_L7Kn_&*ikUS(q!{<Wlr`_#m
zv+Y*oEJgoT#L1r~8^+I&aXfo;ry>njm522l=IKF+EjME^*^t+oGtt7jYaKH|!Pe5>
z=T5PWrq=wLIWkmqcA-K}Zbon>*Cr`?_-b)4`M7MJ8#SK>*OsGy5Ur%n10tKKLY)5r
zITuY4C+iZxj%SmgTl2kg+BpLfxH|ec1FZH~<OhVRn9#2i#<Vl2x-^mw6%I27%|Dch
zM_Y2V$*VGIVAg%!$u^TMZenw3QyxV1YtVdTDX7b04vgw|RAVtLvI!VZBQ6k<3dHT#
z85G6~3!*EOi#KUdrm;H&cAl|KDE$&_2|d>tQ}pjG654LwR%{z4!0`;5Y1g16hAd{`
zkhT2~DyLG0fp4Kh@KMJx<xaOotvHC@{LQQkOf?CC)X7|c^vm0BNh(%t;ls=)LCKvc
z#i#;7(=BZ8+K#Fzw@xsJtc`F}Fhc{<A8IguQCzUbi-h!x4y$Dal*XPk8mm*TT4$%*
z92cruI)E4<PkdOJLZsAiTdR$Po|Qc8w~m4qBFvZR0SI(|yN<vy$#Amaro*zodHDT2
zvLmm`I9@-iD>_3cvLJ5>UbT@>wNlx4E<{5iS!ARVb-j8YyhFD8Qzk{ofqOG-P=-=6
zMw_JQv?XQ9o)^_R*piiX)0}JnR{NCJBmb<03*c}~Ds5-QbYvq)zQwpVCoq@p&3B;Q
zDxtfVs;XgCjO`C=g8epY-BP4AkQS4?7^QF!-D+XC)86H<Nx^a7zG?ojHCz!)v1PBr
ziy1pc&P&1A)tu6!Kxq*o5SSXRcqY}u3lqW5j|_*N7yCxAm7A3?tJ_-GS2cn8LrRV#
z4X$H(1fL2IJMz#Wzuo@Z1|0^2>r0D*<51P9(&!cjK=!%~lxnk@w0Z)A6LoHBMrn}`
z<dP_E-W^e^IR;uMj9`?jmn1V+Dq00_>7ov`FN1qns_!%}#EdFR6H(&3O(ldF#IaWk
zVH)PK$pd^)5Z)MxGNn=)-+(gtG-%NhHF<bI#_lk6{%<Gld0GBvmC^5BwsO5f8Scy{
z?uwy#Ekmk3pZ8p}e={T{M-LP?*rjA`{OShR7JfBhBuHkT<DO>MCShkQVXKjU`;O};
z^vh)a<xQH?jRuK%MX9h&C>vq;plU#x1I;c`nyY_eFZT^Q)af`MX6HL9{`N=*+0SPj
zR=(II6%H(=+0wy|r6CwYiC;^vD4{>+Jn{W-emSIP>vx<SsCVq$W|Yh1Fn6OUqhFUt
zd8jk;;652Yd4@Ws$_WVPFSWt!FsoDj#h9dq*&#Fe=^B148G5_Fh18E@`{?i2G58X@
zxe_@ysvusaqCt291kt{f28YVC!PoM<!uC$>kvt$5_K^i$S=8LnPT<=?Bx{hSAcdKN
z9ah>Pge!%T1bw}VeI|<~E*f1$P%N7$9wQ!JFGySH!~PasPl3YZUN&K$x8@E9MnHl7
zj>r|t9Y_}+lT}?qrx4JJaK8cqBo7@!JzWzA6Jw48K#6$UQ@+jOt9^<Rief?CrL>4j
z5(I-pxvMF+t@aT0RD?_7XuK3@NP9UJHP9C3W&mz9$3eB0drm+R8sU35W*HnhB(4&#
z3!XI|gXs)Rsbgp~x^jx5rg5?2u*Z%{E|qFE6~GZb%LXd+k5|KB;-heAfZTV25A~;4
zc((i0UgN_G&d=;Yk<$ufpX?tTuQ(8XqkE7awSzy8jBP&h#3Ek{#Tp(PoN*dav@&Nr
zqKp<^y+e)naF7F{jm^o^w4#<W-_ZC8kOIO<*j_aQkV~Rre$G1Keo+4;n<InyIpRd{
z#P%1OuvYLog+N+Adx(ndLwZrP$s*^ov39+%Q9PSLpA-wV^wA4n>Ch7?ATzM$-WTR)
z;<bFk5`jk!@P`P@SAvLW1dz`ltNhssjc*vzA)A9`J}s&P#y)*O*k3sDOoSfIlW9uA
zp;=Ct^Gt7op5om#<}Z8Uy$sCPk9v+*v(Mo|0;rnx;FWB4uFvH{0!@6^($Xh^pwR+6
zx1}J(aw7=N&+Woo*v7VB|8SvV9Y`kB4dD1+3x)cyN$R)%a1(|3kZN_m$qVlbvJ(hE
zhPhQPK*rNuCOlv%nT)A|u4dl%m5T}U%8j(kMmuor3lGkcB-~r-kcagT^TjlX@1aAN
zn%2Zc8m=lUWXVh?<MJH{h2zd!S`GM@%SwG;`v7=ygx|KSx#(z`I{AC#k(bA7c1A(P
z)O@18W4Yll8P8P4lnEW}BWAMZtNIe((3R=KTJ{vH{K=dR-`&71yh)SfJAGua+{$rR
z2S#0Te#BH1gdUlu^@}mNos6HSOZ1dk8mEOalk<_*=%L>;nVKF~J&0B9lT$QdImK~G
zEfb;q013IoO_hy|2Acwzo`ZW2z3DH9Cn?z9#V`dJBdBJUKc<_=D=#JUinF>#_`ilH
zF&HA>r}r~W?e>b;_!*wwe@nYxcJ9o&vaMzM5#sIxO>(YS2k<wONry5({YVN(lMFP-
zKHwtnKv!Kp0U{BQu<JrQ32DOQNs@QScrs=uNB<-deu6YabD!?%Gx0N)(}@(CYO}Fn
zE#1u>AW$zYdh>}a9a-94jW4Vs^gQxcYiKP!3FhF#>xLyQ2KXU8EOL%%VS}8cnkBw*
z>^RmN<94}B*SIzf!5jgX*-RBS6tLM4L6pH?V|AtL#Lrl*{!Gq0fo~eTQJERkBuy}~
zWi74bZB242&z3sumx8e5>*f_0qgAD0R3jmGS?~2h`e)5Mm~l2jw9@SYx(Titq-5e&
zt$;#e>ysqe%5RuhSvBqS?T4nFHe&`&+B2C5ZD%vB$Gp~0E#4T~v0Kap*X_@65ShkF
z2Rtm>r8fK+`=1v$8REtZl({B1u8}Bf-1y`_6h7UUdbBDHG-@RT&C)!U@s5-DJ9%8)
zRCaE5tJYSll?--n`m1NpwF^WE3)WA-DQVx#j~F^Cu72o2p`)F6W#XOq)tVr&ZrC~i
z*?gZHNq=~!*VlkiFUq?2t1{esoA6={ii&e%btb}}@s3#ekUouNsT?aD?+21emFFrf
zt00N|V&TbR(H>Irs$JA`@Od0z)J?w}T4MloXn@4)Yh)3Y@`xcP`?>^`rmu|`@$bc`
ze7=vErVMMY*ScWpQ+_X)a~bYAQlU~L4Ox-$NQWP=jml5`TxTzcJZ01AgTnY5Qki?M
z8aNIk6|J!;NhZrJ8V4jhGBOSRY0}r^ETl>0v8yKaiYKEwt`@fSiZd&wj<wVAEhnSZ
zT}`%*f+v#}H@J571~chBw${3>-|%x#0(aySX|EBEXF#hq{nu9u^OhgV_`%=7e2!CE
zw|||G^6*PIdPZy`nM~!O62sk;nLS#QhNHkj8%K!G6+#TQMq-?qY6laS6@V#>|4x$G
zFf|*s!thvx|8v&a_NUVHnwWn#P@F{xsuP{$i;}Z1tg~U0<fx*uJCoX#MCsh<#DI0C
zX;0ElY=xNLM#MZzy2S>CJBex^cU)E$+K4g~APc?JczkMNH#ZWYJhp96T{wnTPW~mW
z|0(qP0=8JexnXAmk{h6OM1}dg#H3{Tv@juH!|TK0dya|J4fg!B$hZMp;lbkh&8M8n
zvyRHMZCnU<H;?QfpIfr`joXNYNrn1xfES}G#dg^fdYa}JN|sc==Yrr?8qMHH80Dc9
zJ*^CSR#0cP<g{YQgx0_W1E3Nms|jPYCzg0D$A5BI+zOpm2u6pvv9trVPkH4}RWY&T
zEj$(_?77@#L;IJQPfP#|4zJ<8tIuY_f+a5~)Jd)pA&2p*eyk%A+ns^MM{Y_oDBZ>g
z;s{OchC#lRG~*&DYR#g3___NjKx~c{pK6?IE=0Phw|rf(V?%L_zC3oYH8X>-5b)5n
z?phC4l2jTk3~^+}`WGrpq>TN2n{0eMj?|1JByI+dott93;fzl|se%=|T4C_*>DZt^
zWJ&#^D&T=QN6YYnuPSp^^l9a~)HxM(UKX+WX<}k=TcSJe($mXp4Tr_F+r-7Qu{v?~
zYS#XO)CFSUE96sz^ijkH%3th|Y}{?OL>G6?f`!Q>9=qxLIV)tAa4YQj+9a<62R~z*
zJ8j{}lVBg%J3dn>&VHPq^`nb)uC{}NmPD?_my<)90@5-1LhK(d^>5P_8UtpshfSOz
zV`42X*4#fV0fL!{p_W+l_T>2!>8&xL_4xI()}8z%`;&1IRu-IsVZau(z4L(y^@UBD
zsZ6o__dYjl^`F)kt$W#M*O+6vSqTb&FZw=i6OLYGr}d-ELxz2I%A-u}(9f9QQk>u?
zQz?FvB1<>gVjc&g-WWL}?9`4khun$ZIy4Mcuzwlqjyyd`xEQAjIO-7+vT$qhVaIAO
z%3QmXP*+U2V0by_Z+DYnQTvYXM%WrL@8usJHZ-P@Ib*aJIE5oE3yp_PEh&i-yfAxW
z`7D>5OmsIE)z650JcIZG6mE6zhbwCGq+1zY8NL77byIyi5arW0pXo`h5B3lFY&-O^
z+1c*pI}UQAAAfiG+BACK^bS%0gCMSM7AuoIC$L4BMEEeiEpxgm1!&#&GULY^$qrW6
z?s^NHuUEUwc^^ZQwmK_mR#g->Eg#yX1wVzi2KJ%lw_L`Svfl7asy#@2NIx`2gT*fb
z9jQddtU1SQAUaf`jYU&=#oF?U-?o(*yg1zNu)E^~&h&0dbG-?6CbrIr`)N~sv`I;S
zMTR0)Vy}$fYQTLjL_CLl8qV)Y`vV`*A1*AJ1A@j2zq?JJKum5HZrTx<6CP3BXG1x<
zy8#FHV501w{no?3xD81^;P$S#lAvtm9|vW<U}#%VRj7Y0{USWy_v>3{ms{BjER^dm
z7)s#u@xTf*;rjsK_8Z?v^k?44AWg%%hv6Ofl|fkcT<E8?CVcK<@lpM~21%iJGg)r;
z*^xgdk1H+DAtpA`9~DP2b%&R=3Wmb*&kOwT*|0se<zN#tJY9*iGT@_JyC2zlRa#m>
z{%g8gD%JTKC7I{zPOz2Vygu0*;<&HNtce{d7@E`(u?iFQ>=339Q0KSV?+o38EUTSZ
zzu;qjtM!gnL}_@l8sr+E*n!#4FypHprrLr6#j?L&gcIR=JRJAPHLsDC#&U0E)Kp<+
zc%cxylj3~{9y~+aU*MeM2EaSNBXHf>wI&!>U<ah8d|*3-uQ(ofo*4yXcE1U2&fPAN
zeMT7_qMjjtCJ96BT76VKOleWx{N<%SMmdmJ<p7#|V)glcOAjmw4DRSq3;V<p%I9A2
zNN44|ml;hhuo8UhB4Sv?C^(_m{Z$$WIUSn2)b?~M%Lu(Jp1Bw}9|&srOT2arD=AQZ
zaov+hf|pswJ!6dM<nydD7%(ydiSMne`S3Kodnf++RsN-_B7(AMrQy<ca7}W~K&n<U
zOzwOxEMH4he_M1^qOnL3NY@qIs?U>@)*W2xWBq8fneyEZQ#_K?O%IL;p{OLXogb|o
z9>l{G=70duM>RYXU1x^F(S_T>0zDIVuLlF8Neyht42sd1&x@uA;RK-eT@V40;_C|%
zzg$QS$l$c~;IwJO7<|sQP{L}U_64v(nh5*V#P9Xtr21JzE0dgAZv0B4c!u9;)blJs
z$rXFboQPyT^bjQxiQ?~O8Z6Dff4++RCo=o*Xj(t~2Wc=k7??677#PF9L<av2P1AM(
z0RMsZ{vA&XPuWriiK0bVeXH98KRN<OjgFSP4ClH}VL(mF$}$-c4bfKU;U3xK?uiA}
zc<)2Ls*KuvV}hns;+VPO`TFEonrnDL1)JZO4Hkl)M7UxAijvY~*}Go+neKHDFRdSh
z!(8bh_Al#}FjQ#p^qo$^sta%Af@H4T<WwSk95WKofP;90XH_KEmWEsjK3Yz4AG24j
zn6o8r$Z3D#4KCe;XJ#&17kcp<J-&;858V<bE;(tc7D|xpiR%_Gh`5V!b2ni%-u%IU
z$vgaPS^cdus(mMI+oLX~T}8+$7N&&yn%~}!ICoE{8Uy6uI3>r6asSBr<Xlekn6HS$
zvh(!5ZNjxRSbT+*Ll~b|0L^&ewY?ZlvMl2K4%!v`{8&<e8eM#afX|y{A@c3xM52~t
z?Rp%!vo1ll+z@xM*Zcb`=XGZT0UQF}FM~8X5J)d)f~N(>O5cb-idj0;33Cb94pOR}
zAk81n8kxpEGR+pmG|fKHD2LiwK<XEG%@5jf`mdGbecAg_@lOSB{vo#iX(i<xfcBJZ
z|6b4dI3Wa(C}!B{TL*P{;~f|_H+iQQG&EVd6v8E!pqXj2u1Cqi3Zr09B)ax>ZQj@b
zQsNu&+!j%gBqb@7xOmnwP3{9fOE#-s^P+xD9DqQ(JP+rh7Ea7%WhOXR5DOR0vTdf6
zgL`dbw>pNUO=vRTnE$P%fDw*VvT4;`yUZnl2=H1ysdldD=mA}U40z{3H$%1GuW1)~
zT@`y-g1nvof)^@y|KF(ezxOX?D7kbE1Q=Kf92l6y|5MZ||AA6#IN4b^$~xJb|7Ty<
zY1n<o5W^H|sk7I|2@ZL!bW+tvaHFd<@usDeMu(uL!o6Sez?&4`aPa7$|B}ZDm&6cx
zT_CaOT{5(xQx9I|?&1(|z3DpL?c(?u5cmh2G;)NO+0-D*FJw9_W&)}>3ymRh<SLr=
zdw90IC`OPKJp$5BIY6M@0zVzgERlmU(=+Zxy54mC*kHkvsYkIe4DjCeGwO`_*9-3Z
zuZbi>jtqx4SEOV&%lyXJS?aDQMtyGMs_XR59?LZP->fL%20R7|evz@Nfm`U)4Tcqy
zhJk@I8^_NK70nZdFb)&#T|GK%f{7T`0UOR!d=2ymj$M>jp@%mo^4pDl+YlQ(^{P}U
zWqr05vLGBv3zs>9Mfd!oteYejikgUr<jTVl|E*sq{T9_(0I<-2A0~&;s^bf;-kd2@
zm)<bDHZC--cBwaBuDXvi>`&$SRTEz|Hf^m#O2+kc-so#8>|~r70-EGqaCqm()?sC~
zweH)_54chlCpjNwRLskwh;v!M`T1C3WTDPdvgm+_L9Lwd%~fnqE;qz+#*?t@wL3x<
z4Mx^!kJ8+tj^C2F&8KIMKIX%jeG{xH!U|R}=a_nX4!I|A#E<zV;Rx9o+}bD8&CZd;
zrtv>6;4oFSbLbA>E-3P0<DGLByyyS0sst|L{S8JOij?)MA7W0uMvqM{z%A{<1_MH`
z*~F2B6NK^Kd_Wr(e4hKY-1s35vPAcgjc{Hw06wAwKTW{k4q?q-tVKv;_k|<Go5h73
zM2Th{{ldw$G3Tp_$k}{Ff7{Fp*-NZZ4=$Y%%hjw%=ho`6l_tZ}X-P;`-A45bQI;dq
ze}FGvft$ic6_m5Pm$FOIN9Jl+vXLw0<O`kmQ+KPz$)z|-P%G$>$pG99YC2-Y9faa*
zWcRq^F%MAx>lZ-Gt7+|p3Ji=|9}JA;|78~beg5kN;7v4E+D`L$IBqQ-)*-+nX22og
zb=Q&c(SpIysl;@VWBDm1aAhqIro*IaI_>K0m=^aE6e`^Zwa{tdn6c~~>{eEPt(Gy@
zX<ll*)V<Gj-OiX>KA?wS-}ec;?D)=hS&6(D1^k(5c!nI%c^{2kJ8<X!)ET?%6Me;C
zvF;o}JiLct>5b4wezn5>daV-7Df7)0Y@a-oX4wtnQMknR-mX4$fZ4qX7w(jjc6tFp
z^h)S?P98F|a31ckH%bNE+#Sr_5uf)+=!v`>^m!FbcN*)V%Gy;R1*j1JoWIXB8gH2w
zJ_@(#RM4yAZ=dk(Nbv1dp)82K(|%aL3}5JEA;`G{5WOJwLvFmn3ES?O!3Z<Y7!$mP
zO$*T`N<4U}MSP78{F+RxaQn#Ld+SRGyaT!UZ4QVaD9z!%*7g>pjujl;TR|4gMR2_a
zvVX8Vyw(VQQv0*uz82#cgEGrbZx<h95*jA|a1j}2&IZCY2TmR$vwR}{TE1su(Kr-_
z{FUMUu{Gc+DSCT>`*h&@+CTj^Fz|)@TEuuy@%Gw;BQp5C?-ehg{tyS^uL9A}$%wX)
zYdgp<hNOPBJN?iB#NV&q0?DVT$(4wi^S5EVkrv(AktW&4r%Gt`X_g9!`G0d(W-9j~
zUzDgPi1{O5oQ5OP<wlnqu>7t7he0;yAEyxt%|gMiT|#3qkdtu7KMAinrw#p3#6e!O
z2@{hcNVA%k4VAu6p(_a97tTj;!*@_2n~I1j{i!3Gfy+5s*aXV)M8>z8_X?%P<y=4{
zut`xKJJa~*9LTw$Fm}-MQFs^@!Jc34wJ)4QFOrZs#+kgoYR?~BJ~fBOKeJqAP@!wI
zF4cmZL(xZrFxs_PeYYs*=E6NwBJWLGs0lM;rMpN6lW#i@ac*3>RBZ1BVVumxa)Mpd
zngN$rX2g$7!d<ypXaNd2u03ug&(&Hyhsg)bXTv}v=^dBhSEqj$3)Mo*;SXIM7cigK
zOU}(AuQNj~_X)*6l37>yX1jdOm|x64f(ABN3l|x>@bE6mh<)^<ze18Ce$d))sd&8G
z#LKa?pBq=|ZdvByqIACiCwes=nG?o#6>4l%5+9#@e_iJd7hx?vAEzo8WJXc53S)Nw
z$M?7jvkE)93j4a`w=!njw{OBoTq{I{W}GT)3J{!RHJ9W>kDluQAR#%%$v|@5zx{4g
zfcUL6$d`O}wW%TqD&1ob6XOz>b&%pEjvvPNmZn8FLW|>C8S|zqi&@nv889S5=7i#r
zEWRAAM}WyXdQd)PgXY7I=kPvSv@T5E7@YUfZRH-3_-)1j882vWAJ58^n0#bGI-xH6
zpa!PF$+=4LB&XYOz$-DK*GWfcj1d=Uo8_)9v9IEXAEL$T10PZ&s78P}T?A~bt^#PX
zcGEUi3)A|=E<;^pLKTy}Ie2y-*oiAzsp8bkl14T4AY{Ooe=e99My(O%V;K;cFzX0f
zT6aMch0|iZW4Y<Xxb<XHSrx<s^M+aznmu6p3VmIBe#(PakLA3cP9snE=&(BaTilNw
z1Oww)TW5<}j0df0kZ)FmwV3i8s2xni8-=_KG-H}8LKUieg7gRQe<iH7`r4m$DFSnf
zH~)rq1$tDhl8K&#fr5Pyy)DFEa8CwoWU6hjTG)T)vVMzT=b{r*v;xiO9ObL*g}umP
zc2!(!+c&~RI1DRRY-B|!+QqT{X$&!(xr*l+l-{>dq<QB4n?kN2HeiW|V?6Gvd?qaC
zjS`@dR!ohS5GG;Yrzw~pNF%HMV1@u1L`K2P+hoe+WluPMFvXBWV2izyV*UtdJ~Q9n
z>?TDV8JgSJ*ULcR!5)QN@QQI`Oz_ez$VI<$zGtPb@{GC79}9@tw-^fvww}p}0XhIF
zP-S&vXC_n=rhtv7;X9o1$~dQRE1Gj|4-7ga_9hnkQ-mhIN~jcwq3nx9&8wnh3j=9$
zSXYUV_S2xg2vG_N`1`Zps}Hi}X{9C!FxqPz7fo3EzX=H?D{!ET-4Dp^v8-4r)JC<J
z*I+LpeskE`hBWD16ed@NhPA#a-M`gXN#}stYz`wT;#!I^a@{3Jk;%B4YZIGc^pKQT
zfm*Cu7|2|DQ<p@Sr2T%d_k3fqW<6-enw0&dxRvQ(*+B*JyT!K*K2|Y4tCFBgZ|lZY
zqqtStfSudn$OkS#K3-pcR>tn6Q_@0fLv_eNrLwI!m^oVnsnE7qZZ7)NXlck?dv#Xw
z-|(%UobW4a1?ceMx)qD0O%XtC&~wW$_Vq>=U5k3flf#v4x4Fag>7<FDQW%x+xEM>F
zlW7-0agi4*TiVVO3<1Dddr?*$b;QEfAaOq3OuhiLp<SMFAL5F@zQ`YJu;?IOTPtH{
zFjt7sBLWYY{#K~7ip*p@DR`|oMdJafDZ^vJ2@}F0*`RYUl`m*8H;QER47U<av9Nb=
z*9|n6$Z~y=w%P;L9LtdM7$aY537(m-!Bx0VDe-2V?>jgH9VDk~3^rWi&g*pyvC_h!
zil<X23}ws(s5}nzCDtfO2Fbf48&LIiydxxBRwOUFh|dd(KaRJ}jx*JUq%_%vN2?8{
zdQCc&*(-<*?zyBv(<D>(=Fme*$gbjpKHTO7p))n#>5=aC29+5*7B%6)YevM%EFk`>
zhxqt*nq1?lviiIM%;f72?b{<}A48Z6k=?_z$ZpbH?Vl-%bSw)eXn&wrcG~7Ihd;Q!
zqAW++=3iwwo9A?C3R6;~qEC(wQ3^-D4-;tgc2MKpM{%WvW9g5yZ-I|am#@@lQlB<W
z8WDFo`}xQhk+yK;P;`mw;Ws)HmSpLvJ7sq4h9{R>D*=^dFIEHaf<5BEma8U8e|xdP
zHVqBR;AWtoklUhVHmw#~bE0$EKt8kXyKau7zG@L0XWgOn+JXMu1xF8vsLCwcq{>+>
z@jVP#6bI|}_707ig~1;O19{P3T>b8?7)MF8<+4PG?_oaxTFyV)1WZ9&cTTARqNh1`
z#2tGSuj{3ctXspoveX~2!pk--a;L7ShN3tZZpm^uOH|Z`@|oFgT`TWJ(K7pB7=I4I
z+8;gie-K2~?VDI0&`$H5BfKX^9|9p@lbKE7mdf)aq&oYomFgFUjk0F2&ucNM4dt}6
zy{blzYm~Yp>W}BQua_soc=nm{>p9NH+=RwPUG855XXbuPIi)*S`TcH4ko+6HelU01
zn}zd+A?X;$#)c}B(;Du`YQyk%xzuuV6b)w#Dz8n~%`2)G!Ht6OtItIOFcMEFuvJ!E
zT$RT1a86zB(Iv;T#I&trvsmYrE7x)OM(r^6*ku<c=h^5opYN6_=h*^PC8Z}2Cf4fG
zr7Xg6PW;{__p<0uz4N`J32`PZK@N3(Htx<r04kNZ)Ho|E)L%&ub#CQ6lUhi!2TlH`
zKKl%@%V@Q1s@fBpHtA(ZfE?UkWcry$791=a3uwLb#4rbpI~lD%=?uvY4(k#XJJi=j
z#@Vfz&tw{#(pV}Jp~hHpj9i+Z<IAO;yz5XUgFxg!r0~?klmY_XL@7C+)6DyMFLh2v
z`hiVmHLvy3zixfXu!=rm%nRqL3p-=H9dZpkWiQSsfi`6XTYr;#oISLjyN4NMoyY5k
zf07Mz(og;cRT{T6yfh?8<A20Sui_)-6Fs#sFt&FMGFYqO=Qqix{wNIPCt^RB>)tK>
z6$Pt6)~yyZ&Q?K4cBnl05@~ABsYszOPkN<I7hIq&<Y5CM>Y;1ZW11-0@^+B3mk2tJ
zQ*ncWW`Lc?&~#rM-1~F%=g_YBiZDbDb_Dd{pw|ejcj~fl6M2P1>Ml~XsU0WB`drwl
z4B8m1av~>D^$Vy|qX^3;%JNzU*jiBUXyNIj<^{Pq<mP99<>l%!_YoC~e%}oL$&GFf
z-l7b{6VrTXpI5V_PW?9_AP`qTv8-AD!hDg0a&(0vGEL2g|67m1%#c)lpd{|r+ay(B
z71BsnHW%G}OodP=EB&Clf`!0gZPJ6i5B|OiQ%A1j^oE-*3v?%Yv`0xkC_u)Ys*BLh
z);>=1@N=c;-G}X<TsqLOkj*k!jV}Z_PkrZnhqGV#pF8r?;kuVuMkMrPy1rg3NTx*2
zl{I?)bV#Q-n6*f9B{tYG2Gz_@^8=}rk`G-7^#-V)b%XY|ecB$ZyW4(<@|9$msCB6C
zhm4|l{EQqymHr{-Q2TqTMelY30XjDK%yPxhi>0UMUuY5Llu5_II@LQ$R|ajhLNOj+
zY2`+N3+D~gf00{;jZWOEiqn;BB5YQsQp{^PouPj)qbhqDvz|-&$Q5c*#EBfF<a1p|
zotDo2Sk6xobj=mTy=T{s=0aj1cBqb4X#eZ!Gg7L3&XsCZ5qS3WJ#{zf<)@+##=>x0
zXF`{wc4_gKmb|GQcdT&&79>^Mpw9vtcE{iR<2UTSnZ+C4bebmoS1n6vsTxpn_E&kl
zfeo)_4|Si!ZO#*MpVK1j6G^_X<h<rSJ*%sB^WX5tLsK8MD?NVdsn7A!#B+>%VXk|7
z!N?XV50p34<$cTw?OaBzbUekn=w+CS=;-f6H8~T>gcUX9HkQSwk7?8!3?%tERn&ds
z__ORAcT&Rktg9Qz$_3d^e9nB2kb*b>TLd}P^sev=38Z}3v5n%Ma#{I^`*T+AN;p?a
z)-wgV{RpelDGQ|Nz{<33Ww3=QWhmj`?{(b(#R&WaRa;)_7RLdSgAsmzi^a7k<FJXy
zHDkLTKrsJRoTHvKpDA;8Px^U_>s5f%KrO?Wk6ZQq@5wt=#(<Mre^StfT$#PV3beq6
znhpq0VXYIpWp;`$ri}Jpg_OAUKF*DI+<jB(0qUP$_Oho3d2ig5FZEIc-+517kG}7M
zcrEgX3Cj8m0uA}k!~Fo90REjRsbcQ61k3Id=lM!`0e}InJyPW%p6{<6Rdy^m-KKI)
zHeWlcjzZ8qC)anPRcX}7;y|(RN56*jyyJKRo|{0wAL)|&$$SU#F{mwlX-)c^)g@<n
zTsk$WDYj{;9(?DAjsJkKKzN*(8H9S<>Rh6Xb^V$fjmDgAyRuX>F{M&x^>>Fzsc#;h
zI~$pvPvo}W{Gn~V)ftIxWWjw7k|D3-<l>d4OU-(AeQ#nM4ihB#Mj7&$we-5gic+@U
zYNU__(6z~`Z>l<8qO(_Ax`|UEch?t_-0*4zJ=77GSKBYI!kjVCLcWGVJL~J2S}BM!
zZMiVay_+@+kX=Y;U5kh5-?4DF7?A4a%F$xUThJ%uO)=bUFS^twSKq%a^4+Y<ed(X@
zo=KxuDbQn|ND7)3{K3TJCH#o<5JZwk6IAumees9)SZ~C?o{wa0o$~j+M41gq3!Nad
z@dWY{Dq)k1{xN^$Hmr}W#1(4fD744a;yU!BnT-Bv*y6eUwYR*PojK+)rY_J!#Z9bl
z@m_k9HynB~TR5o7h+Ug>*bPqfX8wKJb5A*(f`vWAx;d~>9jG)p3AfQfHyjx6(QlEw
z)Rei_PK{QB;F#7!2>4z7;piuSuG>nDzd@=h$HwBm<$)3T1v87M!9>{vRWu*XhGIA=
zHzkzy@Wjy_ax;^;K@&Kp?>jq>E~kHLRcm<9mM`-LtxPHKL%wFqn+^vl?{$st$Cb)e
z+VE(YJ455pkE0+?oJHZjouKZvy|~}*kDS}`E!UPfzokyNB89VGN=y%~q)8^|KF)Xg
z#9j@bzop&C$7kmVkSX43J*@xkV(%%}VbrK-9^hM$4Sn2MvB<bCr3$;qkfs??rCI;T
z52!^7gPbJrvB-vp>Q^3XDK(RmL)H2;Q7tv_kmf(ae@g&tPK;QwjpH>*O~zY9h7xSv
z=JA)F&l+(n#E=QhxH3XBFcP&nL8lRx>y7u)?V*v{%cdr5=hMcv$4<uFUC74Vx7XD9
zWu>emE8R--RxcSOrPI^u!#ZxjB~KwhPvw~%Ch@no>s);6vj#kb{2s5r%;E#zP*2TG
z1$kE4QF~}1dOFjQL=1U(A)^_=Lc&bgFn}cyiq*Ub+|~R1wE7Al5mveV8i>63`^|6K
zNuu2fchrhB5TWxopWomd%i9_yarnnGX7}d6V`0v3ERntsn5Yl}(>tyXMLWz7oPKZ>
zwEi}-ya@`6s{s)AJfdryVUlL$HN@?n<>v;%#x*PKy<d>)0JH+`C;J(+NKikJ87XK6
zK_(C}AwE<;?g4TXw0;z&1IRTqdt~QsX{^NZX&t(S#}{F-c+C{UHuwRtlpA)g+1p~0
zg4_a%*cb}wBJkl4>WdgOnzHX?hPF?nTqmxi!$#D}MD~E51HxZ2HjYr$%`;$J#0wr!
zk4NNUEsNXvp;y~rFfe`Ns>*=VKYTttYiE;kPz+_4G$FgrkLVDI#oW8WBx?;q^(fsV
zNgEcSjSf^n{~~?5(?(WdHd=qRx)XfM(9}sYGr{LqNc3nzX)kAGW{4(dAVcly283=6
z?u94mN<|iq8J(%;r!K+xqhexThXjO=z>2Xrf_Jn{5|-SNjoXHAI}~QN2E|4`u?!os
zifWjdFuZQk;SF+v34)SHEKWpbb6)J)>uCxxQ9ziyP{()X2pE=Bbb0CKpjt|de-MAs
zE<00oA+2bVff>x-TiKGAs`=l`aFYc9lFjb6-+!2V&p3WEo8&kZ$!Gs1JIm7)3HeYv
zJuxRhetRzK{WU$oBA|SeUi#tX>tdYkm*fy-+zXZgZ5iT20j*(7kfz``vtF37;lUdR
zK;nn<KUzTu)lHFT7i-5onKxvmT?*TcG<f!u*jQ`3Tx%?Sil9Qm_(LhQ%1Mw|0c0hR
zE3Xfjocdsd&Y*#xD*0f5n7BqHShZ0MRY_LY@Z#x=^~A=xjR4eh=<iqNpSv|Tb$XW-
zA46<8&B%jh2LrNdcvH>nvK5$N@AVtECrd^=vDr{R#!!p?2`-tt6e~g-3t4r1(jc75
zfwg%0+Vzh?9q?%u<nc5lYV{<9>(6p$>U1_#iyOwrnuo)N|A)b)ob6Tk3JA+?8(-I#
zNe&u;F)d7#!z@ruqilzRz1RK+009m1hT*YmNKV)hj$W6bn;+&2f+!Y3sQC8Ko*1_g
zy;mGq)i$gM;;PLpkF~L|JH*7Yr%w5yynO*~T(HQ*I>V5$Ooz+>n$f_q*1>g1h$?f`
zIEwb8`(^_zzJlERyg7Fq&JPIctKew386YQ*11VpsJsRJb4)9r&PONBd<(u5Bxt$~f
zq5cUoX6M*_s_!JGQGqY2;)00{Vx03R=L&r4+zxXry_VlVi7xVk&e7ZSJp^t{2^lJ)
zF18d9Jt5qd5Y`STI1Gd^NK7@s$p9JUAtmlN-Ek7b&K+QS!B>C+@54&3Bwg*#8|zUu
z7V+Smib*0lPKxgM6I4=WLUHi^{M6N2nKzZ=mhxck3Qb3faV#s|@CEp}tFp;t9CBRY
zot9a<c&PC;r+%_;t(vE7*<<VY#j0A|_uLv~X~jDL#i_Ke!_QZ4xU*DG7Ug%k9J{d`
zX(zL@r?y#GexrGMcV2!J=jnF+$jh!{{iFC+czUtj(|&|zj$_kBY=Ibk+r|II$l(_;
z4p8Q>i?Yq{M1}#{)n5>pwkg|35Ekq|;0exY+9@3x`xb_n*wp{vP}ocF*6%meH*lFx
zVC&g0Ei*l(xsC8v@UItAiEc!;#HMKtvZ1~2a;f$h@>>Yk&0xNYP|v{TuqO_r2Mslv
zpfX}I84U+|4jq(@TwfWEG(#F7>2^XjJJTH<*woUkTuo<)fiqkE(FZ?trkWmD+LsiB
zR37C3kkyCa*9MaSnCypEfHbRve><^>huwi-m-}+|CNuCuG`J(exZ1_~gT<Bm8_<l@
zp(S3B36^%Nd{Vubh+R}ZD?C-&{<<Pk4b8lcx<2VM`wcqhn#_KoRJ;-40%-l9Cc#Ws
z48F)#BAxvFqRLJ`HwyrOZR-o&16*_Dssn-D|Csu2Z{w<RRxWxRG6kP|fI7@DLk(cM
zcC1QiW0PP_NRT9c`yMp*3^p&X>+zQU!P_MdnwY3-)F7M_8^><&&T$c4K|!hH-4Dtj
zvgY|XR6`2vLgx#$4#(nSc#9+&)8Bu>#A@6QMoOJ~h09w&u*&GlP8ksE)o1v9<Wt%g
zD8M}>u*OlO_|k<ssA1J%t)5;8NZ(0UPc3YJ4(ep3Ca2ZAc|Pv}{C2ElaP8QGD)^(S
zvxF4te<NcOzaI164J!`yASBb@;1J<^^k<X((#}T9aW#IPfky$!oCtK?=*6;3@}n8%
zGkfaqeqPkwL=K|}0R|;WD(PD-<U@As8GD0P&h_IBfM>k-Ss^yIot=Y6faj9??p?7Q
zy_tD-G{ec*J{X^@qY4iOp-XAiMI$Xq)wNsd=pBlQAWXUg&P7W=6UVplm|(QIWqOCn
zIu|{8&%Wl@7|Kl^<W8R7%}aJKUucC4=NrV>guN=x0#Xh<!HO@(n#02`>}k~t4zS;$
zFL98!eRqaXWA;?z5MuQnk#D9G&hmijijpNf_Aas!x*;g{PW~0o2>RzhO%ZZKFzTI;
z2Z6{wz6qj0CIRoy%^2Yix)U=Ffno<<a3|2=on>A^$6l2e!|veMPORqvaW5jtP|rQj
zddSZ)qF0$4U*f=oz~hF71OHd*-9(aqF2Cu7Wyki@-5}Z*6t^W>?zCI+NXij`BG*GQ
zHX_2(#(Nk~Si~B{r{B(|ew5KDn`c_?nQi9`v&{^{l9D6>PBUfzua=C*h4y=Ho#2Vb
z{fxah2-%bDMsK--rU+}hFb#L?$42g*SWZJ#lU0s@$pkAe#~f&NAbzAXk71$SQdgUC
zn<em)VI_xdB2z2pE<ms9!7b0v<}jUv^3Haoo#3V-e!wMfB)E46wRqd5dFL)R&QPrj
zOQ(#`Srbu_<xucU9Cn6Qel0Hcsy;8)VFuVXNCk_4s9-N+bYcoSp1oa$DjzY;Fn5AU
zQT71()g<!?`FP29GDFg35&&~@P+;=y6EEZNaYC{@QtvT(@~}bH=L4&KEHeYB{P1Ei
z`C``?1wfE7u;~xvo^4yTH?VyRctOAat2w!5D}=ET=@oe1LGGO#b55gMHxQuBBx3_V
z^Puq9bz~E`j+|L!9>pwYxC4?(<iJr_?DF!K4mo>-!-1|u_7cyoKur9F$0?KebIb8F
zDKtu^w<Fj>7ioM8seCTqPL^_<o{{d}0_zVipu2c_icB2ly|-syhUrSW&v$>)mhOzO
zYR}sNsEJ1trLFy^*}r>k3ucWlNlrO|I`qko18*NoW+}vK!}(l^f!V##Po@6hDo@NI
z@`td{S|fQzABx75EM5wQ1f_>T#p1JFN`Yf!?3I=ccO<5nK$suDo{cf06|`lCmUABz
zw*>jdcS>s=FpOX&CMN}XxMUso&^x-|6H@`(bX`@2G4>%ns)p&)rh`l}29DZv3%L#!
z2Gy|X8|?T?jM8nBx98TzRdEgkg~gV_I(ozl@yxBg3Rn$v^>W*pItyaPC8q8Q1tIQ{
zigwY~$RgcEf<9>JOgy@-#ds~Bv}!rVkzCHC^otRQM@!v0K!>AEgtu_$WiO$`;?uSz
zuMu}R`ktc_<0ZEMY>y#!&(5c_>t@KG@=~WVI?5fg5}}>(9l?j05r&#ozfp0c-9?X}
zR5h^OY$z{n0WzY2wt+(n={4?h27;-S@LzvvTRDfoEF5(aN-wZVwh#qM=ic91Aa|g0
zVB|I&Jx_Jlp;kh#wr~d6btWuo2*!Y*Uow5#L*7Rf3mQlwtKyr|*M#fkJ2&r5c8K;G
zw;e@^y*m`VnJTIw3aQ5*9}K4`EWlEK`1ix9y|JIJivG}(cbZv=4TBILuz&t`0I2%G
zt@eI)&U?dp?DYUi`eB{+BJW5(q8_6XlkYIf4>&mQU8hG_oS_2Z&Bj9y?+Fsle;wF_
zb>?syNHF(?y7lHF^%gV(alD;LEDpih?{zPNSyWm4V&C^@(j;X4C#3#X@*F=*!rW~}
zsIt9TBOw<*cHOGo^kqoT|90ctk@arPmtHjFjJYZEvprl$RR1P4!||hxO;04J5V_E-
z6`)a#wP5Z*oNj|?6Vo17Zp&bkgI#>SDV<Z6FTv5~T4m6ae`1TeII*eDId@#HZqRqG
zq0PtS!c;U;560yDHw)iD-#Xilfywi_B)wk3t@{!hp>wxfZ%qKx?WKtS1rDL>(YmfD
z<YFh5j{IBZ)Q}+WP(mj$;h<l`-r2>mOAF19FdEm=ALHFZ@eKYf^-YiHEDCn8TA+$T
ziot805x)3f$4=<e$8ARZA+?-{iXb^*X4;BsdmEhILKixsm%##!cJn=OuhE=fC$ZS@
z%yx<B$y~SY*kfj6WS{MFdc^l7p1i-#rIFB2xXejN2p%eZlMRBKT}fkJI3Yzsa1GUX
z5q2bTgHpW-jB8rVNmNVh+x|Kd-_`tYMXU63_v=jvtLO5^!rP7jFjJPz=?YEea5%1X
zH>(-@+MQ|o#12$;8S@nimdWGl+X`3Pih31Qf+N?$n#as~($ZQER^}}$TK#!KKo@t^
zudhd~P98Ibl;Y`W9hy^=DIg!DB6L55Hg#~1{hsfBzpe7}jZ-)*dvL+n0FNhxfq63g
zha15wJom8=AbAx*fMd`Ij<}l^y7mWD%^{wbC2S+O?_6WrpRB5R+8%L-I}^<XV&&q&
zU4n<MXD6$UBiG|@npO~tzKKe<)j0Rvt01gip;dN;B&Zx}Ep~^{zJRIe#Zo#WZM}yX
zwaO5uD#Ak(M}FPm_@~4CXhNI`Yp#T_LFF#SKAEo&M-flMshZZvR3VQcO6WQLcu8H-
z_q74*ZfyB8{)A<H0J%f3*%?gMsF~$Lyowyp;JF*3<XQWX<CL}0UrvJ&x^uSL*QLe?
zeSh8K@@k^gC0#B%wo0|9QOckA&TV%JZ5Mlx=>`phT=vTN>K@dt9BIiP^&{@j%)6Em
zELBfOVP+z5M&1+PlQ+eotm|y2nKQl{nO*c|V~IDi8;RL@lt34Dfr4855RFUDKVhZB
z1orXSQ!3^S^ZHRyQiLrH<6*yYnoF`=EGtZkY@>h4Ir0pxC|V22pg{i;$}4&@r!9Ch
z$dmF#S@dNDNVh~T$^Jz{Iz9?BN-E{;MD|gruL=2RXkQSM(~lU>0=HfAY~Tuh+}~;Z
zz6lG+n0usUT!&Gwo4x|fLi28I&Bf69BLC>|YAix8!oHKk?d$Gt?3A2@R35L}qvt)@
zSjTFWnqh4d@*P*0ASRZxL_MF7F>Se1H6mVW6<b(FO7@^NQ!5nA*dFsTpsFC+JEwa7
z=S&nLba(kI<=w3Zvs;+45Jz$JSK<V0>0Xi}40;wLrB*h<2MxeO*xc^?dYanoeaLbB
zH}5=LiaWcyJdJ2++g>iu0YX)J^c!VaS8;9RTyF05<)CKtWYNo8uYhiE<7fuy8b3ps
z@~aYE$?S~0NqT<q_0GW2#LS7>ILMq{(Gp?_e9*iT%2Z2+SC1bTF=Q>XtO{Z>vn<Mh
zL9p9`pjKX$SI1t#F~*JkR)4>vSSIgCq>Y0~`_oVjBcLFIzCxiK`4c#Bx-ntd60%e^
zb0sD1e3k?0e@471gW3Yw8h1tDu_+okAobm)FaW{j43+iA4+{$~l=At4qP!oGT~9b!
z-&qC`e27AxP~nzDilTRel%B9Zf_5Wko=^-#Z$a4aXg5XQ0XY6Jb4xgP{Qk%!^E`K0
z{;?&TAhw(ciyXwMHpaXXZ(x1-A;QdX&?<(69*h05&!IFEERUW4J$)UCQO)rIkzSym
z^yB`o&c89-xW;P{2Qr(guVp7RN(9P6t>5w}<Bx`|dGkw;)v0K{$F`aBYZEABS|6Ud
zIIugcl`jfya@wva7e=<>xrye=HQ3NBj_IYlFdK)Wg7S7HDaF7xiq+`AW|i810OlBT
zk%SuYlr;$WsU0Kq?1x)kr!*U(O6cXfGt?2%cjqyEBjkv)EGh(zAJ($$5tCtPbUCcq
z2y8T{<W3)=4zbdt38S1nY+(dMh;o5K9Vi0}TJ%HcKFB<K($P`VR$F9?R`8KibxNzr
zoE;|&kqmW9%kYV<^efKgvBGNb$uuL*#UF<>0`iLOb3k7mn)>gz!6M}5ua*vg$#aLq
zBe6TwJA<vBUlzVE;S=hAtZLPLnOPWOQ788+UHfvH7M|=)OU}EV*}3Fmy2Xo`j!Waz
zH5~A?v!?)s?GP|FR;6JH;S=*s^Cuc2ykb<YX&#&IMk%lE+cX?9^8TJ^Za9&mOsC&_
z_UBfErPw$|`CF{RPdStsTG7_n?EpdT%;90la_G{Vlt?CJ>J?Zv(Q}r9zpz1&&vFmz
zlwY4L@qyGb%}bpK9y<(%fw~vnnKre{Hx_C>?2D$Ak^3rzyV%ZVq`A=ou{h`!MqF$S
zs~ip71FD<SxU=Uj{T{?|tIQ#$*AUMZI5ZNzBI9jd&{T~3HeSI9XJ)C0_;xIC_aNq|
zFFV+S4r0E0ZPt4c(}M=fg9gAsgT+CE*@2VEK?nOi58M4#)@$xh$a|dqk@mZSRKfgT
z7^z42iZ?R?SXG)-A1#vg=HqiebqT153+yTw!91%qU&5Rfy;yLocZa<24pR`b2dE)8
zJ(%%sz#2Sgo)$es>z_I9Y+eRfuLE$aguuc#m9dmYZBPfj>X^Flau6ZYGv{^kk$S@%
zHb(m1o*~967=flP!5DSW<#Zcm6TajOSEV~Fs~L~t1iicsQA`hIX*1Dfz0+*j^!<r8
zfw(Ysf7IE1e#S3NmAzYd@tLt675v^%tZQaF#=L>q=5u1PUO~z_O#c()LdI;#S7wOH
zM+Lt%MErvAk?c+c(V&sJT{~q5^XJ!cjopLQILqF##5}|4ZO?xCg)wM~X>b3>&fNtI
zAVh;ID<bsHR+qpC(h1Hj;vRLM^3SHt$0v^07s-F!A(O1PvXcB~A6V+2ol55a-yJen
zDK9e%pqq`8<A1D>Ce0~Bu%V4s^jy}HhlK2DqT)lD_L=cobFys!(LjBS?p4i9=gc5G
zZ}R)S|FsZIHY`GTwQpy||CrnG_tnoA77Rg#@2=4Ph&4zaOcUZWJ&D{7qjDKU^9(x6
zn#l6tU^3t4zs0z7Tu#EEjSzpB<-`N-n1!-g$`{3~ch0r4-qW93P$Z*QM#_(I=HpJ5
zSi%?3{Z;(`NPEX1UAHY+c$K}%wr$&7W!tuG+qP}nwryjT&2?+{>Aul>e-Y=qx9^W9
z-rw(>898#yIWq@X=2)UOW>=P|XFLS42Jj|P6wK9(>!BsxBlQBN88c%*l|snOEjnfm
z#9_O6IiWXc<iwo}ENU?^ti~=TIb7-I3O7J|8Iyea!cQ4S9?#TqNg~g!y)55|KQ_rg
zgOfrqbmj)Xcdu43q3~*+yfK+g8cI~%KsjB@X)5S?EXa8d^<dG1l~n7l?1CdaWNnyG
zcRzyVEZZAv4~*6@P%3qg6$8C2ZhM_my8l}?$X{s(<Hxu8FAzU|e0;}daQxf-5Y#g;
zH8K>pcC@!~ur)IHYg6Qn9Gom2|1<s|O9es`X$AdHkI@=>upB{nc(^rmT#%M(jj50U
z3^)Wi9!LSd#fF{>igHTU)bC2)GO3JWGYfGkSc67!D<%kT%l$TABJ*{mg$IcR!mjH^
zscXt+vy9d2so(uq^`<_rw+1_t9y{;Te_SRVYI4}2dMECPJ7J%}U3+|C#cKBg5bSG7
zVG(!|W4t#hcLxxJek0rF2xZ{z@!}qh;7*K;)XDUIB0$#a3<7y__qJgp-9o^_hP#Rl
zlD=NyOTUp%U+Dpa5Kj)l!^ecWCf>VA4*oECGxL6AMBs^-5pNB1;G)>Ocg<Yj>dT3?
z^FJVv24^Ghi~9UHROFE+q|uiZfI;ONT+xF!dEp?~7w_gF-lLkny*MG}ilV()p}h+*
z0rnK{Ee(Z2u<mWhTuCA33aJ5qDG#jKy8!IQ*W-Tr<%+X|bORVbSm@+j&JoZcx4_vY
zA$03hrk%6ARTWgA?TrTQ;*Qxgy#yUkTPRe}l<A+BYu8b)a625SJGxOQbgKGWHpy0y
zEteiiEyR=Xyh_{>ajY`5T3B)GRHH`3%biZ&)ZJgJX{;mBkt|BYF&=$3$+}5&!6h+W
zQ$mWvM{sqv$yDeOou7KMT*LsMaGY)m0aadXNqss*=&0#2D2iqY{7tOk$JpLGG)y%_
z<5BSux;$dL3{8^Iss(e;S(vV>RkV{!>6=Iqp%7<KRJsg=mHY#qkBsH<skv_+n=qG^
ztHzRVd4*oixYCoInU#cZ=^9F~=G|De7PNmhlj9Jk60=JQLU>wwRK(6~UDl|p=7qbL
zd7w@x<O_<R_bg<6(O4uE4&jl#C%wQ_<z$11)NKU^y%Spab{WP)EeYCB42uTFb)k7D
zrCZiAk(6VT)P$>SIP%k`=};r@7#yZWB66sCAD{qB0+Rw|+;HIzv6|2vtfS5J@ZMyI
zQbKE%rj)&O#d@ZlsMkQS^;1ZM1<(2tW9Wkh&7*`|P3c);JXUV;)ZiHcg7i|<fqF&S
zCUma(iisN2$V|yfV?bf|R75T^IOTA9P0qGZCS<FwUuY=CI7}8IT_{lR3fP7hT9Rtb
z!>AI093w^|%~BC(JWV{Kdp)}Lp2~I*fZfywoU2lG9r1j@uLnd^>EeyrFsefB)n^Rd
z5vWFv`yLF|eHkF0I>WFxg5hgKV<Ry>gS8(~hNvkE#05Y+=&S|&y)i}~z`RDOX=jJ&
zs=kMIZyjW1QcYPJMjz0;DYsCaVruPE=#d-{HhNRJAf1QyZAo(DLg+n*BA<}7V=v6!
z19YrgsZ-_kghRQ~orAJY7Kw)(QY79cbV?p3`K4@SEF50RG>NhshL(I0N8#nrDvD{<
zrR|xN+hJP_-VrGvAJW6uw+sWF8HxkD5=4kZO1ZwgqjWc-=uxKex1?92yage7kx+Xr
zB>CKe2WAIWr^dwV!c}4-j4`h|h9Ag22Cd_RL5yj5(+u_XlEXV~Xk%p{nIbwuM|LkE
zZ4K*XZvjNX*PZ?mfM4VXI;U~B6kpW4ybNCvD~6rXzZgJH2?mx_sPLe($Ly49&?G`T
zNP;>$l_4B}WrM_?(~Xras~cz`vZaR&jSbiV8zxrAsL9$atKd|tC$S`R0hzAYer5&U
z1CxwX#fTraOiK6drf>eNHenhH_KzeY=}iDpc8VXZC1J);;+T4p&#qEMHmZ<QR46W#
z!d5h!#Az61uB%Bhv2Z$@A8tO;@qW@v#VCYafWN4Ox;MUJrNm<94?zek)pLK;%quKL
z`4LYVyPQlbB-k)b_Wr3U5PT+Xz;Zi{La0zPWB=xZ!JAZA%w&ckLgHLp_obEi=o^f*
z-GW5HAX1-cte@jTuhL9U>Cr+3elx69W3gqdhhHd(4{t>eSWP>}*PvN=m)_)u@G7A4
zn$+RLKYkgd_+$QcDUBEpK(kufVmy+8cFF>=IB_i@ORkDQ`a-Eb9E__k3l>T$ofi$f
zT+^)|d5X!Q{zhyT&d`4@SyeO?w%J()C}c0O)O_>wUQPmJN^aq5y&quUpo`tfuzb{i
zJ~1mwt9^Ok)~er1T|ZnLTUvr-n#)X^I{P8EIC|nlwW~jFL6lwCekxOgWv$eEEhaIs
zUb!MjK$)6k1V!k*pND}CYqRKWYJShr$g@Auq|<=@r35oJg1xh8VF8OrW>$R^Gr5f=
z<C@?)eX(W-Fx7@YeNH4N2eT|p^t3z6Sw}aDbhi{OSXVIN#4HqyZp#5j-@ypW?F66s
zC*Q-(k{5s%VeC33Xxxq}J+Rv)ge3Z~Vla@Za10@tDej<B(84}hWvBrMbr9oe$syig
ze?Gt=%JiW|!zpR>+5lN|-r<j8yS*#D$+5m;0HoU%_(>}lSbc4Khq2a7VRCy3`NK&W
zy>lKB<uzN%&t`qlPnOvY>ew;Dg)!cSF+u6O8RkQDR5{mC%oTViW|q948FpancBIX^
zu+970mIL^m*dckdC3aw5+2ukYRHQpoBsSK=Ru9-ZQXQ9$gdrXY)=jB*IU^cpEJg?-
zw=Da51DvKi(wvY(F~<z<`E0RrEceIfh^n>#AVJgknp@roP@ucHS!`16hKKzmGh{+7
zC-jHwG3}yqyU`1xfL%K7L*7g$r>T7rv7$X3;qXJA7<%Jyg6!_HVcJx}xXSvd%6ctk
zfeQ#3vaM)Pd!&M;7rDRy?)7uHQ?V$TmhYp6e!33n{W|H~cq{U7n`(gadpQ013uF$g
zZo#{EgL2!4ZMJ9n&LqeQ^yq#W;9MngYIcxD1Eu<=(`tIO^(xuikt!o;mr{Di#GpyS
zPepcA#~;a&T{PIjYVoFPFV^jwM21xZN8~Eim^)M6#AQvwjrklcY%WL*;SL9?=p&DU
zs!nijLv2rN<<#LzOVRpZCANifY-}KD8fkR?w93kxRwh6xSU|SSQM<uUh1wRR95ale
ztXZ7WdQA=9&8QX#d=LgSpI7)?PX)fV-AEn~Bk!l4yvut4<ADK*tg!N@xCAd){aT4Y
zpKSi`x8OL#1(gUf4alzk%)4kCzKFkBG7ULx!?&XOonfPEy}88ar)%Ho`la{C5pApB
z&ZMFISEDuC<$|yu4)Mln@B^*qjbJSBr_{wpyfF-zg<=J<B<wi(*N6K=Yqy7gp>ta?
zQ*O9Q`|aZVI!sJa9;PG;8Fyv3P0cuwGBS+78;gZ43!9)sOes-i(-?spiAs~q7T04i
ziWH|UN*yX3mc-Sih{@idsy>lR7&}r+n2?P4&PPy`nCCpzJlvsHev|7Or!RvnyQw#b
zA{;d<;oAU<^O!y~Bvr69>r{!lb&k!x&QBknoW8N%kE)Bl!3nP{vdbF7C7V$X36}MU
zKUs3`SKER+m+8059O*+MOH)ySFI=9R_K+gH{`!Z$x7EI6=K9w665sls;os^>5j{se
z%fC#2|IqkJaWj9}{)T&~S1Aa{AT{@bgJ!{cZD+;w=Ux45b!@3Cihea8&HQhPza|h0
z&$T-6d-6AH&nwI4hx?x&yLst?C@CbG>|~s!bgQfk@!~0Yn>RWy{vP--fHgU$=pb1a
z_<~Q;+z`R}w1l^8InjYQH*#WG@ioI-SoYLXT~@{kVUg(T-Sd8^GtftB_hqUSpXX7)
zG5R$lh&bEw?mZY0Y6MD)dZUsDy?D=5bgf{KpQq3y>eN$ri&ezR4~YRQ&~4r67j>uN
z2aWC51y;j%Z2ndPetC~MDs)U=$(Tl+3Hi~`pTPHOy2kjzA>}knC|S)LngLx!&m%|<
zW-TJ)9MWVJmWqqKQsgXmY=psj$jy~t>v4Gtb{SR7l{<7P!Rh3c&2g8y(<sLE1k(x;
zsArC6n1AoJ29Sb8UB35$739Ycwtu@9;?~Z3mS%?kWm)^jj$|ol{AF1CDt@M+9JQAd
za=fUze5#iKAV<K(i%nG&0E|aF7?`!5Fz?u~Z1L?G?8yt`%Mau2#Wmt$)S4(d;>SIn
zOk><(KgqB$_Wu0(Li7zo24TG+iyna#aE<3vpG*U;hlD;v7>#h^?;{Hr7fA2tiaJok
zx`!U~ir~DE+CHO;RN=W1v}S2rpffrJ30QyHY(9F;X?C5^pQYh*_MCCX2n?%QkG||N
zRGo%aL>q(^srP`6b7~QJ9HD47uyWFPPi~ob&ZsZYIGW<VTGPh{Cj9b~3Ph!-UZLZ(
zk}JA`?;~7!Hw{O0npBy_w^?tx^!*yPTQYxdzJS}Ytys`?{q!-U6>^5<dKQC=Ck0m<
zfmRS~5g!gds>!0{jvM<q=N`$ok#d;b8F&Fz{kv7G#@uRMAfoL;S{*5kf`o2@&Z}u$
zy+yl)t4@O;DgfbaXJUDQ0;N_=hM=m$NsFvp1?1PK7S=C{Y(im%Zk;(LDnjD&M5V~R
z;&3}t==(q3)X=XN2`p_h83Nr<H?|_7I0u)_M~h^fjE7n<f$k+J@;Y)k_|p5&LNYJb
zuv5CwW$sfzeBs?oWL~3iO!y#f>9PUG;HSg%;?Cj9HgHAYu}t=_fSf?@6bZ#+;W3bg
zd_Jfxqm1r+o5Rp}+;XYnGKoLMuYbDft?9Fv-li?frB4jQ25x8LR|-qRPc6*q8`_tI
zLh<q!^Bo|KrH!H^5xV%p6Z!x?X2z3{C(0H+%k~p!J;xU|&sxluC|@a1K9?l{nfHI&
z^vedgH(|xnnV>uuUxMRkKZEJfHIt+kaqvw0a}!1b#?F@xAM?gwiO%=_K`hIJtw(6z
zV5a|0fMox-V3sm+G`0C|RGn=M^#1Bn|37H9utE5?Ujl(UZmlQtc;-53;C4nt(bM;(
zlIiF7EzbrI${70rDC?Opa`Jtuyakb@zW{y64RcbZ79&M@ueP}yU$H-La=Lhbe7s@v
z!N1d6V(PYHhZJ2#`)O^49aL{`GTNd)ABYXbM&l3YDw;P9tiRvwML-JXzxCm)4`p9E
zhl@&ZSeFdeYNAxvSgI^tZu>F{<*-#3WHWF{gY~esUcL>r$h&Hm%N)_<xfzXWDRBt8
zY$oX&vbuLBmN5#A=L;)RDvcb01$YNc7+^0z3N2hMS)HAJKG5a2N6*}pQW%z;dZ?>t
ztb6ew+#N8zV^+84KaOJ~XtMWLWiqvuU{mOBWuy%2eoAo(hUU;&YO4YVtnHN(6vgtB
zW1dY4PccRh^0B=B5?!h5l0C`}X0XgMapf^>X=AGMr?Q(;R3}GdKQtgqT@{Siqc$q5
zJ|v8o0hhuEEF9+6RlUslHF0yp%Q05lgT|cjRJnH8?E{J^eeoW>o;|XKBFMwNQ}j9v
zVx;ii{Kr$2iQf^bp%*}0Ka>(amag+F1t2S2jjn#x&zn7$)DfE`c}zP`3;fqZ9CYP;
zy9g<@5FANI#*`P3hfBCD0hb67>o74x7#X#};9W_mPuebGBZi?L^wFq(78j*%FDQ#&
zSW8gFU`>}rqK-+Y-yxHMUuAR<;;$SZ1rbuwAc!pVz!FDjR#Km>H;}(`=kcs4n(?>i
zH}E?NlKJ1m&B;+u-_q#6xKmlr(#hyQk3_0e-W@PikiV3ZJL?<0kI$IIx44YNo7ZEH
z^_HsdP5sL*TiNW+3xmg>hLs6^g%fewr8k>F$U>e0spAzTk|eeV0g9U)a-;=A$MpXg
zKuQIW&_jCxIKAP8>u%`K{#D<<icT`O)!{P3{`@|Dq5Wr{H>Cy;e6K!4P*b=c2yEY|
zRB%3G!%k6Kfnpw~baa%CVjz_Y_kN#k*obX!NRaJpXuwq{SX3$VE*~SN%vCd6v2373
z$VfAI0f(x$#ORXo?oBO?8-L*B@KGF{r$#>`oOV=Sb6W;7nbgok@VYdd5vNjcGpgk9
zwGn!z^|q3$hio8)%k}3>#Y=s7P3cRy|G6PW+@eC-ZMK-DqD@ROBP2=_ZgixuKtY-*
zRU>s$c;tk=D*u_*oGa5pe(s>kPC;)QA$=)jsb$RY<MdpdH+K{3Jnn&nl!rbZ!bMnN
z{+%^72jjq8qd(_5Vp*OnM_TxB$j>4I!nZo1bFosLn8Ag-=()&I=OY3MhaJ$JKe80D
zD7w|H-jx=T{GXajtsw|UHBpQ420~}NY_Lo7j`~c@eBobh1BD5m?AlkML{f+DTnQK_
z_c-@uO+yFn=Au;b(idkRy|PA8_`({|WChK1Ck7fKGQtdDimLqyJuree=vb2>1-Ujn
zG~Hov);U8@B$0~9fGRh=nRYvi(MCW8Wk?1DYlmX?sy4Tw!ux`GSCOlbCzZd?cq?HI
zBW2AOf|kar3Q3I5$jM}m8_LqGB>MaldE(I)phCe;_%lsWko%}Fn9aBoNV}*RbKId?
z!s5>J013_dRCseR$|;!ga@)`j-BKN4iT2aPn6kS8-hm?Ldg)Xi99@`b9yjiNDE!sT
z4ke;5!(i&$hzu30v>@mc=;mtOy&i`c2IH<&Y8{tTE(=0_p2=@zTNgb44ws0~Qf7+6
z6jmD$*&NfPm|tbK>=k8t*h3_6OlId1HOA29Qyf^i$tQERc;V2NzlDLJJ;)5ce<==E
zVe*8kDNmif!O&j0vFc0(>$ld&=qAi5hYT}c4WNOs+3mpS4oP9c8U(`Vrfrbf=ZASN
zP#FNxT)ZLi&c$PzK~Sk}ZM8tA8cVS(k2t%{o3w2RZm|^)rYb<JUZA6rUJV7JAYtx|
zD&s;iMy9-(V%A872zF+IKVNq99nL4Myk9U`Odl7Z=M2watWdm57`ehC{+$9c#=Di9
z`f=o@w+ni93bDnu;Rf9v6;P@{`f&d3KO;-&cWV!h<TS@-b2QC%o#t0$^hk0HCOnh=
zbRAwz$<4GoC`#PCT5|i53?23=e5f6%TjuS^gitUeF@+=k+BjPC+=RTRIq9D+juzAl
z{`wPTj=X+&i(sq}2bU?`HV(yUK);JPN2G6sc}RZHu@1jAMnQZvbayLbwQMAx(D8lO
z5o}F8vRCsa$PV*58ef~#W&~R|w-Ep4PGgL{19U{nb0ZpI+Lz)F5z-%IHg{4vdx+@>
zO$S}Z5lD$2Ft+(|?f8~^8OG<jl<6->9(oho*Sq_?xhlUwwui2Iku)JWpcnco63B{f
z<CBs5Do*w~0Gn7_^#xI^4X82#OUBN8pr+MLP_{oyekF!o_+;`G<!S1lPyet8OgTUS
zgc^wI0Ix=$nDb|D&FEFH3%F-NupE(QNz?+pi2`mx#*tuEuptIaY|8+q6fZ>HFio4K
zR%h6drVQt|EfK!iSw!?FMCl6vWvgFAN(E=9RiO)loc}4EC*P-LxmzgF$E@fAc@|8*
zIJyBSjS{Yna~*ck(}{lu^T0hT4)+}QFd`RWT{)!9VSo$qlneE4=j-?m{>9(Cgl4iZ
z*rJPk)h8<6GU42(UfsNB0D23b@d6&UV*zI)8Y29WiM%#N)HN4gjy&2l1VnC$k|y`j
z>(f_U8}GB?`?(ZGM(CRAgN^MM!zY-z6BY=wBFc_v$bMp+*?F^Jw{AJGWjRuoRZYLA
zUBBO$Ve5hdC2sl?pB`OO^N-Wd52XiATmNHReUMB;V4Pudu6`oVL^|oYftU>><pbr3
z1HBAMWN~Q^&lV}YmP@<rNR%Lz(v!o6rb4$iLs6878A7~<BQ>fv(541I9N3$bq4|cJ
zHz3WLM;*4y+>sr`Hs8Vps^2E3vn8SLW|bq1mA_5S-WY`*v9dlo{kCSjEb3C(mnETp
zKEc@a;8{1pw=le?Qx9&T?7xqywFeQ^tYd=DN9^~eJv^d`Xd5fAn^-EEgl~vYrj5Tx
z9?OpzZp)Yn(*QX)*rUDSL~PWnCF=;HYqL_(vJhKM;9y>TQpKhno2=h2tW&E|(Kfoo
zJ#BaTaU+%yxS&pGgIz-4*1!{{YtlpQBITqwlzLbNXhY>rO4?A`draif>?DVqQKE1A
zr4Nl;v?l#A(bqH|?MhfENm=(wPobRHPDo7NG@qQRQWCb02s<*TQ#kiBGEOnt1bc!1
zHnmMA=G2~jAzi%S49++(ly2@4Nk46%FPbu1H)^5r`|yWSMuv7mEwT6A??(YT_l!e`
z2U*qhH?#WkPi%)I!WVj}$c_|THb?vZQEK%^m7K2Nz^t^Mo!4~&Y8pe2t#^^pYXXw0
zR$rNs#c9L<Kv`}#Y(EBZEncbqL&tWIEL8~I`JHzMW71=U@+aHx3uq?o8RAvOaTttC
z{A<$w4^+fa&E!xIz0a5RtQr37kBK=;M2*rChvR+(bFqO~$Fqj9r@h#@`^`eGL1uB-
zZ8hrk5>x&|*4GBr4R4SO_aoM@N9Jy-b0C$5o0ZwVN3~iJOb&m)^xh5A!~QS46yujg
zH1Rvw{1?)JcUo;Co=Nd-DHIIUl_E;Y#4>$UUVUJCV^wr~6>;xvHan~iiHR?$zYCY^
zyTk3H?*=^cJ8*~V-wGFL8%KE~J;VPlUj8YS<uA?uN-9|>9COC3ih6vvm@k%E-1YZI
zB804hlmOQ++MN-1W=U&bQ!^%A;z{;Vm%Rb-B)gp^3DVCG<@}wMHo*Rzoz}+d?fv-^
zkFO!Jf(NbIt@Y{{6UW-U^(eW;>!nozl(t}4*1a6TD2LvXnG<YZ7Pw9fw9lHVzS0YH
zwLye9;AzV%c)$85@qmOVaXlx_W1$<ZJ3anV^i_nb4%*R^Lak{Cg~95TDI<9OqET2R
z+L+9`C$zgfk=pFiQx;O*K@T%W(lAcf$7V{I5{DTh6}z%^sGid>p&)Tqczfb<TdLjE
z?)6#S*@VitTKQ+yE>MYa>xV~tmK~C~LLbBO*>6t6u$<+iC`cAr6W7IEii5D`P00lZ
zs~1_r%vB0@q&mn~K6OeMTyf6DJ;dpo<Dg{p7C~_eP8Nt3QF4d^EDj^64cucsip@**
z-&E8SW;2wlgUR=+x~?BSsM9w$GyN+GjFa%l>D9~<1X4x_42|gy?k1q=o8;UvCXc{+
zsut6Cp>?0MTkJJDasvpD9q(vSMv7$F1zLf^NT$_09XoHJPkX>nOa1iW)Nd6LG>K$b
z1)hM{P`4<y+4(YzwbIvJVaV#Y;y*Qe&9w`nDQM(DTGR)K^%ZE3&MABTaUY1PO5V-z
z-DZV+w^{$c@KLch`<wRtCwvqy{({dJ$#Z2zQyuDslfFShqZx`~A)1`2Qt2RGqtM3*
zQ5sRj*fayD+4{(x3=|}fFD&u2WwUUGY9W-z@$a;2&l8pgULUV_fL?y)s16kHD<j*T
zN~Qo$P}s<J^F2sN5iUss>L>#K^R|n&bC5puvad93I+Nbc>;^_%e%bed+LFSHNAn{R
zetl6#wm!|RM^^(TOS`ribs(#;CE*O1bjkK(P6iUi9T@QDbAhMKUREltv0zWCL)4O?
zG*mX2JRUI>^bZemPnxB<ivgDBB+5<<{^i{MK=9)dd!pLU(Xu=<DHH`Y#LoAeeVWGK
z&qZh%NCP;7A^b6T!>|x2CjQ`+-1PBQU&G8=qdJNPOK@;hS+G6a=gw`7dIg0WT~!@?
zGQWz1F^wt_xoG5BbF*a~vE~%;&2m5#3$(6%VK#rlw90GF<Ewbhxrsn*cO!7+md}*U
zOwvtObKEuAur_9M&@EksfQ~JRx%=q3;~y7A!6-^bXNXWCa&>LyLg0LE*ty7$LYKIX
zMG_8q=6GQHOPCF(Wid!$RG1{n>FeXGl1Uvf>0j7`m23*(9A~GI7TaV;Rj6w(=x7na
zuUP1L72IJT9zf`~z0e~de;&t+6gIMnyaA`x<UMC5Cu`@itH|{_Rn0+w9mhc#AlU*z
zarn=n)FBONM(cae(<cNAe@97*XX1Hew}n@JIiVesA|9eQI1O70Pl|MuHMy2n?V=#K
z|8X95Jz@Pjm4W1H4=;XGS@JiP@%(!#bF#GjkH$;fTH46L(a2C%&(ZXsXq4ZuUf_e{
z)+nj7fG*0TejYB04Md>ZhkzdhLKaKPFO{#5@Y*EGaO_)aT6XrE*)K}s+Xs3f8>}=a
z4+jpcJxW`f%VcyIe*YXvvH3y3q_z3bXFD-qb#d+5YVjEyL%gUJNW+3&PFobeMj0$p
z@gALXLw0PAbvei-#fggWo)%}m>E=2ryEZ4-SG$=c@o*=ulM1vQL#}Xf4iE#|7Wbq{
zLb+BaiLUL~gf42PuO<>KGYDq2E$Y>$gz<QnDr-mMtRz#IhIV!P`(<jxPmG~VDMW8<
z8JUp2a#C^(j!1;G-!R8r$nqpLEo1MsXEcL$HLcJ9)JNyU7;jsm!u;Zzk++Tu`l4r{
zYg&|05AdZ`^iNT5h&xibKmJD%fhFi_zt{X0v=Ih{Ir1(521<*F#Ft9~^voCZmJ%sf
z@<5k;Fce;iQHt!5IKg6U-d1`;QQD#+`Q_Hc1Jgk5dV1A`E+WpB=sVTy(Su!>B_C<D
zFx%n9M$EcSU-WdXtb??i*@B7&kwf@7`sNJC4TD+^m#GY<=`N)39#XWCCiUrsDu2|d
zl_N}rQAbn#768QqAWoA9R|u<rL<z|CQ{z?U3g^kAgf?cC!lCSwd!NGr>EH2Ee5lkj
z{Ee5#Z@jSnTfF>Nv(En?vo-z+l=xpV8+>phe=gVpf$vRSlT3g#u>>uY5*5lNs3F0S
z@ZmxcQAaGX7X~q_rY<!66axqIaC33X^_>lbOW6c$Z>}bP`}lA&X7~KT`TAj7Coh2G
zAe@@2vMc})0YZgbJ4v^els{o)-?ep@@4G_lnn<UJVX_@`!qSF1boJ#R9Hn<^ffh8z
z8ch98Y<Jx$1@KH4r-!syJ_3E*%ytBQ5Jk7|ags%nBC6dW6=yH_qW!*_kaxF`o7UK$
zs@H&TxI3&R{7T;Svj^#J#Ye{H*$Zdnkut|6K~^Zyq8bq_{GAFmc#GBW50U+1{Jy+V
z=`V&C<N?QH`T@z_1ZbXtaxJg6ts+4?8n14|a$~BWWRD5`s$}~CL4d(YN_sCJ=gIV|
z0oNb07l>!-$&0A*9ZuvyiaxK2?fND%ehKinvpNnzplq-h+;8LMd>B_)Yr=`9*!b5!
zK!ttbO%8A-)p`Q#epLfREYo`#BIZk=VnxQQoQ<7XV$CM^GgwLOVs9zF*oX7tH;H!~
zS$cMg(j@eVpLyXwCLeQhd*#?XzABHaEE5$w;xD9%>)4yAly}}^4om$B!^f^PYg|Gs
zG!0g(a{mMVcW8h~R5uZPAA>JL|M<cGKY_+SUm_JLYq%gPp>2`Eq|ssL!XTMz;LG}H
zs`pDRYRh7fDgSC~Y~};WBwBD>XA&n(0326>_X()!eAx%8B-SglxCQ!v?S9|ak$p}}
zD>h3{j(|;bIQDGm>X}IUxSg?~1t7W+gd?PQ+HIIxjhZ<!Xhc7uE8gd#DQyk?MKMgD
zw+n@wL0=}XCvimsW=9-aK~a2L6mHRqGYDgLpM-SIUw9}n#l&#8DocNGRnI>uL0hbt
z3Z<{jFWu+Q=P*8duaK-wg^}FbH|L)ul^C9!HZ!gI=5N=aJ4IS3K~CS8ze+o+-3Yn4
z)*@51AX4Udth`RPZj7&kz{b<%mjV?vbxKdCdo1-{*!wtYk?)$pHYX0?Qy)tY+#Hqe
zW>DD~%TNiyopc~>+8Dd+kkD>4?s7eAGm~z}{Bqo<Jhzd~{5x-5Q<QLSW%>!l%<`D=
zM8QF19c7h&gWXG9=J3IjWiMO4D#?5)bxeR=W~o@rQ7AVd{!tb(GgN4&+8Fzy1DOr8
ztdGt5*UTrToHnndf}9C{bXQUp-Kzm;<54hnK@rs>h9w}yS!O|3HuJfI=F)AF{O>R3
z_`JKxNQH7MgdA?`i?dgVUos1F9VuW9e5uis3=beBh+e|RJym(GRa=Qh>(G1aTbc$Z
zVIcm_eM3S52SN2oEWuK1qhQ)=#UX`)0H&_6ZZLYkmug|RAR#fr*$Q>#0)pZJH3ZRt
zAd{Ik2dVwCq89K!H<#%m0bq0vFt=$x_d4b3qa<CsE(j|%M08S#Gn8#b2edX7Y;^{J
zpktkMR0Vr3e&g$S^h0(p-C*OGy`bfgy=Yg9`(3Fpz=$$w4}=tzj7+Mo)>ir}g+o64
zi6KV~wd9&@Dz}O%4k+6CqwWHTnc8*UZ76a_tT8j8%y~C_s@9Q?E<KG9WoJAV%R171
z1fY7ED-tr*>|p>iEg0qD@}Pe1c7Mf+GT~mWn1Xz*9ii=HO@B;+cXrGO$PH7I>||13
zv`zX;T6HW_TYvJh0(6T#(LvLND0g<yXck@E8qUfiz^=H-f%foQOitR>Z%<>Jpj#Mj
zsjg1Qyy1L(yIYA$k~(6sRI4d~Lu`0+z+PCSqDZQ%>SA31bf~_tr0TLyZg?FcVL5`m
zd145B4NQma8h5>fToIgM;Dw=Wof%@kzr>h#Hup|Gh-&#}@+YYDY~?Jl%mMF_ykiR2
zpCImbql`RP=oRxXDwYVP&vc3h{8jF|cpf-EJ#YXYc70wQvL3~voN~>*0t;9CpI1V<
zSK&VB!5W#oC9Tr>R2Otp5I-UM?JqevP_C=+Wc}p%Z$vH6z1~Jiz2BZ?>Jah*=zS+9
z-;tO1C>Xh>HnoihFQgaIxI;3-Gj*9gBcB0y4k?HyoWk}9AJ~Ci1>IA>ikk-;UpQHG
z+yI=Ia4K@!0Ieu+)(KLOD+?x61vRkQ@og${hnB3gcp%v`k}Z%ebL^=<(@13x^04K1
zZ`@I8a;<{Yahvbb1Y-Y)YsB$$LbFUk?-{4PszLV;noZu$Tyv4c4!}^!n%k;W%E!dT
z{^|lsDPKh8KIeBw8x#-W=mEreeAi}gCqBxe<l5lM?h0(10QgvGXy;h1v`Jgj?x*qI
zYH!^M*-)bEAam*?JFWCTt6t8-ELkn4Ni`&-yNv4VTtJ(|4(|9x_l)+!)3-^S8e;R~
zm}#0#H@HHI{&(bek!Kbz4QL{)o`!4}xVG;p_qM+0EjRnBHowntYUKI+M|Pl_;T1vr
zcWtiyuFZ7+7X)ncpJA{`^50>wvT&O~;Gy|=`MaMqXhpcY3PT7{WH7=67=jWGmc8pN
zR=0N+JTCy=iFO)AWz<4mrU_|TY1|%9oj#r206%~>=vAZoF#JA1NSRs>SafP`HM{1_
zp|EC_*F>tMb&J;#afL<TmD1p;3M$4!fa8s%n5pHO((~s_>{Ll>85jz*c=YH)69-nC
zgzyd|rdv_Y+s4n7uvowkgORWrtU7NogC@caHXks1Aggba`6P-_Y)m<rD^X7dft?}y
z+QM<lm(S$J`sENe8-$!HB7jD8p&BOnmak$fbrtKxb$eu&pwsA`G#pGqVIRa9uhM=Z
zD<!<fosTYjX_H(Xbg1o|Q%ts%a`p%Co}@>2Kfr!AS&4zG@5GuGRqS@I`S~XinWv}A
z)yoL!UO!Lz0bS4e@V^M$*uiZw_9Y>Um|(B@xKPS13W7gl1#t!9`<p_`jrP%pcDQ2M
z^(*A?ah;Ws!ppdwFN7*&yJO_TcY2TFF-AmIO%gDI-2;%E7~Ivu>7oEl#;5ezteth-
zLHxbI;?SDJ{gsn?`rSAF`}>l=YcCu7|29D@Nnt}8Q4UF~gz<8g0We>&NRbLJSq^>H
zRKJx7SeUXXR}+EXp!hNmn~ZU4GWTv;##B<$(=3wc{1@~0wtt26;9oIP=d;bN9&RrG
zZhBgO&-}h_eueshtzuxxPZ7-X5MhP~3UV@JEh~wNREP{sFElJQ@j!xJ_%I6@z-5KX
zF6gn`=xXgjIg>?9sDod~Xn`6z9=?~lzX@zqW7!T}pteDNX1zpTHQ#Pvd0W!lP<GO$
z*Y@Ubpwf15DTxfZ>11WH#z=XEW<+Lpz59J#03C4lJNR~RmNHmr9+exPh2?>CFjqOF
z6J&rA$^?Mkilzo5dT&j7nBvX^nreWKkKIIa<k5cf(e)PZb3bmj8jn!un$&&y1+^n3
z{|g5mc2)-&;t;YdVM!^t)@<qydp!fXPS|6E{03d2v6HhlZ$Lm+7>OPvJv^edaGxPq
zDU-iNB1TVWh^(6K^pBeyG<Jyc$vtN0?k6boCL>ufnU!~zxtNI%xtt5<H4E?XLYm~R
zun5H_MHppai)f};o+X=twxEH!^jv_I-%C)RkQr0Un@q+!f$SyWD%g5p?mX6QA8_<s
zB@5teu(Nu>Y40tG8xFz{P)TES6NkV-*eqpfdSa<yIsfwZpTvk)J)nJ=gI~j#Opg1&
zRgmJ@LMhjj(x!r*f%-!Gp(I}Zoi2mvUlC1W3Z&r+0G8~&UWC5bh$|b0J_V*}%hYBB
zx0w><gjA?yL}u~P5_iPv34k6^?9^(ahgGK+%oqq!dOO&)A_XzSgmq7yz64NyVHo+2
z;H1xD<n5G~D^EL@5|zz=NE}V?+HI~$vaIE5Ok(@3Hv6<TN2rqNL%>GkKDfC^0u3OH
z1X%0#8ybUejpg)H_+XQe^FxU)1qxr_Ov<(p^18gI9eDq7Y9cScW108OYPa9t|5@iD
z{2#OH<c&<s931WS{)^<I>Ja+)&;p-h#AMAJaeRlP1d5mxjnRxBQrK9-h*Dm!`wy3p
zaC!yN1uE)>rcrjTc(PkKfB0F4(g}so=@ubgAkk7>NOp6POxF@midYP&uf`_`<ftB>
zo4-&I5JOQmTS^R7f6aHy0IuBM`ps@+gc~$TFbJc40Tau}yTt{b<-o>6d=^tMsF~J<
z$s>38^4-jadI~^!C(L?xgzWy~jughaa&-3lAOFScEdNKG{<nYa_OCbnoR2muJfNVU
zUZ6P6pft{))*_&B`HK&e`|*neC-eL9ADSzPlkpz}BA{L{IhBL;LZ6v~osM27nS=ZK
z7NLCd=K9)o-h6W2{N{4v#6oRN#@{3D2x+i&{dT`ycb$#`#^8lU$3?jugMMfR%(tl%
zqrJ$PI_im;=gDaa<D+;{6xhH|UUEe^qd!DI13vN{KlcG+^UQ?9+RBbzh1XQ0g3f^2
z(f2U^6jm-CBCv>nihz=U!s#088R{DA>goPisMJl5^1~(@80`fhN<(A&-?J<Kl^+fK
zR!iRSy*6myYsC9MSR;jh&0GAh4DBo_e(UeYQTIruVxxI7rEn(7nQ$gT#L`vis8o93
znElpF9pvLHY!3ij<>$>^&%V^ZnyJ=WYA#5B1aa}l;}IGLT@)UoF3{<{kyIN&d>Y&M
zC%9Bc!p@^=ZE!%`tNWM=s6Vh^v8OWh1=iZjlkbGrE%863(Mn63kF2{tUawp7|G?i-
zpQyKPeEtm~!;4!!*DPPtkv_qvy6xtB!uH3P7n%Tm0j^*tQ^cr_luLy53-s@G0(o2`
z^{=Dp)^E>&?Ek}h2s$}9+F1PyPyan!yGd!s0Z|F*%NnCzTop52840cmj!w#a9tk-Q
zIf%~>VSQcJcz0;6c%_zk3&w@j{Db)*U?v)Nn(Y(J6B%IQrI&E>MU*|;!DT@JfkXEE
z_hg&N4EG7=iRbh0EuXK?cYI%ha&hQ=;D~3{&YArHB6+qnyh}lpl6bbLGT`D{IV_X-
zM(@l)QnrcxOuu@+d%ysxBbK7O4OC^z9VNgJii+hFWji(XXcbLYbBFNFq{@wK+9b`k
zWorq)yxuN7_DB6TJvSWop<=6%rx|dhh7I3G;Akz>(Bv&-0VyR*(Qog1a#6c6HS1`6
zbt`j)-IhE{Psnho&%~2y&E}n_3w3YTA&WB6qn@@iRvA-0QI5or(qsOLVza^@O*M-<
z%I{;umRjMhJaZL|sp5(cNm{lhHpP@L0aS;O27?Xz5&8(N2N)OqY=YX@OJWlZQ-!e&
zYEB_$TmBz_6|{q2(XZrZ0TG_ueffj>^1DX6zz9pt2RrfIT8LumP3aGvl4kx0o(Wr1
z2A=%!oJo@Q#5tGd#Gk>r30J@+4S!-BXU-eWn-!&|S3knA*HAip*+_mKNFmzjB{sE4
zMeZu0Fp@m!jS685fYPM522Ow)OKJAi_JWI|sCRFXC2olbE_-e`Nh;bd^=5{-QKh~h
zMF2K*thDrYQ>UM#sF0WSmSMw|_wpr+{yA-cpN`Ya$2kLJu)3~1S#u(7ZI6ER-tRha
zRoFfJIf2NgY7h$@V4Qj~i8A9T43?qgr06xh;DVu`MY4Z47Hpi@Ari8FvYn3ueWy5X
zZt;DSo%kh1{uU-|%3#VT_Uk@!7K0QM26jv9{p=F73uZQb+)7u5#s{}<^Ti9z#qrdF
zgG%Cgvn4eAIu>rnK=#9TWsC<SaPP<VkH%rMz-2bMKpc!UI;lA2?Tv(vkX77_U3!*q
zT;^PKwm@HaoJXEM5tkbouYfZ|hyb6tq#wVqKENAZMcI1IzX0|xQpX#rm%=^_62FA@
z>E+K3fqr+{p@!|i6GC--fH+{E@p%|w+iiucQW(dc!SNbMe}tF6NTD|Iigk+5Aw<K`
zYo3Bf&*7x7%Ge3fMQVC`0?l!1Z8b5;(%7y6GuUz+uJ>}LTP)Y35!Pltg%ZZx(hZ%(
z`l-_N`1x6Xsmml{5N_fLN*;tuHM+=w&o%!v0E+w4%^Cpj<$x2GeDH&tfraN6pAg5I
zcR<JgR?l$aSVc+lA7FoH0!M@7^CS2lKa9V}LU8}jnc!bVq)E-qQ*p)VYkJajd*M_Z
z93LPcjL^U@NVylyzz;^u5>R{?920n$Zk|gVNM9ryUGLB}>XK^PrFZz<e+8HpFEoAC
zT3w;TI$_zFrA0hpbu0ecd(>Qpxu5B9O?4dw3jI~|XVYbddx!hk@_F0AWczE2wHqWi
zE*dy?&<6UW#xDlwX7>-^&3+5OroREGH>$6n45S?+KL*1X;%?0fp3aXUHf14@L)2)!
zcr#hOA4Y5>j=hBh0hK>U%-dHB5dwxm=!6%FNTOIvseBihx%&$311JDfi_gMHq!>)?
ze=ss(Gns|+mw?C?oRyJyP3JBEna)0(NR>04M*cXSWy+gjDwF75kV?njX^<>uF*W`n
zrDz~)^#iJ`IQG0$I~9h68D*YIYLdk)n&0G?OSSk3aBbo-gk81x{gFquxYV7N?!3Tj
zw#_`qotEMJzJPkaK&e_fidnKmgJk-V`Ws||@_5Tqq0)Zm5@=JH=myL=-C6&S=G~Tl
z9l~f{<5^*VK(i`54j6S*KHTWER;|;Bh*Jc09U;upU+GbxR`Gkkiq@zaXb@jD!c8fw
zSjh(EimlPFAY@Z5_Z~48RRZ<SQ%K|kHOw+@n!(_T0L+}l5R=5|_nM*D$)=7#hk#lk
zMq2X%nZ)OeM{~14we)6b0)ip%RIBDnv2D=7i4mOrWtSNe#fF`!phV;AUdC7XR-+Lm
z`kie|P4UV^(V45QG)zrO?a0v4O)X(zXz-Ap*^cS^!G{j=_R5X>U8AtUh2Jrj7$RwY
zV?~p^Um6yM$j%W4C;^ru$R+{Skwo8$RhqjQ_L2Z^1ys%T<r$hVScf>nk#M-?t0`$z
zk`g5pA2KWt8U#3Vp~DAQH04{>x#}qC)8T|YJq`<U{-)Hwy;S0^Yo(s3Y(lKdbA^pa
zPZTg|I$Cmz*4Qe|s%&?)(#THI&<6r?mSI4MKp;6};Jhr{5a7m$Aib>JPl~CdiyuwP
z=U&AP4{?u2XcuqmJXW>r{VBZF&t$@8b^;-4!b=$|Dr>=H_B@7Q0NgY*h;IN)jT;&i
ze??bzTU3{KwMlmgPW)bxPU!XPGJ7<7me1Q*1n5t{7*l+w?`~DL8${m<0@Ox)VO;4J
zePh8!bPZG)^0=aiCPKJqpft=|{3rZ$z&#NVh66)xU4~YYspQc_?etZXGj0br&n7z)
z+i3NkV>X(KptGmh70;Qtr~oXy^g;)Ij^>*176*r!V{V2)JV`hLLKu@0*4(m5F3|5s
z=tdRKtm4YrJKJ=s%Z3CRVF;Kd1D3N%L<;kv%ZU&IJI+pP*V$yGP?(<`Q97uERFz+o
z(n)M@33;wL<L`|=Ss{pdc9qMdvg$<1(Cx$EzoJP6U{1R}%>=3%XPGlo;tdUeYiB$N
z=V~?Hhe#V9N`(BlQP8m(2i%QhgglSf(lyqM@)V8P^D@(lex_y;K;LeVPYu^CELfbq
zNZ0UGn^!w%8E5xOr0~k{tjvF1?gHyGzbmxJZ<t6`m)E&q(H?AB!*&$7=smOWRHQLC
z*^EjPWzwkOxNJJ5(V2o!Z#cP0$9C;$%2`Drmvl4V6@iuLv}sol9K#?;&m8{f2v+h2
zeuyRM44_xeQilL>PAs~2N&8Z6rG2Jgp43itILEk;jyOJ58Xnn`HPwxxEKU&Ivo+!1
z$L<JY=4#<!Rgg)Q{W<aicHnGdi0XnM*i~+@K4)veWa+>P=fpwMM=HfIbbFBz+_F%;
z7HHNswhsS`CI&`$V8Z!vHNZZO7VeM=WxmWDSgS;mQxA|OR5GG^up@9>CP9Xc8|o~S
z91gb$11V-?AH~bBy8ebhYYL`&7+Gamk5VwqJ37y{rp^}is@azI${>oBS>pv(&1dX3
zAbs0~!wMlv9*-*SZNw^*e?{F9TgyhTB@~CWf;F@mrcB~0GeJjSYF3~6H@sak0%{nu
z>Buy<n;HW?wRufwdMwHj1tw}{r_e}e<1UzxZ5aa9PaCn7%zJ6=^6Yq&mt1hF8A!+F
zaw$?;CQfQ<*Bo#jiv-L4U@UYP`O|QN`5>B;hkQ>9h-!KS3&~S1YsrIq!=Rv$#2MBm
zqkDV@?B>i)e0S+>5S-~_FqKW1@_nB7Lt;iA>a*|MRL+Tqp_16H^TZix=?I^=Zqq$E
zwF0&dP?ZN1oQdNi97)u76dY9LFv14KDxYm~(}QYm;V4Y-lbmw)sp<IdVV%_N5YK9^
z1Ql)D7iUY*Z}CB-L7Y4jQ=J?r+2?odzA_m%ip%8cG`QmWt0~l6Sq?9yE)hYW?CFI#
zFeuq$@WeGJP&3D3axvdOMlEd^%Qh$h-TJdCFzsu(8qn=axf@hmIa0)KB}|66^eEbB
z6Td11TNbcC;yJCc4fkYh6R(qgE6t9pEu&(nB3xsx_p!Dfben3T?2R~e&Z`xu4DTmR
zb2Kr;kKRyk26RAFeAyl)1|CX7UGIG+cAZ^twr~CXMWFEl;%zpog|a2}jOJJ){5<!G
za#_qx&dO=y0Ob?qBD`*aa#;jM<sSQl{vb;s9o?~zA94mCfm1XB?Y@~$dMX}~o$pn~
zHC1Lx<(~ee+L(j+beW_60L^VN=kU<UM63Eh;5C(Bvj7mGou5MO9;AH~qFrr1rKu+N
z@N*tNLgWRbcwmtArY&bKiRQrRRXo+HykFW?B9kpq^A@d3lexT{s&~ng6SX^!$8BF}
zX7ahVZ1kBSmetj%!ZTbeI;Gqplsa99yLlXklYvo(Ts!-us62UtEC=GJ_7f}IPJ1=;
z#Jo|QzHxLxc-?+tE&`bHC)K`K(;_UvPrEc+0<49H7`$k+vK(G40O>zBdrC2z=x&+u
zD<B)?GB=tS@5LXJWwm%0p^~>#%#K8lrH5Ow(qWq;#%rr`(-mK``2*WYiaqm|howTu
zd(#z>aelHguqE0{ztuF=bzakaL`R<&IfqV4a(05wS6Xgq9NbL(D0`5Lnc`LB#f0AS
z?>6GO5bjNW4_Ep*4E9p{$O7GWO=9wDeIXRdQhC#BB-s9e%$*59&$*-IJC>zeijZd?
zoRL?a7+61?CeHK2PgWS(I*M~8IP-3BUJt-eqAUwh-7W~)sR#<oyAnEASqWRJsv2QW
zxr=#!orVf?Lw;?}Afz$*rAhDy*N$B}8y%khy<gkQxjyR)fOEYh`+O-J`u2higJdyF
z5$$1$s84KozDLgEH7$zKmeCquPZ@YGjugLl$769NaRvYW3Jj@fL-^88&O>Vvh~}Ih
zwP{9}`!FBJSuUovR8(uxfacr|^)WEQeO{RRC_md-?p<q<k>*?t^)WNTeOtI|H&>!{
zB*xadXL@n%gZK+&F|zkhy!``!^^pvhF1;rcFnSXcIPC%Q*V~P`y6+#V7rD{O{d74r
zt)e7CI@tW$V<n{S$X>ZfN=gpsiVI}mr-2#50<tR%{xSH-d;KnvBuMj4kt7PmGqQ0s
z=DsirRK*~XBud3sG7<*!ctmD3S^lW>O4$Ta`XIRyb~y!*NA{@na#;mYJB|XLYau1b
zbLgmY#nN#(NrS~SX~m@6VhhD20i`H?(1L0E{BjUxg@SVAa(5)=$a1Irb6}+!IVVUZ
z)^Jb}W)8UqU}lX1WAepHxyiHf3ADbo=`sfpyJ(R~rO-Baa~zTBMK^yo6~bfkK`w4)
zSVEI?PyWmj_<Lmi?(FoCxHOLNVw!7kl*TCiJjZF9m3|sqH_JFN)k<P2c?6WUmtW_Z
ziVe9MOzmoU85i>v)J9&(5I$|kv<e?aop<3sr?kj7m8Z1IS}B7z4i|na^=ntHRUmmJ
z>7$xDXVh*mcSzN3AZ^sFVfS~-HgF<!2-d+&X%qgAVDgC4uaUD<z-(^bHZ#Uy)clyv
zoe@8-n}AV8rLv88gLVR<`T3S*h%>R}`^!H#Ve$ZyRo83QG2YGd0MrtWF9p<6))!{I
z!VPU->0~nsaIFv@6WOpJJ0m16D}!4sXIRqO3W>1a<dVfvkF$E{N6stf%}MC~4t#+)
zTH(DN`=f3s&am_we)UbFLCT4M=FysO1vkFtN!XtI40h|>J)HHOC!)@yr*8%~?g5Go
zT#Nh30n4@f=G9ghXBX=}&2>WS$UEfKV|U1V7w?F54y=b4;*GBj&C{#;O)PDss3!#1
zc?W9Ddv^pW<lzY1+>5+d?1kWVL!Sd2m>u{bgqwCR_%l~FESH0As)zQ>NHzppKX(qR
zSkEwPtIBSc%(X$HhxfHRM<DNh_TH9w$F0;=ny1<KBj_UQEa|6cO}d1^F;O`_u)+b(
zXL(rdkz*kA=cL|=ODMXRaf-vT{9_?*W+znfYbU3!*Bj6;wx-_rMZlmYf>heV&5EcR
z@@68+YC6JdxSiwd&G3(7=`f9<eqs2A;^gz6d-a-TH4XkYWM)YiDRIWdi3!^o`+~&J
zrV>~D*(V1!9+z^FCks8UNE+?q&Cz%d7#CY!NW|yL*!(m6jw@YZ3x<i;fwn4M)KR_5
zYt6U^hMmnktgpsmd~WOsFysfq0WXY-dsd1L=UFi>FW!HCHSTpt++uv2wQrvy_b<6F
zsEv#}82Tm(Y#M-#0F&;x0^H=P=tANjJ1dK;oq@ZsA4TUF!g*M7d&X1{ACiR6MQWv_
zQ!WFG0ohqVLoXT^(Ak8^yrVj!O%r-ZPE`P(eC`h3Smk7We6bZ(2dZP5mgo%VGVrI!
zj-IrZ_qdy%JUZvReeFNs5^f1;h<J57zJeR}Y}B4{5A;8PF>e&4A9D5>JVUKL1HC^I
z>V1fRnVQIS4K%;GRY;HM)Ve^b4!6Dhd><W=U)ifk{Is+hmYIvp$tUN1JsinZ^gX#%
z;X28y9QF?SiXwdFLN~)97Ci0@c~)R}OOn(rhqO133FKU*6@GLIv3vEdp0A%*61W2-
z7K(0_o~oov@_I;~*Dasl9Pp?F-Z80hTPi=Je&a5NeCcR<lCpHJ?rh6KY*G@5_QjnN
z?UhN2epAFVS*bu{dG+sRjXmrI^{OFM^8gq0kRx#*dLpNP=XEQ&@)f+tSjIN2V;&+a
zK#(l7Gu{127d@y8AD<OIYE2~BXGpK4%9wbY8c4&sz^#i~V3$Uqr!{fU2v2Zzwiv#u
zN>kVmkaYAOO4Q+^O79A@P6-&AL@qnLEG?sru-&$*SV_A;WK8T^Kz9n3Et{m46+tl!
z{Qc+fy%Se5dO^CR%AqwMR4RbqB;UUruJDX4z*v_gD@a%|YKaLEvkWw&?C1aD?483a
z&$f2aR8+BT+pe%;+pgHQE3VkKDz<IgcEz@nyLxx;^X;y4?!JBQ^Q^i4|IL9p@Q!y7
zmWa}iE3oNyJy#5HOdK^XJueq2vb}IfqL<Lz<pQJIHGF(k-^{A+;6ru7zwpb-cRp{G
zLS?)lR$=IZ(jg3)%hA57h`gv!^27zlAI9J+W4}xQMLj-7>AteQmi&O8*<3T61Anvk
z(cRk{9IF@$r>Hc4bQQl~^*|gM+iS<a#UGfz35V*vflwv#wh6R@SY%1z_X*ryb%$7F
zLj{-Sg{<%ZQkg0{n9zy*>fUavn9YXq&E_-oo&$i-dOG+mtIiO<zrHPoA6jnA#rlhO
z7i9y4bR7n@DI{kxre+ZsqQ=MqT`z1Mj>{C(nk;p7l*ScHd5>fr*5*$(&)}6SMU60c
zvka*52+v!`>!3uI8v|(aT9TY@Jxaw-khZi{Kt6+d448ajQ8|r|T`m51Pbr-C=LcQy
z>F}f=(x*jHm+&}SREa-9#`H!&Z-_f`-sP>fqaH6~iACYsefBdgw{^FYih<a#xSN6Q
z=aQ^B1F-j>s60<+G*2Yip_S$2yXIK$HlVT|7j<>FODPaO>&_a^Nk(aV<XwB7QCRP2
zUy?dMC;5AuNm;{fQ;RksYzvsdWU2GVxs0mGOxae|GMYsT<<kQ8g5YZrZal9ikK9c;
zLK(0vw~;=(u8MNtHyW@DGtZAW_Fd7Bc+^ghe(u&hZ5Q_J`zXD>7Sf9HF^C#rY#`rl
z=P}QVK7ONesy>q+tVlXo8%A9YK4n*Y_b|@HLB<`a+yXgeI0OQep0qu4pG4#?Q)72`
zQMoI6d1Ak;y|qn$Aa|<d89mbLfEBwmef}t4`Pjw*`gw`fxNWRV9`NKrelW^_x^?ju
z*!f%i=u#d*hZ9gq)&K_rqWwqpqkka;{~{7nI+6JUni{0juz+d~Mo*!3Ia6AeEr-gF
z@=0Dvzdi&DxzWfJJ!!qg^6DC#*N^x6`*tuHum}=;r<f<jZpwN=j{@?nApoK3(BaT=
zGk&{xQMn03ksOkX>xC2#F(EST_s(P5`(159oC7~FpaTNDpBIH+=M<f&iQ--oDJZWg
zJcdHVPFT$V*g~pD8FCTBFQ{b*bB7uFxTfT=L|z`Mp#U>MFKDW!WYH_wMH0Hra#ruL
z#@O_pLXfGR%f&^YMXY{c{EMGO+BA%JVTanzf>(V$7uZ-$3A(Z*@@6KpscJoG&~3Px
za(qE*S4LyeGWyRuDN4I}H3ehZ+5y@ZW%*li9&uFbO}ods!kKXlVT$a-*cHs_Y}9IL
z_Ee1P11IG|G)@KSNABFGWak7;rG;gaB+AwjI%VxdUnTccLJfu!l@wWXxN+RKdjOk4
z28PMuTNq#YNn7r*YPp104EBBBC{yKfsu=^$s)Q`WIFivkgA|wi4rE@%3GiV{xIYKU
zE<+>(&h2ccN>&#7y7TGbPAmvpY&@f{_%VBmBu7aUH(Dko_`T2o<!$W52Vid$Hj@l7
zrJlxs^jd5Te<I;NKB4$l6N@6Ht%A;?PHWHXuh5Ph4`3)CwetBU#=&R{w5rj)8oc{J
zn~=wg%jA!MZNu76b5_z1TX@mpjRnd>@^S}H0WMy#(p2oNa)&t&YjC+T^xSm$`HlGK
z<}-L?KID-z?%^F$pogCwjTX9V(v}*16N9h1IQ=%6mz4vUnw10i<iA3<n4aZ3X5;h2
z5coNOa*AyUf+mQvXOL(y;E+Q{l7=!5BJF7oo%2_!YUOCB2Qp<LJ}*%qIj0lDWuJn(
zeup8qtr53h%Hp19c~Z)|<|#xbsQ+}d%}I2{WAP)D&NS@8>Fg5g*CTJu;?(hAXFV+6
zd{<%X@pfm9DPxEy*$ZCImc%{z$_62d+VK0=RV#Ul1C+3K;b013-EI1%4>W~K5I<kk
z&8`ci5cOyHj$lAbq!&b?p~-6NX`t(7ZURyCNhg1p+;pb&YNcg+`rNsAz(8AB-V0e_
zs~7D6L{`<)5Z{V;b)6v1A$Q{SxAs=W%{J;X!1#s$?XCY#=k@Ql|9{R$CPYt~1M|ZS
zbS{-!ye%f~aFxk%!V|Q+BT><~n#%4nSgS5#reLD#j{C!J35wV12whc;6GDnV?ny=#
zzJ2=M<q$3tPPffEt9N=T(OQ)@q+ian&2#h-UN#z_+q`DTOrGR!u`VE0&!VFh0S`gn
z2+?E0lsX!L63CJwCMb@1`{8RzVc|Ch8+NoV=!Lv;oJ74+*eu^>7pv6&axB3uY4+3k
zEFNzk%*L(N+9!SlLR=Z=<Jf+5(Xm3g2pNJk9!)slvrsw$o;=?mMudZ>KpZ&)?LBMV
z$8X(XOK+E!&j4)17QkDv{Buv`@Mm}HPluJE_$PWfEltsY0#-U_Z6!z{mL+18x;&an
zi6lRtpdfT^P`V|VHqxqmQSOmi2Ps72hY2qf<B5<N5fswW^-?Rd!^CpRRaBO4=O^3k
zm8Kw8=o2<3HD=@9<j_D-G&U<WSIgdk#6WVi5|}_QOtH6gLd|j~Ondqs#qO%5SYHka
zaGsn<x5>f`1?p3W&d~&xlVM|-&N#+iYigxTY*7jD4bA?~I|fA?tvucSOI~?BVia%1
zqi;fe!G#LJ=23ctXwL+^Xa}h|T2>iX@N0K&Tg|vua`)kAXxJ;8S}-X;njSs`u%yL=
zCD>63O+bH1!yuN0Lm~l?Q4CO3@RKh@GfXi0(5xCRJwkW=l4fun?(@~D;KRQDCjgAH
zZo0pwnzP&>Tko~<4#pZ^UL&%VJ9Fja4|9$s{<xecn|6IQS=KSpaIXxKPyu1wGA*{F
zgbV1Xm(L@T;6ziiL`*0=If{myD)nr$i;L~d(~C;i3Qj*Ut?&vI<-!Zi9Q>JvOPs1d
zG2iTud{4QKYma${VG+EYSQP!HtMEXyEYQ*%m}Zz^2b3t6%g&roND=pn`K85o1dNHC
z*l;!CjL<%U@Oo38qeQoha~U&-qpyeb8j8@jL`x`6sENWLsgFlG<=CJOGVX~=ksBA@
z#SYsAB1h^=Y2C;U-jl<xR@q5^l(+5QmJ@^LoIFwhl&T2u1par>jgp(Kk+hkEm7b%)
z@3{B`rDXu<2IE~ubHxq^bR>6+t!X+@K-*SWzDSrKR1q?SaR6oy1$<PBhnd#?EP@-d
zG1XL@<!T0cvnz@5-Naa9^e3V8{_E;PhR?~<)60nq5GJ?cbciF2Ae8`yN_5PD5vr=K
zazAT$QBx!~lr>coDNiHnTFitzm<#Hf;&fm&ai6Vjw?D>!LGm{_ho@JqcPHm_y+}gd
zT63icso|<b=1FZmjnO=qa`jbvtzLWdaD_l-Q@_sgWIy_Gn|Sdv(;h>~pj`wK_r*FX
zmvB9jZ4dNjy)P*yJ#-G+)`qGS$p<BC_M#8janLX^W$i+9R?I*9O{guxw8pT*Na>L4
zphe8O5q{2r81!i~;s#MOH>gc;7^OJNV_0~uquKbS8I{ONn~d8+Q#ZSS={QTT<_d9*
zdMN5oeI&8;&TT_mFpX70cxaPdC}ZzjV6;3qDZ(c<r)^GOP6*j&C0d{)A@`tppR_oG
zvKkljHd5zykxMT(c6hZi(dc14+h*pNu=fiUsQnUfuZ1ZV_jgTnTwH)|P%Z#JymLNQ
zZl-S0p3`m-^eNsZv}cqucMTY1lrl>m_zEM-GDa}mr6aE%TiBriyQFv&6r}Ffa3rkx
z+HUauI|x(K7g+KsNgmrYDE%QEdwkPCIFUI~ZXF8SL9?C!WcwibJgxl&Btg#V#tRS8
z?S~j}`~6MLKHK<x&e28xkBy1y3EGNlzqNt;bvE!o+YM{ERc9+`L8({;FO>ZiZ;|((
z^NN=lv%%`u*$W^IIB&P-j?=_w0`x7@AVIsCXodK&QNJLTpKW713dPdMc%%wrv7~CP
zs$_L;&7Mb+V8#41`O^u-A9igMNn929CJ@8oNgRfDdGIga1)v#0(u%unAljEiIPi*d
zjH-eT;p;~8g4AF~(1^lMuZVBOKfe0#s3mYdopfMDTE`SU;gn0q3<Af6Tdrb??@Y0+
zC?3%tK58y8Rz_pHMlpJJc~v&WXIbVojf>c&@!Ki1d=CpSY6|ep9)rnXDj~hY#Kp%}
z72+|N$Xj^*{ymk@*ANH~s%zWTlijfd63hClqR!mbZ*&wRT4)b20Mn!Y{QuRxG}be4
zw6S-i|AXpA(BA0(NJ*h&B|9sJ;!TI`A!-PNf<h^{cE}bAwX4hvL&)gsg+RjprqE!G
zBHHRGeChKj$by(?s{eW##gyrxd4khVVdj3`{E&IWJ=y$Fx9Q{g4)wKL0|q2{Uj&XA
zy;u5IFGb%}SPBFR?}W%@bX3&i{w~BmQF2tQ<}YKy@P39w3~<_Vqf9l_v*LvkHTT&C
zX@A0Ir~D4(gdp>|1l-k`h-WClUtbj?YTU~h15}&@8y7KxYLbWxA29q*j1zXA8yy9y
zvvBZD7b@JRrZ{TU<*_|V3T~QPG3wy&(0XSQ&E^wS;_~Kbh&Wlx*`Z9VC|T?E(-yc2
zgle566`Lm_YD39D<C?nc01IAUhK|&hdFsX#WhhzhO-+=(U$6=8Ux?urRJ<$xN}x)7
zXK(j!@f=^H?uS`qeQDMe%&(dCrbR4#j9o;n#*JwzzTv{XYcIxxi|s-PYR1fazlrH-
zBomWj*E`BrnWgDy9b@RwQ~yb-4C*hR<eDZ{*y2TjNg^^rQst+795z-H--Rr7RVN<Q
z5w0{3_;_V;b`o>oj*Px<z?3jdG+MPFnAfT%)+G%qTV}Z1zBGIn(JPkbA_+Bb9eI+H
z6Q3?+r`a-4rKSeCzxo8=xfj7~7xZC#+C7lEM;l)d0!4^*u&Rn8I%iu>R`dG$5dtGJ
zgzcQm5X$xa@*D{ZS<QfMff@AhQ;$8}rid(ivVeFku#|ldcU2YiK)VM<p(z}7bJZ$D
z=p#pWjSWN{;%SghzFjd0=Q;nN@Vu03dY^BmZ4PWG+)Q#}XSPdcgdCHnuUO=UVZ2o4
z26P`3Z+|?5fi}YkoZn#bJ;p2@@q?@Sr|t~rX5Fdf>oJN1<!@Gft&|N%B_p^f@=-)o
z74eYtdkR8eDT0hg3T=gM^b!4hBfH9^$eqWh#EQ1ZIFJfC_UAb4zh1vQ`<#eFy?gz-
zjJ3W*-M`W}Om&#z(H53fot{;8bh3-W7l^*UFc?uT`hf=Qz9-vs)lCc&(jQ77&hd#3
zGB5L1^87-E_gZ@5N71S5-$4Sty}WQ<fY@>#5I%|h*U;&2X69sXZ)ELg=_daFW^o0v
z;{YOAlt7zLDTqFDD2wx^psy(f(BW8e$jCba5h0@rP)fmQT(~iV_C`BBpD%O58$nv+
zkfZ^G;TPjybY;`rJbc{1z5}UvQv4zSk;J3%kRyp+Pm)*x0q$4WP2{N}Ff2jV(jZnY
z)aW3KE<Q;lh_(?Uo!He;Or~Cdu~RTLo#?SJ&OaIK4L=+C(Pbx?CWCN?TVSOo3sct&
zo$6Oi0ho8L#{_3RJ+5XHShjWjc`U*}UC-(EEB7Ll>eJ?ziRp8hmzc<|{eZDJo0xN9
zT;OI&Tx>d-g0Pk=&F|WxM79ou=LU%C)46nT35a`HbX2H&2KcmgX0A9)f)S?BD7O5c
zwR0%K%JIaK0`1F*Ec73MgZI>v{oH`-KRQu;+xY}Kxb#qG9{HN+!9YQb?Cz?#dfcE~
zI%|{(CZpXYP<Shv4LgELoRSC3jq-b+q<XIO(DtKuOm7TUFlT0(JQB*!AgipnoymQt
zV@{#>BlIdp4E6-*NY49zLx#T=-P$n$Jn1RGlM4M~5epd^n^~LvLGPmo@UBL`jc}DK
zpZ$^E^UNlC%NL;tBl4l4P_Firn4+SvK#*Yl`m7uBZoeusO0-_SDtyc1i6E_%O9mJ{
zHEMHdsX#^3pR;tnpBQUDNcT8!em;9Ss04yplOzta!@IRck(0_pM~0O8ISob}Qu^AS
z*mp<rbEz#R_brV(9;qpz%gWbVwIN-*kqF(ebVoya(%#Z{?YiM<hQ(Q`)w;~B!f5dV
zf@E~2PIW8@<;P~d<!Bl*M*`pJmkvq<k1eHP`c}(jd!t7A#Pb&QjhOILrLhd@*?QM=
z`hhmuQc_!=WxErR(qRhLq#yS<56#_Ww0XuV+=E_LW3!h03(1-B71OC&p2{&2>}KI?
z8cv^hgp>zIo)b?_8Ea#)Vk#-3rmTDipX8)bb6IHy)$YPv4%9j#Thfa-6V`+3c<2OM
z7gXQF`Lkc~>v7a0j&>zoEbXa%Fg@~<eOqo-dY^9$y}8Q-TZeskO=oUXp|on6`h%h@
z(!~cxvhm5?FeJWl`eTM)|3WI}7-H$vEEP|332`u-cEVM4Fj_Zvi)~~*SF@VDZeU3Z
zFg3tj>o5B{nXF>;sis7|K_r4b&xm1=g?uWBAI=Nd;o}|}fdUV<%FuluPSmAI_dPBW
z>9C;Z-5F?_J4<%WlC40SbfL;(Yf7Qj+B42o#sjR^5#8vBDr`znSx!a9D-OYvfF(0`
zIsF=F$6XJ9C*vABo3UJF@W^`BF15_J0e#{dg4}|-05X)t(4hMd3ZAb5^e7LAUm%<_
z{C=V&FE~SYA@O2p9@u8KVcz?}zr+jm9j=z5^Abw1rXalhz!l08h9~VkbYJEAdeJYe
zk211@BoyBtF5l05dLy=TlxxGbg&7`*z>~iv8hR+Q%0n;$F0}le;sm+6zqlV|?}u#j
zc41;}XrOVu%wYX=j4~C0WU&G2$g_Cj@z8Os>{ZY{O>Mpp|6-h1pF>EL7~0Wzfhk2*
z%uhYPji|%@cw+Z$5GMC45O?pRVaj)tTNBeAs*$D;2~k7|-wK87Qj|j~FkuQX;ihnT
z-JF~ih{Ksp;u|)C@X~%O;aD@SM-s>SVDJYV7;i)@?w@VfzvG#)!-B1}0B&~(;C7k+
zu}zBn8R`6)um&oO0%-hDc>Kj;f{A{FRtRgECedkOd=-;|!H@`#0>e!G6y_ws=|580
zd<pVOu}e#`@(ng@IKyK<Q`CC@=Hw0Jdx#gvD!4NS)VO*3>iOE8d4zeX%eom0y$#?M
zCVuacP8!WIGuw>mWe&1jkCSjHwrS!*6hCFc5X`aglMJ%oqu-+dt$!ibvrrIc-LPa_
zfHT9SU`!W55ENVAlMtphvXnJH7h{!`3zx8+jCPI}c2PBz#ac=WK9?Ev+x{kg*!;za
zOl01v2`O}&A@mlZzAAoC+EbGSH>u5@e}t^D{y<jNPcO(|5<k@(M+)BaokoY}WB7D7
znd$QlKeG@~NIxk<6_enePs;ZSZ?p;9j<xDNb>tUD0-Ybe#2Mco^P&kv`wl-d##i}q
z%qt)3ixD6ejuVLwVG(vqng`{hN5j<2F_bC3c`Xx=1doG}L<wNz)UrBIdxQM_jST+~
ziK_z$i3}jH|4#GwpKs(}!s2()vp4!vVhNGmP<~$#f<72$YkttR`)g|)t`rl<@&{+X
zP?ehQk5m}7YXswE2Zt{BUC!kA>g@-Ar1{`YuHpjqP6=-Yiei|_mxIy+<0&g>Lpt~n
zEB81S&k%*6@`Y-YfIvrx);{j))9N#>Be&g=A{ix&2()5gw8xR7h7gQ{>CM>FTU7MX
z?3!4|zK^)Y1=#i0q@zQw2BrL<^80v^={>oyf%E;ALs<ifyCmWgVgA!#g|#(s<2UXL
zi5T{yNC2?72;=|9P5j3kO1bKjkJ3Eq$Hp*&4U?NCVNO0MCdDWNq!2<VXguu{Nx)Yy
zezfV~U!<5A#ye^3mg{BZ<wlh%8mGqW_46un*guqn%C&{cor=rP@TWIhyz4d{4z8Hu
zxKT_W170RtFVY<*A3Qo;QdBp5?zz8%ztZ{z4h6(SWFxift)coxq_=U*{33oNxyM+-
z=KsQkisA2tcsl3{<q4j}df5yW-g5x!$-i;Ib}8((VeqZo)mvP@lV+h^-%GfxGSn%{
zw^Ep)I{M-p7~FQ1BR=9uks*hQ@9tv@%LBG+Ht_5v?9+X=8hPLIPa$tfKbet}^%-s@
zUz^=z-wTXK>wqDMV~^|C4i<RH8-IxXtzd9(!>vK69MWQ`k!JNA8a9hK0b8SnSp|&s
z#1XZ#r*+)KcE;%#V_73jwiGcNi6u%m7cPGpS*k*YPFf2W_FwL2N<UjiWlkIJjnA}U
zaaD-oEDj||GRoRJ^}se&&`&iplsFsJa;Op<JW^>^k9R(#V#P}hthkUpkYJC5ezxlQ
z6N{ryu8edujnM?cJe4p^RDV%ZUD&X48WB5NaSGBU>%6oLMpsN5+h>maHB@gHd*n&Z
zlUQ4Ub3!sVu!Q=}N^%c}un6L2N1ZmGV|}`y>Jp2YLaI&ar;VA_qSgu<pUl_>D0yFV
z|H$4f9Ok_f)d`|dSmn2^{dgntQ$yKMDk@>rnsq`Ebde!NJXma+;4JG-6*1xZ3Mq2?
z=Fx93oG%_<4h({usD)C?bXFzEa7q>RN<?3e%i3cYy<ayOE&Hw4k9E(N;_((VY)mrB
z;wR)$RR=g4H>HdEOBuwY+A2=$@2oL-?Ze2dt#XqRBD3vJ-#ja*xW^Nv25RaXQM9$O
z7^FQIX`*vsN<w)XIFw*NYipH6_7KD<zr?Ck#*G-;gL~&zS#gkm8#1krJ-D{C#<ym3
znrw;8P*G435S})qI>qqLFX$Bp@47Y;WV0bJpQl{DF8yrt%YkIAFG5X-af0CrB5_(0
zP14bY_dtkQoqR=4nEA<Zr7MpNuUA(36(%ap6_}5GI+PXV9%y+yL<=6hGembw9HdYx
zeLxXBlkEz|ySVBwl^qM&izBaUE7g_R4lRm09J7r~`gT{H@-7{yxxcTnZ$+sp6WQVh
z!B#0Q<i>TQ3k;clOBi{zYQ0bLu|6c}3LB)8^@{6tqmR02sNk$tPO2?5j7+EZgzTMQ
z0sAp8-&0Y+Da94q2HRCs??}|ZYSMa$+ym4sZk`nV6CIh2GG#bEjH_@**g;*7p@lAe
zg1(c8!>P2Uyg2sR5Z5#vURH)YvQJOz%<FQW?q%lCZY9)B#e1rpfIELCRQ2e=w1+OD
zAH>0ovwfPP41DQ**z6kJL5Cr8Eq{H3Vlfo6f#71`q?MoQPq~#5M@jdMY}cWrgKOL`
zZ^{)+v>gu-SL=z25-q%1BwaoS_{;?Udkq;&vWs#=<Pyrsc&lu6b31R6Ysm(N!$(w*
zoLouJbE#@EHzSsu<DfL+x-BJYNA6yT6seej&DH9vE(dYFY)PD5uzj{QSiptTjkZ}G
z{Orx}T+@TiV`%sbOf#ri)p={68#-L`CWnN<y+g5Z_N!?wER6}({2jT;RlK-&B;gUL
z<kV~KJ(Le~d2$lG=ovu?f*#^lvP6s4XAX5JcM<BHO8uS>j|edp)g17s!<GZ$`AlEl
zRL+P!#nFDg{1oDpl^FRUvpoQ>OIRR4gX^Ap;R&P1S|>V?w?H00B}XFfcXNVn_i(R)
zsk44udC2}%PdARbVKeluBPin(+{G*@_IP+uw8*<v#1_h@jyB*G8;mrVd{yL4F}{!@
zi+IN*TV@vG8{=y9dAI?jX6@GZG+XAZJ+)9H>q{;7QFdY-%tOItWdEK6)Ie;tNK{Tw
z($uv}&~^|{nNU^m$r`@~&WwE$5p&|X&w1tN@kx%{7C_MOj2vT`)lz&hthCdcjzlie
z3?<c}XzZe81BGkb6)rhJJ0^&{d`(NN!u>&0;b_`4Hqh3$VYhJC&AT`wjp_XP<#ZcS
zQ2qWZr-MU4Y=gR8MR7$@fdBftH;i)ErN}QKAz&}S1GaPbEz6lc+S+^rRNTQM-r>+w
zIiWrvriDmgRWWDf$zA?lOl&tMk5)p}fy~trsOM9tgX;6rMPIQOa>Mavry`wFBXH?L
z8S)l)XH#KyupXr^+xTs^YkT`^8+a%DN<jQSu|j0uFN1uqNb`b}TUQUafmv7tZI6C_
zrtX>>y{DV&5<&SQ6)cFmS6tlQXZzJ4b#f%pjt*2Y8jqRvCsXl4Kgj}kO)sfmIhOW!
zZvIKkO2PB=Cxh1|W&LzpSPb}T9;tBAA6FEJIK%_HeU5yLJdZx#P#n{=9eqr|{U^i2
zDj3y}!x!gejzy(y8G69{s_cZue|!p8Tu1+;&UHk?yMa*xxe(CywF9&g=qRr22t{?n
zjOv22<jTyNd9v!AS7oI#hOKr4EqqQ)@V01C%t(g`ZzeoUscg0A@_R$W43&YmWFGv?
z&U}5guJS0o-}}}VDU#=vo;4XL+o=;^itGuv%thS(8_s5V;&7@UDZ+x(jAAJAYPmAm
zADeXpa$eF!__O_HB0%tZJq0dqWAW!|m~4E{-J^FPV`IB*!05x1rE4KNg0wn=C^{J?
ziZPOxWHB9qTvu$WJzP!b7dyOd2aHbS^|oBA2#d$#YeZZ_b4d1!K_r;Te%7+&pLy=#
z+&P<rrAXC<$vyl}t65C60Z_T*(sW&!rgT^eW0k7pMjpZWSe*Psj(H?1qRApgt!uQ9
zy;$_0KYIF4=Us8HDRM6gQn$XnzjteV471+SSLFB@fWP}=U+SKpT*PI;N9U@+Q3URm
zz`z$p@7r(@D`<)L=q9Jr%)VlVn=QTuCL1*tb|B;VkaOQ<T+X@lC~hK-n^gtOTHiLk
z9O~`IE~_D;iw{re4u(zj7Ue3_KN?F4^2%iNrqendOnu$2tV~}Gb_3hwU7HGiGO5~f
zgZC*&XQ2v>PW59nr-IC^xDtjYc5|w<JwdxICcN2*$gqxxsuJN}!*Mx~f$o$usZYk2
zFFNsBmPnJY(2y(8U=%FBb7r5uDUe9x3HtMwbbKs{xv|ISIcL-~ti9DcY)9TRB2aLw
z?^yC<m#p%d%*N`;u5EPpkuhmk#fBf2eKgp0og@6}7()Np6>+p&r@S0*^p79iC@L?_
z=ja84(*ayhktOyB^2JEGr{9}tjVSJO(tt?U4Un1${^Qg{{Eu1zfa2Qy|5Sc0knaW*
zgAg+4no56UQ@Hl~i=gTA0rd+JLk<r>2Y9HDDrh(4w?aItW{PqDYr0&6t&hUJI{0Yp
zq>bHX<{@g49Vpv2*`Mb0#CGfJvM<!97cC(oGen9k_lMJ%>1g3kXJisW{Iv_@(d~&Y
z>0hUj5j!&?KWp7B5eVh~63+_s`WaB6$dDE;B(*gYN0oggR0@NNeUqXD@7Se|GD~=a
zT%37`s)CzNt45KjPGsoF{O}}1E)ASwhjWO@$Bk&a$noZPD<Uybhi$OA<FICR#_X%5
zDw8m|Dxg{Uu6HPPb5r%H0S*ip{bMES>#mD;8Y#`(FJ&$qe((<|eCQv}zSG?$f%Son
zXA9_Gb;e%E2GaSXs&7CW7)ohc5jNSV*na7KX01~poIl<QhuMhKw4v#Grc)7&wdgAu
zZAeIt3q2}>XdT$e)Jx+1tv{^&X*!-3AT4}=wEp|}<A3HR;tu@!e~iT%IQ~}G$&i<p
z1Ytz*QeQo9Q7J9G%MD%#)BP4nM4gKUrgu~@<KdjPVA@K#T#nB-8n@MrzZHc<ZUOIy
z+6PL;On)&h#dLvRX#>P@jF;#YU$sMITRkH8MWuK|7UP&}y1WV9lVax6#V?Tpf7`}U
zIrF1T!y;j-gtK9a#C?rEK><H8a{VP#k!4q?#B1yX#()?$kjx0H#12H_r|faur~)zO
z4RrB}ab&*2Ln^MY+BF3GtK=cO3P&s^*Tf~V1lsF7O7PA+a<Z7D5tX%9(n()bCd;K0
z5!w4QW=QLzGQyv0R3mBz9M3M5Fu^{v4dEy%m(tBVyPYP|K+<E=U8nkWqean9l$@k%
zIkT&)@JrC?CfB&GhHt<&NEXmHzsh~CAap6NU5oUqhZ>Yj&9nZVC8D+IJ_rG%@B=WQ
zFYwRp#sR<*$p2Ta_?s{a6tw|e3k>fGiZhkcILM;!OjT(w-_h=RpdsYtk>b7}i;6Wd
z9<|iU<DPM!Ilc&QJjXyx3(-phxU?S}CA9{^Np5#M+q|+K+%}?aP97F7fGpSMWBNmb
zlwlhkNxmH?3($e#K9N|T)S)|SeU%p!7fjjCTy^f5f)N^p;p(~3l-|a<a`APwT4>%4
zHlDT1`+7UR-u?a~9ELeTbwYE{n#+51Bjyturb2xOKJN991Lhp<<U_7ikf&Z>Et<IB
zxZ=_duYV0P3x{CK&Qse8Pl-eI!Q86huoCd1*#%cm+(V9h2wZ!#UaLUM8RNQh*(%;~
zL%~*|9_tT0IA+%w2RHI-;4BtuUSE<y$`}~VW|xe6olZf#<7_FIW=Kd>awX#F*4`@4
zcYniEaP3aU62j?Kf*Oq}RJzSOL+8<t1<T>@SPL*^2EK$ZosTf=A1zA$OGk`0aOnXM
z0iU27d|B9FFq(#{WJv1=B+UCs>w`$^MMS#0oM^;2j9Q&CjTyK(u+zIH)94@5D#%?0
z*-S`;+{<uaG?)?Qn+Dy(L?>M_IB8qP&_d%hc-f1aS<)XSnfj3ju&AS>V84lt9M5<|
zUQ13<MvT@?Or4RUxaW5%6u&|q%jPq$K*oN~%IOG}NUS%==N%}5DZf?*`9eb!MeR5O
zSC!nah2sHv(<BkIcZ6j}_9HD-sP$J#Y-68^1o=07s!awbxp&|_j9EVYa6hwWzHbT!
zl61x?<Y^LLXcUyp#<#$$za_&*sF&G1{Z<ODDN|KT0_bKd;QaS~_J4W{89ghb|0rYp
z&pf$|Gq|%eIGhOh`OX|t;anegXWyEV2)O)zjFG?nIV5f|&L9F_vGqEW`%9^D3@4k2
zFxh?Zx-VCWCmJyC{r1;Xcw`+>ww9Z>e1kWVoL;rJhQ7VHw|oI_C}1f3Q-JilxO(w0
zsbx4!IE)kwLDx{vP}f)&us&lIus9hw+i#GN8LoW|3xGAA0IX5uA6p~97G;eUjO?7u
z?2QcnXzBm&7HNYdkHFI?x74FTgYqiWs1j(Mv$_z~U|!;PA2OG3B^G|v3x=i@sJ#Yn
z@e#%+fV}z_yM1%38f96>V-<649P<Hyvh!hZvT_r^afC4F2@Jzdx`y=L5Fh|7Od}>o
zN)xI?>5DR=$PrAc$D)_Gs}^FAz;AxIwzkicL8$G~yXjCqIv&|@vJ$lHHbk)c%r#kc
zx3Hm?#lS3>Y@Wmg$B)!@<lcr2q#p${Ys-$g5W4GV&~FeD$SGK7UjKtqnOVwf^@P>Y
zBZ|GH<7??~tCKbMj!$%WOC@Y@jzaBe<o<2{7pt`AFIA@iB*Mh>3dvLre0`|tyuEIn
zOOU(!drt9#b}v(LoS~=-b>U4iEnR>#iEwrXv*2+0r+2(jmhDV9X|ieyH)q97rhwxo
z9}9IPN0{d6U22`y@>QmqCc#ofoKSHMO$q)1?KNUbu!4gx6*E()rR7b1#ciRx9pQjg
zKG!d#1>4OdpIqX<nXUKoaez0_8{oQicM|S$8yn`w#4v`z^u~SQG6-H>pybYB`iX?@
zQ1!WXR;JOm^b$6jd2)5T_C<;;bR!g6fm$SJQGaDN>{UBS&ifpjyNH@|ZU%u;(2wKE
zck)8PQ%YlRNI$hHDj+h<r`YM+&fP7<X&-(_<aH#@RAA62ghQ@~*N2p1AeBLoLx)FL
zoES+^x<@SKLzW4tMUvJ_vdna*+zXyq9fGP<9V!{G?0;j6sS3o0#F>H*S%B<KQYS*;
zf%@dD5YhHkx<ohn)zMvPOt#`>&K?Luj#;bsE?VEM?$OS)8cBnjN23i@gZm)Q`W5)^
zk4wDSbwm+BjTZsuzcWGn+i-=<9BgeI{@|Ydqc8qv0a7`V2d;+!CNN9VESrJA4pI%m
z<ZIW+_rA=aItfbYgn%ra2wxCe3Za(oRfbPq4Via37lX(^gUNbB(MU`3Uu>i$56AaE
z1CTh9^R8CrgA7n@?C8|<DypFj+7^o#<TVoI@kQtbO;9~EOMa~b$1OwU9HnX1<e7o3
zyUo!XONk#Z5OEX3)bi+_NeL3qmoJUaB4Q8$5ZdxMNJMaJ@N?rNEYO@iTfdcGcX=H_
zW&z(#2MBZiS*`r9=k$L*TsvA)rk4Rl_`*U0q@W<?8{#lf8<25%Dk74<W8YYHItAfU
zjMeipmOtHhVL~0HVo&ZWr%JEP$k(SkJ5Yk?zU09sLaljD?xb=RU)v;O+441sX>r9c
z#TT*UiU)~@oa%u=HH3W=Lx)4w?R)r!<NOCHZT1dRsr938u!It|=$T4OE`^R8j^U)u
zO5H8J3X(SrmjNCp=Gz{FT6@3JHq;-eBsv~)IeE}J3Gl8q6OFt}YVQNSV(6(&Cu=k8
zdv=>~kgxSM{p!l{rEEN%c!8+3`MZADT<f|M0`3P5;PNE?k-PhkI|6vU{}sL)8UE(-
z%H`VuSBJq}m_wN(M?nvy=&RytNTHvNP^=JNP}CaN(jDEG5SN(Ms4t)o*cndIcYs#y
zc<4v_)Ozu{{zT&A<>Lvw#c?a&+Yt-`Zx!@hK&9l=KlKF?zfa&&3WXA1Sp?P0C*un)
za}x+p3{1HkDpTq~HH!<;#1FGzPQ+z345Js_neubxVT6E{{I+!Uq+-No&zb$0K?M}j
ztkC?K{lL$q?$U<&rG$G5M2eO6_Alu}>III|CZ=lALg4r9^`0>GZBm%8F_~#X;3Fc3
zmTbI@GSW>;`b|$!`7r2dR%PDb@~iy#NF%qW;FtSN6-hWx=3qnW+gujT+Wp%R9k-^B
z6v0|p<^=txrp;ki9sNmH_~WE#R!Dy#Y-pBf^8H;9Gsu>)<p2Rt0)+9;;&CxEBLF{*
zfvK6npWB-L63kyMgJ?!LK+8b*gTPPUK=0^N-Bd(Dbu9rJS*oj_UM<0oZ{TyTtkCdV
zIpGM{SOzrvCZX)~d^eu!_&_M`bewc8blg1zOnZs_hI=!%`?Yiq&4|W%SDZ;=sN^BF
z6ezr@7IdFcmE>}I;D2I~L;E$3PUc477X~qC^^2(8@-C#aHJSCGla2X|c0xeBY2+wO
z5Y<B><w^GZs;mHX3zTO|Hu%}PMOrtul+3!leluGUWW~Tgx+eR8^Ut~_|4RwYtWEyI
zb|WQ2f%y@Hh~Mfv`x$m{9SwX%5m2-u2%6~APJh;wo7YI1+?vwu1K~-GZG<yGiVuX5
z5a3O|&;$AF`RVxaZqFLW7!l_fhD4UqiV8R|ts_2<X2p*l`c)#q#5Zo!P*!Sn2VAYR
z9$Ic&PaHrucsp02OD2CFmR1gJNm)Yn`TQld{hc~)nFYK#^+UWzG=nwpuK8&NpJN^>
zuklVbPmq8`4!*vQRAa=d;Mv&`c^=kL_wPDk!E6aG4$y}tfN^sDBjc0;kQV*hb^lEt
z0u{yqO+SQ8u>8kh3O`rYfq4J(VPtlGB;<II%*(ntt6DXev~}UVdG1Fb-gvtPQmCAP
z-u;saPd;WVzRnFkpzl4^pJCxs@o*4L!6h`v@|$<0?p-PJs|3V>VSN~k=)(u3L>vw4
zqvZ>EMELv8s2WR+XOJkK&(hlNaXt12p6c-za3Rxa4;&4QrO30I=66H(Kh?g*eDy+%
zOMOV_$Rbbw-g(Z7chIVg4i4Z|T8T^lQZq6Zn!HidH*WiecG+iT#BGYmF%GMh6fr0D
zxs6^Q#vC@F+7ihDebdBO+1+~^1(Yr!vPgXGN6x^wPJ(wXGCL_OGtoFAa?u+cW4e^v
zcir7rpHful4;%02RBtqTWCFP^#Xg^61tK{=SfD;8S4x#{4!)X0D<X-lXIr$r>nNpF
z!Rx6OMCXMG{(DfFoV@5;m%lCYYMX>r2?9vR8NgsF{Es9gW25L~VETua{tr;%H_ut1
zXa(5nh2V`Q;Sryga7{#Y>^rkjKUDmk{yRb#y{_1soPd5fnP@9*;a<gtw(@%d8B_?_
zJCIMjo%6*?e8Xiw%X&syib-aQiOa|9+Y|Qpka5r&afV+ghx+U&zxs8=h$0H)^KC`D
zYk-+UTAK>DI&8~Hs#3eK{O!AF3k`AYg2v80PU4K%XbP<pK_;D#vE@B4n#8X{DjsEe
zuf3oK*{ufQ8Zds|dDm4>BCOh#21sA5z|q%7!ZkIT;IfdUX;x#sB$|X>3}HgUS!Hb>
zRh-OAcT$$jahsplo_H|`lXs}sQu&_Xrja(TmEfQaKZGv|Avc_Ge<*BA>&clgiozve
zPc3fAAd9X&lymCUxNqhkz@Uri4IFb*I2)$VMDPnV#0k)nPm<KnOC_!+s&3O;=JfXj
zBGW;$^h(hyRx6j<$@Zh*MIV!@BA1v6gq0*JULizb%%vN@XeguXDWgU)(q9)UYxRH%
zmT<LHFpeoCBpUcwUR5P)&i1XXq=7CdTYk%Au$la(WXLdF^_EpQl%1u^|LwJ6PER{s
zY|WglS<y%h%Mt%YD@S7|^|SRM;k5fipfxyd28ZU@?5Ox`9(FFi87XaQ{5_((EeT;c
z^X(m6FUlvh>&`BnEPV=QPd_!^_Y_1883aCIBHhPNdue5MDGMliKp+l7$g-bmZ&{I5
zx>2>j@|_~oQhud|HDLuH4_WdpQqW4G-;{str9!JFd#bBa2&Turf;{0=7mR%p={pq}
z6AAu;$rJ@?UmxY!mh=i~tq0B7&^i<W*X)}{LK~-&rbTQfV6QmxwdbHy@M(n-Cut(7
zCL4=P2<(U-QJc@T4gJ-e;IUy$<9ALNXYneI5`cog0nR^50A=;f0lTRG=7gMNB%yj3
z5WEyE3`(I9;pN%)fzCl&k+fX>>hg2y$w<pPOPenN?pTTv0t#-d&8^pi`Cm^G2N?{Z
zpb$iYrHdJ5Z6ZSy`l>=YSY?1pTUG_c^nU7a3vIYH#z5r7_^>e(C6##cU5$`od3B?a
z3AwESs*Sm(X@aI*Jh}lqcY**r_eJ3As7Uhr25H|%Qd#Ts6BPjhw<ABV9?<4hjsY$>
zUCIeh_{QJ;FpD$<Qy##|I{;Sx&vHU#YX?9*)4|xx$WX}0*2vn>$lAc|cQaSg{$qI`
z&#d)oy;6)H1wjjx#OUI)?=_{$*SLWmXfge8_)+H;Z7Ub{TFo4vzRs;U_>MUtWPC5c
z-rkE-fmu1fh;!qMH4o!ImiWcJ-My^B192`WCQJEmM~1f6WW*8{5@ijr7%PpHB*#s)
zLGeV4HWlu4gnp*vmeTVjY&Pa{u9~=HQgt`+WVlV;R(rN4upHDl6A8tgG9JHtV;=bR
zfEh2{IEMKw+0g5Pbq7LsAMTGuxEyPNRqrLZRKp9NkZt|~gH5Wc)^Z`97|L+`I)!?1
z2V%|9p~E=Vg)04)u#4?`rfR9Pv4iI_vc{M;86|ZN)^JkB1Os*63afWbd!E(<r`K$m
zBn7Ula52RRgE{;zr6x?ot^Z9psKdat@@V?IZ$$)i-$}=Osa-q4Oj9_yR#aFv=8?oj
zkcXR|WE$DT=4%^?AqMYw>vWM))6h4dD2z~C9F1n_+$-X!@Eb^&k{&BH<#9(`J_Oh!
zKVyhe`2(43+!cQ1+5&M6@Th8vUZml<wNSKZ`IR)3L}s;5%e@;+eJZAFsbvIU+<I!q
z>fgC>&-&o3LLrW*UoTMg)Lyyz!Ijheu<Zo~$6RIb<Yz8PsC!Q_$+Ir}h+c+$tF^Au
zH{KN=!U&D72wK1do6ke8-@&cpnQ1<DNyjdB(VmYQ39>NW$iSluIK<{nNRGf73QdeV
z{oCI|)z~)tm^K86(((<3%m{_8R1$=D$VFs>v>`r0(dP3_A9hf@g^nfJrVxgjnSX*M
zmD+(aI+@nT7?_tEW2?{$$RDzduTe{m*yh~PV~fO=>p3O6BNI4UslJWsOUQ1RB77q<
zOO7+A51f%LRd$z8>s1^JFh?hPZ&(q~w8|-O__`1oU=E!l68LNr9FFYsTWKUB3n#n?
zU;@mr|Fpob_b(Rre*vujoi^CmIQ~&Uw*50qEmyTrMOH;wXBQ$1CpHE3RI;d3Lz)sg
zDMgJ37V!F7<!5SMjvFhE0mE!(Ok}!wF^GRv8il52R6Zknrtv2JHZ|`>PDm0%MHkq=
z)_jmzJNe}$)8qW|p|caP*2Fgpu&1%c?*Uay9<i$_6kLj;sU#OMPTEsT(N;T>5*2?d
z2*sx;7dZ~fy2LbbSCpz@CowcCXSA^xVP=K^*^h9(R)Mzgn+B9L7&DYL^-$?j*f4_e
zp6PHft^j|ei_&Sg5JV)7HdyA@mo7P<>jm47t-hs%Ia;6CQ+!+`h^VncmpdVyM*9%E
zNyc)msIEl*RePTGYqC4fX#|Lrcb4(R4#d@A(lx)iG0x{QMiZ_^WW^xs=8&??d&>hI
z0og*>MQIp04lN|urG^9dNF9Pl6@f20)eJ0IY*3kIn!wtVKnWDq!m2B><$ej>U`W^y
zB~(~`IFbiWi)Y#Dq8aMJHVg7>Cq+!iODe((*`NdpvyVKZX>8ogv{mbMQj>Ex`(6g=
z$!@)I%dA2MalqaDT!QZ!B2uGbXeNa)CIVR_*!G`K>oT+Ea1|#;d%iQ$SA8*YMW-5j
z5H+A5Z`UB4L7l=epw;mm(D}k8DT-|yS2q}TWOlTd9&;yeS?V6=w^1jKKEBsp!NAe>
z$+A(6Vkt6-phjoRgP4q8OyUf@1Z<E_i}5ym8$!$T)7)qsGtMN-+RCA%nvgZw32Upj
zqhQ}+(4txiy|4dtA-tMp1{2g6J}QS?XLMb=UaP55Nipmg{&vWz^ug$ALFB41xfM)W
zjkR-m<CR@VNp{gT-2}8y=7G@G9cx1V8FfriZ0zn*WYCu}3l8WShy4O`1;6yEsR%*f
z=?Jz@u)&C`0Jd-PN2Ol7bOeqEs$+?**HS8ylqC}=-o;C>j=4+J4m8tp#|o+}tjHZ&
z-(E+YN(Y<=+`-YvT~?8c?Y1DBORHh~-TLCI5&gH@_FstThs%#0mB!je>pDIZ;GxT9
z+#~JcTtxCjXpGD;6L%CR;mIm}?Fa4ymicnafwM8#SRK6&*H`}En~JwZtHMNrobV!~
z`iL*7)P{wf6Jl#0Lmoyn#0(UfMN%7$CD+9f<!Tz@3=O%REs^u2WGC%rup-J`q8iFw
z9^C-wov7AalYQj3ic!nM!J2kM#;nR-3b1_x7-8M)qj^=+$offMQoE8Fya&p?yUDqQ
z63uT1=FZ+fEU3q9gLe%uWy(Ke1?DNU<+XX~qbI90H$tUr1g93R=${_VEo<BfbXPF}
z2WQS|ltPyl%6KIVeW=2_Ig9s9#+eLqGM+6t)Wk*0o*s~Ekn_Q?>!IiV@Lfm;n}Sky
z{?bue<MG6lDHKV#3{>O-b1k~fiH&tY{-srdw%hK72}?0dE|cIEC`VFTHk<bvUCELk
zIYH*CJwwK~k@BSAmZcNZ17QGD0w`i-9AXD|(+OGC!_;YJ5xrw~VNmWPpyy!3ARw_S
zWimJ(8lOu_a|<aBo6tKJzu4dwSmFsx=$1JlIx7B(rTg1cAsxSmQm{kB<cSn_;P@*E
z+z?kb&N$x~zd1?^TD1}8xKxXgA*QC{de{=1yD8*0m}Td}Jg#w*l}`@oT1NnGF}bP7
zcM%D+svG#zXVg~wEirpc4~5Ys$sdcoFK7ryI$iIVpE_u^B7_~w9-+4VgVC?{M~I(o
z1o6QyQ~7>UmknSNbHEeza>G{aKZfu~X8_lmF#K56s&6vCd5E06w=-t^0kM3(%Ljr<
zB({NVsN=dw4;(S$y>bKK@Nk-(Ud77dUdN!jN!g;nT%WsxcILZ15eb?<gg&53qo%F^
z#f^0lOqn3b04F)qmPCLTHxvw|0Y$Gi>u-ddp_23GI3sRQTo7A>ZaS3gU3<nDREP*t
z11(*}<v$`<s~s=7aQeRSnG*9ZPv-r%0dH-B&%1qqKu`gYoAUpotml7!2&8NPJ7E9K
zA)XN>4h87*3j2JiN8XvBJ{-WwcJZsg0(}8xRAN7i7Mqb#b=dyI9iN<Cgw2kIqHJ^J
z^VYIXuL=ab4p9zaC17*m+M_U;PZhy~Jfl|=`<aqW;ed$ND(A*E9wQC95jtAEc`vWp
zqWYGJyrxi2tYGQO)n5HpIITrLV-61w<wio_G@ZbpgZaJ6RoN1Q-X*C-c&vA%Ah^Km
z<a!cV&WD>}hgLNeWbbBBcXzu18$<w<fP93U@VLXeVlwPz%qF!d?{9DAkK8KlKNxtW
z09W+Sn&JQZ6)6}Q8v&*z4E{oa21ZRvfc!C&J6Eq*idyOAkJguSup?|M3)b!T;5bC5
zxtPMl{O-XD|HrDP@!WVkDsX|vo+RDa%8MvjAhZMULU5A+J=$i&BtcK|F|t|VANA5{
zOOGv~uOyX(yekP+vJKDG%h<}D#14KTGf?D&IMP4iq1wD0YKEmRhri{!V`k>X)tJpQ
zZKSm)N#wect6F&L_1t}=Eq@Uo#`8m<;|#Z2Uc9%iM@xcC@*$R-SaZ%^Z}tMt38r%o
z^!5jy0t{^5M>s>5gN(;b_->>9J;vtkm{tD+Jzxolv;XgO>faH?@8LCITRA|d1`46i
z|Fy0B%|Tx63?v(eAvW2v?Q2s~J<Yt4WQ*`+HFu2bAG^_Z>k#xoW$zg>o;Yt#7H|K+
zIRjBBIYb8vB1dvlc*qfM>4XU#lKEb{UH0i<M5rT8N2(BoV4?E>FKa#xL85@fTm}yp
zO)4kd87N8k!l<tqNF=*c8sEv~gIWU@6QxGN8f7p2kS%ck=`|4>52sdC;9fuj<CZ#;
z7|%H$8gXGvh;Km{2ktvY5itg95eYHJ_V}9P7%U+Zfo`#}&Fr~6U;x}4nO+p#7|5uj
z{a|M_a9ssf0SN{i;lmyJ{o}zg%?z!PLA$;e((p2E%>FwDJO)o$sv1{QYyC6MP#VwX
zKyvLdrE_LCoN<CM`f+RGjsV_$w4PcZ=?UJ&(AN3<@jFiXCIfyj9qp;>bc3IpWb$xm
zl?^T4($UOs>z{l^ky70O{joDBfP(+u*uNs6Kxb*>Xk-0H{o}8Q@GnR3Zyx1(l@D1>
zWt5LK1q})t|8BMvDNjWbD>Jt$n--g*E(}vWD42ncqQ*0;m&?2M{dQHhSLF{7gBlFv
zw+JER-TlXgBNk1+5TE#~wMB)IufXC~GY%I#51Ers_JCcyZ*PG235aDZcq;NH!WGO$
z@;Z_PounC~hg2)^mjp8Sr8UAu;M9)?Qq1^MLh+!zjd_vO2v9rP0JL<Qt|FX4tV>@U
zK1%`MU4AK0JDwj=7^$@l$}}+QKdH}K<A{2*NolxBzkq47*J7p}^z)3qYe_;`b7}+?
zYK`j5ft#@^r0VLMs&9#?vcd`O&gCBM2b30y1+K|hi!*?(rJp<AF@~QCqRSQp?3yY%
z_90XlsT|3uQOXdfAT*VwwQzM+p;W;B`s8ohwHt#8{t=ykhLRCr9U7v~OL=OR$?{{C
z%8J3bseIHa<tT~J0LY)oIJF0lsc9EtCw!rAv%(unpMrXA1otkO__ItvHZ4pyE>j~N
zjdq!&aZNm)a&W~kjb3tj#56rf93(89E`k|-jG*d8p-}fc?JVSufrhNQFc+zaBc`kq
z{Mv?F2Y{?wK&$&i4mDjU*iS}WM_3dg4(caE`4;$3|73ZFurwI<cl0QfvF${^)mQ+R
zJ6P71B3Rb;PvA(BUOTfAV_W7@>1Kt8Z;Ww>Y`y5S4RkXl7R7s9@=rQ+r8-X~W-&2N
zLWGJpiL^?plhC404r@wIs^fN|q{T$+;liwx0mW#zG3UzUfxE&gtiv{U4SpyyFyUpW
zL!dFr(f%_1I%z@$0W0>;?)EzQMVng7?9QkpMj=&!DY=e6-Wp#aT$%|BsE+y=w4hZf
zh$VwtCT`{F)63-#LP^>#QMA{m2Aa!4q*+Z0QUzC?i$#hLF<W{=lKfjBmBv?kj!($T
zH0v4NOmIa9N?628+0hT4%?q8={0oi=KS$*U?yfBC*cPB1wmjt7t~ykKs5SI{r@dYP
zHqz{>s!>-jC<z{g=1xG?7#TSzRyDJa6FS6Aya#p7A&@F5RC7h2!!1*I8x=X!AcgCl
zzO2Y}J}*z(NcUJHyNEhV#AcQ|s?E>X$V0xIZG>hO$t|x@M!I0_(sZ)cl&3E*J3jP*
zvYC38PL=LD$Vm^c@Duh(+zuN^lt+)C@5PVc6<KFG#-Hhc*A{}8G`okeIu&)S%DP0m
zLJ=Txb0h|Sk`S3z99S@o_qYq#{U`uNik7-}NU-%1<_O}*AktfqE;$Z)0D*j2KuDJ4
zE>wSWwFJ=>S+4mk@%qgY7nb)mWFX`bJZQ%Pz$#+)jOMcEt9BG$<0oj8&SZca?3KLU
z6J1IwgqQO~sj;tOmtXG$W`%mxu#hLDVrz*z=ym8;9WW*AGZ}{b&W9J<PUz|X+3*C!
z^B{th@AH(D_iHGEN4RlKQ$%@oMmbT>0)oj2$9U!zut%u;J@$FkCgWr#;bi8nMT76f
zvaXJ&Qm6pv&7m;<c<L4E^O3$66Wv~N#?Q_yBA1{h6Q1=0g!})8wReoJgj>4>gNkk2
zwr$(CZB%UAwry8z+qPA4C7q+&_q_M(?sLZIF?Rm!Upq_BTJxEp-4e4<d>gw_gvs~)
z3qQ)l*W=RYyB58Fi{G^V|2pITw_{Jt(az<ckKpE{9lLpX<dI*k$eJDJ@F>v_Bg)G9
z9sRhI(8FL1r-XB0&Z1uRNl+KYSM#V_pTJ+}c-jpn;c%aTp9;fHT0qtq!iauF&sjg^
z_)fBJy1RWpKi^<_{o;kO;g~%SgOXR`_+|Sd0z#oRBU`_bTk91Addr#>h7X+?S5BLm
z&AlD%o5;Dtk^?N81xRhX9d}t>mWB!FijfVJ){`I5)`0|f-{f$HLC04a(DwZn_5s5w
z*O$y~*~FhWlcuSr^DHZjotY(OP`~&nz_eOs;xNZ<=be6bLcfI^*w@apc;_k&hJKMR
zG*Mr_i)IUUaNB1il#R+5JvrlAibd*9phjLmM{j1`A4*VI)Q-kg-Ej4x!dXl85rNWo
z<tR)mYMg#qs@CN*S`D#;9C%PL9lcJ-dFvK;&!5sN(d8a5O@yo-=UX>z?VPygl`I?J
z3zV~0gxa6m&NR9&q2?am2QjL)PSuvcf>gwSoN^}2B3ChX<w_+wGlT_+t~hfJZyd9>
zo=%rfAA2!%rGbD?ICqntPA8wrbp)Z73l>VEh70SxaNIAC70%#j?x8ypxCX5Xp#RjJ
zoCB8#r7o@$@4*!z42~o?L8Mg*%Hs~ft~m>i4Gm*CoEdy&*d-psbO?dQNsn^?nX?02
zc`G7olGQ*c^(+cxLP#gi(+jC%R4@1qUb4?=`)FV?*soq(H_s0A&H-5ZNQJm869Dbd
zDn7B$Ry@24I@51K)V9&KFoMB6(XR?OvV>ZW!k3>C(P`vjCsW)Rap}jbIVn6iW=OmV
zmHQlD!XTrH4WgYFQ!C2#{uee6YDUka;x~w+PxPNQegAnm{eP+7|G;yaH6gr^moUD3
zGmXvGpn(AW0r~*|9j_hT^%3C%Ab=#`34{ESWL?eJpfa=DxTFxPn}^=Z)S7`*t*U97
zn^+@A2b(~PQJSl(TU4~})GAf2Y_5uzbz62ayGh3~gaq#=CNtS?yuWTfd)RI##bS9u
zdu2e3=z;Z+Qr`!UE@Zuc!HB(-`v1rp?`g@dI?VdpalIb7WvK^zf4u^Mfdk7;ehn8s
zK~Vo};NU@wm3`{CTZaU5ih6_Vk|(zLi)`DA4=Xlbtsem*7AgU3=mE*lCN!u}mVEyc
znCx3|1IvBZ%TRwxare>G#!W=ahv>wYa*G5p!+EO&=5yTZB#V6DarbnxrXHau{!$D~
z2R?{~<38rEC-Kq@Ovh!fP0dZdhe9@fhXql~S+A}Cxg3t-F4KP@tDHxKWw+~wxb3`4
zLq_Q!-}TWQ)JpQv=l}iFBTsN%3f+Hq1@V~}@oXpGnt^@p_v$s)1NtIWymSKJK&bAx
z?E`-Z^@j%Cp=4lIDDs5h+Unsf7t;LjkRdM$Rs&fQ7mkD{RaLI3s@|xtZ>X>xNy#|J
zX{NHGgy2}>TH31MDhv6z<|M)ff1Lm~Qaj5J%MXc~vZSv-xD?pBS?T{#tO@tNWf^&H
zF~5o1-JZVEJ|wk$QnNg?%>d|BDaIcYi4cqFpVujBv)77*>HWzP4uW!Z(ewo9bb;l@
zcw<0QAU1$ot!iTmy6hQ*>;avFW`Q96*3Z3D5$blt(y$rNttWlYy)?i~=;6{uT!!H}
zT99nHRd}C$M@^Wyj-b8L92!MB1?~>M<})RJE5uIrs~5QguV!P=WyE2NLHn7Xy(GI`
z^4U@l!#_?H%f@!GAFV7}Ajd(q#iI$8s8^EMdKAw*97$vvVPMyk1smSaVKGWnFRt$L
z$2S<GDgTi6)|3h+2x!EiG)=cUxsNFWm{Mx_0uZPk880hSiayLif;mTx1@2N<(ifc}
z2W4gL6Vhs76Vxv-8s;5eMB)*8iFP+aU~Fy!+Q$QpO1)}Q68sVLrl6p&`_+YSO%^r?
zM5P4%ZVDK~$4X5%VcTT6f-%A@<l046RUYD6bBt7CRu7RmZ~m3IR#?k8?C}^!x4VNr
z19qta)ly8dKR1xUmDh<x6?`#>zB|TpQH`p}AWf@yzjT*nN<#387=aN}C{{p2<GE_j
zB*22nTmhV=!;bzgX=#@2DU!lthK{_E5qM2A)z_nK%M3wZP7(g-(PN3O$xiHyxJhGP
z8v7n}jp$`7{VSV7jxm2xe|MjESucxEa3BKQHO;@@n4Rora~Q(%Mm6&c4#m`?M?Y>Q
zPLPMi!$7a5zLl16+QOGewXO2mT-?g}kCv8TZ1lT~Mq>iLMYzxtgQD&Lz+@&sr#C^U
zV~l-+i&MiV8xZWH9DVL?t_$hhGRQE>0%*Z8lGD-II-L--Xhv@Hq+2<RuYQ~^C-Nag
z(~^|M^JBuN$khUSb-0Nawof9W0M&kr5*IDy!ty$0@yT+o>8MB{VNn1AjISZFps_#2
zm0@q}Q&5~)#f>!1#vieb?C}5!AYWX!7U9;6Ci0{PulfmEnxP*7iX>}L?HP;WiKoCR
zV@V>e{`d@{4wgfV3@33G&>SS=DH0|1K@CXc^Vs}_d#H@rf(PvUN}ukyk^Q`56kkQi
z<mtl;KVW-bvJ6QfidpoTDZ;Btg3x8wMAJI6PiP|?uV=exO_Iqaql$u>mWvE^7;6Sq
ztWCz_EeK^2&XhB#4^THHNAYY`@Zw3Fw|2ElTGU-r?I6RwYSB9q#&aFUy2g@D6s19+
zk)1xC3`t@NF6Y;WkZsTiW#TO;kH(p!OCBmdVP)Bu^Tg1CSV%AtEcZZD=QR5<sdOJG
zCxb947&6coc9an}6bXeDy{bmc)u~i9Gl6nQm%ZuBm@OyO8hf;?qsTkt%9)b$sU2w?
zD6F7K;P;;Q#q)x@x<W``tY`$1i{bz1Px?rAYzphtpjYUP#hS0{dkjt@>uxFSCRl)S
za6BqnLR(E5h=(_s=lId}`lVb+Y@|M|tYhbo)@^f_DJ4gho!k2($c+Qh(nAHI3U=g|
zsk(yNE3i;H42VGXgUMp4=D}_G+uPX-+Jx?!kQ)59e}lTFVh={oA=UlO&>bS&Xsl??
zn*VaJR-p*9WIT*$RjDM~5ACV+^t)cH_`_thF3|#Z>d43`12uu?ZV*$PS0OD~I($uI
zFdoC5qC|1CZXhcik)o_}8!)_(nU|?Ic?K(EO8w`RuE}<Rfq&vKhw(U)isKMj!OF;3
z$n*uagcMpGZ;)!g*SIoKMyon8&a__Egz_iUnIzLiqTUFcB?413W)}HzU))|GA1X?X
z&t!+Rsg8rG4#V$GP%7US#OpZo9%(4@Uve?g*@-WH^R>AMX23kyT)G_Xcx47ZmS*4*
z?-yLv5xL5jTXHgYCqGy~tk`qQXlSy8*X}~i)vIly%$J~f;-Af6Khs0tW&mx=F$+H>
z7wWr?*Sx6`#hWOOe>^Z|YrMG+@<I>KL<dsO+(VA~ki8AEUN4S3oq42#EaMt{!sCxU
zSc*y|rP9eXdZqn9)cM^XEG1T5iR=D}YN^8}If$0-DRtZJzGo=7GPeJ-2&@Ys_fhHG
zjG-l)nqd;23j4!o2xJqfIimNpRF~IU$7z1kaPTdGottuUhV3C#99aTx##&{d>$8_U
z8(qwk7w?rUV0_O$<COBvjl`$M$br*h<JrLHH@x0=0`Way1$A~u=pO~k0`fg?jcD*#
zY*N6z9;NosSRAHTaszV-BoReC#VV%<&|1)P(Uc+P%7KIrz+4f?khlBTwKRWF`!T;D
zi#GTTj}Hm})-d0OT_Wb#?0xR3XY4zP-maeqZqX~iunO%SdPsva>f0E-vL$tqxu*AB
zFZCx;9MEQ9vETxC)W_{S7RL^xu~bt!`7brkaea-wEWrm-T=6!YU`n3&Y|aMO(-hh0
zYNNi{=)bNBq|M8G_6ZK1jR+0!w7I3LG6$_*yvby*1`o3+!b{7$YO&f`Z<P$#O4jUu
zELcUvLil081naO@i*`|54^KibqM_kjmC<l&&QEw98Nkt+<<O3(9B-M9?+LO_IG|=V
zAv2Xjdnm)Q(F~|+_H9i{UKT*w_NneMRtz2~gJeHTA9wpK+d|RqBS?kUm5(IRG7g=<
z;6mtF8|i@KOq(8?qCD{%+?nzPL@my$rZF8O%mzx7kP=0vSBQ~T53pDCF|Pv!V@lg|
zh(aq|vhER@M+19ch}RWD11TqgiZ$;t8=`t72r^c)$Dmu3I3cXh;xaW}0dDh!P;9Ed
z&@*CM=D@Rk7PjdeFQ#yZUnUHsY54+xDVpZkF*xPegKhV>W_d8Q(oboTlSXnf{9<kd
zbHXfxg0hryWP&65)e}?;@*AQmA+6ZMd}2zP`_R<2;1(by$@F(#8-c%yVV~n&u{iW5
z!|Y}iE%l{|E?TlFYO?9k_kZPLR1Z`9r2T%N-T>E_c9yl!=@0_b{zMeeWD@O{P$h3h
zI+|<JC(SPbBpIjEfoG=WmOTaK*f=;pFYx4+U!_)8r_7(iR#z9W->_eZQyjBj*dC+%
z6p?Aq^;7^pQ{Tt<LOZA8%%XK}*`d36@U%0a3iA3=ji*H6htY)8Xn_VM5EjTkBFb2o
zt+`jo%B;kN$3i!Z+wp^K4tI0f`Dq?yRZeZ6q62nj9wy2aDQ02HJ<ztV(-~{KbOYl{
zc08{;N#xxeVoSutnN3IdSrKb%WRu(GEhAQG(Fb-Y(gEV<qU%%j%&y|oc-2eR;O5y2
zHLVexFX~o(t2=D=3wG^vzXSH*i3TRu14m5YyW)1AZu+ebu8zT*Eg^s8izi7b;6fzD
zxLg-550Cn^DSK%P7!{^uN1bAuF33!kp_Unn%fV(E7k3NZHLfygwd&GLb;SFsr3>B0
z$aeU{HyJu*{bwC(yMqqqPMuqRhZ?oiTrEaWkGkH5)_h-q^ojLO7|Zb=&8q0k7wPGf
zJha_Bw0I#p1J3R!4`*zVN67OtmCL-=Iq}*)soDcgPo$Lvt<w@W=|=6*J|4K@whX4M
z?1c$#*5PLEj&0@%7jDC15+q?cZh^3P`PS%*aRS|+z*sb3&j(O#@hChv&vj1QlcJ57
z-^CEK7Mq2e2yrH;V5Hs$@34SKeJA<>qP)rl66r_xjP5(&@Iq*cH4DMm<PWd-?!4Ne
zZ&`epzxD`n8t6EN@c?gDvZRa?O}T}U;EGF1*Wics=`e_@kD<mRk@%!wOf)-@alxc1
z+pD4>yF}0Ufme9EDJ8{Fz7V$O0rv8+lZWh{fw8OdbMJQVncqNGVdf-`#)nm7(msU*
z&uY8qrHRHU_1*i_JTlc4>}ELK2*Rc*Em(sv;gvWf5)td1qGdzcpe<B*=X^q4bkN||
zizFr@Ga}+M@r6}zIeAz`!x_4k)q}wz8+LyQaNWbCfi(xQw54jVP};42L!d*1chxs)
z87-#AQh#$~Nt0wcfL(K=MewN<{`%ni?<jdD0YuvAH!2|x`k!irjO=VpEzIctCENN}
z8~%S$yNi=H6u%wLLcVn7OM=9;WDDE@5NrzJe<;KU4hSTr$B?1Zwn+`xLX=35K~VOD
z-|T`+gLCTsjU;%mE>S{;?zt!OWMEQF_oZod^YLvm$OeEjgG}B=7V-{B%CHn|duo`b
zYVMA&%4Enwb&wy$fe~xWopKjMVA7ck`HU_aS)(==ondh8wB=l>vU2BgH}6R4Iaf_h
z@BH4>;<3vKZJkP>wqwWXqt8xic1nedjt9NPN`CHg=9dWwQi4h|0-1u*aUYBWYB9A%
zv?4v{_)<Aw8UAxabPP67XQ9pwdIs@*l^o<fWu^}M{J{#>yYUi3<#X=$_63P;++>3R
zXpNh2Lw1A8oSLN1ZoCB%V{HOlxV$&6H49?geW##Q>=7G=1m4k-SrYJd_uVGuGf?Ea
z7Pr29jxVDJO<fr^<8e7U3a&5&BlIEENiofh1L8g|!(#?68_+hn5~<Hp9rW=GVNh?A
zikm{qrqIkGRtovVEr*6IL_h=}bcK5a2u37jN?la}8U~8Sp|Z5Twg}#v$~RgXGW113
zDb%9FIACmM2xVB(_(h6?J5g6XbBF{Y;|8nQ`jK%FNrW8y$X2w>C9zaYTeB7-2Uhi~
zI6ObzlilI2I!q~_NEUycY4UhR9x}Tog;~^1NdV0=Zy#|AxWLG{5vjmpPnxEX1BSFi
z>Hz*qH!gdQyX+6ZLX#4)Pr=2H1k!B$R~qO}X(Kv7Kp4b77>tjN=q1^hAp4Lt^ON)e
zRt(PR1&GY0P4TD^h?*zyMTsQfLh)+S@KglJKG5HOk_=LC&-{w-F^4Ohlqi^~89~Gs
zg0=}|!suO?W~nHBdb31`(%JmBa@HV>ucmd|gA>DD3ZBFbQSnV$=&@r~^;O!!vJ1p`
zP;U-cZzTC_5E|BkC)0TtwtDy(tEJ+tkv>v~Zp5DNgmVeRHB{A@I|+l$(Z5*G7|YFJ
z+?6#t%LS^o@k6+?36=@F;6*L}s#Q%G2eiun?l!r6+gnNeN9f+a_K}OTo!hs_N65hb
zf8^Olf1B$J(8Fsh;mdE!Z^z<N;E$q|m$LpSN0eU#h1ZV5;z%YKjK5MGFLl@jejy+1
z;D_*sgjMBkY;3%k>gnR;0rrFOfKsJVZ`9B3bv~P{)K#{;c6q&jD{{U>#76-_iU~_9
ziRUdfh%}*(E^697Dz|z81Zu~<QI<Q`y_&qMU_qLIPrDeJJnH?eJ;IbP07TSOERrcD
zs^4huEOb+jGhb%GMW9ll-o7qrzcdW<;1bWj?0u_I#nEEc2kIXzm&jN+SB}h(n875X
zUw_Ml!!yJ1{r0&ee$2imQmKfJ&HACVk{~u!aJTw;4=-65JClT{n5=<MTq&&Wgn2J!
ziAhrT#kaGw-MLjNPcbW9a$$T?K;rE>DwJi>^T>b^I^2Zd3g#^CO=D~}gG{&!zSg8-
z9RZfGUEdPd>I!T!4!a%PLRa9&cJ&>%gmP8`artTUF;y_DXXjk;JQM1`WdI-t3Tl8c
z1HT<Qg&Gj-PV6s+V20!ledi7&*9(8WODs*mWP^(Mi)nPSUpr!~&nrU1ZwR^ZF}tsE
zv%2B_FQJ#G_YVW8-|Jxc`;X_pSqJ}4;Qa^q6&?3C#RGD1tds@8Q7KATIG8yaH$6Rl
zvTAZ%1i!GMzEeTwC`mKb24Jw5(cdKxGRi@mer*Fh6C5WGzei3sxB$Wh&_Z<{K?tu#
z!r^3#1@x`hJ&{i>@T?NikgF`9oqlWTU`>Sx$nH(Ap|s2Mlob%u+4EvgRZkS_ambp;
z(wq%-kfp~l>TV|qkbu~P(1OUeTNuJ5PB5#pxq7q{BlSp``KFjwOe-@slP<J>G>3AK
zO}3NSNu|ywd7VE}p1#!>ky0-<CImCKM+r?C_#(3{r_+k>o<=w*jWgrT<TtL<+27rS
z+6;rd@%3&P3s{_jgEz^`l}>%dvi5d#FHdWBu39*wDHQTtItc3Lx<P^ch0+cW<a_1(
zUBKYJ3)p|w7yswR`}YC=--AV~|Cvo4s!L(yuUG+ouD{eGWPscyJVBx?1l{-MN5H_F
z-Lk-_ZaV5rc~{F^&pbB>cUu_sb7ryN>IJChvU`TZs<xSqgU`q34=n#k;*XkLT_B0W
zVT$oain=*NbxHgPZETUJ35Tk>m9@>-Jpt%Sps@;qYBbS-Ch3(X8voLtEeneqWHA;j
zSTWqJvNk8((`7B&aV#sYyyq+%mT5BGA8M8o_|tWeN8m+IF^6E~twl?V&pM=q&uP}_
z4K__6rrRLhVk_xZN_h#t>`@B4f`R>SojPSzzEew56wa{KU{0c|TDmx|GOTgLM-H97
z7%y=%ln<9hBHb-o&qIV@#=h3XdPm!u&r0@ELQ~Yo(P-<3!+8sTjWIibTv7_;UF}?C
zO`!pyVY=Dyk$&`SIam(Ii~;9BWvoCVk*5s-WwL-IrYX`#Ck0>>fiMmL9my6Nume3z
zmMnugpO>HER-mfX9wT!P68Xztr;qO$foPNgVWqBD^)7nQ)K-d#PLYIj+YwR9$wF7s
z%1?q-Ssjks<um_yruc#xA^dYg?EM9=$W0QV$W1=8P&Fzhpd}D;sls_hD6NiPLxUm$
zx6d?W)F#R*fU7P7ZIxCi{@bA~#-lefP0t;HD$1h^%6l6%d*E<E6V7N|5sjdFRYYCu
zn$WQ(ULeRiJnjO01XQI*LdDj@Gb5L8RtoNM-kT?;trUK1yLYOmK{iJL;R;GH7gSN<
zrr}b7iZ@S=#y&CwO9mE>?B)k4-M%ZoqcOV&8$Ab?yw4E~{HTx6qYYfW@(1*RHb}d2
zf2@#M8haq4w9acFCs$t2LH_mUUqp78gO6Lj-|kkXsQ;-^;{Uj)RV|z>{ud>tTJ1YG
za|z{B*OZYiog2s)0W`omUYZfYKteqM9y+rqA<QqIT8DH@3O#LdkPRxx(u!I|UW+<_
zxhVjMleXE=3XG6uiMFY^S+(;fbIa=am({O_W0O&7P#=hd9lGbOpVy8(PSfAPnGfS%
zx?KQym|rdhfOyjb#FtJ5xOnl~JhGdSe;B#(yWfl4ej&l_7Rq`-gPFYKA>oY>VDJ(n
zg+9nf5P7(xi#^;zK#My`50Pb)C;bk7QN}ghEsGE{esDk`%d+27K#ApGKp_)x9}joT
zO4&Q0%z>AX9!k9TmK<8R_ZA&0%}xt6D}IfNI60hTn&+mQGE?!I4yWwGhcTG!KPe8c
zWWN{$%1ShqCl0zZ#6{ifVg>_wMJswOh=8K(De9fug?j0ahP1xEX9amm?vvH&dvWRU
z+r~VzSc#U|cI6`hxd_0~_03$l9a}|QAK>yL0AZ_v!rWTQ*BwARy=Ls<dArW5uk6ry
z1{GY=*^aTFJ*~V32kr3MTB0J?E_Mr-)uW$1hI(b!s?DRP+*;HCfw`{aY1fS!vy<bp
zJ5#|E`+5|$IRBu^nni?&)LO>s)7=7pZua<tz(dT%)wS7f`PiWb3Y=eufS{2$hjTUu
zymx2-Ay#}YFYiPmW-?3yJANKbN&c&UIf-ZS8vL|#4UO~iQM7x>$1bn)E#)cOQ!K49
zBKB(va&g-{(ZKy3S=kzEU{6VUAp<!34Y!+V$)3`gj9Ijw*ViSob!9LYEqSe3z_--a
zev#Fyhy@I&qkjGdCfNAv&1&~^-T*R;Z30bIo*7!zNu8|=f_K9U@!`%QE!4V8f{a;D
ztRp&jz()H7Dp-cdX3KFg=#fIx{4_t0uOf2;Wzr!wO2VUrehs=?s_%Y|%UFmQ{^|Fr
zBMIxNPDef%C$X*vap0(CJ4Z4C)_@~rsx<iX@AK^Ne2_+;M^Cn58`MmhFAYJEwYkCk
z_7e4v{-UDy-?$00Gx1|f*iMdxxUxnFBqf131U&WjUh9Xmsv$8I=;VP()4JI&sHMX#
zi^!2~ZfD-%k&cbdj$ZlS78BM-*2>5no?YGHR>r~fLqZh(P1+hcW1Z8{ePMI?wRaM<
zISCBS)5$iNDftQmQtlc9oK5C0j6DVWm6$ytk(lds8UrhLFfccvYC~)$dsLJ?#d{m>
zDnew=DBl+0m_3zyE?xP1KVN!6@ODEfeTw!*Ucw`CEnhHvYWC3FRRk`YyUj6u!u2TB
zy^_<l1}Ljk>n<r<;S63_e3(*%7`M=2exclWgS%P0;A|)5edO3FpEobV`>FM{Aro4*
z;fO}W1uek$netkwd1n&$*oC=;8wzrEGJgR2F5Z%TXbkAxs(qVqQRrR3T+u7g4D2v>
zk(7Mk*u|(D8fudszJYy?9j5Gcn7^dTU(&!&{<^~hiN2|d6K5cfzX7k*!n@O@b=Esu
z>f994?N6kg&;YTjaX&@henGkUKn6*Kcw)3W6LxzI3zbOGJJz5S*RbW`T{3dc4Ulwu
zRj=@GP@px5xLO`iZ5_?N8={(WPO*?N9J9GZH1NUSf3|ycJ*%{fbr+FO*^`*M9c8So
z9E@`ZQzFpzgy_!BwrHDRJbZ;Noq$5YfwYt)R|Wm!Lo2aZDw2M9|EVq#9&n+^3P+_1
zDJp3(2TP|{!(;G}3P{rgHYp%Wes;Mp4I-ws-(ReD|J$e?i^%eZ`(iLC6sH3vCkmjY
zWGoa{{?!5L{%T3)XGU>VLO|Z?R#v+x<d}7Or$-V?@<cWVt?46lHyJw0&>;YiIVz$l
zM}j8;5=m%a+oWUPGS*%KNnzoxc)T~MuLvvuXO?^skbdXp2gamg(9UH<qkN7T85CQC
zOIp8&xnU&<sy>M7edQ>UrHxNq<<*C(Cun?eUhzGlBPHcQorCqshMo&TFp7$U@yK3W
zEvDEs2~K0&fGdUaB0=meDf}`qQ091}nNx5mriibIU}&+Pr<FYtLRlN2)!gI)X+HW*
z|5Tj=i4-Q(78Ewui_Ps|{Dz@bma4}d@v)k$mb_W5{n~;3aJ*XT)i~?>Ngj?+kJ#IR
z_F(3(nUcY69~zu1%Qpj<VFh167rDYGNXweysvJ)c8zL7}cwZ`8f((nasNZeLoyv>)
zz^sT!2qZQZ^fdZ7;X|uI8`8cFKN_jsBMz*6QWtU$P@oM1*gfEpP@wY?vVnq+Gz=<V
zTEwgBJ1^&1qQ|NcjUtTfe))`rT|fZ;P?i>7fGEk5v?_1Op~SkgUGT%K$cjOXX+f~&
zh(-XuEb0TY9{K5x2uK2>9`n5K9b}d2ITzr)9-t$(x}t+LxFH^Ml_scDyvQ2cftsJa
zcqUGmlOU{}AzTG3q@60PJ(7(>YKYnhF*wef$l1#=Gm*yZ_W?O0m4-ZWh;EqF21>6$
zT*F?H)-QxCi{qEsP);NGlE7ZltV+VUf*0tDtJJETJ@m-L;OuY(eKCsRFd1clMAAq-
zR>f{QQWub*D5Z!w0>dy_Xgm#|jXcS~k`x{y*)fhIL_jtHmN$0qI6mV(P5cLi<j9Y9
zeLMPYRY31$w_n!N1Z{kGMEg;nU}7Bfhs3_F=Quu`;A#Z@AH;mI0`2C^LLTe)TY<|V
zo)-YvU0B^`E{C9m18Oa~Jz8#mAMVIbgpnTN-)M@yXf9?7LI}U#PuGY>$pUneaLkH6
zN}_sXMGvtVwk$=7;|^ybY7k(T)>D$>L{T7R`wu8Eg2<pqe<Ch2crZ;X?Ki*`%!f?9
zHzYwnuF2iw;%B|5X<e66;pSmIC9;AgK2i|+2mCNNh!BkA)hLSHRL_^QLA0jHPRWCt
zu!p*ILR~F+C|lp>h-`OICez?!>w9ya70Ia(n4IW0jn&VckqvQn3S;|C!1zv&G>$;p
z6AJM}zHkVzf-Mz5*C!42VV%L?tYww3X(t(AXIL~q`Z6k?puoMEI??|5ppL(bHmtxD
zwr=pe%;s!|){OXI2%-v<d}-lkl6hSAgnro~0!ypj4`LZCl?=i$1dF)D>_8zy?Mkm%
zgPqEmWZS625m?q3eiurI@hc1i)jen!+pI};_EyYd+Gw(eEZszo!62K|0M88DFsd)H
z=xCwnfT={NWg$(`njrdlwoa0>aK>32=HXJ838{7%5%CQ+p*gtxP<C87=adyEH89-y
zDDL1bG3J8oD*gD<^>xT}|B`K^GaR_fSi^X#doe@mvUv4s^v_?!*@8l8AJgB@L;de(
zqS$}?O#CP0CU58D{2jGpWa8xXFWPf-%+xod7e1)+p*6#ObWH2|ZlBwaEcp;wf`8Q8
zHBE<9qck-~qM-Je;5%g}oCz{RsyC#hBJZUvcIKG~Ah;4J6(l6+B1K3W0t>4@aLK1e
z#@K_1TLz7~8M2yPPpv@j(%+<Vd=aAJ&4OZ}$FbS-BPIK^p&km&a2aWJYbt|2s~dAe
zbc7cfz4&92i^268Qz|X1NzFG<-ImR>7UKCU#}QT--7LwnsdlMhQymFn;bC<W;#VTr
z4?(ckGO^QwR7bwzs=!B)dz^0p$G;<$T!6cMo8Lp_@jYbx|Lu_d4`bybH}SWzs)}K#
ztPCKF^^8V4p*%L`7l8i;-bjUR7#*^8J%>+9J^p4{>~LJb&=*otUeHnT{&&CPK7rtG
zI@MlLYMLo!j8T>&(KuTlnH|@cX<{lrJKhfMRU%6^Om({!^;+>5B$M2^5EsW5GQxQ!
z+KBhJJI52m2$eyqjG@j<#mRkHOs)4wP$9(z{reU?4;4lb)ZFr5&mpTN-iyZLHgyAg
z#&8Gmn`KteaI5KnzkQnznZd^|J%%toy{K>RAW4{zAR1_<?dh^f1=EUO(%0DqL)U*{
z*OoW95Z!-2k&(ZdXaDtL`(K>#{}br_XOzV?I<hFnO<5T@IX!=wv<DV=%v}M*w~`6M
z=VEw^JO*_`_OOy~U}qQX+j^b&er^!Ygu7JdX&4;7@zIrs=foq&>3ZS)<Yq<>fSDUE
zAEOWk{D6SY2y*x$KNx<nP*fVfVwb^;8zLV!5j%a~BqJ3Aq!H2(@)&s%DoAH*THH<I
z{5Zr1A7p*``L|m~%F<L+%h`HJdODK1^!&RD&ynU+y<dy%8pagIVX8%DMGW<O^e{zC
z%2Q%fu_55n$`n?~9xeEya7Zgi0EAU)S;h*ClI<aE!u<ApqDJhd<k_0d7V8TK9(2dg
z5Tdv?Aggi41<_$5Uy_CS6jRA#75k{9CeHb-3iEa*#~!m34A+k;!GpO`7A~_S(0$MJ
z%~T4tJR(MI!6PvVW%DC%N!*SQ6Hdq+NM;ntmKZn*{ht~dgq2*db`g8l2{Bd9Gz*!R
zR)XtIj;z0}Z+EYCnL`~wzms#YDA#9e3V^eL{)j}NtyN8)uC-;4;fOELj3S-VK1<c^
zJ+9x|OxGRJ0zZ+f%h!jQ0Y#?9S`MsF7C)g|X_TxH2rKL=B8(s!kt$Ogi40LLD?>9l
zfBeeEpH*y!12Re-ND&aOH3@l%w_PX^rls9CE;U|On^iKEOU`h08F2RUP_dE0Eq9~&
zDxZ%Hp7Ab|H2EzjJoZySzYbH2rO_$e?!sS6(yOpAR<_Ob$83PACh(;?=MP|O&5jj;
zx_FE3Go0uEAO5RRh(R>ED^*?ybYZsYid?^qHX*k+$=O6Y-P>J?pT>_^KttzoXxVug
zWudc2W=9Awcv6P@KToHOyz?5<8V#dVnC?;hcg#6O>`SYkez=$+-v;pI{kTQYDJ|RC
zGmG&R8-Nfr6Zy0?1RxFfjaZaJ`l9}gSm@FtELW9Bb{rk@`!PRvyFLe_!)a%a(8&lO
zmx{DWoiX1Y_l8$TAc8y3%FlgB#Qof(OBjW_0gVu?kQwB*9LS`aa=b2;<^C_EHz_Vd
zSp9Ff7wLOj3I8_-l8~K^jh(HNw4K@iu&1<?7WmP5v@92fm5bbe6`)eIs&-LD5QY^r
zpD#Lq?g*}im}gXHDi84;M#60yIE!vO591xZ*dR((<9O6%uMu~CGd8_;d^*3er%%Yd
zpoo}6_Ts&!5GGDU_R2!A6X(aht{AAcv_4m9%eJIp6P$E&6G<6eiGvE+84H*d=1KFk
zCHw6B5fs(|ehu+XV^(Ra^i*nvTBsSixri%w*K+DhiIA?NjBkGhZQlMPBW>Q{qY26K
z+K*K)(-iH*Fs2BBMQN8Is1%P~b?9=bn3Eq$$Zhl=aReMhDeOXaYj^I&8hVHK{_Usp
z(lyl73*P3EV%{T(WBO}%7&Rfbe?p4NSS*%bod|N1P}?O+tV&S8+XW@uSwg9WamUuR
zo9v_IjU}Ev_!ChGnJ%fD(rZ8^T@}+8Hh01{cK|Y&tpHP>i_GmY*f(qM{T!P;?A`7d
zT2H;j4BDd6rV!~i0=U&J;@rRR>UKmn&R<j_4(|Eg4VrNk?h1JH(JznNBE|QIehkb_
z2S<P(3omGOeD?20_af+qaSN!FN0c<ZWEDnq*IHdgNJ<T4`D39M4zEdP?9GA}5em*y
z*NWg%1T)(sJ%B##hhaWhw3+O(j)S`DlX>jm&veqZ%D8E+PjNm6w1EG)<Aq`W^gEQx
zj5(A7z0T9uM{`XCwoEl#Y#M5_h;&#$rQiZCq)aaVvZ4&R%KkY;-_w4Khe*aYGP7{!
zAid%tkruYNQ4hA*#zIgyyi~q&ZNI~2v%MBu&5Qf-ycP?i_`J54Zot0P{Lb1fFh2+f
zvk(3qd*|$NG%IH$Xv3moYtgKwzY6?&;WYZqfB4Vd(8wvAHHL=BIZZdQz2C4hJ4a9;
zGbRE+sC`<_Vg@oPp<Jkd-{j~iW>c)V9r)>9Kl%_ZoQSJPuexwI&QLwQYtNBMimf&Z
zCEGpV+0CerfGI&~t>ML6$Te#}02z5C#Q39fW}o)NE`H2cG7d%0+32<P%4LXr*w`}!
zj;cWXFM>+kT>Y;89Jf&)F+1B0Oi#3JqIXD&jI*R)tE7C333$We)O@HvrHJ+1=u6kr
z!qd`K&BA+-8wFX!gIqL$e=2<j<OI*jiPsoTc#cXaa)#6DF5(u6yI~Kt8Ir664|?~N
zRZwmZ(*66D0;x49%J2I+A^N?G|1%l>KVdeZzxP009RKHzO@fTvw@xTzhp@v3Dq?3d
zI8vqy1J=iyJ|j(BaKBGWBc!>bsfdQscPfyt7tiGKS~Rd=ZooCcZQFyBX=|nR1PuUt
z2|x?5<vUGPnYulNzG#yI!iAKubSi8w&$V1;@~T%H<vHqfp^){t>wqWa*%1w|(tNR&
zXF{I3ng|KDdf|_$+8Z)(t<H8hSRYcpAuehEx+v{oQ_37LqixcLQ{1VmlDm}F$pV5#
zW<bp6f^w0H+^|;xH?ZBvAt_@%F69WlN~In>wfCfbg17<3({QF;=i~8kQ9{E>rW^uH
z*5WwmstLJo-1>HW+`_rsy2?omVd~tt4=h<xgVE9jpYn=bSF6-A2G3j5x^+fVX$x*f
z*tD@A^b)<+)NGinppji`t{_ItSNDb<J9P0)AwBk|3{R?YP`IrLaROc2`b~5Bj1R3>
zh=2a>FN!bU8B~mjG*GWBfw&=!NfQTLC=Knw1UI^$ZgV3jwMp`yB~^wr52|(7Dj_hw
zsCBQf|31ePnE;Wh-*XK0J;$>D-6{RIKKDQ7`2W!bCp$svZ*x6T>Q}W7g^Y5IyK5+y
z!~UX9oREjRY)^M_sj0mo(@J&!?ScdNAwR6a0?rG>Aj6bB^0jhyaP<2O1Au)IXVp=E
z!@mNU3-*$+Y+T+V&?ZV@EAM_}<p7;x^Au(%a5r9_z>O%LxY{&V;LlGNH4SF}TM0#o
zxts!d8|b10Rm-7WL(BsWB9&FkrzQvwL^E0aL7teV_5)x=(kyY+Oor!XNaIm62O7}g
zMlrmDNeS##Bl$=eR~5tH21WHpaE$z7>Oil;HMcxbOu5qGk(j8mG4JQ>EKG*5Ix-0f
z){T;f`Uin!+Q5fkt*ikf`Ogl&%077SiCuf%KWa&x_G)D1OGFm4D0gt<cfY1t1KBfT
z+ZJ`tccyuF5AV>KKS_-<j1@JFd-1_MFhSG{<h04@$peI-KqqotK_r!%Gfc*66pV3L
zO9(TWzx^o%j$r<M21Cah**m^xj`DjJ|1(Fi|9h8yI|I1<Et5^a(ago>J16QNk);2U
zh80KG+kVfUu$jbee{cXDKk}mb>kmQX@CcyrZS|kWv?G|+-r+CJ$X@)slo1dtD2<pF
zqEu7wuYY)f>CsWhA(Mg}kvLsGbX%p<r~?O!vZVyRWpKb!>+3BC>~@!>B+zVR5<g{|
zscxm+q0VKvEopibf9}@i;hB!87L;F_92#rKRXiOZ-(Cg-^qZ6PcUap*VM821O*g4_
zY20AChTnSfK`lt1?^T3)jb0)A`Qn|VeaNLBJv;l$O(Z!Ox+3NKf)DV06H)#z*ZBX#
z2>pGa{;esN^mlWSke#)b&L-sudHFjilwzGYknY7ebBRI;U{Vs|;Yu5flp)vDOIwA{
zWMV`_x(~ol)Y`=t2P1AKoRt>pa0r=1CNtA%k7J%vviGy+&{zO!?nwbLi8M!8&`D|!
zsD5fpbw+&#W7td8P$uccr%T`s%e5RM8|Ei>CeOjR7}#g9>vM%&PuQ)qSe=<@Rg4nJ
zQl$y4B<;IaigtM?o}O(BHupLUHciA6wyWh7oHoN+*oC<oEXF8X2#%SLWmY)!`x%~C
zu;dh+kStog#gE?le(!vJvbv3rXuPf#%*`i3s}WmKAA55aZ@Uqfs)(Clg;@kMIiS*o
zV_o90J?$CbZx8)|mxZMWM^V9Tk+_RN+j?bL%PfJu%mz2_t+PIi>76j2AV`L~Nq`VF
ziMNp1U=#|$pPkf`kU}o(@*&oLW+Poa4p}kQzm_%)QXc#W)SkHn64i7VRM@7aH4r)P
zN54g$Q2kYh3<1`-98s9~^KbU0(FR_1SkP7j<T(T?h`;%G_@G-)5A<hSg$nUpggh7F
zHN{2?W#{B$=4vR3{IWa(lG^Q~9^<2E;&6l_F42nalEHWAWjoJonQ05a#pPzxjb$m0
zrPjkI1t*!&V&h-Ia`1_7voGN!KP4o75qq^{q7Fbo(sC2%68Unb^i&jG05>@8Cs~Zv
zDaRV~l$=M5+e4(HOeFloH~Iz-b)x2n2qq+@d$988q1EUUiHVuWjT3^9XW$7V5aINO
zntu?a3lK0t2o8Rdii97sEV&~(0$r8yVdehx+@vy8{jFY_-!6mU1~8PZv<Wkg@Repj
zOP%9K5;$cm4$W#<C$Oua(dpm$C@jg7zn9bWkd`Erk8s0Vt)X3-O#1sT``|c41L*6!
z53G#%pGL_2f1MQn=)-rbSvg@3q3|?nS{yEoE@O?s83X`VCLe<A0n~@}p{}B)1S3tb
z0vU17$EXq2nhs4?)r}31?jei<-^UQ}0}&9bK$uhnAn#E|><5<bV@cda$G)cR#M#@<
z&|_Z3Bq)m%Y3H;r{Cv;aIN9#mdb`cN>4L(K-7%>HCUfCV5`ZLQ+x5(vzq1GZ-8XUu
zjc1BfLcbLRM2%y{XfCKQA`LoKXJW5f)o7SJm@&~Sz!B)dP57WKa65RPDc={sjce1-
zk%e|L!uZ13LqNNeG}8LxD1coL{-Qt~&4s(>V1u)#5D+s;VWfUDKH<zGr8NJnO`}2`
zY@#^e$nvx)JHTa{^3o+TnPcK^DfV%lnbnFm?KQ$K^*(g!)xZ;#rhj!|DTjt(hGFC3
zY~4QeYV{Kr#$~PN0CS$`D1aoc#VA_sxP;oRKa0|#$fk<hCM71bhGu6^e?7Mz;^(va
z8qIOH$BJu&nYPokXVYcQl$=J%!O=|Gg3lUHZZ0jC*`=XR(WQHjR($<ZA43xG+V9?Y
zmBrLQ7z$NO)Qe><Fe9Q!L5s7=I53YC>9P#IJBw8;S77#%?l9}*SHZpQ)ypbEtPljO
zj*F?q6q8N9K0T16AISu$G<+O`{ggl|WCPw8dFwIi`3wL9&A8>OH7aTH0xiq-4a{i!
z#U93gj81ihew5U)Y^W*SCoBU)sLV{o$xNR|LmZ5?CwLJX$(eoOo!MJy7+&yMzUG2i
zj6bnB54wwbPq1)A{%Tg{u7r20wG>2Di0dU@I^Arc^fw^0%=b<1(iLp?{iKQoV^pkR
z@3D;8eDAp0Vq&|=Roj6xAH}9o+qAIyMblm9Ci9YwSnn@zX?#{A>^u8ts@@6u7FRg$
zz?0ReDxl0T8w&{BYM2^B2F)E_>dbAk+v$GHL`*VScAzCPff8ZH5>;D^AMnNlyfXqf
z_?GW~a@*yPw>QG+W4K#-|C#Qedw>S&LlG;)ZoP}BJ9}5)uV*md``z3cp#t@x;rkNh
z)n&QG^s&+h8iC#n?grHzfdGCsQXJ^{;_)h}^E7*i(*)D7U9NL**}4ZvW-3vhpG}NT
zJ{E6RCal(R4JlU4P-~`=&8U5`RMcvzNGxw8;G(PrOT=9CtP+f0WcUHo`t?rwqR}bM
zd3pR<`Pm)==%i)YMo^wf7F@c(!`{Q$;4M*lSyC~LD2-tjRe4T!Yc}pqoIzq2{Sd@a
zV?<zX-Za2U@f_ZB__U_VC3%mrfYmzf5N;vXts06`UFo6nMMQA)AhTg$9391XnYB_&
z^Uli~>%d8d-qO1Aa9Mz)ePXMAkyWm1x!#D^XpeK##N|FCn=j*uUd?)@=GA&jIpI2D
zmZPU9f<vP(WecHs4XKzYRrV9hBI7qR)^^BeN<h1WK+$Vg_zX2Gf-{rtF<&n@K7EiD
z0LU+@AUb&7q35UOJ*PjB=GuFw`*;BQYC3yuFf046LklSS!Q6)4;ixx0^T9&H3y%uA
zf7IqO-<ckLKJ|t}kY#VFrfMG<87Y)&E#Y$A=6fQo-#>vjY@*2Yxq?A!;8!VE)n=L7
zO(2F*nB`#2rB>UbWL((m`;!#Ho)yc5A`E`gvl*^N&>6MPJ5q%>fOQ97P!XiU=!kSw
zhgiiK(~KF5L9pbHI`$ogS!)Tm&=4b8!HL90=pVpY<Q{RSb0C-Mh+0A3<a>DCQnJF)
z7F<zkf}zgQ9usoX=KI_>xVBT4lg)*P&I--B?i<9&4eet_{QYA{C>l09)^<J2Ls|2O
z9ey}jtsLN-qz0t|l*OG@HTAcG4(^~iyGK-E!!B$&{9GO1sG3=YYCq(9J$z+Y4EZ7~
zNmfbR4NSaT5Xu||0o;!@iGUvdu*iDF)2KWyA@h1-GDXNxbXR^xY+EW@TpI+PrAl8?
z)M{LTb4ghlKpa^APXRoMDQnrQ1S@wT3~kZYVX6K<%%02=_t%fTD%RMid&6s4{ZQz~
z%loP0o~52nP_30sb~h4w*Qxn5zJ1G5=0~NDF90yiJ1;92^#yIozQKXd39bph5nbWw
z7_U>)K2yt2sG{ywDqb;hdv7!-ef@&@3_$HFny(BOyQx7aBAJJ{gB><YiL;`Yxv*-~
zs)($e3HMgo2rMVWYEkVe>b*z{c<OVD1een`7<+$MSLS^AP?tt4@JB0{u!SVkq>Ttp
zf_O?%c7(TwZEv0BJc5~z!`Mr?jEz8w&DQY}j_XnE?Whyri51xU46fkZxrBNd;wbR^
zia+7U&j~q5;s`T{ji6XXoqTG>4Cq*`*?YvRTz-*|E{qW;(nS)g3e4~A23&SgRJsD(
zL>pXQu*26;i++1Xx3mk(FoYO=5ZEkJ&Fx3?=m?LP@-nO6Q~LMo__Ms&3GsK41^m`~
z{$~!A|0=RBPR@2V|46$3*8|$b@gEhoT2(>~Sq=G9S5AeQM7)yNJfJwwg5P`!+diy7
z7+D@rLAYRPt2Q&Bq_Vm~ls+(hl6xl2AlYfNEllD^_=)fq@riMw_w*RvC}kzJ&~>F{
z9@ctX)@mf%X2*cr&HMJ%^Ml^b7XW?$T_CwoZjcdT4A`E4FT8FRcmXW%_QN+<k_7yq
z2pv@Fj#xH%pSej<7y(I08z?mnoRC5rT4FX3+<<?$E=|n1XpkFI800&hzJ6?!o#=@y
zh)XGeWFRFznSnGQE13be$U`uXlkA{ekvrOqn44;^E9iunduEqylAR4hoogUMeYqie
z&f8&&RXQ@i%Sat-flxzBPK2{r8fxH8U9z!Clb|Nrk;Y~Tmo*xi?FwQgEWf{5!s5)h
zNQFF6MPf#H9e2M4*9hEtWuc=xu@9@}!sxac(}9-o%wjtkC)%-5EwV%$@todJvqFx^
zrG5s&`zcPg&D9Ovl+n;cnkQR2ZJnIYDvbyMOpZ8z2z*4C*t7_VQ($zWYze_c#ukxu
zZU2dY%|)+Ghd(~?0kL27NL_-mIv52a7%f>CUDXtNqJ(p>&E$#z-iG!^$n>o*Kn5@w
z;?*pT)}+UD7C$cUbe)5Pe<yV3)M&}U`>+wW(S@j{@+L<qZ3H=GyZ)>Z6nW7u&K^>5
zF04qX$7G3I#Mq3nOXA2+GDhQTyah##44#guI!?Mju9=yb21JST=059S*V@a_eXmW_
z5Onaq+MtZqkaSa(HQ=w@2OEQR$=bisHJFAsoCS(qhSKMVvB}*L#LyRyAgAQJ^X5(1
zC4YMKt1!w8DBmK|lDh-YMeYfJXw8=8K_EcXlDnhSO1SIvVYw^yYe8-gb3two{dC4b
z6(OaiomT08hvrJ5YbrD4+G5v{Iy+(Z=Y;b)GOYdC5FXS9uv9I|ilVj<Qe6T~Q!}j~
z*c^^@?iT=eOE6F&z+#YAvB9Ezout?&W;>3j#AhLg<nh=hY3vluYp|+1C~l*?kTpWH
z#JWhXmYt=7*qMjy6(JEq309T4wO^wo>c${+i(OLzT%=7M0UQ|PBfmsL#zs`n+*rMu
z61j9ZXh|7Wyh|TL-WCS6$OJ~>RkG{k)mL}n+fo!j<a$HM(&2l>d^3-&dn#JMY{`Jf
zFmQ-ax^~Ad^zvj7q(>FYfT*%$LnUCDnvE<ZHE-(DR->M(p>!FeNTj7OD}1K7F!pFK
z*=9H$`w%Tm12P^HQ+0v~ch}0#Q%ew>A_?&xXX<k2uyJ-nR(4aGEkp41%BrqZMIIv-
znj>Z*^2~_uo?3!wt5Je;v_p6IY=l)4l;0C(l2hb1$~+y>bE;f}FAaOa7j#D|GQ>(}
z#GKnGe13g){Y!}^>)h&|c&t5L&MQRRU83>2?Fy!Jv)*5q(dDtELJXLvg1aDfK68R-
zonoq?txdlTZyzlWg+&_^uVBllXvmzlI#)E0msls*Yly)+P4rG0SaWZHms^l(NM)$d
z7*vz3kmSUa%mQ+Y|4#=YE^KdXU`(i_8r6wF)emJ$wAC0K4m|`jxR;AxfnFZlD!mA<
zM}T)Tz-!?;Qhv<ZB4dX5BcsPJHh#=UKzuP<kI`QBdg59I8ie>He2lSartrpT0u<f)
zEtC8PX@fUS>V30A8Q#&Y@~jZWcckMP-l_1#-mk=(=6c(gwfA}hk_519U^RsWUz~z}
z7SvHRd4gF~d@u!*nWgt?Dtei(dmJEGUNu!7s~sS%gf6s;EjFEm04%fmx^cm8TIIbF
zvR_#*oN`t|7CA0pnqEM$d<8wqjxjCYe+>;wfyWs`X8s78g4)Ka@KX8AEX(Qh*456?
zaS4uC2$8kC&(T(RuL~Ilq@0(i8o_5>km`gj4YMsh>l7`HR^%`;9vZVvqfR^>hHpUc
zV;4R9MHN_U51MMQFK3*NW<<@eHwfs0WYeh-$TRp0z#~kbu6|aI!KZKwN%(>DBjS&+
zHQp<GuxrBWnfe!g3l4JVL{a-du?pBwDN#Xm?6J^c=4ZvG5o!4ffl%2e=IRR0%HEY-
zT7VtqCl>6K*Wrp1zo1o)AYg$Z8v*h>yeBw;<4RQi3c=3YufMc|oxGE*w!g8Cq;FJ6
z{=dOIgiZbdd3@(d|2<0NZ#>}tp*<WO*Y`JbtdOt8W}`|JyxztZv=du7)Zh34!2!=_
zaXKx_V+rY+-Yjt50C<vF-R1})a0IVH_aq;7H?>#*sG*?Vf!=|@{SHJ7GAi67?0bqy
zbR48QugX&RS+I6!*JEqNP|4kybgQLzs%9xouuJaFa;JJcKW*2m&FM!yNvVE&>CmOy
zH-L1ja~(l+(*Nn8_FNW(U@J(DmXV@a;<?v+?3;eDZz_I}cpUPCFwt4#3lA#1sYROp
zn)>o*`|xhhj>&~}h6s|4$-ZPm2?FZWaA~A;WaW5r+!DC?i$S_nL^u4#w+|=scS--R
z#0#PpCf3G^CeDr)Ca&L3O#eqat6EjVX+s(L^N>CMfZQsPwn%=?*&%DF30V>i(jo&n
zFfoLaMn*$%t-U3AJb`FTMp3f`%-s)T7X;TY-#XDCq!@b8B%OlEq$GV$j3JAPBBp@-
zFc@s-Xwzx>&o|YS<9_Gs!v~EY$WEjlYKFy-OwkKH(h&RP#WDbH=3%cZ%=t&6g0MY7
zK&18o2(Na8e#A`b>#ZR&-QE$n?%rofVH;5JhH1g5VF;YGu&l7Ius{%{;kQ?Ab()7M
zoK=Jggt^=l<w{ae$?0nl5hnq^Bg?djsm3zu?4FW?30Z}%s7lFHm72sxNySNfgb7tk
z#&2apjFQs>$@n>em`K&FoBOp4>e6`nz16tLki?3b_0k`UL!NYy;BZ(>#yc5`F08t=
zrfD4I#>~SvYz+~v3JfYe&p`&Ad5S?q6a$lFRfuBAOc1?Y2D&o#%&LT?#x?`m(#9}6
zrN>)VGfa?vIz(3r&yURIh$*O%Yl%MRoJLq}2l!g|fZaCr+nB_ys$12Fb0{0)%x<e0
zaF(t$59;2DEJ3&@7u=pV4Y&oRZQBOFLD~nJz7R6S?K|FLa3sHVpg|T%X%>}}l1%-i
z3SLhb1G48#)&hQU$g^oj44tge(;J-^r=x-?$<|A=Gze-U=FZyDioy!~PA**S>ig-1
z{}*fT7@T>Ob&sZlj&0kvla8H^ZQFLzv2EM7ZQFWco1Nrls^-0QXXdTCcm8$1KHr{S
zowL{3Yp=bQhIv3S<Hl@OVXL&xyy)6wy?j#7YxY!*T`V}o9)ST8-k=cD(=W6<DF!>~
z{()8Myb$>JTGifdR<`)`;k$4)qoWCt;tl0V;OIgrnu;Sd<KlHNlkx8U_^72S=pNl=
zSj}k+7k^?7Dm}NQC;mty<&*|d#)31b9=YriOC#Ma2?~AL07yxuDOD?nI;%NjX_W&l
z^#!!Uw)*@s;lGg=oq<~O<H=e^E`6zS&K}_aChST0aqzVO1sZcJJ1hG^ZO+=CBgMsH
zbg)q}g`&k`3B+aJAiGL&zn32B4hgM>Qab=HtwOtI<Y>HP1bW8>7v`qi54)LIiw`c`
zN%k%AB;1q1AtL(>xkH&ns|5c6qRFjuOjOtOX>kQVMNMYBu~$VKzu2Q>@Wpl7x-#mo
z!(g*oAgZ2oOS&v%Nd*vX&!pvudq+8lI!&8mnz$=#1UpY-7gj9Fx7bHLOFVAFfixV`
zDWCfpb?V-+i-Jn8UXfYH({Nd5RBz&W626rDyqI5PRgsQ;1EwKA9L_o5^xpfaVO=gd
z5n1`TxZGRjdE#8=Px}|Fhl!hwlZffAvk13zDb<oyFYZ~{LTORPW&XJp4n7yVW6lrZ
zn&V*){<at}xoDf&Hj?q|&b$OZHHF|-kYBg*+VRUf@#yUZ7lNPD!X677XOG~`EKv*W
z!O+jdzYucf1;sq1)uq!GGmrJWlo*#ZqaixvvO4+LzlOue=a!hG@y94V#1<S7W(DK{
z16~zaAsxg4(wek2aG>KbJzv0x1yC6@a9TCwfj!P+WCC97liQBB@H-U*Js}NE0bi&&
znsw{hz@pC3;#DX9$PH-pQm+#JAd4#U!YwT$D=6a@fiydN-y%StOWwI7+L7_(+&bWH
znk@7B-Yct+2F6}DK=2i(xS{6-up>rZ^2wL}^~<Qd;1(|5*Wne4hECUiSY3_R<}Mmr
zWfrAGy|DMC*}4|^)X4S3vC-+?8*HkDCm~rmq5TR<W8|fr+p8#``PS{L#;ims8h$o`
zmXqU5m8Sx3CL9Ey2)2<-;GkFLhOb(g>xijsDV!-r9(A1$b}c{F{d?&7hx`p8;tOKj
zGvm?-d1`OTL(dztWC;C9!ZWFNdpFT~H(7-3s6iM@&k(Iw43tkV@81&ykHFF_g1c-I
zdSLa-K}BJ+P^*kvmZ~$3IJ_;CCRIxzxJSawVTQ|TxpwZwg|EM{37j2Uvl`}S4g(uL
z88u+trNfK+ZeN&0$#t+juS~WruEag$((#CIQ7RShwJE)bSM>q7eK_6c_b6pYH|jiq
zwP(+#yc^da6P|n%a!X977ug@^|JoG7x2QE9exq>tHySJaH)t$j^PMkY^Bvge^#6v(
z^8b*w!N{Ji&%OQmJ$wJOj|28>BqBi3I7^-iw`P3Cr5-<bR^k2+=SBOcd}S05h%xl|
z>v!>Oew`hl-u^QGIDcZ05ePsuD{UZenQWO!UPtNJ5Q-KQ4kF$7+Bz@iM*HgO`Er?x
zW|VO}LWV{CQhLqufnpFtyZh7PBaOu_34oM8ykuh*N$^$Z$N~^pe6YX20XyOTJDkDL
zywashj`qr*jpo@UDP(DRnmif(oO3y^j@ynX^P@T3uC1XT-|O&e;-k?=TR+r~VYDu#
z#}7>K$2%r0^FLr2&Vko&;P=0NRQ!ZjBJgilL@Ed%Ain?RqyA%D`5#!ErEKkptc>Er
z2D`?x#b#|rtQQ1S#TLf43r&9-5jZc-2-;Mn77L$oX|1+-vE0Ef`F#-og7}DlY8Z>Y
z48!n`-)3$#Ni1-1$(p!aPdMh>XPVBmx!)gO`vOty`9P)Esf($PXhAVfmN57Qp+xK3
zBiQaOkW?3*Xzz_F`_P=WCJ#D5{X}!qk=bWHYRw*$L}FKX!C}Q^4`J|ckJjYso{hch
zYHk#sdP)kOTNk?bY*<ujR@_hGgf%xFFP7ucbdcUzVL%JOS+GtHAQi-Iabp<5R`l{H
zCn{<~j)$whYCZFpYcA67L`N4yx^K3u5P=0@eszYuCAC$QJ4wF`_vlzcaG0{<XpAp&
zPd=^8m_KrF#88E|idU|7uUEfoDY|59DO^M1ce~qA5K67qU1y>_9LtJ7Y}0gM7O%ph
z(=PI!=f8k%S~nh?OVc4&Qw^50>~e{m!MXcWHxSsq<VHc$)Z9Ru%D6Mqf+z*07>2r{
zT5JhvavmH68Ym^c*MjRp#UeN0<hrUnq(1W)f#B(+Gmy3&)m~Drv$3V+V-#j>>}li2
zGXjTiP=p0pRkm*R>=xtM;Pq=H<!3i=(D;WY2`o8xY&*JNbyyVwNf9}0rNPuMxRzJ@
z^<M5&lCPIp8sC_;k98(HxMSGPC<%}e`+&O(h8m7&vvgSzwhh|7^6Hzm?C|NP_3rVu
z>~U7%X>0Cie?=VoLS#mm=4fs#N$=kqRn}s5nVVgIO0FzNUASmW-#IC}EjJXb&R*7g
ze_o0Da}}BF;&sp2oqi=Z1iyZHHO}886&8VvEb!*Y{pmg&<3g0Dl)GXNy3Uvq8fw?2
zL;jFV&@fnhqVBe3*S^{)f6(~I2*KfepMk6$+%QU-@e<ge$l#(t;@S$SvE@(8$Uq&*
zi>T<BOW~oyqBaZptDRYl{eYo8Xy5Kp)^3IZP$+PXmqJn+{l&n&#40r#TArM3YNk?v
zty%Cq)=!5NL_VuaoF#FkZwF94;U^ZLo{4=U-Q|<|-F+lb0!ST3iHf{onc6OD34Ufk
zW~4`ouL~2r#SHeq+#W&nLSQfwQX1?fo)#(4#S02O7gHE3b+}~>*6m##g}F93I7BW~
zzcQm>#~qbH&oR6xfk@Iv8Mz+c1r-6JllzIz7%+iS5E;YxyC8^;_t2a7uvc+ekz^?^
zn>ui>v%wpcXFDbdLN1A}q#n^Wvpy$kRYTt8wO<kDBWri=*PCMD6T>GIaubp5XRsBF
zYj_rrdOf0Aa5UAhT~=WAEP3l(k~kj}N0|QGh>2l>7v&sYNVQlVa}cjtj3qrot-$Ay
ztNnp70lVzqI*>8xYe#a5BKTYR+H^u_en_Yv0+?D5C^~<k|Fy()FYm&VeU})%?-KK0
zt*grD+x;&UM$>UY1>rN=kVZ`2hE3x8Z4>Kf$j<oivyDX$IIlPwgrrdBR7NE_>Q}PX
zX)CGsh3|>f7f{VZdgEjwUsBp<sjRCps|%9rdKoV<ZdLcz#}l`witpdoi5eg%24}57
zQrHHpBd0-zngV!euIRl>pH4p!*p!6UeBv-LA38F7<&t-#4sEG@F6{3g^8mPsESosL
zu&&Q241-irVJom~ARoYWCRz@{*HAF%_!;=wp=ph|!I&nYVJH`Bq(tDQqA@{%3#>y8
z+aCqZh~(D4wO~D|dOKkZYG3Qk6<1Qmn!sUT8%<03zjR$Jgb2D1tR-YkJL=~xl!|(6
zRB-DH$Fq&Ou#0W)9gQL@-r0<^X+3?q5Lmo7s#d%j2zze+h6I(fY~{)^(;mKVfK51B
zx@5J{x6rDdvNEy&mo0NS7uSPB87mY7s`JZT&Ryg=U~-A)E}emxmpxvRF-n`3c#JX`
zz0NDuAN(A5q8*!S*S`b`lzL$@;|xc$#swqmSg59~cI#FRUM+wIE`jeZb+cHrY|~u9
zSFbO#nt_cwR^Jkm2YYCyn_!d5+OFAz0kCee*?}MAytW7f*EkWN(t~OzG_j37^X~Lw
zEyHFGYIhsK;EX_)=K_=*aMane@^x)l3oF`*ayECu(nP7{Fjo}Q$|qZCM;LFIbn>hA
z)R;T#m_b=jaI)BI{hvXLJ;7?RWyBncC%e3(@iE=v2BI#rq9bvQyk6BOo(_|PpJA=`
z|4?k{;A6Iiz_Z5QkGu@_mT-{U-TJyz_4fNd(WrnNCYa~E-}rAK&01vZ=KX3sr3r)q
zZty9kea14ZR7F;}k69I9gt%y*C~;hS#_EcJ40Alnfz}Imm1yz<1c3{$IjIokC-Ck+
za&g}FekueD6_LcACr#aXsjJ<UR?yfKh!gk&E*m63PVzR1_N1CL@lcoW1lQ&l^8`}O
znw944?ZS)C7}ICGS>npv%~1ied7kmu2u`5AJ)l*k1E(HTnMVPiy>XjxNISu@CBz62
zcEQ!6*nW`G^V+*K(<0LmfzgayDPM>hBbxA4HSse}82X)2;Y2s#kPiDa#rbNwL4*En
ze;r}?L>!oxdO$wbTru3D_Y&(O`lhZKZ!jS14}AM)*%2*L<uiQ?6TU!=f#?XM)nWAU
zIB9la4Y(sFw7rg=UM7PC8FO&%5OcmOP5X!^lbge@vLd>o;eu9s1wF3tCub#X#%GYm
z9%vlnvwZ2|xE;pv7VSbGq4vKR#F6iqVqh+eD$^}F!-k`-NI4?>+P1$6YECF@?${Hd
z=oQaU<DF4$_t}y>ODc8^glVEM-|l~sxI@ix7psL)6gzYv{2u>3*CN3+;%axGuBMXN
z%-mda^4hfuN%aA&16@VgDQiG{#wNg%daL>GuBb;psH&L0sRtnF|8it6W9(#RYb0Ug
zVr%)oF%Lz`TZ-7<uFqQt^(0o<;!-`DW%H8A<7kbKe>AM~D6oLhgazj4#$?nWJQq5!
zp_(kjMlf@5@ef2yajN(pepGy5WYxVHnEoxmnc3Ppig4n>#dlzT-gKOK&Dwcw{rda9
zfe!@Zg)#s!ZHcjTV*x|hi6#U+Y_J-!Qn31m-Jr2>i3v~SC$c14S+lK0E5ZPqw0Y|C
zO)}Ed;0@b$m;st2V`s#3;*}TnwyG(<S!-$EVr?$r1cEb7hulGRE#@kYP-lIPn%cg4
z3SpcMld4RC**e%j3M^yhB$~{~DPsLBAdy6SOv*7x7tNuq<U(U8+y06!d^5F+D!J_<
z4N=9$qiYb8%Q6y{8rg`NtI4J#VzUWC_Mp*N^9nOKdE1Z~W=}t^K=ZcI_+HxG*nh&@
zF>e%=B91kJxwvtW4<UF<WI`W90-2`ZM{-@S%m(9~$ug?L)+iLWEovlIY9Y@Vem1d8
zKoR$5R(U+~RhD8XlF9a=gF-k`O7&0{r7TKQXb@@e>T44XeOq!Zq_C#!%N+B?1@CfX
zKZ33yhmIqWd$+h)aC-`CQkJ<QTB{~wMQi@YpFv>~SJO$Nf#&d8a(A(;0dN*udI=pS
z(wSEQ<_pXH4Ss9|Esx@L+LB-pNvI_8!5Q9xxNR(G#p->}(zN5*b)bQSC~(a0u%h~`
z3RwC^m;CNs;0ocZM2ZO-{3fM*cwQFUkF)aNOt|P2jCTCP1S@4_rhY}NJ$GFRNkZoX
z`Po|(w59n101(_+?IJ%2ISb9HTJWqr#P1Ud|J@Qi;sP!@0fqi@Rg2gm%R)XB@ao|D
zXywd#JM|GPI7_t^docX7lVSaze<XW)@*dum#h%!&#c@kee;<GPjxc0;w<4BkQ9+(!
znHuMH_FKEEtyYx#UI^mSoP~&il-+Z_n0+u}Q6#H3R>wyBQf|wk!f5D>!f2Op6+A>b
zjxa)Na<wQ#XiuGGoBTm@!Wft{sa3*?40an}Mm8kIs-EvHg_H1}Y;JqVwFhROb;`DG
zQjwq%h*aylk&xqo6&b1RpsPL=p`@#Tlzirru&>vb#VK9bW}<xJxtPS4MsL+jZpL4I
zDlhMs-1|Kvn{9exh7*GV)T6`}Aq%qBccY{@>L#sVmx|ZZ^-z5^;NzhtR33M_1zR><
zWSen@Kbs2NiL1CJdycry`&%QjyY2v2IDSua*5}CvPnqcr_#Og4lwIuGUK6H+Q$R0-
zRMtC=Ij__nckoGumOK}pZ>pbCgQ_O?g`(h*H76D-m|dl%SHbO$Z9S%&XRXKXA5ol8
z){|G{BYZ$+&@!v@SRZi#5@44+E2~%n62I?4jmM2JVjoZOu;qX4^A;q5RN{!`;(u*P
zBH#T!+R~jSyEXjOgRt|f<L#Mz|Jh4IOl01k-g%}0n+#?Hm?tE6&LfEgUokKz_RBIc
z=XcoGOlZRlbt_RJub;rR&kmXv%#4!V6nHD#n-_(~Iy<j|1;<(?LOcO-Zwe@YT5^5m
zWKeX-oLnLsc9dgv@KhobD*g@3yk*ukcJxHL<f<UaT46ElwmW0h9-EuJ_L;2xia2}K
z8NI{QS0E*%z_PO@e6VC6JAYqO_!hV5*fSphPPKTBviTdY+-670uP9035hsb%84mFY
z7`2*e7M&3#m#Nc%kXK|VD!d?+yi;DWq{_dK?GXl)$E5R$ARykgk8Po+z&M!*YDd75
zH6o8IV#Tt)NHMGDLIT+h%=Gl!RSDv_(;1^#^**wk_YbP@*S}H1z+6uh*Wb;&(06T?
z|8IKFe@ST*axngG?Ei%r{vYjS)jz|^6fIWhDhQUZ>3e}Uh@>UF25$6-Ar<!Wf>oJt
zON?_T<JSa8Z^g{>ZvlPyyD?1LYbx@Kxnnj=+>Y1Tp3_~-uE!HAzjJ=r-5~t1NtExO
zLTItu=(&nCKvMis46+F;XH3zCo27ycb6z$0<mRE*bn0BSs!EU4F~TjGn&=wj6vn&H
z#HhUm$jH(r-8$=CYn0>&$4rN()Jx0T<YTfC<D`|?_h(zLVz3(Iv{-D$2%kDgGr+Jk
zFJOav<{sxm&Ej(>(+ETPpw(|`37O8PPx=8fm(KXTT}vc`>Yja&qT)P;zN2UZWK=rX
zv|Q~*=cb!_y$1@3-<5dQdpcP7!(`NkJVd2j`4TycQ^t6XSu~UZJ1>%<S1S;s3Bq|2
zycJ#lM}$*8r^*n6Pd(I6pY~q*NtoLm;!fE&Lsbk>1K)njwxwU5G=)m$8rl|e9X;bs
z=wJR5AR&wsBW)~RbQ`Zn4qkHB$Cwf}dp&oC5T$>>GuW`drk_Kii#3acTVMy&v5>nd
z&GCYKp;(AAiQjput`aVJ^*?ykygzZFY?&r8x}*Ys;2H8n+?*qz%lUs9)9*3m@eDvs
zeQFkcq6NWYU`h|ga47bkBWs=W+baiashXjTIVQ!fF#UDbnru8NA7>i=w~e$LZOD1P
zZ$b9bciZv%|IgF)Pc?zE=64Vt2Ct%I3LUh#awoOL9Pm0Vg`3cUMwLO7f9#D>@p*Ig
zK3$qN3es0h%{F8FNkJI@_{-FV!ifekN#U54=@Iv_S4-OKcLbg*5ZP79T$nzm)|@>m
zF_tK+)<WE%Gj3IDUI8>a>*jpia4Sp4LNH`jcLG*1i?n5`{s~NL=~`dn)E1MkIkVAG
z_Py$+){)IrCVU`Z*@m%E)vRZ<su%ej<|vcgqPT~My&^!ahWEBVk*r%CHfplW8fZ_f
z()j9KJ;2zowlct&SnWyvu+19Gx#$XaT3QNfUvj3VqmP-}jwX096~NWUAtY7p8%M}_
z$y<cbeuT3^SJPd&YT&P$tSpy3l!D%7cfg||{c{E<XRnVgzmBKnY;p4Eb#c%XNWZWm
zCWHIR<wl<%O;L!W@3B(*#%YMkqg{xj=VYZpT_Lf{*dxf528k=hN{<lzLmJOHK~Dcz
z{~J^qt`)<^c=a^xM6m)Y6j(5M$E|5g+o|ocT3Azm^HJ=gS3^&_=jEc(Y8j08RQNK9
zepnM>u;Xo1JvvI4^7H9Mx^WF?G`Xfw&a+C8F*@#=m-p8_FFhtK&LAPk)~H!3tK6V*
z@b;GkW9Bv+rRTWWaCNY#pj&^h_9n9(N|ytNsF>akQ+AP&UmrzVHEm-3rBqzJ|G-IJ
z#h=7G#-dJzaWTo)pO7FaMw3O}j<NbyD_RMt{0N=XX#FA2i}DFIZL#bMl_oG6OUQed
zxeIMx;+Hd)zFAvujFi{sd1`~|9$@XIvf#4;fmZY$a!B<nCmUqcBA#MEtcLYsW<1q+
zxT5^I&Uzr$*Qh6;QIt&_;R!5Qc|T<LSd6GM1#Cg_$j<{C@i6{I4zg*eRwM+bDZudN
zDGw5SNq`sKsApOZ5AAC;3@ZNxPl1WQ^2roq+iw??h~+C`kJHKTeQ>SomE;DNS^+s9
z2ny8;s65n}0dM>gRvmr`k1mQa^Nm2M8eGG>);kYdUAIHzthboFB`4Y69maX4zER2h
z$*>w2a2XT;rztG2lJ&#rXLtVL)+U)o%FiBxrXQCff@F{xR!Aw*ZsDu<<B<Icg2mOb
zzXYO$TC2iEYT7hL@c)$|Fr9M;Kls*`$9zkE{;R7h=kPyiLymG*`i914wpK>Q4*wzi
zQToSKMfohIrKP1ljLr{D3AjX46F8)UARz%I8HBRfpHL_^c3!hKX~FQi+j%Ju%f0Or
zlldz@%)Bs<W@Rlcosh<C+I^oj;kA|1)9nMIr^opd)-~TuNP(^l!>RC)i7Li$9xEl8
zu&RSmT8}Bf6LB+U_lHo2>&5Heo3dT6jR$y)b~fEKv10uU+3nGneuukz7>zkVez-X`
zm^F0v{kJLzQDmn+D!>WzE&%$<s7<U-9#d;L7@cP14jnUKY>`gLY-#Hl=2m86PjhI1
zSJL2WO-p6ZM8<OkC7CBBi}0(LC^||;^#Hbpz;XieKDNhx$kH$-Bii&}vhq6IkocU7
zlUi4EwAtF^)!*{kv96phA^^I)dI8{b^zBTX;0q^^j7@$q-6r9b#;MD8jMjQXdu81E
zTegpPg>Rpg5)<vrZW*Rpk};?J8Q3~Vqdpn9&m6`35fj4BXk7$L{o5H@B)LZ2!DnD<
zn2~Oc<sny9h<hK43n4~Na)8BzWzs-ah`gO;a>B5s5$%Q{Km=CGZLs!pXFEv$62Dbx
zX9PBsECabJfrNIUc^k<j$OfbOQ)G^1G5&8(D;@8X9Mh8U7ok{~SAKSBdSLT-k1XYH
z2Kpk_1vwFCvl;5rl58b$wLwod!Qi-Ik>z%~1U?EZ3_8L<zeOnTa9{;G3-Y+qF3n5Y
zKw^ox^%6d{NS}ix{y*MIwLTgH<7EJ*Dh)_KYK+`09gvmrzKB3L@y2XEfm|$H#clQQ
zG({M1Ql&Hjje6lUw^}~c8=@5^`zn^*GYUuT8Wv;1Qj6^6$KMcMVk78*h0fv0&kzfH
zf%CD%rPW09Tpi(=xlQSvS)qQ;7VaR5Zd%OIrw%^|VfI8hFS!Ln%zh*2Tc&3bwX;5f
zd^ka=%FfL_P#S0&;!|<{ECtgG!P+YFnxPnR#2Sa*?3YUVO>eJ)B|B?5q6`b!ze$#i
zu|+aUo`I**N&N4^1#fH@pg-T(r}p2jjehU?+Zj7JnHxL)2lG~>r0uvMio$zNkz5tZ
z;X**0cUY0<ER8H61zlwh!I&D1Rl;nN>K`&qF}@zkr7>f%75|y=8PNSe_(8yMDeZnC
z?Ta#?Euj{ED~<P-t8MOl^__j$(ec&wc8(7Ow~ki5%Z!|p(P}{$Vu@CK6BLBhO=E!O
z91(o}c1g`!iE1ZQQ+d8u90rRFi`*i;X+ja~Gkfkx3jFgaG>_+P8%FT(C!T3(V|FWl
ztLzS}$Mo_O@>LnvK>mvBfStsbIu=z=&qEao2wl>QkinQR3rjR`cvjah-lOqnjJuVO
zUR6sN#ic`V7*U}Mxom|AcsI}1j;TX$*A9GRwCoMvT}fSE@`zxM3&rTi<XB#E9C4)0
zq$|2F`O)hv>#Lu63(mZx2ibtI-1Fy5B@O1!IsuA!qYy3U`M0Pu;wqD2c;<-0SgW#D
z?IGjwg}v~;_K!sX$YBHl%UmIpr`FIX15ORyZ->iO2nS!=Urm$v0bO+#%L$vxJeR-t
z*fRD6SwXHTv^~9%gsx7FgYN<S>w>I946B%@(XlCTt{nPBcU%S(yxR{=rxD1!T1)z5
zSF0~r)G($o<0E!lL5(7y?L!@m;*x~cR{Paa2`{4X5o}bcE%u1Y*dzA+!@%2wwyY!N
z+fEf_RM_~2L!!{n7|WkK(|V=9iEaW9qUkg3I4~f}nCfWvuI$#rRxnkfWqm0&$i)Ec
zr>!qGJ6~Z8_Oo6_Bx7rv<Exrj=RkkfQ0rw17k{sNKD%MG^YV4`i}CU^n)}YBQCvE#
z0oI5=udso)LL$+fGYd3}g;VBn#+|4SouE(W$4`IGYt8b44uQ;}FL)Q<qIhc)qZF)_
z^NMww@cenzM0w5DDZni4>xJ4bVdoazXPKVW8de|2Zm2|5FuZS4M8>E#NWU`+4#G%c
zIAO0!q@&Lq0f$TxYM5r$en&p4Auji7RGWcF!-G`McW{uu5mlJZg!{x~Zd(5VH6tfY
zIu$R_%O$-@GJ%EJ-4=Ka%=@#-OMDVPFP(uMN&PUj?U$mxZo_qqJbTz1oc#8bT*^+q
zi5i(HAbbUR4!URH4ZUc55_%Q>%kL5TuCboqq)#Q-m2i*s!CfY>_!D<`)$PU=`LC1+
z>Vv<m+4`I)FjW(}-g{LK<KxZ#kI3UxA50N!l$;C#=@yRPm@34CC^1s4(vF?4CkG<o
zeBS@IvzCnNuq^R?!66X;OGV8;FS+|~7h?wpb0gz_$IC9&S66IR%&r1!BlCC;Su0}T
zvT>w|dfYiQjWd*%Xkuh`o%mH5@%8=aLQ{7fchNLVP8Z-U!L<#+2`u15)(Zr)i}oMm
zGk@iKy_t!}>JAYc95}d+r!rc+c0R6JqCQ`1T)*H5LV8FU{MI<KErs}<I8l^PkV6gF
z{E-5+(xh@DUrAtSM)xwq!?o0<?Piqp%Sy>+>54K_esjZ#@oA$rfwtF@7;A|eU{X7@
zruqd-*?ZAN&y3u5^4tb!dC0@jlio7XN%iT50+KkoF-B4jis;F2QN38hYWB_{JHuBF
z>Q<D!gofBrFSz6JaeXYjOrGp~+#FmS+=%$Ov-tVE9NbLK3In2V!Mr7Al${zfGhD0(
zXz&$k4F{QURoS-`J&MRsF6bb(G8fT@8cWZbuQb?JBJ0i93?{YasYOpy)$CCyOi>$`
zX70RG=sS<Fk~SOdC^?@}^|7vE1MG^Q69Yy=m67f;^~1;34Fp!1J@SZ1XevroWlx(4
zcm528a@)#T_-xisaF$T@O|LCF_0`WD7HW{Qm!OB)kg7ILau#HA+h{85cTg)z^*2Yw
zW85ZNHrIw3*AQ<GXu_UPS``T!B#n$Tuj7nmCUtaFG%KS-Bb%`lz79=h5myl>Bu8VD
z<ot%TS>$&y14)oU#jC!_S5!ejnt-ZrnIjM4d_BxB{q~TU|9it(mrr2vR(-aeOJKW<
z2DWxHLkcZ}0hQh9N+!=KQK8_jYI%-Ag5~E<g(&AGz0c=6)3$YTy^NSUy`&yW_Zn8W
zP&P7^sveIgH;giPj+y%_VZj4|sr=ERsb0YsKK}gfYb}1cd8h(5F;7sUufP>f5}1SN
z$jIOwae=pnJA-)!bBnD-jRk2zWr{9bUa0uhd&Bfnz+H1-z%5V-fAI#$0qa}sGudMT
zio2BMu7ZtfYvzW$Gk;_6B{<Z=>IJ@|e9H^FGlB}s->VFEnK5VfLg-VdkE962<eDxG
zvpeMgw{mm@3VVfDXOX0^-ni+6&}Ck%-7Yo|bBiW(DS>U`;pxfx7nEQ5rtIqqI?PPk
z!!PMHKcyYkExsnl{DspeZ$AaATH@R{NZ0ZO)@MQkUx^tXU3-x^6>UOU-bsXVYXRo4
z*~9Na++7IECuC=051#6?bnka-^&X1sLXxv(VeL~kONGgL)4Wc9VNUTzcGCJ+<vu;u
z_Ao4J1=jLSbhtC@^?q@1&whJAoTuFWwdlCSo?Be2yrd~}qiCgM(B#XbSxSQe+OhQn
z3tc!8h^zotL)qS=jk%wvrZSgD-n7jur()W+HME221nj>4x=bzaA+>>gYBhjWolJEe
zWx}Rb9LRZ0r%@Ia%`B$!&UlXvddXkKef>;|a5$VydO6~gyM3<&?0QIhLU#?Ol#p{n
za5p#!6UkQ~nZL$kh)Si6#yjb0JXvQc;y$2TTdT0d!69MA5s-}1`SnDuwg`J1O0hWZ
zt~g#|Js0n_1xl%BqbXia$lbrV$tDuxoj+BEn&}r<J-MnTg~i2Owc@&oq~_G5LuIXi
zN{~o6>ySkdvt2Pg0Ic=YQ=Fdlt50|$xAlGaZd6<6ac*ngH4PWu*e1j{|7gwaoYY|S
zBSuvX^fX<Dx99k&ud7eU9_!#N_;lCD=L!BsR|1q0=fD>k3?HC5`d$a`;n*yAJr+Gu
zGR|z3gu_49f*HsO@?^S_Ys4+cjxZf;OAy}`c9O<Axb5!&a(ll0A;#$<hkU~^LM*O_
z(!mfcP;J(Yg41v4RnMtUG0SkE|HEL756V_j(yfC0rRKDdJa2*@RXnx<oW~Qz!qXt4
z(tEH~eR(1Aagwc`1pF_}2m_pBOnstD_IFb8Vo!MUn7=a#iVp~lUA)o_yxE^PD_yGj
zobXD65h@p*ffv08vUQ2^tLSLui#Tjgt|tdIkz+lYcQzu`+H<n@=|Y3D6Rh?f!2J7i
zT)e@?p;mPb;6q>Q{W)VLj4TM`g!E50EPT9Bu3r{~gP7gSz73{#D*4P$vRXgpQae*b
zw(`=wPSbOF4aRW_3_?xD>`xZngc57YY`jB_z<VmynE8dq=Dsl`-si&OCQ_UM4tZ%e
z`@!VCxE-z^zrlgCtDhEvZ>XMlaZV!xw*_U>HOLP@3iEXDZUx{z+jw!`y=|85c051!
zWapFcBA;AEiDs(yePU``4*)`hnPdxdN>+NP_}jf}ewiz%UWL`W1vozs4*cl7ad`<@
zhzTdufK)hi4t7qZ8Xw*3Z-J}a<8E(});!ZXwU0u!sbQbYH2)-3aNyNCEE&=tOv&1z
z6;HBbR4f>g$1F@{;-sY!S^jpPv^9#^;Sm_r+3&*0+4BB49}Q%{NMd`Y!ic?1um;{a
zZ97(O++z*CKF4b%{IUSias|<9Dd9Vq;sf|6G$3bpY*3uTOe19qCgec+@!%E8D%@?i
zM0X?bFPx1VX3tV%JCLu*r9UW*@pvtBf35wyeYd*v6U*K=)j9aBfEE332&w<UYdL)<
zv;TaStGxe1a`VY%-C*8cRFoL5VJBi9&&CoCuk<TVoDoB^s7X!klx(eV!^U;sDp)}`
z_XTfc?v@cy%FH+1XK&{vK+Q1z0-YuQ1@@|lGqYxuEt40SFxIx_IrDnunw`P_)%C*d
zhp`Q_?*bFyMg)Nm$0jrk5h0KEyB@>PK6FTtXc&Y8M;Jj2*o`aH^rkYjK%h~d!w*s?
z2`Ij^_=RCg5SCyefQC%nj5f8O1zLMh`uoqDAZ&3E5s~kwLP!PD_9ND=%U4#O!IXyE
zk19BDE+HXErmC=+9MepVn$Q@FX0cYCs>Lf^s0Hn_{iqmU7AhpqC1xzbQ8j2cFft^D
z1Bp#eY>=LJJqkuORroclaM^hkIej>)=N!~$qg`h`4^JZHM*G)MPJ*+Tm7Kr@)*vk)
zUTT(^fa1$#YBn<jj3toR5E#of!(7l>$}E^GF-M|&xio%Jd)q{EZUjXNU~1bim$qp2
z1BAMj)ffwt78|?TZjrdpD^xtAimSk;7LKH35k<tuy0!nY|A_5~f>YT7SE`A^g0#`$
zq~fM?l^Jh`M=QxsWt~$k?$7j1JV~v7gf?W)xF;2<q14OIhQ3t)#?!&5Mh`(h1oT<0
zJu_1dg&AdELLA`qXljq_P|)X0@iI;^X4vvw9(Tol3b%%0s1h|r+H_t)9_J-S*cL1}
z<oVFF7KO9i;jt?nGS`ntQhAUaQiA&Y?$DV7C$?28ePj=kK!juj{kaG}Ncqnu%nx9;
zWb<KX?J24^I_iuZdDxPJe7`DUPSzshBO_%;GG(diO1L!|KJ<H(B-n+xgkt6~n9=Jl
zk$cOHv2?<c$+SWf3a=_2sg$uKYwG>hKy|t8c8dxtf}F9NRSq7dnEbj2x{ad3veVK^
z40HFi-U%GFHN8Kvft)<#1X%G4#TFfWCeqsMriXI&Di7#u!A73bc8SPH*(1<MI)hR)
zvQTQOr!kdl^+k9SmdWX8_L73Y^ipnMB_f?vd#s&wd$5_s)G5DTbN4B}5o2`u#9`VD
zY#Ay+Wue}1{!(_E2>iYsFDb#j1jS~J*2!Tu-f@ye*c-{=hq!X@^cQy&XyeLLn%~rl
zSXDr1Rpm1$bB76P1eVnVtPJ!Fh1X?t1GV6ej%Et5aFp1TKTOn}9gpDs@C>X)A!XHL
z@L_zFpz%HS7-K~0l41Env}N<X#D?N2)Cj;iX*u}(x`yCIxuE5$w8WpxLz^u3nCmlX
z_`Dc3ip3+sXu>wGKXc0|i#j}^rK{f|k~-rPeC)xxS9H^#d#~h6h=u(0cYKUkQHN+}
z($C@!(JoW0jK-gYH#}tSE$=Jg+oX+bk95CY#*{Y%=dW$}f<470!N4{n-px?$_?tb3
zJ!i$=epz0Vz6`&k&D!Bb8OP>&x+MaUY2{W2)PoQ9;Pw8w`heHZ0DomTtxfJ}x#mf?
zs4ET~b^=T82|RS|GOfIPtoz%f#-`6Xp(nyqi5n;nE>$_iC81W5+_z7|uuS~u4rWoe
zO;p*E(iiU0>0+SzLn@Wv@+VivxY|_L@vIwIRwIkHz&R=C2)70rf%egdi1hs@(R|}e
z#7Nb)eQuX8UWJR(d-pGRd@aF^7vObnm6?J+G3KXgLI!wQ)nM1GPBVtI#$(<mHkqkn
z=tHlOo;|*E9lOPM9~<WS;WFs8(;>eRoF|Gq-5cP8kPLc7f42E)dX<Jh^Et(OrF8nh
zTi)<31BAk_#hjiPjXxD(_L+I2XY_ZaJpOo#%>Bi>-o^IvV{UxMo!+DQ9DaTQ=Wk_9
zru6u;8ujDNp|K`8-+Sp2J^HCY>4cBnaYv!gu@RoBPk4uDdFh^DPIcF(0{*=q0%zt*
zfoBDM|Mb|+hGO`>d14M<3eUz*{Lb|52Aw709{YxR2>@o`h&b?4HJGmErj=2f<8?w<
zjQDm@lzk_E9?%LEy5Nd0QrNsPBS538e)7bB=HeO93q349v$|r}JbYIJC8ay&FzU^9
z^KVosCJaj$@;6mV`wb*6|3@J5zwx9b{}1+5!PwE(>K~gH|7u?UFFxO0N*gu{zYusc
zG9(ye8Rf28kirv)COzfxHA;U8D~rf&vtN;|Ek9~>$P(%TiF?6_qmbZzr>{UUo(n1o
zhu<OG)}N;}IGRjPdh~p~yutnoHGxIds>zSUc4<=|pxtz-J=ld4;#{I)g^9S-_URpv
zCj;1JXbGAsq$&qXvLzPZ#_pMGo(h;L&?X4z-h1Clo_5ueyBYNJ#V{3(=oiL!<NPJV
zupQw+5<<O(=!zpIre(2L;RcXkhf9kNeu<MYX&UbKbs|Zp%wI4ivMomIm9`iYHH*IU
zem_`rr15&Hi11w7l9xXZY1B_)rVQ0}APV+DsO+-FJ!syVUCQFCS>n$O?Q%#VmyjF{
zL4(dXB`hYjfSp%XULohktk&sb#0rhS_1Th>2?B0`m26)wb3D?;l*7$NP#T_hTu5b8
zrZ_C4SEX^$gT;*>8gC`R;K|cL5gl~prEPY0<9+oJo)8%GUt1KxO=*hRzYsE|^@t}6
zRbhsDb$X^=LygqL+t_^J+$_iaO1>bNwLv|I#~-YKz+PMw9u7C^{P$R5-%pzXFjaW!
zGh=k~I=0?FEUR$xXWM;4_ecKfWvR^cU%-}M(DFRNK_6(6L<-uW9XpPDWS9CO(H*3c
z>X1)l-)ZE?spS=o@)bPj_iN?>_ip0@?#aCH==PEJQcgRB-%<N(j^bAAqFtzqr3JlF
zeE!W`p6@t{WBOZe<BkLL|1oU+p9{SI_gm+GJEs4fys7_BT<ccW*0(klq7|_}JT6cx
zB9VwLRIolyoUTEFKqDe!%1B+?Wq;BJsH&;zsk>2yw)yc)z>;2I&9Bj*X-LHrfBk({
z2X9HEsj2zfx!mMwv>v+e4v@lr-SxWt)zR}jb$3(oyba#_`<|y2tVOa_rvDOe)h^`Q
zPd*X+cz1!$YdEUmRvq0X;`n&*#+`AKGMGMeF9Hwrh7`U#vL^IU+hCPgzXsgV&Xx13
zj}Lx6^-hn!c<{~-{CPh&uqGK`**fz_qpt=ngk<wtAZs^ccxC9~2cxGP%nrhYZMZ)e
z7fm*N+YPOKc-hQw%g{~js*f<kmn>&@#C6+^H@eSmKm5>{7~S91pd5(yobWw)c)Wob
zo|iVxzk>brLu0yaH<q_=?1Du*k}p|-J5p|1{m6kuAGdbGYvscuDAvE`mR^i#5VdOp
zk#Wb}Xb`1_7YFU6V@Q>w2wX{#!k6*j&)f5nEw}@+&V$>*TOM3%Ea7cV&aWWgtWNPE
zTwJWllw5U@vSHo<d%}zOk`^%S=?oRxGACnpM4UL$C5cE7d3mxR`T}MoEEpI1gWaFI
zy?Uw)jYTCj#H~f_95^@xa;lh~n1LdsCtNGet~I(V-SV;W=JkA{*e7QYP)yi;xOKut
zVCNmmv}Y^ife!!;w~Tu2CAvp3C7D}OlsWZ^@~}+EcUHEI=u^+U#nw7@)txf(B<qiK
zt~|4`)cogCL#x2ocBEw@O`+ilJp-oVvM_5&qA@C+U!@Tu$dh&yd6?6XF~dnbF?F%k
z@-8a$&|(zm3)6OiSxpJM^i*90a~}Y*IA8B8AnJKs#OkVJ!$+`@vna#I<vNe%IX4;&
zTl0G6-?=UT8A(MBt@1m;UI;9cJ-AD0k`}5lwZL61Vqh!Uyh{61hQ4i^)Pj8OWH}GT
z4N+8UIWuZOiKsxpfIcnR@^Ue68|(18ZK{8KapPx!WQRtpn8XwQ=~((OF|m56=C5q~
zyRlAOs(sT1AqTSd$s+Pr;(X~)oQ3bCU5KFk5cRELy1qsgghVKGPXJiJ5lZnXm*{LF
z^VFNw=47+V+N}DvTV@^ci;9eyh49>C=1JhFv>(lvQ6^#GWprKAOWMqUlMoeV#JeL6
z%rsjNtnW08$n;VZ!ZoEjydCJO=m>=AwATKq9n3Gr=!i}d9Hn=e41{TJ`(Of&)kS0&
zu9{XEh<T%8lbJypk)^uw?$I^rApK}ZIvyr$lD~0soQTU#Lz{Kwp0;t5lyr7+Fw`#I
ziN~nQ{SxJ95yMD(ZaQZ0<w9JJ$${Q#P}R|r29?x|WWa-E<gA9avT=X30!0-8Fdm>g
zkD05Y-Z!=6jfG&}nY_tNu=|ym)SJpmJ*>=px({wqqzjEu{cD|tYGBkq<y^}8527U&
zyk+m%2r^wF@6*<8Htf0d?e`*dSl7ymkqj4*tVft!rqabX+ktopS&Kvxr&CKWB4RX3
zH$cBLi^pD=ZHQi?hoWp}aU^Oi5bR?!gwu;Hm_7r@jXN;`2CM!3OS*)HKv|j7s^buO
zio*oc35<dIm>Gk!G55wiK_#R-#DE$%m0=SBR^aX$a@k35C4NA&wD?D6V9%Hvo^Q%c
zKqUHYe4y{>3%O464LxSf?oMFSm#%Z-4L;@<E9@f`diK6L5rDND(7NWKK$cNEVW~ux
zkcD$m`jm<$F*J})Pao#(HA0mhA4<{vGcA(@u@kmit)E?gZJ0edNi5}7UyB-m)u~8^
z-e!C!*Ct#q-C)KhWuzg2nGw9xyU+3xUp^CRz7uq@5MflFD|rRJv83cRnIf0KM{NuB
zTj5V+%&te@Ggnx-QTgyA(o~!|UG*^ouZt}OK(I4xb}Z2vEYUjnbc1H0C5>>-Wid9^
zp4i6VT`>yM9XLO7)@Soq|1^>Mz5HKhXgd3l$_>0_j<FPcRbPEvjm(JlYB#O0V8D5!
znIsFp`{}kCmO8<idm$>=&>#9}d*ud=hSK<py$o)g!=cUL{Kt9J<tfp}Ro3Ni)9j=m
zPZ;D09|U{yO%Vuuu@$F>>Sm{z#y#OC;!F?u2JguwxC-@Bb1jWR?Nk#G#~6C-!+Ir-
zYV^hp?}8MHxP!AIbZKtGD~ADhP+h^_^8B5j(KbJg@6EQ5*|9~*RVa?q0XKI3(*5qH
zoznxwHB6YBc_)apCWrlLq@FPa*AVuFsb=AC!%|)}_QD<U7Rw9vq=+&$#`58_E|3N-
z*;q@oXYNtjL!P9jZUzCK+=3I4?HN|+<mTb>N08Pq-dbW=_N-W_kmt;q=-Cir%~Vz=
z)*G$6??Y0>M>RHtI$Lv;FB#Os)}v-rSkj?hSj-AJ1DlLwY*K~(FK0B#vzwR=nvSr#
zK0cUT1QXMsk_HNi^~78)MFSjQrU0DPTDWsYY#q=!$o{r{azydY?eA==`*!GK;}vZ8
zt*n--J!jkPcKD`zL#Crm70j8~$AjT<HwRl|9(MJasbx=_vX@h&X9|EeiO-Dy=}fCU
z;MPDViV5|0VTA?ERI#ZMzPi}rna?f#;$3cAsTsZ=!{n0jrk`iIPE?PF+oku<1m-nu
z>9_Udc#A%w_Ee~!l>t!zBY>R@41m_t6lnk`X(&rmKa}Ggz5?It4S@-CCrb(<FaZgM
zg`C@0%NDG}#yl@ZQX_=6q&8fGsdSV#kyB>59J)ASp_(r>0znDbp1$fLhHoT-*6>gL
z;Q={w`L{FiYk$=xu#_BKU~3@%ik9#!7ZEBDbkRV~fp8fl@=*_x29XTdGM{6)Qm`@v
z^E?hoErX_VBD|xZ9N}Dk*rO73*<=D2>%l;6DM&4bc^R3sR(KTIlOQbdRHIza0=-8O
z-e6i>aRTM&i47mf)&Ga*nxt6NfMw4$9E`^$YxJSab1qesdj|)on?}~~-;BEaH8*D<
z@-+mzW{)g$H`f9>0$kzC&=q$ea>o@~icSSA=;GR&Sys69kM%51wMaM@9eC4VN-ykj
zcdz&)H>f2yEa+RB>0U?aN1lbQ!9;qy=AKdcSC)=<W1+quXk9VX{Uptf+s?V!4L0Nz
z>I30A(<L~9b(L>a)w@<ChAyPXg;DO5t>MfKk(@e#EdX4rbm>r?DPmu^RFnFw32OKZ
z%LReOD3;&)^1XDCyOIOsl|~&&z&f5-B{$h6!}{IoUiMfe)lSPCua`Xffs-z<nq_<h
z^1VwQ7!w*GbTx|>7|rr(GIpu`=1WrZW(X>lr8WotbtSbAv8qt5>75GDLP;faD0ZG(
zA$jcXTeLdCHb<=YW%f{vpyV~&QOPo$7QB9J{d6xwJOh0>hqcm^n+7iJW9LB08?kev
zL;AbZCxF!`+3k!bXy>+P^<Xp+?`|U7(R%ebMI-i1wqmcx+8++8Y{9HFddwYrd!w0B
zNu@<pG$ovBL-?ZDWk0)E@IjoAf=4HGshe8E(e^AfA}vpqHh)RkVYBYySqy$OqRhxK
zuayS%AZSXE@h>efS>zrz`m4-}YDjc7hEJFHAxZ)+wxj+czR^vyh1I00-q>Wf+0i}$
zczGNfP@r#g;HXL<{z%K+UU-Z8gr{LD89e!HQyb!X-29;1a9RF#XKaBOm3CXY8_mg7
z5#8xuBvMO}@9mzo$JS-gGTy<c^}K|?<z3i}AC`2Kuba*OVl!<SB8n(OH(mrse=G?2
znQ93EZ3ZD_hEdhHHtQHPMxKE(0TVTrs(yDby|~2mxngl*!*0|y9pCiFeDKSZLsKoB
z*#U_ImU<9|jxT|z=FX^<gO<+a_R*3s_?7bHnEiUBJR5B}en4Uy483ON!hEc*^vEz*
zg2RlP${akUY~p@(YNkFTCI;&Q$7}y*_S!1PUvJATldffJm90j6C)H<x#Hd=bCrS=D
zOrrJIOj=#aYWg&XvxALy!%Q(FamR)^iPWq=(D*Y?uoZ!sg4KT@A}@w4mP<XRd@@-b
z*i{^N@263gx1-kbofcU5*u45@pAxK0<Y(JPj<3pao4@|eaRI+q<;&}PR|pE~|8S=H
zkM7mk!SFw3npMi$n%E*JKHzLLfrkyhBr2@SQ3YQ@U*suKEF${m$^3#8-t{*~G5eQm
zv0d3|ABQ!+0zUn>-Sl(B6f0&5blzVw23^?*t)ymk?3f*oCexlfk0;ZZeLwEcuYnXO
zgy%xqj%;0AT{rAt&<k+*R0c>{wU!xc00}CE1!hBnC^`F*+-Ua7uq#eRiDVTtDfw!{
z;Tk^0fc9u*TuUw+2w@y{dhH)|6tfO}^|ZdSxtxskbh%U9?v%4hbyjUk+uN~M>230b
z#q5BC$^G_I4GV2Wi_hdk$U^35O>uY9m3rum>NZ+@?yHnCSo3uqi-pP8=y#GN#|xQ?
zSPlEEc&88Ym7?Rst;|gLMPt==X5gyqhm?xN#=-pj1&vb6(HJLi$>?Kb5^~;aCR`e&
zJ+S()74o`cC9t?U9^EOzTFk>XZ_ReFG*vImy<bOpucOjQ-W9Fr0i?VNHu2oRA4}R3
z60~$Bt`7AFn$c5JPf-j56=Gs?1RBqPQ-UqLY%gJz_XALau;EH&H_<W|L@APd8}?e7
zbQi*=GwR@nxjNGZ8?*_Qv&z@l*K{I<a+4BbnBm9U*qugg6S64{(Knsqwh*2~juYQP
zLeh~YsN^arMvhg*@?=4di%mq8{yoUZ>YtAtdS$M5Z#VVXau7caIP`Zpe!^}J9{(hZ
zWnzF8b*dCNg_!*G1r0wU%BeO+tE&0)H+XvFD9eEnzXg|H$7#~5Q;EE$baUQ*qc^0r
z08s5uZ#UEH&4X~_!wUE*EsgmCp~%Gsa}di;P)Et&3kt8JSBxk*ZC^AVqDq&9vjTs}
zJ0M=zp|J$5<zWq%hpoM4iw}o62ycwwgqwygj&mit=aE<G3dT#U74au5Zh%XyUSKMO
z#ZvRzG$F}Q&e}Wb*CI4N=R?^e`zFB{?ZO08zmvR;)W&nbv`5C&crv$-j6_J-&AaBd
z8--){nc2mNCp(p0v%Cdx%n}GY1yauf9ePB?QL(hIGFy@Xhdsi3E*ZgL(1*;2>o^um
zG*+TZ@Qyxy`nQ{3t$9VtXpKtAWXRYpiRy6~dgeyL3}Jki41d8ZW{Qm4AHziEn;$HE
z!R(Zn%8Hr&=F>DJnPq*Ga|&zCB){2yr3!$e0|)w-E5iy%gro2qcLudss+H-%3di&3
zy@qfpN#%B85FwQzb4IwD6~XyR)lX#t#-JLl94ZA<<)dkT&n11pR<(F+3}+L+jWht|
zWnj)*zLZe>FwfT^ytLfZJhDl~)XGmu>a~qOK_t_I7~okFqx6p>D0Jg3{0=J*;}cZ}
z@J!niK}g<u3b@c_nu<}I%|v(k5#HdEQ942V4Vx~SyM<~mZZeXt$o1qxS}=&yoxSH>
z7aK8*gYvND+xqb2?-4QsxP=s6<tNBkBRq=(_)d9yN#0l8n`@v)!4Hm4++x|E=v>py
zoq@0A=gl@Eo+(98syr|nI-m99qxHgN?r}cKs8Y*=?CB^d>M=fUlc4W}o;Q`mEQt~%
zAY>FjzKRYY?iAk}zW$9G2}bgsoB3w&?!Os4!T*NA`=8SGpCcfpe;WErE(9+MwuQ2T
z(#)cn{Tjj!MNcfz5F2OsV{0xhRcn++Lh+YK$Ez2cfvdol3lQV*_uD!saC$fLa`NhE
zg41*+d+XwwU$+ND?pAmhl#CRGq?Cy$HGVGG98+Rb`d1$<V>_)Vv;AgVSr7GIcHlb_
z9>bvZz}`l)4MQYao3>&W?M9=8vgQWMw*7llx#NbMOf?-?t9o#!&I%5>(1|oe7UD_d
z7_$`YQuTiDlZxVby0RiVXbdRQq4tC}yOyG9=u}$r=`?eru_HCi99Xw#rP5qu<ouJ#
zP;E++WERya(Mr=>xJkx7Cxz&i^MZb=?P;fhS#p62>(=2DUDZH&debly+Q*$@e{3Gy
zh+R;(r9%W^%0~-H;Er3DfYc()v$65Otafm=Rkit+PtuVD8^J_}=0VRp$^}O@+ydpo
zr1Jo3ed2`Ww_{kQKFP))MMwX>6?NR`G|Pb9i%3{Ugx7|KXZQCSaDQ`1Cem%Tym9P=
zk4o`qdyj|{m_R&3g&rI+%%9__VFo*3N_+T+$<jB1jics(kW|&#KVtc(%CUka0V5a+
zvq3C>IGloJza<gFDAGC{Y^4Omo0A_id3q->*Z2bmui+&m3VA#jg;Xt4gN0V76rBt>
zVilNsfcep$mL;7CAu+Ar2tp5><b8Jj-S43g5jKIXq2U%=2t6246cQHiof`pj_+~Ts
zL{I)d5w&1`^%A_5DSH9Y?J+&VsM@g-%y=dsaPfbF%|mKFm2>VN@CNbWqf&&<u`>N%
zl$~RAWzn{vE4Gb_ZQIs~ZQH2W$%$RDZJQO_uGnV9tj@i!UypZRcaQPz82i`R|Mr+`
z&UNNm^ZO_$2znn_B?Ls*kZ{s%txV(9&yx&Lw7c-o4sxX;ufE;#-}{U0VJTa^K!2~y
zjb9awrZIXsrFf|azBAc_|3M3EmAdy0=Uy0$2A^!>vb!fsBk%AWT3dJ_t^3&HY^shW
zB=QP>BqX4enTTk*Awi8wxT1PNSz>GWNf|_6gtwCE@Xq+JcY}}eAcai6mP^Ceu0ZtP
zS}ty1$Ok*Ke{`|`k6-3L8i>UzdS3zzbpG|)pUC;@+7J~81@k3R@1U+?JSjLnb-{?P
zY4r|Pt0{(=u8FFLf-iZj^E^EJNH>z)TL9i6>fN!_%tr6)FQv@p)U}|XAINMy^**fq
zL|UISs=MjNP&f6O7D_%*K9y*H19S!z9ZVBVzb}jpsw>bm81FG>ZWsRaEaJ9rb{)7m
zkL0t`pff{#&Fg@Wx-I}#$x7BjxBjOUhb1&>X-E{f8tWpa+o(2i<lQYF+{s=zhq(HE
z!IBWShJ3kjD$U>46aKJbzs0qdRx^Vk{pF<X+HH4oArpAYdsS}F^JBsK^o@VLm8VOj
z-FNHYVDi9}70<Yo;a#q^%>bvBOM?o?POYPFw_)C-SOw*awD6PP(W_?6oqpFtV6r!3
zN7WGlj)c!p6WwZw0?@p0=d<*~r@2pU>-4o0m4L=0WCYecLD><*szK1IV%`R|HRuah
zP#2yhga`X)l)3A<)`+=idT5JHzK#1L-8>nI^y)=j$N$uGqnPJ(^~U-gEk8LvFzi=&
z$lRs#TR2d8wVmt3sL&Ov(g^9S!I^H(CMREzD5wdWG`}g0%y-|=70LyjwTXsQhCQGt
zxd5!Lwl9HBoO^XSUI=Cd#w^UNEzpxlC@2NO6poZ7$-3Zv$`VXW=JdpUuxTD=Px}f!
z!sU$4^V>4Y0OXi0>YU1-JGywKFmRLfNht}UT|tqw8gH^PD9AF(OT0aUVbBP}Mto$N
zfglv(0l)?<ch)nX)3e&i?z^TZrz7ZrpNJQy5KHsY$j{}ljS*MtOh>};qWqP=jz_~;
z){4#d|BYM%FWV^9^cB1RHeFuD%=w3viJ6>(iP0Be{=X#t|D13tj^Rh_XMzvSeWCq{
znDvdB3C#&YNJ>fyo?ke8BT*Uk=TDNF;a(6fbduS07@d~)0}KC|l@Aahq6lR1a2O|R
zM)_OqR5|R@3+rkRo8+o09a)T5yT18JSS{IpqVDvw-eh$YU`VoC`;A2@Acxy?uhLDj
z9_a^T!;w0b4NG=ZZd|DgDD>Dc_Kyi=ubCXC*Bvox0K<>BAT@E#_nCgOcx}sq@2J9V
zvma-|Wn339-AoVL|GK_4jgiFv!PEZ!#nZO@ch>j+|J(fQn}3Y&eto_#^ox{{y{YYg
z(m<OvPF>K&(f>Y}H#VljgQpPD!A9d6qM>5Oi*kmKqX?l1p#^~;QFLaT8nQM{PK$uj
zY*Bg`cx<<#){t9cJX5Q`NPm7y_!C^LUas~!Rye!Dn>j^+Belq0e((Cr@8f*s`f2NY
z8p}d}8<8lwki|S-O9C2Cw#?lZM!Rk-Zi>a%;U7&iR2R;uElijUc${iuWDHp5xqX(k
zSq87~<g@i^{Twh(IB0cqaq_q9VkVIk#H0b2epP6BFd#-_QvE3j{fNvPT9FK{6RV+{
zsP-s{I^r&wgx-T3y8V}^SMiRN!82F0Nf<6T>Wi7`-dyQ*u7%xG^E@x|3u~D6hZza*
ztyW6wO&tSD3ziG(12G$G`I4U9I7?Ex$8rp$Q`*49Vf%rrofZP}3-XTqby*zsP*@QC
z-;+Cf_QPDFTHW?H&E?bT_Uu;GPKn@yK^~3fr^Z<rUPHUsB}l`%CKt%xH`&x}B<QB;
zA<bfp9Bn*xWhuDn!!dd{B2hTV4PIPP?MZp@L?3jTziV^V;9TyyRqJ>z)=VX7cG1fh
zID)nEPHJ8r?T#l8h{Jy&5*niNhas$cvnZylj~~Zts1(A9tCM(}#eznb=i5UKpfEYt
z`iYBncfobs5Gi4x$nKb<&{BRc@nbVsl-07jFafD81lba#fvB8ly0Hozlx!^d<-Eiv
za0iv9Qsgl#n|1Bt7q`F*`=q2`?2g!V>Ir0I_<g-^?|YW9DhC^LiKtfv)a$N31BwI{
z_*cv@?yLbu2Eu>xko&k9lK?q2?FH#0iW=C8&Va)7hJr46tQXG9st%WsIP^usSj#IV
z#n9iVS89%g>a5XdjV>Wj$6WBVZG=ct9*TXUtCfa?1nPCraZHn+Q2Et6N_-_dPJH=0
z(tO1`R%}up5`B%UwL9Dw$v0g=SRo*dkcOPtW2z)Z+8lA!vW~Q1S;3}U4phG<l<n*a
ziY}~YJJc4!-78g7_bSl#q}@vG-OHrAH)pBV+IVat03fZZmuF|NYSYSqFF<nyfeWOU
zoE)xo3M@O;#FDkmxVn`Ifr=e#qneo74T(PL)CBC=91-7pWRS*fM#u_AS0E>OSMiQr
zSK*Fc7v-)m1mTV-3?VgF00D5;5>2O17+={DTawDGLATN=>>_-8_VsV-oNe7fDi|<o
z1_Pr#6b-T|gNM$g)WxETN{r;oJ1-VQ|8{MNZmgsfNE6bG(Z3e?Y4Vx{1H{SSWiOpC
z4gm=0c#^+Tsi-@GqDQg59^}R2g~vH4SUF|noH*O4*&DY_iVLjq(h8ZwOX~oogD*y%
z)Xp`#^;P}kU*fAjRRcHAepQJVW_7VUFf4V&gnGue*^(xRPm?Qgm?myXu&rEQ)9O*-
z+5b3fXBcD#PxZHo`95pM;kGugzS!VLjzUr65<I*_8Y1lnQu)2$N@NZBA;SJ-3M@94
z5#L{w_<L@{gNH}AnX*=k8$*}D6@>*AhS6U1DFTa&sy$H?ET;<VPV6}38LT#MlPN#v
z+SlC@E~AA2GzJv;wq_xDY@8x}g*6hj!JrFmo|S(8=Gh3lQZo7<+(+EOoT)o^l3TnE
zGgV=X$gt;YVrjL^1-Giv>IP=<qSBPy<9W_5Lnm@q$M%6cu~=Qs_s0*;UVt@q8LGJw
zl|sxFTLEm6S_*rZm~YIlE1o^fV9I6pakk+E)yel*$k(i|>Z0!+yC{sDxM5aJ0TKkS
z<7y*2<r%){;!suxeY)1ZMPNQLo{Kc;J<%_k(6`w7Awxyt&=(3Kbi}{YMQ{9K8-$z~
zedxn>eenbmRZEGBcemq&+|&TL<oqZOvzZd7Fd2#@TNR{KXG7Sy(HMITQciVTF-|B3
zv)&tTJi`S2&v}fEey^p_O+Jw@^dpJ{X=%frB2LP<NpZv;BuwNaOZP^~Q%={k*aj+W
zzmSR-OPu_~oLk!RkW?DFiE!B1_mE!Sh#)>tsHq-|*Zh9+E-VBq&pt6PlHA|J`E<9{
zQSP||v7Wdyek;x9N(@Eh{RNL?`p(Lf<g*yX=md+kOV%^)^W9-9M0(LrRC_yd*?n;O
zX|O+TuvejMV8*hSu?^>!F{j@E!F#Oa4OC8_fk!gFe*m*rvFGdrna{9{V`5AnH3wqp
zZ;$t0(C6S}3r(54pN_t5=&2~QP~oZ2*1IECas#Nk^89<$6Zt3fLl`*vGdnW6$q~V<
zn!rQX6o_X~+PXx=vlBiyHXS)kf<c-pig*6|PGCH_ZgvC}(B>pgzw&pPwzwv!yS1PZ
zYj_>qiq&Kh2+9g8*Q_QJ<7~-MbXA`h<?JXv5{|^0T4P*bdsz9I<$?N}qaDS)_%#pP
zJS-&)pXGQH-br2__^o0`(+=uuO)=xnU%Y=U!cIq4#&=(HvU=G6CL!ZrOYMKzp#1Nn
zdd)X)bPEhWi^j~~bYL(OQ-jJWiN>qon4qd~^fCcWR!Qi3dBA`lKkn>UTv?N*Cq>Fg
z^k>y|te3n%t`{Slv8Y4ABXrkj7MEo!mqxaI2>v2JWTj7CU0l)Ot-Z&;nD<;~J#Eam
zb2xlF?U{Xpd2a;Cex?!Z8IBuyzV!f~xN*bTj=vQHfAC-d#Tg+z=~eN0pJK|1oqeUJ
zcx#Ei9`&FIqTs_AcK7@sxb_!}CcGJmfW}R4MWZzPGAYINKRbcba}f+Hq+OM=_)+X1
zqYOII1X<j|rQF~P`r!;)>HA|0-^sn$;4prP-oY7n&2WAhxlM~PjjquT(4u4wRkBQv
zaWR^R3>QVivG~z~p#CJ#!#ZlIvexQPtfQlz4A$1Z$F*AGm?Zch`eh09tF1sX3#B%S
zP?Io%V=XKR4SDH?S`4-(sXQBifpTmNS(hnyk1id;9<XC|o#1e>S|iOTkWevgAhDz5
z0|#G73p-UA8D{fML)W|bb6`uKxoU-L(%;11hk9HTQsG`X>7m&#>5bsRWfYS>n9RJS
z<TT1eD9;p;JlZA}p+D8Iq^j<UfdfOyW{$fbg8V@BBy{%eR3dE3s--qrLHnhs*)S~x
zcwn?ifYOpeK|gVt$YHYwR%bKFhFFg&AXlRa^WbjPVeXKixYA-B7qY`)5<ZIO&8~NU
zETPiBaR@5*d;K?mMft6}AFE}Y<w5HutE1G~EbE$M0UO4j93#pEFl{=c)KVE@6wDSi
zQ_yo>jZBJD%69Ze*l1%frlb&^3bQzGe0orHw8Hi&K~~LR&%xP4K-_c-PTN2xR&-*U
zGyzOP&{0ZsR8d<7u>yLsENrCxTYTP>60A9UsfSI;!pI2wM45baZED?y=!yfG%V~mu
zQ5?1?gfN3yX-EJzWoZOUD<dFNq`A_HdN;oXH*%xb|AMo!EPREm)+<rMpZ}*-{|a}0
zQ${1zz#eO=m@uwNgz3sI^HuPiaIQI~Dqy+}BG`{U-$-+HA+)2;E}3v_0~AJ<I1jbK
zirR&ZR{GUEbZWXtd0RI5x&<7j)!X-+BWcQyDDc*8(Pskb6`^x|^prdSF}jxC&e>Dd
zIXpuiF0sR&UWtz@Nv8Za*Sl&q=E9iq<5Wr7_=J)6vR8_mX^Lt0HlDe5Izm-+n%m#k
z)&Qyb(R8c1>f3Bb8?_?#=)xU_jp`k=)e1v6ff_?J4%)PSVVHXDbn%@nhJ9o^ES%I)
zHUyQvYe#8eB!;_v0f=?sGkU`k_Q|G_Z^cAm!LT(uG{vqcO_Z4!1J*w(xwG&vIxZ8s
z+W68tozvlG7^c*&l2-GAR&F|iI2|Kw*9jM@((G56+074?<xhvA<t7VfueBaNo})uz
zu4!LUc`EMQDqAwljN_y`D<x=3;FwK^Y)Q?J?$b(=<_UzEy~Ub;<Fg-C4oA`~;5Vl2
zC1jaL5<~d+vS+Z4i!cyB^s%-y4|k2VJLwH)!hVLgqPrSp2HDI1EHN%<V^()m&;rGf
zpn-7MS738kY<nczXwB^^pSv+1mQa1v%8c4Xp*5_IERK2*lQzaImx(of*XlF4S?Ma-
z$`tD3_0Z_szNv}+MeBj|ceGOP$BgvJ>keW{T?dC0jPEf3z^Q{&UXq5Qf;3f=k+DQ@
z801Q3mmB(?Z&PDelG+8%ZIX6%gOlIc7S~bBLpOeX-Vf0>dfiYAQYYQmqMgD~<s#ym
zIb8O4bmEC4rdWiqz`54R!TSweIz^gSW2Vkd?yq^8WG13(Z9XFRWtFp^V;uDEbJYfA
zW58U;^zHA&@hGd(H?T@+tgx&V0vZCfV?yL|Scjv_imY)ThOS78hTrbEE*q!WxGSw{
z{VP3+sax>@ei%t<*?d}mT)#9o)Z6bz6JFMB*2^@qU0wZI@+ea@JXS+73x1pkf|$n@
z1479bUoEby8ur|`$yNb^L1)(jFgMLOgw=3Ja1ViRmc{jbT2_{h>KQ~?$!na|Mm=Z5
zMo>FGZmB+-Du3K+k1Hd#ES2+)Kkl1z)FYM^eNYoL@SpX)BrG9>A#WY-=Q8(D^9hjx
z{%+T!<xYax63diS$F=54*5Mm5-oo=hN9k4Yf&TIxSCSEF2yn|fU{*7DV|UFS$~w1<
zrom!z-%*?7j`3Qv%I)n+(&P>u4y0y7kTdpU;|YXl>W)u2A@Pzkyd_J~jTo`I6Fnxz
zP>V$6ix-D4Jm_OyW96@Sz)(FOsOhrqtRI<~>~Lm{OH4PYGNzD>t0x#NJ-zT7p>{)5
zlYO(X6o_b7vBU}Y^FVFYjc7Fxzw-nicl(4j#UJqD1Df+)B`he%FNpkR7E*qk_l{o{
zeqGlH{{ymj{LMZ*SM-KQ))qgU!EIBF7p;xm17-s9?3t81bX7<<WAG1L+a;g+&+|Xv
zM*Pwpe1P`5Xi9F512>pIV#njj+GC%{m)X`x+|L$s<ILTgF;<mm3(E&WH+1TMJ|#Ck
zlBYk%55U)^@0+3SvX-b`;n4k7<?5+5=?(UVeDc%25e{T)ia)fbzPCocKY8NkFExLv
zH{f}sQ00(DE{NUoDRl{<Gb+6s{NSq(tm2Qvc%~yD5xgh_RX(kbJ&}wr;EerUE;1=k
ze0iXSEQ<Uh^$}KfZUsn)y!@zSG!PjnG2Hx~FP^`Ys$ev7CY~>EAWB*H3XYo@93}D{
zO*4rvCR9%5Is(nou_b9lWd8K8o~;9-e(zePrh5tU3YQtPr8Cm5+s#c+8suFJTeW>3
z`x)0t#1VjInUl(Y`$yG=2rh>*(wO0DgnfmfQshO~`WO(MZM@@K_Vvhss*77lSJ;`n
zd&5HBnad>r{dI=BimF2O+O}tZ-J2l4q1qHNh4t6*gl*q6tNTGZSRd8|*Wbfk_yg{N
z_j784Umq{8F~f{Rt|jiUf4+&+@<jk?5f$POmQsn#;n;N)+QOKwE+m|=<K}rbiv=ZL
zFw5*T-6M>`zCV-@$L_!hAiHsbIsN3(A{W~+C+Z1dd=rvl4TDx3**|8kka|@4<~~b5
zHp{GiEw=ObUpH0~1mh!&U!6;xug%rJ#XeLq`+w0@|8Mr8;)uQR34*g#FHBkn4`MuW
z#(X9nAzmO|apFdzz@y}SzJGv*7eL!Qpp<2SaOt$BXjpzvp10YesBo#ZbGy}I<}6Oo
z-y1eBAR`j4t;|rpFDnxJNbTN8c!;@cB`&qDY)2V2RgJ8^cV>tzMYV&maXp!=rlJ1l
zAUno&Vb#v-xA|uwaR}P33K~r{N71}(m$e$=l_Ewa-S%4la;&u;D~wSlMy7*vdzIJw
zI@{A6N+w(px=njbP_)2#NJfh1A@DbO@V?iT7Q4SW_W)6%dc(DnUsSWH*=xw*jJ$4R
zr*b;#>(v>qD-RjsDXK%vt~R3X0KeF1r@uMU=@zuH>vSGEHCCK>HCu@W+*iROfU_12
z%M;*r+d9NRJ)U_|d#cC;YBvQiLlT#VN98w|Nctj`(K1pQe+EBUYJM=dcJ*c|@K;Z_
zIQ+uzaso3P7Txl<23zkQd%VO#w}JjI^kLh)jgA;C%CeGS1Mg+VOyse*SvWr*qvPvN
zRK<R3R*T-R*V%ZTp3_y3KlmC?imD*&RkC9T%B4>l_P|?Md+RocKQr$-B!MeD@fBzR
zHKP*H&UzzDbwD=+N~g>(9LX0z72P#!JcT^7L(MhwGNtLGW|Z>D-MD1w@jd$TIXz=?
z)ox<`hDJaCKiP*%U+lw$x<Fpgg>KNaYI@l(_Ti>)Y_6q8`hTzwPt9~+#MfQT^!mbZ
zIc}AH+SkUhZ48aTj=re)l<c~kfMR`GtiaN}Tg(_w-RZGhx)2J~>43@%I8~yDb7aHT
zlkh7z5Li!i4`ZJ%g)F|4mT27bHCo-B(zVN1J~8L-WxZH{$lY?NP3?R1f!qRkXi?_I
z2yVTyv)U~D=!5f>F-IT9&AGnJ%e;$fkgZCpU+}}--$fwzLd)ehhr<YAVxgi`IypRS
z&}d%W`b~6yE^@wSkCI`RTJ8}P{@#>a$iU51XTBoopls(B9szroosI0sttkzXW;{W{
zAG;*F_1$sh0S)|SaZ(ZbP0ld!3e@7(>!3^O1iR4XB{$!-YpM4Y@<k2`Wmr@dJy1g~
z9?gOoW9XHF2yybz!0-kpF|+*hd)bU%Z!a8tX_Fqj{bzWfq*OflUpQb-l;S}2-aBdb
zJ0%sEBZ||cG4$Q25r_lYx|Z(Q9&77}1p^iO-54?9ZMz)yGXGXm-#%Ef_Ep8A2Rf%b
zMp|rvFJ8IM_y_o*Ltvqtp6V#uA6|)<mZ(LSBHB2n{x$<ARYNS3WS?g?f`M!w$~&$5
zg$G>p*TL959)Ck=&rs)DMLmsMMEk@@9lgj@5_7Ay$8<xeM81NP?=Dpm_$uvs;UmeE
zC+kHb|D+)1(aOK!te1NEG5!c@${ooJWDjjETMJ(UAS0Q-Um5&sCPJJ@*(d!vN74Gq
zMuPuNpH<b<(acokOTS=m@lRprfBdt{PW<Nt0PyeBScFps2cSQ_1b=Oinq5~!vA6<N
zgyd(GSVG$d8Q%Wh+R%^4S9Ky`VcnZ=eCWnM>=K(EFdEplzJJ_Zb2h%c&CD2lDLR*x
z`hl?|87#IbR2z(Yfw5s8WSly<E$mI$e@Zv9VSv`x;knKehdFi+g}t{I48a7qy_j=5
z7a{02vXNk^VZ<=7jQBGVkJv5R8t1hq>!QGoKtbY0nVH+c-3t%0AP~ZK*j_>x_fas(
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
Gg#QB?-MY&F

literal 0
HcmV?d00001

diff --git a/lib/build/spring-core.jar b/lib/build/spring-core.jar
new file mode 100644
index 0000000000000000000000000000000000000000..fe89c5fbbd7bbe36bffa1a212da9db5a0444c654
GIT binary patch
literal 118658
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%0A@gwyqsMm6okBu9O)~%b1`4
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

literal 0
HcmV?d00001

diff --git a/src/com/google/inject/ConstructionContext.java b/src/com/google/inject/ConstructionContext.java
new file mode 100644
index 0000000000..2da79e1d55
--- /dev/null
+++ b/src/com/google/inject/ConstructionContext.java
@@ -0,0 +1,124 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Proxy;
+import java.util.List;
+import java.util.ArrayList;
+
+/**
+ * Context of a dependency construction. Used to manage circular references.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+class ConstructionContext<T> {
+
+  T currentReference;
+  boolean constructing;
+
+  List<DelegatingInvocationHandler<T>> invocationHandlers;
+
+  T getCurrentReference() {
+    return currentReference;
+  }
+
+  void removeCurrentReference() {
+    this.currentReference = null;
+  }
+
+  void setCurrentReference(T currentReference) {
+    this.currentReference = currentReference;
+  }
+
+  boolean isConstructing() {
+    return constructing;
+  }
+
+  void startConstruction() {
+    this.constructing = true;
+  }
+
+  void finishConstruction() {
+    this.constructing = false;
+    invocationHandlers = null;
+  }
+
+  Object createProxy(Class<? super T> expectedType) {
+    // TODO: if I create a proxy which implements all the interfaces of
+    // the implementation type, I'll be able to get away with one proxy
+    // instance (as opposed to one per caller).
+
+    if (!expectedType.isInterface()) {
+      throw new DependencyException(
+          expectedType.getName() + " is not an interface.");
+    }
+
+    if (invocationHandlers == null) {
+      invocationHandlers = new ArrayList<DelegatingInvocationHandler<T>>();
+    }
+
+    DelegatingInvocationHandler<T> invocationHandler =
+        new DelegatingInvocationHandler<T>();
+    invocationHandlers.add(invocationHandler);
+
+    return Proxy.newProxyInstance(
+      expectedType.getClassLoader(),
+      new Class[] { expectedType },
+      invocationHandler
+    );
+  }
+
+  void setProxyDelegates(T delegate) {
+    if (invocationHandlers != null) {
+      for (DelegatingInvocationHandler<T> invocationHandler
+          : invocationHandlers) {
+        invocationHandler.setDelegate(delegate);
+      }
+    }
+  }
+
+  static class DelegatingInvocationHandler<T> implements InvocationHandler {
+
+    T delegate;
+
+    public Object invoke(Object proxy, Method method, Object[] args)
+        throws Throwable {
+      if (delegate == null) {
+        throw new IllegalStateException(
+            "Not finished constructing. Please don't call methods on this"
+                + " object until the caller's construction is complete.");
+      }
+
+      try {
+        return method.invoke(delegate, args);
+      } catch (IllegalAccessException e) {
+        throw new RuntimeException(e);
+      } catch (IllegalArgumentException e) {
+        throw new RuntimeException(e);
+      } catch (InvocationTargetException e) {
+        throw e.getTargetException();
+      }
+    }
+
+    void setDelegate(T delegate) {
+      this.delegate = delegate;
+    }
+  }
+}
diff --git a/src/com/google/inject/Container.java b/src/com/google/inject/Container.java
new file mode 100644
index 0000000000..8b87ef9e99
--- /dev/null
+++ b/src/com/google/inject/Container.java
@@ -0,0 +1,103 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+/**
+ * Injects dependencies into constructors, methods and fields annotated with
+ * {@link Inject}. Immutable.
+ *
+ * <p>When injecting a method or constructor, you can additionally annotate
+ * its parameters with {@link Inject} and specify a dependency name. When a
+ * parameter has no annotation, the container uses the name from the method or
+ * constructor's {@link Inject} annotation respectively.
+ *
+ * <p>For example:
+ *
+ * <pre>
+ *  class Foo {
+ *
+ *    // Inject the int constant named "i".
+ *    &#64;Inject("i") int i;
+ *
+ *    // Inject the default implementation of Bar and the String constant
+ *    // named "s".
+ *    &#64;Inject Foo(Bar bar, @Inject("s") String s) {
+ *      ...
+ *    }
+ *
+ *    // Inject the default implementation of Baz and the Bob implementation
+ *    // named "foo".
+ *    &#64;Inject void initialize(Baz baz, @Inject("foo") Bob bob) {
+ *      ...
+ *    }
+ *
+ *    // Inject the default implementation of Tee.
+ *    &#64;Inject void setTee(Tee tee) {
+ *      ...
+ *    }
+ *  }
+ * </pre>
+ *
+ * <p>To create and inject an instance of {@code Foo}:
+ *
+ * <pre>
+ *  Container c = ...;
+ *  Foo foo = c.inject(Foo.class);
+ * </pre>
+ *
+ * @see ContainerBuilder
+ * @author crazybob@google.com (Bob Lee)
+ */
+public interface Container {
+
+  /**
+   * Default dependency name.
+   */
+  String DEFAULT_NAME = "default";
+
+  /**
+   * Injects dependencies into the fields and methods of an existing object.
+   */
+  void inject(Object o);
+
+  /**
+   * Creates and injects a new instance of type {@code implementation}.
+   */
+  <T> T inject(Class<T> implementation);
+
+  /**
+   * Gets an instance of the given dependency which was declared in
+   * {@link com.google.inject.ContainerBuilder}.
+   */
+  <T> T getInstance(Class<T> type, String name);
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code getInstance(type,
+   * DEFAULT_NAME)}.
+   */
+  <T> T getInstance(Class<T> type);
+
+  /**
+   * Sets the scope strategy for the current thread.
+   */
+  void setScopeStrategy(Scope.Strategy scopeStrategy);
+
+  /**
+   * Removes the scope strategy for the current thread.
+   */
+  void removeScopeStrategy();
+}
diff --git a/src/com/google/inject/ContainerBuilder.java b/src/com/google/inject/ContainerBuilder.java
new file mode 100644
index 0000000000..c47e88bd04
--- /dev/null
+++ b/src/com/google/inject/ContainerBuilder.java
@@ -0,0 +1,483 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import java.lang.reflect.Member;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.logging.Logger;
+
+/**
+ * Builds a dependency injection {@link Container}. The combination of
+ * dependency type and name uniquely identifies a dependency mapping; you can
+ * use the same name for two different types. Not safe for concurrent use.
+ *
+ * <p>Adds the following factories by default:
+ *
+ * <ul>
+ *   <li>Injects the current {@link Container}.
+ *   <li>Injects the {@link Logger} for the injected member's declaring class.
+ * </ul>
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+public final class ContainerBuilder {
+
+  final Map<Key<?>, InternalFactory<?>> factories =
+      new HashMap<Key<?>, InternalFactory<?>>();
+  final List<InternalFactory<?>> singletonFactories =
+      new ArrayList<InternalFactory<?>>();
+  final List<Class<?>> staticInjections = new ArrayList<Class<?>>();
+  boolean created;
+
+  private static final InternalFactory<Container> CONTAINER_FACTORY =
+      new InternalFactory<Container>() {
+        public Container create(InternalContext context) {
+          return context.getContainer();
+        }
+      };
+
+  private static final InternalFactory<Logger> LOGGER_FACTORY =
+      new InternalFactory<Logger>() {
+        public Logger create(InternalContext context) {
+          Member member = context.getExternalContext().getMember();
+          return member == null ? Logger.getAnonymousLogger()
+              : Logger.getLogger(member.getDeclaringClass().getName());
+        }
+      };
+
+  /**
+   * Constructs a new builder.
+   */
+  public ContainerBuilder() {
+    // In the current container as the default Container implementation.
+    factories.put(Key.newInstance(Container.class, Container.DEFAULT_NAME),
+        CONTAINER_FACTORY);
+
+    // Inject the logger for the injected member's declaring class.
+    factories.put(Key.newInstance(Logger.class, Container.DEFAULT_NAME),
+        LOGGER_FACTORY);
+  }
+
+  /**
+   * Maps a dependency. All methods in this class ultimately funnel through
+   * here.
+   */
+  private <T> ContainerBuilder factory(final Key<T> key,
+      InternalFactory<? extends T> factory, Scope scope) {
+    ensureNotCreated();
+    checkKey(key);
+    final InternalFactory<? extends T> scopedFactory =
+        scope.scopeFactory(key.getType(), key.getName(), factory);
+    factories.put(key, scopedFactory);
+    if (scope == Scope.SINGLETON) {
+      singletonFactories.add(new InternalFactory<T>() {
+        public T create(InternalContext context) {
+          try {
+            context.setExternalContext(ExternalContext.newInstance(
+                null, key, context.getContainerImpl()));
+            return scopedFactory.create(context);
+          } finally {
+            context.setExternalContext(null);
+          }
+        }
+      });
+    }
+    return this;
+  }
+
+  /**
+   * Ensures a key isn't already mapped.
+   */
+  private void checkKey(Key<?> key) {
+    if (factories.containsKey(key)) {
+      throw new DependencyException(
+          "Dependency mapping for " + key + " already exists.");
+    }
+  }
+
+  /**
+   * Maps a factory to a given dependency type and name.
+   *
+   * @param type of dependency
+   * @param name of dependency
+   * @param factory creates objects to inject
+   * @param scope scope of injected instances
+   * @return this builder
+   */
+  public <T> ContainerBuilder factory(final Class<T> type, final String name,
+      final Factory<? extends T> factory, Scope scope) {
+    InternalFactory<T> internalFactory =
+        new InternalFactory<T>() {
+
+      public T create(InternalContext context) {
+        try {
+          Context externalContext = context.getExternalContext();
+          return factory.create(externalContext);
+        } catch (Exception e) {
+          throw new RuntimeException(e);
+        }
+      }
+
+      public String toString() {
+        return new LinkedHashMap<String, Object>() {{
+          put("type", type);
+          put("name", name);
+          put("factory", factory);
+        }}.toString();
+      }
+    };
+
+    return factory(Key.newInstance(type, name), internalFactory, scope);
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code factory(type,
+   * Container.DEFAULT_NAME, factory, scope)}.
+   *
+   * @see #factory(Class, String, Factory, Scope)
+   */
+  public <T> ContainerBuilder factory(Class<T> type,
+      Factory<? extends T> factory, Scope scope) {
+    return factory(type, Container.DEFAULT_NAME, factory, scope);
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code factory(type, name, factory,
+   * Scope.DEFAULT)}.
+   *
+   * @see #factory(Class, String, Factory, Scope)
+   */
+  public <T> ContainerBuilder factory(Class<T> type, String name,
+      Factory<? extends T> factory) {
+    return factory(type, name, factory, Scope.DEFAULT);
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code factory(type,
+   * Container.DEFAULT_NAME, factory, Scope.DEFAULT)}.
+   *
+   * @see #factory(Class, String, Factory, Scope)
+   */
+  public <T> ContainerBuilder factory(Class<T> type,
+      Factory<? extends T> factory) {
+    return factory(type, Container.DEFAULT_NAME, factory, Scope.DEFAULT);
+  }
+
+  /**
+   * Maps an implementation class to a given dependency type and name. Creates
+   * instances using the container, recursively injecting dependencies.
+   *
+   * @param type of dependency
+   * @param name of dependency
+   * @param implementation class
+   * @param scope scope of injected instances
+   * @return this builder
+   */
+  public <T> ContainerBuilder factory(final Class<T> type, final String name,
+      final Class<? extends T> implementation, final Scope scope) {
+    // This factory creates new instances of the given implementation.
+    // We have to lazy load the constructor because the Container
+    // hasn't been created yet.
+    InternalFactory<? extends T> factory = new InternalFactory<T>() {
+
+      volatile ContainerImpl.ConstructorInjector<? extends T> constructor;
+
+      @SuppressWarnings("unchecked")
+      public T create(InternalContext context) {
+        if (constructor == null) {
+          this.constructor =
+              context.getContainerImpl().getConstructor(implementation);
+        }
+        return (T) constructor.construct(context, type);
+      }
+
+      public String toString() {
+        return new LinkedHashMap<String, Object>() {{
+          put("type", type);
+          put("name", name);
+          put("implementation", implementation);
+          put("scope", scope);
+        }}.toString();
+      }
+    };
+
+    return factory(Key.newInstance(type, name), factory, scope);
+  }
+
+  /**
+   * Maps an implementation class to a given dependency type and name. Creates
+   * instances using the container, recursively injecting dependencies.
+   *
+   * <p>Sets scope to value from {@link Scoped} annotation on the
+   * implementation class. Defaults to {@link Scope#DEFAULT} if no annotation
+   * is found.
+   *
+   * @param type of dependency
+   * @param name of dependency
+   * @param implementation class
+   * @return this builder
+   */
+  public <T> ContainerBuilder factory(final Class<T> type, String name,
+      final Class<? extends T> implementation) {
+    Scoped scoped = implementation.getAnnotation(Scoped.class);
+    Scope scope = scoped == null ? Scope.DEFAULT : scoped.value();
+    return factory(type, name, implementation, scope);
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code factory(type,
+   * Container.DEFAULT_NAME, implementation)}.
+   *
+   * @see #factory(Class, String, Class)
+   */
+  public <T> ContainerBuilder factory(Class<T> type,
+      Class<? extends T> implementation) {
+    return factory(type, Container.DEFAULT_NAME, implementation);
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code factory(type,
+   * Container.DEFAULT_NAME, type)}.
+   *
+   * @see #factory(Class, String, Class)
+   */
+  public <T> ContainerBuilder factory(Class<T> type) {
+    return factory(type, Container.DEFAULT_NAME, type);
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code factory(type, name, type)}.
+   *
+   * @see #factory(Class, String, Class)
+   */
+  public <T> ContainerBuilder factory(Class<T> type, String name) {
+    return factory(type, name, type);
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code factory(type,
+   * Container.DEFAULT_NAME, implementation, scope)}.
+   *
+   * @see #factory(Class, String, Class, Scope)
+   */
+  public <T> ContainerBuilder factory(Class<T> type,
+      Class<? extends T> implementation, Scope scope) {
+    return factory(type, Container.DEFAULT_NAME, implementation, scope);
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code factory(type,
+   * Container.DEFAULT_NAME, type, scope)}.
+   *
+   * @see #factory(Class, String, Class, Scope)
+   */
+  public <T> ContainerBuilder factory(Class<T> type, Scope scope) {
+    return factory(type, Container.DEFAULT_NAME, type, scope);
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code factory(type, name, type,
+   * scope)}.
+   *
+   * @see #factory(Class, String, Class, Scope)
+   */
+  public <T> ContainerBuilder factory(Class<T> type, String name, Scope scope) {
+    return factory(type, name, type, scope);
+  }
+
+  /**
+   * Maps a constant value to the given name.
+   */
+  public ContainerBuilder constant(String name, String value) {
+    return constant(String.class, name, value);
+  }
+
+  /**
+   * Maps a constant value to the given name.
+   */
+  public ContainerBuilder constant(String name, int value) {
+    return constant(int.class, name, value);
+  }
+
+  /**
+   * Maps a constant value to the given name.
+   */
+  public ContainerBuilder constant(String name, long value) {
+    return constant(long.class, name, value);
+  }
+
+  /**
+   * Maps a constant value to the given name.
+   */
+  public ContainerBuilder constant(String name, boolean value) {
+    return constant(boolean.class, name, value);
+  }
+
+  /**
+   * Maps a constant value to the given name.
+   */
+  public ContainerBuilder constant(String name, double value) {
+    return constant(double.class, name, value);
+  }
+
+  /**
+   * Maps a constant value to the given name.
+   */
+  public ContainerBuilder constant(String name, float value) {
+    return constant(float.class, name, value);
+  }
+
+  /**
+   * Maps a constant value to the given name.
+   */
+  public ContainerBuilder constant(String name, short value) {
+    return constant(short.class, name, value);
+  }
+
+  /**
+   * Maps a constant value to the given name.
+   */
+  public ContainerBuilder constant(String name, char value) {
+    return constant(char.class, name, value);
+  }
+
+  /**
+   * Maps a class to the given name.
+   */
+  public ContainerBuilder constant(String name, Class value) {
+    return constant(Class.class, name, value);
+  }
+
+  /**
+   * Maps an enum to the given name.
+   */
+  public <E extends Enum<E>> ContainerBuilder constant(String name, E value) {
+    return constant(value.getDeclaringClass(), name, value);
+  }
+
+  /**
+   * Maps a constant value to the given type and name.
+   */
+  private <T> ContainerBuilder constant(final Class<T> type, final String name,
+      final T value) {
+    InternalFactory<T> factory = new InternalFactory<T>() {
+      public T create(InternalContext ignored) {
+        return value;
+      }
+
+      public String toString() {
+        return new LinkedHashMap<String, Object>() {
+          {
+            put("type", type);
+            put("name", name);
+            put("value", value);
+          }
+        }.toString();
+      }
+    };
+
+    return factory(Key.newInstance(type, name), factory, Scope.DEFAULT);
+  }
+
+  /**
+   * Upon creation, the {@link Container} will inject static fields and methods
+   * into the given classes.
+   *
+   * @param types for which static members will be injected
+   */
+  public ContainerBuilder injectStatics(Class<?>... types) {
+    staticInjections.addAll(Arrays.asList(types));
+    return this;
+  }
+
+  /**
+   * Returns true if this builder contains a mapping for the given type and
+   * name.
+   */
+  public boolean contains(Class<?> type, String name) {
+    return factories.containsKey(Key.newInstance(type, name));
+  }
+
+  /**
+   * Convenience method.&nbsp;Equivalent to {@code contains(type,
+   * Container.DEFAULT_NAME)}.
+   */
+  public boolean contains(Class<?> type) {
+    return contains(type, Container.DEFAULT_NAME);
+  }
+
+  /**
+   * Creates a {@link Container} instance. Injects static members for classes
+   * which were registered using {@link #injectStatics(Class...)}.
+   *
+   * @param loadSingletons If true, the container will load all singletons
+   *  now. If false, the container will lazily load singletons. Eager loading
+   *  is appropriate for production use while lazy loading can speed
+   *  development.
+   * @throws IllegalStateException if called more than once
+   */
+  public Container create(boolean loadSingletons) {
+    ensureNotCreated();
+    created = true;
+    final ContainerImpl container = new ContainerImpl(
+        new HashMap<Key<?>, InternalFactory<?>>(factories));
+    if (loadSingletons) {
+      container.callInContext(new ContainerImpl.ContextualCallable<Void>() {
+        public Void call(InternalContext context) {
+          for (InternalFactory<?> factory : singletonFactories) {
+            factory.create(context);
+          }
+          return null;
+        }
+      });
+    }
+    container.injectStatics(staticInjections);
+    return container;
+  }
+
+  /**
+   * Currently we only support creating one Container instance per builder.
+   * If we want to support creating more than one container per builder,
+   * we should move to a "factory factory" model where we create a factory
+   * instance per Container. Right now, one factory instance would be
+   * shared across all the containers, singletons synchronize on the
+   * container when lazy loading, etc.
+   */
+  private void ensureNotCreated() {
+    if (created) {
+      throw new IllegalStateException("Container already created.");
+    }
+  }
+
+  /**
+   * Implemented by classes which participate in building a container.
+   */
+  public interface Command {
+
+    /**
+     * Contributes factories to the given builder.
+     *
+     * @param builder
+     */
+    void build(ContainerBuilder builder);
+  }
+}
diff --git a/src/com/google/inject/ContainerImpl.java b/src/com/google/inject/ContainerImpl.java
new file mode 100644
index 0000000000..acadc68483
--- /dev/null
+++ b/src/com/google/inject/ContainerImpl.java
@@ -0,0 +1,556 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import com.google.inject.util.ReferenceCache;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.AnnotatedElement;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Member;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * Default {@link Container} implementation.
+ *
+ * @see ContainerBuilder
+ * @author crazybob@google.com (Bob Lee)
+ */
+class ContainerImpl implements Container {
+
+  final Map<Key<?>, InternalFactory<?>> factories;
+
+  ContainerImpl(Map<Key<?>, InternalFactory<?>> factories) {
+    this.factories = factories;
+  }
+
+  @SuppressWarnings("unchecked")
+  <T> InternalFactory<? extends T> getFactory(Key<T> key) {
+    return (InternalFactory<T>) factories.get(key);
+  }
+
+  /**
+   * Field and method injectors.
+   */
+  final Map<Class<?>, List<Injector>> injectors =
+      new ReferenceCache<Class<?>, List<Injector>>() {
+        protected List<Injector> create(Class<?> key) {
+          List<Injector> injectors = new ArrayList<Injector>();
+          addInjectors(key, injectors);
+          return injectors;
+        }
+      };
+
+  /**
+   * Recursively adds injectors for fields and methods from the given class to
+   * the given list. Injects parent classes before sub classes.
+   */
+  void addInjectors(Class clazz, List<Injector> injectors) {
+    if (clazz == Object.class) {
+      return;
+    }
+
+    // Add injectors for superclass first.
+    addInjectors(clazz.getSuperclass(), injectors);
+
+    // TODO (crazybob): Filter out overridden members.
+    addInjectorsForFields(clazz.getDeclaredFields(), false, injectors);
+    addInjectorsForMethods(clazz.getDeclaredMethods(), false, injectors);
+  }
+
+  void injectStatics(List<Class<?>> staticInjections) {
+    final List<Injector> injectors = new ArrayList<Injector>();
+
+    for (Class<?> clazz : staticInjections) {
+      addInjectorsForFields(clazz.getDeclaredFields(), true, injectors);
+      addInjectorsForMethods(clazz.getDeclaredMethods(), true, injectors);
+    }
+
+    callInContext(new ContextualCallable<Void>() {
+      public Void call(InternalContext context) {
+        for (Injector injector : injectors) {
+          injector.inject(context, null);
+        }
+        return null;
+      }
+    });
+  }
+
+  void addInjectorsForMethods(Method[] methods, boolean statics,
+      List<Injector> injectors) {
+    addInjectorsForMembers(Arrays.asList(methods), statics, injectors,
+        new InjectorFactory<Method>() {
+          public Injector create(ContainerImpl container, Method method,
+              String name) throws MissingDependencyException {
+            return new MethodInjector(container, method, name);
+          }
+        });
+  }
+
+  void addInjectorsForFields(Field[] fields, boolean statics,
+      List<Injector> injectors) {
+    addInjectorsForMembers(Arrays.asList(fields), statics, injectors,
+        new InjectorFactory<Field>() {
+          public Injector create(ContainerImpl container, Field field,
+              String name) throws MissingDependencyException {
+            return new FieldInjector(container, field, name);
+          }
+        });
+  }
+
+  <M extends Member & AnnotatedElement> void addInjectorsForMembers(
+      List<M> members, boolean statics, List<Injector> injectors,
+      InjectorFactory<M> injectorFactory) {
+    for (M member : members) {
+      if (isStatic(member) == statics) {
+        Inject inject = member.getAnnotation(Inject.class);
+        if (inject != null) {
+          try {
+            injectors.add(injectorFactory.create(this, member, inject.value()));
+          } catch (MissingDependencyException e) {
+            if (inject.required()) {
+              throw new DependencyException(e);
+            }
+          }
+        }
+      }
+    }
+  }
+
+  interface InjectorFactory<M extends Member & AnnotatedElement> {
+    Injector create(ContainerImpl container, M member, String name)
+        throws MissingDependencyException;
+  }
+
+  private boolean isStatic(Member member) {
+    return Modifier.isStatic(member.getModifiers());
+  }
+
+  static class FieldInjector implements Injector {
+
+    final Field field;
+    final InternalFactory<?> factory;
+    final ExternalContext<?> externalContext;
+
+    public FieldInjector(ContainerImpl container, Field field, String name)
+        throws MissingDependencyException {
+      this.field = field;
+      field.setAccessible(true);
+
+      Key<?> key = Key.newInstance(field.getType(), name);
+      factory = container.getFactory(key);
+      if (factory == null) {
+        throw new MissingDependencyException(
+            "No mapping found for dependency " + key + " in " + field + ".");
+      }
+
+      this.externalContext = ExternalContext.newInstance(field, key, container);
+    }
+
+    public void inject(InternalContext context, Object o) {
+      ExternalContext<?> previous = context.getExternalContext();
+      context.setExternalContext(externalContext);
+      try {
+        field.set(o, factory.create(context));
+      } catch (IllegalAccessException e) {
+        throw new AssertionError(e);
+      } finally {
+        context.setExternalContext(previous);
+      }
+    }
+  }
+
+  /**
+   * Gets parameter injectors.
+   *
+   * @param member to which the parameters belong
+   * @param annotations on the parameters
+   * @param parameterTypes parameter types
+   * @return injections
+   */
+  <M extends AccessibleObject & Member> ParameterInjector<?>[]
+      getParametersInjectors(M member,
+      Annotation[][] annotations, Class[] parameterTypes, String defaultName)
+      throws MissingDependencyException {
+    List<ParameterInjector<?>> parameterInjectors =
+        new ArrayList<ParameterInjector<?>>();
+
+    Iterator<Annotation[]> annotationsIterator =
+        Arrays.asList(annotations).iterator();
+    for (Class<?> parameterType : parameterTypes) {
+      Inject annotation = findInject(annotationsIterator.next());
+      String name = annotation == null ? defaultName : annotation.value();
+      Key<?> key = Key.newInstance(parameterType, name);
+      parameterInjectors.add(createParameterInjector(key, member));
+    }
+
+    return toArray(parameterInjectors);
+  }
+
+  <T> ParameterInjector<T> createParameterInjector(
+      Key<T> key, Member member) throws MissingDependencyException {
+    InternalFactory<? extends T> factory = getFactory(key);
+    if (factory == null) {
+      throw new MissingDependencyException(
+          "No mapping found for dependency " + key + " in " + member + ".");
+    }
+
+    ExternalContext<T> externalContext =
+        ExternalContext.newInstance(member, key, this);
+    return new ParameterInjector<T>(externalContext, factory);
+  }
+
+  @SuppressWarnings("unchecked")
+  private ParameterInjector<?>[] toArray(
+      List<ParameterInjector<?>> parameterInjections) {
+    return parameterInjections.toArray(
+        new ParameterInjector[parameterInjections.size()]);
+  }
+
+  /**
+   * Finds the {@link Inject} annotation in an array of annotations.
+   */
+  Inject findInject(Annotation[] annotations) {
+    for (Annotation annotation : annotations) {
+      if (annotation.annotationType() == Inject.class) {
+        return Inject.class.cast(annotation);
+      }
+    }
+    return null;
+  }
+
+  static class MethodInjector implements Injector {
+
+    final Method method;
+    final ParameterInjector<?>[] parameterInjectors;
+
+    public MethodInjector(ContainerImpl container, Method method, String name)
+        throws MissingDependencyException {
+      this.method = method;
+      method.setAccessible(true);
+
+      Class<?>[] parameterTypes = method.getParameterTypes();
+      if (parameterTypes.length == 0) {
+        throw new DependencyException(
+            method + " has no parameters to inject.");
+      }
+      parameterInjectors = container.getParametersInjectors(
+          method, method.getParameterAnnotations(), parameterTypes, name);
+    }
+
+    public void inject(InternalContext context, Object o) {
+      try {
+        method.invoke(o, getParameters(method, context, parameterInjectors));
+      } catch (Exception e) {
+        throw new RuntimeException(e);
+      }
+    }
+  }
+
+  Map<Class<?>, ConstructorInjector> constructors =
+      new ReferenceCache<Class<?>, ConstructorInjector>() {
+        @SuppressWarnings("unchecked")
+        protected ConstructorInjector<?> create(Class<?> implementation) {
+          return new ConstructorInjector(ContainerImpl.this, implementation);
+        }
+      };
+
+  static class ConstructorInjector<T> {
+
+    final Class<T> implementation;
+    final List<Injector> injectors;
+    final Constructor<T> constructor;
+    final ParameterInjector<?>[] parameterInjectors;
+
+    ConstructorInjector(ContainerImpl container, Class<T> implementation) {
+      this.implementation = implementation;
+
+      constructor = findConstructorIn(implementation);
+      constructor.setAccessible(true);
+
+      try {
+        Inject inject = constructor.getAnnotation(Inject.class);
+        parameterInjectors = inject == null
+            ? null // default constructor.
+            : container.getParametersInjectors(
+                constructor,
+                constructor.getParameterAnnotations(),
+                constructor.getParameterTypes(),
+                inject.value()
+              );
+      } catch (MissingDependencyException e) {
+        throw new DependencyException(e);
+      }
+      injectors = container.injectors.get(implementation);
+    }
+
+    private Constructor<T> findConstructorIn(Class<T> implementation) {
+      Constructor<T> found = null;
+      for (Constructor<T> constructor
+          : implementation.getDeclaredConstructors()) {
+        if (constructor.getAnnotation(Inject.class) != null) {
+          if (found != null) {
+            throw new DependencyException("More than one constructor annotated"
+              + " with @Inject found in " + implementation + ".");
+          }
+          found = constructor;
+        }
+      }
+      if (found != null) {
+        return found;
+      }
+
+      // If no annotated constructor is found, look for a no-arg constructor
+      // instead.
+      try {
+        return implementation.getDeclaredConstructor();
+      } catch (NoSuchMethodException e) {
+        throw new DependencyException("Could not find a suitable constructor"
+            + " in " + implementation.getName() + ".");
+      }
+    }
+
+    /**
+     * Construct an instance. Returns {@code Object} instead of {@code T}
+     * because it may return a proxy.
+     */
+    Object construct(InternalContext context, Class<? super T> expectedType) {
+      ConstructionContext<T> constructionContext =
+          context.getConstructionContext(this);
+
+      // We have a circular reference between constructors. Return a proxy.
+      if (constructionContext.isConstructing()) {
+        // TODO (crazybob): if we can't proxy this object, can we proxy the
+        // other object?
+        return constructionContext.createProxy(expectedType);
+      }
+
+      // If we're re-entering this factory while injecting fields or methods,
+      // return the same instance. This prevents infinite loops.
+      T t = constructionContext.getCurrentReference();
+      if (t != null) {
+        return t;
+      }
+
+      try {
+        // First time through...
+        constructionContext.startConstruction();
+        try {
+          Object[] parameters =
+              getParameters(constructor, context, parameterInjectors);
+          t = constructor.newInstance(parameters);
+          constructionContext.setProxyDelegates(t);
+        } finally {
+          constructionContext.finishConstruction();
+        }
+
+        // Store reference. If an injector re-enters this factory, they'll
+        // get the same reference.
+        constructionContext.setCurrentReference(t);
+
+        // Inject fields and methods.
+        for (Injector injector : injectors) {
+          injector.inject(context, t);
+        }
+
+        return t;
+      } catch (InstantiationException e) {
+        throw new RuntimeException(e);
+      } catch (IllegalAccessException e) {
+        throw new RuntimeException(e);
+      } catch (InvocationTargetException e) {
+        throw new RuntimeException(e);
+      } finally {
+        constructionContext.removeCurrentReference();
+      }
+    }
+  }
+
+  static class ParameterInjector<T> {
+
+    final ExternalContext<T> externalContext;
+    final InternalFactory<? extends T> factory;
+
+    public ParameterInjector(ExternalContext<T> externalContext,
+        InternalFactory<? extends T> factory) {
+      this.externalContext = externalContext;
+      this.factory = factory;
+    }
+
+    T inject(Member member, InternalContext context) {
+      ExternalContext<?> previous = context.getExternalContext();
+      context.setExternalContext(externalContext);
+      try {
+        return factory.create(context);
+      } finally {
+        context.setExternalContext(previous);
+      }
+    }
+  }
+
+  private static Object[] getParameters(Member member, InternalContext context,
+      ParameterInjector[] parameterInjectors) {
+    if (parameterInjectors == null) {
+      return null;
+    }
+
+    Object[] parameters = new Object[parameterInjectors.length];
+    for (int i = 0; i < parameters.length; i++) {
+      parameters[i] = parameterInjectors[i].inject(member, context);
+    }
+    return parameters;
+  }
+
+  void inject(Object o, InternalContext context) {
+    List<Injector> injectors = this.injectors.get(o.getClass());
+    for (Injector injector : injectors) {
+      injector.inject(context, o);
+    }
+  }
+
+  <T> T inject(Class<T> implementation, InternalContext context) {
+    try {
+      ConstructorInjector<T> constructor = getConstructor(implementation);
+      return implementation.cast(
+          constructor.construct(context, implementation));
+    } catch (Exception e) {
+      throw new RuntimeException(e);
+    }
+  }
+
+  @SuppressWarnings("unchecked")
+  <T> T getInstance(Class<T> type, String name, InternalContext context) {
+    ExternalContext<?> previous = context.getExternalContext();
+    Key<T> key = Key.newInstance(type, name);
+    context.setExternalContext(ExternalContext.newInstance(null, key, this));
+    try {
+      return getFactory(key).create(context);
+    } finally {
+      context.setExternalContext(previous);
+    }
+  }
+
+  <T> T getInstance(Class<T> type, InternalContext context) {
+    return getInstance(type, DEFAULT_NAME, context);
+  }
+
+  public void inject(final Object o) {
+    callInContext(new ContextualCallable<Void>() {
+      public Void call(InternalContext context) {
+        inject(o, context);
+        return null;
+      }
+    });
+  }
+
+  public <T> T inject(final Class<T> implementation) {
+    return callInContext(new ContextualCallable<T>() {
+      public T call(InternalContext context) {
+        return inject(implementation, context);
+      }
+    });
+  }
+
+  public <T> T getInstance(final Class<T> type, final String name) {
+    return callInContext(new ContextualCallable<T>() {
+      public T call(InternalContext context) {
+        return getInstance(type, name, context);
+      }
+    });
+  }
+
+  public <T> T getInstance(final Class<T> type) {
+    return callInContext(new ContextualCallable<T>() {
+      public T call(InternalContext context) {
+        return getInstance(type, context);
+      }
+    });
+  }
+
+  ThreadLocal<InternalContext[]> localContext =
+      new ThreadLocal<InternalContext[]>() {
+        protected InternalContext[] initialValue() {
+          return new InternalContext[1];
+        }
+      };
+
+  /**
+   * Looks up thread local context. Creates (and removes) a new context if
+   * necessary.
+   */
+  <T> T callInContext(ContextualCallable<T> callable) {
+    InternalContext[] reference = localContext.get();
+    if (reference[0] == null) {
+      reference[0] = new InternalContext(this);
+      try {
+        return callable.call(reference[0]);
+      } finally {
+        // Only remove the context if this call created it.
+        reference[0] = null;
+      }
+    } else {
+      // Someone else will clean up this context.
+      return callable.call(reference[0]);
+    }
+  }
+
+  interface ContextualCallable<T> {
+    T call(InternalContext context);
+  }
+
+  /**
+   * Gets a constructor function for a given implementation class.
+   */
+  @SuppressWarnings("unchecked")
+  <T> ConstructorInjector<T> getConstructor(Class<T> implementation) {
+    return constructors.get(implementation);
+  }
+
+  final ThreadLocal<Scope.Strategy> localScopeStrategy =
+      new ThreadLocal<Scope.Strategy>();
+
+  public void setScopeStrategy(Scope.Strategy scopeStrategy) {
+    this.localScopeStrategy.set(scopeStrategy);
+  }
+
+  public void removeScopeStrategy() {
+    this.localScopeStrategy.remove();
+  }
+
+  /**
+   * Injects a field or method in a given object.
+   */
+  interface Injector {
+    void inject(InternalContext context, Object o);
+  }
+
+  static class MissingDependencyException extends Exception {
+
+    MissingDependencyException(String message) {
+      super(message);
+    }
+  }
+}
diff --git a/src/com/google/inject/Context.java b/src/com/google/inject/Context.java
new file mode 100644
index 0000000000..7d2b1b34da
--- /dev/null
+++ b/src/com/google/inject/Context.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import java.lang.reflect.Member;
+
+/**
+ * Context of the current injection.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+public interface Context {
+
+  /**
+   * Gets the {@link Container}.
+   */
+  Container getContainer();
+
+  /**
+   * Gets the current scope strategy. See {@link
+   * Container#setScopeStrategy(Scope.Strategy)}.
+   *
+   * @throws IllegalStateException if no strategy has been set
+   */
+  Scope.Strategy getScopeStrategy();
+
+  /**
+   * Gets the field, method or constructor which is being injected. Returns
+   * {@code null} if the object currently being constructed is pre-loaded as
+   * a singleton or requested from {@link Container#getInstance(Class)}.
+   */
+  Member getMember();
+
+  /**
+   * Gets the type of the field or parameter which is being injected.
+   */
+  Class<?> getType();
+
+  /**
+   * Gets the name of the injection specified by {@link Inject#value()}.
+   */
+  String getName();
+}
diff --git a/src/com/google/inject/DependencyException.java b/src/com/google/inject/DependencyException.java
new file mode 100644
index 0000000000..25fa5b1342
--- /dev/null
+++ b/src/com/google/inject/DependencyException.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+/**
+ * Thrown when a dependency is misconfigured.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class DependencyException extends RuntimeException {
+
+  public DependencyException(String message) {
+    super(message);
+  }
+
+  public DependencyException(String message, Throwable cause) {
+    super(message, cause);
+  }
+
+  public DependencyException(Throwable cause) {
+    super(cause);
+  }
+}
diff --git a/src/com/google/inject/ExternalContext.java b/src/com/google/inject/ExternalContext.java
new file mode 100644
index 0000000000..f3e5ae228f
--- /dev/null
+++ b/src/com/google/inject/ExternalContext.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import java.lang.reflect.Member;
+import java.util.LinkedHashMap;
+
+/**
+ * An immutable snapshot of the current context which is safe to
+ * expose to client code.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+class ExternalContext<T> implements Context {
+
+  final Member member;
+  final Key<T> key;
+  final ContainerImpl container;
+
+  public ExternalContext(Member member, Key<T> key, ContainerImpl container) {
+    this.member = member;
+    this.key = key;
+    this.container = container;
+  }
+
+  public Class<T> getType() {
+    return key.getType();
+  }
+
+  public Scope.Strategy getScopeStrategy() {
+    return container.localScopeStrategy.get();
+  }
+
+  public Container getContainer() {
+    return container;
+  }
+
+  public Member getMember() {
+    return member;
+  }
+
+  public String getName() {
+    return key.getName();
+  }
+
+  public String toString() {
+    return "Context" + new LinkedHashMap<String, Object>() {{
+      put("member", member);
+      put("type", getType());
+      put("name", getName());
+      put("container", container);
+    }}.toString();
+  }
+
+  static <T> ExternalContext<T> newInstance(Member member, Key<T> key,
+      ContainerImpl container) {
+    return new ExternalContext<T>(member, key, container);
+  }
+}
diff --git a/src/com/google/inject/Factory.java b/src/com/google/inject/Factory.java
new file mode 100644
index 0000000000..130488c9da
--- /dev/null
+++ b/src/com/google/inject/Factory.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+/**
+ * A custom factory. Creates objects which will be injected.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+public interface Factory<T> {
+
+  /**
+   * Creates an object to be injected.
+   *
+   * @param context of this injection
+   * @return instance to be injected
+   * @throws Exception if unable to create object
+   */
+  T create(Context context) throws Exception;
+}
diff --git a/src/com/google/inject/Inject.java b/src/com/google/inject/Inject.java
new file mode 100644
index 0000000000..86a9b2bfca
--- /dev/null
+++ b/src/com/google/inject/Inject.java
@@ -0,0 +1,46 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import static com.google.inject.Container.*;
+
+import static java.lang.annotation.ElementType.*;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.*;
+import java.lang.annotation.Target;
+
+/**
+ * <p>Annotates members and parameters which should have their value[s]
+ * injected.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+@Target({METHOD, CONSTRUCTOR, FIELD, PARAMETER})
+@Retention(RUNTIME)
+public @interface Inject {
+
+  /**
+   * Dependency name. Defaults to {@link Container#DEFAULT_NAME}.
+   */
+  String value() default DEFAULT_NAME;
+
+  /**
+   * Whether or not injection is required. Applicable only to methods and
+   * fields (not constructors or parameters).
+   */
+  boolean required() default true;
+}
diff --git a/src/com/google/inject/InternalContext.java b/src/com/google/inject/InternalContext.java
new file mode 100644
index 0000000000..d9d9879736
--- /dev/null
+++ b/src/com/google/inject/InternalContext.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * Internal context. Used to coordinate injections and support circular
+ * dependencies.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+class InternalContext {
+
+  final ContainerImpl container;
+  final Map<Object, ConstructionContext<?>> constructionContexts =
+      new HashMap<Object, ConstructionContext<?>>();
+  Scope.Strategy scopeStrategy;
+  ExternalContext<?> externalContext;
+
+  InternalContext(ContainerImpl container) {
+    this.container = container;
+  }
+
+  public Container getContainer() {
+    return container;
+  }
+
+  ContainerImpl getContainerImpl() {
+    return container;
+  }
+
+  Scope.Strategy getScopeStrategy() {
+    if (scopeStrategy == null) {
+      scopeStrategy = container.localScopeStrategy.get();
+
+      if (scopeStrategy == null) {
+        throw new IllegalStateException("Scope strategy not set. "
+            + "Please call Container.setScopeStrategy().");
+      }
+    }
+
+    return scopeStrategy;
+  }
+
+  @SuppressWarnings("unchecked")
+  <T> ConstructionContext<T> getConstructionContext(Object key) {
+    ConstructionContext<T> constructionContext =
+        (ConstructionContext<T>) constructionContexts.get(key);
+    if (constructionContext == null) {
+      constructionContext = new ConstructionContext<T>();
+      constructionContexts.put(key, constructionContext);
+    }
+    return constructionContext;
+  }
+
+  @SuppressWarnings("unchecked")
+  <T> ExternalContext<T> getExternalContext() {
+    return (ExternalContext<T>) externalContext;
+  }
+
+  void setExternalContext(ExternalContext<?> externalContext) {
+    this.externalContext = externalContext;
+  }
+}
diff --git a/src/com/google/inject/InternalFactory.java b/src/com/google/inject/InternalFactory.java
new file mode 100644
index 0000000000..fa5ec04e7a
--- /dev/null
+++ b/src/com/google/inject/InternalFactory.java
@@ -0,0 +1,33 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+/**
+ * Creates objects which will be injected.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+interface InternalFactory<T> {
+
+  /**
+   * Creates an object to be injected.
+   *
+   * @param context of this injection
+   * @return instance to be injected
+   */
+  T create(InternalContext context);
+}
diff --git a/src/com/google/inject/Key.java b/src/com/google/inject/Key.java
new file mode 100644
index 0000000000..30664831c8
--- /dev/null
+++ b/src/com/google/inject/Key.java
@@ -0,0 +1,74 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+/**
+ * Dependency mapping key. Uniquely identified by the required type and name.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+class Key<T> {
+
+  final Class<T> type;
+  final String name;
+  final int hashCode;
+
+  private Key(Class<T> type, String name) {
+    if (type == null) {
+      throw new NullPointerException("Type is null.");
+    }
+    if (name == null) {
+      throw new NullPointerException("Name is null.");
+    }
+
+    this.type = type;
+    this.name = name;
+
+    hashCode = type.hashCode() * 31 + name.hashCode();
+  }
+
+  Class<T> getType() {
+    return type;
+  }
+
+  String getName() {
+    return name;
+  }
+
+  public int hashCode() {
+    return hashCode;
+  }
+
+  public boolean equals(Object o) {
+    if (!(o instanceof Key)) {
+      return false;
+    }
+    if (o == this) {
+      return true;
+    }
+    Key other = (Key) o;
+    return name.equals(other.name) && type.equals(other.type);
+  }
+
+  public String toString() {
+    return "[type=" + type.getName() + ", name='" + name + "']";
+  }
+
+  static <T> Key<T> newInstance(Class<T> type, String name) {
+    return new Key<T>(type, name);
+  }
+}
diff --git a/src/com/google/inject/Scope.java b/src/com/google/inject/Scope.java
new file mode 100644
index 0000000000..66a4d94e0c
--- /dev/null
+++ b/src/com/google/inject/Scope.java
@@ -0,0 +1,206 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import java.util.concurrent.Callable;
+
+/**
+ * Scope of an injected objects.
+ *
+ * @author crazybob
+ */
+public enum Scope {
+
+  /**
+   * One instance per injection.
+   */
+  DEFAULT {
+    <T> InternalFactory<? extends T> scopeFactory(Class<T> type, String name,
+        InternalFactory<? extends T> factory) {
+      return factory;
+    }
+  },
+
+  /**
+   * One instance per container.
+   */
+  SINGLETON {
+    <T> InternalFactory<? extends T> scopeFactory(Class<T> type, String name,
+        final InternalFactory<? extends T> factory) {
+      return new InternalFactory<T>() {
+        T instance;
+        public T create(InternalContext context) {
+          synchronized (context.getContainer()) {
+            if (instance == null) {
+              instance = factory.create(context);
+            }
+            return instance;
+          }
+        }
+
+        public String toString() {
+          return factory.toString();
+        }
+      };
+    }
+  },
+
+  /**
+   * One instance per thread.
+   *
+   * <p><b>Note:</b> if a thread local object strongly references its {@link
+   * Container}, neither the {@code Container} nor the object will be
+   * eligible for garbage collection, i.e. memory leak.
+   */
+  THREAD {
+    <T> InternalFactory<? extends T> scopeFactory(Class<T> type, String name,
+        final InternalFactory<? extends T> factory) {
+      return new InternalFactory<T>() {
+        final ThreadLocal<T> threadLocal = new ThreadLocal<T>();
+        public T create(final InternalContext context) {
+          T t = threadLocal.get();
+          if (t == null) {
+            t = factory.create(context);
+            threadLocal.set(t);
+          }
+          return t;
+        }
+
+        public String toString() {
+          return factory.toString();
+        }
+      };
+    }
+  },
+
+  /**
+   * One instance per request.
+   */
+  REQUEST {
+    <T> InternalFactory<? extends T> scopeFactory(final Class<T> type,
+        final String name, final InternalFactory<? extends T> factory) {
+      return new InternalFactory<T>() {
+        public T create(InternalContext context) {
+          Strategy strategy = context.getScopeStrategy();
+          try {
+            return strategy.findInRequest(
+                type, name, toCallable(context, factory));
+          } catch (Exception e) {
+            throw new RuntimeException(e);
+          }
+        }
+
+        public String toString() {
+          return factory.toString();
+        }
+      };
+    }
+  },
+
+  /**
+   * One instance per session.
+   */
+  SESSION {
+    <T> InternalFactory<? extends T> scopeFactory(final Class<T> type,
+        final String name, final InternalFactory<? extends T> factory) {
+      return new InternalFactory<T>() {
+        public T create(InternalContext context) {
+          Strategy strategy = context.getScopeStrategy();
+          try {
+            return strategy.findInSession(
+                type, name, toCallable(context, factory));
+          } catch (Exception e) {
+            throw new RuntimeException(e);
+          }
+        }
+
+        public String toString() {
+          return factory.toString();
+        }
+      };
+    }
+  },
+
+  /**
+   * One instance per wizard.
+   */
+  WIZARD {
+    <T> InternalFactory<? extends T> scopeFactory(final Class<T> type,
+        final String name, final InternalFactory<? extends T> factory) {
+      return new InternalFactory<T>() {
+        public T create(InternalContext context) {
+          Strategy strategy = context.getScopeStrategy();
+          try {
+            return strategy.findInWizard(
+                type, name, toCallable(context, factory));
+          } catch (Exception e) {
+            throw new RuntimeException(e);
+          }
+        }
+
+        public String toString() {
+          return factory.toString();
+        }
+      };
+    }
+  };
+
+  <T> Callable<? extends T> toCallable(final InternalContext context,
+      final InternalFactory<? extends T> factory) {
+    return new Callable<T>() {
+      public T call() throws Exception {
+        return factory.create(context);
+      }
+    };
+  }
+
+  /**
+   * Wraps factory with scoping logic.
+   */
+  abstract <T> InternalFactory<? extends T> scopeFactory(
+      Class<T> type, String name, InternalFactory<? extends T> factory);
+
+  /**
+   * Pluggable scoping strategy. Enables users to provide custom
+   * implementations of request, session, and wizard scopes. Implement and
+   * pass to {@link
+   * Container#setScopeStrategy(com.google.inject.Scope.Strategy)}.
+   */
+  public interface Strategy {
+
+    /**
+     * Finds an object for the given type and name in the request scope.
+     * Creates a new object if necessary using the given factory.
+     */
+    <T> T findInRequest(Class<T> type, String name,
+        Callable<? extends T> factory) throws Exception;
+
+    /**
+     * Finds an object for the given type and name in the session scope.
+     * Creates a new object if necessary using the given factory.
+     */
+    <T> T findInSession(Class<T> type, String name,
+        Callable<? extends T> factory) throws Exception;
+
+    /**
+     * Finds an object for the given type and name in the wizard scope.
+     * Creates a new object if necessary using the given factory.
+     */
+    <T> T findInWizard(Class<T> type, String name,
+        Callable<? extends T> factory) throws Exception;
+  }
+}
diff --git a/src/com/google/inject/Scoped.java b/src/com/google/inject/Scoped.java
new file mode 100644
index 0000000000..cf143297e3
--- /dev/null
+++ b/src/com/google/inject/Scoped.java
@@ -0,0 +1,37 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import static java.lang.annotation.RetentionPolicy.RUNTIME;
+import java.lang.annotation.Target;
+
+/**
+ * Annotates a scoped implementation class.
+ *
+ * @author crazybob
+ */
+@Target(ElementType.TYPE)
+@Retention(RUNTIME)
+public @interface Scoped {
+
+  /**
+   * Scope.
+   */
+  Scope value();
+}
diff --git a/src/com/google/inject/package-info.java b/src/com/google/inject/package-info.java
new file mode 100644
index 0000000000..28c8b9087a
--- /dev/null
+++ b/src/com/google/inject/package-info.java
@@ -0,0 +1,30 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+/**
+ * <i>Guice</i> (pronounced "juice"). A lightweight dependency injection
+ * container. Features include:
+ *
+ * <ul>
+ *   <li>constructor, method, and field injection</li>
+ *   <li>static method and field injection</li>
+ *   <li>circular reference support (including constructors if you depend upon
+ *    interfaces)</li>
+ *   <li>high performance</li>
+ *   <li>externalize what needs to be and no more</li>
+ * </ul>
+ */
+package com.google.inject;
diff --git a/src/com/google/inject/util/FinalizablePhantomReference.java b/src/com/google/inject/util/FinalizablePhantomReference.java
new file mode 100644
index 0000000000..a61a132d5d
--- /dev/null
+++ b/src/com/google/inject/util/FinalizablePhantomReference.java
@@ -0,0 +1,35 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import java.lang.ref.PhantomReference;
+
+/**
+ * Phantom reference with a {@link #finalizeReferent()} method which a
+ * background thread invokes after the garbage collector reclaims the
+ * referent. This is a simpler alternative to using a {@link
+ * java.lang.ref.ReferenceQueue}.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+public abstract class FinalizablePhantomReference<T>
+    extends PhantomReference<T> implements FinalizableReference {
+
+  protected FinalizablePhantomReference(T referent) {
+    super(referent, FinalizableReferenceQueue.getInstance());
+  }
+}
diff --git a/src/com/google/inject/util/FinalizableReference.java b/src/com/google/inject/util/FinalizableReference.java
new file mode 100644
index 0000000000..b655b22f1b
--- /dev/null
+++ b/src/com/google/inject/util/FinalizableReference.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+/**
+ * Package-private interface implemented by references that have code to run
+ * after garbage collection of their referents.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+interface FinalizableReference {
+
+  /**
+   * Invoked on a background thread after the referent has been garbage
+   * collected.
+   */
+  void finalizeReferent();
+}
diff --git a/src/com/google/inject/util/FinalizableReferenceQueue.java b/src/com/google/inject/util/FinalizableReferenceQueue.java
new file mode 100644
index 0000000000..bcf0ede166
--- /dev/null
+++ b/src/com/google/inject/util/FinalizableReferenceQueue.java
@@ -0,0 +1,78 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import com.google.inject.util.FinalizableReference;
+
+import java.lang.ref.Reference;
+import java.lang.ref.ReferenceQueue;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+/**
+ * Starts a background thread that cleans up after reclaimed referents.
+ *
+ * @author Bob Lee (crazybob@google.com)
+ */
+class FinalizableReferenceQueue extends ReferenceQueue<Object> {
+
+  private static final Logger logger =
+      Logger.getLogger(FinalizableReferenceQueue.class.getName());
+
+  private FinalizableReferenceQueue() {}
+
+  void cleanUp(Reference reference) {
+    try {
+      ((FinalizableReference) reference).finalizeReferent();
+    } catch (Throwable t) {
+      deliverBadNews(t);
+    }
+  }
+
+  void deliverBadNews(Throwable t) {
+    logger.log(Level.SEVERE, "Error cleaning up after reference.", t);
+  }
+
+  void start() {
+    Thread thread = new Thread("FinalizableReferenceQueue") {
+      public void run() {
+        while (true) {
+          try {
+            cleanUp(remove());
+          } catch (InterruptedException e) { /* ignore */ }
+        }
+      }
+    };
+    thread.setDaemon(true);
+    thread.start();
+  }
+
+  static ReferenceQueue<Object> instance = createAndStart();
+
+  static FinalizableReferenceQueue createAndStart() {
+    FinalizableReferenceQueue queue = new FinalizableReferenceQueue();
+    queue.start();
+    return queue;
+  }
+
+  /**
+   * Gets instance.
+   */
+  public static ReferenceQueue<Object> getInstance() {
+    return instance;
+  }
+}
diff --git a/src/com/google/inject/util/FinalizableSoftReference.java b/src/com/google/inject/util/FinalizableSoftReference.java
new file mode 100644
index 0000000000..b9af0819bd
--- /dev/null
+++ b/src/com/google/inject/util/FinalizableSoftReference.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import java.lang.ref.SoftReference;
+
+/**
+ * Soft reference with a {@link #finalizeReferent()} method which a background
+ * thread invokes after the garbage collector reclaims the referent. This is a
+ * simpler alternative to using a {@link java.lang.ref.ReferenceQueue}.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+public abstract class FinalizableSoftReference<T> extends SoftReference<T>
+    implements FinalizableReference {
+
+  protected FinalizableSoftReference(T referent) {
+    super(referent, FinalizableReferenceQueue.getInstance());
+  }
+}
diff --git a/src/com/google/inject/util/FinalizableWeakReference.java b/src/com/google/inject/util/FinalizableWeakReference.java
new file mode 100644
index 0000000000..b92b7b8ac0
--- /dev/null
+++ b/src/com/google/inject/util/FinalizableWeakReference.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import java.lang.ref.WeakReference;
+
+/**
+ * Weak reference with a {@link #finalizeReferent()} method which a background
+ * thread invokes after the garbage collector reclaims the referent. This is a
+ * simpler alternative to using a {@link java.lang.ref.ReferenceQueue}.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+public abstract class FinalizableWeakReference<T> extends WeakReference<T>
+    implements FinalizableReference {
+
+  protected FinalizableWeakReference(T referent) {
+    super(referent, FinalizableReferenceQueue.getInstance());
+  }
+}
diff --git a/src/com/google/inject/util/Function.java b/src/com/google/inject/util/Function.java
new file mode 100644
index 0000000000..8d5a349c8e
--- /dev/null
+++ b/src/com/google/inject/util/Function.java
@@ -0,0 +1,44 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+/**
+ * A Function provides a transformation on an object and returns the resulting
+ * object.  For example, a {@code StringToIntegerFunction} may implement
+ * <code>Function&lt;String,Integer&gt;</code> and transform integers in String
+ * format to Integer format.
+ *
+ * <p>The transformation on the source object does not necessarily result in
+ * an object of a different type.  For example, a
+ * {@code FarenheitToCelciusFunction} may implement
+ * <code>Function&lt;Float,Float&gt;</code>.
+ *
+ * <p>Implementors of Function which may cause side effects upon evaluation are
+ * strongly encouraged to state this fact clearly in their API documentation.
+ */
+public interface Function<F,T> {
+
+  /**
+   * Applies the function to an object of type {@code F}, resulting in an object
+   * of type {@code T}.  Note that types {@code F} and {@code T} may or may not
+   * be the same.
+   *
+   * @param from The source object.
+   * @return The resulting object.
+   */
+  T apply(F from);
+}
diff --git a/src/com/google/inject/util/ReferenceCache.java b/src/com/google/inject/util/ReferenceCache.java
new file mode 100644
index 0000000000..8de78a9f1f
--- /dev/null
+++ b/src/com/google/inject/util/ReferenceCache.java
@@ -0,0 +1,188 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import static com.google.inject.util.ReferenceType.STRONG;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.util.concurrent.Callable;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+import java.util.concurrent.ExecutionException;
+import java.util.concurrent.Future;
+import java.util.concurrent.FutureTask;
+
+/**
+ * Extends {@link ReferenceMap} to support lazy loading values by overriding
+ * {@link #create(Object)}.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+public abstract class ReferenceCache<K, V> extends ReferenceMap<K, V> {
+
+  private static final long serialVersionUID = 0;
+
+  transient ConcurrentMap<Object, Future<V>> futures =
+      new ConcurrentHashMap<Object, Future<V>>();
+
+  transient ThreadLocal<Future<V>> localFuture = new ThreadLocal<Future<V>>();
+
+  public ReferenceCache(ReferenceType keyReferenceType,
+      ReferenceType valueReferenceType) {
+    super(keyReferenceType, valueReferenceType);
+  }
+
+  /**
+   * Equivalent to {@code new ReferenceCache(STRONG, STRONG)}.
+   */
+  public ReferenceCache() {
+    super(STRONG, STRONG);
+  }
+
+  /**
+   * Override to lazy load values. Use as an alternative to {@link
+   * #put(Object,Object)}. Invoked by getter if value isn't already cached.
+   * Must not return {@code null}. This method will not be called again until
+   * the garbage collector reclaims the returned value.
+   */
+  protected abstract V create(K key);
+
+  V internalCreate(K key) {
+    try {
+      FutureTask<V> futureTask = new FutureTask<V>(
+          new CallableCreate(key));
+
+      // use a reference so we get the same equality semantics.
+      Object keyReference = referenceKey(key);
+      Future<V> future = futures.putIfAbsent(keyReference, futureTask);
+      if (future == null) {
+        // winning thread.
+        try {
+          if (localFuture.get() != null) {
+            throw new IllegalStateException(
+                "Nested creations within the same cache are not allowed.");
+          }
+          localFuture.set(futureTask);
+          futureTask.run();
+          V value = futureTask.get();
+          putStrategy().execute(this,
+              keyReference, referenceValue(keyReference, value));
+          return value;
+        } finally {
+          localFuture.remove();
+          futures.remove(keyReference);
+        }
+      } else {
+        // wait for winning thread.
+        return future.get();
+      }
+    } catch (InterruptedException e) {
+      throw new RuntimeException(e);
+    } catch (ExecutionException e) {
+      Throwable cause = e.getCause();
+      if (cause instanceof RuntimeException) {
+        throw (RuntimeException) cause;
+      } else if (cause instanceof Error) {
+        throw (Error) cause;
+      }
+      throw new RuntimeException(cause);
+    }
+  }
+
+  /**
+   * {@inheritDoc}
+   *
+   * If this map does not contain an entry for the given key and {@link
+   * #create(Object)} has been overridden, this method will create a new
+   * value, put it in the map, and return it.
+   *
+   * @throws NullPointerException if {@link #create(Object)} returns null.
+   * @throws java.util.concurrent.CancellationException if the creation is
+   *  cancelled. See {@link #cancel()}.
+   */
+  @SuppressWarnings("unchecked")
+  @Override public V get(final Object key) {
+    V value = super.get(key);
+    return (value == null)
+      ? internalCreate((K) key)
+      : value;
+  }
+
+  /**
+   * Cancels the current {@link #create(Object)}. Throws {@link
+   * java.util.concurrent.CancellationException} to all clients currently
+   * blocked on {@link #get(Object)}.
+   */
+  protected void cancel() {
+    Future<V> future = localFuture.get();
+    if (future == null) {
+      throw new IllegalStateException("Not in create().");
+    }
+    future.cancel(false);
+  }
+
+  class CallableCreate implements Callable<V> {
+
+    K key;
+
+    public CallableCreate(K key) {
+      this.key = key;
+    }
+
+    public V call() {
+      // try one more time (a previous future could have come and gone.)
+      V value = internalGet(key);
+      if (value != null) {
+        return value;
+      }
+
+      // create value.
+      value = create(key);
+      if (value == null) {
+        throw new NullPointerException(
+            "create(K) returned null for: " + key);
+      }
+      return value;
+    }
+  }
+
+  /**
+   * Returns a {@code ReferenceCache} delegating to the specified {@code
+   * function}. The specified function must not return {@code null}.
+   */
+  public static <K, V> ReferenceCache<K, V> of(
+      ReferenceType keyReferenceType,
+      ReferenceType valueReferenceType,
+      final Function<? super K, ? extends V> function) {
+    ensureNotNull(function);
+    return new ReferenceCache<K, V>(keyReferenceType, valueReferenceType) {
+      protected V create(K key) {
+        return function.apply(key);
+      }
+      private static final long serialVersionUID = 0;
+    };
+  }
+
+  private void readObject(ObjectInputStream in) throws IOException,
+      ClassNotFoundException {
+    in.defaultReadObject();
+    this.futures = new ConcurrentHashMap<Object, Future<V>>();
+    this.localFuture = new ThreadLocal<Future<V>>();
+  }
+
+}
diff --git a/src/com/google/inject/util/ReferenceMap.java b/src/com/google/inject/util/ReferenceMap.java
new file mode 100644
index 0000000000..9a5d6f31fc
--- /dev/null
+++ b/src/com/google/inject/util/ReferenceMap.java
@@ -0,0 +1,615 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import static com.google.inject.util.ReferenceType.STRONG;
+
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.io.Serializable;
+import java.lang.ref.Reference;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+/**
+ * Concurrent hash map that wraps keys and/or values in soft or weak
+ * references. Does not support null keys or values. Uses identity equality
+ * for weak and soft keys.
+ *
+ * <p>The concurrent semantics of {@link ConcurrentHashMap} combined with the
+ * fact that the garbage collector can asynchronously reclaim and clean up
+ * after keys and values at any time can lead to some racy semantics. For
+ * example, {@link #size()} returns an upper bound on the size, i.e. the actual
+ * size may be smaller in cases where the key or value has been reclaimed but
+ * the map entry has not been cleaned up yet.
+ *
+ * <p>Another example: If {@link #get(Object)} cannot find an existing entry
+ * for a key, it will try to create one. This operation is not atomic. One
+ * thread could {@link #put(Object, Object)} a value between the time another
+ * thread running {@code get()} checks for an entry and decides to create one.
+ * In this case, the newly created value will replace the put value in the
+ * map. Also, two threads running {@code get()} concurrently can potentially
+ * create duplicate values for a given key.
+ *
+ * <p>In other words, this class is great for caching but not atomicity.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+@SuppressWarnings("unchecked")
+public class ReferenceMap<K, V> implements Map<K, V>, Serializable {
+
+  private static final long serialVersionUID = 0;
+
+  transient ConcurrentMap<Object, Object> delegate;
+
+  final ReferenceType keyReferenceType;
+  final ReferenceType valueReferenceType;
+
+  /**
+   * Concurrent hash map that wraps keys and/or values based on specified
+   * reference types.
+   *
+   * @param keyReferenceType key reference type
+   * @param valueReferenceType value reference type
+   */
+  public ReferenceMap(ReferenceType keyReferenceType,
+      ReferenceType valueReferenceType) {
+    ensureNotNull(keyReferenceType, valueReferenceType);
+
+    if (keyReferenceType == ReferenceType.PHANTOM
+        || valueReferenceType == ReferenceType.PHANTOM) {
+      throw new IllegalArgumentException("Phantom references not supported.");
+    }
+
+    this.delegate = new ConcurrentHashMap<Object, Object>();
+    this.keyReferenceType = keyReferenceType;
+    this.valueReferenceType = valueReferenceType;
+  }
+
+  V internalGet(K key) {
+    Object valueReference = delegate.get(makeKeyReferenceAware(key));
+    return valueReference == null
+        ? null
+        : (V) dereferenceValue(valueReference);
+  }
+
+  public V get(final Object key) {
+    ensureNotNull(key);
+    return internalGet((K) key);
+  }
+
+  V execute(Strategy strategy, K key, V value) {
+    ensureNotNull(key, value);
+    Object keyReference = referenceKey(key);
+    Object valueReference = strategy.execute(
+      this,
+      keyReference,
+      referenceValue(keyReference, value)
+    );
+    return valueReference == null ? null
+        : (V) dereferenceValue(valueReference);
+  }
+
+  public V put(K key, V value) {
+    return execute(putStrategy(), key, value);
+  }
+
+  public V remove(Object key) {
+    ensureNotNull(key);
+    Object referenceAwareKey = makeKeyReferenceAware(key);
+    Object valueReference = delegate.remove(referenceAwareKey);
+    return valueReference == null ? null
+        : (V) dereferenceValue(valueReference);
+  }
+
+  public int size() {
+    return delegate.size();
+  }
+
+  public boolean isEmpty() {
+    return delegate.isEmpty();
+  }
+
+  public boolean containsKey(Object key) {
+    ensureNotNull(key);
+    Object referenceAwareKey = makeKeyReferenceAware(key);
+    return delegate.containsKey(referenceAwareKey);
+  }
+
+  public boolean containsValue(Object value) {
+    ensureNotNull(value);
+    for (Object valueReference : delegate.values()) {
+      if (value.equals(dereferenceValue(valueReference))) {
+        return true;
+      }
+    }
+    return false;
+  }
+
+  public void putAll(Map<? extends K, ? extends V> t) {
+    for (Map.Entry<? extends K, ? extends V> entry : t.entrySet()) {
+      put(entry.getKey(), entry.getValue());
+    }
+  }
+
+  public void clear() {
+    delegate.clear();
+  }
+
+  /**
+   * Returns an unmodifiable set view of the keys in this map. As this method
+   * creates a defensive copy, the performance is O(n).
+   */
+  public Set<K> keySet() {
+    return Collections.unmodifiableSet(
+        dereferenceKeySet(delegate.keySet()));
+  }
+
+  /**
+   * Returns an unmodifiable set view of the values in this map. As this
+   * method creates a defensive copy, the performance is O(n).
+   */
+  public Collection<V> values() {
+    return Collections.unmodifiableCollection(
+        dereferenceValues(delegate.values()));
+  }
+
+  public V putIfAbsent(K key, V value) {
+    // TODO (crazybob) if the value has been gc'ed but the entry hasn't been
+    // cleaned up yet, this put will fail.
+    return execute(putIfAbsentStrategy(), key, value);
+  }
+
+  public boolean remove(Object key, Object value) {
+    ensureNotNull(key, value);
+    Object referenceAwareKey = makeKeyReferenceAware(key);
+    Object referenceAwareValue = makeValueReferenceAware(value);
+    return delegate.remove(referenceAwareKey, referenceAwareValue);
+  }
+
+  public boolean replace(K key, V oldValue, V newValue) {
+    ensureNotNull(key, oldValue, newValue);
+    Object keyReference = referenceKey(key);
+
+    Object referenceAwareOldValue = makeValueReferenceAware(oldValue);
+    return delegate.replace(
+      keyReference,
+      referenceAwareOldValue,
+      referenceValue(keyReference, newValue)
+    );
+  }
+
+  public V replace(K key, V value) {
+    // TODO (crazybob) if the value has been gc'ed but the entry hasn't been
+    // cleaned up yet, this will succeed when it probably shouldn't.
+    return execute(replaceStrategy(), key, value);
+  }
+
+  /**
+   * Returns an unmodifiable set view of the entries in this map. As this
+   * method creates a defensive copy, the performance is O(n).
+   */
+  public Set<Map.Entry<K, V>> entrySet() {
+    Set<Map.Entry<K, V>> entrySet = new HashSet<Map.Entry<K, V>>();
+    for (Map.Entry<Object, Object> entry : delegate.entrySet()) {
+      Map.Entry<K, V> dereferenced = dereferenceEntry(entry);
+      if (dereferenced != null) {
+        entrySet.add(dereferenced);
+      }
+    }
+    return Collections.unmodifiableSet(entrySet);
+  }
+
+  /**
+   * Dereferences an entry. Returns null if the key or value has been gc'ed.
+   */
+  Entry dereferenceEntry(Map.Entry<Object, Object> entry) {
+    K key = dereferenceKey(entry.getKey()); 
+    V value = dereferenceValue(entry.getValue());
+    return (key == null || value == null)
+        ? null
+        : new Entry(key, value);
+  }
+
+  /**
+   * Creates a reference for a key.
+   */
+  Object referenceKey(K key) {
+    switch (keyReferenceType) {
+      case STRONG: return key;
+      case SOFT: return new SoftKeyReference(key);
+      case WEAK: return new WeakKeyReference(key);
+      default: throw new AssertionError();
+    }
+  }
+
+  /**
+   * Converts a reference to a key.
+   */
+  K dereferenceKey(Object o) {
+    return (K) dereference(keyReferenceType, o);
+  }
+
+  /**
+   * Converts a reference to a value.
+   */
+  V dereferenceValue(Object o) {
+    return (V) dereference(valueReferenceType, o);
+  }
+
+  /**
+   * Returns the refererent for reference given its reference type.
+   */
+  Object dereference(ReferenceType referenceType, Object reference) {
+    return referenceType == STRONG ? reference : ((Reference) reference).get();
+  }
+
+  /**
+   * Creates a reference for a value.
+   */
+  Object referenceValue(Object keyReference, Object value) {
+    switch (valueReferenceType) {
+      case STRONG: return value;
+      case SOFT: return new SoftValueReference(keyReference, value);
+      case WEAK: return new WeakValueReference(keyReference, value);
+      default: throw new AssertionError();
+    }
+  }
+
+  /**
+   * Dereferences a set of key references.
+   */
+  Set<K> dereferenceKeySet(Set keyReferences) {
+    return keyReferenceType == STRONG
+        ? keyReferences
+        : dereferenceCollection(keyReferenceType, keyReferences, new HashSet());
+  }
+
+  /**
+   * Dereferences a collection of value references.
+   */
+  Collection<V> dereferenceValues(Collection valueReferences) {
+    return valueReferenceType == STRONG
+        ? valueReferences
+        : dereferenceCollection(valueReferenceType, valueReferences,
+            new ArrayList(valueReferences.size()));
+  }
+
+  /**
+   * Wraps key so it can be compared to a referenced key for equality.
+   */
+  Object makeKeyReferenceAware(Object o) {
+    return keyReferenceType == STRONG ? o : new KeyReferenceAwareWrapper(o);
+  }
+
+  /**
+   * Wraps value so it can be compared to a referenced value for equality.
+   */
+  Object makeValueReferenceAware(Object o) {
+    return valueReferenceType == STRONG ? o : new ReferenceAwareWrapper(o);
+  }
+
+  /**
+   * Dereferences elements in {@code in} using
+   * {@code referenceType} and puts them in {@code out}. Returns
+   * {@code out}.
+   */
+  <T extends Collection<Object>> T dereferenceCollection(
+      ReferenceType referenceType, T in, T out) {
+    for (Object reference : in) {
+      out.add(dereference(referenceType, reference));
+    }
+    return out;
+  }
+
+  /**
+   * Marker interface to differentiate external and internal references.
+   */
+  interface InternalReference {}
+
+  static int keyHashCode(Object key) {
+    return System.identityHashCode(key);
+  }
+
+  /**
+   * Tests weak and soft references for identity equality. Compares references
+   * to other references and wrappers. If o is a reference, this returns true
+   * if r == o or if r and o reference the same non null object. If o is a
+   * wrapper, this returns true if r's referent is identical to the wrapped
+   * object.
+   */
+  static boolean referenceEquals(Reference r, Object o) {
+    // compare reference to reference.
+    if (o instanceof InternalReference) {
+      // are they the same reference? used in cleanup.
+      if (o == r) {
+        return true;
+      }
+
+      // do they reference identical values? used in conditional puts.
+      Object referent = ((Reference) o).get();
+      return referent != null && referent == r.get();
+    }
+
+    // is the wrapped object identical to the referent? used in lookups.
+    return ((ReferenceAwareWrapper) o).unwrap() == r.get();
+  }
+
+  /**
+   * Big hack. Used to compare keys and values to referenced keys and values
+   * without creating more references.
+   */
+  static class ReferenceAwareWrapper {
+
+    Object wrapped;
+
+    ReferenceAwareWrapper(Object wrapped) {
+      this.wrapped = wrapped;
+    }
+
+    Object unwrap() {
+      return wrapped;
+    }
+
+    public int hashCode() {
+      return wrapped.hashCode();
+    }
+
+    public boolean equals(Object obj) {
+      // defer to reference's equals() logic.
+      return obj.equals(this);
+    }
+  }
+
+  /**
+   * Used for keys. Overrides hash code to use identity hash code.
+   */
+  static class KeyReferenceAwareWrapper extends ReferenceAwareWrapper {
+
+    public KeyReferenceAwareWrapper(Object wrapped) {
+      super(wrapped);
+    }
+
+    public int hashCode() {
+      return System.identityHashCode(wrapped);
+    }
+  }
+
+  class SoftKeyReference extends FinalizableSoftReference<Object>
+      implements InternalReference {
+
+    int hashCode;
+
+    public SoftKeyReference(Object key) {
+      super(key);
+      this.hashCode = keyHashCode(key);
+    }
+
+    public void finalizeReferent() {
+      delegate.remove(this);
+    }
+
+    @Override public int hashCode() {
+      return this.hashCode;
+    }
+
+    @Override public boolean equals(Object o) {
+      return referenceEquals(this, o);
+    }
+  }
+
+  class WeakKeyReference extends FinalizableWeakReference<Object>
+      implements InternalReference {
+
+    int hashCode;
+
+    public WeakKeyReference(Object key) {
+      super(key);
+      this.hashCode = keyHashCode(key);
+    }
+
+    public void finalizeReferent() {
+      delegate.remove(this);
+    }
+
+    @Override public int hashCode() {
+      return this.hashCode;
+    }
+
+    @Override public boolean equals(Object o) {
+      return referenceEquals(this, o);
+    }
+  }
+
+  class SoftValueReference extends FinalizableSoftReference<Object>
+      implements InternalReference {
+
+    Object keyReference;
+
+    public SoftValueReference(Object keyReference, Object value) {
+      super(value);
+      this.keyReference = keyReference;
+    }
+
+    public void finalizeReferent() {
+      delegate.remove(keyReference, this);
+    }
+
+    @Override public boolean equals(Object obj) {
+      return referenceEquals(this, obj);
+    }
+  }
+
+  class WeakValueReference extends FinalizableWeakReference<Object>
+      implements InternalReference {
+
+    Object keyReference;
+
+    public WeakValueReference(Object keyReference, Object value) {
+      super(value);
+      this.keyReference = keyReference;
+    }
+
+    public void finalizeReferent() {
+      delegate.remove(keyReference, this);
+    }
+
+    @Override public boolean equals(Object obj) {
+      return referenceEquals(this, obj);
+    }
+  }
+
+  protected interface Strategy {
+    public Object execute(ReferenceMap map, Object keyReference,
+        Object valueReference);
+  }
+
+  protected Strategy putStrategy() {
+    return PutStrategy.PUT;
+  }
+
+  protected Strategy putIfAbsentStrategy() {
+    return PutStrategy.PUT_IF_ABSENT;
+  }
+
+  protected Strategy replaceStrategy() {
+    return PutStrategy.REPLACE;
+  }
+
+  private enum PutStrategy implements Strategy {
+    PUT {
+      public Object execute(ReferenceMap map, Object keyReference,
+          Object valueReference) {
+        return map.delegate.put(keyReference, valueReference);
+      }
+    },
+
+    REPLACE {
+      public Object execute(ReferenceMap map, Object keyReference,
+          Object valueReference) {
+        return map.delegate.replace(keyReference, valueReference);
+      }
+    },
+
+    PUT_IF_ABSENT {
+      public Object execute(ReferenceMap map, Object keyReference,
+          Object valueReference) {
+        return map.delegate.putIfAbsent(keyReference, valueReference);
+      }
+    };
+  };
+
+  private static PutStrategy defaultPutStrategy;
+
+  protected PutStrategy getPutStrategy() {
+    return defaultPutStrategy;
+  }
+
+
+  class Entry implements Map.Entry<K, V> {
+
+    K key;
+    V value;
+
+    public Entry(K key, V value) {
+      this.key = key;
+      this.value = value;
+    }
+
+    public K getKey() {
+      return this.key;
+    }
+
+    public V getValue() {
+      return this.value;
+    }
+
+    public V setValue(V value) {
+      return put(key, value);
+    }
+
+    public int hashCode() {
+      return key.hashCode() * 31 + value.hashCode();
+    }
+
+    public boolean equals(Object o) {
+      if (!(o instanceof ReferenceMap.Entry)) {
+        return false;
+      }
+
+      Entry entry = (Entry) o;
+      return key.equals(entry.key) && value.equals(entry.value);
+    }
+
+    public String toString() {
+      return key + "=" + value;
+    }
+  }
+
+  static void ensureNotNull(Object o) {
+    if (o == null) {
+      throw new NullPointerException();
+    }
+  }
+
+  static void ensureNotNull(Object... array) {
+    for (int i = 0; i < array.length; i++) {
+      if (array[i] == null) {
+        throw new NullPointerException("Argument #" + i + " is null.");
+      }
+    }
+  }
+
+  private void writeObject(ObjectOutputStream out) throws IOException  {
+    out.defaultWriteObject();
+    out.writeInt(size());
+    for (Map.Entry<Object, Object> entry : delegate.entrySet()) {
+      Object key = dereferenceKey(entry.getKey());
+      Object value = dereferenceValue(entry.getValue());
+
+      // don't persist gc'ed entries.
+      if (key != null && value != null) {
+        out.writeObject(key);
+        out.writeObject(value);
+      }
+    }
+    out.writeObject(null);
+  }
+
+  private void readObject(ObjectInputStream in) throws IOException,
+      ClassNotFoundException {
+    in.defaultReadObject();
+    int size = in.readInt();
+    this.delegate = new ConcurrentHashMap<Object, Object>(size);
+    while (true) {
+      K key = (K) in.readObject();
+      if (key == null) {
+        break;
+      }
+      V value = (V) in.readObject();
+      put(key, value);
+    }
+  }
+
+}
diff --git a/src/com/google/inject/util/ReferenceType.java b/src/com/google/inject/util/ReferenceType.java
new file mode 100644
index 0000000000..8ec8f38e77
--- /dev/null
+++ b/src/com/google/inject/util/ReferenceType.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+/**
+ * Reference type. Used to specify what type of reference to keep to a
+ * referent.
+ *
+ * @see java.lang.ref.Reference
+ * @author crazybob@google.com (Bob Lee)
+ */
+public enum ReferenceType {
+
+  /**
+   * Prevents referent from being reclaimed by the garbage collector.
+   */
+  STRONG,
+
+  /**
+   * Referent reclaimed in an LRU fashion when the VM runs low on memory and
+   * no strong references exist.
+   *
+   * @see java.lang.ref.SoftReference
+   */
+  SOFT,
+
+  /**
+   * Referent reclaimed when no strong or soft references exist.
+   *
+   * @see java.lang.ref.WeakReference
+   */
+  WEAK,
+
+  /**
+   * Similar to weak references except the garbage collector doesn't actually
+   * reclaim the referent. More flexible alternative to finalization.
+   *
+   * @see java.lang.ref.PhantomReference
+   */
+  PHANTOM;
+}
diff --git a/src/com/google/inject/util/Strings.java b/src/com/google/inject/util/Strings.java
new file mode 100644
index 0000000000..56a674e699
--- /dev/null
+++ b/src/com/google/inject/util/Strings.java
@@ -0,0 +1,55 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+/**
+ * String utilities.
+ * 
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class Strings {
+
+  /**
+   * Returns a string that is equivalent to the specified string with its
+   * first character converted to uppercase as by {@link String#toUpperCase}.
+   * The returned string will have the same value as the specified string if
+   * its first character is non-alphabetic, if its first character is already
+   * uppercase, or if the specified string is of length 0.
+   *
+   * <p>For example:
+   * <pre>
+   *    capitalize("foo bar").equals("Foo bar");
+   *    capitalize("2b or not 2b").equals("2b or not 2b")
+   *    capitalize("Foo bar").equals("Foo bar");
+   *    capitalize("").equals("");
+   * </pre>
+   *
+   * @param s the string whose first character is to be uppercased
+   * @return a string equivalent to <tt>s</tt> with its first character
+   *     converted to uppercase
+   * @throws NullPointerException if <tt>s</tt> is null
+   */
+  public static String capitalize(String s) {
+    if (s.length() == 0)
+      return s;
+    char first = s.charAt(0);
+    char capitalized = Character.toUpperCase(first);
+    return (first == capitalized)
+        ? s
+        : capitalized + s.substring(1);
+  }
+}
diff --git a/test/com/google/inject/AllTests.java b/test/com/google/inject/AllTests.java
new file mode 100644
index 0000000000..c102116703
--- /dev/null
+++ b/test/com/google/inject/AllTests.java
@@ -0,0 +1,51 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import com.google.inject.util.FinalizableReferenceQueueTest;
+import com.google.inject.util.ReferenceCacheTest;
+import com.google.inject.util.ReferenceMapTest;
+import com.google.inject.util.ReferenceMapTestSuite;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class AllTests {
+
+  public static Test suite() {
+    TestSuite suite = new TestSuite();
+
+    suite.addTestSuite(ContainerTest.class);
+    suite.addTestSuite(CircularDependencyTest.class);
+    suite.addTestSuite(StaticInjectionTest.class);
+    suite.addTestSuite(NotRequiredTest.class);
+    suite.addTestSuite(FactoryTest.class);
+    suite.addTestSuite(SuperclassTest.class);
+
+    // util.
+    suite.addTestSuite(FinalizableReferenceQueueTest.class);
+    suite.addTestSuite(ReferenceMapTest.class);
+    suite.addTestSuite(ReferenceCacheTest.class);
+
+    suite.addTest(ReferenceMapTestSuite.suite());
+
+    return suite;
+  }
+}
diff --git a/test/com/google/inject/CircularDependencyTest.java b/test/com/google/inject/CircularDependencyTest.java
new file mode 100644
index 0000000000..d0d54ee2dd
--- /dev/null
+++ b/test/com/google/inject/CircularDependencyTest.java
@@ -0,0 +1,68 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import static com.google.inject.Scope.SINGLETON;
+
+import junit.framework.TestCase;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class CircularDependencyTest extends TestCase {
+
+  public void testCircularlyDependentConstructors() {
+    ContainerBuilder builder = new ContainerBuilder();
+    builder
+        .factory(A.class, AImpl.class)
+        .factory(B.class, BImpl.class);
+
+    Container container = builder.create(false);
+    A a = container.inject(AImpl.class);
+    assertNotNull(a.getB().getA());
+  }
+
+  interface A {
+    B getB();
+  }
+
+  @Scoped(SINGLETON)
+  static class AImpl implements A {
+    final B b;
+    @Inject public AImpl(B b) {
+      this.b = b;
+    }
+    public B getB() {
+      return b;
+    }
+  }
+
+  interface B {
+    A getA();
+  }
+
+  static class BImpl implements B {
+    final A a;
+    @Inject public BImpl(A a) {
+      this.a = a;
+    }
+    public A getA() {
+      return a;
+    }
+  }
+
+}
diff --git a/test/com/google/inject/ContainerTest.java b/test/com/google/inject/ContainerTest.java
new file mode 100644
index 0000000000..2a2bf27a13
--- /dev/null
+++ b/test/com/google/inject/ContainerTest.java
@@ -0,0 +1,189 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import static com.google.inject.Scope.SINGLETON;
+
+import junit.framework.TestCase;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class ContainerTest extends TestCase {
+
+  public void testInjection() {
+    Container container = createFooContainer();
+    Foo foo = container.inject(Foo.class);
+
+    assertEquals("test", foo.s);
+    assertEquals("test", foo.bar.getTee().getS());
+    assertSame(foo.bar, foo.copy);
+    assertEquals(5, foo.i);
+    assertEquals(5, foo.bar.getI());
+
+    // Test circular dependency.
+    assertSame(foo.bar, foo.bar.getTee().getBar());
+  }
+
+  private Container createFooContainer() {
+    ContainerBuilder builder = new ContainerBuilder();
+    builder
+      .factory(Bar.class, BarImpl.class)
+      .factory(Tee.class, TeeImpl.class)
+      .constant("s", "test")
+      .constant("i", 5);
+
+    return builder.create(false);
+  }
+
+  public void testGetInstance() {
+    Container container = createFooContainer();
+
+    Bar bar = container.getInstance(Bar.class, Container.DEFAULT_NAME);
+    assertEquals("test", bar.getTee().getS());
+    assertEquals(5, bar.getI());
+  }
+
+  static class Foo {
+
+    @Inject Bar bar;
+    @Inject Bar copy;
+
+    @Inject("s") String s;
+
+    int i;
+
+    @Inject("i")
+    void setI(int i) {
+      this.i = i;
+    }
+  }
+
+  interface Bar {
+
+    Tee getTee();
+    int getI();
+  }
+
+  @Scoped(SINGLETON)
+  static class BarImpl implements Bar {
+
+    @Inject("i") int i;
+
+    Tee tee;
+
+    @Inject
+    void initialize(Tee tee) {
+      this.tee = tee;
+    }
+
+    public Tee getTee() {
+      return tee;
+    }
+
+    public int getI() {
+      return i;
+    }
+  }
+
+  interface Tee {
+
+    String getS();
+    Bar getBar();
+  }
+
+  static class TeeImpl implements Tee {
+
+    final String s;
+    @Inject Bar bar;
+
+    @Inject
+    TeeImpl(@Inject("s") String s) {
+      this.s = s;
+    }
+
+    public String getS() {
+      return s;
+    }
+
+    public Bar getBar() {
+      return bar;
+    }
+  }
+
+  public void testCircularlyDependentConstructors() {
+    ContainerBuilder builder = new ContainerBuilder();
+    builder
+        .factory(A.class, AImpl.class)
+        .factory(B.class, BImpl.class);
+
+    Container container = builder.create(false);
+    A a = container.inject(AImpl.class);
+    assertNotNull(a.getB().getA());
+  }
+
+  interface A {
+    B getB();
+  }
+
+  @Scoped(SINGLETON)
+  static class AImpl implements A {
+    final B b;
+    @Inject public AImpl(B b) {
+      this.b = b;
+    }
+    public B getB() {
+      return b;
+    }
+  }
+
+  interface B {
+    A getA();
+  }
+
+  static class BImpl implements B {
+    final A a;
+    @Inject public BImpl(A a) {
+      this.a = a;
+    }
+    public A getA() {
+      return a;
+    }
+  }
+
+  public void testInjectStatics() {
+    Container c = new ContainerBuilder()
+        .constant("s", "test")
+        .constant("i", 5)
+        .injectStatics(Static.class)
+        .create(false);
+
+    assertEquals("test", Static.s);
+    assertEquals(5, Static.i);
+  }
+
+  static class Static {
+
+    @Inject("i") static int i;
+
+    static String s;
+
+    @Inject("s") static void setS(String s) {
+      Static.s = s;
+    }
+  }
+}
diff --git a/test/com/google/inject/FactoryTest.java b/test/com/google/inject/FactoryTest.java
new file mode 100644
index 0000000000..7356fd60a6
--- /dev/null
+++ b/test/com/google/inject/FactoryTest.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import junit.framework.TestCase;
+
+import java.lang.reflect.Member;
+import java.lang.reflect.Method;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class FactoryTest extends TestCase {
+
+  public void testInjection() throws Exception {
+    ContainerBuilder cb = new ContainerBuilder();
+
+    // Called from getInstance().
+    cb.factory(Foo.class, createFactory(Foo.class, "default", null));
+
+    // Called during singleton loading.
+    cb.factory(Bar.class, "fooBar",
+        createFactory(Bar.class, "fooBar", null), Scope.SINGLETON);
+
+    cb.factory(Tee.class, "tee1",
+        createFactory(Tee.class, "tee1",
+            Bar.class.getDeclaredConstructor(Tee.class)));
+
+    cb.factory(Tee.class, "tee2",
+        createFactory(Tee.class, "tee2",
+            Bar.class.getDeclaredField("tee2")));
+
+    final Method execute = Tee.class.getDeclaredMethod(
+        "execute", Bob.class, Bob.class);
+    cb.factory(Bob.class, "bob1",
+        createFactory(Bob.class, "bob1", execute));
+    cb.factory(Bob.class, "bob2",
+        createFactory(Bob.class, "bob2", execute));
+
+    Container c = cb.create(true);
+
+    Foo foo = c.getInstance(Foo.class);
+
+    assertNotNull(foo.bar);
+    assertNotNull(foo.bar.tee1);
+    assertNotNull(foo.bar.tee2);
+    assertNotNull(foo.bar.tee1.bob1);
+    assertNotNull(foo.bar.tee1.bob2);
+    assertNotNull(foo.bar.tee2.bob1);
+    assertNotNull(foo.bar.tee2.bob2);
+  }
+
+  <T> Factory<T> createFactory(final Class<T> type, final String name,
+      final Member expectedMember) {
+    return new Factory<T>() {
+      public T create(Context context) throws Exception {
+        assertEquals(expectedMember, context.getMember());
+        assertEquals(name, context.getName());
+        assertEquals(type, context.getType());
+        return context.getContainer().inject(type);
+      }
+    };
+  }
+
+  static class Foo {
+    final Bar bar;
+    @Inject("fooBar") Foo(Bar bar) {
+      this.bar = bar;
+    }
+  }
+
+  static class Bar {
+    @Inject("tee2") Tee tee2;
+    final Tee tee1;
+    @Inject("tee1") Bar(Tee tee1) {
+      this.tee1 = tee1;
+    }
+  }
+
+  static class Tee {
+    Bob bob1, bob2;
+    @Inject void execute(
+        @Inject("bob1") Bob bob1,
+        @Inject("bob2") Bob bob2) {
+      this.bob1 = bob1;
+      this.bob2 = bob2;
+    }
+  }
+
+  static class Bob {}
+}
diff --git a/test/com/google/inject/NotRequiredTest.java b/test/com/google/inject/NotRequiredTest.java
new file mode 100644
index 0000000000..2f4f7257f3
--- /dev/null
+++ b/test/com/google/inject/NotRequiredTest.java
@@ -0,0 +1,54 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import junit.framework.TestCase;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class NotRequiredTest extends TestCase {
+
+  public void testProvided() {
+    Container c = new ContainerBuilder()
+        .factory(Bar.class)
+        .create(false);
+    Foo foo = c.inject(Foo.class);
+    assertNotNull(foo.bar);
+    assertNotNull(foo.fromMethod);
+  }
+
+  public void testNotProvided() {
+    Container c = new ContainerBuilder()
+        .create(false);
+    Foo foo = c.inject(Foo.class);
+    assertNull(foo.bar);
+    assertNull(foo.fromMethod);
+  }
+
+  static class Foo {
+    @Inject(required=false) Bar bar;
+
+    Bar fromMethod;
+
+    @Inject(required=false) void setBar(Bar bar) {
+      fromMethod = bar;
+    }
+  }
+
+  static class Bar {}
+}
diff --git a/test/com/google/inject/SpringTest.java b/test/com/google/inject/SpringTest.java
new file mode 100644
index 0000000000..859eaae0d2
--- /dev/null
+++ b/test/com/google/inject/SpringTest.java
@@ -0,0 +1,194 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import static com.google.inject.Scope.*;
+
+import junit.framework.TestCase;
+
+import org.springframework.beans.MutablePropertyValues;
+import org.springframework.beans.factory.config.ConstructorArgumentValues;
+import org.springframework.beans.factory.config.RuntimeBeanReference;
+import org.springframework.beans.factory.support.DefaultListableBeanFactory;
+import org.springframework.beans.factory.support.RootBeanDefinition;
+
+import java.util.concurrent.Callable;
+
+/**
+ * Performance test.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class SpringTest extends TestCase {
+
+  static final Callable<Foo> springFactory = new Callable<Foo>() {
+
+    final DefaultListableBeanFactory beanFactory;
+
+    {
+      beanFactory = new DefaultListableBeanFactory();
+
+      RootBeanDefinition tee = new RootBeanDefinition(TeeImpl.class, true);
+      tee.setLazyInit(true);
+      ConstructorArgumentValues teeValues = new ConstructorArgumentValues();
+      teeValues.addGenericArgumentValue("test");
+      tee.setConstructorArgumentValues(teeValues);
+
+      RootBeanDefinition bar = new RootBeanDefinition(BarImpl.class, false);
+      ConstructorArgumentValues barValues = new ConstructorArgumentValues();
+      barValues.addGenericArgumentValue(new RuntimeBeanReference("tee"));
+      barValues.addGenericArgumentValue(5);
+      bar.setConstructorArgumentValues(barValues);
+
+      RootBeanDefinition foo = new RootBeanDefinition(Foo.class, false);
+      MutablePropertyValues fooValues = new MutablePropertyValues();
+      fooValues.addPropertyValue("i", 5);
+      fooValues.addPropertyValue("bar", new RuntimeBeanReference("bar"));
+      fooValues.addPropertyValue("copy", new RuntimeBeanReference("bar"));
+      fooValues.addPropertyValue("s", "test");
+      foo.setPropertyValues(fooValues);
+
+      beanFactory.registerBeanDefinition("foo", foo);
+      beanFactory.registerBeanDefinition("bar", bar);
+      beanFactory.registerBeanDefinition("tee", tee);
+    }
+
+    public Foo call() throws Exception {
+      return (Foo) beanFactory.getBean("foo");
+    }
+  };
+
+  static final Callable<Foo> juiceFactory = new Callable<Foo>() {
+
+    final Container container = new ContainerBuilder()
+        .factory(Tee.class, TeeImpl.class)
+        .factory(Bar.class, BarImpl.class)
+        .factory(Foo.class, Foo.class)
+        .constant("i", 5)
+        .constant("s", "test")
+        .create(false);
+
+    public Foo call() throws Exception {
+      return container.inject(Foo.class);
+    }
+  };
+
+  static void validate(Callable<Foo> t) throws Exception {
+    Foo foo = t.call();
+    assertEquals(5, foo.i);
+    assertEquals("test", foo.s);
+    assertSame(foo.bar.getTee(), foo.copy.getTee());
+    assertEquals(5, foo.bar.getI());
+    assertEquals("test", foo.bar.getTee().getS());
+  }
+
+  public static void main(String[] args) throws Exception {
+    validate(springFactory);
+    validate(springFactory);
+    validate(juiceFactory);
+    validate(juiceFactory);
+
+    int count = 100000;
+    for (int i2 = 0; i2 < 10; i2++) {
+      long time = System.currentTimeMillis();
+      for (int i = 0; i < count; i++)
+        springFactory.call();
+      time = System.currentTimeMillis() - time;
+      System.err.println("Spring: " + count * 1000 / time + "/s");
+
+      time = System.currentTimeMillis();
+      for (int i = 0; i < count; i++)
+        juiceFactory.call();
+      time = System.currentTimeMillis() - time;
+      System.err.println("Juice:  " + count * 1000 / time + "/s");
+    }
+  }
+
+  public static class Foo {
+
+    Bar bar;
+    Bar copy;
+    String s;
+    int i;
+
+    @Inject("i")
+    public void setI(int i) {
+      this.i = i;
+    }
+
+    @Inject
+    public void setBar(Bar bar) {
+      this.bar = bar;
+    }
+
+    @Inject
+    public void setCopy(Bar copy) {
+      this.copy = copy;
+    }
+
+    @Inject("s")
+    public void setS(String s) {
+      this.s = s;
+    }
+  }
+
+  interface Bar {
+
+    Tee getTee();
+    int getI();
+  }
+
+  public static class BarImpl implements Bar {
+
+    final int i;
+    final Tee tee;
+
+    @Inject
+    public BarImpl(Tee tee, @Inject("i") int i) {
+      this.tee = tee;
+      this.i = i;
+    }
+
+    public Tee getTee() {
+      return tee;
+    }
+
+    public int getI() {
+      return i;
+    }
+  }
+
+  interface Tee {
+
+    String getS();
+  }
+
+  @Scoped(SINGLETON)
+  public static class TeeImpl implements Tee {
+
+    final String s;
+
+    @Inject
+    public TeeImpl(@Inject("s") String s) {
+      this.s = s;
+    }
+
+    public String getS() {
+      return s;
+    }
+  }
+}
diff --git a/test/com/google/inject/StaticInjectionTest.java b/test/com/google/inject/StaticInjectionTest.java
new file mode 100644
index 0000000000..e14719bca4
--- /dev/null
+++ b/test/com/google/inject/StaticInjectionTest.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import junit.framework.TestCase;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class StaticInjectionTest extends TestCase {
+
+  public void testInjectStatics() {
+    Container c = new ContainerBuilder()
+        .constant("s", "test")
+        .constant("i", 5)
+        .injectStatics(StaticInjectionTest.Static.class)
+        .create(false);
+
+    assertEquals("test", StaticInjectionTest.Static.s);
+    assertEquals(5, StaticInjectionTest.Static.i);
+  }
+
+  static class Static {
+
+    @Inject("i") static int i;
+
+    static String s;
+
+    @Inject("s") static void setS(String s) {
+      StaticInjectionTest.Static.s = s;
+    }
+  }
+}
diff --git a/test/com/google/inject/SuperclassTest.java b/test/com/google/inject/SuperclassTest.java
new file mode 100644
index 0000000000..3ec47c07bc
--- /dev/null
+++ b/test/com/google/inject/SuperclassTest.java
@@ -0,0 +1,52 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject;
+
+import junit.framework.TestCase;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class SuperclassTest extends TestCase {
+
+  public void testSuperclassInjection() {
+    ContainerBuilder builder = new ContainerBuilder();
+    builder.factory(Foo.class);
+    Container container = builder.create(false);
+    Sub sub = container.inject(Sub.class);
+    sub = container.inject(Sub.class);
+    sub = container.inject(Sub.class);
+    sub = container.inject(Sub.class);
+    sub = container.inject(Sub.class);
+    assertNotNull(sub.field);
+    assertNotNull(sub.fromMethod);
+  }
+
+  static abstract class Super {
+    @Inject Foo field;
+
+    Foo fromMethod;
+    @Inject void setC(Foo foo) {
+      fromMethod = foo;
+    }
+  }
+
+  static class Sub extends Super {
+  }
+
+  static class Foo {}
+}
diff --git a/test/com/google/inject/util/FinalizableReferenceQueueTest.java b/test/com/google/inject/util/FinalizableReferenceQueueTest.java
new file mode 100644
index 0000000000..1b9e4eede7
--- /dev/null
+++ b/test/com/google/inject/util/FinalizableReferenceQueueTest.java
@@ -0,0 +1,53 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import junit.framework.TestCase;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class FinalizableReferenceQueueTest extends TestCase {
+
+  public void testFinalizeReferentCalled() {
+    MockReference reference = new MockReference();
+    reference.enqueue();
+    // wait up to 5s
+    for (int i = 0; i < 50; i++) {
+      if (reference.finalizeReferentCalled) {
+        return;
+      }
+      try {
+        Thread.sleep(10);
+      } catch (InterruptedException e) { /* ignore */ }
+    }
+    fail();
+  }
+
+  static class MockReference extends FinalizableWeakReference<Object> {
+
+    boolean finalizeReferentCalled;
+
+    MockReference() {
+      super(new Object());
+    }
+
+    public void finalizeReferent() {
+      finalizeReferentCalled = true;
+    }
+  }
+}
diff --git a/test/com/google/inject/util/ReferenceCacheTest.java b/test/com/google/inject/util/ReferenceCacheTest.java
new file mode 100644
index 0000000000..63afa834ea
--- /dev/null
+++ b/test/com/google/inject/util/ReferenceCacheTest.java
@@ -0,0 +1,176 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import static com.google.inject.util.ReferenceType.SOFT;
+import static com.google.inject.util.ReferenceType.STRONG;
+import static com.google.inject.util.ReferenceType.WEAK;
+
+import junit.framework.TestCase;
+
+import java.util.concurrent.CancellationException;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class ReferenceCacheTest extends TestCase {
+
+  public void testCancellation() {
+    final AtomicInteger count = new AtomicInteger();
+
+    final ReferenceCache rc = new ReferenceCache() {
+      protected Object create(Object key) {
+        try {
+          cancel();
+          Thread.sleep(10);
+          return null;
+        } catch (InterruptedException e) {
+          throw new RuntimeException(e);
+        }
+      }
+    };
+
+    Thread[] threads = new Thread[3];
+    for (int i = 0; i < 3; i++) {
+      threads[i] = new Thread() {
+        public void run() {
+          try {
+            rc.get("foo");
+            fail();
+          } catch (CancellationException e) {
+            count.incrementAndGet();
+          }
+        }
+      };
+    }
+    for (int i = 0; i < 3; i++) {
+      threads[i].start();
+    }
+    for (int i = 0; i < 3; i++) {
+      try {
+        threads[i].join();
+      } catch (InterruptedException e) {
+        throw new RuntimeException(e);
+      }
+    }
+
+    assertEquals(threads.length, count.get());
+  }
+
+  public void testApply() {
+    ReferenceMap<String, Integer> cache = ReferenceCache.of(
+        WEAK, WEAK, new SomeFunction());
+    assertEquals(Integer.valueOf(1), cache.get("foo"));
+    assertEquals(Integer.valueOf(1), cache.get("foo"));
+    assertEquals(Integer.valueOf(2), cache.get("bar"));
+    assertEquals(Integer.valueOf(1), cache.get("foo"));
+    assertEquals(Integer.valueOf(3), cache.get("baz"));
+  }
+
+  public void testSleepConcurrency() throws InterruptedException {
+    ReferenceMap<String, Integer> cache = ReferenceCache.of(
+        WEAK, WEAK, new SleepFunction());
+    assertConcurrency(cache, false);
+  }
+
+  public void testBusyConcurrency() throws InterruptedException {
+    ReferenceMap<String, Integer> cache = ReferenceCache.of(
+        WEAK, WEAK, new BusyFunction());
+    assertConcurrency(cache, false);
+  }
+
+  public void testFastConcurrency() throws InterruptedException {
+    ReferenceMap<String, Integer> cache = ReferenceCache.of(
+        WEAK, WEAK, new SomeFunction());
+    assertConcurrency(cache, false);
+  }
+
+  public void testSleepCanonical() throws InterruptedException {
+    ReferenceMap<String, Integer> cache = ReferenceCache.of(
+        STRONG, SOFT, new SleepFunction());
+    assertConcurrency(cache, true);
+  }
+
+  public void testBusyCanonical() throws InterruptedException {
+    ReferenceMap<String, Integer> cache = ReferenceCache.of(
+        STRONG, SOFT, new BusyFunction());
+    assertConcurrency(cache, true);
+  }
+
+  public void testFastCanonical() throws InterruptedException {
+    ReferenceMap<String, Integer> cache = ReferenceCache.of(
+        STRONG, SOFT, new SomeFunction());
+    assertConcurrency(cache, true);
+  }
+
+  private static void assertConcurrency(
+      final ReferenceMap<String, Integer> cache,
+      final boolean simulateAliasing) throws InterruptedException {
+    final int n = 20;
+    final CountDownLatch startSignal = new CountDownLatch(1);
+    final CountDownLatch doneSignal = new CountDownLatch(n);
+    for (int i = 0; i < n; i++) {
+      new Thread() {
+        public void run() {
+          try {
+            startSignal.await();
+            for (int j = 0; j < n; j++) {
+              cache.get(simulateAliasing ? new String("foo") : "foo");
+            }
+            doneSignal.countDown();
+          } catch (InterruptedException ignored) {}
+        }
+      }.start();
+    }
+
+    startSignal.countDown();
+    doneSignal.await();
+    assertEquals(Integer.valueOf(1), cache.get("foo"));
+    assertEquals(Integer.valueOf(2), cache.get("bar"));
+  }
+
+  private static class SomeFunction implements Function<String, Integer> {
+    private int numApplies = 0;
+    public Integer apply(String s) {
+      return ++numApplies;
+    }
+  }
+
+  private static class SleepFunction implements Function<String, Integer> {
+    private int numApplies = 0;
+    public Integer apply(String s) {
+      try {
+        Thread.sleep(100);
+      } catch (InterruptedException e) {
+        throw new RuntimeException(e);
+      }
+      return ++numApplies;
+    }
+  }
+
+  private static class BusyFunction implements Function<String, Integer> {
+    private int numApplies = 0;
+    public Integer apply(String s) {
+      for (int i = 0; i < 1000; i++) {
+        Math.sqrt(i);
+      }
+      return ++numApplies;
+    }
+  }
+}
diff --git a/test/com/google/inject/util/ReferenceMapTest.java b/test/com/google/inject/util/ReferenceMapTest.java
new file mode 100644
index 0000000000..7134432412
--- /dev/null
+++ b/test/com/google/inject/util/ReferenceMapTest.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import static com.google.inject.util.ReferenceType.*;
+import com.google.inject.util.ReferenceMap;
+
+import junit.framework.TestCase;
+
+import java.lang.ref.Reference;
+import java.util.Iterator;
+import java.util.concurrent.ConcurrentMap;
+
+/**
+ * Tests for {@link ReferenceMap}.
+ *
+ * @author crazybob@google.com (Bob Lee)
+ * @author mbostock@google.com (Mike Bostock)
+ */
+public class ReferenceMapTest extends TestCase {
+
+  private enum CleanupMode {
+    ENQUEUE_KEY, ENQUEUE_VALUE, GC;
+  }
+
+
+
+  public void testValueCleanupWithWeakKey() {
+    ReferenceMap map = new ReferenceMap(WEAK, STRONG);
+    map.put(new Object(), new Object());
+    assertCleanup(map, CleanupMode.GC);
+  }
+
+  /*
+   * commented out because this test is undependable
+  public void testValueCleanupWithSoftKey() {
+    ReferenceMap map = new ReferenceMap(SOFT, STRONG);
+    map.put(new Object(), new Object());
+    assertCleanup(map, CleanupMode.GC);
+  }
+  */
+
+  public void testKeyCleanupWithWeakValue() {
+    ReferenceMap map = new ReferenceMap(STRONG, WEAK);
+    map.put(new Object(), new Object());
+    assertCleanup(map, CleanupMode.GC);
+  }
+
+  /*
+   * commented out because this test is undependable
+  public void testKeyCleanupWithSoftValue() {
+    ReferenceMap map = new ReferenceMap(STRONG, SOFT);
+    map.put(new Object(), new Object());
+    assertCleanup(map, CleanupMode.GC);
+  }
+  */
+
+  public void testInternedValueCleanupWithWeakKey() {
+    ReferenceMap map = new ReferenceMap(WEAK, STRONG);
+    map.put(5, "foo");
+    assertCleanup(map, CleanupMode.ENQUEUE_KEY);
+  }
+
+  public void testInternedValueCleanupWithSoftKey() {
+    ReferenceMap map = new ReferenceMap(SOFT, STRONG);
+    map.put(5, "foo");
+    assertCleanup(map, CleanupMode.ENQUEUE_KEY);
+  }
+
+  public void testInternedKeyCleanupWithWeakValue() {
+    ReferenceMap map = new ReferenceMap(STRONG, WEAK);
+    map.put(5, "foo");
+    assertCleanup(map, CleanupMode.ENQUEUE_VALUE);
+  }
+
+  public void testInternedKeyCleanupWithSoftValue() {
+    ReferenceMap map = new ReferenceMap(STRONG, SOFT);
+    map.put(5, "foo");
+    assertCleanup(map, CleanupMode.ENQUEUE_VALUE);
+  }
+
+  private static void assertCleanup(ReferenceMap<?, ?> map,
+      CleanupMode mode) {
+    assertEquals(1, map.delegate.size());
+
+    switch (mode) {
+      case ENQUEUE_KEY: {
+        ConcurrentMap delegate = map.delegate;
+        Iterator keyIterator = delegate.keySet().iterator();
+        Reference reference = ((Reference) keyIterator.next());
+        reference.enqueue();
+        break;
+      }
+      case ENQUEUE_VALUE: {
+        ConcurrentMap delegate = map.delegate;
+        Iterator valueIterator = delegate.values().iterator();
+        Reference reference = ((Reference) valueIterator.next());
+        reference.enqueue();
+        break;
+      }
+    }
+
+    // wait up to 5s
+    for (int i = 0; i < 500; i++) {
+      if (mode == CleanupMode.GC) {
+        System.gc();
+      }
+      if (map.size() == 0) {
+        return;
+      }
+      try {
+        Thread.sleep(10);
+      } catch (InterruptedException e) { /* ignore */ }
+    }
+    fail();
+  }
+}
diff --git a/test/com/google/inject/util/ReferenceMapTestSuite.java b/test/com/google/inject/util/ReferenceMapTestSuite.java
new file mode 100644
index 0000000000..05d859db12
--- /dev/null
+++ b/test/com/google/inject/util/ReferenceMapTestSuite.java
@@ -0,0 +1,261 @@
+/**
+ * Copyright (C) 2006 Google Inc.
+ *
+ * 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.
+ */
+
+package com.google.inject.util;
+
+import junit.framework.Test;
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectInputStream;
+import java.io.ObjectOutputStream;
+import java.lang.reflect.Method;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * @author crazybob@google.com (Bob Lee)
+ */
+public class ReferenceMapTestSuite {
+
+  public static Test suite() {
+    TestSuite suite = new TestSuite();
+
+    Set<ReferenceType> referenceTypes =
+        new HashSet<ReferenceType>();
+    referenceTypes.addAll(Arrays.asList(ReferenceType.values()));
+    referenceTypes.remove(ReferenceType.PHANTOM);
+
+    // create test cases for each key and value type.
+    for (Method method : MapTest.class.getMethods()) {
+      String name = method.getName();
+      if (name.startsWith("test")) {
+        for (ReferenceType keyType : referenceTypes) {
+          for (ReferenceType valueType : referenceTypes) {
+            suite.addTest(new MapTest(name, keyType, valueType));
+          }
+        }
+      }
+    }
+
+    return suite;
+  }
+
+  public static class MapTest extends TestCase {
+
+    ReferenceType keyType;
+    ReferenceType valueType;
+
+    public MapTest(String name, ReferenceType keyType,
+        ReferenceType valueType) {
+      super(name);
+      this.keyType = keyType;
+      this.valueType = valueType;
+    }
+
+    public String getName() {
+      return super.getName()
+          + "For"
+          + Strings.capitalize(keyType.toString().toLowerCase())
+          + Strings.capitalize(valueType.toString().toLowerCase());
+    }
+
+    ReferenceMap newInstance() {
+      return new ReferenceMap(keyType, valueType);
+    }
+
+    public void testContainsKey() {
+      ReferenceMap map = newInstance();
+      Object k = "key";
+      map.put(k, "value");
+      assertTrue(map.containsKey(k));
+    }
+
+    public void testClear() {
+      ReferenceMap map = newInstance();
+      String k = "key";
+      map.put(k, "value");
+      assertFalse(map.isEmpty());
+      map.clear();
+      assertTrue(map.isEmpty());
+      assertNull(map.get(k));
+    }
+
+    public void testKeySet() {
+      ReferenceMap map = newInstance();
+      map.put("a", "foo");
+      map.put("b", "foo");
+      Set expected = new HashSet(Arrays.asList("a", "b"));
+      assertEquals(expected, map.keySet());
+    }
+
+    public void testValues() {
+      ReferenceMap map = newInstance();
+      map.put("a", "1");
+      map.put("b", "2");
+      Set expected = new HashSet(Arrays.asList("1", "2"));
+      Set actual = new HashSet();
+      actual.addAll(map.values());
+      assertEquals(expected, actual);
+    }
+
+    public void testPutIfAbsent() {
+      ReferenceMap map = newInstance();
+      map.putIfAbsent("a", "1");
+      assertEquals("1", map.get("a"));
+      map.putIfAbsent("a", "2");
+      assertEquals("1", map.get("a"));
+    }
+
+    public void testReplace() {
+      ReferenceMap map = newInstance();
+      map.put("a", "1");
+      map.replace("a", "2", "2");
+      assertEquals("1", map.get("a"));
+      map.replace("a", "1", "2");
+      assertEquals("2", map.get("a"));
+    }
+
+    public void testContainsValue() {
+      ReferenceMap map = newInstance();
+      Object v = "value";
+      map.put("key", v);
+      assertTrue(map.containsValue(v));
+    }
+
+    public void testEntrySet() {
+      final ReferenceMap map = newInstance();
+      map.put("a", "1");
+      map.put("b", "2");
+      Set expected = new HashSet(Arrays.asList(
+        map.new Entry("a", "1"),
+        map.new Entry("b", "2")
+      ));
+      assertEquals(expected, map.entrySet());
+    }
+
+    public void testPutAll() {
+      ReferenceMap map = newInstance();
+      Object k = "key";
+      Object v = "value";
+      map.putAll(Collections.singletonMap(k, v));
+      assertSame(v, map.get(k));
+    }
+
+    public void testRemove() {
+      ReferenceMap map = newInstance();
+      Object k = "key";
+      map.put(k, "value");
+      map.remove(k);
+      assertFalse(map.containsKey(k));
+    }
+
+    public void testPutGet() {
+      final Object k = new Object();
+      final Object v = new Object();
+      ReferenceMap map = newInstance();
+      map.put(k, v);
+      assertEquals(1, map.size());
+      assertSame(v, map.get(k));
+      assertEquals(1, map.size());
+      assertNull(map.get(new Object()));
+    }
+
+    public void testCreate() {
+      final Object k = new Object();
+      final Object v = new Object();
+      ReferenceMap map = new ReferenceCache(
+          keyType, valueType) {
+        @Override protected Object create(Object key) {
+          return key == k ? v : null;
+        }
+      };
+      assertEquals(0, map.size());
+      assertSame(v, map.get(k));
+      assertSame(v, map.get(k));
+      assertEquals(1, map.size());
+
+      try {
+        // create can't return null.
+        map.get(new Object());
+        fail();
+      } catch (NullPointerException e) {}
+    }
+
+    public void testReferenceMapSerialization() throws IOException,
+        ClassNotFoundException {
+      Map map = newInstance();
+      map.put(Key.FOO, Value.FOO);
+      map = (Map) serializeAndDeserialize(map);
+      map.put(Key.BAR, Value.BAR);
+      assertSame(Value.FOO, map.get(Key.FOO));
+      assertSame(Value.BAR, map.get(Key.BAR));
+      assertNull(map.get(Key.TEE));
+    }
+
+    static class MockReferenceCache extends ReferenceCache {
+
+      int count;
+
+      public MockReferenceCache(ReferenceType keyReferenceType,
+          ReferenceType valueReferenceType) {
+        super(keyReferenceType, valueReferenceType);
+      }
+
+      protected Object create(Object key) {
+        count++;
+        return Value.valueOf(((Key) key).toString());
+      }
+    }
+
+    public void testReferenceCacheSerialization() throws IOException,
+        ClassNotFoundException {
+      MockReferenceCache map = new MockReferenceCache(keyType, valueType);
+      assertSame(Value.FOO, map.get(Key.FOO));
+      assertSame(Value.BAR, map.get(Key.BAR));
+      map = (MockReferenceCache) serializeAndDeserialize(map);
+      assertSame(Value.FOO, map.get(Key.FOO));
+      assertSame(Value.BAR, map.get(Key.BAR));
+      assertSame(Value.TEE, map.get(Key.TEE));
+      assertEquals(3, map.count);
+    }
+
+    public Object serializeAndDeserialize(Object o) throws IOException,
+        ClassNotFoundException {
+      ByteArrayOutputStream out = new ByteArrayOutputStream();
+      new ObjectOutputStream(out).writeObject(o);
+      return new ObjectInputStream(new ByteArrayInputStream(out.toByteArray()))
+          .readObject();
+    }
+  }
+
+  /**
+   * Enums conveniently maintain instance identity across serialization.
+   */
+  enum Key {
+    FOO, BAR, TEE;
+  }
+
+  enum Value {
+    FOO, BAR, TEE;
+  }
+}
\ No newline at end of file